/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @return mixed */ public function handle(Request $request, Closure $next) { $asset = $request->route()->getParameter('asset'); if ($asset && !$this->auth->loggedIn()) { $ip = ip2long($request->ip()); if (!AssetDownload::recentlyLogged($asset->getId(), $ip)->count() > 0) { AssetDownload::create(['asset_id' => $asset->getId(), 'ip' => $ip, 'time' => time()]); $asset->incrementDownloads(); } } return $next($request); }
/** * Returns whether or not the logged in user can edit the content of a page. * * A page can be edited if it was created by a user or they have edit permissions for the page. * * @param Page $page * * @return bool */ public function isEditable(Page $page) { return $page->wasCreatedBy($this->auth->getPerson()) || $this->auth->loggedIn('edit_page_content', $page); }