Exemple #1
0
 public function testRedirectInternal()
 {
     $url = 'http://url/match?param=value';
     $urlHelperMock = $this->getMock(\Magelight\Helpers\UrlHelper::class, [], [], '', false);
     $urlHelperMock->expects($this->once())->method('getUrl')->with('match', ['param' => 'value'], 'http')->will($this->returnValue('http://url/match?param=value'));
     \Magelight\Helpers\UrlHelper::forgeMock($urlHelperMock);
     $this->serverMock->expects($this->once())->method('sendHeader')->with("Location: " . $url);
     $this->appMock->expects($this->once())->method('shutdown');
     $this->controller->redirectInternal('match', ['param' => 'value']);
 }
Exemple #2
0
 /**
  * Get bike base URL
  * 
  * @param string $type
  * 
  * @return string
  */
 public function getBaseUrl($type = self::TYPE_HTTP)
 {
     $domain = \Magelight\Config::getInstance()->getConfig('global/base_domain', null);
     if (is_null($domain)) {
         $server = \Magelight\Http\Server::getInstance();
         $domain = $server->getCurrentDomain();
     } elseif (is_array($domain)) {
         $domain = array_shift($domain);
     }
     return $type . '://' . (string) $domain;
 }
Exemple #3
0
 /**
  * Encount visitor
  *
  * @param string $requestRoute
  *
  * @return Visitor
  */
 public function encount($requestRoute)
 {
     $time = time();
     $todayStart = $time - $time % 86400;
     $todayEnd = $todayStart + 86400;
     $ipLong = ip2long(isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 0);
     $current = $this->orm()->whereGt('time', $todayStart)->whereLt('time', $todayEnd)->whereEq('ip', $ipLong)->fetchModel();
     if ($current instanceof self) {
         $current->time = $time;
         $info = json_decode(gzuncompress($current->info), true);
         $info[$requestRoute] = isset($info[$requestRoute]) ? $info[$requestRoute] + 1 : 1;
         $current->info = gzcompress(json_encode($info), 8);
         unset($info);
         $current->save(false);
         unset($current);
     } else {
         $this->time = $time;
         $this->ip = $ipLong;
         $this->referer = \Magelight\Http\Server::getInstance()->getHttpReferer('direct');
         $this->info = gzcompress(json_encode([$requestRoute => 1]), 8);
         $this->save(true);
     }
     return $this;
 }
Exemple #4
0
 /**
  * Redirect to url
  *
  * @param string $url
  */
 public function redirect($url)
 {
     \Magelight\Http\Server::getInstance()->sendHeader("Location: {$url}");
     \Magelight\App::getInstance()->shutdown();
 }
Exemple #5
0
 /**
  * Login via uLogin service action handler
  */
 public function serviceloginAction()
 {
     $s = file_get_contents('http://ulogin.ru/token.php?token=' . $this->request()->getPost('token') . '&host=' . \Magelight\Http\Server::getInstance()->getCurrentDomain());
     $userData = json_decode($s, true);
     $user = \Magelight\Auth\Models\User::forge()->authorizeViaUlogin($userData);
     if (!$user) {
         $user = \Magelight\Auth\Models\User::forge()->createViaUlogin($userData, $this->url(\Magelight\Config::getInstance()->getConfig('global/auth/avatar/noavatar_url')));
     }
     if ($user) {
         $this->session()->set('user_id', $user->id);
         $this->redirect($this->url(\Magelight\Config::getInstance()->getConfig('global/auth/urls/success_url')));
     } else {
         $this->redirect($this->url(\Magelight\Config::getInstance()->getConfig('global/auth/urls/openauth_error')));
     }
 }