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

Re: Automatisch wechselnde Styles

Beitrag von Ruhrpottler »

Also die Wechsel funktionieren GRUNDSÄTZLICH nur nach dem Löschen des Caches.
Gibt es denn vielleicht ne Möglichkeit auch den Cache zeitlich automatisch löschen zu lassen? ;)
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:Also die Wechsel funktionieren GRUNDSÄTZLICH nur nach dem Löschen des Caches.
Gibt es denn vielleicht ne Möglichkeit auch den Cache zeitlich automatisch löschen zu lassen? ;)
Das ist Quatsch - Das wechseln des Styles funktioniert natürlich ohne löschen des caches. Wäre dies nicht so, dann könnte kein User seinen Style alleine wechseln.
Du solltest mal deine Browser-Einstellungen überprüfen.

Internet Explorer 8
Extras - Internetoptionen - Browserverlauf - Einstellungen - Neuere Versionen der gespeicherten Seiten suchen - Bei jedem Zugriff auf die Webseite <-- dort anklicken und bestätigen.



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 »

Hm und warum sagen mir dann auch alle Mods im Forum (immerhin 6 Stück), dass der Stylewechsel nicht klappt, bis ich auf den Cache löschen Button geklickt hab.
Ich weiß ja nicht ...vielleicht hab ich auch im Code was falsch gemacht (obwohl man da ja nur die Zahlen anpassen musste, weil meine Styles eine andere ID haben).

Code: Alles auswählen

if (date("H")>7 && date("H")<21){
    $sql = 'UPDATE ' . USERS_TABLE . '
            SET user_style = 6';
            $db->sql_query($sql);
           
   
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET config_value = 6
    WHERE config_name = "default_style"';
            $db->sql_query($sql);
           
           
   
    $sql = 'UPDATE ' . CONFIG_TABLE . '
             [color=#FF0000]SET config_value = 6[/color]
    WHERE config_name = "override_user_style"';
            $db->sql_query($sql);
       
           
           
                   
  } else {
    $sql = 'UPDATE ' . USERS_TABLE . '
            SET user_style = 3';
            $db->sql_query($sql);
           
           
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET `config_value` = 3
    WHERE config_name = "default_style"';
            $db->sql_query($sql);
           
    $sql = 'UPDATE ' . CONFIG_TABLE . '
             SET config_value = 3
    WHERE config_name = "override_user_style"';
            $db->sql_query($sql);       
                   
  } 
Der Style der tagsüber genutzt wird, hat die ID 6 und der für Nachts hat die ID 3. Die eingefährbte Zeile habe ich gestern mal testweise geändert. Dort stand vorher die 3, statt 6.
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
Also erstens sind deine Abfragen falsch statt

Code: Alles auswählen

if (date("H")>7 && date("H")<21){
    $sql = 'UPDATE ' . USERS_TABLE . '
            SET user_style = 6';
            $db->sql_query($sql);
           
   
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET config_value = 6
    WHERE config_name = "default_style"';
            $db->sql_query($sql);
           
           
   
    $sql = 'UPDATE ' . CONFIG_TABLE . '
             SET config_value = 6
    WHERE config_name = "override_user_style"';
            $db->sql_query($sql);
       
           
           
                   
  } else {
    $sql = 'UPDATE ' . USERS_TABLE . '
            SET user_style = 3';
            $db->sql_query($sql);
           
           
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET `config_value` = 3
    WHERE config_name = "default_style"';
            $db->sql_query($sql);
           
    $sql = 'UPDATE ' . CONFIG_TABLE . '
             SET config_value = 3
    WHERE config_name = "override_user_style"';
            $db->sql_query($sql);       
                   
  }  

müsste es

Code: Alles auswählen

if (date("H")>7 && date("H")<21){
    $sql = 'UPDATE ' . USERS_TABLE . '
            SET user_style = 6';
            $db->sql_query($sql);
           
   
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET config_value = 6
    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 = 3';
            $db->sql_query($sql);
           
           
    $sql = 'UPDATE ' . CONFIG_TABLE . '
            SET `config_value` = 3
    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);       
                   
  }  
heißen.

Zweitens, solltest du besser das Snippet von DerPate verwenden, da man damit eine Menge unnötiger SQL-Abfragen einspart.

Das sollte dann für dich so aussehen:

Code: Alles auswählen

$style_day = 6;
$style_night = 3;

if ((date('H') >= 7 && date('H') <= 21) && $config['default_style'] != $style_day)
{
   set_config('default_style', $style_day);
}
elseif ((date('H') < 7 || date('H') > 21) && $config['default_style'] != $style_night)
{
   set_config('default_style', $style_night);
} 
Anm: "Benutzer-Style überschreiben" muss bei dieser Variante aktiviert sein. Allerdings spart man die SQL-Abfragen bei jedem Seitenaufruf ein.


Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Antworten

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