Ejemplo n.º 1
0
 /**
  * Create default page cover
  * @param \MongoId $accountId
  * @throws ServerErrorHttpException
  */
 private function _createDefaultPageCover(\MongoId $accountId)
 {
     $page = new Page(['scenario' => 'createBasic']);
     $defaultCoverPage = Yii::$app->params['default_cover_page'];
     $page->load($defaultCoverPage, '');
     $page->_id = new \MongoId();
     $page->accountId = $accountId;
     $page->url = Yii::$app->request->hostinfo . '/msite/page/' . $page->_id;
     $shortUrl = Yii::$app->urlService->shortenUrl($page->url);
     $page->shortUrl = $shortUrl['Short'];
     if ($page->save()) {
         $pageComponent = new PageComponent(['scenario' => PageComponent::SCENARIO_CREATE]);
         $defaultCoverPageCompnent = Yii::$app->params['default_cover_pagecomponent'];
         $pageComponent->load($defaultCoverPageCompnent, '');
         $pageComponent->pageId = $page->_id;
         $pageComponent->parentId = $page->_id;
         $pageComponent->accountId = $accountId;
         $pageComponent->jsonConfig = Yii::$app->params['micrositeDefaultConfig'][$pageComponent->name];
         $pageComponent->save();
     } else {
         throw new ServerErrorHttpException(Yii::t('common', 'save_fail'));
     }
 }
Ejemplo n.º 2
0
 private function _createDefaultPageCover($accountId, $hostinfo)
 {
     $defaultCoverPage = ['title' => '默认首页', 'description' => '默认首页', 'type' => 'cover', 'isFinished' => true, 'deletable' => false];
     $defaultCoverPageCompnent = ['name' => 'cover1', 'color' => '#6AB3F7', 'order' => 0];
     $page = Page::findOne(array_merge($defaultCoverPage, ['accountId' => $accountId]));
     if (empty($page)) {
         $page = new Page(['scenario' => 'createBasic']);
         $page->load($defaultCoverPage, '');
         $page->_id = new MongoId();
         $page->accountId = $accountId;
         $page->url = $hostinfo . '/msite/page/' . $page->_id;
         $shortUrl = Yii::$app->urlService->shortenUrl($page->url);
         $page->shortUrl = $shortUrl['Short'];
         if ($page->save()) {
             $pageComponent = new PageComponent(['scenario' => PageComponent::SCENARIO_CREATE]);
             $pageComponent->load($defaultCoverPageCompnent, '');
             $pageComponent->pageId = $page->_id;
             $pageComponent->parentId = $page->_id;
             $pageComponent->accountId = $accountId;
             $pageComponent->jsonConfig = Yii::$app->params['micrositeDefaultConfig'][$pageComponent->name];
             $pageComponent->save();
         } else {
             echo $page->getErrors() . PHP_EOL;
             exit;
         }
     } else {
         echo $accountId . 'data is exists' . PHP_EOL;
     }
 }
 public function actionCreate()
 {
     $pageComponent = new PageComponent(['scenario' => BaseModel::SCENARIO_CREATE]);
     $params = $this->getParams();
     $tabId = $this->getParams('tabId');
     $accountId = $this->getAccountId();
     $params['accountId'] = $accountId;
     unset($params['tabId']);
     $pageComponent->load($params, '');
     $pageComponent->jsonConfig = Yii::$app->params['micrositeDefaultConfig'][$pageComponent->name];
     if ($pageComponent->validate() && $pageComponent->save()) {
         $pageId = $pageComponent->pageId;
         $order = $pageComponent->order;
         $pageComponentId = $pageComponent->_id;
         $condition = ['order' => ['$gte' => $order], '_id' => ['$ne' => $pageComponentId]];
         $inc = 1;
         $tabIndex = $pageComponent->tabIndex;
         $this->_updateOrder($condition, $inc, $pageId, $tabId, $tabIndex);
     } else {
         throw new ServerErrorHttpException(\Yii::t('common', 'save_fail'));
     }
     return $pageComponent;
 }