예제 #1
0
 public function actionCreate()
 {
     $model = new MenuItem();
     if (isset($_POST['MenuItem'])) {
         $model->setAttributes($_POST['MenuItem']);
         if (isset($_POST['MenuItem']['menu'])) {
             $model->menu = $_POST['MenuItem']['menu'];
         }
         if (isset($_POST['MenuItem']['parent'])) {
             $model->parent = $_POST['MenuItem']['parent'];
         }
         $model->link = $_POST['MenuItem'][$_POST['MenuItem']['type']];
         if (isset($_POST['MenuItem']['role'])) {
             $model->role = implode(',', $_POST['MenuItem']['role']);
         } else {
             $model->role = '';
         }
         //pushing newly added item to last
         $maxRight = $model->getMaxRight();
         $model->lft = $maxRight + 1;
         $model->rgt = $maxRight + 2;
         try {
             if ($model->save()) {
                 $this->redirect(array('/' . $this->module->id . '/item/index', 'id' => $model->menu_id, 'activeId' => $model->id));
             }
         } catch (Exception $e) {
             $model->addError('', $e->getMessage());
         }
     } elseif (isset($_GET['MenuItem'])) {
         $model->attributes = $_GET['MenuItem'];
     }
     $this->render('create', array('model' => $model, 'menuId' => key($_GET)));
 }
예제 #2
0
 public function addcustommenu()
 {
     $menuitem = new MenuItem();
     $menuitem->label = Input::get("labelmenu");
     $menuitem->link = Input::get("linkmenu");
     $menuitem->menu = Input::get("idmenu");
     $menuitem->save();
 }
 /**
  * Создает новую модель пунта меню.
  * Если создание прошло успешно - перенаправляет на просмотр.
  *
  * @return void
  */
 public function actionCreate()
 {
     $model = new MenuItem();
     $model->menu_id = Yii::app()->getRequest()->getQuery('mid', null);
     if (($data = Yii::app()->getRequest()->getPost('MenuItem')) !== null) {
         $model->setAttributes($data);
         if ($model->save()) {
             Yii::app()->user->setFlash(yupe\widgets\YFlashMessages::SUCCESS_MESSAGE, Yii::t('MenuModule.menu', 'New item was added to menu!'));
             $this->redirect((array) Yii::app()->getRequest()->getPost('submit-type', ['create']));
         }
     }
     $this->render('create', ['model' => $model]);
 }
예제 #4
0
 /**
  * Creates a new model.
  *
  * @param $menuId
  * @param int $parentId
  *
  * @throws CHttpException
  */
 public function actionCreate($menuId, $parentId = 0)
 {
     $menu = $this->loadMenuModel($menuId);
     $this->breadcrumbs = MenuItem::getBreadcrumbs($parentId, $menuId, 'Добавление');
     $model = new MenuItem();
     $model->menu_id = $menuId;
     $model->parent_id = $parentId;
     if (isset($_POST['MenuItem'])) {
         $model->attributes = $_POST['MenuItem'];
         if ($model->save()) {
             $this->redirect(array('index', 'menuId' => $model->menu_id, 'parentId' => $model->parent_id));
         }
     }
     $this->render('form', array('model' => $model, 'menu' => $menu));
 }
예제 #5
0
 public function newMenuItem()
 {
     $validate = new Validate();
     $validated = $validate->Validate();
     $categories = $this->getCategories();
     $nameToSlug = $this->nameToSlug($validated);
     $current_user = \Auth::user()->user_id;
     if (\Auth::check()) {
         if ($validated->passes() && $nameToSlug === true) {
             $slug = \Input::get('name');
             $slug = preg_replace('#[ -]+#', '-', $slug);
             $slug = strtolower($slug);
             \DB::beginTransaction();
             try {
                 $item = new \MenuItem();
                 $item->menu_item_name = \Input::get('name');
                 $item->menu_item_description = \Input::get('description');
                 $item->menu_item_category_fk = \Input::get('category');
                 $item->menu_item_short = \Input::get('desc');
                 $item->menu_item_price = \Input::get('price');
                 $item->menu_item_slug = $slug;
                 if (\Input::hasFile('Upload')) {
                     $name = \Input::file('Upload')->getClientOriginalName();
                     \Input::file('Upload')->move('uploads', $name);
                     $item->menu_item_picture_uri = '/uploads/' . $name;
                 }
                 //this creates the menu item for user1...they're f****d if it doesnt //exist
                 $item->user_id_fk = $current_user;
                 $item->save();
             } catch (ValidationException $e) {
                 DB::rollback();
                 throw $e;
             }
             \DB::commit();
             return \Redirect::to('admin/edit/' . $slug)->with('message', '<div class="alert alert-dismissible alert-success alert-link"><button type="button" class="close" data-dismiss="alert">×</button>Saved at: ' . link_to('/menu/' . $slug) . '</p></div>');
         }
         if ($nameToSlug === false) {
             return \View::make('menu-items.new')->withErrors($validated)->withInput(array('name', 'description'))->with('message', '<p class="alert alert-dismissible alert-danger alert-link">An item with the same name already exists')->withCategories($categories);
         }
         return \View::make('menu-items.new')->withErrors($validated)->withInput(array('name', 'description', 'category', 'desc', 'price'))->withCategories($categories);
     }
     return \Redirect::to('admin');
 }
 public function safeUp()
 {
     if (Yii::app()->hasModule('menu')) {
         Yii::import('application.modules.menu.models.*');
         Yii::import('application.modules.menu.MenuModule');
         $menu = Menu::model()->find(['order' => 'id ASC', 'limit' => 1]);
         if (null !== $menu) {
             $item = MenuItem::model()->find('href = :href', [':href' => '/store/product/index']);
             if (null != $item) {
                 $item = new MenuItem();
                 $item->menu_id = $menu->id;
                 $item->title = 'Магазин';
                 $item->href = '/store/product/index';
                 $item->parent_id = 0;
                 $item->condition_name = null;
                 $item->save();
             }
         }
     }
 }
예제 #7
0
 /**
  * Создает новую модель пунта меню.
  * Если создание прошло успешно - перенаправляет на просмотр.
  *
  * @return void
  */
 public function actionCreate()
 {
     $model = new MenuItem();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     $model->menu_id = Yii::app()->getRequest()->getQuery('mid', null);
     if (($data = Yii::app()->getRequest()->getPost('MenuItem')) !== null) {
         $model->setAttributes($data);
         if ($model->save()) {
             Yii::app()->user->setFlash(yupe\widgets\YFlashMessages::SUCCESS_MESSAGE, Yii::t('MenuModule.menu', 'New item was added to menu!'));
             $this->redirect((array) Yii::app()->getRequest()->getPost('submit-type', array('create')));
         }
     }
     $criteria = new CDbCriteria();
     $criteria->select = new CDbExpression('MAX(sort) as sort');
     $max = $model->find($criteria);
     $model->sort = $max->sort + 1;
     // Set sort in Adding Form as ma x+ 1
     $this->render('create', array('model' => $model));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     // define rules
     $rules = array('name' => array('required'), 'position' => array('required'));
     // pass input to validator
     $validator = Validator::make(Input::all(), $rules);
     // test if input fails
     /* @TODO : Faire fonctionner le Validator de l'Update !! (a priori, problème avec méthode Edit également) */
     if ($validator->fails()) {
         return Redirect::route('admin.menu.create')->withErrors($validator)->withInput();
     }
     $name = Input::get('name');
     $route = Input::get('route');
     $position = Input::get('position');
     $menuItem = new MenuItem();
     $menuItem->name = $name;
     $menuItem->route = $route;
     $menuItem->position = $position;
     $menuItem->save();
     return Redirect::route('admin.menu.index')->withMessage("L'onglet de menu a été créé");
 }
예제 #9
0
 protected function createMenu($menuArr, $items)
 {
     $menu = new Menu();
     $menu->multilang();
     $attr = array('name' => $menuArr['name']);
     foreach (Yii::app()->params['languages'] as $lang => $langName) {
         $attr['name_' . $lang] = $menuArr['name_' . $lang];
     }
     $menu->setAttributes($attr);
     $menu->id = $menuArr['id'];
     $menu->save();
     $orderNum = 1;
     foreach ($items as $item) {
         $menuItem = new MenuItem();
         $menuItem->multilang();
         $attr = array('menuId' => $menuArr['id'], 'name' => $item['name'], 'link' => $item['link'], 'orderNum' => $orderNum++, 'active' => 1, 'visible' => 1);
         foreach (Yii::app()->params['languages'] as $lang => $langName) {
             $attr['name_' . $lang] = $item['name_' . $lang];
         }
         $menuItem->setAttributes($attr);
         $menuItem->save();
     }
 }
예제 #10
0
 /**
  * Добавляет новый пункт меню в меню
  * @param $title string - Заголовок
  * @param $href string - Ссылка
  * @param $parentId int - Родитель
  * @param bool $regularLink - Обычная ссылка
  * @return bool
  */
 public function addItem($title, $href, $parentId, $regularLink = false)
 {
     $menuItem = new MenuItem();
     $menuItem->parent_id = (int) $parentId;
     $menuItem->menu_id = $this->id;
     $menuItem->title = $title;
     $menuItem->href = $href;
     $menuItem->regular_link = $regularLink;
     if ($menuItem->save()) {
         Yii::app()->getCache()->clear(['menu', $this->code]);
         return true;
     }
     return false;
 }
예제 #11
0
 public function actionCrearitemajax($id)
 {
     if (!$id) {
         throw new CHttpException(404, 'Invalid request');
     }
     $menuItem = new MenuItem();
     $menu = Menu::model()->findByPk($id);
     $menuItem->menu_id = $menu->id;
     if (isset($_POST['MenuItem'])) {
         $menuItem->attributes = $_POST['MenuItem'];
         $menuItem->tipo_link_id = 2;
         $menuItem->url_id = NULL;
         $menuItem->clase = 'fancybox fancybox.ajax';
         if ($menuItem->save()) {
             Yii::app()->user->setFlash('success', 'Item ' . $menuItem->label . ' guardado con éxito');
             $this->redirect(array('view', 'id' => $menuItem->menu_id));
         }
         //if($menuItem->save())
     }
     //if(isset($_POST['MenuItem']))
     $micrositios = Micrositio::model()->with('url')->findAllByAttributes(array('menu_id' => $id));
     $u = $this->createAbsoluteUrl('/' . $micrositios[0]->url->slug);
     $paginas = array($u . '#imagenes' => 'Imágenes', $u . '#videos' => 'Videos');
     $this->render('crearItemajax', array('model' => $menuItem, 'menu' => $menu, 'paginas' => $paginas));
 }
 public function updatemenus()
 {
     if (Input::get("id") == 0) {
         $menu = new MenuItem();
         if (Input::has("label")) {
             $menu->label = Input::get("label");
         }
         if (Input::has("class")) {
             $menu->class = Input::get("class");
         }
         if (Input::has("link")) {
             $menu->link = Input::get("link");
         }
         if (Input::has("parent")) {
             if (Input::get("parent") != "") {
                 $menu->parent = Input::get("parent");
             } else {
                 $menu->parent = 0;
             }
         }
         $menu->sort = 0;
         echo $menu->save();
     } else {
         $menu = Menu::find(Input::get("id"));
         if (Input::has("label")) {
             $menu->label = Input::get("label");
         }
         if (Input::has("parent")) {
             $menu->parent = Input::get("parent");
         }
         if (Input::has("class")) {
             $menu->class = Input::get("class");
         }
         if (Input::has("link")) {
             $menu->link = Input::get("link");
         }
         $menu->save();
     }
 }
예제 #13
0
 public function postItemStore($id)
 {
     if (Session::get('user_level') < Config::get('cms.addMenuItem')) {
         return Redirect::to(_l(URL::action('AdminHomeController@getIndex')))->with('message', Lang::get('admin.notPermitted'))->with('notif', 'warning');
     }
     $rules = array('title' => 'Required', 'url' => 'Required');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return Redirect::to(_l(URL::action('MenuController@getItemCreate') . "/" . $id))->withErrors($validator)->withInput();
     } else {
         try {
             $menu = Menu::findOrFail($id);
             $item = new MenuItem();
             $item->title = Input::get('title');
             $item->url = Input::get('url');
             $item->item_class = Input::get('class');
             $item->item_id = Input::get('cssid');
             $item->ordering = Input::get('ordering');
             $item->parent_id = Input::get('parent');
             $item->target = Input::get('target');
             $item->menu_id = $menu->id;
             $item->save();
             return Redirect::to(_l(URL::action('MenuController@getItemEdit') . "/" . $item->id))->with('message', Lang::get('admin.menuItemSaved'))->with('notif', 'success');
         } catch (Exception $e) {
             return Redirect::to(_l(URL::action('MenuController@getEdit') . "/" . $id))->with('message', Lang::get('admin.error'))->with('notif', 'danger');
         }
     }
 }
예제 #14
0
파일: Menu.php 프로젝트: yupe/yupe
 /**
  * Добавляет новый пункт меню в меню
  * @param $title string - Заголовок
  * @param $href string - Ссылка
  * @param $parentId int - Родитель
  * @param bool $regularLink - Обычная ссылка
  * @return bool
  */
 public function addItem($title, $href, $parentId, $regularLink = false)
 {
     $menuItem = new MenuItem();
     $menuItem->setAttributes(['parent_id' => (int) $parentId, 'menu_id' => $this->id, 'title' => $title, 'href' => $href, 'regular_link' => $regularLink]);
     if (true === $menuItem->save()) {
         Yii::app()->getCache()->clear(['menu', $this->code]);
         return true;
     }
     return false;
 }
예제 #15
0
파일: Menu.php 프로젝트: alextravin/yupe
 /**
  * Добавляет новый пункт меню в меню
  * @param $title string - Заголовок
  * @param $href string - Ссылка
  * @param $parentId int - Родитель
  * @param bool $regularLink - Обычная ссылка
  * @return bool
  */
 public function addItem($title, $href, $parentId, $regularLink = false)
 {
     $menuItem = new MenuItem();
     $menuItem->parent_id = (int) $parentId;
     $menuItem->menu_id = $this->id;
     $menuItem->title = $title;
     $menuItem->href = $href;
     $menuItem->condition_name = '';
     $menuItem->class = '';
     $menuItem->title_attr = '';
     $menuItem->before_link = '';
     $menuItem->after_link = '';
     $menuItem->target = '';
     $menuItem->rel = '';
     $menuItem->regular_link = $regularLink;
     if ($menuItem->save()) {
         Yii::app()->cache->clear(['menu', $this->code]);
         return true;
     }
     return false;
 }
예제 #16
0
    }
    /// proceed submission
    // proceed for $name
    $object->setName($name);
    // proceed for $uri
    $object->setUri($uri);
    // proceed for $menu_id
    if (!empty($menu_id)) {
        $object->setMenuId($menu_id);
    }
    // proceed for $parent_id
    if (!empty($parent_id)) {
        $object->setParentId($parent_id);
    }
    if ($error_flag == false) {
        if ($object->save()) {
            Message::register(new Message(Message::SUCCESS, i18n(array("en" => "Record saved", "zh" => "记录保存成功"))));
            HTML::forwardBackToReferer();
        } else {
            Message::register(new Message(Message::DANGER, i18n(array("en" => "Record failed to save", "zh" => "记录保存失败"))));
        }
    }
}
$html = new HTML();
$html->renderOut('core/backend/html_header', array('title' => i18n(array('en' => 'Create Menu item', 'zh' => 'Create 菜单项目'))));
$html->output('<div id="wrapper">');
$html->renderOut('core/backend/header');
$html->renderOut('menu/backend/menu_item_create', array('object' => $object));
$html->output('</div>');
$html->renderOut('core/backend/html_footer');
exit;
예제 #17
0
 public function crear_item_inicio($pagina, $label = 'Inicio')
 {
     $mi = new MenuItem();
     $mi->menu_id = $pagina->micrositio->menu_id;
     $mi->tipo_link_id = 1;
     $mi->url_id = $pagina->url_id;
     $mi->orden = 0;
     $mi->label = $label;
     $mi->estado = 1;
     if ($mi->save()) {
         return true;
     } else {
         return false;
     }
 }
예제 #18
0
파일: fixture.php 프로젝트: jeffreycai/ct21
    $menu_item->setUri('');
    $menu_item->save();
    $menu_item = new MenuItem();
    $menu_item->setWeight($weight++);
    $menu_item->setMenuId($menu->getId());
    $menu_item->setName('NEWS');
    $menu_item->setParentId($root_id);
    $menu_item->setUri('news');
    $menu_item->save();
    $menu_item = new MenuItem();
    $menu_item->setWeight($weight++);
    $menu_item->setMenuId($menu->getId());
    $menu_item->setName('OUR SERVICES');
    $menu_item->setParentId($root_id);
    $menu_item->setUri('services');
    $menu_item->save();
    $menu_item = new MenuItem();
    $menu_item->setWeight($weight++);
    $menu_item->setMenuId($menu->getId());
    $menu_item->setName('ABOUT US');
    $menu_item->setParentId($root_id);
    $menu_item->setUri('about');
    $menu_item->save();
    $menu_item = new MenuItem();
    $menu_item->setWeight($weight++);
    $menu_item->setMenuId($menu->getId());
    $menu_item->setName('CONTACT');
    $menu_item->setParentId($root_id);
    $menu_item->setUri('contact');
    $menu_item->save();
}