Exemplo n.º 1
0
 public function rate(Request $request, $id)
 {
     $Quote = Quote::withCount(['ratesPlus', 'ratesMinus'])->find($id);
     if (null == $Quote) {
         return response()->json(['status' => 'error', 'message' => trans('app.not_found')]);
     }
     $count = $Quote->rates_plus_count - $Quote->rates_minus_count;
     $voted = $request->cookie(sha1('voted'));
     $voted = null == $voted ? [] : json_decode($voted);
     if (!empty($voted)) {
         if (in_array($id, $voted)) {
             return response()->json(['status' => 'error', 'message' => trans('app.twice_vote'), 'rate' => $count])->cookie(sha1('voted'), json_encode($voted), 60 * 60 * 24 * 120);
         }
     }
     $voted[] = $id;
     $Rate = Rate::where('quote_id', $id)->where('ip', $request->ip())->first();
     if (null != $Rate) {
         return response()->json(['status' => 'error', 'message' => trans('app.twice_vote'), 'rate' => $count])->cookie(sha1('voted'), json_encode($voted), 60 * 60 * 24 * 120);
     }
     $rate = 1 == strpos($request->getPathInfo(), 'omg') ? 1 : (1 == strpos($request->getPathInfo(), 'wtf') ? -1 : 0);
     $Rate = new Rate();
     $Rate->quote_id = $id;
     $Rate->ip = $request->ip();
     $Rate->rate = $rate;
     $Rate->save();
     $Quote->count += $rate;
     $Quote->save();
     return response()->json(['status' => 'ok', 'message' => trans('app.voted'), 'rate' => $count + $rate])->cookie(sha1('voted'), json_encode($voted), 60 * 60 * 24 * 120);
 }
Exemplo n.º 2
0
 protected function getFilters()
 {
     $sort_by = $this->request->has('sort-by');
     if (!($param = $this->request->has('sort-by'))) {
         $sort_by = 'all';
     } else {
         $sort_by = strtolower($this->request->get('sort-by'));
     }
     switch ($sort_by) {
         case 'all':
         case 'popularity':
             //            case 'most-recent':
         //            case 'most-recent':
         case 'most-bought':
             //            case 'discounts':
             //DO NOTHING
             break;
         default:
             // Invalid request
             abort(404);
     }
     $filters = [['active' => $sort_by === 'all' ? true : false, 'url' => $this->request->getPathInfo() . '?sort-by=all', 'name' => 'All'], ['active' => $sort_by === 'popularity' ? true : false, 'url' => $this->request->getPathInfo() . '?sort-by=popularity', 'name' => 'Popularity'], ['active' => $sort_by === 'most-bought' ? true : false, 'url' => $this->request->getPathInfo() . '?sort-by=most-bought', 'name' => 'Most Bought']];
     //        $profile = $this->getUser();
     //
     //        if ($profile instanceof Merchant) {
     //
     //
     //        } elseif ($profile instanceof User) {
     //
     //        }
     return $filters;
 }
 public function mock()
 {
     $this->config = $this->getConfigForEndpoint();
     if ($this->config) {
         return $this->getNewResponse();
     }
     throw new EndpointNotConfiguredException(sprintf('%s %s is not configured in config/apimocker.php', $this->request->getMethod(), $this->request->getPathInfo()));
 }
Exemplo n.º 4
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!$request->is("sitemap") && $request->fullUrl() != '' && $this->auth->guest()) {
         $aSiteMap = \Cache::get('sitemap', []);
         $changefreq = 'always';
         if (!empty($aSiteMap[$request->fullUrl()]['added'])) {
             $aDateDiff = Carbon::createFromTimestamp($aSiteMap[$request->fullUrl()]['added'])->diff(Carbon::now());
             if ($aDateDiff->y > 0) {
                 $changefreq = 'yearly';
             } else {
                 if ($aDateDiff->m > 0) {
                     $changefreq = 'monthly';
                 } else {
                     if ($aDateDiff->d > 6) {
                         $changefreq = 'weekly';
                     } else {
                         if ($aDateDiff->d > 0 && $aDateDiff->d < 7) {
                             $changefreq = 'daily';
                         } else {
                             if ($aDateDiff->h > 0) {
                                 $changefreq = 'hourly';
                             } else {
                                 $changefreq = 'always';
                             }
                         }
                     }
                 }
             }
         }
         $aSiteMap[$request->fullUrl()] = ['added' => time(), 'lastmod' => Carbon::now()->toIso8601String(), 'priority' => 1 - substr_count($request->getPathInfo(), '/') / 10, 'changefreq' => $changefreq];
         \Cache::put('sitemap', $aSiteMap, 2880);
     }
     return $next($request);
 }
Exemplo n.º 5
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($request->isMethod('get') && !$request->has('PageSpeed') && !$request->is(config('site.admin_path') . '*') && !$request->is('avatar/*') && !$request->is('my/*') && !$request->is('*/login') && !$request->is('*/authorize') && !in_array($request->path(), ['sitemap.xml', 'logout', 'login'])) {
         $aSiteMap = Cache::get('sitemap', []);
         $changefreq = 'always';
         if (!empty($aSiteMap[$request->fullUrl()]['added'])) {
             $aDateDiff = Carbon::createFromTimestamp($aSiteMap[$request->fullUrl()]['added'])->diff(Carbon::now());
             if ($aDateDiff->y > 0) {
                 $changefreq = 'yearly';
             } else {
                 if ($aDateDiff->m > 0) {
                     $changefreq = 'monthly';
                 } else {
                     if ($aDateDiff->d > 6) {
                         $changefreq = 'weekly';
                     } else {
                         if ($aDateDiff->d > 0 && $aDateDiff->d < 7) {
                             $changefreq = 'daily';
                         } else {
                             if ($aDateDiff->h > 0) {
                                 $changefreq = 'hourly';
                             } else {
                                 $changefreq = 'always';
                             }
                         }
                     }
                 }
             }
         }
         $aSiteMap[$request->fullUrl()] = ['added' => time(), 'lastmod' => Carbon::now()->format('Y-m-d\\TH:i:sP'), 'priority' => 1 - substr_count($request->getPathInfo(), '/') / 10, 'changefreq' => $changefreq];
         Cache::forever('sitemap', $aSiteMap);
     }
     return $next($request);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (auth()->guest() && $request->getPathInfo() != '/backend/login') {
         return redirect('/backend/login');
     }
     return $next($request);
 }
Exemplo n.º 7
0
 /**
  * Track clicked links and form submissions.
  *
  * @param  Request $request
  * @return void
  */
 public function track(Request $request)
 {
     // Don't track if there is no active experiment.
     if (!$this->session->get('experiment')) {
         return;
     }
     // Since there is an ongoing experiment, increase the pageviews.
     // This will only be incremented once during the whole experiment.
     $this->pageview();
     // Check current and previous urls.
     $root = $request->root();
     $from = ltrim(str_replace($root, '', $request->headers->get('referer')), '/');
     $to = ltrim(str_replace($root, '', $request->getPathInfo()), '/');
     // Don't track refreshes.
     if ($from == $to) {
         return;
     }
     // Because the visitor is viewing a new page, trigger engagement.
     // This will only be incremented once during the whole experiment.
     $this->interact();
     $goals = $this->getGoals();
     // Detect goal completion based on the current url.
     if (in_array($to, $goals) or in_array('/' . $to, $goals)) {
         $this->complete($to);
     }
     // Detect goal completion based on the current route name.
     if ($route = Route::currentRouteName() and in_array($route, $goals)) {
         $this->complete($route);
     }
 }
Exemplo n.º 8
0
 function index(Request $request, $model)
 {
     $M = $this->models[$model];
     $data = $M::latest()->paginate(20);
     $path = trim($request->getPathInfo(), '/');
     $data->setPath('#!' . $path);
     return \View::make('admin.form.list')->withData($data)->withModel($model);
 }
Exemplo n.º 9
0
 public function search(Request $request, $searchKeywords)
 {
     $xs = new \XS('inspirer');
     $search = $xs->search;
     $page = $request->get('p', 1);
     $page = $page < 1 ? 1 : $page;
     $result = $search->setQuery($searchKeywords)->setLimit(6, ($page - 1) * 5)->search();
     if (count($result) == 0) {
         abort(404);
     }
     $next = count($result) < 6 ? null : $request->getPathInfo() . "?p=" . ($page + 1);
     $prev = $page == 1 ? null : $request->getPathInfo() . "?p=" . ($page - 1);
     $articles = [];
     foreach ($result as $key => $row) {
         $articles[] = (object) array('id' => $row->id, 'name' => $row->name, 'title' => $search->highlight($row->title), 'originalTitle' => $row->title, 'description' => $search->highlight($row->description), 'content' => $search->highlight($row->content));
     }
     return view('page/search', ['articles' => $articles, 'searchKeyword' => $searchKeywords, 'next' => $next, 'prev' => $prev]);
 }
Exemplo n.º 10
0
 /**
  * Log all api requests
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  *
  * @return mixed
  */
 public function handle(Request $request, \Closure $next)
 {
     try {
         $this->debug($request->getMethod() . ' ' . $request->getPathInfo());
     } catch (\Exception $_ex) {
         //  Ignored.
     }
     return parent::handle($request, $next);
 }
 protected function findRoute(Request $request, array $routes)
 {
     foreach ($routes as $key => $route) {
         list($method, $domain, $uri) = explode(' ', $key);
         if ($request->getMethod() == $method && $request->getHost() == $domain && trim($request->getPathInfo(), '/') === trim($route['uri'], '/')) {
             return $route;
         }
     }
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $path = $request->getPathInfo();
     if (strpos($path, '/api/') === 0) {
         \Config::set('session.driver', 'array');
         \Config::set('cookie.driver', 'array');
     }
     return $next($request);
 }
Exemplo n.º 13
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($this->auth->guest()) {
         if ($request->ajax()) {
             return response('Unauthorized.', 401);
         } else {
             return redirect()->guest('login');
         }
     }
     if (\Auth::user()->type != 'user') {
         if (\Auth::user()->type == 'admin') {
             return redirect()->route('admin.home');
         }
         return new Response('Forbidden', 403);
     }
     if (\Auth::user()->birthdate == null && $request->getPathInfo() != '/postaccount' && $request->getPathInfo() != '/newaccount') {
         return redirect()->route('newaccount');
     }
     return $next($request);
 }
 /**
  * Vérification des données utilisateurs avant la création de l'enchère
  *
  * @param Request $request
  * @param int $item_id Identifiant de l'item
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function add(Request $request, $item_id)
 {
     // Après quelques vérifications, l'utilisateur saura s'il a le droit d'enchérir ou non
     $denied = false;
     // On récupère l'ID du formulaire (permettra de savoir à quel formulaire une erreur s'est produite)
     $form_id = $request->input('_form_id', 'default');
     // Si l'utilisateur a supprimé le champ (gg), on essaye de récupérer l'ID dans l'URL
     if ($form_id === null && preg_match('/\\/items/', URL::previous())) {
         $url_items = explode('/', $request->getPathInfo());
         $form_id = 'form_' . array_pop($url_items);
     }
     // Les messages d'erreurs seront désormais spécifiques à un formulaire, et pas tous
     $this->validatesRequestErrorBag = $form_id;
     // Permettra de savoir dans quel formulaire s'est produite l'erreur
     $request->session()->flash('errorBag', $this->validatesRequestErrorBag);
     // On check si l'item existe bien dans la BBD ('Ivre, il enchérit une vente qui n'existe pas, la suite va vous surprendre !)
     $item = Items::get()->where('id', $item_id)->first();
     $min_price = $item->getPrice() + 1;
     // L'enchère n'existe pas
     if ($item === null) {
         $denied = true;
         $request->session()->flash('message', 'danger|Cette enchère n\'existe pas');
         return redirect(route('items'));
     }
     // L'enchère existe, donc on fait quelques tests dessus
     if ($item !== null) {
         // La vente n'a pas encore commencé
         if (strtotime($item->date_end) - time() < 0) {
             $denied = true;
             $request->session()->flash('message', 'danger|L\'enchère n\'a même pas commencé, calmez-vous...');
             // La vente est terminé
         } elseif (strtotime($item->date_start) - time() > 0) {
             $denied = true;
             $request->session()->flash('message', 'danger|L\'enchère est terminée !');
         }
         // L'utilisateur a atteint le nombre maximum de renchère sur cette annonce
         if ($item->getUserCantBid()) {
             $denied = true;
             $request->session()->flash('message', 'danger|Vous avez dépassé les ' . MAX_BID_PER_SALE . ' propositions d\'enchères maximales !');
         }
     }
     // Le vendeur ne peut pas enchérir sa propre annonce...
     if ($item->isSeller()) {
         $denied = true;
         $request->session()->flash('message', 'danger|Il n\'est pas possible d\'enchérir votre annonce..');
     }
     // Pour une quelconque raison, l'utilisateur n'a pas pu enchérir
     if ($denied) {
         return redirect(route('items'));
     }
     // Le prix rentré doit être supérieur à la valeur minimale de l'enchère
     $this->validate($request, ['price' => 'required|numeric|min:' . $min_price], ['price.min' => 'Le prix doit être supérieur à :min €.']);
     return $this->create($request, $item_id);
 }
Exemplo n.º 15
0
 /**
  * Shall be throttle limit enabled for given request?
  *
  * @param \Illuminate\Http\Request $request
  *
  * @return bool
  */
 protected function isEnabledFor($request)
 {
     // Limit only POST requests
     if ($request->getMethod() != 'POST') {
         return false;
     }
     // Disable throttle limit for voting
     if (starts_with($request->getPathInfo(), '/ajax/vote/')) {
         return false;
     }
     return true;
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!\Config::get('app.debug') && Plugin::$routerActive === false) {
         $cachePath = (new CacheFileHandler())->getCachePath();
         $blacklist = file_exists($cachePath . '/index-blacklist.config') ? file_get_contents($cachePath . '/index-blacklist.config') : null;
         $paramBlacklist = file_exists($cachePath . '/param-blacklist.config') ? json_decode(file_get_contents($cachePath . '/param-blacklist.config'), true) : [];
         $paramBlacklistFunctionFile = $cachePath . '/param-blacklist-function.php';
         if (file_exists($paramBlacklistFunctionFile)) {
             include $paramBlacklistFunctionFile;
             if (preg_match('/^(?!\\/backend)(?!\\/combine)' . $blacklist . '/i', $request->getPathInfo()) === 1 && !isParamBlacklisted($paramBlacklist)) {
                 $file = $cachePath . $request->getPathInfo() . '.html';
                 if (file_exists($file)) {
                     return \Response::make(file_get_contents($file));
                 } else {
                     try {
                         /**
                          * For development purpose, you must set the loopbackUrl on config to use a different baseURL for internal php server.
                          * Because it can handle only one request at a time, you need to open 2 servers with different port or hostname.
                          */
                         $responseRaw = file_get_contents(\Config::get('app.loopbackUrl', \Config::get('app.url')) . $request->getPathInfo() . '?nocache=1');
                     } catch (\ErrorException $e) {
                         if (strstr($e->getMessage(), '404 Not Found')) {
                             $controller = \App::make('Cms\\Classes\\Controller');
                             $response = $controller->run('/404');
                             $response->setStatusCode(404);
                             $this->tryLazyCache($request->getPathInfo(), $response->getContent());
                             return $response;
                         } else {
                             throw $e;
                         }
                     }
                     $this->tryLazyCache($request->getPathInfo(), $responseRaw);
                     return \Response::make($responseRaw);
                 }
             }
         }
     }
     return $next($request);
 }
Exemplo n.º 17
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @param  string|null  $guard
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = null)
 {
     $path = $request->getPathInfo();
     $uid = cookie::get('uid');
     $redirectPath = cookie::get('redirectPath') ? cookie::get('redirectPath') : '/';
     if (in_array($path, array('/login', '/register', '/loginDo', '/registerDo')) && !empty($uid)) {
         return redirect($redirectPath);
     }
     $pathArray = array('/send', '/sendDo', '/success');
     if (in_array($path, $pathArray) && empty($uid)) {
         return redirect("login");
     }
     return $next($request);
 }
Exemplo n.º 18
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $url = $request->get("long_url");
     $shortUrl = new ShortUrl();
     $shortUrl->long_url = $url;
     $generatedUrl = '';
     do {
         $generatedUrl = 'http://' . $this->pubDir . $request->getPathInfo() . "/" . str_random(4);
     } while (count(ShortUrl::where('short_url', $generatedUrl)->get()) > 0);
     $shortUrl->short_url = $generatedUrl;
     $shortUrl->save();
     session(['generated_url' => $generatedUrl]);
     return redirect()->route('sandbox.short.index');
 }
Exemplo n.º 19
0
 /**
  * Get file path based on request pathinfo
  *
  * @param \Illuminate\Http\Request $request
  * @return string
  */
 public function getFilePath(Request $request)
 {
     $pathinfo = $request->getPathInfo();
     if ('' == $this->filesystem->extension($pathinfo)) {
         $file = 'index.html';
         $dir = trim($pathinfo, '/');
     } else {
         $file = basename($pathinfo);
         $dir = trim(dirname($pathinfo), '/');
     }
     if (true === empty($dir)) {
         return "{$this->outputDir}/{$file}";
     }
     return "{$this->outputDir}/{$dir}/{$file}";
 }
Exemplo n.º 20
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($this->auth->guest()) {
         if ($request->ajax()) {
             return response('Unauthorized.', 401);
         } else {
             $uri = $request->getPathInfo();
             if ($uri != '/') {
                 return redirect()->guest('/');
             }
             return view('welcome');
         }
     }
     return $next($request);
 }
Exemplo n.º 21
0
 /**
  * Run the request filter.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $url = $request->getPathInfo();
     if (strpos('/backend', $url) === false) {
         if (substr($url, 0, 9) === "/download") {
             $path = Config::get('filesystems.disks.local.root', storage_path() . '/app');
             $file = $path . str_replace(["/download", "storage/app/"], "", urldecode($url));
             if (file_exists($file) && is_file($file)) {
                 return response()->download($file);
             }
         } elseif ($url !== "/") {
             $url = Post::checkUrl($url);
         }
     }
     return App::make('Cms\\Classes\\Controller')->run($url);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $routeName = $request->getPathInfo();
     $routeName = substr($routeName, strrpos($routeName, '/') + 1);
     $userSections = $this->userService->getUserSections();
     $found = false;
     foreach ($userSections as $userSection) {
         if ($routeName === $userSection['route']) {
             $found = true;
             break;
         }
     }
     if (!$found) {
         throw new NotFoundHttpException();
     }
     return $next($request);
 }
Exemplo n.º 23
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $array = [];
     /*
           $t = microtime(true);
             $micro = sprintf("%06d",($t - floor($t)) * 1000000);
             $d = new \DateTime( date('Y-m-d H:i:s.'.$micro, $t) );
     */
     $time_now = Carbon::now();
     //$dd = "2016-03-20T18:00:30+0000" ;
     $dd = $time_now->toIso8601String();
     //  $microSeconds = str_replace("+0000","+02:00", $dd);
     if (!$request->is("sitemap") && $request->fullUrl() != '' && $this->auth->guest()) {
         $aSiteMap = \Cache::get('sitemap', []);
         $changefreq = 'always';
         if (!empty($aSiteMap[$request->fullUrl()]['added'])) {
             $aDateDiff = Carbon::createFromTimestamp($aSiteMap[$request->fullUrl()]['added'])->diff($time_now);
             if ($aDateDiff->y > 0) {
                 $changefreq = 'yearly';
             } else {
                 if ($aDateDiff->m > 0) {
                     $changefreq = 'monthly';
                 } else {
                     if ($aDateDiff->d > 6) {
                         $changefreq = 'weekly';
                     } else {
                         if ($aDateDiff->d > 0 && $aDateDiff->d < 7) {
                             $changefreq = 'daily';
                         } else {
                             if ($aDateDiff->h > 0) {
                                 $changefreq = 'hourly';
                             } else {
                                 $changefreq = 'always';
                             }
                         }
                     }
                 }
             }
         }
         $aSiteMap[$request->fullUrl()] = ['added' => time(), 'lastmod' => $dd, 'priority' => 1 - substr_count($request->getPathInfo(), '/') / 10, 'changefreq' => 'always'];
         \Cache::put('sitemap', $aSiteMap, 2880);
     }
     return $next($request);
 }
Exemplo n.º 24
0
 /**
  * Set cache headers and 304 not modify if needed.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Illuminate\Http\Response $response
  */
 protected function setCacheHeaders($request, $response)
 {
     if (starts_with($request->getPathInfo(), ['/images'])) {
         $stat = stat(session()->pull('requestImagePath'));
     } else {
         if (($view = $response->getOriginalContent()) instanceof View) {
             $stat = stat($view->getPath());
         }
     }
     if (isset($stat)) {
         $response->setCache(['etag' => md5("{$stat['ino']}|{$stat['mtime']}|{$stat['size']}"), 'public' => true]);
         $response->setExpires(Carbon::now()->addDays(30));
         if (null !== ($etag = $request->headers->get('If-None-Match')) || null !== $request->headers->get('If-Modified-Since')) {
             $etags = explode('-', $etag, -1);
             $request->headers->set('If-None-Match', count($etags) ? $etags[0] . '"' : $etag);
             $response->isNotModified($request);
         }
     }
 }
Exemplo n.º 25
0
 /**
  * @param Request  $request
  * @param \Closure $next
  *
  * @return \Illuminate\Http\RedirectResponse
  * @throws \Exception
  */
 public function handle($request, Closure $next)
 {
     if (!in_array($route = $request->getPathInfo(), ['/setup', '/setup_db'])) {
         try {
             if (!User::adminExists()) {
                 return redirect()->to('/setup');
             }
         } catch (QueryException $e) {
             try {
                 //base table or view not found.
                 \Cache::put('setup_db', true, config('df.default_cache_ttl'));
                 return redirect()->to('/setup_db');
             } catch (\Exception $ex) {
                 throw $ex;
             }
         }
     }
     return $next($request);
 }
Exemplo n.º 26
0
 /**
  * BaseController constructor.
  *
  * @param Request $request
  */
 public function __construct(Request $request)
 {
     //Get current request
     $this->request = $request;
     //Set active theme
     Theme::setActive('administration');
     //Check user is logged in
     if (Sentinel::guest()) {
         if (!in_array($request->getPathInfo(), $this->routes)) {
             return Redirect::to('/admin/auth/login')->send();
         }
     } else {
         $this->user = Sentinel::getUser();
         if (self::isAdmin() == 1) {
             $this->globalViewData();
         } else {
             Redirect::to('/404')->send();
         }
     }
 }
Exemplo n.º 27
0
 /**
  * BaseController constructor.
  *
  * @param Request $request
  */
 public function __construct(Request $request)
 {
     //Get current request
     $this->request = $request;
     //Set active theme
     Theme::setActive('dressplace');
     //Check user is logged in
     if (Sentinel::guest()) {
         if (!in_array($request->getPathInfo(), $this->routes)) {
             //				return Redirect::to('/admin/auth/login')->send();
         }
     } else {
         $this->user = Sentinel::getUser();
         self::getActiveUser();
     }
     //Init system
     $this->systemInit();
     //Load navigation
     $this->getNavPages();
     $this->getCategories();
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $route = $request->getPathInfo();
     if ('/setup' !== $route && '/setup_db' !== $route) {
         try {
             if (!User::adminExists()) {
                 return redirect()->to('/setup');
             }
         } catch (QueryException $e) {
             $code = $e->getCode();
             if ($code === '42S02') {
                 //Mysql base table or view not found.
                 \Cache::put('setup_db', true, config('df.default_cache_ttl'));
                 return redirect()->to('/setup_db');
             } else {
                 throw $e;
             }
         }
     }
     return $next($request);
 }
Exemplo n.º 29
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $route = $request->getPathInfo();
     if ('/setup' !== $route) {
         try {
             if (!User::adminExists()) {
                 return redirect()->to('/setup');
             }
         } catch (QueryException $e) {
             $code = $e->getCode();
             if ($code === '42S02') {
                 //Mysql base table or view not found.
                 \Artisan::call('migrate');
                 \Artisan::call('db:seed');
                 return redirect()->to('/setup');
             } else {
                 throw $e;
             }
         }
     }
     return $next($request);
 }
Exemplo n.º 30
0
 public function handle(Request $request, callable $next)
 {
     $forbidden = function ($id) use($request) {
         if ($request->ajax()) {
             return response('Forbidden', 403);
         } else {
             $path = $id ? 'event@details' : 'site@index';
             return redirect(act($path, $id))->with('error', _('Sorry, but it seems you don\'t have permission to edit this event...'));
         }
     };
     $path = $request->getPathInfo();
     $param = substr($path, strrpos($path, '/') + 1, strrpos($path, '-') ?: strlen($path) + 1);
     if (!$param) {
         //should never arrive here
         \Log::warning('Tried to search for event ID in Staff middleware, but it was not found: ' . $path);
         return $forbidden($param);
     } else {
         if (!Auth::check() || !EventStaff::where('user_id', Auth::user()->id)->where('event_id', $param)->count()) {
             return $forbidden($param);
         }
     }
     return $next($request);
 }