Seite 2 von 3

Verfasst: 12.12.2002 20:20
von caipirinha
war im timeout, war mein posting

Verfasst: 18.12.2002 02:00
von caipirinha
kann mir jemand helfen, oder ist meine anfrage vielleicht doch zu aufwendig?

Verfasst: 19.12.2002 16:34
von saerdnaer
öffne die includes/functions.php und füge vor ?> folgende funktion ein:

Code: Alles auswählen

function group_member($userdata, $group_id)
{
	global $db;
        if ( !$userdata['session_logged_in'] )
        {
        	return false;
        }
        $sql = "SELECT count(*) FROM " . USER_GROUP_TABLE . " WHERE user_id = '" . $userdata['user_id'] . "' AND group_id = '$group_id'";
        if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not get bwc auth', '', __LINE__, __FILE__, $sql);
	}

	$row = $db->sql_fetchrow($result);
	if ( $row['num'] > 0 )
        {
        	return true;
        }
        return false;
}
dann brauch ich noch dem html-code aus deiner overall-header.tpl in dem die links angezeigt werden.... markiere bitte die links frabig die nur für die mitglieder der einzelnen gruppen angezeigt werden sollen...

ah

Verfasst: 19.12.2002 23:25
von caipirinha
hi saerdnaer!

danke für deine antwort.
es ist der BMan1Blue Style
hier auszug aus der overall_header.tpl

Code: Alles auswählen

                <td class="mainmenu" align="center" width="11.1%" style="cursor:hand" onMouseover="this.style.backgroundColor='#A9A9A9'" onMouseout="this.style.backgroundColor=''" onClick="window.location.href='{U_REGISTER}'"><a href="{U_REGISTER}" class="mainmenu">Register</a></td>
              <!-- END switch_user_logged_out -->
              <!-- BEGIN switch_user_logged_in -->
                <td class="mainmenu" align="center" width="11.1%"><span class="mainmenu">Register</span></td>
              <!-- END switch_user_logged_in -->
              <td class="mainmenu" align="center" width="11.1%" style="cursor:hand" onMouseover="this.style.backgroundColor='#A9A9A9'" onMouseout="this.style.backgroundColor=''" onClick="window.location.href='{U_LOGIN_LOGOUT}'"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">
                <!-- BEGIN switch_user_logged_out -->
	           Login</a></td>
	        <!-- END switch_user_logged_out -->
	        <!-- BEGIN switch_user_logged_in -->
	           Logout</a></td>
                <!-- END switch_user_logged_in -->
            </tr>
          </table></td>
        </tr>
    </table>
<br />

<table width="100%" align="center">
<tr>
<td width="50%" align="center">HIER STEHT DER CODE FÜR DIE XGROUP</td>
<td width="50%" align="right">
<!-- BEGIN gelber_chat_switch -->
<a href="http://hexenzauber.mainchat.de/" target="_blank">
<IMG SRC="http://hexenzauber.mainchat.de/userinfo.php3?null=j&hrot=0&hgruen=0&hblau=0&vrot=255&vgruen=185 &vblau=3&size=14&text=user+online+im+gelben+chat" border=0></a>
<!-- END gelber_chat_switch -->
</td>
</tr>
</table> 
der code/link soll stehen in der 11. zeile von unten und soll ähnlich aussehen, wie der darunter liegende code.
sorry, mit dem highlighten hats nicht funktioniert.

der darunterliegende code ist eine umbenannte abfrage "user_logged_in".
dieser link soll von den registrierten sichtbar sein (und ist es auch).
dieser link sieht im moment so aus
http://www.hexenzauber.info/boardpic5.jpg

danke dir

Verfasst: 20.12.2002 18:04
von saerdnaer
okay mach für den neuen code ne zusätzliche abfrage in die overall_header.tpl

dann öffne die page header und suchst nach folgendem:

Code: Alles auswählen

header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
davor einfügen

Code: Alles auswählen

if ( $userdata['session_logged_in'] && group_member($userdata, 1234)
{
	$template->assign_block_vars('switch_name_blblablalbla', array());
}
das switch_name_blblablalbla musst du durch den namen der abfrage und das 1234 durch die gruppen_id der entsprechenden gruppe ersetzen...

ah

Verfasst: 20.12.2002 19:13
von caipirinha
sag mir bitte noch, die gruppen ID, ist das der gruppenname oder ist das der numerischer wert aus der datenbank?

und noch eine frage:
falls ich statt des links eine PHP datei einbinden will (ev. ein I-Frame erstellen), siehst du ein problem?

Verfasst: 21.12.2002 21:05
von caipirinha
hi saerdnaer!

nochmals danke für den code.
habe es eingebaut, eine klammer ergänzt (parse error), doch der TESTLINK wird nicht angezeigt.
die eingetragene group_id 20 ist aus der datenbank und die gruppenmitgliedschaft in der gruppe eingetragen.

hier sind die codes, vielleicht ist irgendwo ein kleiner fisch.
sehe es dir bitte mal kurz an.

danke dir

functions.php

Code: Alles auswählen

//
//BEGINN Funktion gruppenlink
//
function group_member($userdata, $group_id) 
{ 
   global $db; 
        if ( !$userdata['session_logged_in'] ) 
        { 
           return false; 
        } 
        $sql = "SELECT count(*) FROM " . USER_GROUP_TABLE . " WHERE user_id = '" . $userdata['user_id'] . "' AND group_id = '$group_id'"; 
        if( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(GENERAL_ERROR, 'Could not get bwc auth', '', __LINE__, __FILE__, $sql); 
   } 

   $row = $db->sql_fetchrow($result); 
   if ( $Row['num'] > 0 ) 
        { 
           return true; 
        } 
        return false; 
}
//
//ENDE Funktion Gruppenlink



page_header.php

Code: Alles auswählen

// BEGIN Switch Group Link
//
if ( $userdata['session_logged_in'] && group_member($userdata, 20) ) 
{ 
   $template->assign_block_vars('group_link_switch', array()); 
}
//
// ENDE Switch Group Link

header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');

$template->pparse('overall_header');

?>


overall_header.tpl

Code: Alles auswählen

<table width="100%" align="center">
<tr>
<td width="50%" align="center">
<!-- BEGIN group_link_switch -->
<a href="http://www.google.com" target="_blank">TESTLINK</a>
<!-- END group_link_switch -->
</td>
<td width="50%" align="right">
<!-- BEGIN gelber_chat_switch -->
<a href="http://hexenzauber.mainchat.de/" target="_blank">
<IMG SRC="http://hexenzauber.mainchat.de/userinfo.php3?null=j&hrot=0&hgruen=0&hblau=0&vrot=255&vgruen=185 &vblau=3&size=14&text=user+online+im+gelben+chat" border=0></a>
<!-- END gelber_chat_switch -->
</td>
</tr>
</table>
[/b]

Verfasst: 22.12.2002 19:56
von saerdnaer
ach mit hab ich doch glatt nen fehler gemacht...
suchen in der functions.php nach folgendem:

Code: Alles auswählen

if ( $Row['num'] > 0 ) 
und mach das R klein....

Verfasst: 23.12.2002 00:03
von caipirinha
hi saerdnaer!

NOPE, geht trotzdem nicht.
sag, kann es sein, dass der fehler in der page_header.php liegt?

Code: Alles auswählen

if ( $userdata['session_logged_in'] && group_member($userdata, 20) )
die gruppen ID ist laut tabelle richtig, doch kommt mir die syntax nicht vollständig vor.

frage:
könnte man nicht die gleiche abfrage verwenden, wie bei den gruppenforen?
bzw. wenn man es über user_level macht? allerdings habe ich noch nicht probiert, was insgesamt passiert, wenn mann user_level:id umstellt.

danke dir
robert

Verfasst: 23.12.2002 15:16
von saerdnaer
da hat sich noch einf fehler in die funktion eingeschlichen suche nach folgendem

Code: Alles auswählen

count(*)
und füge danach

Code: Alles auswählen

AS num 
ein...

ah