Aimeos\Shop\Controller\ExtadmController::indexAction PHP Method

indexAction() public method

Returns the initial HTML view for the admin interface.
public indexAction ( Illuminate\Http\Request $request ) : Illuminate\Contracts\View\View
$request Illuminate\Http\Request Laravel request object
return Illuminate\Contracts\View\View View for rendering the output
    public function indexAction(Request $request)
    {
        if (config('shop.authorize', true)) {
            $this->authorize('admin', [['admin']]);
        }
        $site = Route::input('site', Input::get('site', 'default'));
        $lang = Route::input('lang', Input::get('lang', config('app.locale', 'en')));
        $tab = Route::input('tab', Input::get('tab', 0));
        $aimeos = app('\\Aimeos\\Shop\\Base\\Aimeos');
        $bootstrap = $aimeos->get();
        $cntlPaths = $bootstrap->getCustomPaths('controller/extjs');
        $context = app('\\Aimeos\\Shop\\Base\\Context')->get(false, 'backend');
        $context->setLocale(app('\\Aimeos\\Shop\\Base\\Locale')->getBackend($context, $site));
        $controller = new \Aimeos\Controller\ExtJS\JsonRpc($context, $cntlPaths);
        $cssFiles = array();
        foreach ($bootstrap->getCustomPaths('admin/extjs') as $base => $paths) {
            foreach ($paths as $path) {
                $jsbAbsPath = $base . '/' . $path;
                if (!is_file($jsbAbsPath)) {
                    throw new \Exception(sprintf('JSB2 file "%1$s" not found', $jsbAbsPath));
                }
                $jsb2 = new \Aimeos\MW\Jsb2\Standard($jsbAbsPath, dirname($path));
                $cssFiles = array_merge($cssFiles, $jsb2->getUrls('css'));
            }
        }
        $jqadmUrl = route('aimeos_shop_jqadm_search', array('site' => $site, 'resource' => 'product'));
        $jsonUrl = route('aimeos_shop_extadm_json', array('site' => $site, '_token' => csrf_token()));
        $adminUrl = route('aimeos_shop_extadm', array('site' => '<site>', 'lang' => '<lang>', 'tab' => '<tab>'));
        $vars = array('site' => $site, 'lang' => $lang, 'cssFiles' => $cssFiles, 'languages' => $this->getJsonLanguages($context), 'config' => $this->getJsonClientConfig($context), 'siteitem' => $this->getJsonSiteItem($context, $site), 'i18nContent' => $this->getJsonClientI18n($bootstrap->getI18nPaths(), $lang), 'searchSchemas' => $controller->getJsonSearchSchemas(), 'itemSchemas' => $controller->getJsonItemSchemas(), 'smd' => $controller->getJsonSmd($jsonUrl), 'urlTemplate' => str_replace(['<', '>'], ['{', '}'], urldecode($adminUrl)), 'uploaddir' => config('shop::uploaddir'), 'version' => $aimeos->getVersion(), 'jqadmurl' => $jqadmUrl, 'activeTab' => $tab);
        return View::make('shop::extadm.index', $vars);
    }