setCurrentProvider() public static method

Sets the provider to use when tracking.
public static setCurrentProvider ( string $providerId ) : LocationProvider
$providerId string The ID of the provider to use.
return LocationProvider The new current provider.
 public function setUp()
 {
     $this->setUpWebsitesAndGoals();
     self::downloadGeoIpDbs();
     LocationProvider::$providers = null;
     GeoIp::$geoIPDatabaseDir = 'tests/lib/geoip-files';
     LocationProvider::setCurrentProvider('geoip_php');
     $this->trackVisits();
     $this->setupSegments();
 }
Ejemplo n.º 2
0
 public function setUp()
 {
     self::downloadGeoIpDbs();
     parent::setUp();
     self::updateDatabase();
     // make sure site has an early enough creation date (for period selector tests)
     Db::get()->update(Common::prefixTable("site"), array('ts_created' => '2011-01-01'), "idsite = 1");
     // for proper geolocation
     LocationProvider::setCurrentProvider(LocationProvider\GeoIp\Php::ID);
     IPAnonymizer::deactivate();
     $this->addOverlayVisits();
     $this->addNewSitesForSiteSelector();
     DbHelper::createAnonymousUser();
     UsersManagerAPI::getInstance()->setSuperUserAccess('superUserLogin', true);
     SitesManagerAPI::getInstance()->updateSite(1, null, null, true);
     // create non super user
     UsersManagerAPI::getInstance()->addUser('oliverqueen', 'smartypants', '*****@*****.**');
     UsersManagerAPI::getInstance()->setUserAccess('oliverqueen', 'view', array(1));
 }
Ejemplo n.º 3
0
 public static function unsetLocationProvider()
 {
     // also fails on other PHP, is it really needed?
     return;
     // this randomly fails on PHP 5.3
     if (strpos(PHP_VERSION, '5.3') === 0) {
         return;
     }
     try {
         LocationProvider::setCurrentProvider('default');
     } catch (Exception $e) {
         // ignore error
     }
 }
Ejemplo n.º 4
0
Archivo: API.php Proyecto: piwik/piwik
 /**
  * Set the location provider
  *
  * @param string $providerId  The ID of the provider to use  eg 'default', 'geoip_php', ...
  * @throws Exception if ID is invalid
  */
 public function setLocationProvider($providerId)
 {
     Piwik::checkUserHasSuperUserAccess();
     if (!UserCountry::isGeoLocationAdminEnabled()) {
         throw new \Exception('Setting geo location has been disabled in config.');
     }
     $provider = LocationProvider::setCurrentProvider($providerId);
     if ($provider === false) {
         throw new Exception("Invalid provider ID: '{$providerId}'.");
     }
 }
Ejemplo n.º 5
0
 public static function unsetLocationProvider()
 {
     try {
         LocationProvider::setCurrentProvider('default');
     } catch (Exception $e) {
         // ignore error
     }
 }
Ejemplo n.º 6
0
 /**
  * Sets the current LocationProvider type.
  *
  * Input:
  *   Requires the 'id' query parameter to be set to the desired LocationProvider's ID.
  *
  * Output:
  *   Nothing.
  */
 public function setCurrentLocationProvider()
 {
     $this->dieIfGeolocationAdminIsDisabled();
     Piwik::checkUserHasSuperUserAccess();
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $this->checkTokenInUrl();
         $providerId = Common::getRequestVar('id');
         $provider = LocationProvider::setCurrentProvider($providerId);
         if ($provider === false) {
             throw new Exception("Invalid provider ID: '{$providerId}'.");
         }
         return 1;
     }
 }
 private function setMockLocationProvider()
 {
     LocationProvider::setCurrentProvider('mock_provider');
     MockLocationProvider::$locations = array(self::makeLocation('Toronto', 'ON', 'CA', $lat = null, $long = null, $isp = 'comcast.net'), self::makeLocation('Nice', 'B8', 'FR', $lat = null, $long = null, $isp = 'comcast.net'), self::makeLocation('Melbourne', '07', 'AU', $lat = null, $long = null, $isp = 'awesomeisp.com'), self::makeLocation('Yokohama', '19', 'JP'));
 }
Ejemplo n.º 8
0
 public function test_trackingWithLangParameter_ForwardsLangParameter_ToDefaultLocationProvider()
 {
     LocationProvider::setCurrentProvider(LocationProvider\DefaultProvider::ID);
     $urlToTest = "?idsite=1&rec=1&action_name=test&lang=fr-be";
     $response = $this->sendTrackingRequestByCurl($urlToTest);
     Fixture::checkResponse($response);
     $logVisitTable = Common::prefixTable('log_visit');
     $visitCount = Db::fetchOne("SELECT COUNT(*) FROM {$logVisitTable}");
     $this->assertEquals(1, $visitCount);
     $visitCountry = Db::fetchOne("SELECT location_country FROM {$logVisitTable}");
     $this->assertEquals('be', $visitCountry);
 }