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]; }
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; }