* @author Alan Harder */ /** * @package Comment * @subpackage UserInterface */ class CommentSiteAdminController extends GalleryController { /** * @see GalleryController::handleRequest */ function handleRequest($form) { $ret = GalleryCoreApi::assertUserIsSiteAdministrator(); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } $status = $error = array(); if (isset($form['action']['save'])) { if (!isset($form['show']) || !is_numeric($form['show'])) { $error[] = 'form[error][show]'; } if (empty($error)) { $ret = GalleryCoreApi::setPluginParameter('module', 'comment', 'comments.show', $form['show']); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } $ret = GalleryCoreApi::setPluginParameter('module', 'comment', 'comments.latest', (isset($form['latest']) && $form['latest']) ? 1 : 0); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } $status['saved'] = 1; } } /* else $form['action']['reset'] */ /* Figure out where to redirect upon success */ $method = empty($error) ? 'redirect' : 'delegate'; $results[$method]['view'] = 'core.SiteAdmin'; $results[$method]['subView'] = 'comment.CommentSiteAdmin'; $results['status'] = $status; $results['error'] = $error; return array(null, $results); } } /** * @package Comment * @subpackage UserInterface */ class CommentSiteAdminView extends GalleryView { /** * @see GalleryView::loadTemplate */ function loadTemplate(&$template, &$form) { $ret = GalleryCoreApi::assertUserIsSiteAdministrator(); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } if ($form['formName'] != 'CommentSiteAdmin') { $form['formName'] = 'CommentSiteAdmin'; foreach (array('latest', 'show') as $key) { list ($ret, $value) = GalleryCoreApi::getPluginParameter('module', 'comment', 'comments.' . $key); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } $form[$key] = $value; } } else if (!isset($form['latest'])) { $form['latest'] = false; } list ($ret, $pluginInstances) = GalleryCoreApi::getAllFactoryImplementationIds('GalleryValidationPlugin'); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } $form['canValidate'] = !empty($pluginInstances); $template->setVariable('controller', 'comment.CommentSiteAdmin'); return array(null, array('body' => 'modules/comment/templates/CommentSiteAdmin.tpl')); } } ?>