public function edit($row) { if($this->is_back()) $this->pop_box0(); $f = $this->init_module('Libs/QuickForm'); if($row) { $a = Base_RegionalSettingsCommon::time2reg($row['alert_on'],true,true,true,false); $f->setDefaults(array_merge($row,array('alert_date'=>$a,'alert_time'=>$a))); } else { $tt = $this->def_date; $tt = $tt-$tt%300; $f->setDefaults(array('alert_date'=>$tt,'alert_time'=>$tt)); } $f->addElement('textarea', 'message', __('Message')); $f->addElement('datepicker', 'alert_date', __('Alert date')); $lang_code = Base_LangCommon::get_lang_code(); $time_format = Base_RegionalSettingsCommon::time_12h()?'h:i a':'H:i'; $f->addElement('date', 'alert_time', __('Alert time'), array('format'=>$time_format, 'optionIncrement' => array('i' => 5), 'language'=>$lang_code)); if(is_array($this->users)) { foreach($this->users as $k=>$r) { if(!Base_User_SettingsCommon::get($this->get_type(),'allow_other',$k) && Acl::get_user()!=$k) unset($this->users[$k]); } $f->addElement('multiselect', 'users', __('Assigned users'), $this->users); $f->addRule('users', __('At least one user must be assigned to an alarm.'), 'required'); $f->setDefaults(array('users'=>array_keys($this->users))); } if($f->validate()) { $ret = $f->exportValues(); if($row) $ret = array_merge($row,$ret); if(Base_RegionalSettingsCommon::time_12h()) $ret['alert_on'] = strtotime($ret['alert_date'])+($ret['alert_time']['h']%12)*3600+(($ret['alert_time']['a']=='pm')?(3600*12):0)+$ret['alert_time']['i']*60; else $ret['alert_on'] = strtotime($ret['alert_date'])+$ret['alert_time']['H']*3600+$ret['alert_time']['i']*60; $ret['alert_on'] = Base_RegionalSettingsCommon::reg2time(date('Y-m-d H:i:s',$ret['alert_on'])); if($row) { DB::Execute('UPDATE utils_messenger_message SET message=%s,alert_on=%T WHERE page_id=\''.$this->mid.'\' AND id=%d',array($ret['message'],$ret['alert_on'],$row['id'])); $id = $row['id']; DB::Execute('DELETE FROM utils_messenger_users WHERE message_id=%d',array($id)); } else { DB::Execute('INSERT INTO utils_messenger_message(page_id,parent_module,message,callback_method,callback_args,created_on,created_by,alert_on) VALUES(%s,%s,%s,%s,%s,%T,%d,%T)',array($this->mid,$this->parent_type,$ret['message'],serialize($this->callback_method),serialize($this->callback_args),time(),Acl::get_user(),$ret['alert_on'])); $id = DB::Insert_ID('utils_messenger_message','id'); } if(is_array($this->users)) { foreach($ret['users'] as $r) DB::Execute('INSERT INTO utils_messenger_users(message_id,user_login_id) VALUES (%d,%d)',array($id,$r)); } else DB::Execute('INSERT INTO utils_messenger_users(message_id,user_login_id) VALUES (%d,%d)',array($id,$this->users)); $this->pop_box0(); } Base_ActionBarCommon::add('save',__('Save'),$f->get_submit_form_href()); Base_ActionBarCommon::add('back',__('Back'),$this->create_back_href()); $f->display_as_column(); }
public function init() { $d = getcwd(); chdir('../../../../'); require_once 'include/epesi.php'; require_once 'include/cache.php'; require_once 'include/variables.php'; require_once 'include/misc.php'; require_once 'include/module_primitive.php'; require_once 'include/module_install.php'; require_once 'include/module_common.php'; require_once 'include/module.php'; require_once 'include/module_manager.php'; require_once 'include/autoloader.php'; ModuleManager::load_modules(); chdir($d); global $E_SESSION; $_SESSION['user'] = $E_SESSION['user']; if (Base_RegionalSettingsCommon::time_12h()) { $time = 'h:i a'; } else { $time = 'H:i'; } $date = Base_RegionalSettingsCommon::date_format(); switch ($date) { case '%Y-%m-%d': $date = 'Y-m-d'; break; case '%m/%d/%Y': $date = 'm/d/Y'; break; case '%d %B %Y': $date = 'd F Y'; break; case '%d %b %Y': $date = 'd M Y'; break; case '%b %d, %Y': $date = 'M d, Y'; break; } rcmail::get_instance()->config->set('date_short', 'D ' . $time); rcmail::get_instance()->config->set('date_long', $date . ' ' . $time); rcmail::get_instance()->config->set('date_today', $time); $this->add_hook('message_outgoing_body', array($this, 'add_signature')); $this->add_hook('user_create', array($this, 'lookup_user_name')); }
function _createElements() { $time_format = Base_RegionalSettingsCommon::time_12h() ? 'h:i a' : 'H:i'; $lang_code = Base_LangCommon::get_lang_code(); $this->_options['format'] = $time_format; if (!isset($this->_options['optionIncrement'])) { $this->_options['optionIncrement'] = array('i' => 5); } $this->_options['language'] = $lang_code; if (!isset($this->_options['date'])) { $this->_options['date'] = true; } $this->_elements['__date'] = new HTML_QuickForm_date('__date', null, $this->_options, $this->getAttributes()); if ($this->_options['date']) { $this->_elements['__datepicker'] = new HTML_QuickForm_datepicker('__datepicker', null, $this->getAttributes()); } }
public static function QFfield_time(&$form, $field, $label, $mode, $default, $desc, $rb_obj) { if (self::QFfield_static_display($form, $field, $label, $mode, $default, $desc, $rb_obj)) { return; } $time_format = Base_RegionalSettingsCommon::time_12h() ? 'h:i a' : 'H:i'; $lang_code = Base_LangCommon::get_lang_code(); $label = Utils_RecordBrowserCommon::get_field_tooltip($label, $desc['type']); $minute_increment = 5; if ($desc['param']) { $minute_increment = $desc['param']; } $form->addElement('timestamp', $field, $label, array('date' => false, 'format' => $time_format, 'optionIncrement' => array('i' => $minute_increment), 'language' => $lang_code, 'id' => $field)); if ($mode !== 'add' && $default) { $form->setDefaults(array($field => $default)); } }
public static function QFfield_duration(&$form, $field, $label, $mode, $default, $desc) { if ($mode == 'add' || $mode == 'edit') { $dur = array(-1 => '---', 300 => __('5 minutes'), 900 => __('15 minutes'), 1800 => __('30 minutes'), 2700 => __('45 minutes'), 3600 => __('1 hour'), 7200 => __('2 hours'), 14400 => __('4 hours'), 28800 => __('8 hours')); if (isset($dur[$default])) { $duration_switch = '1'; } else { $duration_switch = '0'; } $form->addElement('select', $field, $label, $dur, array('id' => $field)); $time_format = Base_RegionalSettingsCommon::time_12h() ? 'h:i a' : 'H:i'; $lang_code = Base_LangCommon::get_lang_code(); $form->addElement('timestamp', 'end_time', __('End Time'), array('date' => false, 'format' => $time_format, 'optionIncrement' => array('i' => 5), 'language' => $lang_code, 'id' => 'end_time')); $form->addElement('hidden', 'duration_switch', $duration_switch, array('id' => 'duration_switch')); eval_js_once('crm_calendar_duration_switcher = function(x) {' . 'var sw = $(\'duration_switch\');' . 'if((!x && sw.value==\'0\') || (x && sw.value==\'1\')) {' . 'var end_b=$(\'crm_calendar_event_end_block\');if(end_b)end_b.hide();' . 'var dur_b=$(\'crm_calendar_duration_block\');if(dur_b)dur_b.show();' . 'sw.value=\'1\';' . '} else {' . 'var end_b=$(\'crm_calendar_event_end_block\');if(end_b)end_b.show();' . 'var dur_b=$(\'crm_calendar_duration_block\');if(dur_b)dur_b.hide();' . 'sw.value=\'0\';' . '}}'); eval_js_once('crm_calendar_event_timeless = function(val) {' . 'var cal_style;' . 'var tdb=$(\'toggle_duration_button\');' . 'if(tdb==null) return;' . 'if(val){' . 'cal_style = \'none\';' . '}else{' . 'cal_style = \'\';' . '}' . 'var db = $(\'duration_end_date__data_\');' . 'if(db) db.style.display = cal_style;' . 'var ts = $(\'time_s\');' . 'if(ts) ts.style.display = cal_style;' . '}'); $form->addElement('button', 'toggle', __('Toggle'), array('onclick' => 'crm_calendar_duration_switcher()', 'id' => 'toggle_duration_button', 'class' => 'button')); $form->addElement('checkbox', 'timeless', __('Timeless'), null, array('onClick' => 'crm_calendar_event_timeless(this.checked)', 'id' => 'timeless')); eval_js('crm_calendar_event_timeless($("timeless").checked)'); eval_js('crm_calendar_duration_switcher(1)'); $form->setDefaults(array('duration_switch' => $duration_switch)); $form->setDefaults(array($field => $default)); $form->setDefaults(array('timeless' => $default == -1 ? 1 : 0)); if (class_exists('Utils_RecordBrowser') && isset(Utils_RecordBrowser::$last_record['time'])) { $form->setDefaults(array('end_time' => strtotime('+' . $default . ' seconds', Utils_RecordBrowser::$last_record['time']))); } $form->addFormRule(array('CRM_MeetingCommon', 'check_date_and_time')); } else { $form->addElement('checkbox', 'timeless', __('Timeless')); $form->setDefaults(array('timeless' => $default == -1 ? 1 : 0)); } //messanger if ($mode == 'add') { eval_js_once('crm_calendar_event_messenger = function(v) {var mb=$("messenger_block");if(!mb)return;if(v)mb.show();else mb.hide();}'); $form->addElement('select', 'messenger_before', __('Popup alert'), array(0 => __('on event start'), 900 => __('15 minutes before event'), 1800 => __('30 minutes before event'), 2700 => __('45 minutes before event'), 3600 => __('1 hour before event'), 2 * 3600 => __('2 hours before event'), 3 * 3600 => __('3 hours before event'), 4 * 3600 => __('4 hours before event'), 8 * 3600 => __('8 hours before event'), 12 * 3600 => __('12 hours before event'), 24 * 3600 => __('24 hours before event'))); $form->addElement('textarea', 'messenger_message', __('Popup message'), array('id' => 'messenger_message')); $form->addElement('select', 'messenger_on', __('Alert'), array('none' => __('None'), 'me' => __('me'), 'all' => __('all selected employees')), array('onChange' => 'crm_calendar_event_messenger(this.value!="none");$("messenger_message").value=$("title").value;')); // $form->addElement('checkbox','messenger_on',__('Alert me'),null,array('onClick'=>'crm_calendar_event_messenger(this.checked);$("messenger_message").value=$("event_title").value;')); eval_js('crm_calendar_event_messenger(' . ($form->exportValue('messenger_on') != 'none' && $form->exportValue('messenger_on') != '' ? 1 : 0) . ')'); $form->registerRule('check_my_user', 'callback', array('CRM_MeetingCommon', 'check_my_user')); $form->addRule(array('messenger_on', 'emp_id'), __('You have to select your contact to set alarm on it'), 'check_my_user'); } }