| Current Path : /var/www/html/dynaweb.blunetdev.com/backend/modules/menu/models/backend/ |
| Current File : /var/www/html/dynaweb.blunetdev.com/backend/modules/menu/models/backend/Menu.php |
<?php
namespace backend\modules\menu\models\backend;
use Yii;
use backend\modules\mimin\models\Route;
use backend\modules\mimin\models\AuthItem;
/**
* This is the model class for table "frontend_menu".
*
* @property integer $menu_id
* @property string $menu_name
* @property integer $menu_order
* @property integer $page_id
* @property string $menu_link
* @property integer $menu_type
* @property integer $menu_parent_id
*/
class Menu extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'backend_menu';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['menu_name', 'menu_link', 'menu_class', 'menu_param'], 'string'],
[['menu_active_route'], 'safe'],
[['menu_parent_id', 'menu_status'], 'integer'],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'menu_id' => 'Menu ID',
'menu_name' => 'Menu Name',
'menu_link' => 'Menu Link',
'menu_parent_id' => 'Menu Parent ID',
];
}
public static function dropdown($parent_id=0){
static $dropdown;
if($dropdown == null){
$dropdown[0] = "Without parent menu";
$models = static::find()->all();
foreach($models as $model){
$dropdown[$model->menu_id] = $model->menu_name;
}
}
return $dropdown;
}
public static function listofmenu(){
$menu = self::find()->where(['menu_status' => 1])->orderBy('menu_id DESC')->all();
$arr = [];
array_walk($menu, function($v, $i) use (&$arr){
return $arr[$v->menu_id] = $v->menu_name . ' - ID:' . $v->menu_id;
});
return $arr;
}
// require mimin modules
public static function getRoute(){
$r = Route::find()->where('alias NOT LIKE "%*%" AND status = 1')->orderBy('name')->all();
$arr = [];
array_walk($r, function($v, $i) use (&$arr) {
return $arr[$v->name] = $v->name;
});
return $arr;
}
public static function getRole() {
$i = AuthItem::find()->where(['type'=>1])->orderBy('name')->all();
$arr = [];
array_walk($i, function($v, $i) use (&$arr) {
return $arr[$v->name] = $v->name;
});
return $arr;
}
public function beforeSave($insert){
if(is_array($this->menu_active_route)) {
$this->menu_active_route = json_encode($this->menu_active_route);
}
return parent::beforeSave($insert);
}
}