Hello, unfortunately not all of the site is translated into English, or is poorly translated. I apologize and ask you to help me. Notify errors, send me translations, together we will build a free service certainly helpful to many!
| import utenti Joomla da csv |
|
|
|
| Scritto da Massimiliano Pasqualoni | |||
| Giovedì 03 Gennaio 2008 16:21 | |||
CMS a Joomla!. L'unica richiesta per quanto riguarda i dati esistenti riguarda il mantenimento degli attuali utenti registrati sul sito. Ho dato uno sguardo al dB di Joomla! ed ho visto che il porting degli utenti è possibile, ma un po' complesso. Vediamo come renderlo accessibile a tutti. Per prima cosa cerchiamo di capire quali sono i meccanismi di creazione di un utente in Joomla! Nel momento in cui creiamo un utente il core di Joomla! scrive i dati nel dB. In questo processo vengono coinvolte tre tabelle: #__users La prima tabella, max15_users, contiene le informazioni dell'utente, come il nome, la mail e la password; la seconda max15_core_acl_aro, contiene l'elenco degli utenti. Ogni utente è individuato da un aro_id. La terza tabella, max15_core_acl_groups_aro_map mette in relazione gli utenti ai profili esistenti. Quindi la procedura da seguire per la creazione di un utente è:
Lo script JOOMLA USER IMPORT, basato sullo script MAMBO USER IMPORT di W. Stewart ed adatto a Joomla, fa proprio questo, impostando la data di registrazione dell'utente all'ora di esecuzione dello script. I dati devono essere inseriti in un file .csv nel formato: "nome utente joomla", "Nome Completo", "indirizzo email","password" Un esempio del file .csv è il seguente: "juser","Joe User","juser@emailaddress.com","joepwd" Qualora il file contenga più di 4 campi, i campi in eccesso verranno automaticamente ignorati, vice versa, qualora dovessero mancare dei campi, i campi in difetto verranno impostati con un valore nullo all'interno del database. All'interno del file zip è disponibile un file .csv d'esempio chiamato "test_userlist.csv" e può essere utilizzato per fare delle prove. Con le utility di export dati messe a disposizione dalla sorgente dati di origine dovrebbe esser semplice realizzare un file .csv funzionante. Per poter essere utilizzato lo script va configurato con i parametri per il collegamento al database ed al file degli utenti. Per poter configurare lo script occorre editarlo con un editor di testo. Le variabili da impostare partono dalla riga 62 e sono: $sql_hostname Una volta impostate le variabili e creato il file .csv, richiamando lo script nel browser i dati verranno inseriti nel dB. Per chi volesse importare altri dati aggiuntivi oltre ai basilari, è possibile farlo modificando il codice dello script ed aggiungendo i campi desiderati nel file .csv Ad esempio, se volessi importare anche il tipo di utente, avrei bisogno dei campi "usertype" e "gid" da inserire nella tabella #__users e in max15_core_acl_groups_aro_map. Quindi il file .csv sarà avrà due campi aggiuntivi per ogni utente: "Big Joe","Joseph Henderson","jhenderson1@domain.com","joelpwd","SuperAdministrator","25" Dopo la riga 108 dello script, dove vengono valorizzate le variabili dai dati letti nello script, dovremmo aggiungere due variabili che leggono i due campi. La lettura dei dati dal file .csv avviene inserendo in un ciclo while il metodo fgetcsv che restituisce l'array $data i cui elementi, in ordine da 0 a N, sono i campi scritti nella riga in elaborazione, dal primo a l'ultimo. Avendo aggiunto due campi ai precedenti quattro, gli elementi da leggere saranno $data[4] e $data[4]: $usertype = mysql_escape_string($data[4]); A questo punto non rimane che inserire i dati nelle query: mysql_query("INSERT INTO #__users (id, name, username, email, password , usertype, block, sendEmail, gid, registerDate, lastvisitDate) VALUES ('$new_id', '$name', '$username', '$email', '$password', '$usertype', '0', '0', '$gid', '$registerdate', '0000-00-00 00:00:00')") or die(" e mysql_query("INSERT INTO #__core_acl_groups_aro_map (group_id , section_value , aro_id) VALUES ('$gid', '', '$new_id')") or die(" ed il gioco è fatto. Allo stesso modo possiamo inserire la data di creazione qualora volessimo importarla, per far ciò occorre aggiungere un campo al file .csv come visto in precedenza, modificare la riga 107 dello script da $registerdate = date("Y-m-d H:i:s"); a $registerdate = date(mysql_escape_string($data[6])); e testare lo script. Se anche lo script è molto semplice e relativamente sicuro, è NECESSARIO eseguire il backup del dB di Joomla prima di fare qualsiasi operazione. Lo script è fornito "così com'è" e sia io che W. Stewart non ci assumiamo nessuna responsabilità per usi errati o eventuale perdita di dati.
Una volta importati gli utenti occorre ELIMINARE il prima possibile lo script ed il file .csv dal server web onde evitare accidentali distribuzioni di dati a persone non autorizzate. In particolare il file .csv contiene le password degli utenti scritte IN CHIARO e può essere scaricato da chiunque se posizionato in una virtualdirectory.
|
|||
| Ultimo aggiornamento Giovedì 11 Febbraio 2010 18:04 |
Altri Articoli :
» La migrazione a Joomla! 1.7
Joomla! 1.6/1.7 sono arrivati.Dalla versione 1.6 molte sono le novità, sia per quanto riguarda gli sviluppatori che per gli utenti.L'articolo collegato è un work in progress dove rispondo ad alcune domande cruciali:{mosgoogle}Possiamo migrare?Cosa...
» Error 404 con eleganza su Joomla 1.7
Joomla! 1.7 ha un componente di reindirizzamento molto utile per gestire una migrazione di un sito.Può esser comodo per reindirizzare automaticamente le richieste che pervenivano alla vecchia pagina /contatti alla nuova /contattaci; oppure per...
» Joomla: Crea la tua applicazione senza programmare!
Joomla! dispone di tante estensioni, ma i nostri clienti sono sempre più fantasiosi!Spesso però emergono requisiti particolari per cui è necessario modificare pesantemente qualche componente o addirittura crearne uno ad hoc, con i costi di...
» Disabilitare anteprima file su risorse di rete
Siete nel dubbio se tenere o meno le anteprime dei file?E' vero, sono belle, in locale, ed aiutano a capire che cosa stiamo vedendo, senza doverlo aprire.Ma è anche vero che se lavoriamo in rete sono un supplizio!7 si pianta sulle connessioni...
» Permessi su file Mysql in Ubuntu
Sono da poco tornato ad ubuntu sul mio portatile.Oggi ho avuto la necessità di riprendere una vecchia installazione di Joomla sulla macchina locale per controllare un componente sviluppato. Ho estratto dallo zip di backup la cartella di Joomla in...


















































CMS