Login    Registrati    Text  + grande    + piccolo

phpnuke for donkeys translator phpnuke for donkeys translator phpnuke for donkeys translator phpnuke for donkeys translator phpnuke for donkeys translator phpnuke for donkeys translator phpnuke for donkeys translator

smartphone android
vendite riservate
Offerte Cd e Dvd
 
Area Riservata 1 Tutorials
Area Riservata 1 Downloads
Area Riservata 2 Tutorials
Area Riservata 2 Downloads Info Area 1    Info Area 2
Clicca per iniziare il tour!
Mobile     Facebook     Twitter     RSS Feed
Per qualsiasi informazione Contattaci
Nuova pagina 2


PHP-Nukefordonkeys.com: Forums

:: Leggi il Topic - Soluzione: Assegnare agli Amministratori i nuovi Moduli
 FAQFAQ   CercaCerca   Gruppi utentiGruppi utenti   ProfiloProfilo   LoginLogin 

Soluzione: Assegnare agli Amministratori i nuovi Moduli

 
Nuovo Topic   Rispondi    Indice del forum -> Installazione del programma
Precedente :: Successivo  
Autore Messaggio
piermin
senior
senior


Registrato: 18-12-2003
Messaggi: 1298

MessaggioInviato: 12-03-2004 11:34    Oggetto: Soluzione: Assegnare agli Amministratori i nuovi Moduli Rispondi citando

Dopo aver risposto "a memoria" e probabilmente in maniera un po' caotica in un post precedente, ho rivisto e ritestato la procedura (ho attivato nel mio "Edit Admin" i moduli Messages, AllMyGuests, eCard e Coppermine) riscrivendola e riproponendola sicuramente in maniera più omogenea e completa.
---------------------------------

Per poter dare i permessi di Amministratore ai moduli non inseriti nel pacchetto base di nuke bisogna farli apparire nella maschera "Aggiungi Nuovo Amministratore" e collegarli alla nuova funzione ... a tal fine bisogna fare diverse modifiche in cinque file e nel database.

Come esempio riporto le modifiche da me effettuate al modulo Coppermine per renderlo gestibile da amministratori diversi dal Super Admin (per mia comodità ho usato sempre il termine "copper"). E' ovvio che per ogni modulo da aggiungere vanno ripetute tutte le operazioni ... cambiando opportunemente il termine "copper".

- Creare un nuovo campo nella tabella nuke_authors del tipo radmincopper (nei campi vanno inseriti gli stessi parametri di default di quelli già esistenti)
Citazione:
Campo ------> radmincopper
Tipo ---------> TINYINT
Lunghezza --> 2
Null ----------> not null
Predefinito --> 0


- Aprire il file admin\modules\authors.php

Duplicare le righe simili a queste, cambiandone i parametri:

113
Codice:
."<td><input type=\"checkbox\" name=\"add_radmincopper\" value=\"1\"> "._COPPER."</td>"

259
Codice:
if ($chng_radmincopper == 1) {
        $sel17 = "checked";
    } else {
        $sel17 = "";
    }

295
Codice:
."<td><input type=\"checkbox\" name=\"chng_radmincopper\" value=\"1\" $sel17> "._COPPER."</td>"

tenere presente che il numero della $sel.. deve essere uguale in tutte e due le righe e progressivo rispetto agli altri moduli (i moduli base arrivano a $sel16 ... i nuovi, quindi, saranno $sel17, $sel18, ecc.).

Variabili (dello stesso tipo di quelle già in essere) da aggiungere in righe esistenti (sembra complicato ... ma con find si trovano tutte quelle relative ad un modulo certo e si ricopiano per il nuovo modulo adeguandole).
145
Codice:
$result = $db->sql_query("select aid, name, url, email, pwd, radmincopper, radminarticle, ...

146
Codice:
list($chng_aid, ... $chng_radmincopper, ...

315
Codice:
function updateadmin($chng_aid, $chng_name, .... $chng_radminforum, $chng_radmincopper, ...

333
Codice:
$result = $db->sql_query("update ".$prefix."_authors set aid='$chng_aid', .... radmincopper='0', ...

336
Codice:
$result = $db->sql_query("update ".$prefix."_authors set aid='$chng_aid', ... radmincopper='$chng_radmincopper', ...

341
Codice:
$result = $db->sql_query("update ".$prefix."_authors set aid='$chng_aid', ... radmincopper='0', ...

344
Codice:
$result = $db->sql_query("update ".$prefix."_authors set aid='$chng_aid', ... radmincopper='$chng_radmincopper', ...

405
Codice:
updateadmin($chng_aid, $chng_name, ... $chng_radmincopper, ...

425
Codice:
$result = $db->sql_query("insert into ".$prefix."_authors values ('$add_aid', .... '$add_radmincopper', '$add_radmincontent', ...)");
    if (!$result) {
        return;
    }

Come verifica finale del file, controllare che, alla fine di tutte le modifiche, ci siano in tutto 16 ricorrenze, più due ricorrenze in righe commentate (queste ultime è ovvio che possono essere omesse).

- Aprire il file admin\language\lang-italian.php
ed inserire la definizione della variabile di lingua _COPPER.
Codice:
define("_COPPER","Albums Fotografici");


- Aprire il file del modulo inserito in admin\modules
(nel nostro esempio admin\modules\coppermine.php ).

All'inizio di ogni files della cartella admin\modules relativo ai moduli presenti nel pacchetto base (da assegnare ai vari admin) vi sono queste righe (ad esempio quelle relative a "content"):
Codice:
$result = sql_query("select radmincontent, radminsuper from ".$prefix."_authors where aid='$aid'", $dbi);
list($radmincontent, $radminsuper) = sql_fetch_row($result, $dbi);
if (($radmincontent==1) OR ($radminsuper==1)) {

Ai files dei moduli che non sono ricompresi nell'elenco della gestione admin, la variabile del tipo radminpippo non è inserita
Codice:
$result = $db->sql_query("select radminsuper from ".$prefix."_authors where aid='$aid'");
list($radminsuper) = $db->sql_fetchrow($result);
if ($radminsuper==1) {

Per gestire coppermine ho modificato le righe in argomento (inserendo radmincopper) adeguandole a quelle dei moduli selezionabili.
Codice:
$result = sql_query("select radmincopper, radminsuper from ".$prefix."_authors where aid='$aid'", $dbi);
list($radmincopper, $radminsuper) = sql_fetch_row($result, $dbi);
$schedinfo = "Coppermine Administration";
if (($radmincopper==1) OR ($radminsuper==1)) {


- Aprire il file del modulo inserito in admin\links
(nel nostro esempio admin\links\coppermine.php) e modificare la riga
Codice:
if ($radminsuper==1) {

in
Codice:
if (($radminsuper==1) OR ($radmincopper==1)) {



- Per ultimo, aprire il file admin.php della root di nuke
ed inserire, in coda alle altre simili (riga 180 circa), la riga
Codice:
$radmincopper = $row['radmincopper'];


Fatte tutte le modifiche ed abilitato dal Menù Amministrazione -> Edit Amministratori dell' Admin Super, il nuovo Amministratore diventa operativo anche per il nuovo modulo inserito.

Un ultimo consiglio ... ricordatevi sempre di fare una copia di backup dei files da modificare !!
Torna in cima
Profilo Messaggio privato Invia email
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Indice del forum -> Installazione del programma Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum


Powered by phpBB © 2001-2006 phpBB Group
Versione 2.0.21 by Nuke Cops © 2006 http://www.nukecops.com

Basato su PHP-Nuke - Powered by PHPNuke Professional
Generazione pagina: 0.13 Secondi