[globalVar = TSFE:fe_user|user|uid = GP:uid]
| Autor | Nachricht |
|---|---|
|
Verfasst am: 18. 02. 2012 [15:24]
|
|
|
fabrix
Themenersteller
Dabei seit: 18.10.2010
Beiträge: 12
|
hallo! ich moechte ueber eine condition abfragen, ob die uid des eingeloggten users der GET-variable 'uid' entspricht. weiss jemand warum das nicht funktioniert? [globalVar = TSFE:fe_user|user|uid = GP:uid] kennt jemand eine alternative moeglichkeit? danke schonmal, fabian |
|
Verfasst am: 21. 02. 2012 [21:26]
|
|
|
jousch
Dabei seit: 18.04.2006
Beiträge: 320
|
Indem du eine userfunction dafür bastelst und in eine Condition einfügst? |
|
Verfasst am: 28. 02. 2012 [20:20]
|
|
|
fabrix
Themenersteller
Dabei seit: 18.10.2010
Beiträge: 12
|
ich fuercht dafuer reichen meine typo3/php-kenntnisse nicht aus... ich frag mich, warum mein ansatz nicht funktioniert. zu viele variablen? |
|
Verfasst am: 28. 02. 2012 [21:23]
|
|
|
LuP
Dabei seit: 12.04.2007
Beiträge: 491
|
Hallo, weil Du Variable mit Variable vergleichst. globalVar erwartet auf der rechten Seite des Vergleichsoperators einen numerischen Wert. VG, LuP |
|
Verfasst am: 29. 02. 2012 [00:14]
|
|
|
Chrissli
Dabei seit: 19.04.2010
Beiträge: 503
|
Ich bin leider nicht so firm was die userFunc als Condition angeht, aber laut ScriptReferenz hier solltest du so zu schlag kommen: 1. Lege eine Datei an 'typo3conf/my_user_functions.inc.php' 2. in deine localconf.php schreibst fügts du eine Zeile nach dem letzen "?>" hinzu, die Datei endet dann so: PHP ?> <?php include 'my_user_functions.inc.php'; ?> Die Zeile mit dem include ist neu hinzugekommen. Scheinbar funktioniert das einbinden mit includeLibs nicht immer sauber. 3. Die 'my_user_functions.inc.php' bekommt nachfolgenden Inhalt: PHP <?php function user_check_guid() { //hier befindet sich ein array mit den zugewiesen gruppen-ids des benutzers bzw ein leeres array wenn dieser nicht angemeldet ist @$gid = $GLOBALS['TSFE']->fe_user->groupData['uid']; if(!isset($gid) || empty($gid)) { return false; } if(isset($_GET['uid']) && in_array((int)$_GET['uid'],$gid)) { return true; } else { return false; } } ?> Im TS schreibst du TYPOSCRIPT [userFunc = user_check_guid()] mach was wenn gruppen id die aktuelle 'uid' aus dem GET-Parameter enthält [global] So müsste ohne Parameterübergabe die GET-Variable 'uid' mit den zugewiesenen Gruppen abgeglichen werden. Sollte sich der Herr Teufel eingeschlichen haben, bitte ich um Weihwasser oder entsprechende Hinweise God's in his Heaven -
All's right with the world! |
|
Verfasst am: 29. 02. 2012 [12:18]
|
|
|
fabrix
Themenersteller
Dabei seit: 18.10.2010
Beiträge: 12
|
wow, vielen dank fuer muehe - jetzt funktionierts ; ) habs ein wenig angepasst, weil ich nicht die user-gruppe sonder die user-id abfragen will: PHP function user_check_userid() {
@$userid = $GLOBALS['TSFE']->fe_user->user['uid'];
if(!isset($userid) || empty($userid)) { return false; }
if(isset($_GET['uid']) && $_GET['uid']==$userid) {
return true;
} else { return false; }
}und bei der condition brauchts glaub die klammern () nicht: TYPOSCRIPT [userFunc = user_check_userid] statt TYPOSCRIPT [userFunc = user_check_userid()] danke nochmal ; ) |



