00001 <?php
00002
00003
00004
00021
00022 if (!defined('PMA_VERSION')) {
00023 define('PMA_VERSION', '2.6.4-pl3');
00024 }
00025
00026 if (!defined('PMA_THEME_VERSION')) {
00027 define('PMA_THEME_VERSION', 1);
00028 }
00029
00030 if (!defined('PMA_THEME_GENERATION')) {
00031 define('PMA_THEME_GENERATION', 2);
00032 }
00033
00034
00035 if (!defined('PMA_PHP_INT_VERSION')) {
00036 if (!preg_match('@([0-9]{1,2}).([0-9]{1,2}).([0-9]{1,2})@', phpversion(), $match)) {
00037 $result = preg_match('@([0-9]{1,2}).([0-9]{1,2})@', phpversion(), $match);
00038 }
00039 if (isset($match) && !empty($match[1])) {
00040 if (!isset($match[2])) {
00041 $match[2] = 0;
00042 }
00043 if (!isset($match[3])) {
00044 $match[3] = 0;
00045 }
00046 define('PMA_PHP_INT_VERSION', (int)sprintf('%d%02d%02d', $match[1], $match[2], $match[3]));
00047 unset($match);
00048 } else {
00049 define('PMA_PHP_INT_VERSION', 0);
00050 }
00051 define('PMA_PHP_STR_VERSION', phpversion());
00052 }
00053
00054
00055 if (!defined('PMA_IS_WINDOWS')) {
00056 if (defined('PHP_OS') && stristr(PHP_OS, 'win')) {
00057 define('PMA_IS_WINDOWS', 1);
00058 } else {
00059 define('PMA_IS_WINDOWS', 0);
00060 }
00061 }
00062
00063
00064 if (!defined('PMA_IS_IIS')) {
00065 if (isset($_SERVER['SERVER_SOFTWARE'])
00066 && stristr($_SERVER['SERVER_SOFTWARE'], 'Microsoft/IIS')) {
00067 define('PMA_IS_IIS', 1);
00068 } else {
00069 define('PMA_IS_IIS', 0);
00070 }
00071 }
00072
00073 function PMA_dl($module) {
00074 if (!isset($GLOBALS['PMA_dl_allowed'])) {
00075 if (!@ini_get('safe_mode') && @ini_get('enable_dl') && @function_exists('dl')) {
00076 ob_start();
00077 phpinfo(INFO_GENERAL);
00078 $a = strip_tags(ob_get_contents());
00079 ob_end_clean();
00080
00081 if (preg_match('@Thread Safety[[:space:]]*enabled@', $a)) {
00082 if (preg_match('@Server API[[:space:]]*\(CGI\|CLI\)@', $a)) {
00083 $GLOBALS['PMA_dl_allowed'] = TRUE;
00084 } else {
00085 $GLOBALS['PMA_dl_allowed'] = FALSE;
00086 }
00087 } else {
00088 $GLOBALS['PMA_dl_allowed'] = TRUE;
00089 }
00090 } else {
00091 $GLOBALS['PMA_dl_allowed'] = FALSE;
00092 }
00093 }
00094 if (PMA_IS_WINDOWS) {
00095 $suffix = '.dll';
00096 } else {
00097 $suffix = '.so';
00098 }
00099 if ($GLOBALS['PMA_dl_allowed']) {
00100 return @dl($module . $suffix);
00101 } else {
00102 return FALSE;
00103 }
00104 }
00105
00106
00107 if (!defined('PMA_IS_GD2')) {
00108 if ($cfg['GD2Available'] == 'yes') {
00109 define('PMA_IS_GD2', 1);
00110 } elseif ($cfg['GD2Available'] == 'no') {
00111 define('PMA_IS_GD2', 0);
00112 } else {
00113 if (!@extension_loaded('gd')) {
00114 PMA_dl('gd');
00115 }
00116 if (!@function_exists('imagecreatetruecolor')) {
00117 define('PMA_IS_GD2', 0);
00118 } else {
00119 if (@function_exists('gd_info')) {
00120 $gd_nfo = gd_info();
00121 if (strstr($gd_nfo["GD Version"], '2.')) {
00122 define('PMA_IS_GD2', 1);
00123 } else {
00124 define('PMA_IS_GD2', 0);
00125 }
00126 } else {
00127
00128 ob_start();
00129 phpinfo(INFO_MODULES);
00130 $a = strip_tags(ob_get_contents());
00131 ob_end_clean();
00132
00133 if (preg_match('@GD Version[[:space:]]*\(.*\)@', $a, $v)) {
00134 if (strstr($v, '2.')) {
00135 define('PMA_IS_GD2', 1);
00136 } else {
00137 define('PMA_IS_GD2', 0);
00138 }
00139 } else {
00140 define('PMA_IS_GD2', 0);
00141 }
00142 }
00143 }
00144 }
00145 }
00146
00147
00148
00149
00150 if (!defined('PMA_USR_OS')) {
00151 if (!empty($_SERVER['HTTP_USER_AGENT'])) {
00152 $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
00153 } else if (!isset($HTTP_USER_AGENT)) {
00154 $HTTP_USER_AGENT = '';
00155 }
00156
00157
00158 if (strstr($HTTP_USER_AGENT, 'Win')) {
00159 define('PMA_USR_OS', 'Win');
00160 } else if (strstr($HTTP_USER_AGENT, 'Mac')) {
00161 define('PMA_USR_OS', 'Mac');
00162 } else if (strstr($HTTP_USER_AGENT, 'Linux')) {
00163 define('PMA_USR_OS', 'Linux');
00164 } else if (strstr($HTTP_USER_AGENT, 'Unix')) {
00165 define('PMA_USR_OS', 'Unix');
00166 } else if (strstr($HTTP_USER_AGENT, 'OS/2')) {
00167 define('PMA_USR_OS', 'OS/2');
00168 } else {
00169 define('PMA_USR_OS', 'Other');
00170 }
00171
00172
00173
00174
00175 if (preg_match('@Opera(/| )([0-9].[0-9]{1,2})@', $HTTP_USER_AGENT, $log_version)) {
00176 define('PMA_USR_BROWSER_VER', $log_version[2]);
00177 define('PMA_USR_BROWSER_AGENT', 'OPERA');
00178 } else if (preg_match('@MSIE ([0-9].[0-9]{1,2})@', $HTTP_USER_AGENT, $log_version)) {
00179 define('PMA_USR_BROWSER_VER', $log_version[1]);
00180 define('PMA_USR_BROWSER_AGENT', 'IE');
00181 } else if (preg_match('@OmniWeb/([0-9].[0-9]{1,2})@', $HTTP_USER_AGENT, $log_version)) {
00182 define('PMA_USR_BROWSER_VER', $log_version[1]);
00183 define('PMA_USR_BROWSER_AGENT', 'OMNIWEB');
00184
00185
00186
00187 } else if (preg_match('@(Konqueror/)(.*)(;)@', $HTTP_USER_AGENT, $log_version)) {
00188 define('PMA_USR_BROWSER_VER', $log_version[2]);
00189 define('PMA_USR_BROWSER_AGENT', 'KONQUEROR');
00190 } else if (preg_match('@Mozilla/([0-9].[0-9]{1,2})@', $HTTP_USER_AGENT, $log_version)
00191 && preg_match('@Safari/([0-9]*)@', $HTTP_USER_AGENT, $log_version2)) {
00192 define('PMA_USR_BROWSER_VER', $log_version[1] . '.' . $log_version2[1]);
00193 define('PMA_USR_BROWSER_AGENT', 'SAFARI');
00194 } else if (preg_match('@Mozilla/([0-9].[0-9]{1,2})@', $HTTP_USER_AGENT, $log_version)) {
00195 define('PMA_USR_BROWSER_VER', $log_version[1]);
00196 define('PMA_USR_BROWSER_AGENT', 'MOZILLA');
00197 } else {
00198 define('PMA_USR_BROWSER_VER', 0);
00199 define('PMA_USR_BROWSER_AGENT', 'OTHER');
00200 }
00201 }
00202
00203 ?>