コード例 #1
0
ファイル: IndexController.php プロジェクト: anunay/stentors
 public function editAction()
 {
     $this->view->title = "Modification d'un texte";
     if ($this->view->aclIsAllowed('text', 'edit', true)) {
         $_blockID = $this->_getParam('blockID');
         $_pageid = $this->_getParam('pageID');
         $_id = $this->_getParam('ID');
         $base_dir = $this->getFrontController()->getBaseUrl();
         $blockText = new Text();
         $select = $blockText->select();
         $select->where('TD_BlockID = ?', $_blockID);
         $select->where('TD_LanguageID = ?', $this->_currentEditLanguage);
         $block = $blockText->fetchRow($select);
         $blockSelect = new Blocks();
         $selectBloc = $blockSelect->select()->setIntegrityCheck(false)->from('Blocks')->where('B_ID = ?', $_blockID)->join('PagesIndex', 'PI_PageID = B_PageID')->where('PI_LanguageID = ?', $block['TD_LanguageID']);
         // If block doesn't exist, creates it.
         if (empty($block)) {
             $block = $blockText->createRow(array('TD_BlockID' => $_blockID, 'TD_LanguageID' => $this->_currentEditLanguage));
             $block->save();
             // load it
             $block = $blockText->fetchRow($select);
         }
         if ($_id) {
             $returnLink = "{$base_dir}/text/index/list-approbation-request/";
         } else {
             $returnLink = "{$base_dir}/page/index/index/ID/{$_pageid}";
         }
         $form = new FormText(array('baseDir' => $base_dir, 'pageID' => $_pageid, 'cancelUrl' => $returnLink, 'toApprove' => $block["TD_ToApprove"]));
         if (!$this->_request->isPost()) {
             $block_data = empty($block) ? array() : $block->toArray();
             $blockData = $blockSelect->fetchRow($selectBloc);
             $block_data['PI_PageTitle'] = $blockData['PI_PageTitle'];
             $form->populate($block_data);
         } else {
             $formData = $this->_request->getPost();
             if ($form->isValid($formData)) {
                 if (isset($_POST['submitSaveSubmit'])) {
                     $block['TD_ToApprove'] = 1;
                     //header("location:".$returnLink);
                 } elseif (isset($_POST['submitSaveReturnWriting'])) {
                     $block['TD_ToApprove'] = 0;
                     //header("location:".$returnLink);
                 } elseif (isset($_POST['submitSaveOnline'])) {
                     $block['TD_OnlineTitle'] = $formData['TD_DraftTitle'];
                     $block['TD_OnlineText'] = $formData['TD_DraftText'];
                     $block['TD_ToApprove'] = 0;
                     //header("location:".$returnLink);
                     // index the new text if block online
                     $blockData = $blockSelect->fetchRow($selectBloc);
                     if ($blockData['B_Online'] == 1 && $blockData['PI_Status'] == 1) {
                         $indexData['pageID'] = $blockData['B_PageID'];
                         $indexData['moduleID'] = $blockData['B_ModuleID'];
                         $indexData['contentID'] = $block['TD_ID'];
                         $indexData['languageID'] = $block['TD_LanguageID'];
                         $indexData['title'] = $blockData['PI_PageTitle'];
                         $indexData['text'] = '';
                         $indexData['link'] = '';
                         $indexData['contents'] = $blockData['PI_PageTitle'] . " " . $block['TD_OnlineText'];
                         $indexData['action'] = 'update';
                         Cible_FunctionsIndexation::indexation($indexData);
                     }
                 } else {
                     $returnLink = "";
                 }
                 $block['TD_DraftTitle'] = $formData['TD_DraftTitle'];
                 $block['TD_DraftText'] = $formData['TD_DraftText'];
                 $block->save();
                 $oPage = new PagesObject();
                 $pageData['P_ID'] = $_pageid;
                 $pageData['PI_PageTitle'] = $formData['PI_PageTitle'];
                 $oPage->save($_pageid, $pageData, $this->_currentEditLanguage);
                 //if($returnLink <> "")
                 //$this->_redirect("/page/index/index/ID/$_pageid");
             }
         }
         $this->view->assign('form', $form);
         $this->view->assign('pageId', $_pageid);
         $this->view->assign('onlineTitle', isset($block['TD_OnlineTitle']) ? $block['TD_OnlineTitle'] : '');
         $this->view->assign('onlineText', isset($block['TD_OnlineText']) ? $block['TD_OnlineText'] : '');
     }
 }