• Willkommen, Gast!
  • Samstag, 31. Oktober 2020, 09:13:36
Position: Home » Boardsolution » Boardsolution v1.4x » Sommerzeitfehler im Kalender?
Antworten
Thema: Sommerzeitfehler im Kalender? [Seite 1 2 ]

Kein neuer Beitrag Noeck , 08.01.2010, 13:11
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 08.01.2010, 09:53
 

Forum-Gott mit 20 Punkte, 16 Beiträge
Hallo Nils

Herzlichen Dank für die super Arbeit!!!

Allerdings ein kleines Problem habe ich. Wenn ich im voraus Termine mit Zeitangaben für das ganze
Jahr erfasse, so wird mir während der Sommerzeit eine Stunde dazu gezählt und es wird 20:00 Uhr
anstelle von 19:00 Uhr angezeigt.
Das ist von mir aus gesehen nicht gut, da wenn ein Benutzer diese Zeiten heute schon in seine
Agenda einträgt, erscheint er im Sommer eine Stunde zu spät an den Termin. Die Termin-Zeiten
sollten nicht verändert werden, damit sie so angezeigt werden wie ich sie erfasst habe. Gibt es
dafür einen Flick?

Meine Version V1.41

Freundlicher Gruss
Nöck

Dieser Beitrag wurde insgesamt 2 mal editiert. Das letzte Mal 08.01.2010, 14:34 von Noeck.

 
Kein neuer Beitrag Nils , 08.01.2010, 19:48
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

das stimmt, bei Terminen sollte man besser das eingegebene Datum anzeigen. Bisher wird
grundsätzlich Sommer-/Winterzeit abhängig von dem anzuzeigenen Datum berücksichtigt (und das auch
je nach dem wann in der Zeitzone des Benutzers Sommerzeit ist).
Leider kann man das nicht mal eben ändern, da es doch recht viele Stellen sind. Aber ich hoffe mal,
dass es bei dir nur um die Termin-Details im Kalender geht. Öffne mal die
front/module/calendar/sub_eventdetails.php und änder die Zeile 100:
PHP:
1
$event_end = FWS_Date::get_date($event_data['event_end']);

in:
PHP:
1
$event_end = FWS_Date::get_date($this->getOrgDate($event_data['event_end']));

Die gleiche Änderung muss in den Zeilen 103, 105 und 116 auch noch durchgeführt werden.
Dann noch unter Zeile 149:
PHP:
1
}

folgendes einfügen:
PHP:
1
2
3
4
  private function getOrgDate($timestamp)
  {
    return date('I',$timestamp) == 1 ? $timestamp - 3600 : $timestamp;
  }

Anschließend wird Sommer- und Winterzeit dort nicht mehr berücksichtigt und das eingegebene
angezeigt (jedoch dennoch in der Zeitzone des Benutzers).

Danke für den Hinweis! Ich benutz die Funktion leider gar nicht, daher ist mir das noch nie
aufgefallen, dass das etwas ungünstig so ist :/

mfg Nils

 
Kein neuer Beitrag Noeck , 09.01.2010, 19:35
Beitrag #3   

IP: n/a
Rang: * * * * * * *
Registrierung: 08.01.2010, 09:53
 

Forum-Gott mit 20 Punkte, 16 Beiträge
Hallo Nils

Danke für die schnelle Antwort!

Leider habe ich immer noch das gleiche Problem, obwohl mein Code nun so aussieht:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        $event_end = FWS_Date::get_date($this->getOrgDate($event_data['event_end']));
    
    if($event_data['timeout'] == 0)
      $timeout = FWS_Date::get_date($this->getOrgDate($event_data['event_begin']));
    else
      $timeout = FWS_Date::get_date($this->getOrgDate($event_data['timeout']));
    
    $bbcode = new BS_BBCode_Parser(
      $event_data['description'],'desc',true,true
    );
    $text = $bbcode->get_message_for_output();
    
    $tpl->add_variables(array(
      'event_title' => $event_data['event_title'],
      'location' => $event_data['event_location'] ?
        $event_data['event_location'] : $locale->lang('notavailable'),
      'event_begin' => FWS_Date::get_date($this->getOrgDate($event_data['event_begin'])),


und

PHP:
1
2
3
4
 private function getOrgDate($timestamp)
  {
    return date('I',$timestamp) == 1 ? $timestamp - 3600 : $timestamp;
  }


****************

Habe auch noch eine andere Frage....

Ich habe ein Forum TERMINE angelegt, in welchem ich alle Termine für das ganze Jahr mit dem Button
"Neuer Termin" eingetragen habe. Die sind nun im Forum TERMINE und im Kalender sichtbar. Wenn ich
aber nun einen neuen Termin dazwischen einfügen muss, so wird der immer an erster (oder letzer, je
nach Einstellung) angezeigt. Ist es möglich, dass der neue Termin in der richtigen Reihenfolge
(nach Termin-Datum) eingefügt wird, und nicht einfach an erster Stelle? So hätte man alle Termine
schön nach Kalender-Datum sortiert im Forum TERMINE dargestellt. Im Kalender selber wird es schon
richtig dargestellt, aber für den Benutzer wäre es schöner wenn er alle Termine untereinander im
Forum hätte.
Es wäre schön, wenn ich beim erstellen eines neuen Forum auswählen könnte, nach was sortiert werden
soll. Bei einem "normalen" Forum wie bis anhin nach den neusten beiträgen, aber in einem "Termin"
Forum nach Datum.

Beispiel:
Bestehende Termine
- 20.04.2010
- 30.04.2010
- 02.05.2010

Nun kommt der neue Termin 25.04.2010 dazu.
- 25.04.2010
- 20.04.2010
- 30.04.2010
- 02.05.2010


Schöner wäre:
- 20.04.2010
- 25.04.2010
- 30.04.2010
- 02.05.2010


Ich hoffe ich hab es nicht zu kompliziert erklärt!! Sonst bitte ich um Entschuldigung!

Gruss Nöck


Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte Mal 09.01.2010, 20:10 von Nils.

 
Kein neuer Beitrag Nils , 09.01.2010, 20:13
Beitrag #4   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

bitte das nächste Mal Code-Tags verwenden. Ich habe die jetzt mal nachträglich bei dir hinzufügt,
damit es besser lesbar ist.

Ich kann mir nicht ganz erklären warum das bei dir nicht geht. Ich hatte das extra ausprobiert und
das klappte einwandfrei. Wir reden nur über die Event-Details, die man im Kalender sehen kann,
oder? Denn nur dort haben wir das ja angepasst.
Ansonsten: Richtige Datei bearbeitet, an die richtige Stelle hochgeladen usw? :)

Zur anderen Frage:
So einfach ist das leider nicht. Sorry.

mfg Nils

 
Kein neuer Beitrag Noeck , 09.01.2010, 20:27
Beitrag #5   

IP: n/a
Rang: * * * * * * *
Registrierung: 08.01.2010, 09:53
 

Forum-Gott mit 20 Punkte, 16 Beiträge
Hallo Nils

Habe den Test noch via Kalender gemacht, da wird die Zeit nun richtig dargestellt. Aber wenn ich
via Forum einen Termin setzte, funktioniert es noch nicht.


Zur anderen Frage: Habe es mir fast gedacht. Schade!

Gruss Nöck

 
Kein neuer Beitrag Nils , 09.01.2010, 20:41
Beitrag #6   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

ok. Damit es im Forum auch richtig angezeigt wird, muss das gleiche in der
front/module/posts/module.php gemacht werden. Und zwar in der Methode _add_event() ganz unten. Wenn
es in der Druckansicht auch richtig sein soll, muss es auch noch in der
front/module/print/module.php zwischen Zeile 156 und 192 geändert werden. Bei beiden muss auch die
Methode getOrgDate() von oben hinzugefügt werden.

mfg Nils

 
Kein neuer Beitrag Noeck , 09.01.2010, 20:58
Beitrag #7   

IP: n/a
Rang: * * * * * * *
Registrierung: 08.01.2010, 09:53
 

Forum-Gott mit 20 Punkte, 16 Beiträge
Hallo Nils

Sorry, kannst Du das bitte für mich PHP Laien ein bischen genauer sagen?
Was ist mit Methode _add_event() gemeint?


Herzlichen Dank!

Gruss Nöck


 
Kein neuer Beitrag Nils , 10.01.2010, 11:11
Beitrag #8   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

die findest du in Zeile 466 bis 512:
PHP:
1
2
3
4
private function _add_event()
{
  ...
}

D.h. darunter muss wieder die Methode getOrgDate() eingefügt werden und in _add_event() muss es bei
allen Vorkommen von FWS_Date::get_date() wie oben geändert werden.

mfg Nils

 
Kein neuer Beitrag Noeck , 10.01.2010, 13:06
Beitrag #9   

IP: n/a
Rang: * * * * * * *
Registrierung: 08.01.2010, 09:53
 

Forum-Gott mit 20 Punkte, 16 Beiträge
Hallo Nils

Herzlichen Dank! Nun fünktioniert es, bis auf "Thema editieren", da hab ich es nicht geschafft.
Kannst Du mir bitte sagen, was und wo ich dort machen muss?

Gruss Nöck


 
Kein neuer Beitrag Nils , 10.01.2010, 14:38
Beitrag #10   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

ok, dafür müsstest du in der front/module/edit_topic/module.php die Zeilen 177 - 179:
PHP:
1
2
3
        'event_begin_def' => $event['event_begin'],
        'event_end_def' => $event['event_end'],
        'event_timeout_def' => $event['timeout'],

in:
PHP:
1
2
3
        'event_begin_def' => $this->getOrgDate($event['event_begin']),
        'event_end_def' => $this->getOrgDate($event['event_end']),
        'event_timeout_def' => $this->getOrgDate($event['timeout']),

ändern. Damit das im Kalender auch geht, müsstest du in der front/module/calendar/sub_editevent.php
unter Zeile 124:
PHP:
1
$pform->add_form();

folgendes einfügen:
PHP:
1
2
3
$default['event_begin'] = $this->getOrgDate($default['event_begin']);
    $default['event_end'] = $this->getOrgDate($default['event_end']);
    $default['event_timeout'] = $this->getOrgDate($default['event_timeout']);

In beide Dateien muss wieder die Methode getOrgDate() eingebaut werden.

mfg Nils

 
Kein neuer Beitrag Noeck , 10.01.2010, 15:45
Beitrag #11   

IP: n/a
Rang: * * * * * * *
Registrierung: 08.01.2010, 09:53
 

Forum-Gott mit 20 Punkte, 16 Beiträge
Hallo Nils

Herzlichen Dank!

Das funktioniert nun auch, aber nun ist ein neues Problem aufgetaucht.

Wenn ich folgendes definiere, so wird im Kalender der Termin am Folgetag auch noch angezeigt, da ja
vermutlich in der Datenbank trotzdem 00:59 drin steht...


Beginn: 30.04.2010, 19:00
Ende: 30.04.2010, 23:59


Gruss Nöck



 
Kein neuer Beitrag Nils , 10.01.2010, 17:23
Beitrag #12   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

Noeck hat folgendes geschrieben:
Wenn ich folgendes definiere, so wird im Kalender der Termin am Folgetag auch noch angezeigt, da ja
vermutlich in der Datenbank trotzdem 00:59 drin steht...


Beginn: 30.04.2010, 19:00
Ende: 30.04.2010, 23:59

In der Datenbank steht nur ein Timestamp, d.h. das Datum in GMT ohne Sommer/Winterzeit. Die
Anpassung je nach Zeitzone passiert nur bei der Anzeige. Aber das nur am Rande :)
Öffne mal die front/module/calendar/helper.php und änder Zeile 336:
PHP:
1
$end_key = $data['event_end'] > 0 ? FWS_Date::get_formated_date('dmY',$data['event_end']) : 0;

in:
PHP:
1
$end_key = $data['event_end'] > 0 ? FWS_Date::get_formated_date('dmY',$this->getOrdDate($data['event_end'])) : 0;

Wieder muss außerdem getOrgDate() hinzugefügt werden.

Aber nun muss auch gut sein. Wir werden hier nicht jedes kleine Problem diesbzgl. lösen können, da
es bisher einfach nicht berücksichtigt ist ;)

mfg Nils

 
Kein neuer Beitrag Noeck , 10.01.2010, 18:26
Beitrag #13   

IP: n/a
Rang: * * * * * * *
Registrierung: 08.01.2010, 09:53
 

Forum-Gott mit 20 Punkte, 16 Beiträge
Hallo Nils

Herzlichen Dank für deine Hilfe!

Nun habe ich auch keinen Fehler mehr gefunden! ;-)
Es wäre sehr schön, wenn Du das mit dem sortieren nach Termin im Forum in der nächsten Version noch
einbauen könntest, so dass man pro Forum auswählen kann wie es sortiert werden soll. Für einen
Terminkalender wäre das sehr wünschenswert. Danke!!!

Gruss Nöck


 
Kein neuer Beitrag Dieter , 24.08.2010, 14:13
Beitrag #14   

IP: n/a
Rang: * * * * * * *
Registrierung: 15.03.2006, 11:22
 

Forum-Gott mit 147 Punkte, 107 Beiträge
Hallo Nils,

ich habe natürlich das gleiche Problem mit der Zeitverschiebung um eine Stunde. Die hier
beschriebenen Änderungen habe ich gemacht.

Hier der Code ab Zeile 100

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
$event_end = FWS_Date::get_date($this->getOrgDate($event_data['event_end']));
    
    if($event_data['timeout'] == 0)
      $timeout = FWS_Date::get_date($this->getOrgDate($event_data['event_begin']));
    else
      $timeout = FWS_Date::get_date($this->getOrgDate($event_data['timeout']));
    
    $bbcode = new BS_BBCode_Parser(
      $event_data['description'],'desc',true,true
    );
    $text = $bbcode->get_message_for_output();
    
    $tpl->add_variables(array(
      'event_title' => $event_data['event_title'],
      'location' => $event_data['event_location'] ?
        $event_data['event_location'] : $locale->lang('notavailable'),
      'event_begin' => FWS_Date::get_date($this->getOrgDate($event_data['event_begin'])),
      'event_begin' => FWS_Date::get_date($this->getOrgDate($event_data['event_begin'])),
         'event_end' => $event_end,
         'description' => $text
      ));
      
      if($event_data['max_announcements'] >= 0)
      {
         $event = new BS_Event($event_data);
         $tpl->add_variables(array(
            'id' => $event_data['id'],
            'can_leave' => $event->can_leave(),
            'can_announce' => $event->can_announce(),
            'announcement_list' => $event->get_announcement_list(),
            'max_announcements' => $event_data['max_announcements'],
            'total_announcements' => $event->get_count(),
            'timeout' => $timeout
         ));
      }
      
      $delete_perm = $cfg['display_denied_options'] || $auth->has_global_permission('delete_cal_event');
      $edit_perm = $cfg['display_denied_options'] || $auth->has_global_permission('edit_cal_event');
      
      $url = BS_URL::get_sub_url();
      $url->set(BS_URL_ID,$id);
      $url->set(BS_URL_MODE,'delete');
      
      $tpl->add_variables(array(
         'announcements_enabled' => $event_data['max_announcements'] >= 0,
         'display_edit_event' => $edit_perm,
         'display_delete_event' => $delete_perm,
         'edit_event' => BS_URL::get_sub_url(0,'editevent')->set(BS_URL_ID,$id)->to_url(),
         'delete_event' => $url->to_url()
      ));
   }
  private function getOrgDate($timestamp)
  {
    return date('I',$timestamp) == 1 ? $timestamp - 3600 : $timestamp;
  }
  }
?>


Leider funktioniert bei mir etwas nicht.

Wenn ich den Termin unter editieren ansehe wird mir die Zeit 17:30 angezeigt.

In den Details zu Termin steht weiterhin 16:30

Die Zeitzone ist Standard Berlin.

http://666kb.com/i/bm2l93c1k8qom45rd.gif

http://666kb.com/i/bm2l9j3ozg7lhse95.gif


Es ist dabei gleich ob der Termin neu angelegt wird oder ich ihn editiere. Mache ich irgendwo einen
Denkfehler?

EDIT: Hatte ich vergessen. Es geht alleine um Termine im Kalender und nicht über das Forum.

Danke für die Hilfe.


Gruß

Dieter

Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 24.08.2010, 14:47 von Dieter.

 
Kein neuer Beitrag Nils , 24.08.2010, 18:15
Beitrag #15   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

oben wurde auch nur genannt wie man das bei der Thema-Editierung (nicht im Kalender) macht. D.h. du
müsstest analoge Änderungen auch noch in der front/module/calendar/sub_editevent.php durchführen.

mfg Nils
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 24.08.2010, 18:15 von Nils.

Abonnieren Druckansicht
Antworten

n/a n/a 1 2     (Anzeige: 1 – 15; insgesamt: 20) Weiter Letzte Seite
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Themenaktionen:
Beiträge verschieben

Toggle Ähnliche Themen zu „Sommerzeitfehler im Kalender?“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  "Erinnerungen" im Kalender 0 22304 27.02.2014, 16:29
Von: Noir1992
27.02.2014, 16:29
Von: Noir1992 Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Mobile-Template Kalender 2 9669 04.08.2011, 14:27
Von: himself
05.08.2011, 09:13
Von: himself Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Kalenderbreite ändern? 1 8225 15.11.2010, 09:29
Von: Anonymous
15.11.2010, 11:34
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Fehler mit Kalender 8 12258 14.07.2010, 13:10
Von: Kompi
04.08.2010, 11:50
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Benachrichtigung bei Kalenderanmeldung 6 14709 17.07.2010, 21:25
Von: Nico
24.07.2010, 13:19
Von: Nico Zum letzten Beitrag
  • 0.028062 Sek., 10 DB-Zugriffe, 1.056 MiB
  • Powered by Boardsolution v1.46