Skip to Content

Nume de utilizator afisat intr-un bloc in Drupal

Din motive practice am creat un block intr-o instalare Drupal in care afisam si numele utilizatorului cu


if ($user->uid != 0) { print t('Autentificat ca '). '<a href="' .url('user/'.$user->uid). '">' .$user->name. '</a>

Toate bune si frumoase pana cand mai multi utilizatori au inceput sa mi se planga ca sunt autentificati ca alte persoane. M-am panicat nitzel, ca orice admin responsabil, pentru ca ultimul lucru pe care mi-l doresc este ca utilizatorii sa fie ingrijorati ca datele din contul lor ar putea fi compromise.

Am verificat baza de date, i-am dat un repair asa, de control, totul parea in grafic. Mai putin eroarea, care mie nu imi aparea.

Un utilizator mai zelos mi-a trimis chiar si un printscreen cu eroarea.

Am avut un insight: snippetul era afisat intr-un block. Blockurile de regula le cache-uiesc, din motive de performanta, chiar si pentru utilizatorii inregistrati.

Intr-adevar, era cacheuit. Ceea ce inseamna ca fiecarui nou user logat ii arata numele userului din cache, adica ultimul logat in urma cu cateva minute. Fireste, doar username-ul, caci la date nu avea cum sa aiba acces.

O simpla debifare a cache-ului pentru blockul respectiv si viata de admin de Drupal e din nou frumoasa. Asa ca, daca patiti ceva similar, inainte sa va panicati ca mine verificati cache-ul.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Textual smileys will be replaced with graphical ones.

More information about formatting options

CAPTCHA
Demonstreaza ca esti barbat si nu robot si raspunde la intrebarea de mai jos. :)
Fill in the blank


Smokers | articole