public function admin() { switch ($_REQUEST['mop']) { case 'delete_multimedia': if (!$this->folder->id || !Current_User::authorized('filecabinet', 'edit_folders', $this->folder->id, 'folder')) { Current_User::disallow(); } $this->loadMultimedia(filter_input(INPUT_GET, 'file_id', FILTER_VALIDATE_INT)); $this->multimedia->delete(); PHPWS_Core::goBack(); break; case 'post_multimedia_upload': if (!$this->folder->id || !Current_User::authorized('filecabinet', 'edit_folders', $this->folder->id, 'folder')) { Current_User::disallow(); } $this->postMultimediaUpload(); \PHPWS_Core::goBack(); break; case 'upload_multimedia_form': if (!Current_User::secured('filecabinet', 'edit_folders', $this->multimedia->folder_id, 'folder')) { Current_User::disallow(); } $this->loadMultimedia(filter_input(INPUT_GET, 'file_id', FILTER_VALIDATE_INT)); if (!$this->multimedia->id) { $this->multimedia->folder_id = filter_input(INPUT_GET, 'folder_id', FILTER_VALIDATE_INT); } $this->edit(); echo json_encode(array('title' => $this->title, 'content' => $this->content)); exit; case 'edit_rtmp': if (!Current_User::secured('filecabinet', 'edit_folders', $this->multimedia->folder_id, 'folder')) { Current_User::disallow(); } $this->loadMultimedia(filter_input(INPUT_GET, 'file_id', FILTER_VALIDATE_INT)); $this->editRTMP(); echo json_encode(array('title' => $this->title, 'content' => $this->content)); exit; case 'post_rtmp': if (!Current_User::authorized('filecabinet', 'edit_folders', $this->multimedia->folder_id, 'folder')) { Current_User::disallow(); } if (!$this->postRTMP()) { $this->editRTMP(); } \PHPWS_Core::goBack(); break; } return $this->content; }
public static function getAllowedStates() { $db = new \PHPWS_DB('intern_state'); $db->addWhere('active', 1); $db->addColumn('abbr'); $db->addColumn('full_name'); $db->setIndexBy('abbr'); $db->addOrder('full_name ASC'); $states = $db->select('col'); if (empty($states)) { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, 'The list of allowed US states for internship locations has not been configured. Please use the administrative options to <a href="index.php?module=intern&action=edit_states">add allowed states.</a>'); \NQ::close(); PHPWS_Core::goBack(); } return $states; }
public function execute(CommandContext $context) { $request = \Server::getCurrentRequest(); $vars = $request->getVars(); extract($vars['vars']); if (!isset($schedule_type)) { throw new \Exception('Unknown schedule type requested'); } if ($cmd == 'add') { switch ($schedule_type) { case 'autoassign': $this->addAutoAssignSchedule(); break; case 'reportrunner': $this->addReportRunnerSchedule(); break; case 'withdrawn': $this->addWithdrawnSchedule(); break; case 'nightly_cache': $this->addNightlyCacheSchedule(); break; default: throw new \Exception('Unknown schedule type requested'); } } elseif ($cmd == 'remove') { switch ($schedule_type) { case 'autoassign': $this->dropAutoAssignSchedule(); break; case 'reportrunner': $this->dropReportRunnerSchedule(); break; case 'withdrawn': $this->dropWithdrawnSchedule(); break; case 'nightly_cache': $this->dropNightlyCacheSchedule(); break; default: throw new \Exception('Unknown schedule type requested'); } } else { throw new \Exception('Unknown schedule type requested'); } PHPWS_Core::goBack(); }
public static function getAllowedStates() { $db = new PHPWS_DB('intern_state'); $db->addWhere('active', 1); $db->addColumn('abbr'); $db->addColumn('full_name'); $db->setIndexBy('abbr'); // get backwards because we flip it $db->addOrder('full_name desc'); $states = $db->select('col'); if (empty($states)) { NQ::simple('intern', INTERN_ERROR, 'The list of allowed US states for internship locations has not been configured. Please use the administrative options to <a href="index.php?module=intern&action=edit_states">add allowed states.</a>'); NQ::close(); PHPWS_Core::goBack(); } $states[-1] = 'Select a state'; $states = array_reverse($states, true); return $states; }
public static function returnToBookmark($clear_bm = true) { if (isset($_SESSION['PHPWS_Bookmark'])) { $bm = $_SESSION['PHPWS_Bookmark']; if ($clear_bm) { $_SESSION['PHPWS_Bookmark'] = null; unset($_SESSION['PHPWS_Bookmark']); } PHPWS_Core::reroute($bm); } else { PHPWS_Core::goBack(); } }
public function post() { switch ($_POST['rop']) { case 'post_roommate': $this->loadUserRoommate(); if ($this->roommate->post()) { try { $this->roommate->save(); $this->setCarryMessage('Roommate saved successfully.'); \PHPWS_Core::reroute($this->roommate->viewLink()); } catch (\Exception $e) { $this->setCarryMessage($e->getMessage()); \PHPWS_Core::reroute('index.php?module=properties&rop=view'); } } else { $this->editRoommate(); $this->display(); } break; case 'send_message': if (!$this->sendMessage()) { $this->content = 'Sorry, but we couldn\'t save your message.'; return; } if (!$this->roommate->id) { $this->content = 'Sorry, could not find this roommate. <a href="index.php?module=properties&rop=view">Go back to the list?</a>'; } else { $this->setCarryMessage('Message sent'); \PHPWS_Core::goBack(); } break; case 'report_post': $this->reportPost(); \PHPWS_Core::reroute('index.php?module=properties&rop=read_messages'); break; } }
public function admin() { if (!Current_User::allow('pagesmith')) { Current_User::disallow(); } $this->loadPanel(); $javascript = false; switch ($_REQUEST['aop']) { case 'block_info': $this->getTextBlockData($_GET['bid'], $_GET['pid'], $_GET['section_id']); exit; case 'save_block': $this->saveBlockData($_POST['pid'], $_POST['bid'], $_POST['section_id'], $_POST['content']); PHPWS_Cache::clearCache(); exit; case 'get_undo': $this->getLastUndo($_GET['pid'], $_GET['bid'], $_GET['section_id']); exit; case 'menu': $this->loadForms(); if (!isset($_GET['tab'])) { $tab = $this->panel->getCurrentTab(); } else { $tab =& $_GET['tab']; } switch ($tab) { case 'new': $this->resetUndoSession(0); $this->clearPageSession(); $this->loadPage(); $this->forms->editPage(); break; case 'list': $this->forms->pageList(); break; case 'settings': if (!Current_User::allow('pagesmith', null, null, null, true)) { Current_User::disallow(); } $this->forms->settings(); break; } break; case 'edit_page': $this->resetUndoSession(0); $this->loadPage(); if (!$this->page->id) { $this->title = dgettext('pagesmith', 'Sorry'); $this->content = dgettext('pagesmith', 'Page not found'); break; } $this->loadForms(); if (!Current_User::allow('pagesmith', 'edit_page', $this->page->id)) { Current_User::disallow(); } $this->page->loadSections(true); $this->forms->pageLayout(); break; case 'pick_template': $this->resetUndoSession(0); $this->loadForms(); $this->loadPage(); $this->page->loadTemplate(); $this->page->loadSections(true); $this->killSaved($this->page->id); $this->forms->editPage(); break; case 'delete_page': if (!Current_User::authorized('pagesmith', 'delete_page')) { Current_User::disallow(); } $this->loadPage(); $this->page->delete(); PHPWS_Cache::clearCache(); $this->loadForms(); $this->forms->pageList(); break; case 'edit_page_header': $this->loadPage(); $this->loadForms(); $this->forms->editPageHeader(); $javascript = true; break; case 'delete_section': $this->deleteSection($_GET['sec_id']); exit; break; case 'post_header': $this->postHeader(); break; case 'post_text': $this->postText(); break; case 'post_page': $result = $this->postPage(); switch ($result) { case -1: $this->loadForms(); $this->page->loadSections(true); $this->forms->editPage(); break; case 0: $this->message = dgettext('pagesmith', 'Not enough content to create a page.'); $this->loadForms(); $this->page->loadSections(true); $this->forms->editPage(); break; case 1: $this->killSaved($this->page->id); PHPWS_Cache::clearCache(); PHPWS_Core::reroute($this->page->url()); break; } break; case 'front_page_toggle': $db = \Database::newDB(); $db->addTable('ps_page')->addValue('front_page', 0); $db->update(); $this->loadPage(); $this->page->front_page = (bool) $_GET['fp']; $this->page->save(); PHPWS_Cache::clearCache(); $this->removeFromMenu(); $this->loadForms(); $this->forms->pageList(); break; case 'shorten_links': if (!Current_User::authorized('pagesmith', 'settings', null, null, true)) { Current_User::disallow(); } $this->shortenLinks(); PHPWS_Core::goBack(); break; case 'lengthen_links': if (!Current_User::authorized('pagesmith', 'settings', null, null, true)) { Current_User::disallow(); } $this->lengthenLinks(); PHPWS_Core::goBack(); break; case 'post_settings': if (!Current_User::authorized('pagesmith', 'settings', null, null, true)) { Current_User::disallow(); } $this->postSettings(); $this->message = dgettext('pagesmith', 'Settings saved'); $this->loadForms(); $this->forms->settings(); break; default: PHPWS_Core::errorPage('404'); break; } if ($javascript) { $tpl['TITLE'] = $this->title; $tpl['CONTENT'] = $this->content; $tpl['MESSAGE'] = $this->message; Layout::nakedDisplay(PHPWS_Template::process($tpl, 'pagesmith', 'admin_main.tpl')); } else { Layout::add(PHPWS_ControlPanel::display($this->panel->display($this->content, $this->title, $this->message))); } }
/** * Action * * @author Greg Meiste <*****@*****.**> */ function action() { Layout::addStyle('wiki'); if (!PHPWS_Settings::get('wiki', 'allow_anon_view') && !Current_User::isLogged()) { Current_User::requireLogin(); return; } if (isset($_REQUEST['page_id']) && is_numeric($_REQUEST['page_id'])) { PHPWS_Core::initModClass('wiki', 'WikiPage.php'); $wikipage = new WikiPage($_REQUEST['page_id']); } else { if (isset($_REQUEST['page']) && is_string($_REQUEST['page'])) { PHPWS_Core::initModClass('wiki', 'WikiPage.php'); $wikipage = new WikiPage($_REQUEST['page']); } } if (!isset($_REQUEST['op']) && !isset($_REQUEST['page_op'])) { // phpWebSite 1.5.0 and later mod_rewrite method if (isset($_GET['var1'])) { $_REQUEST['id'] = $_GET['id'] = $_GET['var1']; } if (isset($_REQUEST['id']) && is_string($_REQUEST['id'])) { PHPWS_Core::initModClass('wiki', 'WikiPage.php'); $wikipage = new WikiPage($_REQUEST['id']); } $_REQUEST['page_op'] = 'view'; } WikiManager::addToMiniAdmin(); if (isset($_REQUEST['page_op']) && isset($wikipage)) { $wikipage->action(); return; } switch (@$_REQUEST['op']) { case 'admin': case 'savesettings': PHPWS_Core::initModClass('wiki', 'WikiSettings.php'); WikiSettings::admin(); break; case 'doimagedelete': case 'doimageupload': case 'imageupload': WikiManager::imageUpload(); break; case 'imagedelete': PHPWS_Core::initModClass('wiki', 'WikiImage.php'); $delImage = new WikiImage($_REQUEST['id']); $template['TITLE'] = dgettext('wiki', 'Wiki Images'); $template['CONTENT'] = $delImage->delete(); Layout::add(PHPWS_Template::process($template, 'wiki', 'box.tpl'), 'wiki', 'wiki_mod', TRUE); break; case 'imagecopy': PHPWS_Core::initModClass('wiki', 'WikiImage.php'); $image = new WikiImage($_REQUEST['id']); Clipboard::copy($image->getFilename(), $image->getTag()); PHPWS_Core::goBack(); break; case 'recentchanges': $template['TITLE'] = dgettext('wiki', 'Recent changes'); $template['CONTENT'] = WikiManager::recentChanges(); Layout::add(PHPWS_Template::process($template, 'wiki', 'box.tpl'), 'wiki', 'wiki_mod', TRUE); break; case 'random': WikiManager::random(); break; case 'interwikisetup': case 'addinterwiki': PHPWS_Core::initModClass('wiki', 'InterWiki.php'); $interwiki = new InterWiki(); $interwiki->setup(); break; case 'editinterwiki': case 'saveinterwiki': case 'deleteinterwiki': case 'dodeleteinterwiki': PHPWS_Core::initModClass('wiki', 'InterWiki.php'); $interwiki = new InterWiki($_REQUEST['id']); $interwiki->setup(); break; case 'copyinterwiki': PHPWS_Core::initModClass('wiki', 'InterWiki.php'); $interwiki = new InterWiki($_REQUEST['id']); Clipboard::copy($interwiki->getLabel(), $interwiki->getLabel() . ':PageName'); PHPWS_Core::goBack(); break; default: $_REQUEST['page'] = PHPWS_Settings::get('wiki', 'default_page'); WikiManager::action(); } }
public static function main() { if (!Current_User::authorized('blog')) { Current_User::disallow(dgettext('blog', 'User attempted access to Blog administration.')); return; } $title = $content = NULL; $message = Blog_Admin::getForward(); $panel = Blog_Admin::cpanel(); $panel->enableSecure(); if (isset($_REQUEST['command'])) { $command = $_REQUEST['command']; } else { $command = $panel->getCurrentTab(); } if (isset($_REQUEST['blog_id'])) { $blog = new Blog((int) $_REQUEST['blog_id']); } else { $blog = new Blog(); } switch ($command) { case 'edit': $panel->setCurrentTab('list'); if (!Current_User::isUser($blog->author_id) && !Current_User::authorized('blog', 'edit_blog', $_REQUEST['blog_id'], 'entry')) { Current_User::disallow(dgettext('blog', 'User tried to edit a blog.')); return; } $title = dgettext('blog', 'Update Blog Entry'); $content = Blog_Form::edit($blog); break; case 'new': $title = dgettext('blog', 'New Blog Entry'); $content = Blog_Form::edit($blog); break; case 'delete': //Blog_Admin::resetCache(); $result = $blog->delete(); Blog_Admin::setForward(dgettext('blog', 'Blog entry deleted.'), 'list'); break; case 'list': $title = dgettext('blog', 'Blog Entries'); $content = Blog_Admin::entry_list(); break; case 'menu_submit_link': Menu::pinLink(dgettext('blog', 'Submit entry'), 'index.php?module=blog&action=user&action=submit'); PHPWS_Core::reroute('index.php?module=blog&action=admin&tab=settings&authkey=' . Current_User::getAuthKey()); break; case 'sticky': if (!Current_User::isUnrestricted('blog')) { Current_User::disallow(); } Blog_Admin::sticky($blog); PHPWS_Core::goBack(); break; case 'unsticky': if (!Current_User::isUnrestricted('blog')) { Current_User::disallow(); } Blog_Admin::unsticky($blog); PHPWS_Core::goBack(); break; case 'post_entry': $title = dgettext('blog', 'Blog Archive'); $panel->setCurrentTab('list'); $blog->post_entry(); $link_back = PHPWS_Text::linkAddress('blog', array('action' => 'admin', 'tab' => 'list'), TRUE); if ($blog->_error) { if (empty($blog->id)) { $panel->setCurrentTab('new'); } $content = Blog_Form::edit($blog); } else { if (!isset($_POST['blog_id']) && PHPWS_Core::isPosted()) { Blog_Admin::setForward(dgettext('blog', 'Entry saved successfully.'), 'list'); } $result = $blog->save(); //Blog_Admin::resetCache(); if (PHPWS_Error::isError($result)) { $message = dgettext('blog', 'An error occurred when trying to save your entry. Please check your logs.'); PHPWS_Error::log($result); Blog_Admin::setForward($message, 'list'); } if (!$blog->approved) { Blog_Admin::setForward(dgettext('blog', 'Your entry is being held for approval.'), 'list'); } else { PHPWS_Core::reroute($blog->getViewLink(true)); } } break; case 'reset_cache': Blog_Admin::resetCache(); PHPWS_Core::goBack(); break; case 'post_settings': if (!Current_User::authorized('blog', 'settings')) { Current_User::disallow(); return; } if (Current_User::isDeity() && isset($_POST['purge_confirm'])) { $title = dgettext('blog', 'Purge Blog Entries'); $content = Blog_Admin::confirmPurge($_POST['purge_date']); break; } Blog_Admin::postSettings(); $message = dgettext('blog', 'Blog settings saved.'); case 'settings': if (!Current_User::allow('blog', 'settings')) { Current_User::disallow(); return; } $panel->setCurrentTab('settings'); $title = dgettext('blog', 'Blog Settings'); $content = Blog_Form::settings(); break; case 'purge_entries': if (Current_User::authorized('blog') && Current_User::isDeity()) { Blog_Admin::purgeEntries($_GET['pd']); $message = dgettext('blog', 'Blog entries purged.'); } $content = Blog_Form::settings(); } Layout::add(PHPWS_ControlPanel::display($panel->display($content, $title, $message))); }
public static function main() { $title = $content = NULL; $message = Access::getMessage(); if (!Current_User::allow('access')) { Current_User::disallow(); exit; } $panel = Access::cpanel(); if (isset($_REQUEST['command'])) { $command = $_REQUEST['command']; } else { $command = $panel->getCurrentTab(); } // If the command is empty, that means no tabs were set // In this case, an admin with full rights needs to log in if (empty($command)) { $title = dgettext('access', 'Sorry'); $content = dgettext('access', 'Access needs a higher administrator\'s attention before you may use it.'); } else { switch ($command) { case 'post_admin': Access::saveAdmin(); Access::sendMessage(dgettext('access', 'Settings saved.'), 'admin'); break; case 'restore_default': $source = PHPWS_SOURCE_DIR . 'core/inc/htaccess'; $dest = PHPWS_HOME_DIR . '.htaccess'; if (copy($source, $dest)) { Access::sendMessage(dgettext('access', 'Default .htaccess file restored.'), 'update'); } else { Access::sendMessage(dgettext('access', 'Unable to restore default .htaccess file.'), 'update'); } break; case 'post_deny_allow': $result = Access::postDenyAllow(); if ($result == false) { Access::sendMessage(dgettext('access', 'IP address was not formatted correctly or not allowed.'), 'deny_allow'); } elseif (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); Access::sendMessage(dgettext('access', 'An error occurred.') . ' ' . dgettext('access', 'Please check your logs.'), 'deny_allow'); } Access::sendMessage(NULL, 'deny_allow'); break; case 'delete_allow_deny': PHPWS_Core::initModClass('access', 'Allow_Deny.php'); $allow_deny = new Access_Allow_Deny($_GET['ad_id']); $allow_deny->delete(); Access::sendMessage(dgettext('access', 'IP address deleted.'), 'deny_allow'); break; case 'deny_allow': PHPWS_Core::initModClass('access', 'Forms.php'); $title = dgettext('access', 'Denys and Allows'); $content = Access_Forms::denyAllowForm(); break; case 'delete_shortcut': PHPWS_Core::initModClass('access', 'Shortcut.php'); $shortcut = new Access_Shortcut($_REQUEST['shortcut_id']); if (empty($shortcut->_error) && $shortcut->id) { $result = $shortcut->delete(); if (PHPWS_Error::isError($result)) { Access::sendMessage(dgettext('access', 'An error occurred when deleting your shortcut.'), 'shortcuts'); } } Access::sendMessage(dgettext('access', 'Shortcut deleted'), 'shortcuts'); break; case 'shortcuts': PHPWS_Core::initModClass('access', 'Forms.php'); $title = dgettext('access', 'Shortcuts'); $content = Access_Forms::shortcuts(); break; case 'post_shortcut_list': $message = NULL; $result = Access::postShortcutList(); if (PHPWS_Error::isError($result)) { $message = dgettext('access', 'An error occurred.') . ' ' . dgettext('access', 'Please check your logs.'); } Access::sendMessage($message, 'shortcuts'); break; case 'edit_shortcut': PHPWS_Core::initModClass('access', 'Forms.php'); echo Access_Forms::shortcut_menu(); exit; break; case 'post_shortcut': PHPWS_Core::initModClass('access', 'Shortcut.php'); $sch_id = filter_input(INPUT_POST, 'sch_id', FILTER_SANITIZE_NUMBER_INT); if ($sch_id) { $shortcut = new Access_Shortcut($sch_id); } else { $shortcut = new Access_Shortcut(); } try { $shortcut->postShortcut(); $shortcut->save(); $json['keyword'] = $shortcut->keyword; $json['error'] = 0; } catch (\Exception $e) { $json['message'] = $e->getMessage(); $json['error'] = 1; } echo json_encode($json); exit; break; case 'htaccess': if (Current_User::isDeity()) { $title = dgettext('access', 'htaccess'); $content = Access::htaccess(); } else { Current_User::disallow(); } break; case 'add_rewritebase': if (Current_User::isDeity()) { Access::addRewriteBase(); PHPWS_Core::goBack(); } else { Current_User::disallow(); } break; case 'add_forward': if (Current_User::isDeity()) { Access::addForward(); PHPWS_Core::goBack(); } else { Current_User::disallow(); } break; case 'remove_forward': if (Current_User::isDeity()) { Access::removeForward(); PHPWS_Core::goBack(); } else { Current_User::disallow(); } break; case 'menu_fix': Access::menuFix(); PHPWS_Core::goBack(); break; case 'page_fix': Access::pageFix(); PHPWS_Core::goBack(); break; case 'autoforward_on': PHPWS_Settings::set('access', 'forward_ids', 1); PHPWS_Settings::save('access'); PHPWS_Core::goBack(); break; case 'autoforward_off': PHPWS_Settings::set('access', 'forward_ids', 0); PHPWS_Settings::save('access'); PHPWS_Core::goBack(); break; } } $tpl['TITLE'] = $title; $tpl['MESSAGE'] = $message; $tpl['CONTENT'] = $content; $main = PHPWS_Template::process($tpl, 'access', 'main.tpl'); $panel->setContent($main); $finalPanel = $panel->display(); Layout::add(PHPWS_ControlPanel::display($finalPanel)); }
public static function main() { if (!Current_User::allow('search')) { Current_User::disallow(); } $panel = Search_Admin::cpanel(); if (isset($_REQUEST['command'])) { $command = $_REQUEST['command']; } elseif (isset($_REQUEST['tab'])) { $command = $_REQUEST['tab']; } else { $command = $panel->getCurrentTab(); } switch ($command) { case 'delete_keyword': case 'add_keyword': case 'remove_searchword': case 'add_ignore': if (!Current_User::authorized('search')) { Current_User::disallow(); } break; } switch ($command) { case 'keyword': $template = Search_Admin::keyword(); break; case 'ignore': $template = Search_Admin::ignore(); break; case 'settings': $template = Search_Admin::settings(); break; case 'close_admin': unset($_SESSION['Search_Add_Words']); unset($_SESSION['Search_Admin']); PHPWS_Core::goBack(); break; case 'delete_keyword': Search_Admin::deleteKeyword(); PHPWS_Core::goBack(); break; case 'add_parse_word': if (!isset($_REQUEST['keyword'])) { PHPWS_Core::goBack(); } Search_Admin::addParseWord($_REQUEST['keyword']); Search_Admin::sendMessage(dgettext('search', 'Keywords added to admin menu.'), 'keyword'); break; case 'drop_keyword': if (isset($_SESSION['Search_Add_Words'])) { $array_key = array_search($_REQUEST['kw'], $_SESSION['Search_Add_Words']); if ($array_key !== FALSE) { unset($_SESSION['Search_Add_Words'][$array_key]); } } PHPWS_Core::goBack(); break; case 'add_keyword': if (!isset($_GET['kw']) || !isset($_GET['key_id'])) { PHPWS_Core::goBack(); } Search_Admin::addKeyword($_GET['kw'], $_GET['key_id']); PHPWS_Core::goBack(); break; case 'remove_searchword': if (!isset($_GET['kw']) || !isset($_GET['key_id'])) { PHPWS_Core::goBack(); } Search_Admin::removeSearchword($_GET['kw'], $_GET['key_id']); PHPWS_Core::goBack(); break; case 'add_ignore': if (!isset($_GET['keyword'])) { PHPWS_Core::goBack(); } Search_Admin::setIgnore($_GET['keyword'], 1); PHPWS_Core::goBack(); break; case 'remove_ignore': if (!isset($_GET['keyword'])) { PHPWS_Core::goBack(); } Search_Admin::setIgnore($_GET['keyword'], 0); PHPWS_Core::goBack(); break; case 'save_settings': Search_Admin::saveSettings(); Search_Admin::sendMessage(dgettext('search', 'Settings saved'), 'settings'); break; } $template['MESSAGE'] = Search_Admin::getMessage(); $final = PHPWS_Template::process($template, 'search', 'main.tpl'); $panel->setContent($final); $finalPanel = $panel->display(); Layout::add(PHPWS_ControlPanel::display($finalPanel)); }
public static function display() { PHPWS_Core::initModClass('intern', 'Term.php'); PHPWS_Core::initModClass('intern', 'Department.php'); PHPWS_Core::initModClass('intern', 'Major.php'); PHPWS_Core::initModClass('intern', 'GradProgram.php'); PHPWS_Core::initModClass('intern', 'Internship.php'); PHPWS_Core::initModClass('intern', 'Agency.php'); PHPWS_Core::initModClass('intern', 'Subject.php'); PHPWS_Core::initModClass('intern', 'WorkflowStateFactory.php'); // Set up search fields $form = new PHPWS_Form(); $form->setMethod('get'); $form->addHidden('module', 'intern'); $form->addHidden('action', 'results'); $form->useRowRepeat(); $form->addText('name'); $form->setLabel('name', "Name or Banner ID"); $terms = Term::getTermsAssoc(); //$thisTerm = Term::timeToTerm(time()); $form->addSelect('term_select', $terms); $form->setLabel('term_select', 'Term'); $form->setClass('term_select', 'form-control'); //$form->setMatch('term_select', $thisTerm); // Deity can search for any department. Other users are restricted. if (Current_User::isDeity()) { $depts = Department::getDepartmentsAssoc(); } else { $depts = Department::getDepartmentsAssocForUsername(Current_User::getUsername()); } $form->addSelect('dept', $depts); $form->setLabel('dept', 'Department'); //$form->setClass('', 'form-control'); $form->setClass('dept', 'form-control'); // If the user only has one department, select it for them // sizeof($depts) == 2 because of the 'Select Deparmtnet' option if (sizeof($depts) == 2) { $keys = array_keys($depts); $form->setMatch('dept', $keys[1]); } // Student level radio button javascript('jquery'); javascriptMod('intern', 'majorSelector', array('form_id' => $form->id)); $levels = array('-1' => 'Any Level', 'ugrad' => 'Undergraduate', 'grad' => 'Graduate'); $form->addSelect('student_level', $levels); $form->setLabel('student_level', 'Level'); $form->setClass('student_level', 'form-control'); // Student Major dummy box (gets replaced by dropdowns below using JS when student_level is selected) $levels = array('-1' => 'Choose student level first'); $form->addDropBox('student_major', $levels); $form->setLabel('student_major', 'Major / Program'); $form->addCssClass('student_major', 'form-control'); // Undergrad major drop down if (isset($s)) { $majors = Major::getMajorsAssoc($s->ugrad_major); } else { $majors = Major::getMajorsAssoc(); } $form->addSelect('ugrad_major', $majors); $form->setLabel('ugrad_major', 'Undergraduate Majors & Certificate Programs'); $form->setClass('ugrad_major', 'form-control'); // Graduate major drop down if (isset($s)) { $progs = GradProgram::getGradProgsAssoc($s->grad_prog); } else { $progs = GradProgram::getGradProgsAssoc(); } $form->addSelect('grad_prog', $progs); $form->setLabel('grad_prog', 'Graduate Majors & Certificate Programs'); $form->setClass('grad_prog', 'form-control'); // Campus $campuses = array('main_campus' => 'Main Campus', 'distance_ed' => 'Distance Ed'); $form->addRadioAssoc('campus', $campuses); /*************** * Course Info * ***************/ $subjects = Subject::getSubjects(); $form->addSelect('course_subj', $subjects); $form->setLabel('course_subj', 'Subject'); $form->setClass('course_subj', 'form-control'); $form->addText('course_no'); $form->setLabel('course_no', 'Course Number'); $form->setSize('course_no', 6); $form->setMaxSize('course_no', 4); $form->setClass('course_no', 'form-control'); $form->addText('course_sect'); $form->setLabel('course_sect', 'Section'); $form->setSize('course_sect', 6); $form->setMaxSize('course_sect', 4); $form->setClass('course_sect', 'form-control'); // Internship types. $types = Internship::getTypesAssoc(); $form->addRadioAssoc('type', $types); // Location $loc = array('domestic' => 'Domestic', 'internat' => 'International'); $form->addRadioAssoc('loc', $loc); /* State search */ $db = new PHPWS_DB('intern_state'); $db->addWhere('active', 1); $db->addColumn('abbr'); $db->addColumn('full_name'); $db->setIndexBy('abbr'); // get backwards because we flip it $db->addOrder('full_name desc'); $states = $db->select('col'); if (empty($states)) { NQ::simple('intern', INTERN_ERROR, 'The list of allowed US states for internship locations has not been configured. Please use the administrative options to <a href="index.php?module=intern&action=edit_states">add allowed states.</a>'); NQ::close(); PHPWS_Core::goBack(); } $states[-1] = 'Select state'; $states = array_reverse($states, true); $form->addSelect('state', $states); $form->setLabel('state', 'State'); $form->setClass('state', 'form-control'); /* Province search */ $form->addText('prov'); $form->setLabel('prov', 'Province/Territory'); $form->setClass('prov', 'form-control'); // Workflow states $workflowStates = WorkflowStateFactory::getStatesAssoc(); unset($workflowStates['CreationState']); // Remove this state, since it's not valid (internal only state for initial creation) $form->addCheckAssoc('workflow_state', $workflowStates); unset($_REQUEST['module']); unset($_REQUEST['action']); unset($_REQUEST['submit']); //test($_REQUEST,1); $form->plugIn($_REQUEST); $form->addSubmit('submit', 'Search'); // Javascript... javascript('jquery'); javascriptMod('intern', 'resetSearch'); return PHPWS_Template::process($form->getTemplate(), 'intern', 'search.tpl'); }
public static function permission() { if (!isset($_REQUEST['key_id'])) { return; } $key = new Key((int) $_REQUEST['key_id']); if (!Key::checkKey($key, false)) { return; } if (Current_User::isRestricted($key->module) || !$key->allowEdit()) { Current_User::disallow(); } // View permissions must be first to allow error checking // Edit will add its list to the view Users_Permission::postViewPermissions($key); Users_Permission::postEditPermissions($key); $result = $key->savePermissions(); if (isset($_POST['popbox'])) { Layout::nakedDisplay(javascript('close_refresh', array('refresh' => 0))); } else { if (PHPWS_Error::logIfError($result)) { $_SESSION['Permission_Message'] = dgettext('users', 'An error occurred.'); } else { $_SESSION['Permission_Message'] = dgettext('users', 'Permissions updated.'); } PHPWS_Core::goBack(); } }
public function process() { if (!Current_User::allow('checkin')) { Current_User::disallow(); } if (isset($_REQUEST['aop'])) { if ($_REQUEST['aop'] == 'switch') { if (Current_User::allow('checkin', 'settings')) { $cmd = 'settings'; } elseif (Current_User::allow('checkin', 'assign_visitors')) { $cmd = 'assign'; } else { $cmd = 'waiting'; } } else { $cmd = $_REQUEST['aop']; } } elseif ($_REQUEST['tab']) { $cmd = $_REQUEST['tab']; } else { PHPWS_Core::errorPage('404'); } $js = false; $js = isset($_GET['print']); switch ($cmd) { case 'finish_meeting': $this->finishMeeting(); PHPWS_Core::goBack(); break; case 'start_meeting': $this->startMeeting(); PHPWS_Core::goBack(); break; case 'sendback': $this->sendBack(); PHPWS_Core::goBack(); break; case 'unavailable': $this->unavailable(); PHPWS_Core::goBack(); break; case 'available': $this->available(); PHPWS_Core::goBack(); break; case 'report': if (!PHPWS_Settings::get('checkin', 'staff_see_reports') && !Current_User::allow('checkin', 'assign_visitors')) { Current_User::disallow(); } if (isset($_GET['daily_report'])) { $this->dailyReport(isset($_GET['print'])); } elseif (isset($_GET['summary_report'])) { $this->summaryReport(); } else { $this->report(); } //$this->report2(); break; case 'daily_report': if (!PHPWS_Settings::get('checkin', 'staff_see_reports') && !Current_User::allow('checkin', 'assign_visitors')) { Current_User::disallow(); } break; case 'month_report': if (!Current_User::allow('checkin', 'assign_visitors')) { Current_User::disallow(); } $this->monthReport(isset($_GET['print'])); break; case 'visitor_report': if (!Current_User::allow('checkin', 'assign_visitors')) { Current_User::disallow(); } $this->visitorReport(isset($_GET['print'])); break; case 'reassign': // Called via ajax if (Current_User::authorized('checkin', 'assign_visitors')) { if (isset($_GET['staff_id']) && $_GET['staff_id'] >= 0 && isset($_GET['visitor_id'])) { $this->loadVisitor($_GET['visitor_id']); $staff_id = $this->visitor->assigned; $db = new PHPWS_DB('checkin_visitor'); $db->addValue('assigned', (int) $_GET['staff_id']); $db->addWhere('id', (int) $_GET['visitor_id']); PHPWS_Error::logIfError($db->update()); printf('staff_id %s, visitor_id %s', $_GET['staff_id'], $_GET['visitor_id']); $this->loadStaff($staff_id); /* if ($this->staff->status == 3) { $this->staff->status = 0; $this->staff->save(); } */ } } exit; break; case 'move_up': if (Current_User::allow('checkin', 'assign_visitors')) { $db = new PHPWS_DB('checkin_staff'); $db->moveRow('view_order', 'id', $_GET['staff_id'], 'up'); } PHPWS_Core::goBack(); break; case 'move_down': if (Current_User::allow('checkin', 'assign_visitors')) { $db = new PHPWS_DB('checkin_staff'); $db->moveRow('view_order', 'id', $_GET['staff_id'], 'down'); } PHPWS_Core::goBack(); break; case 'assign': if (Current_User::allow('checkin', 'assign_visitors')) { $this->panel->setCurrentTab('assign'); $this->assign(); } break; case 'post_note': $this->loadVisitor(); $this->saveNote(); PHPWS_Core::goBack(); break; case 'hide_panel': PHPWS_Cookie::write('checkin_hide_panel', 1); PHPWS_Core::goBack(); break; case 'show_panel': PHPWS_Cookie::delete('checkin_hide_panel'); PHPWS_Core::goBack(); $this->panel->setCurrentTab('assign'); $this->assign(); break; case 'hide_sidebar': PHPWS_Cookie::write('checkin_hide_sidebar', 1); PHPWS_Core::goBack(); $this->panel->setCurrentTab('assign'); $this->use_sidebar = false; $this->assign(); break; case 'show_sidebar': PHPWS_Cookie::delete('checkin_hide_sidebar'); PHPWS_Core::goBack(); $this->panel->setCurrentTab('assign'); $this->assign(); break; case 'waiting': $this->panel->setCurrentTab('waiting'); $this->loadCurrentStaff(); $this->waiting(); break; case 'repeats': $this->repeats(); break; case 'small_wait': $this->loadCurrentStaff(); $this->waiting(true); $js = true; break; case 'remove_visitor': if (Current_User::allow('checkin', 'remove_visitors')) { $this->removeVisitor(); } PHPWS_Core::goBack(); break; case 'settings': if (Current_User::allow('checkin', 'settings')) { $this->panel->setCurrentTab('settings'); $this->settings(); } break; case 'reasons': if (Current_User::allow('checkin', 'settings')) { $this->panel->setCurrentTab('reasons'); $this->reasons(); } break; case 'post_reason': if (Current_User::allow('checkin', 'settings')) { $this->loadReason(); if ($this->postReason()) { $this->reason->save(); PHPWS_Core::reroute('index.php?module=checkin&tab=reasons'); } else { $this->editReason(); } } break; case 'staff': $this->panel->setCurrentTab('staff'); $this->staff(); break; case 'edit_staff': if (Current_User::allow('checkin', 'settings')) { $this->loadStaff(null, true); $this->editStaff(); } break; case 'search_users': $this->searchUsers(); break; case 'update_reason': if (Current_User::allow('checkin', 'settings')) { if (Current_User::authorized('checkin', 'settings')) { $this->updateReason(); } $this->panel->setCurrentTab('settings'); $this->settings(); } break; case 'post_staff': if (!Current_User::authorized('checkin', 'settings')) { Current_User::disallow(); } if ($this->postStaff()) { // save post $this->staff->save(); $this->staff->saveReasons(); PHPWS_Core::reroute('index.php?module=checkin&tab=staff'); } else { // post failed $this->loadStaff(); $this->editStaff(); } break; case 'post_settings': // from Checkin_Admin::settings if (Current_User::authorized('checkin', 'settings')) { $this->postSettings(); } PHPWS_Core::reroute('index.php?module=checkin&tab=settings'); break; case 'edit_reason': $this->loadReason(); $this->editReason(); break; case 'delete_reason': $this->loadReason(); $this->reason->delete(); PHPWS_Core::goBack(); break; case 'deactivate_staff': PHPWS_Core::initModClass('checkin', 'Staff.php'); $staff = new Checkin_Staff($_GET['id']); $staff->active = 0; $staff->save(); PHPWS_Core::goBack(); break; case 'activate_staff': PHPWS_Core::initModClass('checkin', 'Staff.php'); $staff = new Checkin_Staff($_GET['id']); $staff->active = 1; $staff->save(); PHPWS_Core::goBack(); break; // This is for testing purposes and never happens in actual use // This is for testing purposes and never happens in actual use case 'unassignAll': $this->unassignAll(); break; // This is for testing purposes and never happens in actual use // This is for testing purposes and never happens in actual use case 'auto_assign': $this->autoAssign(); break; } if (empty($this->content)) { $this->content = dgettext('checkin', 'Command not recognized.'); } if ($js) { $tpl['TITLE'] =& $this->title; $tpl['CONTENT'] =& $this->content; $tpl['MESSAGE'] =& $this->message; $content = PHPWS_Template::process($tpl, 'checkin', 'main.tpl'); Layout::nakedDisplay($content, $this->title); } else { if (is_array($this->message)) { $this->message = implode('<br />', $this->message); } if (!$this->use_sidebar) { Layout::collapse(); } if ($this->use_panel) { Layout::add(PHPWS_ControlPanel::display($this->panel->display($this->content, $this->title, $this->message))); } else { $tpl['TITLE'] =& $this->title; $tpl['CONTENT'] =& $this->content; $tpl['MESSAGE'] =& $this->message; Layout::add(PHPWS_Template::process($tpl, 'checkin', 'main.tpl')); } } }
public function get() { $this->loadContact(); switch ($_GET['cop']) { case 'logout': unset($_SESSION['Contact_User']); \PHPWS_Core::home(); break; case 'manager_sign_up': if (!self::allowNewUserSignup()) { $this->title = 'Sorry'; $this->content = '<p>New manager sign ups are not permitted at this time.</p>'; } else { $this->newManagerSetup(); } break; case 'edit_property': $this->checkPermission(); $this->loadProperty($this->contact->id); $this->editProperty($this->contact->id); break; case 'view_properties': $this->checkPermission(); $this->title = "Properties list"; $this->propertiesList($this->contact->id); break; case 'photo_form': $photo = new Photo(); echo $photo->form(); exit; break; case 'activate_property': $this->checkPermission(); $this->loadProperty(); $this->property->setActive(true); $this->property->save(); \PHPWS_Core::goBack(); break; case 'deactivate_property': $this->checkPermission(); $this->loadProperty(); $this->property->setActive(false); $this->property->save(); \PHPWS_Core::goBack(); break; case 'edit_contact': $this->checkPermission(); $this->editContact(); break; case 'delete_photo': // called via ajax $this->checkPermission(); ob_start(); $photo = new Photo($_GET['id']); $photo->delete(); echo Photo::getThumbs($photo->pid); exit; break; case 'delete_property': $this->checkPermission(); $this->loadProperty(); // double security if ($this->property->contact_id == $this->contact->id) { $this->property->delete(); } \PHPWS_Core::goBack(); break; case 'make_main': $photo = new Photo($_GET['id']); $photo->makeMain(); exit; break; case 'update': $this->checkPermission(); $this->loadProperty(); $this->property->update(); \PHPWS_Core::goBack(); break; case 'checkUsername': $this->checkUsername(); exit; case 'checkEmail': $this->checkEmail(); exit; } $this->display(); }
public function adminMenu() { if (!Current_User::allow('signup')) { Current_User::disallow(); } $this->loadPanel(); $javascript = false; $this->loadMessage(); $command = $_REQUEST['aop']; switch ($command) { case 'add_slot_peep': $javascript = true; $this->loadPeep(); $this->loadForm('edit_peep'); break; case 'menu': if (!isset($_GET['tab'])) { $this->loadForm('list'); } else { $this->loadForm($_GET['tab']); } break; case 'delete_sheet': $this->loadSheet(); $this->sheet->delete(); $this->message = dgettext('signup', 'Signup sheet deleted.'); $this->loadForm('list'); break; case 'edit_sheet': $this->loadForm('edit_sheet'); break; case 'edit_slot_peep': $javascript = true; $this->loadPeep(); $this->loadForm('edit_peep'); break; case 'edit_slot_popup': $javascript = true; $this->loadSlot(); $this->loadForm('edit_slot_popup'); break; case 'edit_peep_popup': $javascript = true; $this->loadSlot(); $this->loadForm('edit_peep_popup'); break; case 'print_applicants': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->printApplicants(); exit; break; case 'email_applicants': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadEmail(); $this->loadSheet(); $this->loadForm('email_applicants'); break; case 'post_email': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadEmail(); $this->loadSheet(); if ($this->postEmail()) { $this->sendEmail(); } else { $this->loadForm('email_applicants'); } break; case 'slot_listing': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->slotListing(); exit; break; case 'csv_applicants': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->csvExport(); exit; break; case 'send_email': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->sendEmail(); break; case 'edit_slots': $this->loadSheet(); $this->loadForm('edit_slots'); break; case 'search_slot': $this->searchSlots(); break; case 'post_peep': $javascript = true; if (!Current_User::authorized('signup')) { Current_User::disallow(); } if ($this->postPeep()) { // Since added by an admin, automatically registered $this->peep->registered = 1; if (PHPWS_Error::logIfError($this->peep->save())) { $this->forwardMessage(dgettext('signup', 'Error occurred when saving applicant.')); } else { $this->forwardMessage(dgettext('signup', 'Applicant saved successfully.')); } javascript('close_refresh'); Layout::nakedDisplay(); } else { $this->loadForm('edit_peep'); } break; case 'post_sheet': $this->loadSheet(); if (!Current_User::authorized('signup', 'edit_sheet', $this->sheet->id, 'sheet')) { Current_User::disallow(); } if ($this->postSheet()) { if (!$this->sheet->id && PHPWS_Core::isPosted()) { $this->message = dgettext('signup', 'Sheet previously posted.'); $this->loadForm('edit_sheet'); } else { $new_sheet = !$this->sheet->id; if (PHPWS_Error::logIfError($this->sheet->save())) { $this->forwardMessage(dgettext('signup', 'Error occurred when saving sheet.')); PHPWS_Core::reroute('index.php?module=signup&aop=list'); } else { $this->forwardMessage(dgettext('signup', 'Sheet saved successfully.')); if ($new_sheet) { PHPWS_Core::reroute('index.php?module=signup&aop=edit_slots&sheet_id=' . $this->sheet->id); } else { $this->loadForm('list'); } } } } else { $this->loadForm('edit_sheet'); } break; case 'post_slot': $javascript = true; if (!Current_User::authorized('signup')) { Current_User::disallow(); } if ($this->postSlot()) { if (PHPWS_Error::logIfError($this->slot->save())) { $this->forwardMessage(dgettext('signup', 'Error occurred when saving slot.')); } else { $this->forwardMessage(dgettext('signup', 'Slot saved successfully.')); } javascript('close_refresh'); Layout::nakedDisplay(); } else { $this->loadForm('edit_slot_popup'); } break; case 'move_peep': $this->loadPeep(); $result = $this->movePeep(); if (PHPWS_Error::logIfError($result) || !$result) { $this->forwardMessage(dgettext('signup', 'Error occurred when moving applicant. Slot may be full.')); } PHPWS_Core::goBack(); break; case 'move_top': $this->loadSlot(); $this->slot->moveTop(); PHPWS_Core::goBack(); break; case 'move_up': $this->loadSlot(); $this->slot->moveUp(); PHPWS_Core::goBack(); break; case 'move_down': $this->loadSlot(); $this->slot->moveDown(); PHPWS_Core::goBack(); break; case 'move_bottom': $this->loadSlot(); $this->slot->moveBottom(); PHPWS_Core::goBack(); break; case 'delete_slot': $this->loadSlot(); $this->deleteSlot(); break; case 'delete_slot_peep': $this->loadPeep(); $this->peep->delete(); PHPWS_Core::goBack(); break; case 'report': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->loadForm('report'); break; case 'alpha_order': case 'reset_slot_order': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->resetSlots($command); $this->forwardMessage(dgettext('signup', 'Slot order reset.')); PHPWS_Core::reroute('index.php?module=signup&sheet_id=' . $this->sheet->id . '&aop=edit_slots&authkey=' . Current_User::getAuthKey()); break; } $tpl['TITLE'] = $this->title; $tpl['CONTENT'] = $this->content; $tpl['MESSAGE'] = $this->message; if ($javascript) { $fonts = '<link rel="stylesheet" type="text/css" href="' . PHPWS_SOURCE_HTTP . 'themes/bootstrap/font-awesome/css/font-awesome.min.css" /> <link rel="stylesheet" type="text/css" href="' . PHPWS_SOURCE_HTTP . 'themes/bootstrap/css/bootstrap.min.css" />'; \Layout::addJSHeader($fonts); Layout::nakedDisplay(PHPWS_Template::process($tpl, 'signup', 'main.tpl')); } else { $this->panel->setContent(PHPWS_Template::process($tpl, 'signup', 'main.tpl')); Layout::add(PHPWS_ControlPanel::display($this->panel->display())); } }
$inventory = new InternshipInventory(); $inventory->handleRequest(); $content = $inventory->getContent(); } else { try { $inventory = new InternshipInventory(); $inventory->handleRequest(); $content = $inventory->getContent(); } catch (\Exception $e) { try { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, 'The Intern Inventory has experienced an error. The software engineers have been notified about this problem. We apologize for the inconvenience.'); $message = formatException($e); emailError($message); \NQ::close(); \Intern\UI\NotifyUI::display(); \PHPWS_Core::goBack(); } catch (Exception $e) { $message2 = formatException($e); echo "The Intern Inventory has experienced a major internal error. Attempting to email an admin and then exit."; $message = "Something terrible has happened, and the exception catch-all threw an exception.\n\nThe first exception was:\n\n{$message}\n\nThe second exception was:\n\n{$message2}"; mail('*****@*****.**', 'A Major Intern Inventory Error Has Occurred', $message); exit; } } } /** * Plug content into TopUI. Show notifications. Add Style. */ if (isset($content)) { if ($content === false) { \NQ::close();
public function get() { $this->loadContact(); switch ($_GET['cop']) { case 'logout': unset($_SESSION['Contact_User']); \PHPWS_Core::home(); break; case 'edit_property': $this->checkPermission(); $this->loadProperty($this->contact->id); $this->editProperty($this->contact->id); break; case 'view_properties': $this->checkPermission(); $this->title = "Properties list"; $this->propertiesList($this->contact->id); break; case 'photo_form': $photo = new Photo(); echo $photo->form(); exit; break; case 'activate_property': $this->checkPermission(); $this->loadProperty(); $this->property->setActive(true); $this->property->save(); \PHPWS_Core::goBack(); break; case 'deactivate_property': $this->checkPermission(); $this->loadProperty(); $this->property->setActive(false); $this->property->save(); \PHPWS_Core::goBack(); break; case 'edit_contact': $this->checkPermission(); $this->editContact(); break; case 'delete_photo': // called via ajax $this->checkPermission(); ob_start(); $photo = new Photo($_GET['id']); $photo->delete(); echo Photo::getThumbs($photo->pid); exit; break; case 'delete_property': $this->checkPermission(); $this->loadProperty(); // double security if ($this->property->contact_id == $this->contact->id) { $this->property->delete(); } \PHPWS_Core::goBack(); break; case 'make_main': $photo = new Photo($_GET['id']); $photo->makeMain(); exit; break; case 'update': $this->checkPermission(); $this->loadProperty(); $this->property->update(); \PHPWS_Core::goBack(); break; } $this->display(); }
public function post() { switch ($_POST['aop']) { case 'save_property': if (!\Current_User::authorized('properties')) { Current_User::disallow('Action not allowed'); } $this->loadProperty(); if ($this->property->post()) { try { $this->property->save(); $this->setCarryMessage('Property saved successfully.'); } catch (\Exception $e) { $this->setCarryMessage($e->getMessage()); } \PHPWS_Core::reroute('index.php?module=properties&aop=properties'); } else { $this->editProperty(); } break; case 'save_contact': if (!\Current_User::authorized('properties')) { Current_User::disallow(); } $this->loadContact(); if ($this->contact->post()) { try { $this->contact->save(); if (isset($_POST['contact_contact'])) { $this->emailContact($this->contact->username, $_POST['password'], $_POST['email_address']); } $this->setCarryMessage('Contact saved successfully.'); \PHPWS_Core::reroute('index.php?module=properties&aop=contacts'); } catch (\Exception $e) { $this->setCarryMessage($e->getMessage()); $this->editContact(); } } else { $this->editContact(); } break; case 'post_photo': try { $photo = new Photo(); $photo->post(); $this->setCarryMessage('Photo uploaded'); if (isset($_POST['v'])) { $property = new Property($photo->pid); $url = './properties/id/' . $photo->pid . '/photo/1'; } else { $url = 'index.php?module=properties&aop=properties&pid=' . $photo->pid; } \PHPWS_Core::reroute($url); } catch (\Exception $e) { $this->setCarryMessage($e->getMessage()); \PHPWS_Core::goBack(); } break; case 'post_settings': if ($this->postSettings()) { $this->setCarryMessage('Settings updated'); \PHPWS_Core::reroute('index.php?module=properties&aop=settings'); } else { $this->settingsForm(); } break; case 'block_post': $this->blockPost(); $this->viewReported(); break; } $this->display(); }
/** * Handles admin functions outside of file manager. * Expects an 'aop' command. */ public function admin() { $javascript = false; // if true, sends to nakedDisplay $this->loadPanel(); if (isset($_REQUEST['aop'])) { $aop = $_REQUEST['aop']; } else { $aop = $this->panel->getCurrentTab(); } if (!Current_User::isLogged()) { Current_User::disallow(); return; } if ($aop != 'edit_image' && $aop != 'get_images' && !Current_User::allow('filecabinet')) { Current_User::disallow(); return; } // Requires an unrestricted user switch ($aop) { case 'delete_folder': case 'unpin': if (Current_User::isRestricted('filecabinet')) { Current_User::disallow(); } } switch ($aop) { case 'image': $this->panel->setCurrentTab('image'); $this->title = dgettext('filecabinet', 'Image folders'); $this->loadForms(); $this->forms->getFolders(IMAGE_FOLDER); break; case 'multimedia': $this->panel->setCurrentTab('multimedia'); $this->title = dgettext('filecabinet', 'Multimedia folders'); $this->loadForms(); $this->forms->getFolders(MULTIMEDIA_FOLDER); break; case 'add_folder': if (!Current_User::allow('filecabinet', 'edit_folders', null, null, true)) { Current_User::disallow(); } $javascript = true; $this->loadFolder(); $this->addFolder(); break; case 'classify': if (!Current_User::isDeity()) { Current_User::errorPage(); } $this->loadForms(); $this->forms->classifyFileList(); break; case 'classify_action': if (!Current_User::isDeity() || !Current_User::verifyAuthKey()) { Current_User::errorPage(); } $this->classifyAction(); break; case 'classify_file': if (!Current_User::isDeity() || !Current_User::verifyAuthKey()) { Current_User::disallow(); } $this->loadForms(); if (!empty($_POST['file_list'])) { $this->forms->classifyFile($_POST['file_list']); } elseif (isset($_GET['file'])) { $this->forms->classifyFile($_GET['file']); } else { $this->forms->classifyFileList(); } break; case 'post_classifications': if (!Current_User::isDeity()) { Current_User::errorPage(); } $result = $this->classifyFiles(); if (is_array($result)) { $this->message = implode('<br />', $result); } $this->loadForms(); $this->forms->classifyFileList(); break; case 'unpin': if (!Current_User::authorized('filecabinet')) { Current_User::disallow(); } Cabinet::unpinFolder(); PHPWS_Core::goBack(); break; case 'pin_form': $javascript = true; @($key_id = (int) $_GET['key_id']); if (!$key_id) { javascript('close_refresh', array('refresh' => 0)); break; } $this->loadForms(); $this->forms->pinFolder($key_id); break; case 'delete_folder': if (!Current_User::authorized('filecabinet', 'delete_folders', null, null, true)) { Current_User::disallow(); } $this->loadFolder(); $this->folder->delete(); PHPWS_Core::goBack(); break; case 'delete_incoming': if (!Current_User::isDeity()) { Current_User::errorPage(); } $this->deleteIncoming(); $this->loadForms(); $this->forms->classifyFileList(); break; case 'document': $this->panel->setCurrentTab('document'); $this->title = dgettext('filecabinet', 'Document folders'); $this->loadForms(); $this->forms->getFolders(DOCUMENT_FOLDER); break; case 'edit_folder_modal': $javascript = true; $this->loadFolder(); // permission check in function below $this->editFolder(false); break; case 'edit_folder': $javascript = true; $this->loadFolder(); // permission check in function below $this->editFolder(true); break; case 'change_tn': $javascript = true; $this->changeTN(); break; case 'post_thumbnail': $javascript = true; if ($this->postTN()) { javascript('close_refresh'); } else { $this->message = dgettext('filecabinet', 'Could not save thumbnail image.'); $this->changeTN(); } break; case 'post_folder': if (!Current_User::authorized('filecabinet', 'edit_folders')) { Current_User::disallow(); } $this->loadFolder(); if ($this->folder->post()) { if (!$this->folder->save()) { self::setMessage(dgettext('filecabinet', 'Failed to create folder. Please check your logs.')); } } else { self::setMessage(dgettext('filecabinet', 'Failed to create folder. Please check your logs.')); } if (filter_input(INPUT_POST, 'js') == 1) { javascript('close_refresh'); } else { PHPWS_Core::goBack(); } break; case 'post_allowed_files': if (!Current_User::isDeity()) { Current_User::disallow(); } $this->loadForms(); $this->forms->postAllowedFiles(); $this->message = dgettext('filecabinet', 'File types saved.'); $this->title = dgettext('filecabinet', 'Allowed file types'); $this->content = $this->forms->fileTypes(); break; case 'save_settings': if (!Current_User::isDeity()) { Current_User::disallow(); } $this->loadForms(); $result = $this->forms->saveSettings(); if (is_array($result)) { $this->message = implode('<br />', $result); } else { $this->message = dgettext('filecabinet', 'Settings saved.'); } case 'settings': if (!Current_User::isDeity()) { Current_User::disallow(); } $this->loadForms(); $this->title = dgettext('filecabinet', 'Settings'); $this->content = $this->forms->settings(); break; case 'view_folder': $this->viewFolder(); break; case 'file_types': if (!Current_User::isDeity()) { Current_User::disallow(); } $this->loadForms(); $this->title = dgettext('filecabinet', 'Allowed file types'); $this->content = $this->forms->fileTypes(); break; case 'fix_document_dir': if (!Current_User::isDeity() || !Current_User::verifyAuthKey()) { Current_User::disallow(); } if (strtolower($_GET['confirm']) == 'yes') { $this->fixDocumentDirectories(); } PHPWS_Core::reroute('index.php?module=filecabinet&tab=settings'); } $template['TITLE'] =& $this->title; $template['MESSAGE'] =& $this->message; $template['CONTENT'] =& $this->content; if ($javascript) { $main = PHPWS_Template::process($template, 'filecabinet', 'javascript.tpl'); Layout::nakedDisplay($main); } else { $main = PHPWS_Template::process($template, 'filecabinet', 'main.tpl'); $this->panel->setContent($main); $finalPanel = $this->panel->display(); Layout::add(PHPWS_ControlPanel::display($finalPanel)); } }
public function sendMessage($message, $location = null) { $_SESSION['Calendar_Admin_Message'] = $message; if (empty($location)) { PHPWS_Core::goBack(); } else { PHPWS_Core::reroute('index.php?module=calendar&' . $location); exit; } }
public function main() { $request = \Server::getCurrentRequest(); $title = $content = $message = NULL; PHPWS_Core::initModClass('menu', 'Menu_Item.php'); if (!Current_User::allow('menu')) { Current_User::disallow(dgettext('menu', 'User attempted access to Menu administration.')); return; } if (isset($_REQUEST['command'])) { $command = $_REQUEST['command']; } else { $command = 'list'; } // This is the AJAX switch. Byproduct of old module design :( switch ($command) { case 'adminlinks': $this->adminLinks($request); exit; case 'delete_link': $this->deleteLink($request); exit; case 'key_select': $this->keySelect(); exit; case 'post_link': $this->postLink($request); exit; case 'move_link': $this->moveLink($request); exit; case 'move_menu': $this->moveMenu($request); exit; case 'menu_options': $this->menuOptions($request); exit; case 'move_under': $this->moveUnder($request); exit; case 'transfer_link': $this->transferLink($request); exit; case 'add_key_link': $this->addKeyLink($request); exit; case 'remove_key_link': $this->removeKeyLink($request); exit; case 'delete_menu': $this->deleteMenu($request); exit; case 'post_menu': $this->postMenu($request); \PHPWS_Core::goBack(); exit; case 'pin_menu': $this->pinMenu($request); exit; case 'unpin_menu': $this->unpinMenu($request); exit; case 'change_display_type': $this->changeDisplayType($request); exit; case 'menu_data': $this->menuData($request); exit; case 'pin_all': $this->menuPinAll($request); exit; case 'clear_image': $this->clearImage($request); exit; case 'update_character_limit': $this->updateCharacterLimit($request); exit; case 'new_link_menu': $this->updateNewLink($request); exit; case 'link_icons': $this->updateLinkIcons($request); exit; case 'force_shortcut': $this->forceShortcut(); exit; } // This is the display switch or the HTML view switch switch ($command) { case 'list': $title = 'Menus'; $content = $this->menuList(); break; case 'reset_menu': if (!\Current_User::isDeity() && !\Current_User::authorized('menu')) { throw new \Http\MethodNotAllowedException(); } $this->resetMenu(); PHPWS_Core::goBack(); exit; default: throw new \Http\MethodNotAllowedException(); } $tpl['title'] = $title; $tpl['content'] = $content; if (!empty($message)) { $tpl['message'] = $message; } $template = new \Template($tpl); $template->setModuleTemplate('menu', 'admin/main.html'); Layout::add(PHPWS_ControlPanel::display($template->get())); }
public static function admin() { if (!Current_User::allow('layout')) { Current_User::disallow(); } PHPWS_Core::initModClass('controlpanel', 'Panel.php'); $title = $content = null; $panel = Layout_Admin::adminPanel(); if (isset($_REQUEST['command'])) { $command = $_REQUEST['command']; } else { $command = $panel->getCurrentTab(); } switch ($command) { case 'arrange': $title = dgettext('layout', 'Arrange Layout'); $content[] = Layout_Admin::arrangeForm(); break; case 'turn_off_box_move': Layout::moveBoxes(false); PHPWS_Core::goBack(); break; case 'post_style_change': $result = Layout_Admin::postStyleChange(); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); } javascript('close_refresh'); break; case 'reset_boxes': if (!Current_User::authorized('layout')) { Current_User::disallow(); } Layout::resetDefaultBoxes(); unset($_SESSION['Layout_Settings']); PHPWS_Core::reroute('index.php?module=layout&action=admin&authkey=' . Current_User::getAuthKey()); break; case 'move_boxes_on': if (!Current_User::authorized('layout')) { Current_User::disallow(); } Layout::moveBoxes(true); PHPWS_Core::goBack(); break; case 'move_boxes_off': if (!Current_User::authorized('layout')) { Current_User::disallow(); } Layout::moveBoxes(false); PHPWS_Core::goBack(); break; case 'confirmThemeChange': $title = dgettext('layout', 'Themes'); if (isset($_POST['confirm'])) { Layout_Admin::changeTheme(); PHPWS_Core::reroute('index.php?module=layout&action=admin&tab=theme'); exit; } else { Layout::reset(); } $content[] = Layout_Admin::adminThemes(); break; case 'meta': $title = dgettext('layout', 'Edit Meta Tags'); $content[] = Layout_Admin::metaForm(); break; case 'clear_templates': if (!Current_User::authorized('layout')) { Current_User::disallow(); } $files = PHPWS_File::readDirectory(PHPWS_SOURCE_DIR . 'templates/cache', false, true); if (!empty($files) && is_array($files)) { foreach ($files as $fn) { $delete_cache_path = "templates/cache/{$fn}"; if (is_file($delete_cache_path)) { unlink('templates/cache/' . $fn); } } } PHPWS_Core::goBack(); break; case 'clear_cache': if (!Current_User::authorized('layout')) { Current_User::disallow(); } PHPWS_Cache::clearCache(); PHPWS_Core::goBack(); break; case 'moveBox': $result = Layout_Admin::moveBox(); PHPWS_Error::logIfError($result); javascript('close_refresh'); Layout::nakedDisplay(); break; case 'postMeta': if (!Current_User::authorized('layout')) { Current_User::disallow(); } Layout_Admin::postMeta(); if (isset($_POST['key_id'])) { javascript('close_refresh'); Layout::nakedDisplay(); exit; } Layout::reset(); $title = dgettext('layout', 'Edit Meta Tags'); $template['MESSAGE'] = dgettext('layout', 'Meta Tags updated.'); $content[] = Layout_Admin::metaForm(); break; case 'demo_fail': unset($_SESSION['Layout_Settings']); Layout::checkSettings(); PHPWS_Core::reroute('index.php?module=layout&action=admin&command=confirmThemeChange'); break; case 'demo_theme': $title = dgettext('layout', 'Confirm Theme Change'); $content[] = dgettext('layout', 'If you are happy with the change, click the appropiate button.'); $content[] = dgettext('layout', 'Failure to respond in ten seconds, reverts phpWebSite to the default theme.'); $content[] = Layout_Admin::confirmThemeChange(); break; case 'postTheme': if (!Current_User::authorized('layout')) { Current_User::disallow(); } if ($_POST['default_theme'] != $_SESSION['Layout_Settings']->current_theme) { Layout::reset($_POST['default_theme']); PHPWS_Core::reroute('index.php?module=layout&action=admin&command=demo_theme&authkey=' . Current_User::getAuthKey()); } else { PHPWS_Settings::set('layout', 'include_css_order', (int) $_POST['include_css_order']); PHPWS_Settings::save('layout'); $title = dgettext('layout', 'Themes'); $content[] = Layout_Admin::adminThemes(); } break; case 'theme': $title = dgettext('layout', 'Themes'); $content[] = Layout_Admin::adminThemes(); break; case 'js_style_change': $content = Layout_Admin::jsStyleChange(); if (empty($content)) { javascript('close_refresh'); } Layout::nakedDisplay($content, dgettext('layout', 'Change CSS')); break; case 'page_meta_tags': $content = Layout_Admin::pageMetaTags((int) $_REQUEST['key_id']); if (empty($content)) { javascript('close_refresh'); } Layout::nakedDisplay($content, dgettext('layout', 'Set meta tags')); break; case 'move_popup': if (!Current_User::authorized('layout')) { Current_User::disallow(); } Layout_Admin::moveBoxMenu(); break; } $template['TITLE'] = $title; if (isset($content)) { $template['CONTENT'] = implode('<br />', $content); } if (isset($message)) { $template['MESSAGE'] = $message; } $final = PHPWS_Template::process($template, 'layout', 'main.tpl'); $panel->setContent($final); Layout::add(PHPWS_ControlPanel::display($panel->display())); }
/** * From Cabinet::admin. * Error checks and posts the image upload */ public function postImageUpload() { // importPost in File_Common $result = $this->image->importPost('file_name'); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); $vars['timeout'] = '3'; $vars['refresh'] = 0; $this->content = dgettext('filecabinet', 'An error occurred when trying to save your image.'); javascript('close_refresh', $vars); return; } elseif ($result) { if ($this->image->id) { $this->image->rotate(false); } $result = $this->image->save(); $this->updateResizes($this->image); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); return false; } $this->image->moveToFolder(); javascript('close_refresh'); return true; } else { Cabinet::setMessage($this->image->printErrors()); \PHPWS_Core::goBack(); } }
public static function route($action) { $title = $content = NULL; $message = Block_Admin::getMessage(); if (isset($_REQUEST['block_id'])) { $block = new Block_Item($_REQUEST['block_id']); } else { $block = new Block_Item(); } switch ($action) { case 'new': $title = dgettext('block', 'New Block'); $content = Block_Admin::edit($block); break; case 'delete': if (!Current_User::authorized('block', 'delete_block', $_REQUEST['block_id'])) { Current_User::disallow(); } $block->kill(); Block_Admin::sendMessage(dgettext('block', 'Block deleted.')); PHPWS_Core::goBack(); break; case 'edit': if (!Current_User::authorized('block', 'edit_block', $_REQUEST['block_id'])) { Current_User::disallow(); } $title = 'Edit Block'; $content = Block_Admin::edit($block); break; case 'pin_all': if (!Current_User::authorized('block', 'delete_block', $_REQUEST['block_id'])) { Current_User::disallow(); } Block_Admin::pinBlockAll($block); Block_Admin::sendMessage(dgettext('block', 'Block pinned'), 'list'); break; case 'remove': if (!Current_User::authorized('block', 'edit_block', $_REQUEST['block_id'])) { Current_User::disallow(); } Block_Admin::removeBlock(); PHPWS_Core::goBack(); break; case 'postBlock': if (Block_Admin::postBlock($block)) { $result = $block->save(); Block_Admin::sendMessage(dgettext('block', 'Block saved'), 'list'); } else { $message = dgettext('block', 'Block must have a title, some content, or a file attachment.'); $title = 'Edit Block'; $content = Block_Admin::edit($block); } break; case 'settings': $title = dgettext('block', 'Settings'); $content = Block_Admin::settings(); break; case 'post_settings': $result = Block_Admin::postSettings(); if (is_array($result)) { $message = implode('<br />', $result); $title = dgettext('block', 'Settings'); $content = Block_Admin::settings(); } else { Block_Admin::sendMessage(dgettext('block', 'Settings saved'), 'settings'); } break; case 'postJSBlock': if (Block_Admin::postBlock($block)) { $result = $block->save(); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); } elseif (isset($_REQUEST['key_id'])) { Block_Admin::lockBlock($block->id, $_REQUEST['key_id']); } PHPWS_Core::goBack(); } else { $template['TITLE'] = dgettext('block', 'New Block'); $template['CONTENT'] = Block_Admin::edit($block, TRUE); $template['MESSAGE'] = dgettext('block', 'Block must have a title, some content, or a file attachment.'); $content = PHPWS_Template::process($template, 'block', 'admin.tpl'); Layout::nakedDisplay($content); } break; case 'lock': $result = Block_Admin::lockBlock($_GET['block_id'], $_GET['key_id']); if (PHPWS_Error::isError($result)) { PHPWS_Error::log($result); } PHPWS_Core::goBack(); break; case 'list': $title = dgettext('block', 'Block list'); $content = Block_Admin::blockList(); break; case 'js_block_edit': $template['CONTENT'] = Block_Admin::edit($block, TRUE); echo PHPWS_Template::process($template, 'block', 'admin.tpl'); exit; break; } $template['TITLE'] =& $title; if (isset($message)) { $template['MESSAGE'] =& $message; } $template['CONTENT'] =& $content; return PHPWS_Template::process($template, 'block', 'admin.tpl'); }
public function handleRequest() { /* Check if it is time to insert more terms into DB */ if (Term::isTimeToUpdate()) { Term::doTermUpdate(); } // Fetch the action from the REQUEST. if (!isset($_REQUEST['action'])) { $req = ""; } else { $req = $_REQUEST['action']; } // Show requested page. switch ($req) { case 'example_form': header('Content-type: application/pdf'); readfile(PHPWS_SOURCE_DIR . 'mod/intern/pdf/Internship_Example.pdf'); exit; break; case 'edit_internship': PHPWS_Core::initModClass('intern', 'UI/InternshipUI.php'); $view = new InternshipUI(); $this->content = $view->display(); break; case 'add_internship': PHPWS_Core::initModClass('intern', 'command/SaveInternship.php'); $ctrl = new SaveInternship(); $ctrl->execute(); test('finished execute', 1); break; case 'search': PHPWS_Core::initModClass('intern', 'UI/SearchUI.php'); $view = new SearchUI(); $this->content = $view->display(); break; case 'results': PHPWS_Core::initModClass('intern', 'UI/ResultsUI.php'); $view = new ResultsUI(); $this->content = $view->display(); break; case DEPT_EDIT: PHPWS_Core::initModClass('intern', 'UI/DepartmentUI.php'); PHPWS_Core::initModClass('intern', 'Department.php'); if (isset($_REQUEST['add'])) { /* Add department with the name in REQUEST */ if (isset($_REQUEST['name'])) { Department::add($_REQUEST['name']); } else { NQ::simple('intern', INTERN_ERROR, "Department must have name."); } } else { if (isset($_REQUEST['rename'])) { /* Rename dept with ID to new name that was passed in REQUEST */ if (isset($_REQUEST['id'])) { $d = new Department($_REQUEST['id']); $d->rename($_REQUEST['rename']); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot rename department."); } } else { if (isset($_REQUEST['hide'])) { /* Hide/Show department with ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $d = new Department($_REQUEST['id']); $d->hide($_REQUEST['hide'] == 1); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot hide department."); } } else { if (isset($_REQUEST['del'])) { /* Delete department with same ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $d = new Department($_REQUEST['id']); $d->del(); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot delete department."); } } else { if (isset($_REQUEST['fDel'])) { /** for now... */ NQ::simple('intern', INTERN_WARNING, 'Sorry, cannot forcefully delete a department.'); } } } } } $view = new DepartmentUI(); $this->content = $view->display(); break; case GRAD_PROG_EDIT: PHPWS_Core::initModClass('intern', 'GradProgram.php'); PHPWS_Core::initModClass('intern', 'UI/GradProgramUI.php'); if (isset($_REQUEST['add'])) { /* Add grad program with the name in REQUEST */ if (isset($_REQUEST['name'])) { GradProgram::add($_REQUEST['name']); } else { NQ::simple('intern', INTERN_ERROR, "Grad Program must have name."); } } else { if (isset($_REQUEST['rename'])) { /* Rename program with ID to new name that was passed in REQUEST */ if (isset($_REQUEST['id'])) { $g = new GradProgram($_REQUEST['id']); $g->rename($_REQUEST['rename']); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot rename graduate program."); } } else { if (isset($_REQUEST['hide'])) { /* Hide/Show program with ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $g = new GradProgram($_REQUEST['id']); $g->hide($_REQUEST['hide'] == 1); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot hide graduate program."); } } else { if (isset($_REQUEST['del'])) { /* Delete program with same ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $g = new GradProgram($_REQUEST['id']); $g->del(); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot delete graduate program."); } } } } } $view = new GradProgramUI(); $this->content = $view->display(); break; case MAJOR_EDIT: PHPWS_Core::initModClass('intern', 'UI/MajorUI.php'); if (isset($_REQUEST['add'])) { /* Add major with the name passed in REQUEST. */ if (isset($_REQUEST['name'])) { Major::add($_REQUEST['name']); } else { NQ::simple('intern', INTERN_ERROR, "Major must have name."); } } else { if (isset($_REQUEST['rename'])) { /* Rename major with ID to new name that was passed in REQUEST */ if (isset($_REQUEST['id'])) { $m = new Major($_REQUEST['id']); $m->rename($_REQUEST['rename']); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot rename major."); } } else { if (isset($_REQUEST['hide'])) { /* Hide major with ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $m = new Major($_REQUEST['id']); $m->hide($_REQUEST['hide'] == 1); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot hide major."); } } else { if (isset($_REQUEST['del'])) { /* Delete major with same ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $m = new Major($_REQUEST['id']); $m->del(); } else { NQ::simple('intern', INTERN_ERROR, "No ID given. Cannot delete major."); } } } } } $view = new MajorUI(); $this->content = $view->display(); break; /** * Matt additions! */ /** * Matt additions! */ case 'add_state': if (!Current_User::allow('intern', 'edit_state')) { disallow(); } PHPWS_Core::initModClass('intern', 'State.php'); $state = new State($_GET['abbr']); $state->setActive(true); $state->save(); exit; break; case 'remove_state': if (!Current_User::allow('intern', 'edit_state')) { disallow(); } PHPWS_Core::initModClass('intern', 'State.php'); $state = new State($_GET['abbr']); $state->setActive(false); $state->save(); exit; break; case STATE_EDIT: if (!Current_User::allow('intern', 'edit_state')) { disallow(); } PHPWS_Core::initModClass('intern', 'UI/StateUI.php'); $view = new StateUI(); $this->content = $view->display(); break; case 'edit_admins': PHPWS_Core::initModClass('intern', 'UI/AdminUI.php'); PHPWS_Core::initModClass('intern', 'Admin.php'); PHPWS_Core::initModClass('intern', 'Department.php'); if (isset($_REQUEST['add'])) { // Add user in REQUEST to administrator list for the department in REQUEST. Admin::add($_REQUEST['username'], $_REQUEST['department_id']); } else { if (isset($_REQUEST['del'])) { // Delete the user in REQUEST from department in REQUEST. Admin::del($_REQUEST['username'], $_REQUEST['department_id']); } else { if (isset($_REQUEST['user_complete'])) { $users = Admin::searchUsers($_REQUEST['term']); echo json_encode($users); exit; } } } $view = new AdminUI(); $this->content = $view->display(); break; case 'pdf': PHPWS_Core::initModClass('intern', 'InternshipFactory.php'); PHPWS_Core::initModClass('intern', 'InternshipContractPdfView.php'); PHPWS_Core::initModClass('intern', 'EmergencyContactFactory.php'); $i = InternshipFactory::getInternshipById($_REQUEST['id']); $emgContacts = EmergencyContactFactory::getContactsForInternship($i); $pdfView = new InternshipContractPdfView($i, $emgContacts); $pdf = $pdfView->getPdf(); $pdf->output(); exit; case 'upload_document_form': PHPWS_Core::initModClass('intern', 'Intern_Document_Manager.php'); $docManager = new Intern_Document_Manager(); echo $docManager->edit(); exit; break; case 'post_document_upload': PHPWS_Core::initModClass('intern', 'Intern_Document_Manager.php'); $docManager = new Intern_Document_Manager(); $docManager->postDocumentUpload(); break; case 'delete_document': PHPWS_Core::initModClass('intern', 'Intern_Document.php'); $doc = new Intern_Document($_REQUEST['doc_id']); $doc->delete(); NQ::simple('intern', INTERN_SUCCESS, 'Document deleted.'); NQ::close(); PHPWS_Core::goBack(); break; case 'addEmergencyContact': PHPWS_Core::initModClass('intern', 'command/AddEmergencyContact.php'); $ctrl = new AddEmergencyContact(); $ctrl->execute(); break; case 'removeEmergencyContact': PHPWS_Core::initModClass('intern', 'command/RemoveEmergencyContact.php'); $ctrl = new RemoveEmergencyContact(); $ctrl->execute(); break; case 'edit_faculty': PHPWS_Core::initModClass('intern', 'FacultyUI.php'); $facultyUI = new FacultyUI(); $this->content = $facultyUI->display(); break; case 'getFacultyListForDept': PHPWS_Core::initModClass('intern', 'command/GetFacultyListForDept.php'); $ctrl = new GetFacultyListForDept(); $ctrl->execute(); break; case 'restFacultyById': PHPWS_Core::initModClass('intern', 'command/RestFacultyById.php'); $ctrl = new RestFacultyById(); $ctrl->execute(); break; case 'facultyDeptRest': PHPWS_Core::initModClass('intern', 'command/FacultyDeptRest.php'); $ctrl = new FacultyDeptRest(); $ctrl->execute(); break; default: PHPWS_Core::initModClass('intern', 'UI/InternMenu.php'); $menu = new InternMenu(); $this->content = $menu->display(); break; } }
function action() { switch ($_REQUEST['page_op']) { case 'edit': $template['TITLE'] = dgettext('wiki', 'Edit') . ' ' . $this->getTitle(); $template['CONTENT'] = $this->edit(); break; case 'save': $template['TITLE'] = dgettext('wiki', 'Edit') . ' ' . $this->getTitle(); $template['CONTENT'] = $this->post(); break; case 'delete': $template['TITLE'] = dgettext('wiki', 'Delete') . ' ' . $this->getTitle(); $template['CONTENT'] = $this->kill(); break; case 'raw': Header('Content-type: text/plain'); echo $this->getPagetext(FALSE); exit; break; case 'print': Layout::nakedDisplay($this->view()); break; case 'history': $template['TITLE'] = $this->getTitle(); $template['CONTENT'] = $this->history(); break; case 'viewold': PHPWS_Core::initModClass('wiki', 'OldWikiPage.php'); $oldpage = new OldWikiPage($_REQUEST['id']); $template['TITLE'] = $this->getTitle(); $template['CONTENT'] = $oldpage->view(); break; case 'restore': PHPWS_Core::initModClass('wiki', 'OldWikiPage.php'); $oldpage = new OldWikiPage($_REQUEST['id']); $oldpage->restore($this->hits); /* Does not return */ break; case 'removeold': PHPWS_Core::initModClass('wiki', 'OldWikiPage.php'); $oldpage = new OldWikiPage($_REQUEST['id']); $oldpage->remove(); /* Does not return */ break; case 'compare': PHPWS_Core::initModClass('wiki', 'WikiDiff.php'); $wikiDiff = new WikiDiff(PHPWS_Settings::get('wiki', 'diff_type')); $template['TITLE'] = $this->getTitle(); $template['CONTENT'] = $wikiDiff->diff($_REQUEST['oVer'], $_REQUEST['nVer']); break; case 'whatlinkshere': $template['TITLE'] = $this->getTitle(); $template['CONTENT'] = $this->whatLinksHere(); break; case 'move': $template['TITLE'] = dgettext('wiki', 'Move') . ' ' . $this->getTitle(); $template['CONTENT'] = $this->move(); break; case 'do_move': /* Function never returns: user will be redirected to new page. */ $this->doMove(); break; case 'discussion': $template['TITLE'] = $this->getTitle() . ' ' . dgettext('wiki', 'Discussion'); $template['CONTENT'] = $this->discussion(); break; case 'togglelock': $this->toggleLock(); PHPWS_Core::goBack(); break; default: $this->incHits(); $template['TITLE'] = $this->getTitle(); $template['CONTENT'] = $this->view(); $template['CATEGORIES'] = $this->getCategories(); } Layout::add(PHPWS_Template::process($template, 'wiki', 'box.tpl'), 'wiki', 'wiki_mod', TRUE); }
public function handleRequest() { /* Check if it is time to insert more terms into DB */ if (Term::isTimeToUpdate()) { Term::doTermUpdate(); } // Fetch the action from the REQUEST. if (!isset($_REQUEST['action'])) { $req = ""; } else { $req = $_REQUEST['action']; } // Show requested page. switch ($req) { case 'example_form': header('Content-type: application/pdf'); readfile(\PHPWS_SOURCE_DIR . 'mod/intern/pdf/Internship_Example.pdf'); exit; break; case 'ShowInternship': $ctrl = new Command\ShowInternship(); $this->content = $ctrl->execute(); break; case 'ShowAddInternship': $ctrl = new Command\ShowAddInternship(); $this->content = $ctrl->execute()->getView()->render(); break; case 'AddInternship': $ctrl = new Command\AddInternship(); $ctrl->execute(); break; case 'SaveInternship': $ctrl = new Command\SaveInternship(); $ctrl->execute(); break; case 'search': $view = new UI\SearchUI(); $this->content = $view->display(); break; case 'results': $view = new UI\ResultsUI(); $this->content = $view->display(); break; case 'showEditDept': $view = new UI\DepartmentUI(); $this->content = $view->display(); break; case 'edit_dept': if (isset($_REQUEST['add'])) { /* Add department with the name in REQUEST */ if (isset($_REQUEST['name'])) { Department::add($_REQUEST['name']); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "Department must have name."); } } else { if (isset($_REQUEST['rename'])) { /* Rename dept with ID to new name that was passed in REQUEST */ if (isset($_REQUEST['id'])) { $d = new Department($_REQUEST['id']); $d->rename($_REQUEST['rename']); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot rename department."); } } else { if (isset($_REQUEST['hide'])) { /* Hide/Show department with ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $d = new Department($_REQUEST['id']); $d->hide($_REQUEST['hide'] == 1); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot hide department."); } } else { if (isset($_REQUEST['del'])) { /* Delete department with same ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $d = new Department($_REQUEST['id']); $d->del(); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot delete department."); } } } } } \PHPWS_Core::reroute('index.php?module=intern&action=showEditDept'); break; case 'showEditGradProgs': $view = new UI\GradProgramUI(); $this->content = $view->display(); break; case 'edit_grad': //TODO Separate these into their own controllers if (isset($_REQUEST['add'])) { /* Add grad program with the name in REQUEST */ if (isset($_REQUEST['name'])) { GradProgram::add($_REQUEST['name']); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "Grad Program must have name."); } } else { if (isset($_REQUEST['rename'])) { /* Rename program with ID to new name that was passed in REQUEST */ if (isset($_REQUEST['id'])) { $g = new GradProgram($_REQUEST['id']); $g->rename($_REQUEST['rename']); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot rename graduate program."); } } else { if (isset($_REQUEST['hide'])) { /* Hide/Show program with ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $g = new GradProgram($_REQUEST['id']); $g->hide($_REQUEST['hide'] == 1); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot hide graduate program."); } } else { if (isset($_REQUEST['del'])) { /* Delete program with same ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $g = new GradProgram($_REQUEST['id']); $g->del(); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot delete graduate program."); } } } } } \PHPWS_Core::reroute('index.php?module=intern&action=showEditGradProgs'); break; case 'showEditMajors': $view = new UI\MajorUI(); $this->content = $view->display(); break; case 'edit_major': // TODO: Break these into their own commands if (isset($_REQUEST['add'])) { /* Add major with the name passed in REQUEST. */ if (isset($_REQUEST['name'])) { Major::add($_REQUEST['name']); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "Major must have name."); } } else { if (isset($_REQUEST['rename'])) { /* Rename major with ID to new name that was passed in REQUEST */ if (isset($_REQUEST['id'])) { $m = new Major($_REQUEST['id']); $m->rename($_REQUEST['rename']); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot rename major."); } } else { if (isset($_REQUEST['hide'])) { /* Hide major with ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $m = new Major($_REQUEST['id']); $m->hide($_REQUEST['hide'] == 1); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot hide major."); } } else { if (isset($_REQUEST['del'])) { /* Delete major with same ID passed in REQUEST. */ if (isset($_REQUEST['id'])) { $m = new Major($_REQUEST['id']); $m->del(); } else { \NQ::simple('intern', \Intern\UI\NotifyUI::ERROR, "No ID given. Cannot delete major."); } } } } } \PHPWS_Core::reroute('index.php?module=intern&action=showEditMajors'); break; /** * Matt additions! */ /** * Matt additions! */ case 'add_state': if (!Current_User::allow('intern', 'edit_state')) { disallow(); } $state = new State($_GET['abbr']); $state->setActive(true); $state->save(); exit; break; case 'remove_state': if (!Current_User::allow('intern', 'edit_state')) { disallow(); } $state = new State($_GET['abbr']); $state->setActive(false); $state->save(); exit; break; case 'edit_states': if (!Current_User::allow('intern', 'edit_state')) { disallow(); } $view = new StateUI(); $this->content = $view->display(); break; case 'showEditAdmins': $view = new UI\AdminUI(); $this->content = $view->display(); break; case 'edit_admins': if (isset($_REQUEST['add'])) { // Add user in REQUEST to administrator list for the department in REQUEST. Admin::add($_REQUEST['username'], $_REQUEST['department_id']); } else { if (isset($_REQUEST['del'])) { // Delete the user in REQUEST from department in REQUEST. Admin::del($_REQUEST['username'], $_REQUEST['department_id']); } else { if (isset($_REQUEST['user_complete'])) { $users = Admin::searchUsers($_REQUEST['term']); echo json_encode($users); exit; } } } $view = new UI\AdminUI(); $this->content = $view->display(); break; case 'pdf': $i = InternshipFactory::getInternshipById($_REQUEST['internship_id']); $emgContacts = EmergencyContactFactory::getContactsForInternship($i); $pdfView = new InternshipContractPdfView($i, $emgContacts); $pdf = $pdfView->getPdf(); $pdf->output(); exit; case 'upload_document_form': $docManager = new DocumentManager(); echo $docManager->edit(); exit; break; case 'post_document_upload': $docManager = new DocumentManager(); $docManager->postDocumentUpload(); break; case 'delete_document': $doc = new InternDocument($_REQUEST['doc_id']); $doc->delete(); \NQ::simple('intern', \Intern\UI\NotifyUI::SUCCESS, 'Document deleted.'); \NQ::close(); \PHPWS_Core::goBack(); break; case 'addEmergencyContact': $ctrl = new Command\AddEmergencyContact(); $ctrl->execute(); break; case 'removeEmergencyContact': $ctrl = new Command\RemoveEmergencyContact(); $ctrl->execute(); break; case 'edit_faculty': $facultyUI = new UI\FacultyUI(); $this->content = $facultyUI->display(); break; case 'getFacultyListForDept': $ctrl = new Command\GetFacultyListForDept(); $ctrl->execute(); break; case 'restFacultyById': $ctrl = new Command\RestFacultyById(); $ctrl->execute(); break; case 'facultyDeptRest': $ctrl = new Command\FacultyDeptRest(); $ctrl->execute(); break; case 'GetSearchSuggestions': $ctrl = new Command\GetSearchSuggestions(); $ctrl->execute(); break; case 'GetAvailableStates': $ctrl = new Command\GetAvailableStates(); $ctrl->execute(); break; case 'GetAvailableCountries': $ctrl = new Command\GetAvailableCountries(); $ctrl->execute(); break; case 'GetDepartments': $ctrl = new Command\GetDepartments(); $ctrl->execute(); break; case 'GetAvailableTerms': $ctrl = new Command\GetAvailableTerms(); $ctrl->execute(); break; default: $menu = new UI\InternMenu(); $this->content = $menu->display(); break; } }