Example #1
1
 /**
  * @param View $view
  */
 public function compose(View $view)
 {
     $view->cruddyData = $this->cruddy->data();
     $view->cruddyData += ['schemaUrl' => $this->url->route('cruddy.schema'), 'thumbUrl' => $this->url->route('cruddy.thumb'), 'baseUrl' => $this->url->route('cruddy.home'), 'root' => $this->request->root(), 'token' => csrf_token()];
     $view->scripts = $this->assets->scripts();
     $view->styles = $this->assets->styles();
     $view->menu = $this->menuBuilder;
 }
Example #2
0
 /**
  * Return true if current page is $page.
  */
 public function isPage(string $page, array $parameters = []) : bool
 {
     // Check if $page is a route name
     if ($this->route->has($page)) {
         if ($parameters) {
             return $this->url->current() == $this->url->route($page, $parameters);
         }
         return $this->route->currentRouteName() == $page;
     }
     return str_replace($this->request->root() . '/', '', $this->url->full()) == $page;
 }
 /**
  * prepend host to url path
  *
  * @param string $url url path
  * @return string
  */
 protected function prependHost($url)
 {
     if (preg_match('/^(http[s]?\\:\\/\\/)([^\\/]+)/i', $url, $matches) === 0) {
         return $this->request->root() . '/' . ltrim($url, '/');
     }
     return $url;
 }
 /**
  * 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);
     }
 }
Example #5
0
 /**
  * Get the base URL for the request.
  *
  * @param  string  $scheme
  * @param  string  $root
  * @return string
  */
 protected function getRootUrl($scheme, $root = null)
 {
     if (is_null($root)) {
         $root = $this->forcedRoot ?: $this->request->root();
     }
     $start = starts_with($root, 'http://') ? 'http://' : 'https://';
     return preg_replace('~' . $start . '~', $scheme, $root, 1);
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $ticket['amountDue'] = intval($request->input('tickets') * 55);
     $ticket['tickets'] = intval($request->input('tickets'));
     $ticket['payment'] = $request->input('payment');
     $ticket['name'] = ucwords(strtolower($request->input('name')));
     $ticket['email'] = $request->input('email');
     $ticket['phone'] = $request->input('phone');
     $ticket['dni'] = $request->input('dni');
     $ticket['comments'] = empty($request->input('comments')) ? "El usuario no ha dejado ningún comentario." : $request->input('comments');
     $ticket['status'] = false;
     $ticketParseObject = $this->tickets->create($ticket);
     if (strcmp($request->input('payment'), 'paypal') == 0) {
         $request->session()->put('objectId', $ticketParseObject->getObjectId());
         $payer = Paypalpayment::Payer();
         $payer->setPaymentMethod("paypal");
         $tickets = Paypalpayment::item();
         $tickets->setName('Entrada Fiesta Halloween 2015')->setDescription('Entrada Fiesta Halloween 2015')->setCurrency('EUR')->setQuantity(intval($request->input('tickets')))->setPrice(55.0);
         $itemList = Paypalpayment::itemList();
         $itemList->setItems(array($tickets));
         $amount = Paypalpayment::Amount();
         $amount->setCurrency("EUR")->setTotal(intval($request->input('tickets') * 55));
         $transaction = Paypalpayment::Transaction();
         $transaction->setAmount($amount)->setItemList($itemList)->setDescription("Entrada Fiesta Halloween 2015")->setInvoiceNumber(uniqid());
         $baseUrl = $request->root();
         $redirectUrls = Paypalpayment::RedirectUrls();
         $redirectUrls->setReturnUrl($baseUrl . '/tickets-payment/confirmpayment')->setCancelUrl($baseUrl . '/tickets-payment/cancelpayment');
         $payment = Paypalpayment::Payment();
         $payment->setIntent("sale");
         $payment->setPayer($payer);
         $payment->setRedirectUrls($redirectUrls);
         $payment->setTransactions(array($transaction));
         $response = $payment->create($this->_apiContext);
         //set the trasaction id , make sure $_paymentId var is set within your class
         $this->_paymentId = $response->id;
         //dump the repose data when create the payment
         $redirectUrl = $response->links[1]->href;
         //this is will take you to complete your payment on paypal
         //when you confirm your payment it will redirect you back to the rturned url set above
         //inmycase sitename/payment/confirmpayment this will execute the getConfirmpayment function bellow
         //the return url will content a PayerID var
         return redirect()->to($redirectUrl);
     } else {
         $email = $ticket['email'];
         $name = $ticket['name'];
         \Mail::send('emails.wire-transfer', $ticket, function ($msg) use($email, $name) {
             $msg->to($email, $name);
             $msg->from('*****@*****.**', 'Breaking Bind')->subject('¡Tu compra ha sido procesada correctamente!');
         });
         \Mail::send('emails.notification', $ticket, function ($msg) use($email, $name) {
             $msg->from($email, $name);
             $msg->to('*****@*****.**', 'Breaking Bind')->subject('Nueva compra de entradas para la fiesta de Halloween 2015 [TRANSFERENCIA BANCARIA]');
         });
         flash()->overlay('Tu compra ha sido procesada correctamente!', 'Por favor, revisa tu correo electronico ' . $email . ' y sigue las instrucciones para realizar el pago de las entradas.');
         return redirect('/');
     }
 }
 /**
  * Construct a new instance.
  *
  * @param  string  $handles
  * @param  \Illuminate\Http\Request  $request
  */
 public function __construct($handles, Request $request)
 {
     $this->request = $request;
     $this->setBaseUrl($this->request->root());
     // If the handles doesn't start as "//some.domain.com/foo" we should
     // assume that it doesn't belong to any subdomain, otherwise we
     // need to split the value to "some.domain.com" and "foo".
     if (is_null($handles) || !Str::startsWith($handles, ['//', 'http://', 'https://'])) {
         $this->prefix = $handles;
     } else {
         $handles = substr(str_replace(['http://', 'https://'], '//', $handles), 2);
         $fragments = explode('/', $handles, 2);
         $this->domain = array_shift($fragments);
         $this->prefix = array_shift($fragments);
     }
     // It is possible that prefix would be null, in this case assume
     // it handle the main path under the domain.
     !is_null($this->prefix) || ($this->prefix = '/');
 }
Example #8
0
 /**
  * Creates a Link which points to a URL up $steps times from the current URL
  *
  * @param string $rel   Name of the Rel of the Link
  * @param int $steps    Steps to go up in the URL
  * @return array
  */
 public function createLinkUp($rel, $steps = 1)
 {
     $uriParts = explode("/", ltrim($this->request->path()));
     $count = 0;
     while ($count < $steps) {
         array_pop($uriParts);
         $count++;
     }
     return $this->createLink($rel, $this->request->root() . '/' . implode('/', $uriParts));
 }
Example #9
0
 public function shorten(Request $request)
 {
     $longUrl = parse_url($request->url, PHP_URL_SCHEME) ? $request->url : 'http://' . $request->url;
     if (filter_var($longUrl, FILTER_VALIDATE_URL) === false) {
         return view('pages.url.index', ['error' => 'Unable to shorten that link. It is not a valid url.']);
     }
     $url = Url::where('long_url', '=', $longUrl)->first();
     if ($url == null) {
         $ln = 2;
         $generatedToken = null;
         while ($generatedToken == null && $ln < 10) {
             $tempToken = $this->generateToken($ln);
             $url = Url::where('token', '=', $tempToken)->first();
             if ($url == null) {
                 $generatedToken = $tempToken;
             } else {
                 $ln++;
             }
         }
         if ($generatedToken != null) {
             $url = new Url();
             $url->token = $generatedToken;
             $url->long_url = $longUrl;
             $url->save();
             $success['token'] = $url->token;
             $success['long_url'] = $url->long_url;
             $success['short_url'] = preg_replace('#(http|https|ftp)://(www\\.?)?#i', '', $request->root()) . '/' . $url->token;
             $success['filtered_url'] = preg_replace('#(http|https|ftp)://(www\\.?)?#i', '', $url->long_url);
         } else {
             $error = 'Something went wrong and it\'s my fault. Please try again.';
             return view('pages.url.index', ['error' => $error]);
         }
     } else {
         $success['token'] = $url->token;
         $success['long_url'] = $url->long_url;
         $success['short_url'] = preg_replace('#(http|https|ftp)://(www\\.?)?#i', '', $request->root()) . '/' . $url->token;
         $success['filtered_url'] = preg_replace('#(http|https|ftp)://(www\\.?)?#i', '', $url->long_url);
     }
     //return redirect()->route('pages.url.index');
     return view('pages.url.index', ['success' => $success]);
 }
Example #10
0
 public function show(Request $request)
 {
     $key = md5(str_replace($request->root(), '', $request->fullUrl()) . $request->header('User-Agent'));
     if (\Cache::has($key)) {
         $content = \Cache::get($key);
     } else {
         $originCssRootUri = env('ORIGIN_CSS_ROOT_URI');
         $originCssUri = str_replace($request->root() . '/', $originCssRootUri, $request->fullUrl());
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $originCssUri);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt($ch, CURLOPT_USERAGENT, $request->header('User-Agent'));
         $originContent = curl_exec($ch);
         curl_close($ch);
         $originFontRootUri = env('ORIGIN_FONT_ROOT_URI');
         $cdnFontRootUri = env('CDN_FONT_ROOT_URI');
         $content = str_replace($originFontRootUri, $cdnFontRootUri, $originContent);
         \Cache::put($key, $content, 1440);
     }
     return response($content)->header('Content-Type', 'text/css')->header('Cache-Control', 'public, max-age=86400');
 }
 protected function findLocation(Request $request, $filename)
 {
     $root = $request->root();
     $infix = '/static/';
     $localStorage = '/web-storage/clipshare';
     do {
         $randomString = str_random(8);
         $local = $localStorage . $infix . $randomString . '/';
     } while (File::exists($local));
     $url = $root . $infix . $randomString . '/' . $filename;
     return ['folder' => $local, 'url' => $url, 'local' => $local . $filename];
 }
Example #12
0
 /**
  * Gets the request token from the Pocket API
  * @param  Request $request
  * @return json           The JSON response from the Pocket API
  */
 public function getRequestToken(Request $request)
 {
     $redirect_uri = $request->root() . '/auth/callback';
     $response = $this->sendApiRequest('oauth/request', ['redirect_uri' => $redirect_uri]);
     if ($this->isErrorResponse($response)) {
         return view('error')->withErrorMessage($response->content());
     }
     $request_token = json_decode($response->getContent())->code;
     $request->session()->put('request_token', $request_token);
     $query_vars = ['request_token' => $request_token, 'redirect_uri' => $redirect_uri];
     return response()->json(['redirect_to' => 'https://getpocket.com/auth/authorize?' . http_build_query($query_vars)]);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $uri_segments = $request->segments();
     $subdominio = $request->root();
     $subdominio = str_replace('http://', '', $subdominio);
     $subdominio = explode('.', $subdominio);
     $subdominio = $subdominio['0'];
     if ($subdominio === "api") {
         return $next($request);
     }
     return parent::handle($request, $next);
 }
Example #14
0
 public function sitemapPages(Request $request)
 {
     $sitemap_pages = \App::make("sitemap");
     $domain = str_replace('http://', '', $request->root());
     // set cache
     $sitemap_pages->setCache('__sitemap_pages__', 3600);
     $sitemap_pages->add(route('homepage', [$domain]), null, '1', 'weekly');
     $sitemap_pages->add(route('authGetLogin'), null, '1', 'weekly');
     $sitemap_pages->add(route('authGetSignup'), null, '1', 'weekly');
     $sitemap_pages->add(route('CustomerTrackingOrder', [$domain]), null, '1', 'weekly');
     return $sitemap_pages->render('xml');
 }
Example #15
0
 public function show(Request $request)
 {
     $uri = str_replace($request->root(), 'http://fonts.googleapis.com/', $request->fullUrl());
     if (\Cache::has('css')) {
         $content = \Cache::get('css');
     } else {
         $originalContent = file_get_contents($uri);
         $content = str_replace('http://fonts.gstatic.com/', 'http://fonts-gstatic-com.gmirror.org/', $originalContent);
         \Cache::put('css', $content, 1440);
     }
     return response($content)->header('Content-Type', 'text/css')->header('Cache-Control', 'public, max-age=86400');
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     try {
         $url = $request->root();
         $url_details = parse_url($url);
         $payload = (array) JWTAuth::parseToken()->getPayload(JWTAuth::getToken())->get('domain');
         if ($payload[0] != $url_details['host']) {
             return response()->json(['error' => 'invalid_credentials'], 401);
         }
     } catch (JWTException $e) {
     }
     return $next($request);
 }
 /**
  * Check the Request before running it through the router.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response|null
  */
 public function onBefore($request)
 {
     $keys = $this->app['config']->get('api-inspector');
     App::bind('Pusher', function ($app) {
         $keys = $this->app['config']->get('api-inspector');
         return new \Pusher($keys['public'], $keys['secret'], $keys['app_id']);
     });
     if ($keys['active'] == false) {
         return;
     }
     App::make('Pusher')->trigger('apiChannel', 'apiCall', ['method' => $request->method(), 'root' => $request->root(), 'url' => $request->url(), 'path' => $request->path(), 'ajax' => $request->ajax(), 'ip' => $request->ip(), 'input' => $request->all(), 'is-json' => $request->isJson(), 'format' => $request->format(), 'session' => json_encode($request->session()), 'header' => $request->header(), 'input-json' => json_encode($request->json()), 'wants-json' => $request->wantsJson()]);
     return;
 }
 /**
  * Get the URL to a different locale.
  *
  * @param  string  $locale
  * @return string
  */
 public function urlFor($locale)
 {
     $uri = $this->getFullUri();
     $firstSegment = $this->request->segment(1);
     if (!in_array($firstSegment, $this->config->get('locale.available_locales'))) {
         if ($locale == $this->config->get('app.fallback_locale')) {
             return $uri;
         }
         $root = $this->request->root();
         return str_replace($root, "{$root}/{$locale}", $uri);
     }
     $replace = $locale == $this->config->get('app.fallback_locale') ? '' : "/{$locale}";
     return preg_replace('/\\/(' . $firstSegment . ')/', $replace, $uri, 1);
 }
Example #19
0
 /**
  * @param Request $request
  *
  * @return \Illuminate\Http\JsonResponse|\Symfony\Component\HttpFoundation\Response
  */
 public function store(Request $request)
 {
     $task = new Task();
     $task->title = $request->title;
     $task->description = $request->description;
     $task->is_complete = 0;
     $task->completed_at = null;
     if ($task->save()) {
         $response = ['code' => 200, 'message' => 'OK', 'data' => $task];
         return response()->json($response, $response['code'])->header('Location', $request->root() . '/api/tasks/' . $task->id);
     } else {
         //TODO
     }
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($this->auth->guest()) {
         $uri_segments = $request->segments();
         $subdominio = $request->root();
         $subdominio = str_replace('http://', '', $subdominio);
         $subdominio = explode('.', $subdominio);
         $subdominio = $subdominio['0'];
         if ($subdominio === "api") {
             return \Response::json(array('success' => false, 'message' => 'No se ha podido iniciar sesión'));
         }
         return redirect()->guest('auth/login');
     }
     return $next($request);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $subdomain = $request->route()->account;
     $url = $request->root();
     $url_details = parse_url($url);
     $domain = Domain::where('subdomain', $url_details['host'])->where('status', 1)->first();
     if (!$domain) {
         abort(404);
     }
     Config::set('database.connections.subdomain.host', $domain->host);
     Config::set('database.connections.subdomain.database', $domain->database);
     Config::set('database.connections.subdomain.username', $domain->username);
     Config::set('database.connections.subdomain.password', $domain->password);
     Config::set('database.connections.subdomain.prefix', $domain->prefix);
     return $next($request);
 }
Example #22
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle(Mailer $mailer, Request $request)
 {
     $tm_email = new TMEmail();
     $tm_email->from = '*****@*****.**';
     // $tm_email->to = $this->user->email;
     // $tm_email->to = '*****@*****.**'; // 董扬的QQ邮箱
     $tm_email->to = '*****@*****.**';
     // $tm_email->cc = '*****@*****.**';
     $tm_email->subject = '成绩报告(推送家长)' . '-' . mt_rand() . '-' . $this->user->email;
     // $mailer->send('emails.test', ['user' => $this->user], function ($m) use ($tm_email) {
     $mailer->send('emails.mail-report-new', ['root' => $request->root()], function ($m) use($tm_email) {
         $m->from($tm_email->from, '音熊');
         $m->to($tm_email->to);
         // $m->cc($tm_email->cc);
         $m->subject($tm_email->subject);
     });
 }
 public function authenticate(Request $request)
 {
     $credentials = $request->only('email', 'password');
     try {
         $url = $request->root();
         $url_details = parse_url($url);
         $customClaims = ['domain' => $url_details['host']];
         //JWTAuth::attempt($credentials, $customClaims);
         // verify the credentials and create a token for the user
         if (!($token = JWTAuth::attempt($credentials, $customClaims))) {
             return response()->json(['error' => 'invalid_credentials'], 401);
         }
     } catch (JWTException $e) {
         // something went wrong
         return response()->json(['error' => 'could_not_create_token'], 500);
     }
     // if no errors are encountered we can return a JWT
     return response()->json(compact('token'));
 }
 public function install(Request $request, JarContract $cookie)
 {
     if ($this->isInstalled() === true) {
         throw new \Exception('Already installed');
     }
     app('config')->set('app.debug', true);
     $url = $this->getUrl($request->get('web_url', ''));
     $validator = $this->getValidationFactory()->make(array_merge($request->all(), ['web_url' => $url]), ['admin_email' => 'required|email', 'admin_password' => 'required|confirmed', 'admin_password_confirmation' => 'required', 'database_name' => 'required', 'database_password' => 'required', 'web_url' => 'url']);
     if ($validator->fails()) {
         return $this->back($validator->getMessageBag()->first());
     }
     $configPath = storage_path('app') . '/installConfig';
     $string = Yaml::dump(['site' => ['locale' => $request->get('locale') != '' ? $request->get('locale') : 'ko', 'url' => $url != '' ? $url : 'http://localhost', 'timezone' => $request->get('web_timezone') != '' ? $request->get('web_timezone') : 'Asia/Seoul'], 'admin' => ['email' => $request->get('admin_email'), 'password' => $request->get('admin_password'), 'displayName' => $request->get('admin_display_name') != '' ? $request->get('admin_display_name') : 'admin'], 'database' => ['host' => $request->get('database_host') != '' ? $request->get('database_host') : 'localhost', 'port' => $request->get('database_port') != '' ? $request->get('database_port') : '3306', 'dbname' => $request->get('database_name'), 'username' => $request->get('database_user_name') != '' ? $request->get('database_user_name') : 'root', 'password' => $request->get('database_password'), 'prefix' => $request->get('database_prefix') != '' ? $request->get('database_prefix') : 'xe']]);
     File::put($configPath, $string);
     Artisan::call('xe:install', ['--config' => $configPath, '--no-interaction' => true]);
     File::delete($configPath);
     if (!empty($request->get('locale'))) {
         $cookie->queue($cookie->forever('locale', $request->get('locale')));
     }
     return redirect($request->root());
 }
Example #25
0
 /**
  * Get the root URL for the application.
  *
  * @return string 
  * @static 
  */
 public static function root()
 {
     return \Illuminate\Http\Request::root();
 }
 /**
  * get error email datas
  *
  * @param \Illuminate\Http\Request $request
  * @param Exception $e
  * @return array
  */
 private function getEmailDatas($request, $e)
 {
     return ['date' => Carbon::now()->format('d.m.Y H:i:s'), 'rUser' => $request->user(), 'rSessionOld' => $request->session()->all()['flash']['old'], 'rSessionNew' => $request->session()->all()['flash']['new'], 'rAll' => $request->all(), 'rIp' => $request->ip(), 'rDecodedPath' => $request->decodedPath(), 'rPath' => $request->path(), 'rFullUrl' => $request->fullUrl(), 'rUrl' => $request->url(), 'rRoot' => $request->root(), 'rMethod' => $request->method(), 'eMessage' => method_exists($e, 'getMessage') ? $e->getMessage() : '', 'eCode' => method_exists($e, 'getStatusCode') ? $e->getStatusCode() : 200, 'eFile' => method_exists($e, 'getFile') ? $e->getFile() : '', 'eLine' => method_exists($e, 'getLine') ? $e->getLine() : '', 'ePrevious' => is_string($e->getPrevious()) ? $e->getPrevious() : '', 'eTrace' => nl2br($e->getTraceAsString())];
 }
Example #27
0
 /**
  * 获取上传配置.
  *
  * @return array
  */
 public function getConfig(Request $request)
 {
     return ['imageUrl' => '/admin/upload/image', 'imagePath' => '/attachments/', 'imageFieldName' => 'file', 'imageMaxSize' => 2048000, 'imageCompressEnable' => true, 'imageCompressBorder' => 1600, 'imageUrlPrefix' => $request->root() . '/', 'imageActionName' => 'uploadimage', 'imageAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp']];
 }
 /**
  * Return the path prefix.
  *
  * @return string
  */
 public function prefix()
 {
     return rtrim(array_get(parse_url($this->request->root()), 'path'), '/');
 }
Example #29
0
 /**
  * Checks if a provided URL is active or not.
  *
  * @param  string  $url
  *
  * @return boolean
  */
 protected function isUrlActive($url)
 {
     $path = trim(str_replace($this->request->root(), '', $url), '/');
     return $this->request->is($path);
 }
Example #30
0
 /**
  * Get the request root URL as a Purl instance.
  *
  * @return \Purl\Url
  */
 public function requestRoot()
 {
     $url = $this->request->root();
     return $this->make($url);
 }