Back to top

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

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • 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

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
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

  • Esploratore
  • **
  • Post: 91
    • 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

mau_develop

  • Visitatore
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

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • 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

  • Esploratore
  • **
  • Post: 91
    • 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

  • Esploratore
  • **
  • 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

  • Esploratore
  • **
  • Post: 91
    • 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

mau_develop

  • Visitatore
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 »

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • 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

  • Esploratore
  • **
  • Post: 91
    • 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

mau_develop

  • Visitatore
Re:Creare pligin per creare cartelle
« Risposta #12 il: 12 Apr 2012, 12:35:09 »
$mode = 0744;
------------------------
cosa ti serve?

M.

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • 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

mau_develop

  • Visitatore
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.

Offline playpaf

  • Esploratore
  • **
  • Post: 91
    • 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

  • Esploratore
  • **
  • 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

  • Esploratore
  • **
  • Post: 91
    • 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

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

Offline webbati

  • Esploratore
  • **
  • 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