Ejemplo n.º 1
0
 public function update(Request $request, $menuId)
 {
     $info = $request->only('info');
     $menu = Menu::find($menuId);
     $menu->update($info['info']);
     return view('message', ['msg' => '操作成功', 'redirect' => route('menus.index')]);
 }
Ejemplo n.º 2
0
 public function run()
 {
     $menu = Menu::find()->where(['position' => 'bottom'])->one();
     $p = explode(',', $menu->content);
     $model = Page::find()->where(['id' => $p])->all();
     return $this->render('links', ['pages' => $model]);
 }
Ejemplo n.º 3
0
 public static function getChildMenu($ParentId, $ParentLabel)
 {
     $menuData = Menu::find()->where(['ismenu' => TRUE, 'status' => TRUE, 'parentid' => $ParentId, 'isweb' => FALSE])->orderBy('orderby')->all();
     $submenu = array();
     $menu = array();
     if (!empty($menuData)) {
         foreach ($menuData as $mKey => $mValue) {
             $menu['label'] = Html::tag('i', '', ['class' => $mValue['labelicon']]) . Html::encode($mValue['label']);
             $urlArray = [$mValue['module'], $mValue['controller'], $mValue['action']];
             $menu['url'] = \Yii::$app->urlManager->createUrl(implode('/', $urlArray));
             $class = '';
             if (\Yii::$app->controller->id == $urlArray[1] && \Yii::$app->controller->action->id == $urlArray[2]) {
                 $class = 'active';
                 \Yii::$app->params['breadcrumbs'][] = $ParentLabel;
                 \Yii::$app->params['breadcrumbs'][] = $mValue['label'];
             }
             $menu['options'] = ['class' => $class];
             $submenu[$mValue['orderby']] = $menu;
             unset($menu, $urlArray);
         }
         // $submenu['options'] = ['class' => 'children'];
     }
     return $submenu;
     //, 'options' => ['class' => 'children']];
 }
Ejemplo n.º 4
0
 public function destroy($id)
 {
     //
     $data = Menu::find($id);
     if ($data->delete()) {
         return response()->json(array('success' => TRUE, 'msg' => 'Data Berhasil Dihapus'));
     }
 }
Ejemplo n.º 5
0
 public function postDestroy()
 {
     $menu = Menu::find(Input::get('id'));
     if ($menu) {
         $menu->delete();
         return Redirect::back()->with('message', 'Элемент меню удален');
     }
     return Redirect::back()->with('message', "Ошибка");
 }
Ejemplo n.º 6
0
 public function actionPage($slug)
 {
     $page = Page::find()->where(['slug' => $slug])->one();
     if ($slug == 'home') {
         return $this->goHome();
     }
     if (Yii::$app->deviceDetect->isMobile()) {
         $this->layout = "//mobile";
         $mobile = 'mobile/';
     } else {
         $this->layout = "//inner";
         $mobile = '';
     }
     if ($page->parent_id == 0) {
         $menu = Menu::find()->where(['position' => 'bottom'])->one();
         $links = explode(',', $menu->content);
         if ($page->id == 13) {
             $group_news = Post::find()->where(['page_id' => 14])->orderBy(['create_date' => SORT_DESC])->all();
             $industry_news = Post::find()->where(['page_id' => 15])->orderBy(['create_date' => SORT_DESC])->limit(6)->all();
             $media_news = Post::find()->where(['page_id' => 16])->orderBy(['create_date' => SORT_DESC])->limit(6)->all();
             $pic_news = Photo::find()->where(['page_id' => 39, 'parent_id' => 0])->orderBy(['create_date' => SORT_DESC])->limit(10)->all();
             $headlines = Post::find()->where(['is_headline' => 1])->orderBy(['create_date' => SORT_DESC])->all();
             return $this->render($mobile . 'template/' . $page->template, ['page' => $page, 'group_news' => $group_news, 'industry_news' => $industry_news, 'media_news' => $media_news, 'pic_news' => $pic_news, 'headlines' => $headlines]);
         } else {
             if (in_array($page->id, $links)) {
                 return $this->render($mobile . 'template/' . $page->template, ['page' => $page, 'menu' => Page::find()->where(['id' => $links])->all()]);
             }
         }
         $menu = Page::find()->where(['parent_id' => $page->id])->orderBy(['display_order' => SORT_ASC])->all();
         $s = $menu ? $menu[0]->slug : null;
         return $this->redirect(['page', 'slug' => $s]);
     } else {
         $menu = Page::find()->where(['parent_id' => $page->parent_id])->orderBy(['display_order' => SORT_ASC])->all();
     }
     if ($page->type == 3) {
         //新闻列表
         $query = Post::find()->where(['page_id' => $page->id]);
         $countQuery = clone $query;
         $pnation = new Pagination(['defaultPageSize' => 12, 'totalCount' => $countQuery->count()]);
         $posts = $query->orderBy(['create_date' => SORT_DESC])->offset($pnation->offset)->limit($pnation->limit)->all();
         return $this->render($mobile . 'template/' . $page->template, ['page' => $page, 'menu' => $menu, 'pnation' => $pnation, 'posts' => $posts]);
     } else {
         if ($page->type == 4) {
             //相册列表
             $query = Photo::find()->where(['page_id' => $page->id, 'parent_id' => 0]);
             $countQuery = clone $query;
             $pnation = new Pagination(['defaultPageSize' => 9, 'totalCount' => $countQuery->count()]);
             $albums = $query->orderBy(['create_date' => SORT_DESC])->offset($pnation->offset)->limit($pnation->limit)->all();
             //            $albums = Photo::find()->where(['page_id'=>$page->id,'parent_id'=>0])->orderBy(['create_date'=>SORT_DESC])->all();
             return $this->render($mobile . 'template/' . $page->template, ['page' => $page, 'albums' => $albums, 'pnation' => $pnation, 'menu' => $menu]);
         }
     }
     return $this->render($mobile . 'template/' . $page->template, ['page' => $page, 'menu' => $menu]);
 }
Ejemplo n.º 7
0
function getAllChild($role_id, $parent_id = NULL, $level = 0)
{
    foreach (\app\models\Menu::find()->where(["parent_id" => $parent_id])->all() as $menu) {
        ?>
                    <div class="form-group" style="padding-left: <?php 
        echo $level * 20;
        ?>
px">
                        <label>
                            <input type="checkbox" name="menu[]" value="<?php 
        echo $menu->id;
        ?>
" class="minimal" <?php 
        echo isChecked($role_id, $menu->id) ? "checked" : "";
        ?>
>
                        </label>
                        <label style="padding-left: 10px"> <?php 
        echo $menu->name;
        ?>
</label>
                    </div>
                <?php 
        //Show All Actions
        $camelName = Inflector::id2camel($menu->controller);
        $fullControllerName = "app\\controllers\\" . $camelName . "Controller";
        if (class_exists($fullControllerName)) {
            $reflection = new ReflectionClass($fullControllerName);
            $methods = $reflection->getMethods();
            echo "<div class=\"form-group\" style=\"padding-left: " . ($level * 20 + 10) . "px;\">";
            echo "<label><input type=\"checkbox\" class=\"minimal select-all\" ></label><label style=\"padding: 0px 20px 0px 5px\"> Select All</label>";
            foreach ($methods as $method) {
                if (substr($method->name, 0, 6) == "action" && $method->name != "actions") {
                    $camelAction = substr($method->name, 6);
                    $id = Inflector::camel2id($camelAction);
                    $name = Inflector::camel2words($camelAction);
                    $action = \app\models\Action::find()->where(["action_id" => $id, "controller_id" => $menu->controller])->one();
                    if ($action == NULL) {
                        //If the action not in database, save it !
                        $action = new \app\models\Action();
                        $action->action_id = $id;
                        $action->controller_id = $menu->controller;
                        $action->name = $name;
                        $action->save();
                    }
                    showCheckbox("action[]", $action->id, $name, hasAccessToAction($role_id, $action->id));
                }
            }
            echo "</div>";
        }
        getAllChild($role_id, $menu->id, $level + 1);
    }
}
Ejemplo n.º 8
0
 public function update(StoreMenuPostRequest $request, $id)
 {
     $menu = Menu::find($id);
     $res = $menu->update($request->all());
     Menu::fixTree();
     if ($res) {
         flash()->success('操作成功');
     } else {
         flash()->error('操作失败');
     }
     return redirect()->back();
 }
Ejemplo n.º 9
0
 public static function getMenu($roleId, $parentId = NULL)
 {
     $output = [];
     foreach (Menu::find()->where(["parent_id" => $parentId])->all() as $menu) {
         $obj = ["label" => $menu->name, "icon" => $menu->icon, "url" => SidebarMenu::getUrl($menu), "visible" => SidebarMenu::roleHasAccess($roleId, $menu->id)];
         if (count($menu->menus) != 0) {
             $obj["items"] = SidebarMenu::getMenu($roleId, $menu->id);
         }
         $output[] = $obj;
     }
     return $output;
 }
Ejemplo n.º 10
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Menu::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['menu_id' => $this->menu_id, 'parent_id' => $this->parent_id, 'flag_active' => $this->flag_active]);
     $query->andFilterWhere(['like', 'menu_name', $this->menu_name])->andFilterWhere(['like', 'menu_url', $this->menu_url])->andFilterWhere(['like', 'menu_class', $this->menu_class]);
     return $dataProvider;
 }
Ejemplo n.º 11
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Menu::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'parent_id' => $this->parent_id, 'is_active' => $this->is_active, 'order' => $this->order, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'user_role', $this->user_role])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'route', $this->route])->andFilterWhere(['like', 'params', $this->params])->andFilterWhere(['like', 'menu_icon_class', $this->menu_icon_class]);
     return $dataProvider;
 }
Ejemplo n.º 12
0
 /**
 * Creates data provider instance with search query applied
 *
 * @param array $params
 *
 * @return ActiveDataProvider
 */
 public function search($params)
 {
     $query = Menu::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'order' => $this->order, 'parent_id' => $this->parent_id]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'controller', $this->controller])->andFilterWhere(['like', 'action', $this->action])->andFilterWhere(['like', 'icon', $this->icon]);
     return $dataProvider;
 }
Ejemplo n.º 13
0
 public function run()
 {
     $menu = Menu::find()->where(['position' => 'top'])->one();
     $p = explode(",", $menu->content);
     $pages = Page::find()->where(['id' => $p])->all();
     if (strpos(\Yii::$app->request->url, "view-post")) {
         $post = Post::findOne(\Yii::$app->request->get('id'));
         $current_page = $post->page;
     } else {
         $slug = \Yii::$app->request->get('slug');
         $current_page = Page::find()->where(['slug' => $slug])->one();
     }
     return $this->render('nav', ['pages' => $pages, 'current_page' => $current_page]);
 }
Ejemplo n.º 14
0
 public function run()
 {
     $menu = Menu::find()->where(['position' => 'top'])->one();
     $p = explode(',', $menu->content);
     $model = Page::find()->orderBy('display_order asc')->all();
     $pages = $this->tree($model, 0, $p);
     if (strpos(\Yii::$app->request->url, "view-post")) {
         $post = Post::findOne(\Yii::$app->request->get('id'));
         $current_page = $post->page;
     } else {
         $slug = \Yii::$app->request->get('slug');
         $current_page = Page::find()->where(['slug' => $slug])->one();
     }
     return $this->render('cateWidget', ['pages' => $pages, 'current_page' => $current_page]);
 }
Ejemplo n.º 15
0
 private function _moveMenuItem($menu_id, $operator)
 {
     $menu = Menu::find($menu_id);
     $order = $operator == '>' ? 'asc' : 'desc';
     $neighbour = Menu::where('sort', $operator, $menu->sort)->orderBy('sort', $order)->first();
     if (empty($neighbour)) {
         return false;
     }
     $old_sort = $menu->sort;
     $menu->sort = $neighbour->sort;
     $neighbour->sort = $old_sort;
     $menu->save();
     $neighbour->save();
     return true;
 }
Ejemplo n.º 16
0
 public function actionIndex($uid)
 {
     $user = User::findOne($uid);
     if (empty($user)) {
         throw new HttpException(404, '用户不存在!');
     }
     if ($this->user->rid > 1 && $user->rid == 2) {
         throw new MethodNotAllowedHttpException('权限不够!');
     }
     $menus = Menu::find()->orderBy('sortNum desc')->all();
     $userPermissions = UserPermission::find()->where('uid = :uid', [':uid' => $uid])->all();
     $permissions = array();
     foreach ($userPermissions as $userPermission) {
         $permissions[$userPermission->mid] = $userPermission->mid;
     }
     return $this->render('index', array('menus' => $menus, 'permissions' => $permissions, 'uid' => $uid));
 }
Ejemplo n.º 17
0
 private static function buildMenu($id, $settings)
 {
     $known = Menu::find()->where(['parent' => $id])->orderBy('order')->all();
     //()->where
     $menu = array();
     //var_dump($known);
     //exit;
     foreach ($known as $item) {
         if (($item->id == 43 || $item->parent == 43) && $settings['company.doublebook'] == false) {
             //??($item->id == 43) ||
             continue;
         }
         //echo "  ".$item->id." ".$item->label."<br />";
         //$url = str_replace('/', '.', $item->route);
         $url = $item->route;
         //echo "/".$url.Yii::$app->user->can("/".$url)."<br>\n";
         //echo yii\rbac\ManagerInterface::checkAccess(1,$url);
         //if ((Yii::$app->user->can("/".$url))||($url===null)) {//if has access
         if (is_null($item->route)) {
             $url = '';
         } else {
             $url = yii\helpers\BaseUrl::base() . "/" . $item->route;
         }
         $menu[$item->id] = array('label' => Yii::t('app', $item->name), 'url' => $url, 'icon' => $item->icon, 'items' => Menu::buildMenu($item->id, $settings));
         //}
         //}
     }
     return $menu;
 }
Ejemplo n.º 18
0
 /**
  * Lists all Menu models.
  * @return mixed
  */
 public function actionIndex()
 {
     $dataProvider = new ActiveDataProvider(['query' => Menu::find()]);
     return $this->render('index', ['dataProvider' => $dataProvider]);
 }
Ejemplo n.º 19
0
echo $form->field($model, 'title')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'route')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'params')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'menu_icon_class')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'parent_id')->dropDownList(['' => 'Select parent category...'] + ArrayHelper::map(Menu::find()->all(), 'id', 'title'), ['allowNull' => true]);
?>

    <div class="form-group">
        <?php 
echo Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
    </div>

    <?php 
ActiveForm::end();
?>

</div>
 /**
  * Delete Confirm
  *
  * @param   int   $id
  *
  * @return  View
  */
 public function getModalDelete($id)
 {
     $error = null;
     $menu = Menu::find($id);
     if (!$menu->isdeletable()) {
         $modal_title = trans('admin/menu-builder/menu-builder.modal-delete-title-cant-be-deleted');
         $modal_body = trans('admin/menu-builder/menu-builder.modal-delete-message-cant-be-deleted', ['id' => $menu->id, 'label' => $menu->label]);
         // Force a redirect to the index page if the user clicks on OK.
         $modal_route = route('admin.menus.index');
     } else {
         $modal_title = trans('admin/menu-builder/menu-builder.modal-delete-title');
         $modal_body = trans('admin/menu-builder/menu-builder.modal-delete-message', ['id' => $menu->id, 'label' => $menu->label]);
         $modal_route = route('admin.menus.delete', array('id' => $menu->id));
     }
     return view('modal_confirmation', compact('error', 'modal_route', 'modal_title', 'modal_body'));
 }
Ejemplo n.º 21
0
 private function isPermiss($user, $controller, $action)
 {
     $menu = Menu::find()->where('controller = :controller', [':controller' => $controller])->andWhere('action = :action', [':action' => $action])->one();
     //echo '$controller:'.$controller.'/$action:'.$action;
     $permiss = FALSE;
     if ($menu) {
         if ($user->isadmin == 1 || !empty($this->permissions[$menu->id])) {
             $permiss = TRUE;
         }
     } else {
         $permiss = TRUE;
     }
     return $permiss;
 }
Ejemplo n.º 22
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     //
     $menu = \App\Models\Menu::find($id);
     $menu->delete();
     return redirect("menus");
 }
Ejemplo n.º 23
0
 public function run()
 {
     $menu = Menu::find()->where(['status' => Menu::STATUS_ENABLED])->all();
     return $this->render('menu', ['menu' => $menu]);
 }
Ejemplo n.º 24
0
 public static function getAllMenu()
 {
     $items = Menu::find()->asArray()->all();
     $all = [];
     foreach ($items as $key => $value) {
         $add = "";
         if ($value['menu_type'] == 'doeuvres') {
             $add = " \$" . $value['menu_price'] . "/dozen";
         } elseif ($value['menu_type'] == 'reseption') {
             $add = " \$" . $value['menu_price'] . "/person";
         }
         $all[$value['menu_type']][$value['menu_id']] = $value['menu_name'] . $add;
     }
     return $all;
 }
Ejemplo n.º 25
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     $menu = Menu::find($id);
     $menu->delete();
     return redirect('admin/menu');
 }
Ejemplo n.º 26
0
 public function manageUpdate($id)
 {
     //save
     $menu = Menu::find($id);
     if ($menu != null) {
         $menu->content = Input::get('content');
         $menu->save();
     }
 }
Ejemplo n.º 27
0
 public function actionList()
 {
     \Yii::$app->language = 'vi-VN';
     $dataProvider = new ActiveDataProvider(['query' => Menu::find()]);
     return $this->render('list', ['dataProvider' => $dataProvider]);
 }