Ejemplo n.º 1
0
 public function skinsAction()
 {
     /*
      * Build the add form.
      */
     $config = Zend_Registry::get('config');
     $skins = Model_Skin::getAllSkins();
     /*
      * Turn the skin list into something more Zend_Form friendly.
      */
     foreach ($skins as $skin) {
         $skinList[$skin->name] = $skin->name;
     }
     $form = new Zend_Form();
     $form->setMethod('post');
     $name = $form->createElement('text', 'name');
     $name->setLabel(ucfirst($this->view->translate->_('name')));
     $name->setRequired(true);
     $name->addValidator('alnum');
     $baseSkinName = $form->createElement('select', 'baseSkinName');
     $baseSkinName->setLabel(ucfirst($this->view->translate->_('base skin')));
     $baseSkinName->addMultiOptions($skinList);
     $baseSkinName->setRequired(true);
     $form->addElement($name);
     $form->addElement($baseSkinName);
     $form->addElement('submit', 'submit', array('label' => $this->view->translate->_('Submit')));
     /*
      * Process form submission.
      */
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($form->isValid($formData)) {
             /*
              * Add the skin.
              */
             try {
                 $skin = Model_Skin::addSkin($form->getValue('name'), $form->getValue('baseSkinName'));
                 $this->view->statusMessage = $this->view->translate->_('Skin added.');
                 $skins = Model_Skin::getAllSkins();
             } catch (Exception $e) {
                 $this->view->errorMessage = $this->view->translate->_('Unable to add skin.') . ' ' . $e->getMessage();
             }
         } else {
             $this->view->errorMessage = $this->view->translate->_('Please completely fill out the configuration form.');
         }
         $form->populate($formData);
     }
     $this->view->pageTitle = $this->view->translate->_('Skins');
     $this->view->headTitle($this->view->translate->_('Skins'));
     $this->view->skins = $skins;
     $this->view->form = $form;
     $this->view->config = $config;
 }