| Current Path : /var/www/html/drsa/backend/modules/menu/models/frontend/ |
| Current File : /var/www/html/drsa/backend/modules/menu/models/frontend/Menu.php |
<?php
namespace backend\modules\menu\models\frontend;
use Yii;
use backend\modules\mimin\models\Route;
use yii\helpers\ArrayHelper;
// 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 {
public $page_id;
public $menu_type;
public $param;
public $param_item;
/**
*
* @inheritdoc
*/
public static function tableName() {
return 'frontend_menu';
}
/**
*
* @inheritdoc
*/
public function rules() {
return [
[['menu_name'], 'required'],
[['menu_name', 'menu_link', 'menu_class', 'menu_field_id', 'menu_name'], 'string'],
[['menu_icon', 'menu_slug', 'menu_css', 'menu_new_tab', 'menu_php_status', 'menu_php_content', 'menu_descr'], 'safe'],
[['menu_parent_id', 'menu_status', 'menu_type'], 'integer']
];
}
/**
*
* @inheritdoc
*/
public function attributeLabels() {
return [
'menu_id' => 'Menu ID',
'menu_name' => 'Menu Name',
'menu_link' => 'Menu Link',
'menu_field_id' => 'Menu ID',
'menu_parent_id' => 'Menu Parent ID',
'menu_icon' => 'Menu Icon',
'menu_class' => 'Column Class',
'menu_css' => 'CSS Code',
'menu_new_tab' => 'New Tab',
'menu_php_status' => 'PHP Status',
'menu_php_content' => 'PHP Content',
'menu_descr' => 'Menu Description'
];
}
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()->all();
$arr = [];
array_walk($menu, function ($v, $i) use (&$arr) {
return $arr[$v->menu_id] = $v->menu_name;
});
return $arr;
}
public static function getPage() {
$page = Yii::$app->db->createCommand('SELECT site_id, page_id, page_name FROM frontend_page')->queryAll();
$arr = [];
array_walk($page, function ($v, $i) use (&$arr) {
$arr[json_encode([
$v['site_id'],
$v['page_id']
])] = $v['page_name'];
});
return $arr;
}
public static function getPageList() {
$page = Yii::$app->db->createCommand('SELECT page_id, page_name FROM frontend_page')->queryAll();
$arr = [];
array_walk($page, function ($v, $i) use (&$arr) {
$arr[$v['page_id']] = $v['page_name'];
});
return $arr;
}
public static function getSiteList() {
$page = Yii::$app->db->createCommand('SELECT site_id, site_name FROM frontend_site')->queryAll();
$arr = [];
array_walk($page, function ($v, $i) use (&$arr) {
$arr[$v['site_id']] = $v['site_name'];
});
return $arr;
}
public static function getArticleList() {
return Yii::$app->db->createCommand('SELECT content_article_id, content_article_title_my FROM content_article')->queryAll();
}
public static function getImageSliderList() {
return Yii::$app->db->createCommand('SELECT content_image_slider_id, content_image_slider_title FROM content_image_slider')->queryAll();
}
// 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() {
$arr = ArrayHelper::map(\backend\modules\refdynawebv2\models\Ref::find()->where(['cat' => 'FRONTUSER_ROLE'])->orderBy(['descr_en' => SORT_ASC])->all(), 'code', 'descr_en');
return array_merge(['public' => 'Public'], $arr);
//return [
// 'PUBLIC' => 'Public'
//]; // add more role if frontend support it
}
public static function paramProvider() {
return [
'index.php?r=menu/frontend/article-item' => 'article',
'index.php?r=menu/frontend/slider-item' => 'slider'
];
}
}