/ */ class Disqus_ConfigureController extends Zend_Controller_Action { public $contexts = array( 'index' => array('partial', 'json') ); /** * Show form, persist into module config * (fetch module, set config) */ public function indexAction() { $module = P4Cms_Module::fetch('Disqus'); $form = new Disqus_Form_Configure; $this->view->form = $form; $request = $this->getRequest(); $this->view->headTitle()->set('Configure Disqus'); // populate form from the request if posted, otherwise from the storage $form->populate( $request->isPost() ? $request->getParams() : $module->getConfig()->toArray() ); // use manage layout for traditional contexts if (!$this->contextSwitch->getCurrentContext()) { $this->getHelper('layout')->setLayout('manage-layout'); } // save configuration if posted and valid if ($request->isPost() && $form->isValid($request->getParams())) { // save configuration $module->saveConfig($form->getValues()); P4Cms_Notifications::add( 'Disqus configuration stored.', P4Cms_Notifications::SEVERITY_SUCCESS ); // redirect for traditional requests if (!$this->contextSwitch->getCurrentContext()) { $this->redirector->gotoSimple('index', 'module', 'site'); } } else if ($request->isPost()) { $this->getResponse()->setHttpResponseCode(400); $this->view->errors = $form->getMessages(); } } }