/** * Add/Edit Calendar Form * * @param string $type Either new or edit * @return @e void */ public function calendarForm($type = 'new') { //----------------------------------------- // Init //----------------------------------------- $cal_id = $this->request['cal_id'] ? intval($this->request['cal_id']) : 0; $form = array(); //----------------------------------------- // Defaults //----------------------------------------- if ($type == 'new') { $formcode = 'calendar_add_do'; $title = $this->lang->words['c_addcal']; $button = $this->lang->words['c_addcal']; $calendar = array('cal_title' => '', 'cal_moderate' => 0, 'cal_comment_moderate' => 0, 'cal_rsvp_owner' => 0, 'cal_event_limit' => '', 'cal_bday_limit' => '', 'cal_rss_export' => '', 'cal_rss_update' => '', 'cal_rss_export_days' => '', 'cal_rss_export_max' => '', 'cal_id' => 0); } else { $formcode = 'calendar_edit_do'; $title = $this->lang->words['c_editbutton'] . $calendar['cal_title']; $button = $this->lang->words['c_savebutton']; $calendar = $this->DB->buildAndFetch(array('select' => 'c.*', 'from' => array('cal_calendars' => 'c'), 'where' => 'c.cal_id=' . $cal_id, 'add_join' => array(array('select' => 'p.*', 'from' => array('permission_index' => 'p'), 'where' => "p.perm_type='calendar' AND perm_type_id=c.cal_id", 'type' => 'left')))); if (!$calendar['cal_id']) { $this->registry->output->global_message = $this->lang->words['c_noid']; $this->calendarsList(); return; } } //----------------------------------------- // Permissions //----------------------------------------- $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/class_public_permissions.php', 'classPublicPermissions'); $permissions = new $classToLoad($this->registry); //----------------------------------------- // Form elements //----------------------------------------- $form['perm_matrix'] = $permissions->adminPermMatrix('calendar', $calendar, 'calendar', '', false); $form['cal_title'] = $this->registry->output->formInput('cal_title', !empty($_POST['cal_title']) ? $_POST['cal_title'] : $calendar['cal_title']); $form['cal_moderate'] = $this->registry->output->formYesNo('cal_moderate', !empty($this->request['cal_moderate']) ? $this->request['cal_moderate'] : $calendar['cal_moderate']); $form['cal_moderatec'] = $this->registry->output->formYesNo('cal_comment_moderate', !empty($this->request['cal_comment_moderate']) ? $this->request['cal_comment_moderate'] : $calendar['cal_comment_moderate']); $form['cal_event_limit'] = $this->registry->output->formSimpleInput('cal_event_limit', !empty($this->request['cal_event_limit']) ? $this->request['cal_event_limit'] : $calendar['cal_event_limit'], 5); $form['cal_bday_limit'] = $this->registry->output->formSimpleInput('cal_bday_limit', !empty($this->request['cal_bday_limit']) ? $this->request['cal_bday_limit'] : $calendar['cal_bday_limit'], 5); $form['cal_rss_export'] = $this->registry->output->formYesNo('cal_rss_export', !empty($this->request['cal_rss_export']) ? $this->request['cal_rss_export'] : $calendar['cal_rss_export']); $form['cal_rss_update'] = $this->registry->output->formSimpleInput('cal_rss_update', !empty($this->request['cal_rss_update']) ? $this->request['cal_rss_update'] : $calendar['cal_rss_update'], 5); $form['cal_rss_export_days'] = $this->registry->output->formSimpleInput('cal_rss_export_days', !empty($this->request['cal_rss_export_days']) ? $this->request['cal_rss_export_days'] : $calendar['cal_rss_export_days'], 5); $form['cal_rss_export_max'] = $this->registry->output->formSimpleInput('cal_rss_export_max', !empty($this->request['cal_rss_export_max']) ? $this->request['cal_rss_export_max'] : $calendar['cal_rss_export_max'], 5); $form['cal_rsvp'] = $this->registry->output->formYesNo('cal_rsvp_owner', !empty($this->request['cal_rsvp_owner']) ? $this->request['cal_rsvp_owner'] : $calendar['cal_rsvp_owner']); //----------------------------------------- // Output //----------------------------------------- $this->registry->output->html .= $this->html->calendarForm($form, $title, $formcode, $button, $calendar); }
/** * Add/Edit Calendar Form * * @access public * @param string $type Either new or edit * @return void */ public function calendarForm($type = 'new') { //----------------------------------------- // Init Vars //----------------------------------------- $cal_id = $this->request['cal_id'] ? intval($this->request['cal_id']) : 0; $form = array(); $form['perm_read'] = ""; $form['perm_post'] = ""; $form['perm_nomod'] = ""; $form['perm_read_all'] = ""; $form['perm_post_all'] = ""; $form['perm_nomod_all'] = ""; /* New Calendar */ if ($type == 'new') { /* Form Bits */ $formcode = 'calendar_add_do'; $title = $this->lang->words['c_addcal']; $button = $this->lang->words['c_addcal']; /* Data */ $calendar = array('perm_read' => '', 'perm_post' => '', 'perm_nomod' => '', 'cal_title' => '', 'cal_moderate' => '', 'cal_event_limit' => '', 'cal_bday_limit' => '', 'cal_rss_export' => '', 'cal_rss_update' => '', 'cal_rss_export_days' => '', 'cal_rss_export_max' => '', 'cal_id' => 0); } else { /* Data */ $calendar = $this->DB->buildAndFetch(array('select' => 'c.*', 'from' => array('cal_calendars' => 'c'), 'where' => 'c.cal_id=' . $cal_id, 'add_join' => array(array('select' => 'p.*', 'from' => array('permission_index' => 'p'), 'where' => "p.perm_type='calendar' AND perm_type_id=c.cal_id", 'type' => 'left')))); if (!$calendar['cal_id']) { $this->registry->output->global_message = $this->lang->words['c_noid']; $this->calendarsList(); return; } /* Form Bits */ $formcode = 'calendar_edit_do'; $title = $this->lang->words['c_editbutton'] . $calendar['cal_title']; $button = $this->lang->words['c_savebutton']; } /* Permissions */ require_once IPS_ROOT_PATH . 'sources/classes/class_public_permissions.php'; $permissions = new classPublicPermissions(ipsRegistry::instance()); $form['perm_matrix'] = $permissions->adminPermMatrix('calendar', $calendar); /* Form Elements */ $form['cal_title'] = $this->registry->output->formInput('cal_title', IPSText::htmlspecialchars((isset($_POST['cal_title']) and $_POST['cal_title']) ? $_POST['cal_title'] : $calendar['cal_title'])); $form['cal_moderate'] = $this->registry->output->formYesNo('cal_moderate', (isset($this->request['cal_moderate']) and $this->request['cal_moderate']) ? $this->request['cal_moderate'] : $calendar['cal_moderate']); $form['cal_event_limit'] = $this->registry->output->formSimpleInput('cal_event_limit', (isset($this->request['cal_event_limit']) and $this->request['cal_event_limit']) ? $this->request['cal_event_limit'] : $calendar['cal_event_limit'], 5); $form['cal_bday_limit'] = $this->registry->output->formSimpleInput('cal_bday_limit', (isset($this->request['cal_bday_limit']) and $this->request['cal_bday_limit']) ? $this->request['cal_bday_limit'] : $calendar['cal_bday_limit'], 5); $form['cal_rss_export'] = $this->registry->output->formYesNo('cal_rss_export', (isset($this->request['cal_rss_export']) and $this->request['cal_rss_export']) ? $this->request['cal_rss_export'] : $calendar['cal_rss_export']); $form['cal_rss_update'] = $this->registry->output->formSimpleInput('cal_rss_update', (isset($this->request['cal_rss_update']) and $this->request['cal_rss_update']) ? $this->request['cal_rss_update'] : $calendar['cal_rss_update'], 5); $form['cal_rss_export_days'] = $this->registry->output->formSimpleInput('cal_rss_export_days', (isset($this->request['cal_rss_export_days']) and $this->request['cal_rss_export_days']) ? $this->request['cal_rss_export_days'] : $calendar['cal_rss_export_days'], 5); $form['cal_rss_export_max'] = $this->registry->output->formSimpleInput('cal_rss_export_max', (isset($this->request['cal_rss_export_max']) and $this->request['cal_rss_export_max']) ? $this->request['cal_rss_export_max'] : $calendar['cal_rss_export_max'], 5); /* Output */ $this->registry->output->html .= $this->html->calendarForm($form, $title, $formcode, $button, $calendar); }