dmstr / yii2-adminlte-asset

AdminLTE Asset Bundle for Backend Theme in Yii2 Framework
1.14k stars 425 forks source link

Uninitialized string offset: 0 #170

Closed ppetpadriew closed 6 years ago

ppetpadriew commented 6 years ago

I have E_ALL in my development environment and this notice is very annoying. I will create PR for this.


Error
PHP Notice – yii\base\ErrorException
Uninitialized string offset: 0
1. in /var/www/project/vendor/dmstr/yii2-adminlte-asset/widgets/Menu.php at line 191
182183184185186187188189190191192193194195196197198199200     * Only when its route and parameters match [[route]] and [[params]], respectively, will a menu item
     * be considered active.
     * @param array $item the menu item to be checked
     * @return boolean whether the menu item is active
     */
    protected function isItemActive($item)
    {
        if (isset($item['url']) && is_array($item['url']) && isset($item['url'][0])) {
            $route = $item['url'][0];
            if ($route[0] !== '/' && Yii::$app->controller) {
                $route = ltrim(Yii::$app->controller->module->getUniqueId() . '/' . $route, '/');
            }
            $route = ltrim($route,'/');
            if ($route != $this->route && $route !== $this->noDefaultRoute && $route !== $this->noDefaultAction) {
                return false;
            }
            unset($item['url']['#']);
            if (count($item['url']) > 1) {
                foreach (array_splice($item['url'], 1) as $name => $value) {
2. in /var/www/project/vendor/dmstr/yii2-adminlte-asset/widgets/Menu.php at line 51 – dmstr\widgets\Menu::normalizeItems()
45464748495051525354555657        $posDefaultRoute = strpos($this->route, Yii::$app->controller->module->defaultRoute);
        if ($posDefaultRoute) {
            $this->noDefaultRoute = rtrim(substr($this->route, 0, $posDefaultRoute), '/');
        } else {
            $this->noDefaultRoute = false;
        }
        $items = $this->normalizeItems($this->items, $hasActiveChild);
        if (!empty($items)) {
            $options = $this->options;
            $tag = ArrayHelper::remove($options, 'tag', 'ul');

            echo Html::tag($tag, $this->renderItems($items), $options);
        }
3. in /var/www/project/vendor/yiisoft/yii2/base/Widget.php at line 139 – dmstr\widgets\Menu::run()
4. in /var/www/project/themes/adminlte/layouts/left.php at line 56 – yii\base\Widget::widget()
50515253545556575859606162        $items = MenuHelper::getAssignedMenu(Yii::$app->user->id, null, $callback, true);

        echo dmstr\widgets\Menu::widget(
            [
                'options' => ['class' => 'sidebar-menu'],
                'items'   => $items,
            ]
        );
        ?>

    </section>

5. in /var/www/project/vendor/yiisoft/yii2/base/View.php at line 330
6. in /var/www/project/vendor/yiisoft/yii2/base/View.php at line 250 – yii\web\View::renderPhpFile()
7. in /var/www/project/vendor/yiisoft/yii2/base/View.php at line 152 – yii\web\View::renderFile()
8. in /var/www/project/themes/adminlte/layouts/main.php at line 65 – yii\web\View::render()
59606162636465666768697071            'header.php',
            ['directoryAsset' => $directoryAsset]
        ) ?>

        <?= $this->render(
            'left.php',
            ['directoryAsset' => $directoryAsset]
        )
        ?>

        <?= $this->render(
            'content.php',
            ['content' => $content, 'directoryAsset' => $directoryAsset]
9. in /var/www/project/vendor/yiisoft/yii2/base/View.php at line 330
10. in /var/www/project/vendor/yiisoft/yii2/base/View.php at line 250 – yii\web\View::renderPhpFile()
11. in /var/www/project/vendor/yiisoft/yii2/base/Controller.php at line 396 – yii\web\View::renderFile()
12. in /var/www/project/vendor/yiisoft/yii2/base/Controller.php at line 382 – app\controllers\Woord010Controller::renderContent()
13. in /var/www/project/controllers/Woord010Controller.php at line 131 – app\controllers\Woord010Controller::render()
125126127128129130131132133134135136137            'woord050'       => $woord050,
            'woord051Search' => $woord051Search,
            'woord010'       => $woord010,
            'woord060Search' => $woord060Search,
            'woord060'       => $woord060,
            'fnact020Search' => $fnact020Search,
            'fnact020'       => $fnact020,
        ]);
    }

    /**
     * Print a single Woord010 model.
     * @param integer $id
14. in /var/www/project/vendor/yiisoft/yii2/base/InlineAction.php at line 57 – app\controllers\Woord010Controller::actionView()
15. in /var/www/project/vendor/yiisoft/yii2/base/InlineAction.php at line 57 – call_user_func_array:{/var/www/project/vendor/yiisoft/yii2/base/InlineAction.php:57}()
16. in /var/www/project/vendor/yiisoft/yii2/base/Controller.php at line 156 – yii\base\InlineAction::runWithParams()
17. in /var/www/project/vendor/yiisoft/yii2/base/Module.php at line 523 – app\controllers\Woord010Controller::runAction()
18. in /var/www/project/vendor/yiisoft/yii2/web/Application.php at line 102 – yii\web\Application::runAction()
19. in /var/www/project/vendor/yiisoft/yii2/base/Application.php at line 380 – yii\web\Application::handleRequest()
20. in /var/www/project/web/index.php at line 12 – yii\web\Application::run()
6789101112 
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

$config = require(__DIR__ . '/../config/web.php');

(new yii\web\Application($config))->run();
 Yii Framework
2018-07-24, 20:57:28

nginx/1.15.0

Yii Framework/2.0.12