コード例 #1
0
ファイル: PageAction.class.php プロジェクト: knzo/Fireball
 /**
  * @see	\wcf\data\AbstractDatabaseObjectAction::create()
  */
 public function create()
 {
     // set default values for author and last editor
     if (!isset($this->parameters['data']['authorID'])) {
         $this->parameters['data']['authorID'] = WCF::getUser()->userID;
         $this->parameters['data']['authorName'] = WCF::getUser()->username;
     }
     if (!isset($this->parameters['data']['lastEditorID'])) {
         $this->parameters['data']['lastEditorID'] = $this->parameters['data']['authorID'];
         $this->parameters['data']['lastEditorName'] = $this->parameters['data']['authorName'];
     }
     // set default values for creation- and last edit time
     if (!isset($this->parameters['data']['creationTime'])) {
         $this->parameters['data']['creationTime'] = TIME_NOW;
     }
     if (!isset($this->parameters['data']['lastEditTime'])) {
         $this->parameters['data']['lastEditTime'] = $this->parameters['data']['creationTime'];
     }
     // create page itself
     $page = parent::create();
     $pageEditor = new PageEditor($page);
     // handle stylesheets
     if (isset($this->parameters['stylesheetIDs']) && !empty($this->parameters['stylesheetIDs'])) {
         $pageEditor->updateStylesheetIDs($this->parameters['stylesheetIDs']);
     }
     // check if first page
     if (PageCache::getInstance()->getHomePage() === null) {
         $pageEditor->setAsHome();
     }
     // trigger publication
     if (!$page->isDisabled && $page->isPublished) {
         $action = new PageAction(array($pageEditor), 'triggerPublication');
         $action->executeAction();
     }
     return $page;
 }