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