Back to top

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

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Creare pligin per creare cartelle
« il: 11 Apr 2012, 00:02:47 »
Ciao,
ho creato un plugin che al login mi crea uan cartella con l'ID. Questa è la funzione che ho creato:
     function onLoginUser() {
        $app = &JFactory::getApplication();
        $user = JFactory::getUser();
       
        if ($user->id!=null) {
            mkdir('./images/contents/'.$user, 0744);
            return true;
        } else {
            return false;
        }
    }
solo che quando faccio il login, non succede nulla. Qualcuno sa darmi qualche suggerimento?
La mia idea è di creare un plugin che al primo accesso mi crea la cartella con nome ID dell'utente (in modo da essere sicuro che sia univoco).

Grazie 1000 per l'aiuto!!!

Salvo

Offline gargamella16

  • Full Member
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
    • web agency milano
Re:Creare pligin per creare cartelle
« Risposta #1 il: 11 Apr 2012, 00:43:15 »
non capisco il senso di quello che vuoi fare puoi spiegarmi meglio?


è chiaro che l'ID utente è univoco  :o

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #2 il: 11 Apr 2012, 09:14:47 »
in pratica devo creare una cartella per ogni utente registrato. la mia idea è: quando l'utente accede, viene creata la cartella in "path/ID" (con ID che è un numero univoco). Utilizzo l'id proprio per la sua univocità.
Ho creato il plugin e installato senza problemi, ma quando faccio il login non succede nulla, la cartella non viene create e non trovo nessun codice di errore.

Grazie per la'iuto.
Salvo

Offline M_W_C

  • Cyborg
  • ******
  • Post: 12060
  • Web Solutions
    • Mostra profilo
    • Milano Web City
Re:Creare pligin per creare cartelle
« Risposta #3 il: 11 Apr 2012, 09:39:59 »
...quindi io accedo mille volte e tu ti trovi 1000 cartelle... buona idea!
M
Questa notte ho dormito poco... sotto casa mia una ragazza che faceva burlesque litigava con il suo statista

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #4 il: 11 Apr 2012, 10:09:09 »
ovviamente non è un'idea giusta...  ;)
però se funziona devo solo associarlo all'evento di registrazione di un'utente. Hai qualche suggerimento da darmi?  :)

Grazie
Salvo


Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #6 il: 11 Apr 2012, 11:35:07 »
quindi basta eliminare la riga "mkdir('./images/contents/'.$user, 0744)" e inserire "JFolder::create(./images/contents/'.$user->id, 0744)", giusto???

grazie
Salvo

Offline webbati

  • Full Member
  • ***
  • Post: 116
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #7 il: 11 Apr 2012, 11:40:39 »
assolutamente no

Citazione
...quindi io accedo mille volte e tu ti trovi 1000 cartelle... buona idea!

prima devi almeno controllare che la cartella non esista già
« Ultima modifica: 11 Apr 2012, 11:43:10 da webbati »

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #8 il: 11 Apr 2012, 11:55:43 »
bene, vedo che ho capito tutto...  ;D
allora come dovrei fare? poi a quale evento dovrei associare il plugin?

grazie
salvo

Offline M_W_C

  • Cyborg
  • ******
  • Post: 12060
  • Web Solutions
    • Mostra profilo
    • Milano Web City
Re:Creare pligin per creare cartelle
« Risposta #9 il: 11 Apr 2012, 13:14:00 »
/'.$user, 0744)"
-------------------------
anche qs lo vedo male.. se l'user è:  ?*pippo?* ... come la crei una cartella così?
dovresti codificare tutto, magari md5 o creando un algoritmo.

poi è possibile fare un gioco che su alcuni sistemi crea problemi nominando la cartella .php, basta che io sia l'user pippo.php

comunque è tutto nel link sopra ciò che vuoi sapere,... per l'evento...  la registrazione o la conferma se esiste, non so se esiste il trigger, però lo puoi creare.

...poi ... mi divertirei a provare che succede se l'user fosse pippo,0777)/* ...... sai che mi stimolano i tuoi script? :):)

M.
« Ultima modifica: 11 Apr 2012, 13:17:17 da mau_develop »
Questa notte ho dormito poco... sotto casa mia una ragazza che faceva burlesque litigava con il suo statista

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #10 il: 11 Apr 2012, 13:23:36 »
$user è un oggetto, basta fare "$user->id" per avere l'id univoco associato all'utente.
Infatti pensavo di fare: If(user!=null) then {"crea cartella"} con JFolder.
Stasera dò un'occhiata al link che mi hai passato e ti faccio sapere.

Ciao e grazie
Salvo

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #11 il: 11 Apr 2012, 23:29:11 »
Ho provato con questa funzione:
function onUserLogin() {
        $app = &JFactory::getApplication();
        $user = JFactory::getUser();
       
        $mode = 0744;
       
        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;
        }
    }

ma non succede nulla. Qualche idea???

Grazie
Salvo

Offline M_W_C

  • Cyborg
  • ******
  • Post: 12060
  • Web Solutions
    • Mostra profilo
    • Milano Web City
Re:Creare pligin per creare cartelle
« Risposta #12 il: 12 Apr 2012, 12:35:09 »
$mode = 0744;
------------------------
cosa ti serve?

M.
Questa notte ho dormito poco... sotto casa mia una ragazza che faceva burlesque litigava con il suo statista

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #13 il: 12 Apr 2012, 13:37:39 »
un plugin che quando un utente si registra al sito, crea una cartella in un determinato path e che ha come nome l'ID dell'utente. Questo perché l'utente carica dei file (immagini, etc...) in uno spazio dedicato!

Grazie per l'aiuto
Salvo

Offline M_W_C

  • Cyborg
  • ******
  • Post: 12060
  • Web Solutions
    • Mostra profilo
    • Milano Web City
Re:Creare pligin per creare cartelle
« Risposta #14 il: 12 Apr 2012, 17:12:10 »
no, cosa ti serve $mode se poi non lo usi

e app ? perchè la istanzi? se nn ci fai nulla non fa nulla da sola

M.
Questa notte ho dormito poco... sotto casa mia una ragazza che faceva burlesque litigava con il suo statista

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #15 il: 12 Apr 2012, 17:17:36 »
qpp non mi serve, è un copia e incolla di troppo, mentre mode lo uso l'ho tolto solo per capire se il problema era quella variabile, ma mi sbagliavo!

Offline webbati

  • Full Member
  • ***
  • Post: 116
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #16 il: 12 Apr 2012, 17:40:19 »
nel file xml di installazione lo hai definito come plugin di tipo 'user' ?

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #17 il: 12 Apr 2012, 18:24:33 »
Si. E' corretto l'evento "onUserLogin" ???

Offline playpaf

  • Jr. Member
  • **
  • Post: 81
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #18 il: 13 Apr 2012, 10:52:31 »
nessun suggerimento?

Offline webbati

  • Full Member
  • ***
  • Post: 116
    • Mostra profilo
Re:Creare pligin per creare cartelle
« Risposta #19 il: 13 Apr 2012, 12:16:09 »
Prova così:

sostituisci

Codice: [Seleziona]
onUserLogin()
con

Codice: [Seleziona]
onUserLogin($user, $options = array())
e recuperi l'ID dell'utente così:

Codice: [Seleziona]

if ($uid = intval(JUserHelper::getUserId($user['username'])))


 



Web Design Bolzano Kreatif