コード例 #1
0
ファイル: AdminController.php プロジェクト: c12g/stratos-php
 public function languagesAction()
 {
     /*
      * Build the add form.
      */
     $config = Zend_Registry::get('config');
     $languages = Model_Language::getAllLanguages();
     /*
      * Turn the language list into something more Zend_Form friendly.
      */
     foreach ($languages as $language) {
         $languageList[$language->name] = $language->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');
     $baseLanguageName = $form->createElement('select', 'baseLanguageName');
     $baseLanguageName->setLabel(ucfirst($this->view->translate->_('base language')));
     $baseLanguageName->addMultiOptions($languageList);
     $baseLanguageName->setRequired(true);
     $form->addElement($name);
     $form->addElement($baseLanguageName);
     $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 language.
              */
             try {
                 $language = Model_Language::addLanguage($form->getValue('name'), $form->getValue('baseLanguageName'));
                 $this->view->statusMessage = $this->view->translate->_('Language added.');
                 $languages = Model_Language::getAllLanguages();
             } catch (Exception $e) {
                 $this->view->errorMessage = $this->view->translate->_('Unable to add language.') . ' ' . $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->_('Languages');
     $this->view->headTitle($this->view->translate->_('Languages'));
     $this->view->languages = $languages;
     $this->view->form = $form;
     $this->view->config = $config;
 }