Back to top

Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - mikipari1

Pagine: [1]
1
certo su questo sono d'accordo! la mia strada stava nel tentativo di ottimizzare i tempi...
adesso però devo completare il codice che ti ho postato inserendo una funzione che mandi le mail di notifica delle credenziali d'accesso ai vari utenti inseriti, perchè pensare di farlo manualmente mi sconvolge...

non dovrebbe essere difficile usando la funzione mail, vero?


2
uhm... la cosa potrebbe essere interessante, ma non vedo come trasformarla in realtà
provo a farti un esempio

ho un docente di tecnologia che insegna in 9 classi, per esempio le classi 1-2-3 dei corsi A-B-C
deve poter avere accesso ai file riservati ai docenti delle sue classi
nel contempo un altro docente, per esempio di inglese insegna in 6 classi, 3 delle quali sono le stesse di quello di tecnologia 1-2-3A ma le altre 3 sono di un altro corso 1-2-3D
nello stesso tempo quello di lettere magari insegna solo in 1A
rischio di dover creare tanti gruppi quanti sono i docenti e poi allora sì che posso dare ad ogni gruppo e quindi ad ogni docente il ruolo di cui ho bisogno, ma allora non è meglio creare tanti gruppi quante sono le classi (con i rispettivi ruoli ed accessi) ed assegnare i docenti ai vari gruppi come se fossero le loro classi
o sbaglio?

se hai un'idea migliore ben lieto di seguirla
grazie


3
basterebbe impostarlo register se gli utenti fossero solo registrati, ma io ho a che fare con un sistema di livelli di accesso molto più complesso
io insegno in una scuola, dove i docenti registrati possono accedere ai documenti relativi alle classi nelle quali insegnano: programmazioni, assenze degli alunni ecc... e tra i vari docenti, alcini di essi hanno la facoltà di inserire documenti, altri no (coordinatori di classe)
allo stesso modo, i genitori possono vedere i file relativi ai loro figli o alle classi dei loro figli e così via...
così un docente per esempio potrebbe essere inserito in 18-20 gruppi e farlo a mano per 100 docenti è massacrante
mentre se lo posso fare con una query mi facilita molto il compito

se vuoi generalizzare tieni conto che il numero di gruppi per ogni utente potrebbe essere molto grande...

comunque se generalizzi posta pure...

e poi tu sai come si struttura un componente di joomla?


4
io avrei prodotto quanto segue:
Codice: [Seleziona]
function codificapassword($password){
    $salt = '';
    for ($i = 1; $i <= 32; $i++) {
        $maiusc = rand (1, 2);
        if ($maiusc == 1)
            {
            $str = strtoupper(dechex(rand (0, 16)));
            }
        else    {
            $str = dechex(rand (0, 16));
            }
        $salt .= $str;
    }
$passwordcodificata = md5($password.$salt).":".$salt;
return $passwordcodificata;
}
che genera random una password codificata con il metodo di joomla con salt esadecimale e caratteri maiuscolie minuscoli

poi il codice vero e proprio che scrive nelle tabelle del db di joomla è questo:
Codice: [Seleziona]
require_once "connetti.inc";
require_once "codificapassword.inc";
$prefisso = "prefissotabella_"; // inserire il prefisso delle tabelle di joomla

$link = connetti('nomedatabase','nome host','nomeutente','passwordutente'); // dove connetti è una funzione che connette al db di joomla richiamando semplicemente mysql_connect e inviando messaggi di errore nel caso di impossibilità di connessione al db

$row = 1;
if (($handle = fopen("prova.csv", "r")) !== FALSE)  // dove prova.csv è il file di testo che contiene i dati
    {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
        {
        // inserisce nome, username, email, password e data registrazione nella tabella users
        $password = codificapassword($data[4]);
        $comando = "INSERT INTO ".$prefisso."users (name,username,email,password,registerDate) VALUES ('$data[1] $data[2]','$data[3]','$data[0]','$password',NOW())";
        $valori = mysql_query($comando);

        // legge il numero ID dell'utente inserito
        $comando = "SELECT id FROM ".$prefisso."users WHERE username='$data[3]'";
        $result = mysql_query($comando);
        $valori = mysql_fetch_assoc($result);
        echo $valori['id'];

        // ricava i codici di tutti i gruppi a cui appartiene l'utente dalla tabella usegroups e li inserisce nella tabella user_usergroup_map
        $num = count($data);
        $row++;
        $id = $valori['id'];
        for ($c=5; $c < $num; $c++)
            {
            // legge l'id del gruppo dalla tabella usergroups
            $comando = "SELECT id FROM ".$prefisso."usergroups WHERE title='$data[$c]'";
            $result = mysql_query($comando);
            $gruppi = mysql_fetch_assoc($result);
            $gruppo = $gruppi['id'];
           
            // scrive l'id del gruppo nella tabella user_usergroup_map
            $comando = "INSERT INTO ".$prefisso."user_usergroup_map (user_id,group_id) VALUES ('$id','$gruppo')";
                $valori = mysql_query($comando);
            }
            }
    fclose($handle);
    }
    else
    {
    echo "errore";
    }

il file prova.csv ha i seguenti campi:
mail,nome,cognome,username,password,gruppo1,gruppo2, ecc... (grippo1 ecc.. sono i nomi dei gruppi che creati in joomla)
i vari campi sono separati da una ',' e non c'è carattere di fineriga

cosa ne dici?



5
sto lavorando...
procedo piano piano, a tempo perso, ma vado...
ho trovato il modo di codificare le password con il metodo joomla, adesso provo ad inserire tutti gli utenti nella tabella del db, però, già che ci sono ho divagato e sto realizzando il codice che inserisce anche diversi ruoli per utente

quando ho finito tutto posto il codice, se proprio vuoi vedere la schifezza che avrò realizzato...

grazie di nuovo per le dritte!


6
ok il compito è chiaro ma tosto
il tempo che ho non è molto, ma mi applicherò...
non ti assicuro però che riuscirò a breve, però ci tento

per adesso grazie davvero mille


7
non benissimo ma mi arrangio, le cose basilari, ma non mi sono mai addentrato nei meandri della programmazione ad oggetti
però mi piace imparare...


8
le password di google le genero io quindi quelle le so... quelle di joomla ho letto che vengono criptate tramite MD5 e nel file di configurazione io ho un codice segreto, che non so come utilizzare ma credo sia la chiave che utilizza joomla per criptare le password
io però non saprei proprio come iniziare a scrivere la funzione che tu dici... non è che potresti darmi qualche imbeccata?
non ho trovato nulla che spieghi come criptare le password di joomla
grazie

9
Joomla! 1.6/1.7/2.5 / trasferimento utenti da altro sistema
« il: 02 Ott 2012, 01:07:34 »
ciao a tutti
tento di spiegare cosa vorrei fare e come e chiedo gentilmente se c'è qualcuno che mi può dare una dritta per risolvere alcuni problemi oppure, forse meglio, se mi indica una strada migliore per raggiunger il mio obiettivo

- ho un account di google apps con più di un centinaio di utenti, vorrei importare gli utenti evitando di crearli tutti manualmente in un sito realizzato con joomla 2.5 e che attraverso joomdle si interfaccia a moodle come se fosse una sua sezione, quindi con un sistema di login SSO
- vorrei inoltre che una volta importati gli utenti da google, si riuscisse a realizzare un SSO anche tra google e joomla

per quanto riguarda il SSo tra joomla e google ho pensato di cavarmela con un componente che permette l'accesso al sito attraverso le credenziali dei più famosi social network, il problema vero viene quando cerco di importare gli utenti di google
io avrei pensato di realizzare la cosa utilizzando un componente che permette l'importazione di liste di utenti da un file csv ma ho visto che per joomla 2.5 non esistono (o io non li ho trovati) componenti free, ma solo 1 a pagamento, pertanto fedele alla mia vocazione free (e anche perchè la mia scuola non ha soldi da spendere in questo...) ho pensato di passare dalla porta di moodle, che invece permette l'importazione di utenti attraverso csv. poi, una volta in moodle, attraverso joomdle li faccio passare a joomla
il problema è però che nel momento in cui gli utenti passano a joomla, joomla crea delle nuove password e quindi io mi trovo la lista dei miei utenti uguale a quella di google, ma con le password cambiate e quindi la cosa non mi serve per nulla
quello che chiedo è se qualcuno mi sa indicare qualche via migliore per importare utenti e relative password o, nel caso, se c'è qualche modo per evitare che joomla generi in automatico le password?

grazie


10
Joomla! 1.6/1.7/2.5 / modifica comprofiler
« il: 02 Ott 2012, 00:12:15 »
io ho provato a fare una cosa del genere e ho fatto in questo modo:
- per altri motivi utilizzo community builder per gestire gli utenti, quindi anche registrazione e login
- partendo da questo, ho modificato il file del componente che gestisce il login (comprofiler.php) e utilizzando le sessioni e creando una tabella ad hoc per memorizzare le credenziali degli utenti che si loggano sono riuscito a memorizzarle e passarle poi ad altre pagine come variabili di sessione
- devo dire però che il mio sito ha un traffico molto limitato e non ho ancora provato a pensare a cosa succederebbe se 2 utenti si loggassero nello stesso momento...

se ti può interessare la cosa magari scendo più nel dettaglio
ciao


Pagine: [1]


Web Design Bolzano Kreatif