| IP: |
n/a |
| Rang: |
|
| Registrierung: |
15.03.2006, 11:22 |
| |
 Fortgeschritten mit 102 Punkte, 72 Beiträge |
|
Hallo Nils,
es schaut schon etwas besser aus. Es gibt da aber noch einen Zeitversatz.
Ich habe einen neuen Termin mit 18:00 angelegt. Er wird als 17:00 angezeigt. Wenn ich dann auf editieren gehe steht im Vorgabefeld auch 17:00. Wenn ich das dann abspeichere ändert sich der Termin auf 16:00.
Das bedeutet ich muss bei der Zeitangabe eine Stunde mehr angeben. Wenn ich 19:00 angebe zeigt er den Termin mit 18:00 an. Mache ich das Editieren auf steht als Vorgabe da die 18:00 drin. Ich denke diese Vorgabe holt er sich aus der Datenbank. Deshalb vermute ich er trägt eine Zeitversetzung von Minus einer Stunde in die Datenbank ein.
Hier mal der komplette Quellcode der sub_editevent
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
| <?php /** * Contains the editevent-calendar-submodule * * @version $Id: sub_editevent.php 142 2009-01-09 13:20:28Z nasmussen $ * @package Boardsolution * @subpackage front.module * @author Nils Asmussen <nils@script-solution.de> * @copyright 2003-2008 Nils Asmussen * @link http://www.script-solution.de */
/** * The editevent submodule for module calendar * * @package Boardsolution * @subpackage front.module * @author Nils Asmussen <nils@script-solution.de> */ final class BS_Front_SubModule_calendar_editevent extends BS_Front_SubModule { /** * @see FWS_Module::init($doc) * * @param BS_Front_Document $doc */ public function init($doc) { parent::init($doc); $renderer = $doc->use_default_renderer(); $renderer->add_action(BS_ACTION_CAL_ADD_EVENT,'addevent'); $renderer->add_action(BS_ACTION_CAL_EDIT_EVENT,'editevent'); $input = FWS_Props::get()->input(); $locale = FWS_Props::get()->locale(); $id = $input->get_var(BS_URL_ID,'get',FWS_Input::ID); $url = BS_URL::get_sub_url(0,'editevent'); if($id !== null) $renderer->add_breadcrumb($locale->lang('edit_event'),$url->set(BS_URL_ID,$id)->to_url()); else $renderer->add_breadcrumb($locale->lang('add_event'),$url->to_url()); } public function run() { $cfg = FWS_Props::get()->cfg(); $input = FWS_Props::get()->input(); $user = FWS_Props::get()->user(); $auth = FWS_Props::get()->auth(); $locale = FWS_Props::get()->locale(); $tpl = FWS_Props::get()->tpl();
// calendar-events disabled? if($cfg['enable_calendar_events'] == 0) { $this->report_error(FWS_Document_Messages::NO_ACCESS); return; } $id = $input->get_var(BS_URL_ID,'get',FWS_Input::ID); $type = $id !== null ? 'edit' : 'add'; if($type == 'edit') { $default = BS_DAO::get_events()->get_by_id($id); $url = BS_URL::get_sub_url(0,'eventdetails'); $url->set(BS_URL_ID,$id); $back_url = $url->to_url(); $target_url = BS_URL::get_sub_url(0,'editevent')->set(BS_URL_ID,$id)->to_url(); } else { $day = $input->get_var(BS_URL_DAY,'get',FWS_Input::INTEGER); $default = array( 'user_id' => 0, 'max_announcements' => 0, 'description_posted' => '', 'event_location' => '', 'event_begin' => $day !== null ? $day : 0, 'event_end' => $day !== null ? $day : 0, 'timeout' => 0, 'event_title' => '' ); $back_url = BS_URL::build_mod_url(); $target_url = BS_URL::build_sub_url(0,'editevent'); } // check permission if(!$user->is_admin()) { if($type == 'edit') { if($default['user_id'] != $user->get_user_id() || !$auth->has_global_permission('edit_cal_event')) { $this->report_error(FWS_Document_Messages::NO_ACCESS); return; } } else { if(!$auth->has_global_permission('add_cal_event')) { $this->report_error(FWS_Document_Messages::NO_ACCESS); return; } } }
if($input->isset_var('preview','post')) BS_PostingUtils::add_post_preview('desc',1,1); $form = $this->request_formular(false,true);
$pform = new BS_PostingForm( $locale->lang('description').':',$default['description_posted'],'desc' ); $pform->set_textarea_height('100px'); $pform->add_form(); $default['event_begin'] = $this->getOrgDate($default['event_begin']); $default['event_end'] = $this->getOrgDate($default['event_end']); $tpl->add_variable_ref('default',$default); $tpl->add_variables(array( 'title' => $locale->lang($type.'_event'), 'target_url' => $target_url, 'action_type' => $type == 'add' ? BS_ACTION_CAL_ADD_EVENT : BS_ACTION_CAL_EDIT_EVENT, 'open_end' => $form->get_checkbox_value('event_end',$default['event_end'] == 0), 'timeout_type_begin' => $form->get_radio_value('timeout_type','begin',$default['timeout'] == 0), 'timeout_type_self' => $form->get_radio_value('timeout_type','custom',$default['timeout'] != 0), 'enable_announcements' => $default['max_announcements'] >= 0, 'max_announcements' => max(0,$default['max_announcements']), 'back_url' => $back_url )); } private function getOrgDate($timestamp) { return date('I',$timestamp) == 1 ? $timestamp - 3600 : $timestamp; }} ?> |
Ich hoffe es ist jetzt nur noch eine Kleinigkeit. 
Gruß
Dieter
|
|