/**
  * Create new element
  *
  * @param AM_Model_Db_Page $oPage
  * @param AM_Model_Db_Field $oField
  * @return AM_Model_Db_Element
  */
 public static function getElementForPageAndField(AM_Model_Db_Page $oPage, AM_Model_Db_Field $oField)
 {
     $iMaxWeight = AM_Model_Db_Table_Abstract::factory('element')->getMaxElementWeight($oPage, $oField);
     $oElement = new AM_Model_Db_Element();
     $oElement->setPage($oPage);
     $oElement->weight = is_null($iMaxWeight) ? 0 : ++$iMaxWeight;
     $oElement->page = $oPage->id;
     $oElement->field = $oField->id;
     $oElement->save();
     return $oElement;
 }
Exemple #2
0
 /**
  * Create new element or return exists
  *
  * @param AM_Model_Db_Page $oPage
  * @param AM_Model_Db_Field $oField
  * @return AM_Model_Db_Element
  */
 public static function getElementForPageAndField(AM_Model_Db_Page $oPage, AM_Model_Db_Field $oField)
 {
     $oElement = AM_Model_Db_Table_Abstract::factory('element')->findOneBy(array('page' => $oPage->id, 'field' => $oField->id));
     if (!is_null($oElement)) {
         return $oElement;
     }
     $oElement = new AM_Model_Db_Element();
     $oElement->setPage($oPage);
     $oElement->page = $oPage->id;
     $oElement->field = $oField->id;
     $oElement->save();
     return $oElement;
 }