Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: 1.2.1
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 120 lines (105 sloc) 2.148 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
<?php
/**
* Piwik - Open source web analytics
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
* @version $Id$
*
* @category Piwik
* @package Piwik
*/

/**
*
* @package Piwik
*/
class Piwik_Site
{
protected $id = null;

public static $infoSites = array();

function __construct($idsite)
{
$this->id = $idsite;
if(!isset(self::$infoSites[$this->id]))
{
self::$infoSites[$this->id] = Piwik_SitesManager_API::getInstance()->getSiteFromId($idsite);
}
}

function __toString()
{
return "site id=".$this->getId().",
name=".$this->getName() .",
url = ". $this->getMainUrl() .",
IPs excluded = ".$this->getExcludedIps().",
timezone = ".$this->getTimezone().",
currency = ".$this->getCurrency().",
creation date = ".$this->getCreationDate();
}

function getName()
{
return $this->get('name');
}

function getMainUrl()
{
return $this->get('main_url');
}

function getId()
{
return $this->id;
}

protected function get( $name)
{
if(!isset(self::$infoSites[$this->id][$name]))
{
throw new Exception('Requested field '.$name .' was not loaded in website '.(int)$this->id.'. ');
}
return self::$infoSites[$this->id][$name];
}
function getCreationDate()
{
$date = $this->get('ts_created');
return Piwik_Date::factory($date);
}

function getTimezone()
{
return $this->get('timezone');
}

function getCurrency()
{
return $this->get('currency');
}

function getExcludedIps()
{
return $this->get('excluded_ips');
}

function getExcludedQueryParameters()
{
return $this->get('excluded_parameters');
}

/**
* @param string comma separated idSite list
* @return array of valid integer
*/
static public function getIdSitesFromIdSitesString( $string )
{
if(is_array($string))
{
return $string;
}
$ids = explode(',', $string);
$validIds = array();
foreach($ids as $id)
{
$id = trim($id);
if(!empty($id) && is_numeric($id))
{
$validIds[] = $id;
}
}
return $validIds;
}

static public function clearCache()
{
self::$infoSites = array();
}
}
Something went wrong with that request. Please try again.