Sziasztok!
Szeretném a felhasználók adatlapján megjelenítettni, hogy online vagy offline-e a user,..
Megvan a kód hozzá. Mondom először mit csináltam aztán hogy mi nem jó.:)
létrehoztam a sminken belül egy user_profile.tpl.php-t a következő tartalommal:
print "<div class=\"fields\">"; $time_period = variable_get('user_block_seconds_online', 2700); $uid = arg(1); // get the current userid that is being viewed. $users = db_query("SELECT uid, name, access FROM {users} WHERE access >= %d AND uid = $uid", time() - $time_period); $total_users = db_result($users); if ($total_users == 1) { $output = t('A felhasznalo jelenleg online'); } else { $output = t('A felhasznalo jelenleg offline'); } print $output; print "</div>";
illetve egy template.php-t (eddig nem volt)
ezzel a tartalommal:
/** * Catch the theme_user_profile function, and redirect through the template api */ function phptemplate_user_profile($account, $fields = array()) { // Pass to phptemplate, including translating the parameters to an associative array. The element names are the names that the variables // will be assigned within your template. /* potential need for other code to extract field info */ return _phptemplate_callback('user_profile', array('account' => $account, 'fields' => $fields)); }
Ez így működik de ez így szimplán csak felülírja az eredeti profillapok megelenését így csak azt jeleníti meg hogy "Jelenleg a felhasználó..."
Szeretnáém ha a többi mezőm is megjelenne, tehát kibővülne a profillap és nem felülíródna...
Köszi a segítséget!
Ördi
Drupal verzió:
Fórum:
BIZTONSÁGI FIGYELMEZTETÉS!
Ezt a kódot ne használd éles rendszeren és olyanon se ami elérhető az interneten keresztül! Éles rendszerről azonnal szedd le!
Javítva:
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
megszokás
Mondjuk én ilyen stílusban írom a lekérdezéseket, mert így láttam, és így szoktam meg, de azért érdekelne (és nyilván az utókornak se jönne rosszul), hogy pontosan mi a gond a másikkal?
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
api.drupal.org
tehát a válasz: tu avojd sql indzseksön etteksz
_soha_ nem rakunk változót a lekérdezésbe direktbe bele.
-
clear: both;
SQL injection
Akkor szokd meg máshogy vazzeg! Hol láttad ezt? Ugye nem a PHP 24 óra alatt c. könyvben, mely már akkor elavult volt amikor megjelent magyar nyelven.
Mondd, hogy csak vicc volt! Lécci, lécci, lécci!
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
félreértesz
Félreértetted, olyan stílusban szoktam meg és használom, ahogy te írtad. Ezért nem is vágtam hirtelen a hiba okát, de közben utánaolvastam alaposabban. :)
Amúgy az kezdőknek nem rossz könyv, bár tény, hogy komolyabb munkához nem is elég. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Ezerbocs!
tényleg...
Elnézést!
Kérek engedélyt meghunyászkodni!
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Nem történt semmi
Nem történt semmi, és nagyra értékelem, hogy legalább figyelsz az ilyenekre! :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
pont azt mondja, hogy így csinálja
csak nem tudja miért kell így és miért tilos úgy.
-
clear: both;
Így van
Így van, ismertem néhány "SQL injection" sebezhetőséget, de ezt pont nem, talán keveset olvasom mások kódjait, és csak a jókból tanulok. :)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
rossz szál, javítva
... rossz szál, javítva ...
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
sajnos nem jön össze ez
sajnos nem jön össze ez nekem. Ezzel a kóddal mit is kell csinálnom?
Ja amugy localhoston csináltam, csak akkor teszem fel az oldalra ha már minden oké... ezek szerint még jó hogy nem jött össze:)
Ördi
Nyomtasd ki a többit is
Onnantól, hogy felülírtad a theme_user_profile() függvényt, az eredeti megjelenést is teljesen felülbíráltad. Tehát mindent a user_profile.tpl.php fájlodban kell kinyomtatni. Ezért neked kell kézzel beleírnod a hiányzó részeket. Ez viszont egyszerű, mondjuk hozzámásolod még az eredeti theme_user_profile() eljárásból ezt:
És persze a végén echo $output;
(pp kódjával pedig helyettesítsd az általad beküldött kód megfelelő sorát.)
sehogy se jön nekem össze,
sehogy se jön nekem össze, hagyom is az egészet. ehez még béna vagyok:(
köszönöm szépen a segtséget azért!
Ördi
megoldás időközben
emitt:
http://drupal.hu/forum/felhasználói-név-színezése-csoport-tagság-szerint
-
clear: both;
zusammen
valaki leírja nekem egyben a komplett kódot hogy lássam mit szúrtam el?:(( idegesít hogy nem műkszik...
mindkét fájl tartalma kellene:)
köszi előre is
Ördi
dehát ember.. ott az url egyel feljebb...
azon leírta valaki a komplett kódot. nézzed már meg azt a szemeiddel!
-
clear: both;
nem vagyok vak
ez más téma...
te a színezést írtad engem ebben a fórumban más érdekel...
az meg eleve nem nekem szól, mert én cck+bioval dolgoztam mint írtam és nem csoportot hanem cck mező alapján kellene színeznem...
Ördi
ja, tényleg, bocs
megkeveredtem a sok user-related cucc között. elnézést.
-
clear: both;
semmi probléma, örülök neki
semmi probléma, örülök neki hogy próbáltok segíteni:)
majd meghálálom egyszer ha lesz rá lehetőségem:)
ha beregel a társkeribe valami jó csaj, küldök elérhetőséget nektek :)))
ördi
Csak a tipli fájlt kell változtatni
Ím:
Ezután még a bio hozzácsapja a saját tartalmát és kész.
Megjegyzés: A t() függvényt csak angol szöveggel szabad használni. Majd ezt lehet később magyarítani. Így is működik, de nem ajánlott.
köszönöm szépen,
köszönöm szépen. működik ugyan, de nem jó...
az adatlapokon megjelenik de csak nekem írja ki hogy online, mindenki másnak offline van (aki jelen van az oldalon annak is)
másrész a privatemessage modulom se működik tőle rendesen (gondolom a template.php kavar be neki):(