Esempio n. 1
0
 public function insert(Application_Model_About_About_Writer_Data $data)
 {
     try {
         $this->_aboutAboutTable->getAdapter()->beginTransaction();
         $this->_aboutAboutTable->insert(array("date" => $data->getDate()->toString('yyyy-MM-dd hh:mm:ss'), "active" => $data->getActive()));
         $articleId = $this->_aboutAboutTable->lastInsertId();
         $locales = $data->getLocales();
         if (!empty($locales)) {
             foreach ($locales as $locale => $content) {
                 if (!$this->_localeLanguageTable->exists($locale)) {
                     throw new Application_Model_Exception("{$locale} is not in DB");
                 }
                 $this->_aboutAboutTranslateTable->insertRow($locale, $articleId, $content);
             }
         }
         $this->_aboutAboutTable->getAdapter()->commit();
     } catch (Zend_Exception $e) {
         $this->_aboutAboutTable->getAdapter()->rollBack();
         throw new Application_Model_Exception("Can't insert about", null, $e);
     }
 }