/**
  * Creates or updates a pagdiv element in the DB.
  * This is used in the page edition when editing an element inline.
  * URL : /adminpages/services/savediv/format/json
  * @return void
  */
 public function savedivAction()
 {
     $divs = new Pagdivspage();
     $request = $this->getRequest();
     /*
      * @change GDE - 05/2014 - Content Translation
      * Load translation
      */
     $this->contentTranslate = new Translate_Content_Content();
     $status = 0;
     if ($divs->checkRightFromId($request->id, $this->_config->db->safinstances_id, $this->eModule) || $request->id == 0) {
         try {
             $isNewRow = false;
             if ($request->id > 0) {
                 $div = $divs->fetchRow('id=' . $request->id);
                 $div->datemodified = new Zend_Db_Expr("NOW()");
             } else {
                 $isNewRow = true;
                 $div = $divs->createRow();
                 $div->datecreated = new Zend_Db_Expr("NOW()");
                 $div->content_type_label = $request->content_type_label;
                 $div->save();
                 // Create record on database
             }
             if (isset($request->status)) {
                 $div->status = $request->status;
             }
             if (isset($request->order)) {
                 $div->order = $request->order;
             }
             if ($div->status == 'draft') {
                 if (isset($request->content)) {
                     /*
                      * @change GDE - 05/2014 - Content Translation
                      * Save translation of content (on native table for default language and on translation table for others)
                      */
                     $div->content_draft = $this->contentTranslate->translate($div->content_draft, $request->content, $div->id, 'draft');
                 }
                 if (isset($request->params)) {
                     $div->params_draft = $request->params;
                 }
             } else {
                 /*
                  * @change GDE - 05/2014 - Content Translation
                  * Save translation of content (on native table for default language and on translation table for others)
                  */
                 $div->content_draft = $this->contentTranslate->translate($div->content_draft, '', $div->id, 'draft');
                 if (isset($request->content)) {
                     /*
                      * @change GDE - 05/2014 - Content Translation
                      * Save translation of content (on native table for default language and on translation table for others)
                      */
                     $div->content = $this->contentTranslate->translate($div->content, $request->content, $div->id);
                 }
                 if (isset($request->params)) {
                     $div->params = $request->params;
                 }
             }
             $div->save();
             if ($isNewRow) {
                 if ($this->eModule == 'pages') {
                     $cors = new PagstructurePagdivs();
                 }
                 $cor = $cors->createRow();
                 if ($this->eModule == 'pages') {
                     $cor->pagstructure_id = $request->pagstructureid;
                 }
                 $cor->pagdivs_id = $div->id;
                 $cor->save();
             }
             /*
              * GDE : 27/08/2010
              * Add trace of current action
              */
             if ($this->eModule == 'pages') {
                 $orderPage = new Pagstructure();
                 $orderPage->saveLastupdateContent($request->pagstructureid, $div->status == 'draft' ? false : true);
                 $rowSetPage = $orderPage->find($request->pagstructureid);
                 $rowPage = $rowSetPage->current();
                 // suffix label for tracing
                 $suffixMessage = ' [' . $rowPage->label . ']';
                 // clean cache for parent page
                 PagstructureOp::cleanPageCache($request->pagstructureid);
                 // re-index the page
                 if ($div->status == 'published') {
                     //Sydney_Search_Indexation_Pages_Update::execute($po->pagstructureid,$this);
                 }
                 $module = 'adminpages';
                 $traceMessageUpdate = 'trace.event.update_content_page';
                 $traceMessageCreate = 'trace.event.create_content_page';
             }
             $action = 'updatecontent';
             $traceMessage = $traceMessageUpdate;
             if ($isNewRow) {
                 $action = 'createcontent';
                 $traceMessage = $traceMessageCreate;
             }
             Sydney_Db_Trace::add($traceMessage . $suffixMessage, $module, Sydney_Tools::getTableName($div), $action, $div->id, $request->pagstructureid);
             $msg = 'Element saved.';
             //.'ID of the element '.$div->id;
             $status = 1;
             $dbId = $div->id;
         } catch (Exception $e) {
             $msg = 'Error while saving the element in the database!' . $e->getMessage();
             $status = 0;
         }
     } else {
         $msg = 'Access rights error';
         $status = 0;
         $dbId = 0;
     }
     $this->view->ResultSet = array('message' => $msg, 'status' => $status, 'dbid' => $dbId, 'modal' => false);
 }