public function actionIndex($callback, $id)
 {
     $model = NavItemPageBlockItem::findOne($id);
     if (!$model) {
         throw new Exception("Unable to find item id.");
     }
     $block = Block::objectId($model->block_id, $model->id, 'callback');
     if (!$block) {
         throw new Exception("Unable to find block object.");
     }
     return ObjectHelper::callMethodSanitizeArguments($block, 'callback' . Inflector::id2camel($callback), Yii::$app->request->get());
 }
 public function actionCopyBlockFromStack()
 {
     $model = NavItemPageBlockItem::findOne(Yii::$app->request->post('copyBlockId', 0));
     if ($model && Yii::$app->request->post('copyBlockId', 0) !== Yii::$app->request->post('prevId', false)) {
         $newModel = new NavItemPageBlockItem();
         $newModel->attributes = $model->toArray();
         $newModel->is_dirty = 0;
         $newModel->prev_id = Yii::$app->request->post('prevId', false);
         $newModel->placeholder_var = Yii::$app->request->post('placeholder_var', false);
         $newModel->sort_index = Yii::$app->request->post('sortIndex', false);
         $newModel->nav_item_page_id = Yii::$app->request->post('nav_item_page_id', false);
         if ($newModel->insert(false)) {
             $this->copySubBlocksTo(Yii::$app->request->post('copyBlockId', false), $newModel->id, $newModel->nav_item_page_id);
             return ['response' => true];
         }
     }
     return ['response' => false];
 }
Beispiel #3
0
 public function getRowDescriber()
 {
     if (!empty($this->row_id)) {
         switch ($this->table_name) {
             case "nav":
                 return Nav::findOne($this->row_id)->activeLanguageItem->title;
             case "nav_item":
                 return NavItem::findOne($this->row_id)->title;
             case "cms_nav_item_page_block_item":
                 $block = NavItemPageBlockItem::findOne($this->row_id);
                 if (!$block || $block->block == null) {
                     $arr = $this->getMessageArray();
                     if (!empty($arr) && isset($arr['blockName'])) {
                         return $arr['blockName'] . " ({$arr['pageTitle']})";
                     } else {
                         return;
                     }
                 }
                 return $block->block->getNameForLog() . " (" . $block->droppedPageTitle . ")";
         }
     }
 }
 public function actionToggleBlockHidden($blockId, $hiddenState)
 {
     $block = NavItemPageBlockItem::findOne($blockId);
     if ($block) {
         $block->is_hidden = $hiddenState;
         return $block->update(false);
     }
     return false;
 }