Example #1
0
 /**
  * Save page and term relations
  * @param AM_Model_Db_Page $oPage
  * @return AM_Model_Db_Term
  */
 public function saveToPage(AM_Model_Db_Page $oPage)
 {
     $oTermPage = AM_Model_Db_Table_Abstract::factory('term_page')->findOneBy(array('page' => $oPage->id, 'term' => $this->id));
     if (is_null($oTermPage)) {
         $oTermPage = new AM_Model_Db_TermPage();
         $oTermPage->page = $oPage->id;
         $oTermPage->term = $this->id;
         $oTermPage->save();
         if ($this->_isToc()) {
             $oPage->toc = $this->id;
             $oPage->save();
         }
     }
     return $this;
 }
Example #2
0
 /**
  * Filter for toc field
  * @param integer $iValue
  * @return integer
  */
 public function preSetToc($iValue)
 {
     $iValue = intval($iValue);
     $oTermTable = AM_Model_Db_Table_Abstract::factory('term');
     /* @var $oTermTable AM_Model_Db_Table_Term */
     $oTermTable->removeTocFromPage($this);
     //Checking that page has id
     if (0 !== $iValue && !empty($this->id)) {
         $oTermPage = new AM_Model_Db_TermPage();
         $oTermPage->term = $iValue;
         $oTermPage->page = $this->id;
         $oTermPage->save();
     }
     return $iValue;
 }