Sebastian Mendel a écrit :
Marc Delisle schrieb:
Sebastian Mendel a écrit :
Marc Delisle schrieb:
Michal Čihař a écrit :
Hi all
I think this should go to -devel so I post it here :-).
On Wed, 02 Aug 2006 08:23:31 -0400 Marc Delisle Marc.Delisle@cegepsherbrooke.qc.ca wrote:
I discussed with Sebastian and I would like your opinion, since Sebastian and I disagree.
In the doc we say "Themes within same generation should be backwards compatible
- theme with version 2 should work in phpMyAdmin requiring version 1.
Themes with different generation are incompatible."
In Config.class.php, Sebastian marked deprecated PMA_THEME_VERSION and PMA_THEME_GENERATION.
In Theme.class.php, there is a checkVersion() function that
- uses version_compare(), which would not give the level of
verification we need, and 2. is never used :)
Sebastian says that a user should see all the installed themes and be able to choose them, even if they are not compatible; he says that a user should be able to notice by himself that a theme is outdated.
I think showing all themes is sensible way to go. Otherwise if user installs old theme, it is hard to find out what's going on. And I saw such problem several times.
However user might not be able to notice this himself, so I'd put warning on bottom of main.php if theme is outdated (saying that some parts might be displayed wrongly due to too old theme).
Yes, or add something like "outdated" in the dropdown next to an outdated theme?
The only problem is how to check whether theme is compatiblem. I thought generation/version will be best solution when I wrote that code, because I expected theme changes don't have to be with each version...
It's possible to split the new $theme_full_version in 2 parts and do a check similar to what was in 2.7.0.
i would prefer using version_compare() and a single version number (2.3) and not splitted up in two variables
but of course we could make the theme version independent of phpMyAdmin version
I'm not saying that we have to use 2 variables in info.inc.php, just internally.
With version_compare(), how do you implement this:
if ($theme_generation != PMA_THEME_GENERATION) continue; // different generation
if ($theme_version < PMA_THEME_VERSION) continue; // too old version
this is not required
if (! version_compare($pma_theme_version, $theme_version)) { $display_outdated_theme_warning = true; }
I think we have a misunderstanding about the meaning of the generation and version numbers.
Take the aqua theme. We have the aqua-2.1.zip file in which the generation is 2 and the version is 1. So generation is the major number and version is the minor one.
The goal (at least in PMA 2.7.0) is that the generation (major number) must be identical for the theme to work at all.
Theme 2.1 and PMA requires 3.5 -> theme rejected Theme 4.0 and PMA requires 3.5 -> theme rejected
For the minor number (version), it was rejected only if lower.
Theme 2.8 and PMA requires 2.8 -> theme accepted Theme 2.8 and PMA requires 2.6 -> theme accepted Theme 2.4 and PMA requires 2.6 -> theme rejected
The goal of accepting a minor theme version greater than what PMA expects was to use a recent custom theme (say 2.6) with an older PMA version (but the major number must always be identical). Probably the newer theme has more CSS into it and the older PMA version does not use it so everything is ok.
So we no longer permit that? When exactly should we increase the minor version number now?
Also, please try if (!version_compare('2.6','2.6')) echo "not";
I get "not".
Marc