Wenn Benutzer in Gruppe dann anzeigen, help! :)

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
RyoBerlin
Mitglied
Beiträge: 304
Registriert: 24.05.2004 14:11
Wohnort: Berlin

Beitrag von RyoBerlin »

So ich sitz grad dranne.

Steig leider nicht hinter.

Also ich habe die obigen änderungen in der Functions.php vorgenommen und auch keine Fehlermeldung.

Jetzt grübel ich wie ich es in die memberlist.php einbaue dafür kopiere ich gleich dein letztes post mal rein aber die frage wie man es in die HTML einbaut ist mir noch ein rätsel.

für XYZ müste ja ne Variable rein?

Code: Alles auswählen

<!-- IF S_USER_{?????}_IS_IN_GROUP --> 
so hab nen bisschen rumgefummelt...

also wenn ich
'S_USER_XYZ_IS_IN_GROUP' => $is_in_group,
in die functions mache und damit aufruge isses auch wieder so das des bild generell angezeigt wird.

setze ich es in die memberslist passiert garnichts hmmm... ich tüftel noch bssichen
--------

Nach über einer stunde muss ich erstmal passen.
Glaube nichts auf bloßes Hörensagen hin; glaube nicht an Überlieferungen, weil sie alt sind.
(Buddha, 553-483 v.Chr.)
Eomund
Mitglied
Beiträge: 2
Registriert: 28.11.2007 22:29

Beitrag von Eomund »

Hi!

ich habe ebenfalls ein Problem mit der Funktion get_group_auth().

Ich möchte eine Seite mit verschiedenen Bildern zum Forum hinzufügen, wobei bestimmte Gruppen nur bestimmt Fotoalben zu sehen bekommen sollen.

Ich habe dafür, wie in http://www.phpbb.de/viewtopic.php?t=151304 beschrieben, die Funktion get_group_auth in die functions.php integriert.
Dort prüfe ich dann auf drei Gruppen. Das Ergebnis weise ich dann Variablen im template zu.

Aus irgendeinem Grund wird den Variablen $is_in_group9, $is_in_group7 und $is_in_group8 kein TRUE bzw. FALSE zugewiesen und ich habe schon alles versucht, um rauszufinden, woran das liegen könnte...


Das ist der code in der functions.php innerhalb von page_header()

Code: Alles auswählen

	
...
// Which timezone?
	$tz = ($user->data['user_id'] != ANONYMOUS) ? strval(doubleval($user->data['user_timezone'])) : strval(doubleval($config['board_timezone']));

// Edit--------------------------------	
	/**
	* 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;
	}
	
	$is_in_group9 = get_group_auth(9);
	
	$is_in_group7 = get_group_auth(7);
	
	$is_in_group9 = get_group_auth(8);
// Edit--------------------------------
	
	// The following assigns all _common_ variables that may be used at any point in a template.
	$template->assign_vars(array(
	// Edit--------------------------------		
		'IS_IN_GROUP9'					=> $is_in_group9,
		'IS_IN_GROUP7' 			              => $is_in_group7,
		'IS_IN_GROUP8'					=> $is_in_group8,
	// Edit--------------------------------
...
Und das ist meine alben.php, die dann die Seite erzeugen soll...

Code: Alles auswählen

?php

// Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Session auslesen und Benutzer-Informationen laden
$user->session_begin();
$user->setup();
$auth->acl($user->data);

if ($user->data['user_id'] == ANONYMOUS)
{
   login_box();
}

// Header und Titel der Seite
page_header('Bilder');

// Angabe eurer Content-Seite
$template->set_filenames(array(
   'body' => 'alben_body.html')
);

// Footer
page_footer();

?>
Und das die vorläufige alben_body.html

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->

<h2>Bilder</h2>

Diese Bildergalerien stehen zur Auswahl:
<br><br>

<!-- IF IS_IN_GROUP9 -->
<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <div class="content" style="height: 700px;">
      <h2>Gruppe9</h2>
     		
   </div>
   <span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->

<!-- IF IS_IN_GROUP7 -->
<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>
   	<div class="content" style="height: 240px">
      <h2>Grupp7</h2>
   		
    </div>  	
   <span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->

<!-- IF IS_IN_GROUP8 -->
<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <div class="content" style="height: 1392px">
      <h2>Gruppe8</h2>
      	
   </div>
   <span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->


<!-- INCLUDE overall_footer.html -->
Wäre klasse, wenn mir jemand weiterhelfen könnte, ich weiß langsam echt nicht mehr weiter... :cry:
Eomund
Mitglied
Beiträge: 2
Registriert: 28.11.2007 22:29

Beitrag von Eomund »

Ich habe jetzt noch mal ein wenig getestet und herausgefunden, das die Funktion bei den Zahlen 2, 4, 5, 9 immer TRUE zurückgibt, und das bei allen Usern...kann mir das einfach nicht erklären...
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“