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); } }
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; }