[Piwik-svn] r148 - in trunk: . modules modules/API plugins plugins/API plugins/ExamplePlugin plugins/Home/templates plugins/Installation plugins/Login plugins/SitesManager/templates plugins/UsersManager plugins/UsersManager/templates tests/modules

svnmaster at piwik.org svnmaster at piwik.org
Sat Jan 12 03:51:17 CET 2008


Author: matt
Date: 2008-01-12 03:51:17 +0100 (Sat, 12 Jan 2008)
New Revision: 148

Modified:
   trunk/README
   trunk/TODO
   trunk/modules/API/Request.php
   trunk/modules/Access.php
   trunk/modules/Auth.php
   trunk/plugins/API/Controller.php
   trunk/plugins/ExamplePlugin/API.php
   trunk/plugins/Home/templates/index.tpl
   trunk/plugins/Home/templates/links_misc_modules.tpl
   trunk/plugins/Installation/Controller.php
   trunk/plugins/Login.php
   trunk/plugins/Login/Controller.php
   trunk/plugins/SitesManager/templates/DisplayJavascriptCode.tpl
   trunk/plugins/SitesManager/templates/SitesManager.tpl
   trunk/plugins/UsersManager/API.php
   trunk/plugins/UsersManager/templates/UsersManager.tpl
   trunk/tests/modules/PHP_Related.test.php
Log:
- the root password is now encrypted in the config file
- the API authentication now works for root and for normal user. Simply add a token_auth parameter. see the instruction on the API listing page available from piwik interface
- added /fixed stuff in the UI 

Modified: trunk/README
===================================================================
--- trunk/README	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/README	2008-01-12 02:51:17 UTC (rev 148)
@@ -5,13 +5,6 @@
 =======
 1 - upload piwik in your webserver and point your browser to the directory. Follow the steps.
 
-Configuration
-=============
-2 - go to ?module=SitesManager to manage your websites
-3 - go to misc/generateVisits.php to generate some visits
-4 - go to the root of your piwik/ directory and click the link at the bottom of the page 
-    to see the statistics 
-
 Requirements
 ============
 - php 5.1.x minimum (x == ?)
@@ -19,14 +12,8 @@
 - php PDO module enabled
 - OS / server independant
 
-Some modules
+Page modules
 ============
-User manager admin UI 
-?module=UsersManager
-
-Sites manager admin UI 
-?module=SitesManager
-
 All the data is available via APIs for example to get todays keywords in XML
 ?module=API&method=Referers.getKeywords&idSite=1&period=month&date=today&format=xml
 
@@ -36,13 +23,6 @@
 You can find the full listing of the APIs provided by the plugins on
 ?module=API&action=listAllAPI
 
-Login
-?module=Login
-
-Logout
-?module=Logout
-
-
 Some other stuff
 ================ 
 To generate thousands of fake visits to get some data to play with, 
@@ -54,8 +34,7 @@
 # ./misc/generateDoc.sh
 then check the documentation at piwik/documentation/ in your browser
 
-Want to help? The /TODO file lists all the known bugs and the features to implement.
-Feel free to have a look and send us patches. 
+Want to help? Have a look at http://piwik.org
 
 Contact
 =======

Modified: trunk/TODO
===================================================================
--- trunk/TODO	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/TODO	2008-01-12 02:51:17 UTC (rev 148)
@@ -4,19 +4,7 @@
 - fixed bug fwrite in zend_log stream writer
 - fixed PEAR so that it works under PHP5 with STRICT MODE enabled
 
-COMMENT
-=======
-When commenting
-- check warning PHP DOC for missing @package
-- look for "[TAB]function " for missing public/private on methods
 
-           ------------------
-                 Timeline
-           ------------------
-
-- Plugins management interface
-
-
 # Documentation
   - Document the Piwik architecture: 
    API concept, 
@@ -26,3 +14,7 @@
    Reporting process, 
    MVC model, 
    DataTable concept
+
+   
+test that archive always is OFF in prod
+distinct campaign number is wrong
\ No newline at end of file

Modified: trunk/modules/API/Request.php
===================================================================
--- trunk/modules/API/Request.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/modules/API/Request.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -178,7 +178,8 @@
 //					echo $toReturn;exit;
 				}
 			}
-			// bool // integer // float // anything else would'nt work and is not handled (objects!)
+			// bool // integer // float // object is serialized
+			// NB: null value is already handled by the isset() test above
 			else
 			{
 				if( $toReturn === true )
@@ -189,6 +190,12 @@
 				{
 					$toReturn = 'false';
 				}
+				elseif( is_object($toReturn)
+							|| is_resource($toReturn)
+							)
+				{
+					return $this->getExceptionOutput( ' The API cannot handle this data structure. You can get the data internally by directly using the class.', $outputFormatRequested);
+				}
 				return $this->getStandardSuccessOutput($outputFormatRequested, $message = $toReturn);
 			}
 			

Modified: trunk/modules/Access.php
===================================================================
--- trunk/modules/Access.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/modules/Access.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -228,13 +228,13 @@
 //		if($this->isSuperUser)
 //		{
 //			return;
-//		}
-		
+//		}		
 		if(!is_array($idSites))
 		{
 			$idSites = array($idSites);
 		}
-		$idSitesAccessible = $this->getSitesIdWithAtLeastViewAccess();
+		$idSitesAccessible = $this->getSitesIdWithAtLeastViewAccess();
+//var_dump($idSitesAccessible);exit;
 		foreach($idSites as $idsite)
 		{
 			if(!in_array($idsite, $idSitesAccessible))

Modified: trunk/modules/Auth.php
===================================================================
--- trunk/modules/Auth.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/modules/Auth.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -19,7 +19,9 @@
 		$rootLogin = Zend_Registry::get('config')->superuser->login;
 		$rootPassword = Zend_Registry::get('config')->superuser->password;
 		$rootToken = Piwik_UsersManager_API::getTokenAuth($rootLogin,$rootPassword);
-		
+		
+//		echo $rootToken;
+//		echo "<br>". $this->_credential;exit;
 		if($this->_identity == $rootLogin 
 			&& $this->_credential == $rootToken)
 		{
@@ -33,7 +35,8 @@
 		// API authentication works without login name, but only with the token
 		if(is_null($this->_identity))
 		{
-			$authenticated = false;
+			$authenticated = false;
+			
 			if($this->_credential === $rootToken)
 			{
 				return new Piwik_Auth_Result(Piwik_Auth::SUCCESS_SUPERUSER_AUTH_CODE, 

Modified: trunk/plugins/API/Controller.php
===================================================================
--- trunk/plugins/API/Controller.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/API/Controller.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -15,10 +15,16 @@
 //?module=API&method=Referers.getKeywords&idSite=1&period=month&date=today&format=xml
 //
 //or yesterday visits information in JSON
-//?module=API&method=VisitsSummary.get&idSite=1&period=month&date=yesterday&format=json
+//?module=API&method=VisitsSummary.get&idSite=1&period=month&date=yesterday&format=json
+
+//		http://127.0.0.1/svn-dev/trunk/?module=API&method=UserSettings.getResolution&idSite=1&period=day&date=today&format=xml&token_auth=0b809661490d605bfd77f57ed11f0b14
+
+		$token_auth = Zend_Registry::get('auth')->getTokenAuth();
 		echo "<style>body{ font-family:georgia,arial; font-size:0.95em;} </style>";
 		echo "<h1>API quick documentation</h1>";
 		echo "<p>If you don't have data for today you can first <a href='misc/generateVisits.php' target=_blank>generate some data</a> using the Visits Generator script.</p>";
+		echo "<p>You can try the different formats available for every method. It is very easy to extract any data you want from piwik!</p>";
+		echo "<p>If you want to <b>request the data without being logged in to Piwik</b> you need to add the parameter <code><u>&token_auth=$token_auth</u></code> to the API calls URLs that require authentication.</p>";
 		$errors = '';
 		$plugins = Piwik_PluginsManager::getInstance()->getLoadedPluginsName();
 		
@@ -35,10 +41,13 @@
 				$errors .= "<br>\n" . $e->getMessage();
 			}
 		}
-		echo "<p> Loaded successfully $loaded APIs</p>\n";
+		echo "<p><i> Loaded successfully $loaded APIs</i></p>\n";
 		echo Piwik_API_Proxy::getInstance()->getAllInterfaceString();
 		
-		echo "<p>Errors = " . $errors . "</p>\n";
+		echo "<p>Notice = " . $errors . "</p>\n";
+		
+		echo "<p><a href='?module=Home&action=index&idSite=1&period=day&date=yesterday'>Back to Piwik homepage</a></p>";
+		
 	}
 	
 }

Modified: trunk/plugins/ExamplePlugin/API.php
===================================================================
--- trunk/plugins/ExamplePlugin/API.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/ExamplePlugin/API.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -1,5 +1,11 @@
 <?php
-
+class MagicObject 
+{
+	function Incredible(){ return 'Incroyable'; }
+	protected $wonderful = 'magnifique';
+	public $great = 'formidable';
+}
+
 class Piwik_ExamplePlugin_API extends Piwik_Apiable
 {
 	static private $instance = null;
@@ -17,10 +23,24 @@
 		}
 		return self::$instance;
 	}
-	
-	public function getAnswerToLife()
-	{
-		return 42;
+
+	public function getAnswerToLife()
+	{
+		return 42;
+	}
+
+	public function getGoldenRatio()
+	{
+		//http://en.wikipedia.org/wiki/Golden_ratio
+		return 1.618033988749894848204586834365;
+	}
+	public function getObject()
+	{
+		return new MagicObject();
+	}
+	public function getNull()
+	{
+		return null;
 	}
 	
 	public function getMoreInformationAnswerToLife()

Modified: trunk/plugins/Home/templates/index.tpl
===================================================================
--- trunk/plugins/Home/templates/index.tpl	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/Home/templates/index.tpl	2008-01-12 02:51:17 UTC (rev 148)
@@ -137,13 +137,15 @@
 #stuff {
 	position:relative;
 	float:right;
-	margin-right:20%;
+	margin-right:10%;
 	margin-top:10px;
+	font-size:0.9em;
 }
-#h1 {
+#h1, #h1 a {
 	color: #006;
 	font-size: 45px;
 	font-weight: lighter;
+	text-decoration : none;
 }
 
 #subh1 {
@@ -151,10 +153,17 @@
 	font-size: 25px;
 	font-weight: lighter;
 }
+
+#messageToUsers, #messageToUsers a{
+	color:red;
+	font-size:0.9em;
+	text-decoration : none;
+	width:100%;
+}
 </style>
 {/literal}
 
-<span id="h1">Piwik </span><span id="subh1"> # open source web analytics</span><br>
+<span id="h1"><a href='http://piwik.org'>Piwik</a> </span><span id="subh1"> # open source web analytics</span><br>
 <br>
 <div id="stuff">
 	<div id="calendar"></div>
@@ -163,6 +172,12 @@
 		<p>User logged = {$userLogin}</p>
 		{include file="Home/templates/period_select.tpl"}<br><br>
 		{include file="Home/templates/sites_select.tpl"}<br>
+		
+	<div id="messageToUsers"><a href='http://piwik.org'>Piwik</a> is still alpha. 
+				<br>We are currently working hard on a new shiny User Interface.
+				<br>Please <a href="mailto:hello at piwik.org?subject=Feedback piwik"><u>send us</u></a> your feedback.
+				<br>
+				</div> 
 		{include file="Home/templates/links_misc_modules.tpl"}<br>
 	</div>
 </div>

Modified: trunk/plugins/Home/templates/links_misc_modules.tpl
===================================================================
--- trunk/plugins/Home/templates/links_misc_modules.tpl	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/Home/templates/links_misc_modules.tpl	2008-01-12 02:51:17 UTC (rev 148)
@@ -2,6 +2,7 @@
 	<p>Links to other modules:</p>
 	<ul>
 		<li>Manage: <a href='?module=SitesManager'>Sites</a> - <a href='?module=UsersManager'>Users</a></li>
+		<li><a href='?module=SitesManager'>Display the javascript code to insert</a></li>
 		<li><a href='?module=Login'>Login</a> - <a href='?module=Logout'>Logout</a></a></li>
 		<li>Discover the power of the Piwik API!!! <br><a href='?module=API&action=listAllAPI'>API methods list</a></li>
 	</ul>

Modified: trunk/plugins/Installation/Controller.php
===================================================================
--- trunk/plugins/Installation/Controller.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/Installation/Controller.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -194,7 +194,7 @@
 		{			
 			$superUserInfos = array(
 				'login' 		=> $form->getSubmitValue('login'),
-				'password' 		=> $form->getSubmitValue('password'),
+				'password' 		=> md5( $form->getSubmitValue('password') ),
 				'email' 		=> $form->getSubmitValue('email'),
 			);
 			

Modified: trunk/plugins/Login/Controller.php
===================================================================
--- trunk/plugins/Login/Controller.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/Login/Controller.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -19,6 +19,7 @@
 			// value submitted in form
 			$login = $form->getSubmitValue('form_login');
 			$password = $form->getSubmitValue('form_password');
+			$password = md5($password);
 			
 			$baseUrl = Piwik_Url::getCurrentUrlWithoutQueryString(); 
 			$currentUrl = Piwik_Url::getCurrentUrl();		
@@ -26,7 +27,7 @@
 			
 			$urlToRedirect = htmlspecialchars_decode($urlToRedirect);
 			
-			$tokenAuth = Piwik_UsersManager_API::getTokenAuth($login,$password);
+			$tokenAuth = Piwik_UsersManager_API::getTokenAuth($login, $password);
 	
 			Piwik_Login::prepareAuthObject($login, $tokenAuth);
 			
@@ -39,7 +40,7 @@
 				$cookie = new Piwik_Cookie($authCookieName, $authCookieExpiry);
 				$cookie->set('login', $login);
 				$tokenAuth = $auth->getTokenAuth();
-				$cookie->set('token', $tokenAuth);
+				$cookie->set('token_auth', $tokenAuth);
 				$cookie->save();
 				
 				Piwik_Url::redirectToUrl($urlToRedirect);

Modified: trunk/plugins/Login.php
===================================================================
--- trunk/plugins/Login.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/Login.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -56,7 +56,7 @@
 		$authAdapter = new Piwik_Auth();
      	Zend_Registry::set('auth', $authAdapter);
 		
-		$tokenAuthAPIInUrl = Piwik_Common::getRequestVar('token', '', 'string');
+		$tokenAuthAPIInUrl = Piwik_Common::getRequestVar('token_auth', '', 'string');
 		if( !empty($tokenAuthAPIInUrl))
 		{
 			$authAdapter->setCredential($tokenAuthAPIInUrl);
@@ -69,12 +69,12 @@
 	
 			$authCookie = new Piwik_Cookie($authCookieName, $authCookieExpiry);
 			
-			$login = $tokenAuth = 'abc';
+			$login = $tokenAuth = 'abc'; // if empty throw an exception
 			
 			if($authCookie->isCookieFound())
 			{
 				$login = $authCookie->get('login');
-				$tokenAuth =  $authCookie->get('token');
+				$tokenAuth =  $authCookie->get('token_auth');
 			}
 			self::prepareAuthObject($login, $tokenAuth);
 		}

Modified: trunk/plugins/SitesManager/templates/DisplayJavascriptCode.tpl
===================================================================
--- trunk/plugins/SitesManager/templates/DisplayJavascriptCode.tpl	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/SitesManager/templates/DisplayJavascriptCode.tpl	2008-01-12 02:51:17 UTC (rev 148)
@@ -4,4 +4,4 @@
 {$jsTag}
 </code>
 
-<p><a href='index.php'>Back to Piwik homepage</a></p>
\ No newline at end of file
+<p><a href='?module=Home&action=index&idSite=1&period=day&date=yesterday'>Back to Piwik homepage</a></p>
\ No newline at end of file

Modified: trunk/plugins/SitesManager/templates/SitesManager.tpl
===================================================================
--- trunk/plugins/SitesManager/templates/SitesManager.tpl	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/SitesManager/templates/SitesManager.tpl	2008-01-12 02:51:17 UTC (rev 148)
@@ -41,4 +41,4 @@
 
 
 
-<p><a href='index.php'>Back to Piwik homepage</a></p>
+<p><a href='?module=Home&action=index&idSite=1&period=day&date=yesterday'>Back to Piwik homepage</a></p>

Modified: trunk/plugins/UsersManager/API.php
===================================================================
--- trunk/plugins/UsersManager/API.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/UsersManager/API.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -220,7 +220,9 @@
 	}
 	
 	static private function getCleanPassword($password)
-	{
+	{
+		// if change here, should also edit the installation process 
+		// to change how the root pwd is saved in the config file
 		return md5($password);
 	}
 		
@@ -489,9 +491,9 @@
 	}
 	
 	/**
-	 * Generates a unique MD5 for the given login & password
-	 * @param string login
-	 * @param string password
+	 * Generates a unique MD5 for the given login & previously 'md5'ied password
+	 * @param string Login
+	 * @param string Result of the md5 hash of the real password
 	 */
 	static public function getTokenAuth($userLogin, $password)
 	{

Modified: trunk/plugins/UsersManager/templates/UsersManager.tpl
===================================================================
--- trunk/plugins/UsersManager/templates/UsersManager.tpl	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/plugins/UsersManager/templates/UsersManager.tpl	2008-01-12 02:51:17 UTC (rev 148)
@@ -82,4 +82,4 @@
 <div id="addrow"><img src='plugins/UsersManager/images/add.png'> <a href="#">Add a new user</a></div>
 <script type="text/javascript" src="plugins/UsersManager/templates/UsersManager.js"></script>
 
-<p><a href='index.php'>Back to Piwik homepage</a></p>
\ No newline at end of file
+<p><a href='?module=Home&action=index&idSite=1&period=day&date=yesterday'>Back to Piwik homepage</a></p>
\ No newline at end of file

Modified: trunk/tests/modules/PHP_Related.test.php
===================================================================
--- trunk/tests/modules/PHP_Related.test.php	2008-01-12 01:10:43 UTC (rev 147)
+++ trunk/tests/modules/PHP_Related.test.php	2008-01-12 02:51:17 UTC (rev 148)
@@ -9,22 +9,6 @@
 
 Zend_Loader::loadClass('Piwik_Timer');
 
-class test_staticAttr
-{
-	static public $a = 'testa';
-	public $b = 'testb';
-}
-
-class test_magicMethodStaticAttr
-{
-	static $test = "test";
-	
-	function __get($name)
-	{
-		print("reading static attr ; __get called");
-		return 1;
-	}
-}
 		
 class Test_PHP_Related extends UnitTestCase
 {
@@ -40,6 +24,10 @@
 	public function tearDown()
 	{
 	}
+	function test_TMP()
+	{
+		echo md5('root'.md5('nintendo'));
+	}
 	
 	public function testMergeArray()
 	{
@@ -271,15 +259,25 @@
 		$this->assertTrue(!is_bool($return));
 	}
 	
-	function test_unserializeObject()
+}
+
+
+class test_staticAttr
+{
+	static public $a = 'testa';
+	public $b = 'testb';
+}
+
+class test_magicMethodStaticAttr
+{
+	static $test = "test";
+	
+	function __get($name)
 	{
-//		$o = new Piwik_DataTable;
-//		$o = 'O:15:"Piwik_DataTable":6:{s:7:"�*�rows";a:10:{i:0;O:19:"Piwik_DataTable_Row":1:{s:1:"c";a:3:{i:0;a:12:{s:5:"label";s:6:"/index";s:9:"nb_visits";s:2:"17";s:7:"nb_hits";s:2:"17";s:23:"entry_nb_unique_visitor";s:2:"12";s:15:"entry_nb_visits";s:2:"16";s:16:"entry_nb_actions";s:2:"19";s:22:"entry_sum_visit_length";s:4:"8102";s:18:"entry_bounce_count";s:2:"15";s:22:"exit_nb_unique_visitor";s:2:"12";s:14:"exit_nb_visits";s:2:"16";s:17:"exit_bounce_count";s:2:"15";s:14:"sum_time_spent";s:4:"3292";}i:1;a:0:{}i:3;N;}}i:1;O:36:"Piwik_DataTable_Row_DataTableSummary":1:{s:1:"c";a:3:{i:0;a:12:{s:5:"label";i:1;s:9:"nb_visits";i:7;s:7:"nb_hits";i:7;s:23:"entry_nb_unique_visitor";i:6;s:15:"entry_nb_visits";i:6;s:16:"entry_nb_actions";i:6;s:22:"entry_sum_visit_length";i:60;s:18:"entry_bounce_count";i:6;s:22:"exit_nb_unique_visitor";i:6;s:14:"exit_nb_visits";i:6;s:17:"exit_bounce_count";i:6;s:14:"sum_time_spent";i:2284;}i:1;a:1:{s:18:"databaseSubtableId";i:38;}i:3;i:193;}}i:2;O:36:"Piwik_DataTable_Row_DataTableSummary":1:{s:1:"c";a:3:{i:0;a:11:{s:5:"label";i:9;s:9:"nb_visits";i:6;s:7:"nb_hits";i:6;s:23:"entry_nb_unique_visitor";i:6;s:15:"entry_nb_visits";i:6;s:16:"entry_nb_actions";i:6;s:22:"entry_sum_visit_length";i:60;s:18:"entry_bounce_count";i:6;s:22:"exit_nb_unique_visitor";i:6;s:14:"exit_nb_visits";i:6;s:17:"exit_bounce_count";i:6;}i:1;a:1:{s:18:"databaseSubtableId";i:18;}i:3;i:173;}}i:3;O:36:"Piwik_DataTable_Row_DataTableSummary":1:{s:1:"c";a:3:{i:0;a:11:{s:5:"label";i:3;s:9:"nb_visits";i:6;s:7:"nb_hits";i:6;s:23:"entry_nb_unique_visitor";i:6;s:15:"entry_nb_visits";i:6;s:16:"entry_nb_actions";i:6;s:22:"entry_sum_visit_length";i:60;s:18:"entry_bounce_count";i:6;s:22:"exit_nb_unique_visitor";i:6;s:14:"exit_nb_visits";i:6;s:17:"exit_bounce_count";i:6;}i:1;a:1:{s:18:"databaseSubtableId";i:9;}i:3;i:164;}}i:4;O:36:"Piwik_DataTable_Row_DataTableSummary":1:{s:1:"c";a:3:{i:0;a:12:{s:5:"label";s:1:"f";s:9:"nb_visits";i:6;s:7:"nb_hits";i:6;s:23:"entry_nb_unique_visitor";i:4;s:15:"entry_nb_visits";i:4;s:16:"entry_nb_actions";i:4;s:22:"entry_sum_visit_length";i:40;s:18:"entry_bounce_count";i:4;s:22:"exit_nb_unique_visitor";i:5;s:14:"exit_nb_visits";i:5;s:17:"exit_bounce_count";i:4;s:14:"sum_time_spent";i:2623;}i:1;a:1:{s:18:"databaseSubtableId";i:31;}i:3;i:186;}}i:5;O:19:"Piwik_DataTable_Row":1:{s:1:"c";a:3:{i:0;a:11:{s:5:"label";s:2:"/9";s:9:"nb_visits";s:1:"5";s:7:"nb_hits";s:1:"5";s:23:"entry_nb_unique_visitor";s:1:"5";s:15:"entry_nb_visits";s:1:"5";s:16:"entry_nb_actions";s:1:"5";s:22:"entry_sum_visit_length";s:2:"50";s:18:"entry_bounce_count";s:1:"5";s:22:"exit_nb_unique_visitor";s:1:"5";s:14:"exit_nb_visits";s:1:"5";s:17:"exit_bounce_count";s:1:"5";}i:1;a:0:{}i:3;N;}}i:6;O:36:"Piwik_DataTable_Row_DataTableSummary":1:{s:1:"c";a:3:{i:0;a:12:{s:5:"label";s:1:"e";s:9:"nb_visits";i:5;s:7:"nb_hits";i:5;s:23:"entry_nb_unique_visitor";i:5;s:15:"entry_nb_visits";i:5;s:16:"entry_nb_actions";i:11;s:22:"entry_sum_visit_length";i:15972;s:18:"entry_bounce_count";i:3;s:22:"exit_nb_unique_visitor";i:3;s:14:"exit_nb_visits";i:3;s:17:"exit_bounce_count";i:3;s:14:"sum_time_spent";i:4711;}i:1;a:1:{s:18:"databaseSubtableId";i:22;}i:3;i:177;}}i:7;O:36:"Piwik_DataTable_Row_DataTableSummary":1:{s:1:"c";a:3:{i:0;a:12:{s:5:"label";s:1:"g";s:9:"nb_visits";i:4;s:7:"nb_hits";i:4;s:23:"entry_nb_unique_visitor";i:4;s:15:"entry_nb_visits";i:4;s:16:"entry_nb_actions";i:5;s:22:"entry_sum_visit_length";i:2267;s:18:"entry_bounce_count";i:3;s:22:"exit_nb_unique_visitor";i:3;s:14:"exit_nb_visits";i:3;s:17:"exit_bounce_count";i:3;s:14:"sum_time_spent";i:2237;}i:1;a:1:{s:18:"databaseSubtableId";i:28;}i:3;i:183;}}i:8;O:19:"Piwik_DataTable_Row":1:{s:1:"c";a:3:{i:0;a:11:{s:5:"label";s:2:"/e";s:9:"nb_visits";s:1:"4";s:7:"nb_hits";s:1:"4";s:23:"entry_nb_unique_visitor";s:1:"3";s:15:"entry_nb_visits";s:1:"3";s:16:"entry_nb_actions";s:1:"3";s:22:"entry_sum_visit_length";s:2:"30";s:18:"entry_bounce_count";s:1:"3";s:22:"exit_nb_unique_visitor";s:1:"4";s:14:"exit_nb_visits";s:1:"4";s:17:"exit_bounce_count";s:1:"3";}i:1;a:0:{}i:3;N;}}i:9;O:19:"Piwik_DataTable_Row":1:{s:1:"c";a:3:{i:0;a:11:{s:5:"label";s:2:"/f";s:9:"nb_visits";s:1:"4";s:7:"nb_hits";s:1:"4";s:23:"entry_nb_unique_visitor";s:1:"4";s:15:"entry_nb_visits";s:1:"4";s:16:"entry_nb_actions";s:1:"4";s:22:"entry_sum_visit_length";s:2:"40";s:18:"entry_bounce_count";s:1:"4";s:22:"exit_nb_unique_visitor";s:1:"4";s:14:"exit_nb_visits";s:1:"4";s:17:"exit_bounce_count";s:1:"4";}i:1;a:0:{}i:3;N;}}}s:12:"�*�currentId";i:163;s:13:"�*�depthLevel";i:0;s:19:"�*�indexNotUpToDate";b:1;s:16:"�*�queuedFilters";a:0:{}s:29:"�*�rowsCountBeforeLimitFilter";i:34;}';
-//		$o = unserialize($o);
-	}
+		print("reading static attr ; __get called");
+		return 1;
+	}
 }
 
 
 
-
-



More information about the Piwik-svn mailing list