public function modifArticleAction()
 {
     $params = $this->getRequest()->getParams();
     try {
         $form = new Form_Unlog_Backend_Encyclopedie_Article_Modif();
         if (empty($params['Form_Unlog_Backend_Encyclopedie_Article_Modif_Submit'])) {
             $source = new Application_Model_DbTable_Encyclopedie_Article_Translate();
             $rows = $source->getByArticleId($params['id']);
             foreach ($rows as $row) {
                 $params['Form_Unlog_Backend_Encyclopedie_Article_Modif_Titre_' . $row['locale']] = $row['titre'];
                 $params['Form_Unlog_Backend_Encyclopedie_Article_Modif_Text_' . $row['locale']] = $row['text'];
             }
         }
         $form->populate($params);
         if (!empty($params['Form_Unlog_Backend_Encyclopedie_Article_Modif_Submit']) && $form->isValid($params)) {
             $data = new Application_Model_Encyclopedie_Article_Writer_Data("01/01/2000 10:10", 0);
             foreach ($params as $key => $param) {
                 if (preg_match("#^Form_Unlog_Backend_Encyclopedie_Article_Modif_Titre_#", $key)) {
                     $localeCode = substr($key, strlen("Form_Unlog_Backend_Encyclopedie_Article_Modif_Titre_"));
                     $data->addLocale($localeCode, $param, $params['Form_Unlog_Backend_Encyclopedie_Article_Modif_Text_' . $localeCode]);
                 }
             }
             $model = new Application_Model_Encyclopedie_Article_Writer();
             $model->update($params['id'], $data);
             $this->_forward("index", "encyclopedie", "unlog-backend");
         }
         $this->view->form = $form;
     } catch (Zend_Exception $e) {
         throw new Zend_Controller_Action_Exception("Error in Action : unlog-backend | encyclopedie | modifArticle", null, $e);
     }
 }
Example #2
0
 public static function fetchAll($overridesActiveField)
 {
     $translateTable = new Application_Model_DbTable_Encyclopedie_Article_Translate();
     if ($overridesActiveField) {
         $translateTableContent = $translateTable->fetchAll();
     } else {
         $select = $translateTable->select();
         $select->where('active = 1');
         $translateTableContent = $translateTable->fetchAll($select);
     }
     $articles = array();
     foreach ($translateTableContent as $article) {
         $articles[] = new self($article['article_id'], $article['locale'], $overridesActiveField);
     }
     return $articles;
 }