100 lines
3.6 KiB
PHP
100 lines
3.6 KiB
PHP
<?php
|
|
/* $Id$ */
|
|
|
|
/**
|
|
* DEFINES VARIABLES & CONSTANTS
|
|
* Overview:
|
|
* PMA_MYSQL_INT_VERSION (int) - eg: 32339 instead of 3.23.39
|
|
* PMA_USR_OS (string) - the plateform (os) of the user
|
|
* PMA_USR_BROWSER_AGENT (string) - the browser of the user
|
|
* PMA_USR_BROWSER_VER (double) - the version of this browser
|
|
*/
|
|
|
|
// MySQL Version
|
|
if (!defined('PMA_MYSQL_INT_VERSION') && isset($userlink)) {
|
|
if (!empty($server)) {
|
|
$result = PMA_mysql_query('SELECT VERSION() AS version');
|
|
if ($result != FALSE && @mysql_num_rows($result) > 0) {
|
|
$row = PMA_mysql_fetch_array($result);
|
|
$match = explode('.', $row['version']);
|
|
} else {
|
|
$result = @PMA_mysql_query('SHOW VARIABLES LIKE \'version\'');
|
|
if ($result != FALSE && @mysql_num_rows($result) > 0){
|
|
$row = PMA_mysql_fetch_row($result);
|
|
$match = explode('.', $row[1]);
|
|
}
|
|
}
|
|
} // end server id is defined case
|
|
|
|
if (!isset($match) || !isset($match[0])) {
|
|
$match[0] = 3;
|
|
}
|
|
if (!isset($match[1])) {
|
|
$match[1] = 21;
|
|
}
|
|
if (!isset($match[2])) {
|
|
$match[2] = 0;
|
|
}
|
|
|
|
if(!isset($row)) {
|
|
$row = '3.21.0';
|
|
}
|
|
|
|
define('PMA_MYSQL_INT_VERSION', (int)sprintf('%d%02d%02d', $match[0], $match[1], intval($match[2])));
|
|
define('PMA_MYSQL_STR_VERSION', $row['version']);
|
|
unset($match);
|
|
}
|
|
|
|
|
|
// Determines platform (OS), browser and version of the user
|
|
// Based on a phpBuilder article:
|
|
// see http://www.phpbuilder.net/columns/tim20000821.php3
|
|
if (!defined('PMA_USR_OS')) {
|
|
// loic1 - 2001/25/11: use the new globals arrays defined with
|
|
// php 4.1+
|
|
if (!empty($_SERVER['HTTP_USER_AGENT'])) {
|
|
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
|
|
} else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) {
|
|
$HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
|
|
} else if (!isset($HTTP_USER_AGENT)) {
|
|
$HTTP_USER_AGENT = '';
|
|
}
|
|
|
|
// 1. Platform
|
|
if (strstr($HTTP_USER_AGENT, 'Win')) {
|
|
define('PMA_USR_OS', 'Win');
|
|
} else if (strstr($HTTP_USER_AGENT, 'Mac')) {
|
|
define('PMA_USR_OS', 'Mac');
|
|
} else if (strstr($HTTP_USER_AGENT, 'Linux')) {
|
|
define('PMA_USR_OS', 'Linux');
|
|
} else if (strstr($HTTP_USER_AGENT, 'Unix')) {
|
|
define('PMA_USR_OS', 'Unix');
|
|
} else if (strstr($HTTP_USER_AGENT, 'OS/2')) {
|
|
define('PMA_USR_OS', 'OS/2');
|
|
} else {
|
|
define('PMA_USR_OS', 'Other');
|
|
}
|
|
|
|
// 2. browser and version
|
|
if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
|
|
define('PMA_USR_BROWSER_VER', $log_version[2]);
|
|
define('PMA_USR_BROWSER_AGENT', 'OPERA');
|
|
} else if (ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
|
|
define('PMA_USR_BROWSER_VER', $log_version[1]);
|
|
define('PMA_USR_BROWSER_AGENT', 'IE');
|
|
} else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
|
|
define('PMA_USR_BROWSER_VER', $log_version[1]);
|
|
define('PMA_USR_BROWSER_AGENT', 'OMNIWEB');
|
|
} else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
|
|
define('PMA_USR_BROWSER_VER', $log_version[1]);
|
|
define('PMA_USR_BROWSER_AGENT', 'MOZILLA');
|
|
} else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
|
|
define('PMA_USR_BROWSER_VER', $log_version[1]);
|
|
define('PMA_USR_BROWSER_AGENT', 'KONQUEROR');
|
|
} else {
|
|
define('PMA_USR_BROWSER_VER', 0);
|
|
define('PMA_USR_BROWSER_AGENT', 'OTHER');
|
|
}
|
|
} // $__PMA_DEFINES_LIB__
|
|
?>
|