Seite 1 von 1

CH Mod und Sommerzeit

Verfasst: 26.03.2006 14:31
von Einste1n
Also eigentlich dachte ich, das dieses Problem der vergangenheit angehört da ja der CH Mod diese Einstellung "Sommerzeit" von Haus aus mit bringt aber egal was ich dort eintrage ... er geht eine Stunde zurück!
Diese Funktion ist absolut wirkungslos ... hat jemand ne Idee wie man das zum laufen bringt ?
mfg
Einste1n

Verfasst: 26.03.2006 15:44
von Mahony
Hallo
Nimm einfach UTC+2

Grüße: Mahony

Verfasst: 26.03.2006 16:08
von Einste1n
ne, das wäre flickwerk und sowas mache ich net
außerdem wüßte ich nicht, wie ich das für alle User aufeinmal machen könnte ;-)

Verfasst: 26.03.2006 17:39
von Any
Huhu!

Das würde mich auch interessieren, sag mal bitte Bescheid wenn du ne Lösung hast ;)

Verfasst: 28.03.2006 22:39
von Any
gibts keine Lösung :-?

Verfasst: 29.03.2006 23:02
von Einste1n
hmpf ... das ist jetzt ganz toll :(
weder der phpbb2 Fix funktioniert noch, noch der ehemalige CH Mod fix ... Forum geht nach wie vor eine stunde zurück.
Nun bin ich gefrustet :(

Verfasst: 30.03.2006 23:38
von Einste1n
ok also hab ne Teillösung im Entwicklerforum gefunden für den CH Mod

Ersetze in includes/class_user.php die Funktion dst_in_action() mit :

Code: Alles auswählen

   function dst_in_action($date) 
   { 
      return intval($this->data['user_dst']); 
   } 
Damit kann man dann per Hand im Profil einstellen, das Sommerzeit ist.
Allerdings suche ich noch ne Automatische Lösung oder zumindest ne Lösung wie ich alle User aufeinmal umstellen kann.

Verfasst: 01.04.2006 18:26
von Amaya
Also alle User kann man in der Datenbank umstellen, mit folgendem Befehl: UPDATE phpbb_users SET user_dst = 1

Zusammen mit folgender Änderung in der includes/class_user.php funktioniert es dann bei mir, es wird sich dann zeigen, wie es bei der Umstellung auf Winterzeit wird. Ahja ich denke es wäre wohl auch gut den Standartwert bei user_dst auf 1 zu setzten, für neu registrierte User, falls er das noch nicht ist.

Suche:

Code: Alles auswählen

// dst apply between the first sunday of April, 2 am, and last sunday of October, 1h59 am (http://www.nist.gov/public_affairs/faqs/qdaylite.htm) 
Den nachfolgenden Teil damit ersetzten:

Code: Alles auswählen

function dst_in_action($date) 
   { 
      static $years; 

      $year = date('Y', $date); 
      $month = date('m', $date); 
      $day = date('d', $date); 
      $hour = date('His', $date); 
      if ( ($month == 03) || ($month == 10) ) 
      { 
         // März 
         if ( $month == 03 ) 
         { 
            if ( isset($years[$year]) && isset($years[$year]['f']) ) 
            { 
               $last_sunday = $years[$year]['f']; 
            } 
            else 
            { 
               $day_of_week = date('w', mktime(2, 0, 0, $month, 1, $year)); 
               $last_sunday = ($day_of_week == 0) ? 1 : 8 - $day_of_week; 
               $years[$year]['f'] = $last_sunday; 
            } 
            return ($day == $last_sunday) ? ($hour >= 020000) : ($day > $last_sunday); 
         } 

         // October 
         else 
         { 
            if ( isset($years[$year]) && isset($years[$year]['t']) ) 
            { 
               $last_sunday = $years[$year]['t']; 
            } 
            else 
            { 
               $last_sunday = 31 - date('w', mktime(2, 0, 0, $month, 31, $year)); 
               $years[$year]['t'] = $last_sunday; 
            } 
            return ($day == $last_sunday) ? ($hour < 020000) : ($day < $last_sunday); 
         } 
      } 
      else 
      { 
         return ($month > 03) && ($month < 10); 
      } 
   }
Habe das in vier Foren getestet, wo es läuft, bei Any klappt es noch nicht, aber daran arbeiten wir ja noch ;-)

Verfasst: 13.04.2006 11:17
von herr_frodo
gibt es mittlerweile neuigkeiten?