Seite 2 von 3

Verfasst: 03.03.2003 12:10
von Dwing
SQRT, ja wenn Nachfrage besteht werde ich Ihn weiterentwickeln und 2.0.4 bzw. bald 2.0.5 tauglich machen.

Ich werd ihn dann komplett überarbeiten. :)

Verfasst: 08.03.2003 15:50
von helluvaguy
@ Dwing: Zunächst einmal möchte ich mich entschuldigen, dafür, dass ich Deinen Beitrag hier etwas "mißbrauche" :oops: , denn es geht nicht direkt um Deinen Mod, sondern um den hier erwähnten Mod Forum Style von http://metalcrypt.bravepages.com/#forumstyle. Solltest Du der Meinung ein, dass mein Anliegen hier unpassend ist, dann sag es bitte und ich mache eine neuen Post auf. Da jedoch hier schon von diesem Mod gesprochen wurde, dachte ich mir hier eher eine Antwort zu bekommen. Thx

Ich habe mir beide Mods ausführlich angesehen und mich letztendlich für den Forum Style Mod entschieden, da er mir die Möglichkeit bietet, mehr als zwei Styles in verschiedenen Foren zu nutzen.

Dieser Mod hat nun leider ein kleines Manko, dass ich aber nicht alleine beheben kann (Der Autor hat leider die Arbeit an diesem Mod eingetellt).

Bei diesem Mod ist es nun so, dass im ACP für jedes Forum eines der installierten Styles angegeben werden kann. Erfolgt keine Angabe, wird das Default Boardstyle abgefragt und angezeigt. Das Problem ist nun, dass dadurch die Usereinstellungen überschrieben werden; es wird nur der Index in der Usereinstellung angezeigt, geht man dann jedoch in eins der Foren "ohne besonderen Style", wird es im Default Boardstyle angezeigt.

Meine Frage ist nun, ob sich jemand netterweise mal den Code ansehen kann, um zu sagen, in welcher Weise er verändert werden müßte, um statt nach dem Default Boardstyle, nach dem Userstyle zu fragen, sofern einer gewählt wurde.

EDIT: Code durch Link ersetzt.

forum_style_mod.txt

Ich habe nun selber mich mal ein wenig an diesem Code versucht (ohne wirkliche PHP/SQL Kenntnisse, aber mit ein bischen Logik kommt man schon erstaunlich weit :P ) und etwas festgestellt:

Verändere ich den in der include/functions.php zu ersetzenden Code, auf folgende Weise, also $userdata['user_style'] statt $board_config['default_style']

Code: Alles auswählen

if (!empty($forum_id))
	{
		$sql = "SELECT forum_style
			FROM " . FORUMS_TABLE . "
			WHERE forum_id = $forum_id";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(CRITICAL_ERROR, 'Could not query database for forum info');
		}
		
		if ( !($row = $db->sql_fetchrow($result)) )
		{
			message_die(CRITICAL_ERROR, "Could not extract theme data for forum_id [$forum_id]");
		}

		if (!empty($row['forum_style']))
			$theme = setup_style($row['forum_style']);
		else
			$theme = setup_style($userdata['user_style']);
	}
	else
	{
		if ( !$board_config['override_user_style'] )
		{
			if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0 )
			{
				if ( $theme = setup_style($userdata['user_style']) )
				{
					return;
				}
			}
		}
	
		$theme = setup_style($board_config['default_style']);
	}
dann wird die Usereinstellung der registrierten User nicht mehr überschrieben (also eigentlich genau das was ich will), jedoch ist nun die Anzeige für anonyme User vollkommen irrational. Die mit eigenen Styles definierten Foren werden nun nicht mehr so angezeigt, sondern alle Foren werden plötzlich in subSilver dargestellt, obwohl es nirgends definiert wurde. Default Boardstyle ist subTrail und den speziellen Foren, sind auch andere Styles zugewiesen als subSilver. Ich versteh das leider nicht.
Ich wäre für jede Hilfe dankbar.

Verfasst: 09.03.2003 12:36
von saerdnaer
könntest du den code oben verlinken und könntest du bitte mal die komplette setup_style funktion posten bzw. wenn sie sehr groß ist verlinken...

ah

Verfasst: 09.03.2003 15:46
von helluvaguy
saerdnaer hat geschrieben:könntest du den code oben verlinken
Sorry für meine Platzverschwendung. :oops: Habe ich gemacht.
saerdnaer hat geschrieben:und könntest du bitte mal die komplette setup_style funktion posten bzw. wenn sie sehr groß ist verlinken...
Bei mir sieht der Teil der includes/functions.php, der die setup_style Funktion beinhaltet wie folgt aus:

setup_style_funktion.txt

Verfasst: 09.03.2003 20:18
von saerdnaer
danke... achja ich eigenlich meinte ich ja die funktion die devor steht...

ah

Verfasst: 09.03.2003 20:25
von helluvaguy
nun weiß ich nicht mehr so genau, was du meinst. von welcher funktion in welcher datei redest du denn genau? :o

Verfasst: 11.03.2003 15:45
von saerdnaer
okay dann ganz genau:
bitte poste die init_userprefs funktion aus der functions.php ;-) (evl. als link...)

ah

Verfasst: 11.03.2003 15:53
von helluvaguy
Bitteschön, hier sind die init_userprefs_funktion & setup_style_funktion.txt.

Danke schon mal für Deine Mühe

Verfasst: 11.03.2003 16:19
von saerdnaer
irgedwie hast du das hier garnicht gemacht:

Code: Alles auswählen

# 
#-----[ OPEN FILE:  phpBB2/includes/functions.php ]------------------------------------------ 
#  
# 
#-----[ FIND 238]------------------------------------------ 
# 
   if ( !$board_config['override_user_style'] ) 
   { 
      if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0 ) 
      { 
         if ( $theme = setup_style($userdata['user_style']) ) 
         { 
            return; 
         } 
      } 
   } 

   $theme = setup_style($board_config['default_style']); 


# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

   if (!empty($forum_id)) 
   { 
      $sql = "SELECT forum_style 
         FROM " . FORUMS_TABLE . " 
         WHERE forum_id = $forum_id"; 
      if ( !($result = $db->sql_query($sql)) ) 
      { 
         message_die(CRITICAL_ERROR, 'Could not query database for forum info'); 
      } 
       
      if ( !($row = $db->sql_fetchrow($result)) ) 
      { 
         message_die(CRITICAL_ERROR, "Could not extract theme data for forum_id [$forum_id]"); 
      } 

      if (!empty($row['forum_style'])) 
         $theme = setup_style($row['forum_style']); 
      else 
         $theme = setup_style($board_config['default_style']); 
   } 
   else 
   { 
      if ( !$board_config['override_user_style'] ) 
      { 
         if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0 ) 
         { 
            if ( $theme = setup_style($userdata['user_style']) ) 
            { 
               return; 
            } 
         } 
      } 
    
      $theme = setup_style($board_config['default_style']); 
   }

ich Idiot ich...

Verfasst: 11.03.2003 17:19
von helluvaguy
Sorry, aber manchmal sollte ich mich wirklich schlagen... :x :x :x
Das war aus dem falschen Forum...

Also hier nochmal mit dem richtigen Auszug init_userprefs_funktion & setup_style_funktion.txt