Back to top

Autore Topic: Creare pligin per creare cartelle  (Letto 10770 volte)

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #20 il: 13 Apr 2012, 17:05:50 »
ok, grazie! Stasera lo provo.
Volevo anche chiederti quale è l'evento di registrazione di un nuovo utente?
Nella funzione ho messo "onLoginUser" per fare una prova, ma se volessi cambiare e associarlo all'evento di iscrizione di un nuovo utente che nome devo dare? è sempre di tipo user?

Grazie
Salvo

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #21 il: 13 Apr 2012, 19:56:05 »
Purtroppo non funziona...
Altri suggerimenti? Aiutoooooo!!!

mau_develop

  • Visitatore
Re:Creare pligin per creare cartelle
« Risposta #22 il: 13 Apr 2012, 20:03:32 »
..secondo me stai andando a caso... ma hai fatto il pacchetto... installato il plugin... attivato... usato lo standard joomla per i nomi etc?

M.

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #23 il: 13 Apr 2012, 20:14:43 »
Premesso che è il mio primo plugin, credo che sto facendo tutto quello che mi hai detto. Ti incollo il file xml:
<?xml version="1.0" encoding="iso-8859-1"?>
<install version="2.5" type="plugin" group="user">
    <name>Creare cartelle al 1° login utente</name>
    <author>Salvo</author>
    <creationDate>April 2012</creationDate>
    <copyright>(C) 2005 Open Source Matters. All rights reserved.</copyright>
    <license></license>
    <authorEmail>XXXXXXX</authorEmail>
    <authorUrl>XXXXXXX</authorUrl>
    <version>1.0</version>
    <description>Allows searching of Categories information</description>
    <files>
        <filename plugin="contentCreateFolder">contentCreateFolder.php</filename>
    </files>
    <params>
    </params>
</install>
viene installato senza problemi e dal pannello di amministrazione riesco ad accederci senza erroro. Però, quando faccio il login, non crea nessuna cartella!!!

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #24 il: 13 Apr 2012, 20:18:23 »
Mentre il PHP completo è questo:
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
 
// Import library dependencies
jimport('joomla.plugin.plugin');
 
class plgUserCreateFolder extends JPlugin {
   
    //function plgContentCreateFolder( &$subject, $config ) {
    function plgUserCreateFolder( &$subject, $config ) {
        parent::__construct( $subject, $config );
    }

    //function onBeforeDisplayContent() {
    //function onLoginUser() {
    function onUserLogin($user, $options = array()) {
        //$user = JFactory::getUser();
       
        $mode = 0744;
        $user_id = (int)$user['id'];
        //if ($user->id!=null) {
        if ($uid = intval(JUserHelper::getUserId($user['username']))) {
            $path = JPATH_SITE . '/images/content/' . $user_id;
            JFolder::create($path);
            return true;
        } else {
            $path = JPATH_SITE . '/salvo';
            JFolder::create($path);
            return false;
        }
    }
}
?>

Grazie per l'aiuto!!!

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #25 il: 13 Apr 2012, 20:26:54 »
Ho fatto una prova inserendo questa parte di codice:
        $user = JFactory::getUser();
        $user_id = $user->id;
        if ($user_id!=null) {
            $path = JPATH_SITE . '/images/content/' . $user_id;
            JFolder::create($path);
            return true;
        } else {
            $path = JPATH_SITE . '/salvo';
            JFolder::create($path);
            return false;
        }
durante l'inserimento di un annuncio e funziona regolarmente, quindi il problema è che non viene richiamato il plugin nel modo corretto. Sai indicarmi se ho fatto qualche errore nella configurazione?

Grazie 1000!

mau_develop

  • Visitatore
Re:Creare pligin per creare cartelle
« Risposta #26 il: 14 Apr 2012, 10:09:24 »
che cos'è e cosa fa?

function plgUserCreateFolder( &$subject, $config ) {
        parent::__construct( $subject, $config );
    }

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #27 il: 14 Apr 2012, 16:06:44 »
Onestamente non lo so, ho copiato da un altro plugin trovato in rete, cosa ho sbaglioto?

grazie
Salvo

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #28 il: 15 Apr 2012, 17:42:38 »
Idee?

Grazie
Salvo

mau_develop

  • Visitatore
Re:Creare pligin per creare cartelle
« Risposta #29 il: 15 Apr 2012, 17:57:03 »
Idee?
--------
beh si, ... studia. Aiutarti a farlo o darti dritte è un conto, farlo un'altro.

M.

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #30 il: 16 Apr 2012, 09:26:19 »
Non mi sembra di aver mai scritto, puoi farmi il plugin? Ho sempre chiesto dei suggerimenti che ho riprodotto, ma purtroppo non hanno funzionato.
Continuerò a cercare come risolvere il problema...

Ciao e grazie
Salvo

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #31 il: 16 Apr 2012, 10:46:14 »
Controlla che i nomi della classe, dei file e della definizione del nome del plugin nel file xml siano tutti uguali.

qui

Codice: [Seleziona]

 if ($uid = intval(JUserHelper::getUserId($user['username']))) {
$path = JPATH_SITE . '/images/content/' . $user_id;


ovviamente dovrebbe essere così se non era un refuso del tuo copia e incolla

Codice: [Seleziona]

 if ($uid = intval(JUserHelper::getUserId($user['username']))) {
 $path = JPATH_SITE . '/images/content/' . $uid;
 
 


questo cos'è? questo ti produce un errore,

Codice: [Seleziona]

$user_id = (int)$user['id'];


e cava anche sta roba come ti ho già detto

Codice: [Seleziona]

$user = JFactory::getUser();
$user_id = $user->id;



se  avessimo già l'id in $user non servirebbe questo no?
Codice: [Seleziona]

JUserHelper::getUserId($user['username'])



controlla di aver scritto tutto bene, di aver fatto tutte le modifiche che ti abbiamo detto e vedrai che ti funziona

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #32 il: 16 Apr 2012, 12:26:05 »
Citazione

Volevo anche chiederti quale è l'evento di registrazione di un nuovo utente?
Nella funzione ho messo "onLoginUser" per fare una prova, ma se volessi cambiare e associarlo all'evento di iscrizione di un nuovo utente che nome devo dare? è sempre di tipo user?


puoi fare riferimento a questa pagina:

http://docs.joomla.org/Plugin/Events

tenendo conto che alcuni eventi sono stati rinominati, qui puoi vedere quali:

http://docs.joomla.org/Adapting_a_Joomla_1.5_extension_to_Joomla_1.6#Renamed_Events


ciao


Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #33 il: 16 Apr 2012, 13:39:27 »
Sono riuscito a creare il plugin e a far creare la cartella sul mio PC in locale. Se metto il plugin sul sito online e provo ad accedere, la pagina del browser rimane bianca (al momento non ho verificato se crea la cartella, ora non posso controllare), dovrò fare delle verifiche.
Credo di aver dimenticato di dire che la versione di Joomla utilizzata è la 2.5!

Ciao e grazie.
Salvo

 



Web Design Bolzano Kreatif