Automatisch wechselnde Styles

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
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.
Ruhrpottler
Mitglied
Beiträge: 317
Registriert: 16.05.2004 12:08

Automatisch wechselnde Styles

Beitrag von Ruhrpottler »

Hallo Leute,

ich betreibe ein Stadtforum meiner Heimatstadt. Als Banner fungiert eine Art "Skyline" dieser Stadt mit einem Schriftzug.

Jetzt hatte ich mir überlegt, dass es doch cool wäre tagsüber einen hellen Style mit der Skyline bei Tag zu verwenden und in den Abendstunden einen dunklen Style mit Skyline bei Nacht.
2 verschiedene Styles, inkl. Banner herzustellen ist ja nicht das Problem, aber gibt es so einen Mod der automatisch (zeitgesteuert) den Standardstyle ändert? Man könnte das natürlich immer von Hand umstellen, aber seien wir ehrlich ... das würd auf Dauer eh nicht funktionieren :wink:
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12248
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Automatisch wechselnde Styles

Beitrag von Mahony »

Hallo
Du könntes in eine Datei, die immer geladen wird (zum Beispiel in die index.php), folgendes schreiben

Code: Alles auswählen

if (date("H")>6 && date("H")<18){
    $sql = 'UPDATE ' . USERS_TABLE . '
            SET user_style = 2';
            $db->sql_query($sql);
            
    
        
            
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET config_value = 2
    WHERE config_name = "default_style"';
            $db->sql_query($sql);
            
            
    
    $sql = 'UPDATE ' . CONFIG_TABLE . '
             SET config_value = 1
    WHERE config_name = "override_user_style"';
            $db->sql_query($sql);
        
            
            
                    
  } else {
    $sql = 'UPDATE ' . USERS_TABLE . '
            SET user_style = 1';
            $db->sql_query($sql);
            
            
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET `config_value` = 1
    WHERE config_name = "default_style"';
            $db->sql_query($sql);
            
    $sql = 'UPDATE ' . CONFIG_TABLE . '
             SET config_value = 1
    WHERE config_name = "override_user_style"';
            $db->sql_query($sql);        
                    
  } 
In dem Beispiel hast du von 6 bis 18Uhr den Style 2 und von 18 bis 6Uhr den Style 1


Hier noch einmal die Beschreibung/Bedeutung der einzelnen SQL-Befehle
Mahony hat geschrieben: Schau in der Tabelle phpbb_styles_theme nach, welche ID dein Style hat und verwende folgende Mysql - Befehle zum umstellen des Styles für alle User auf den Standard-Style
Style für alle User umstellen

Code: Alles auswählen

UPDATE `phpbb_users` SET `user_style` = 'x';
x entspricht der theme_id deines Standard-Styles.

Den default_style einstellen.

Code: Alles auswählen

UPDATE `phpbb_config`
SET `config_value` = x
WHERE `config_name` = 'default_style';
x entspricht der theme_id deines Standard-Styles.

Code: Alles auswählen

UPDATE `phpbb_config`
SET `config_value` = 1
WHERE `config_name` = 'override_user_style';
1 bedeutet hier - überschreibe die Einstellungen der User mit dem Wert der in default_style festgelegt wurde (aktiviert also das Überschreiben der Einstellungen deiner User - entspricht also der Einstellung im ACP Benutzer-Style überschreiben: Ja).
Edit: Es war noch ein Fehler im letzten SQL-Befehl. Der Fehler wurde beseitigt und das Snippet sollte jetzt funktionieren.
Übrigens sollte man den Code in die common.php einfügen und zwar vor ?>



Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Ruhrpottler
Mitglied
Beiträge: 317
Registriert: 16.05.2004 12:08

Re: Automatisch wechselnde Styles

Beitrag von Ruhrpottler »

Das klingt doch schonmal super! Und WO ich das in der Datei einfüge ist egal?
Werde ich direkt mal testen!! Vielen Dank!!!


P.S.: Hatte demnächst vor noch n Portal einzubauen. Müsste ich das selbe auch in die Portal.php (falls es die gibt) eintragen oder geht das trotzdem?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12248
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Automatisch wechselnde Styles

Beitrag von Mahony »

Hallo
Ruhrpottler hat geschrieben:Das klingt doch schonmal super! Und WO ich das in der Datei einfüge ist egal?
Werde ich direkt mal testen!! Vielen Dank!!!

Am besten fügst du den code in der index.php vor

Code: Alles auswählen

// Output page
ein.
Ruhrpottler hat geschrieben:P.S.: Hatte demnächst vor noch n Portal einzubauen. Müsste ich das selbe auch in die Portal.php (falls es die gibt) eintragen oder geht das trotzdem?
Es reicht den code in eine Datei einzufügen, die möglichst immer geladen wird. Sobald der erste User die Seite aufruft, in der der Code enthalten ist, wird der Style umgestellt.

Edit: Wie ich bereits oben im Edit geschrieben habe, sollte man den Code in die common.php einfügen und zwar vor ?>
Daduch wird immer Zeitabhängig geprüft, ob Style x oder Style y geladen werden soll. Der Code muss nur einmalig in der common.php eingefügt werden (egal ob noch ein Portal dazu kommt oder nicht).


Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Automatisch wechselnde Styles

Beitrag von 4seven »

und mal wieder ein geniales snippet..

big thx :wink:
Ruhrpottler
Mitglied
Beiträge: 317
Registriert: 16.05.2004 12:08

Re: Automatisch wechselnde Styles

Beitrag von Ruhrpottler »

So, bin jetzt mit nem neuen Forum online gegangen und hab auch dieses Snippet eingebaut.
Fazit: Funktioniert NUR wenn ich im ACP unter Serverlast die Funktion "Rekompilieren veralteter Style Komponenten" aktiviere. Hatte das zwecks Styles-testen eh seit ein paar Tagen an, aber wegen der Serverlast hab ich es wieder ausgeschaltet als wir heute nacht mit dem neuen Forum online gegangen sind. Um 7 Uhr hätte er den Style wechseln sollen. Tat er nicht. Als ich die o.g. Funktion wieder aktiviert hab, war sofort der neue Style da.

Frage: Ist die Serverlast mit der Funktion zu hoch bei ~200 Usern?

Oder gibts noch ne andere Möglichkeit?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12248
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Automatisch wechselnde Styles

Beitrag von Mahony »

Hallo
Das Snippet sollte auch ohne aktiviertes Rekompilieren veralteter Style Komponenten funktionieren. Zumindest hat es das bei meinem Test.
Übrigens sollte man den Code in die common.php einfügen und zwar vor ?>

Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Ruhrpottler
Mitglied
Beiträge: 317
Registriert: 16.05.2004 12:08

Re: Automatisch wechselnde Styles

Beitrag von Ruhrpottler »

Komisch. Bei mir gings nicht!

Werd dann heut Abend nochmal testen wenn der Style wieder zurückwechselt. In die Common.php hab ichs übrigens auch eingefügt.
DerPate
Mitglied
Beiträge: 157
Registriert: 12.06.2003 22:49

Re: Automatisch wechselnde Styles

Beitrag von DerPate »

Abend,

hier noch ne etwas kürzere Variante ... ebenfalls am Ende der common.php vorm ?> einzufügen:

Code: Alles auswählen

$style_day = 2;
$style_night = 1;

if ((date('H') >= 6 && date('H') <= 18) && $config['default_style'] != $style_day)
{
   set_config('default_style', $style_day);
}
elseif ((date('H') < 6 || date('H') > 18) && $config['default_style'] != $style_night)
{
   set_config('default_style', $style_night);
}
Anm: "Benutzer-Style überschreiben" muss aktiviert sein.

Ciao
Ruhrpottler
Mitglied
Beiträge: 317
Registriert: 16.05.2004 12:08

Re: Automatisch wechselnde Styles

Beitrag von Ruhrpottler »

Habs jetzt nochmal getestet. Es halt doch nichts zu tun mit dem "Rekompilieren veralteter ....", sondern mit dem Cache. Grad wieder festgestellt, dass er den Style heute morgen um 7 nicht gewechselt hat, dann den Cache geleert und schon war der neue Style da. :-?
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“