Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
webbingbrasil/core-module / Http / Controllers / AdminController.php
Size: Mime:
<?php

namespace Modules\Core\Http\Controllers;

use App\Http\Controllers\Controller;
use Maatwebsite\Sidebar\Presentation\SidebarRenderer;
use Modules\Core\Sidebar\AdminSidebar;
use Modules\Core\Sidebar\AdminTopbar;

class AdminController extends Controller
{

    /**
     * @var AdminSidebar
     */
    protected $sidebar;

    /**
     * @var AdminTopbar
     */
    protected $topbar;

    /**
     * @var SidebarRenderer
     */
    protected $renderer;

    /** @var \Illuminate\Auth\Guard $auth */
    protected $auth;

    /**
     * Create a new authentication controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->auth = auth();
        $this->sidebar = app('Modules\Core\Sidebar\AdminSidebar');
        $this->topbar = app('Modules\Core\Sidebar\AdminTopbar');
        $this->renderer = app('Maatwebsite\Sidebar\Presentation\SidebarRenderer');

        \Themes::activate(config('core.theme.admin-theme'));

        \Asset::add(config('core.assets.admin-theme'));

        view()->share('customWidgets', '');
        if (auth()->check()) {
            view()->share('user', [
                'gravatar' => "//www.gravatar.com/avatar/" . auth()->user()->email . "?s=90",
                'name' => auth()->user()->name,
                'id' => auth()->user()->id
            ]);
        }

        $this->bootControls();
    }

    /**
     * Boot widgets for all enabled modules
     */
    private function bootControls()
    {
        $modules = \Module::enabled();
        foreach ($modules as $module) {
            $name = studly_case($module->getName());
            $class = 'Modules\\' . $name . '\\Sidebar\\ControlsExtender';
            if (class_exists($class)) {
                app($class)->boot();
            }
        }
    }

    protected function getResponse($alertMsg, $statucCode = 200, $redirectRoute = null)
    {
        $redirectParams = [];
        if (is_array($redirectRoute)) {
            $route = array_shift($redirectRoute);
            $redirectParams = $redirectRoute;
            $redirectRoute = $route;
        }

        if (request()->ajax()) {
            $json = [
                'msg' => $alertMsg
            ];
            if (!is_null($redirectRoute)) {
                $json['redirectTo'] = route($redirectRoute, $redirectParams);
            }

            return response()->json($json, $statucCode);
        }

        if (!is_null($redirectRoute)) {
            \Flash::success($alertMsg);
            return redirect()->route($redirectRoute, $redirectParams);
        }

        \Flash::error($alertMsg);
        return redirect()->back();
    }
}