/** * Save the permissions * * @access public * @return void Outputs to screen **/ public function permDoEdit() { /* INI */ $perms = array(); $this->request['f'] = intval($this->request['f']); /* Security Check */ $this->registry->adminFunctions->checkSecurityKey(); /* Save the permissions */ require_once IPS_ROOT_PATH . 'sources/classes/class_public_permissions.php'; $permissions = new classPublicPermissions(ipsRegistry::instance()); $permissions->savePermMatrix($this->request['perms'], $this->request['f'], 'forum'); /* Log */ $this->registry->adminFunctions->saveAdminLog(sprintf($this->lang->words['for_permeditedin'], $this->request['name'])); $this->recacheForums(); /* Previous Forum */ if ($this->request['doprevious'] and $this->request['doprevious'] and $this->request['previd'] > 0) { $this->registry->output->global_message = $this->lang->words['for_permedited']; $this->request['f'] = $this->request['previd']; $this->registry->output->silentRedirect("{$this->settings['base_url']}{$this->html->form_code}do=pedit&f=" . $this->request['f']); } else { if ($this->request['donext'] and $this->request['donext'] and $this->request['nextid'] > 0) { $this->registry->output->global_message = $this->lang->words['for_permedited']; $this->request['f'] = $this->request['nextid']; $this->registry->output->silentRedirect("{$this->settings['base_url']}{$this->html->form_code}do=pedit&f=" . $this->request['f']); } else { if ($this->request['reload'] and $this->request['reload']) { $this->registry->output->silentRedirect("{$this->settings['base_url']}{$this->html->form_code}do=pedit&f=" . $this->request['f']); } else { $this->registry->output->doneScreen($this->lang->words['for_permedited2'], $this->lang->words['for_control'], $this->html->form_code, 'redirect'); } } } }
/** * Handles the calednar new/edit form * * @access public * @param string $type Either new or edit * @return void */ public function calendarSave($type = 'new') { /* INIT */ $cal_id = intval($this->request['cal_id']); $cal_title = trim(IPSText::stripslashes(IPSText::htmlspecialchars($_POST['cal_title']))); $cal_moderate = intval($this->request['cal_moderate']); $cal_event_limit = intval($this->request['cal_event_limit']); $cal_bday_limit = intval($this->request['cal_bday_limit']); $cal_rss_export = intval($this->request['cal_rss_export']); $cal_rss_export_days = intval($this->request['cal_rss_export_days']); $cal_rss_export_max = intval($this->request['cal_rss_export_max']); $cal_rss_update = intval($this->request['cal_rss_update']); $cal_perms = array('perm_read' => '', 'perm_post' => '', 'perm_nomod' => ''); /* Error Checks */ if ($type == 'edit') { if (!$cal_id or !$cal_title) { $this->registry->output->global_message = $this->lang->words['c_noid']; $this->calendarsList(); return; } } else { if (!$cal_title) { $this->registry->output->global_message = $this->lang->words['c_completeform']; $this->calendarForm($type); return; } } /* DB Array */ $array = array('cal_title' => $cal_title, 'cal_moderate' => $cal_moderate, 'cal_event_limit' => $cal_event_limit, 'cal_bday_limit' => $cal_bday_limit, 'cal_rss_export' => $cal_rss_export, 'cal_rss_export_days' => $cal_rss_export_days, 'cal_rss_export_max' => $cal_rss_export_max, 'cal_rss_update' => $cal_rss_update); /* Create Calendar */ if ($type == 'new') { $this->DB->insert('cal_calendars', $array); $cal_id = $this->DB->getInsertId(); $this->registry->output->global_message = $this->lang->words['c_added']; } else { $this->DB->update('cal_calendars', $array, 'cal_id=' . $cal_id); $this->registry->output->global_message = $this->lang->words['c_edited']; } /* Permissions */ require_once IPS_ROOT_PATH . 'sources/classes/class_public_permissions.php'; $permissions = new classPublicPermissions(ipsRegistry::instance()); $permissions->savePermMatrix($this->request['perms'], $cal_id, 'calendar'); /* Rebuild Caches and Bounce */ $this->calendarsRebuildCache(); $this->calendarRebuildCache(0); $this->calendarRSSCache($cal_id, 0); $this->cache->rebuildCache('rss_output_cache'); $this->calendarsList(); }