Visualizzazione Stampabile
-
le variabili
allora in pratica ... ogni pagina ke faccio e modifico noto ke ha varaibili diverse ... tipo la variabiele $loggedin si usa solo nella template online metre in un altra template nn va ... queste per un sacco di varabili ... volevo sapere come faccio ad inserire una tipo di variabile in un pagina dove nn è implementata .. come faccio ad implementarla ???
ad esempio ho creato una chat mo ci sono tutti gli utenti online gli ho messo le rispettive foto affianco ... ora vorrei mettergli anche la scritto ke dice il sesso ...
tipo per la foto ho fatto "image.php?u=$loggedin[userid]"
per ritrvarmi l'id ... la template diciamo ke ho sfruttato e quella di WHOISONLINE
e la pagina e online.php
io però ho modificato la pagina online.php e ho fatto in modo ke la template deve caricare e "online" e nn piu "WHOISONLINE" e ho rinominato online.php in chat.php
e in nella template "online" ho creato la mia struttura personale ... ora quello ke mi serve e fare in modo ke esca anche il sesso ... poi vorrei fare anche altre cose ma per ora partiamo con questa ...sapresti aiutarmi ... sn stato chiaro ??
-
Caro Egidio, benvenuto nel mondo delle meraviglie, e a vbulletin.it che rende vivo questo mondo :D
La tu domanda non può essere risposta facilmente. Il punto è che vbulletin è nato da un paio di programmatori, che si sono moltiplicati. Ora ciascun programmatore lavora per un settore solo, e non conosce più l'intero contenuto. E questo ovviamente crea dei problemi.
C'è una forte tendenza di facilitare tutto, ma non è sempre a vantaggio. Prendiamo la classe $vbulletin, che contiene un po' di tutto, ma non può essere usata al 100% come desideriamo. E' pienamente accessibile da un plugin, ma non da un template, per cui è necessario estrarre i dati in una variabile semplice, oppure in un array, e poi utilizzare questo dato nel template.
Ad esempio, $vbulletin->userinfo contiene letteralmente tutti i dati dell'utente attualmente loggato, per cui potresti dire, nel plugin:
Codice PHP:
$mio_userinfo = $vbulletin->userinfo;
e poi usare:
Codice HTML:
<td class="smallfont" align="$stylevar[right]">Nome utente:</td>
<td class="smallfont" align="$stylevar[left]">$mio_userinfo[username]</td>
-
senti e nel mio caso ke in pratica la template l'ho creata io in questo caso lo chiamata "online" che locazione devo mettere quando creo il plugin ??
-
-
quandop faccio crea nuovo plugin mi dice di inserire anche la locazione ... oltre al nome
-
ci sono riuscito però nn ho risolto il mio problema ... in pratica mo ti spiego io ora sto agendo su una tabella ke si ripete a senconda del numero di utenti attivi e all'interno contiene le informazioni di ogni utente ke si è collegato ... mettendo la viarbile ke dici tu tipo quando faccio uscire il nome si ripete solo in nome della persone ke sta visualizzando la tabella e nn anche degli altri .... tipo se entro i in questa chat si ripete il mio nome e nn quello di quelli ke sono entrati ....
-
http://img517.imageshack.us/img517/252/immagine2zn7.jpg
ecco qui il mio caso ... ora sono due utenti online... allora io sono egidio e vedo cosi la chat ora come esempio voglio far uscire il nome dell'utente ... e ho messo la varaibile $mio_userinfo[username] affianco a quella $loggedin[username]
e come puoi vedere si ripete il mio nome affianco a anche a quell'altgro io invec devo fare in modo ke compaia il suo nome e nn il mio ... capito ??
per queste cose ce la viariabile $loggedin ma nn fa prp nulla tiene solo poche cose ... tipo il campo del sesso nn me lo fa mettere e tante altre cose ke vorrei fare ...
-
$vbulletin->userinfo contiene tutte le informazioni che ti servono.
Se ti fai un plugin che intercetta global_start e scrivi:
Codice PHP:
echo nl2br(print_r($vbulletin->userinfo, TRUE));
die;
allora vedi come si chiamano anche le variabili. Nota che questa cosa non puoi sviluppare sul sito di produzione, ma su uno di prova. Altrimenti gli utenti vedono questi dati, Google compreso :p
-
Citazione:
Originariamente Scritto da
y2ksw
$vbulletin->userinfo contiene tutte le informazioni che ti servono.
Se ti fai un plugin che intercetta global_start e scrivi:
Codice PHP:
echo nl2br(print_r($vbulletin->userinfo, TRUE));
die;
allora vedi come si chiamano anche le variabili. Nota che questa cosa non puoi sviluppare sul sito di produzione, ma su uno di prova. Altrimenti gli utenti vedono questi dati, Google compreso :p
allora dovrei creare un nuovo plugin con quel codice ... poi ?? come faccio a far si ke escano le varaibile della pagina ke mi interessa ?? e dove escono ? :D
-
vabbe allore ain qualche modo ci sono riuscito esce una pagina bianca ...
con questo cose
Array
(
[userid] => 72
[temp] =>
[field1] => Egidio
[field2] =>
[field3] => Napoli
[field4] =>
[field5] => Uomo
[field6] => Single
[field7] =>
[field8] => Napoli Nel Cuore
[field9] => Pianura
[field11] =>
[subfolders] =>
[pmfolders] =>
[buddylist] =>
[ignorelist] =>
[signature] =>
[searchprefs] =>
[rank] =>
[usergroupid] => 6
[membergroupids] =>
[displaygroupid] => 6
[username] => *eGiDio*
[password] => *********
[passworddate] => *********
[email] => ********
[styleid] => 1
[parentemail] =>
[homepage] =>
[icq] =>
[aim] =>
[yahoo] =>
[msn] =>
[skype] =>
[showvbcode] => 1
[showbirthday] => 0
[usertitle] => Amministratore
[customtitle] => 0
[joindate] => 1194876540
[daysprune] => 0
[lastvisit] => 1197807433
[lastactivity] => 1197807433
[lastpost] => 1197807383
[lastpostid] => 431
[posts] => 20
[reputation] => 10
[reputationlevelid] => 5
[timezoneoffset] => 0
[pmpopup] => 1
[avatarid] => 0
[avatarrevision] => 0
[profilepicrevision] => 0
[sigpicrevision] => 0
[options] => 527367
[birthday] =>
[birthday_search] => 0000-00-00
[maxposts] => -1
[startofweek] => -1
[ipaddress] => ******
[referrerid] => 0
[languageid] => 2
[emailstamp] => 0
[threadedmode] => 0
[autosubscribe] => -1
[pmtotal] => 29
[pmunread] => 1
[salt] => vab
[ipoints] => 0
[infractions] => 0
[warnings] => 0
[infractiongroupids] =>
[infractiongroupid] => 0
[adminoptions] => 0
[lang_options] => 3
[lang_code] => it
[lang_charset] => ISO-8859-1
[lang_locale] =>
[lang_imagesoverride] =>
[lang_dateoverride] => d-m-Y
[lang_timeoverride] => H.i.s
[lang_registereddateoverride] => d-m-Y
[lang_calformat1override] => d-m-Y
[lang_calformat2override] => d-m-Y
[lang_logdateoverride] => d-m-Y
[lang_decimalsep] => .
[lang_thousandsep] => ,
[showsignatures] => 1
[showavatars] => 1
[showimages] => 1
[coppauser] => 0
[adminemail] => 0
[showvcard] => 0
[dstauto] => 0
[dstonoff] => 0
[showemail] => 0
[invisible] => 0
[showreputation] => 1
[receivepm] => 1
[emailonpm] => 0
[hasaccessmask] => 0
[postorder] => 0
[receivepmbuddies] => 0
[noactivationmails] => 0
[pmboxwarning] => 1
[adminavatar] => 0
[adminprofilepic] => 0
[urlusername] =>******
[musername] => *eGiDio*
[displaygrouptitle] => Amministratore
[displayusertitle] => Amministratore
[realstyleid] => 0
[logouthash] => ******
[tzoffset] => 0
[lastvisitdate] => 16-12-2007 12.17.13
[permissions] => Array
(
[usergroupid] => 6
[title] => Amministratore
[description] =>
[usertitle] => Amministratore
[passwordexpires] => 0
[passwordhistory] => 360
[pmquota] => 50
[pmsendmax] => 5
[opentag] =>
[closetag] =>
[canoverride] => 0
[ispublicgroup] => 0
[forumpermissions] => 1048575
[pmpermissions] => 7
[calendarpermissions] => 63
[wolpermissions] => 31
[adminpermissions] => 3
[genericpermissions] => 1073741759
[genericoptions] => 55
[signaturepermissions] => 237567
[attachlimit] => 0
[avatarmaxwidth] => 4000
[avatarmaxheight] => 4000
[avatarmaxsize] => 1000000
[profilepicmaxwidth] => 10
[profilepicmaxheight] => 10
[profilepicmaxsize] => 65535
[sigpicmaxwidth] => 4000
[sigpicmaxheight] => 4000
[sigpicmaxsize] => 20000
[sigmaximages] => 0
[sigmaxsizebbcode] => 7
[sigmaxchars] => 0
[sigmaxrawchars] => 0
[sigmaxlines] => 0
[vbblog_general_permissions] => 126
[vbblog_entry_permissions] => 24188
[vbblog_comment_permissions] => 990
)
allora io mo dovrei fare $loggedin[field5] e farmi uscire il sesso ma nn esce!!! xke ???se invece faccio $loggedin[username] va xke ??? eppure la pagina mi da ste cose
-
vabbe cmq ho in qualche modo ho fatto quello ke mi seriviva e in pratica ho fatto
echo nl2br(print_r($loggedin, TRUE));
die;
in modo tale ke mi ha detto le variabile ke posso utilizzare con leggedin ... e mi sono uscite queste e funzionano ....
Array
(
[userid] => 72
[username] => *eGiDio*
[invisible] => 0
[inforum] => 0
[lastactivity] => 1197920968
[usergroupid] => 6
[displaygroupid] => 6
[musername] => *eGiDio*
[displaygrouptitle] => Amministratore
[displayusertitle] => Amministratore
[buddymark] =>
[invisiblemark] =>
)
il problema ora è possibile aggiungere delle varaiibii in questo arry ?? se si come ?? :D penso di si cmq
-
Io non so perché non usi $vbulletin->userinfo. Ma contento te ...
$vbulletin->userinfo contiene tutto!!!
Vedi:
Citazione:
vabbe allore ain qualche modo ci sono riuscito esce una pagina bianca ...
con questo cose
Array
(
[userid] => 72
[temp] =>
[field1] => Egidio
[field2] =>
[field3] => Napoli
[field4] =>
[field5] => Uomo
[field6] => Single
[field7] =>
[field8] => Napoli Nel Cuore
[field9] => Pianura
[field11] =>
:p
-
te lo spiegato prima xke ...loggedin da informazioni degli utenti ke sono loggati mentre vbulletin da informazioni ma nn delle persone online!!capito mo ??ti ho fatto vedere l'immagine cosa faceva se usavo le informazioni di $vbulletin
allora
se scrivo $loggedin[username] e ci sono 3 persone
la varibile si ripete per il numero di persone ke ci sono quindi 3
e fa visulizzarre
IL MIO NOME .......................... NOME 2°PERSONA ...................... NOME 3° PERSONA
se uso $mio_userinfo ke contiene atravverso il plugin la viariabile $vbulletin
se faccio $mio_userinfo[username] se ci sono 3 persone online la viariabile si ripete 3 volte
la struttura diventa questa
MIO NOME .................. MIO NOME ......................... MIO NOME
e nn quello delle persone online... capito ora ???
-
Ah ok :p
Per questo mi devi un cappuccino :)
Provato e va, ovunque, e hai tutte le informazioni.
test.php
Codice PHP:
<?php
error_reporting(E_ALL & ~E_NOTICE);
define('NO_REGISTER_GLOBALS', 1);
define('GET_EDIT_TEMPLATES', TRUE);
define('THIS_SCRIPT', 'test');
$specialtemplates = array();
$actiontemplates = array();
$phrasegroups = array();
$globaltemplates = array();
require_once('./global.php');
require_once(DIR . '/includes/functions_bigthree.php');
// Plugin code >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
$myloggedin = array();
$SQL = "SELECT userid "
. "FROM " . TABLE_PREFIX . "session "
. "WHERE loggedin>0"
;
$rss = $vbulletin->db->query_read($SQL);
while($rs = $vbulletin->db->fetch_array($rss))
{
$a = fetch_userinfo($rs['userid']);
$myloggedin[$a['username']] = $a;
}
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
echo nl2br(print_r($myloggedin, TRUE));
?>
-
facendo cosi tengo tt le informazioni ma se faccio
field5 sarebbe il sesso
$myloggedin[fiel5]
nn funziona prp
allora ho provato a fare
$a[field5] e mi fa le informazioni se ho capito bene dell'ultima persona entrata ...capito ?
ps: ti offro volentieri il cappuccino :D
-
a me invece serve delle precisa persona ...
-
allora con la variabile $a ho visto ke esce solo un utente ecco xke nn escono le info di tutti ... xrò se faccio
$myloggedin[field5] nn esce niente xke ???
-
allora nn so se puo aiutarti ma mi esce questo
Array
(
[Egidio] => Array
(
[userid] => 1
[temp] =>
[field1] => volete sapere qualcosa di me ??!??! conoscetemi ...cosa aspettate :D
[field3] => Mi piace giocare a calcio e uscire con amici ...
[field4] => Studio Al Giordani xd
[field6] => Calcio ... :P Forza I Peggiori :P
[field7] => Napoli
[field8] => Uomo
[field9] => Ariete
[field10] => kilosà
[field11] => Napoli
[field12] =>
[field13] => HouSe ... RnB ... ItAliaNe
[field14] =>
[field15] =>
[field16] =>
[subfolders] =>
[pmfolders] =>
[buddylist] => 1 2
[ignorelist] =>
allora ho notato ke se faccio $myloggedin[Egidio] mi viene fuori la scritta Array è mi trovo ma se faccio $myloggedin[field8] nn esce niente e forse xke nn rientra piu in quell'array ?
-
$myloggedin['nome utente']['campo']
C'eri quasi :)
-
Codice PHP:
foreach($a AS $key => $value)
{
echo 'Nome utente: ' . $key . ': ' . $value['field5'] . '<br />';
// oppure:
// echo "Nome utente: $key: $value[field5]<br />";
}
Con questo ti elenca per ogni utente il campo filed5. Ideale per fare delle cose ripetitive.
(Dove $a è l'array di prima)
-
nel template ke scrivo ??? .... allora io sto lavorando nel template non nel php con il codice ke mi hai dato tu posso lavorare nel php ... ma non nel template ... xke se faccio nel template $value[field8] mi esce il sesso dell'ultimo utente collegato... mentre se lo faccio nel php facendo $value[field8] mi esce l'utente con il rispettivo sesso ?? :(:(
-
poi ho fatto un altra modifica
Citazione:
foreach($myloggedin AS $key => $value)
al posto di $a ke avevi messo tu ho messo $myloggedin .... xke se faccio $a nn va prp invece con $myloggedin si ;) ... però cmq ora ritorniamo al problema ke ho sopra citato :(
-
Citazione:
Originariamente Scritto da
Egidio
nel template ke scrivo ??? .... allora io sto lavorando nel template non nel php con il codice ke mi hai dato tu posso lavorare nel php ... ma non nel template ... xke se faccio nel template $value[field8] mi esce il sesso dell'ultimo utente collegato... mentre se lo faccio nel php facendo $value[field8] mi esce l'utente con il rispettivo sesso ?? :(:(
Nel template postbit/_legacy puoi usare:
$post[username] per il nome utente, quindi:
{$myloggedin[$post[username]][field5]} per il campo field5 di quel determinato utente. Eventualmente funziona anche senza parentesi graffe.
Dai che ce la farai :up:
-
nn è il template postbit infatti xd xd ... è un template ke ho creato io ... e ke si chiama online ... vabbe mo provo
-
vabbe posso dirti ke finalemente dopo mille tentativi ci siamo riusciti :D:D ... allora per farlo funzionare ho fatto {$myloggedin[$loggedin[username]][field5]}
ho fatto cosi al posto di $post ho messo $loggedin ke l'username lo contiene ;)
-
Visto? Ora sai più di me :D
-
nn potro mi sapere piu di te :D
cmq senti volevo chiederti ...e come faccio a fare la somma di due del contenuto di due variabili ??
{$myloggedin[$loggedin[username]][posts]} + {$myloggedin[$loggedin[username]][pmtotal]}
comela faccia la somma di questi due ?? contengo valori numerici
-
Sconsiglierei farlo all'interno dei template, ma lo farei nello script/plugin:
Codice PHP:
$a = fetch_userinfo($rs['userid']);
$a['totale_messaggi'] = $a['posts'] + $a['pmtotal'];
$myloggedin[$a['username']] = $a;
-
Citazione:
Originariamente Scritto da
y2ksw
$vbulletin->userinfo contiene tutte le informazioni che ti servono.
Se ti fai un plugin che intercetta global_start e scrivi:
Codice PHP:
echo nl2br(print_r($vbulletin->userinfo, TRUE));
die;
allora vedi come si chiamano anche le variabili. Nota che questa cosa non puoi sviluppare sul sito di produzione, ma su uno di prova. Altrimenti gli utenti vedono questi dati, Google compreso :p
Ciao a tutti.
Come posso gestire gli utenti con questo array anche in PAGINE ESTERNE al forum?
Esiste una pagina da includere che mi restituisce l'array e così posso gestire gli utenti in modo molto semplice (come avviene con il phpbb)?
-
Devi includere ./global.php nelle pagine esterne. Così hai tutto :)