public function deleteAction() { $this->setInvokeArg('noViewRenderer', true); Model_Language::deleteLanguage($this->getRequest()->getPost('id')); }
public function editlanguageAction() { $language = null; $config = Zend_Registry::get('config'); /* * Retrieve the language. */ try { $language = new Model_Language($this->_getParam('name')); } catch (Exception $e) { $this->view->errorMessage = $this->translate->_('Unable to locate language.') . ' ' . $e->getMessage(); } if ($language != null) { /* * Build the delete form. Only show it if the language is not the default system language. */ $deleteForm = null; if ($language->name != $config->defaults->language) { $deleteForm = new Zend_Form(); $deleteForm->setMethod('post'); $hidden = $deleteForm->createElement('hidden', 'mode'); $hidden->setValue('delete'); $deleteForm->addElement($hidden); $deleteForm->addElement('submit', 'submit', array('label' => $this->view->translate->_('Submit'))); } /* * Build the edit forms. One for the logo, one for the css. */ $languages = Model_Language::getAllLanguages(); $form = new Zend_Form(); $form->setMethod('post'); $lang = $form->createElement('textarea', 'language'); $lang->setRequired(true); $lang->setValue($language->getLanguageContent()); $lang->setAttrib('rows', '24'); $lang->setAttrib('cols', '80'); $lang->setAttrib('style', 'margin-left: 60px;'); $hidden = $form->createElement('hidden', 'mode'); $hidden->setValue('edit'); $form->addElement($lang); $form->addElement($hidden); $form->addElement('submit', 'submit', array('label' => $this->view->translate->_('Submit'))); /* * Process form submission. */ if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); switch ($formData['mode']) { /* * Delete the language. */ case 'delete': /* * You may not delete the default system language. */ if ($language->name == $config->defaults->language) { $this->view->errorMessage = $this->view->translate->_('You may not delete the default system language.'); } else { try { $language->deleteLanguage(); $this->_helper->_redirector->goToRouteAndExit(array('controller' => 'admin', 'action' => 'languages', 'id' => null, 'name' => null)); } catch (Exception $e) { $this->view->errorMessage = $this->view->translate->_('Unable to delete language.') . ' ' . $e->getMessage(); } } break; /* * Change the language's content. */ /* * Change the language's content. */ case 'edit': if ($form->isValid($formData)) { try { $language->updateLanguage($form->getValue('language')); $this->view->statusMessage = $this->view->translate->_('Language saved.'); } catch (Exception $e) { $this->view->errorMessage = $this->view->translate->_('Unable to save language.') . ' ' . $e->getMessage(); } } else { $this->view->errorMessage = $this->view->translate->_('Please completely fill out the configuration form.'); } $form->populate($formData); break; } } $this->view->pageTitle = $this->view->translate->_('Edit') . ' ' . $language->name; $this->view->headTitle($this->view->translate->_('Edit') . ' ' . $language->name); $this->view->form = $form; $this->view->deleteForm = $deleteForm; } $this->view->language = $language; }