[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