/ */ class Flickr_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('Flickr'); $request = $this->getRequest(); $form = new Flickr_Form_Configure; // set up view $view = $this->view; $view->form = $form; $view->headTitle()->set('Configure Flickr'); // use manage layout for traditional contexts if (!$this->contextSwitch->getCurrentContext()) { $this->getHelper('layout')->setLayout('manage-layout'); } // populate form from the request if posted, otherwise from the storage $form->populate( $request->isPost() ? $request->getPost() : $module->getConfig()->toArray() ); // save configuration if posted and valid if ($request->isPost() && $form->isValid($request->getPost())) { // save module config $module->saveConfig($form->getValues()); // add notification message P4Cms_Notifications::add( "Flickr API 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); $view->errors = $form->getMessages(); } } }