Better theme version check (bug #1023029).
This commit is contained in:
@@ -5,6 +5,11 @@ phpMyAdmin - Changelog
|
|||||||
$Id$
|
$Id$
|
||||||
$Source$
|
$Source$
|
||||||
|
|
||||||
|
2004-09-14 Michal Čihař <michal@cihar.com>
|
||||||
|
* themes.php, libraries/common.lib.php, libraries/defines.lib.php,
|
||||||
|
libraries/select_theme.lib.php, themes/darkblue_orange/info.inc.php,
|
||||||
|
themes/original/info.inc.php: Better theme version check (bug #1023029).
|
||||||
|
|
||||||
2004-09-13 Garvin Hicking <me@supergarv.de>
|
2004-09-13 Garvin Hicking <me@supergarv.de>
|
||||||
* browse_foreigners.php: bug #1027204 - paging did not
|
* browse_foreigners.php: bug #1027204 - paging did not
|
||||||
work in foreigner browsing window.
|
work in foreigner browsing window.
|
||||||
@@ -28,7 +33,7 @@ $Source$
|
|||||||
on Insert tab from the Insert textfile sub-page
|
on Insert tab from the Insert textfile sub-page
|
||||||
|
|
||||||
2004-09-07 Marc Delisle <lem9@users.sourceforge.net>
|
2004-09-07 Marc Delisle <lem9@users.sourceforge.net>
|
||||||
* main.php: bug #992211, wrong parameters to
|
* main.php: bug #992211, wrong parameters to
|
||||||
PMA_generate_common_hidden_inputs(), thanks to Ryan Schmidt
|
PMA_generate_common_hidden_inputs(), thanks to Ryan Schmidt
|
||||||
|
|
||||||
2004-09-07 Michal Čihař <michal@cihar.com>
|
2004-09-07 Michal Čihař <michal@cihar.com>
|
||||||
|
@@ -264,7 +264,7 @@ if ($is_minimum_common == FALSE) {
|
|||||||
* @param string The path to check
|
* @param string The path to check
|
||||||
*
|
*
|
||||||
* @return string The secured path
|
* @return string The secured path
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @author Marc Delisle (lem9@users.sourceforge.net)
|
* @author Marc Delisle (lem9@users.sourceforge.net)
|
||||||
*/
|
*/
|
||||||
@@ -273,7 +273,7 @@ function PMA_securePath($path) {
|
|||||||
// change .. to .
|
// change .. to .
|
||||||
$path = preg_replace('@\.\.*@','.',$path);
|
$path = preg_replace('@\.\.*@','.',$path);
|
||||||
|
|
||||||
return $path;
|
return $path;
|
||||||
} // end function
|
} // end function
|
||||||
|
|
||||||
// If zlib output compression is set in the php configuration file, no
|
// If zlib output compression is set in the php configuration file, no
|
||||||
@@ -311,13 +311,13 @@ if (!isset($_COOKIE['pma_theme']) || empty($_COOKIE['pma_theme'])){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($ThemeDefaultOk == TRUE){
|
if ($ThemeDefaultOk == TRUE){
|
||||||
$GLOBALS['theme'] = $cfg['ThemeDefault'];
|
$GLOBALS['theme'] = $cfg['ThemeDefault'];
|
||||||
} else {
|
} else {
|
||||||
$GLOBALS['theme'] = 'original';
|
$GLOBALS['theme'] = 'original';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// if we just changed theme, we must take the new one so that
|
// if we just changed theme, we must take the new one so that
|
||||||
// index.php takes the correct one for height computing
|
// index.php takes the correct one for height computing
|
||||||
if (isset($_POST['set_theme'])) {
|
if (isset($_POST['set_theme'])) {
|
||||||
$GLOBALS['theme'] = PMA_securePath($_POST['set_theme']);
|
$GLOBALS['theme'] = PMA_securePath($_POST['set_theme']);
|
||||||
@@ -327,13 +327,16 @@ if (!isset($_COOKIE['pma_theme']) || empty($_COOKIE['pma_theme'])){
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check for theme requires/name
|
// check for theme requires/name
|
||||||
unset($theme_name, $theme_version);
|
unset($theme_name, $theme_generation, $theme_version);
|
||||||
@include($cfg['ThemePath'] . '/' . $GLOBALS['theme'] . '/info.inc.php');
|
@include($cfg['ThemePath'] . '/' . $GLOBALS['theme'] . '/info.inc.php');
|
||||||
|
|
||||||
// did it set correctly?
|
// did it set correctly?
|
||||||
if (!isset($theme_name, $theme_version))
|
if (!isset($theme_name, $theme_generation, $theme_version))
|
||||||
$GLOBALS['theme'] = 'original'; // invalid theme
|
$GLOBALS['theme'] = 'original'; // invalid theme
|
||||||
|
|
||||||
|
if ($theme_generation != PMA_THEME_GENERATION)
|
||||||
|
$GLOBALS['theme'] = 'original'; // different generation
|
||||||
|
|
||||||
if ($theme_version < PMA_THEME_VERSION)
|
if ($theme_version < PMA_THEME_VERSION)
|
||||||
$GLOBALS['theme'] = 'original'; // too old version
|
$GLOBALS['theme'] = 'original'; // too old version
|
||||||
|
|
||||||
@@ -612,7 +615,7 @@ if ($is_minimum_common == FALSE) {
|
|||||||
$doedit_goto = '<a href="db_details.php?' . PMA_generate_common_url($db) . '&sql_query=' . urlencode($the_query) . '&show_query=1">';
|
$doedit_goto = '<a href="db_details.php?' . PMA_generate_common_url($db) . '&sql_query=' . urlencode($the_query) . '&show_query=1">';
|
||||||
}
|
}
|
||||||
if ($GLOBALS['cfg']['PropertiesIconic']) {
|
if ($GLOBALS['cfg']['PropertiesIconic']) {
|
||||||
echo $doedit_goto
|
echo $doedit_goto
|
||||||
. '<img src=" '. $GLOBALS['pmaThemeImage'] . 'b_edit.png" width="16" height="16" border="0" hspace="2" align="middle" alt="' . $GLOBALS['strEdit'] .'" />'
|
. '<img src=" '. $GLOBALS['pmaThemeImage'] . 'b_edit.png" width="16" height="16" border="0" hspace="2" align="middle" alt="' . $GLOBALS['strEdit'] .'" />'
|
||||||
. '</a>';
|
. '</a>';
|
||||||
} else {
|
} else {
|
||||||
@@ -691,7 +694,7 @@ if ($is_minimum_common == FALSE) {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a string formatted with CONVERT ... USING
|
* Returns a string formatted with CONVERT ... USING
|
||||||
* if MySQL supports it
|
* if MySQL supports it
|
||||||
*
|
*
|
||||||
* @param string the string itself
|
* @param string the string itself
|
||||||
@@ -1908,7 +1911,7 @@ if (typeof(document.getElementById) != 'undefined'
|
|||||||
) && ($text != $GLOBALS['strEmpty'] && $text != $GLOBALS['strDrop'])) {
|
) && ($text != $GLOBALS['strEmpty'] && $text != $GLOBALS['strDrop'])) {
|
||||||
$addclass = 'Active';
|
$addclass = 'Active';
|
||||||
}
|
}
|
||||||
if ($text == $GLOBALS['strEmpty'] && $text == $GLOBALS['strDrop']) $addclass = 'Drop';
|
if ($text == $GLOBALS['strEmpty'] && $text == $GLOBALS['strDrop']) $addclass = 'Drop';
|
||||||
if (empty($class)){
|
if (empty($class)){
|
||||||
if (empty($addclass)) { $addclass = 'Normal'; }
|
if (empty($addclass)) { $addclass = 'Normal'; }
|
||||||
} else { $addclass = $class; }
|
} else { $addclass = $class; }
|
||||||
|
@@ -7,10 +7,11 @@
|
|||||||
* Overview:
|
* Overview:
|
||||||
* PMA_VERSION (string) - phpMyAdmin version string
|
* PMA_VERSION (string) - phpMyAdmin version string
|
||||||
* PMA_THEME_VERSION (int) - phpMyAdmin theme version integer
|
* PMA_THEME_VERSION (int) - phpMyAdmin theme version integer
|
||||||
|
* PMA_THEME_GENERATION (int) - phpMyAdmin theme generation integer
|
||||||
* PMA_PHP_INT_VERSION (int) - eg: 30017 instead of 3.0.17 or
|
* PMA_PHP_INT_VERSION (int) - eg: 30017 instead of 3.0.17 or
|
||||||
* 40006 instead of 4.0.6RC3
|
* 40006 instead of 4.0.6RC3
|
||||||
* PMA_IS_WINDOWS (bool) - mark if phpMyAdmin running on windows
|
* PMA_IS_WINDOWS (bool) - mark if phpMyAdmin running on windows
|
||||||
* PMA_IS_IIS (bool) - true is phpMyAdmin is running
|
* PMA_IS_IIS (bool) - true is phpMyAdmin is running
|
||||||
* on Microsoft IIS server
|
* on Microsoft IIS server
|
||||||
* PMA_IS_GD2 (bool) - true if GD2 is present
|
* PMA_IS_GD2 (bool) - true if GD2 is present
|
||||||
* PMA_USR_OS (string) - the plateform (os) of the user
|
* PMA_USR_OS (string) - the plateform (os) of the user
|
||||||
@@ -26,6 +27,10 @@ if (!defined('PMA_THEME_VERSION')) {
|
|||||||
define('PMA_THEME_VERSION', 1);
|
define('PMA_THEME_VERSION', 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!defined('PMA_THEME_GENERATION')) {
|
||||||
|
define('PMA_THEME_GENERATION', 1);
|
||||||
|
}
|
||||||
|
|
||||||
// php version
|
// php version
|
||||||
if (!defined('PMA_PHP_INT_VERSION')) {
|
if (!defined('PMA_PHP_INT_VERSION')) {
|
||||||
if (!preg_match('@([0-9]{1,2}).([0-9]{1,2}).([0-9]{1,2})@', phpversion(), $match)) {
|
if (!preg_match('@([0-9]{1,2}).([0-9]{1,2}).([0-9]{1,2})@', phpversion(), $match)) {
|
||||||
@@ -55,9 +60,9 @@ if (!defined('PMA_IS_WINDOWS')) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Whether the Web server php is running on is IIS
|
// Whether the Web server php is running on is IIS
|
||||||
if (!defined('PMA_IS_IIS')) {
|
if (!defined('PMA_IS_IIS')) {
|
||||||
if (isset($_SERVER['SERVER_SOFTWARE'])
|
if (isset($_SERVER['SERVER_SOFTWARE'])
|
||||||
&& stristr($_SERVER['SERVER_SOFTWARE'], 'Microsoft/IIS')) {
|
&& stristr($_SERVER['SERVER_SOFTWARE'], 'Microsoft/IIS')) {
|
||||||
define('PMA_IS_IIS', 1);
|
define('PMA_IS_IIS', 1);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -27,7 +27,7 @@
|
|||||||
* PMA and they must have the same size in pixels.
|
* PMA and they must have the same size in pixels.
|
||||||
* You can only use own images, if you've edit own css files.
|
* You can only use own images, if you've edit own css files.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We need some elements of the superglobal $_SERVER array.
|
* We need some elements of the superglobal $_SERVER array.
|
||||||
*/
|
*/
|
||||||
@@ -55,23 +55,26 @@ if ($PMA_ThemeAvailable == TRUE) { // themeManager is available
|
|||||||
if ($PMA_Theme != "." && $PMA_Theme != ".." && $PMA_Theme != 'CVS') { // file check
|
if ($PMA_Theme != "." && $PMA_Theme != ".." && $PMA_Theme != 'CVS') { // file check
|
||||||
if (@is_dir($cfg['ThemePath'].'/'.$PMA_Theme)) { // check the theme
|
if (@is_dir($cfg['ThemePath'].'/'.$PMA_Theme)) { // check the theme
|
||||||
// check for theme requires/name
|
// check for theme requires/name
|
||||||
unset($theme_name, $theme_version);
|
unset($theme_name, $theme_generation, $theme_version);
|
||||||
@include($cfg['ThemePath'] . '/' . $PMA_Theme . '/info.inc.php');
|
@include($cfg['ThemePath'] . '/' . $PMA_Theme . '/info.inc.php');
|
||||||
|
|
||||||
// did it set correctly?
|
// did it set correctly?
|
||||||
if (!isset($theme_name, $theme_version))
|
if (!isset($theme_name, $theme_version, $theme_generation))
|
||||||
continue; // invalid theme
|
continue; // invalid theme
|
||||||
|
|
||||||
|
if ($theme_generation != PMA_THEME_GENERATION)
|
||||||
|
continue; // different generation
|
||||||
|
|
||||||
if ($theme_version < PMA_THEME_VERSION)
|
if ($theme_version < PMA_THEME_VERSION)
|
||||||
continue; // too old version
|
continue; // too old version
|
||||||
|
|
||||||
$available_themes_choices[]=$PMA_Theme;
|
$available_themes_choices[]=$PMA_Theme;
|
||||||
$available_themes_choices_names[$PMA_Theme] = $theme_name;
|
$available_themes_choices_names[$PMA_Theme] = $theme_name;
|
||||||
} // end check the theme
|
} // end check the theme
|
||||||
} // end file check
|
} // end file check
|
||||||
} // end get themes
|
} // end get themes
|
||||||
} // end check for themes directory
|
} // end check for themes directory
|
||||||
closedir($handleThemes);
|
closedir($handleThemes);
|
||||||
} // end themeManger
|
} // end themeManger
|
||||||
|
|
||||||
if (!isset($pma_uri_parts)) { // cookie-setup if needed
|
if (!isset($pma_uri_parts)) { // cookie-setup if needed
|
||||||
@@ -84,7 +87,7 @@ if (isset($set_theme)) { // if user submit a theme
|
|||||||
setcookie('pma_theme', $set_theme, time() + 60*60*24*30, $cookie_path, '', $is_https);
|
setcookie('pma_theme', $set_theme, time() + 60*60*24*30, $cookie_path, '', $is_https);
|
||||||
} else { // else check if user have a theme cookie
|
} else { // else check if user have a theme cookie
|
||||||
if (!isset($_COOKIE['pma_theme']) || empty($_COOKIE['pma_theme'])) {
|
if (!isset($_COOKIE['pma_theme']) || empty($_COOKIE['pma_theme'])) {
|
||||||
if ($PMA_ThemeDefault == TRUE) {
|
if ($PMA_ThemeDefault == TRUE) {
|
||||||
if (basename($PHP_SELF) == 'index.php') {
|
if (basename($PHP_SELF) == 'index.php') {
|
||||||
setcookie('pma_theme', $cfg['ThemeDefault'], time() + 60*60*24*30, $cookie_path, '', $is_https);
|
setcookie('pma_theme', $cfg['ThemeDefault'], time() + 60*60*24*30, $cookie_path, '', $is_https);
|
||||||
}
|
}
|
||||||
|
23
themes.php
23
themes.php
@@ -88,19 +88,22 @@ if ($handleThemes = opendir($path_to_themes)) { // open themes
|
|||||||
while (false !== ($PMA_Theme = readdir($handleThemes))) { // get screens
|
while (false !== ($PMA_Theme = readdir($handleThemes))) { // get screens
|
||||||
if ($PMA_Theme != "." && $PMA_Theme != "..") {
|
if ($PMA_Theme != "." && $PMA_Theme != "..") {
|
||||||
$screen_directory = $path_to_themes . $PMA_Theme;
|
$screen_directory = $path_to_themes . $PMA_Theme;
|
||||||
|
|
||||||
// check for theme requires/name
|
// check for theme requires/name
|
||||||
unset($theme_name, $theme_version);
|
unset($theme_name, $theme_generation, $theme_version);
|
||||||
@include($path_to_themes . $PMA_Theme . '/info.inc.php');
|
@include($path_to_themes . $PMA_Theme . '/info.inc.php');
|
||||||
|
|
||||||
// did it set correctly?
|
// did it set correctly?
|
||||||
if (!isset($theme_name, $theme_version))
|
if (!isset($theme_name, $theme_generation, $theme_version))
|
||||||
continue; // invalid theme
|
continue; // invalid theme
|
||||||
|
|
||||||
|
if ($theme_generation != PMA_THEME_GENERATION)
|
||||||
|
continue; // different generation
|
||||||
|
|
||||||
if ($theme_version < PMA_THEME_VERSION)
|
if ($theme_version < PMA_THEME_VERSION)
|
||||||
continue; // too old version
|
continue; // too old version
|
||||||
|
|
||||||
|
|
||||||
if (is_dir($screen_directory) && @file_exists($screen_directory.'/screen.png')) { // if screen exists then output
|
if (is_dir($screen_directory) && @file_exists($screen_directory.'/screen.png')) { // if screen exists then output
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -116,7 +119,7 @@ if ($handleThemes = opendir($path_to_themes)) { // open themes
|
|||||||
<!--
|
<!--
|
||||||
document.write('<a href="#top" onclick="takeThis(\'<?php echo $PMA_Theme; ?>\'); return false;">');
|
document.write('<a href="#top" onclick="takeThis(\'<?php echo $PMA_Theme; ?>\'); return false;">');
|
||||||
document.write('<img src="<?php echo $screen_directory; ?>/screen.png" border="1" ');
|
document.write('<img src="<?php echo $screen_directory; ?>/screen.png" border="1" ');
|
||||||
if (document.getElementById) {
|
if (document.getElementById) {
|
||||||
document.write('style="border: 1px solid #000000;" ');
|
document.write('style="border: 1px solid #000000;" ');
|
||||||
}
|
}
|
||||||
document.write('alt="<?php echo htmlspecialchars(addslashes($theme_name)); ?> - Theme" ');
|
document.write('alt="<?php echo htmlspecialchars(addslashes($theme_name)); ?> - Theme" ');
|
||||||
@@ -137,11 +140,11 @@ if ($handleThemes = opendir($path_to_themes)) { // open themes
|
|||||||
<tr>
|
<tr>
|
||||||
<td><img src="<?php echo $GLOBALS['pmaThemeImage'] . 'spacer.png'; ?>" width="1" height="1" border="0" alt="" /></td>
|
<td><img src="<?php echo $GLOBALS['pmaThemeImage'] . 'spacer.png'; ?>" width="1" height="1" border="0" alt="" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
} // end 'screen output'
|
} // end 'screen output'
|
||||||
} // end 'check theme'
|
} // end 'check theme'
|
||||||
} // end 'get screens'
|
} // end 'get screens'
|
||||||
closedir($handleThemes);
|
closedir($handleThemes);
|
||||||
} // end 'open themes'
|
} // end 'open themes'
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
|
@@ -3,4 +3,5 @@
|
|||||||
/* Theme information */
|
/* Theme information */
|
||||||
$theme_name = 'Darkblue/orange';
|
$theme_name = 'Darkblue/orange';
|
||||||
$theme_version = 1;
|
$theme_version = 1;
|
||||||
|
$theme_generation = 1;
|
||||||
?>
|
?>
|
||||||
|
@@ -3,4 +3,5 @@
|
|||||||
/* Theme information */
|
/* Theme information */
|
||||||
$theme_name = 'Original';
|
$theme_name = 'Original';
|
||||||
$theme_version = 1;
|
$theme_version = 1;
|
||||||
|
$theme_generation = 1;
|
||||||
?>
|
?>
|
||||||
|
Reference in New Issue
Block a user