/** * Page のアクション. * * @return void */ public function action() { $objLayout = new SC_Helper_PageLayout_Ex(); $objFormParam = new SC_FormParam_Ex(); $this->lfInitParam($objFormParam); $objFormParam->setParam($_REQUEST); $objFormParam->convParam(); $this->arrErr = $objFormParam->checkError(); $is_error = !SC_Utils_Ex::isBlank($this->arrErr); $this->device_type_id = $objFormParam->getValue('device_type_id', DEVICE_TYPE_PC); $this->page_id = $objFormParam->getValue('page_id'); switch ($this->getMode()) { // 削除 case 'delete': if (!$is_error) { if ($objLayout->isEditablePage($this->device_type_id, $this->page_id)) { $objLayout->lfDelPageData($this->page_id, $this->device_type_id); SC_Response_Ex::reload(array('device_type_id' => $this->device_type_id, 'msg' => 'on'), true); SC_Response_Ex::actionExit(); } } break; // 登録/編集 // 登録/編集 case 'confirm': if (!$is_error) { $this->arrErr = $this->lfCheckError($objFormParam, $this->arrErr); if (SC_Utils_Ex::isBlank($this->arrErr)) { $result = $this->doRegister($objFormParam, $objLayout); if ($result !== false) { $arrQueryString = array('device_type_id' => $this->device_type_id, 'page_id' => $result, 'msg' => 'on'); SC_Response_Ex::reload($arrQueryString, true); SC_Response_Ex::actionExit(); } } } break; default: if (isset($_GET['msg']) && $_GET['msg'] == 'on') { $this->tpl_onload = "alert('登録が完了しました。');"; } break; } if (!$is_error) { $this->arrPageList = $objLayout->getPageProperties($this->device_type_id, null); // page_id が指定されている場合にはテンプレートデータの取得 if (!SC_Utils_Ex::isBlank($this->page_id)) { $arrPageData = $this->getTplMainpage($this->device_type_id, $this->page_id, $objLayout); $objFormParam->setParam($arrPageData); } } else { // 画面にエラー表示しないため, ログ出力 GC_Utils_Ex::gfPrintLog('Error: ' . print_r($this->arrErr, true)); } $this->tpl_subtitle = $this->arrDeviceType[$this->device_type_id] . '>' . $this->tpl_subtitle; $this->arrForm = $objFormParam->getFormParamList(); }