Joomla.it Forum
Non solo Joomla... => Sviluppo => : oncelot 08 Jul 2015, 11:03:16
-
Salve a tutti ragazzi, ho bisogno del vostro aiuto
ho bisogno di creare delle autorizzazioni di gruppo, fino ad oggi ho sempre utilizzato $user->groups
per sapere se un certo utente appartiene o meno ad un determinato gruppo ed autorizzarlo a scaricare pdf etc.
ora però ho bisogno di customizzarlo o di creare un "groups_myversione" ma cercando tra i file di joomla sono riuscito a modificare per esempio getGroupsByUser che appartiene alla classe JAaccess, questa funzione non ha la stessa peculiarità di groups e mi riferisco ad { if (groups[10]==10)....}
onestamente non sono riuscito a capire come fà la funzione getuser a fornirmi (username - email - name - etc. etc.)
mi potreste aiutare?
-
ora però ho bisogno di customizzarlo o di creare un "groups_myversione" ma cercando tra i file di joomla sono riuscito a modificare per esempio getGroupsByUser che appartiene alla classe JAaccess, questa funzione non ha la stessa peculiarità di groups e mi riferisco ad { if (groups[10]==10)....}
su questo non saprei, solitamente non si modificano le classi di joomla per cui uscendo dallo standard sono cose che devi gestirti da solo
onestamente non sono riuscito a capire come fà la funzione getuser a fornirmi (username - email - name - etc. etc.)
Quasi tutte queste funzioni stanno tra le librerie di joomla -> /libraries/joomla
la quale directory contiene appunto tutte le librerie proprietarie di joomla, basta andare a vedere /user e in user.php trovi:
class JUser extends JObject... quindi siamo nel posto giusto, infatti subito dopo dichiara proprio le variabili di proprietà che ti interessano
e quì trovi tutta la documentazione necessaria (che spesso trovi anche nei commenti del codice o nel documentor
https://api.joomla.org/cms-3/classes/JUser.html
-
perfetto e fino a li ci ero arrivato pure io....ma non capisco dove e quando assegna alle varibili i loro valori....
inizialmente come giusto che sia, sono tutti a null....ma quando $email = "my_email"??
è questo passaggio che mi sfugge.
-
.ma non capisco dove e quando assegna alle varibili i loro valori....
--------------------------------------------------------------------------------------------------
... sono io che non capisco.... userà quella variabile quando gli serve se all'interno della classe non gli serve per qualche check allora non la usa e rimarrà nell'oggetto ...
-
infatti è quello che non capisco...dove e quando viene assegnata alla varibiale $email la mia email....è questo che mi sta facendo impazzire..perchè se riesco a capire quando e come viene assegnata la variabile $groups, posso customizzare l'oggetto...
-
normalmente si fa un query visto che quei dati sono nel db e mi sembra ci sia
-
forse non ci siamo capiti, io voglio dare un'occhiata alla funzione che assegna alla varibiale $groups l'array dei gruppi utenti..
come simularlo su quello non ci sono problemi....ma sono curioso di vedere come lo ha implementato joomla.
-
...ascolta... io non so più come dirtelo... se non hai padronanza dello sviluppo a oggetti e non hai ben preciso cos'è il pattern mvc non riesci a capire nulla, nemmeno se ti sta sotto il naso.
se l'utente lo recuperi con JFactory::getUser vuol dire che getUser è un metodo statico di JFactory, basterà quindi guardare cosa fa per recuperarlo... io vedo che prima verifica se esiste già nella sessione sennò ne istanzia uno nuovo partendo dall'id nell'user.php
è questo è un metodo statico di una classe statica quindi è passabile che tu lo chiami funzione... è molto simile...
ma nell'oop non ci sono solo classi statiche per cui alcuni oggetti sono "costruiti" altrove ... non è una pagina di codice procedurale che puoi leggere come uno spartito...
Comunque hai un compagno di viaggio, magari fate amicizia http://forum.joomla.it/index.php/topic,252931.0.html
Il problema di sviluppare joomla è di conoscere il linguaggio con cui è scritto non di conoscere joomla.
Puoi sviluppare benissimo estensioni senza nemmeno averlo mai visto joomla, semplicemente leggendo la documentazione api