Example #1
0
 function executeSave()
 {
     $request = fvRequest::getInstance();
     if (!($Page = PageManager::getInstance()->getByPk($request->getRequestParameter('id')))) {
         $Page = new Page();
     }
     $p = $request->getRequestParameter('p');
     $meta = $request->getRequestParameter('meta');
     if ($Page->isNew()) {
         $defaultPage = PageManager::getInstance()->getByPageName('default');
         if (is_object($defaultPage = $defaultPage[0])) {
             if (!$p['page_title']) {
                 $p['page_title'] = $defaultPage->page_title;
             }
             if (!$p['page_description']) {
                 $p['page_description'] = $defaultPage->page_description;
             }
             if (!$p['page_keywords']) {
                 $p['page_keywords'] = $defaultPage->page_keywords;
             }
             if (!$p['page_content']) {
                 $p['page_content'] = $defaultPage->page_content;
             }
         }
     }
     $Page->addField("oldImage", 'string', $Page->image);
     $Page->updateFromRequest($p);
     $Page->getMeta()->updateFromRequest($meta);
     if ($Page->setMeta($Page->getMeta()) && $Page->save()) {
         fvResponce::getInstance()->setHeader('Id', $Page->getPk());
         $this->setFlash("Данные успешно сохранены", self::$FLASH_SUCCESS);
         fvResponce::getInstance()->setHeader('redirect', fvSite::$fvConfig->get('dir_web_root') . $request->getRequestParameter('module') . "/?id=" . $Page->getPk());
     } else {
         fvResponce::getInstance()->setHeader('X-JSON', json_encode($Page->getValidationResult()));
         $this->setFlash("Ошибка при сохранении данных проверте правильность введенных данных", self::$FLASH_ERROR);
     }
     if (fvRequest::getInstance()->isXmlHttpRequest()) {
         return self::$FV_AJAX_CALL;
     } else {
         return self::$FV_OK;
     }
 }