コード例 #1
0
ファイル: ActionAdmin.class.php プロジェクト: hard990/altocms
 /**
  * Обработка отправки формы при редактировании страницы
  *
  * @param ModulePage_EntityPage $oPageEdit
  */
 protected function SubmitEditPage($oPageEdit)
 {
     // * Проверяем корректность полей
     if (!$this->CheckPageFields()) {
         return;
     }
     if ($oPageEdit->getId() == F::GetRequest('page_pid')) {
         E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'));
         return;
     }
     // * Проверяем есть ли страница с указанным URL
     if ($oPageEdit->getUrlFull() != F::GetRequest('page_url')) {
         if (E::ModulePage()->GetPageByUrlFull(F::GetRequest('page_url'))) {
             E::ModuleMessage()->AddError(E::ModuleLang()->Get('action.admin.page_url_exist'), E::ModuleLang()->Get('error'));
             return;
         }
     }
     // * Обновляем свойства страницы
     $oPageEdit->setActive(F::GetRequest('page_active') ? 1 : 0);
     $oPageEdit->setAutoBr(F::GetRequest('page_auto_br') ? 1 : 0);
     $oPageEdit->setMain(F::GetRequest('page_main') ? 1 : 0);
     $oPageEdit->setDateEdit(F::Now());
     if (F::GetRequest('page_pid') == 0) {
         $oPageEdit->setUrlFull(F::GetRequest('page_url'));
         $oPageEdit->setPid(null);
     } else {
         $oPageEdit->setPid(F::GetRequest('page_pid'));
         $oPageParent = E::ModulePage()->GetPageById(F::GetRequest('page_pid'));
         $oPageEdit->setUrlFull($oPageParent->getUrlFull() . '/' . F::GetRequest('page_url'));
     }
     $oPageEdit->setSeoDescription(F::GetRequest('page_seo_description'));
     $oPageEdit->setSeoKeywords(F::GetRequest('page_seo_keywords'));
     $oPageEdit->setText(E::ModuleText()->SnippetParser(F::GetRequest('page_text')));
     $oPageEdit->setTextSource(F::GetRequest('page_text'));
     $oPageEdit->setTitle(F::GetRequest('page_title'));
     $oPageEdit->setUrl(F::GetRequest('page_url'));
     $oPageEdit->setSort(F::GetRequest('page_sort'));
     // * Обновляем страницу
     if (E::ModulePage()->UpdatePage($oPageEdit)) {
         E::ModulePage()->RebuildUrlFull($oPageEdit);
         E::ModuleMessage()->AddNotice(E::ModuleLang()->Get('action.admin.pages_edit_submit_save_ok'));
         $this->SetParam(0, null);
         $this->SetParam(1, null);
         R::Location('admin/content-pages/');
     } else {
         E::ModuleMessage()->AddError(E::ModuleLang()->Get('system_error'));
     }
 }