blob: bd28c3fe72f250aba45926f103ddd3a1a256efd2 (
plain)
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
|
<?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
*/
/**
* This file is executed before anything else.
* It checks the minimum PHP version required to run Piwik.
* This file must be compatible PHP4.
*/
$piwik_minimumPHPVersion = '5.1.3';
$piwik_currentPHPVersion = phpversion();
if( version_compare($piwik_minimumPHPVersion , $piwik_currentPHPVersion ) >= 0 )
{
$piwik_errorMessage = "<p><b>To run Piwik you need at least PHP version $piwik_minimumPHPVersion </b></p>
<p>Unfortunately it seems your webserver is using PHP version $piwik_currentPHPVersion. </p>
<p>Please try to update your PHP version, Piwik is really worth it! Nowadays most web hosts
support PHP $piwik_minimumPHPVersion.</p>";
}
$piwik_zend_compatibility_mode = ini_get("zend.ze1_compatibility_mode");
if($piwik_zend_compatibility_mode == 1)
{
$piwik_errorMessage = "<p><b>Piwik is not compatible with the directive <code>zend.ze1_compatibility_mode = On</code></b></p>
<p>It seems your php.ini file has <pre>zend.ze1_compatibility_mode = On</pre>It makes PHP5 behave like PHP4.
If you want to use Piwik you need to set <pre>zend.ze1_compatibility_mode = Off</pre> in your php.ini configuration file. You may have to ask your system administrator.</p>";
}
/**
* Displays info/warning/error message in a friendly UI and exits.
*
* @param string $message Main message
* @param string|false $optionalTrace Backtrace; will be displayed in lighter color
* @param bool $optionalLinks If true, will show links to the Piwik website for help
*/
function Piwik_ExitWithMessage($message, $optionalTrace = false, $optionalLinks = false)
{
if($optionalTrace)
{
$optionalTrace = '<font color="#888888">Backtrace:<br /><pre>'.$optionalTrace.'</pre></font>';
}
if($optionalLinks)
{
$optionalLinks = '<ul>
<li><a target="_blank" href="misc/redirectToUrl.php?url=http://piwik.org">Piwik homepage</a></li>
<li><a target="_blank" href="misc/redirectToUrl.php?url=http://piwik.org/faq/">Piwik Frequently Asked Questions</a></li>
<li><a target="_blank" href="misc/redirectToUrl.php?url=http://piwik.org/docs/">Piwik Documentation</a></li>
<li><a target="_blank" href="misc/redirectToUrl.php?url=http://forum.piwik.org/">Piwik Forums</a></li>
<li><a target="_blank" href="misc/redirectToUrl.php?url=http://piwik.org/demo">Piwik Online Demo</a></li>
</ul>';
}
$headerPage = file_get_contents(PIWIK_INCLUDE_PATH . '/themes/default/simple_structure_header.tpl');
$footerPage = file_get_contents(PIWIK_INCLUDE_PATH . '/themes/default/simple_structure_footer.tpl');
$headerPage = str_replace('{$HTML_TITLE}', 'Piwik › Error', $headerPage);
$content = '<p>'.$message.'</p>'. $optionalTrace .' '. $optionalLinks;
echo $headerPage . $content . $footerPage;
exit;
}
// added in PHP 4.3.0
if (!function_exists('file_get_contents'))
{
function file_get_contents($filename)
{
$fhandle = fopen($filename, "r");
$fcontents = fread($fhandle, filesize($filename));
fclose($fhandle);
return $fcontents;
}
}
if(isset($piwik_errorMessage))
{
Piwik_ExitWithMessage($piwik_errorMessage, false, true);
}
/**
* We now include the upgradephp package to define some functions used in Piwik
* that may not be defined in the current PHP version.
*
* @see libs/upgradephp/upgrade.php
* @link http://upgradephp.berlios.de/
*/
require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php';
|