update Piwik to version 2.16 (fixes #91)

This commit is contained in:
oliver 2016-04-10 18:55:57 +02:00
commit d885a4baa9
5833 changed files with 418860 additions and 226988 deletions

View file

@ -1,6 +1,6 @@
<?php
/**
* Piwik - Open source web analytics
* Piwik - free/libre analytics platform
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
@ -10,6 +10,7 @@ namespace Piwik\Db\Adapter;
use Exception;
use Piwik\Config;
use Piwik\Db;
use Piwik\Db\AdapterInterface;
use Piwik\Piwik;
use Zend_Config;
@ -49,6 +50,17 @@ class Mysqli extends Zend_Db_Adapter_Mysqli implements AdapterInterface
return 3306;
}
protected function _connect()
{
if ($this->_connection) {
return;
}
parent::_connect();
$this->_connection->query('SET sql_mode = "' . Db::SQL_MODE . '"');
}
/**
* Check MySQL version
*
@ -56,8 +68,9 @@ class Mysqli extends Zend_Db_Adapter_Mysqli implements AdapterInterface
*/
public function checkServerVersion()
{
$serverVersion = $this->getServerVersion();
$serverVersion = $this->getServerVersion();
$requiredVersion = Config::getInstance()->General['minimum_mysql_version'];
if (version_compare($serverVersion, $requiredVersion) === -1) {
throw new Exception(Piwik::translate('General_ExceptionDatabaseVersion', array('MySQL', $serverVersion, $requiredVersion)));
}
@ -72,6 +85,7 @@ class Mysqli extends Zend_Db_Adapter_Mysqli implements AdapterInterface
{
$serverVersion = $this->getServerVersion();
$clientVersion = $this->getClientVersion();
// incompatible change to DECIMAL implementation in 5.0.3
if (version_compare($serverVersion, '5.0.3') >= 0
&& version_compare($clientVersion, '5.0.3') < 0
@ -168,10 +182,12 @@ class Mysqli extends Zend_Db_Adapter_Mysqli implements AdapterInterface
public function getClientVersion()
{
$this->_connect();
$version = $this->_connection->server_version;
$major = (int)($version / 10000);
$minor = (int)($version % 10000 / 100);
$version = $this->_connection->server_version;
$major = (int)($version / 10000);
$minor = (int)($version % 10000 / 100);
$revision = (int)($version % 100);
return $major . '.' . $minor . '.' . $revision;
}
}