예제 #1
0
파일: agent.php 프로젝트: wushian/MDD
 /**
  * Tests Agent::languages()
  *
  * @test
  */
 public function test_languages()
 {
     $expected = array("en-us", "en", "nl-be", "nl");
     $output = Agent::languages();
     $this->assertEquals($expected, $output);
 }
예제 #2
0
 private function fromBrowser()
 {
     if (!$this->language) {
         $matches = array_intersect($this->settings->languages(), Agent::languages());
         if (count($matches)) {
             $this->language = $matches[0];
         }
     }
     return $this;
 }
예제 #3
0
 public function getUiLanguageFromSession()
 {
     $setLanguage = \Session::get('ui_language', \Config::get('app.locale'));
     if (\Config::get('paperwork.userAgentLanguage')) {
         $uaLanguages = \Agent::languages();
         foreach ($uaLanguages as $uaLanguage) {
             if (PaperworkHelpers::hasUiLanguage($uaLanguage)) {
                 $setLanguage = $uaLanguage;
                 break;
             }
         }
     }
     return $setLanguage;
 }
예제 #4
0
 public static function action_view($short_url)
 {
     if (is_object($short_url) === false) {
         $short_url = Model_Url::query()->where('short_url', $short_url)->get_one();
     }
     $short_url->hits = $short_url->hits + 1;
     $short_url->save();
     if (empty($short_url) === false) {
         $results = Controller_Url::check_loop($short_url);
         $data['url'] = $results['url'];
         $data['iframe'] = $results['iframe'];
         if (isset($results['image']) === true) {
             $data['image'] = $results['image'];
         }
         if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
             $ip = $_SERVER["HTTP_CF_CONNECTING_IP"];
         } else {
             $ip = Input::real_ip();
         }
         $country = Model_Url_Stats_Country::query()->where('start_ip', '<=', ip2long($ip))->where('end_ip', '>=', ip2long($ip))->get_one();
         if (empty($country) === false) {
             $country = $country->country;
         } else {
             $country = 'N/A';
         }
         $lang = Agent::languages();
         // Insert Some Stats
         $stats = Model_Url_Stat::forge(array('url_id' => $short_url->id, 'ip' => $ip, 'country' => $country, 'referer' => Input::referrer(), 'language' => serialize($lang)));
         $stats->save();
         return new Response(View::Forge('url/redirect', $data));
     } else {
         Session::set('error', 'We couldn\'t');
         Response::Redirect(Uri::Base());
     }
 }