Exemple #1
0
 /**
  * 
  * Save the Cms page data
  */
 public static function saveAll($id, $params, $locale = 1)
 {
     $i = 0;
     // Set the new values
     if (is_numeric($id)) {
         $cmspages = Doctrine::getTable('Cmspages')->find($id);
     } else {
         $cmspages = new CmsPages();
         $cmspages->publishedat = date('Y-m-d H:i:s');
     }
     $cmspages->title = $params['title'];
     $cmspages->body = $params['body'];
     $cmspages->keywords = $params['keywords'];
     $cmspages->blocks = $params['blocks'];
     $cmspages->layout = $params['layout'];
     $cmspages->xmllayout = $params['xmllayout'];
     $cmspages->var = !empty($params['var']) ? Shineisp_Commons_UrlRewrites::format($params['var']) : Shineisp_Commons_UrlRewrites::format($params['title']);
     $cmspages->pagelayout = $params['pagelayout'];
     $cmspages->parent_id = $params['parent_id'];
     $cmspages->showinmenu = $params['showinmenu'] ? true : false;
     $cmspages->showonrss = $params['showonrss'] ? true : false;
     $cmspages->blog = $params['blog'] ? true : false;
     $cmspages->showonrss = $params['showonrss'] ? true : false;
     $cmspages->active = $params['active'] ? true : false;
     if ($cmspages->trySave()) {
         if (is_numeric($cmspages['page_id'])) {
             // Clear old reference records by page_id
             CmsPagesData::deleteItems($cmspages['page_id']);
             // Save the page translation references
             $PageData = new Doctrine_Collection('CmsPagesData');
             foreach ($params['language_id'] as $idlang) {
                 $PageData[$i]->page_id = $cmspages['page_id'];
                 $PageData[$i]->language_id = $idlang;
                 $i++;
             }
             $PageData->save();
         }
     }
     $id = is_numeric($id) ? $id : $cmspages->getIncremented();
     return $id;
 }