Seite 2 von 8

Verfasst: 02.10.2007 15:58
von RyoBerlin
Berliner Schildkroete hat geschrieben:versuch mal das:
es liegt an:

lösche ihn und füge nach:

danach einfügen:

EDIT: DANN IST DER CODE WIRKUNGSLOS :cry:
Jetzt versteh ich garnicht mehr *G*

Verfasst: 02.10.2007 20:29
von Dr.Death
Wenn man dem Template durch:

Code: Alles auswählen

'S_IN_GROUP'               => true,
mitteilt, das S_IN_GROUP = true ist, dann ist es immer der Fall ;-)

Du musst Dir für diesen Fall noch eine Hilfsvariable einbauen:

VOR der Templatezuwesiung machst Du noch das:

Code: Alles auswählen

// Die folgende Zahl ist die ID der Gruppe die Ihr prüfen möchtet 
$check_group = 18; 

// Ist der User, der diese PHP Datei aufgerufen hat, in der Gruppe mit der o.g. ID ?? 
$is_in_group = get_group_auth($check_group); 
 
Nun enthält die Variable $is_in_group den Staus false oder true.

Und weiter unten bei der Template Zuordnung machst Du nun das:

Code: Alles auswählen

'S_IN_GROUP'               => $is_in_group ,

Verfasst: 02.10.2007 23:05
von RyoBerlin
ich frag mich echt was falsch ist... muss das an eine bestimmte stelle in der functions.php gesetzt werden oder was?

habs kurz vorm ende ?> gesetzt und zwar das

Code: Alles auswählen

/**
* get_group_auth
*
* Get group auth status
* Returns TRUE if user_id is in $access_group
*/
function get_group_auth($access_group = 5)
{
   global $db, $user;

   
   $sql = 'SELECT g.group_id
      FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . ' ug
      WHERE g.group_id = ug.group_id
         AND ug.user_id = ' . $db->sql_escape($user->data['user_id']) . '
         AND ug.user_pending <> ' . TRUE . '
         AND g.group_id = ' . $db->sql_escape($access_group);
   $result = $db->sql_query($sql);

   $check_group_auth = $db->sql_affectedrows($result);
   $db->sql_freeresult($result);
   if ( $check_group_auth <> 0 )
   {
      return TRUE;
   }
   return FALSE;
}
// Die folgende Zahl ist die ID der Gruppe die Ihr prüfen möchtet
$check_group = 18;

// Ist der User, der diese PHP Datei aufgerufen hat, in der Gruppe mit der o.g. ID ??
$is_in_group = get_group_auth($check_group);

// Wenn der User in dieser Gruppe ist, liefert die Funktion den Wert TRUE zurück.
if ($is_in_group == true)
{
// The following assigns all _common_ variables that may be used at any point in a template.
   $template->assign_vars(array(
   'S_IN_GROUP'               => $is_in_group ,
}
dabei kam dann das raus
Parse error: syntax error, unexpected '}', expecting ')' in C:\Users\Ryo\Desktop\xampp-win32-1.6.3a\xampp\htdocs\TalkBerlin\backup\021007\includes\functions.php on line 4473

Verfasst: 02.10.2007 23:40
von nickvergessen

Code: Alles auswählen

   'S_IN_GROUP'               => $is_in_group ,
}
mit

Code: Alles auswählen

   'S_IN_GROUP'               => $is_in_group ,
));
}
ersetzen

Verfasst: 02.10.2007 23:45
von RyoBerlin
Danke aber dann kommt wieder

Code: Alles auswählen

Fatal error: Call to a member function sql_escape() on a non-object in C:\Users\Ryo\Desktop\xampp-win32-1.6.3a\xampp\htdocs\TalkBerlin\backup\021007\includes\functions.php on line 4448

[ungetestet]

Verfasst: 03.10.2007 11:26
von Berliner Schildkroete
suche:

Code: Alles auswählen

// The following assigns all _common_ variables that may be used at any point in a template.
	$template->assign_vars(array(
davor einfügen:

Code: Alles auswählen

// Die folgende Zahl ist die ID der Gruppe die Ihr prüfen möchtet
$check_group = 18;

// Ist der User, der diese PHP Datei aufgerufen hat, in der Gruppe mit der o.g. ID ??
$is_in_group = get_group_auth($check_group);
danach einfügen:

Code: Alles auswählen

'S_IN_GROUP'               => $is_in_group ,
Lösche:

Code: Alles auswählen

// Wenn der User in dieser Gruppe ist, liefert die Funktion den Wert TRUE zurück.
if ($is_in_group == true)
{
    // Teile dem Template System mit, das die Variable "S_IN_GROUP" den Wert TRUE bekommt
   $template->assign_var('S_IN_GROUP', true);
} 
dann sollte es eigentlich gehen...

EDIT: Code verbessert: Danke nickvergessen!

Re: [ungetestet]

Verfasst: 03.10.2007 11:27
von nickvergessen
danach einfügen:

Code: Alles auswählen

'S_IN_GROUP'               => $is_in_group ,
da war ein ' zuviel!

Verfasst: 03.10.2007 15:39
von RyoBerlin
Also wenn ich in der functions.php nach einem vorhanden code suche und es so mache wie du schriebst kommt

Code: Alles auswählen

Fatal error: Call to undefined function: get_group_auth() in functions.php on line 4125
(nebenbei bemerkt das zu löschende existiert garnicht in der unbearbeiteten functions...)

Und wenn ich es neu mache kommt.

Code: Alles auswählen

Parse error: syntax error, unexpected '}', expecting ')' in functions.php on line 4472
lösche ich das mit dem $template

dann habe ich

Code: Alles auswählen

Parse error: syntax error, unexpected T_DOUBLE_ARROW in functions.php on line 4467
ich kann gerne einem von euch beidem meine functions mal unbearbeitet zumailen falls ihrs an die richtige stelle bekommt also ich schaffs anscheinend nicht :(

Verfasst: 03.10.2007 15:48
von nickvergessen
zeig die datei mal her KB:81

Verfasst: 03.10.2007 15:50
von RyoBerlin
Naja hoffe da sind keine sensiblen daten drinne *G*

temporär zum download