P.S. These themes will not display the Theme and Lang picker drop-downs - this a part of deliberate design - if anyone wants to hack and add them - they are welcome to
Tarique, the language and theme selectors can/should be switched on/off in coppermine config. For the sake of standards compliance and less questions asked on the support board I suggest putting them in - won't hurt you, as you have the selectors disabled in your config afaik.
I have added them on my shop demo, but they cause the themes to lose their css and xhtml compliance, which is why I did not add them to the downloads.
erm, the selectors cause 2 of the 110 errors reported by the validator. That's rather nothing imo. Anyway, I have updated the devel branch to get rid of some of the most trivial errors from the validator. I won't look into the stable branch to do a similar thing - it's just to much work, not worth the effort (hopefully cpg1.3.2 has been the last release based on the current stable branch code). Could you check out and test with your cpg1.4 install - should be significantly less.
If we want real standards compliance, we will have to get rid of the ampersand in the urls. As most servers don't come with support for ";" instead of "&" as delimiter in urls, we'll have to code a routine similar to the one I just paste for reference from an older yabbse version:
<?php
if (strlen($QUERY_STRING) > 0)
{
$str = (substr($QUERY_STRING, 0, 5) == 'url=/' ? $HTTP_SERVER_VARS["REDIRECT_QUERY_STRING"] : $QUERY_STRING);
$query_strings = split('[;&]', URLdecode($str));
foreach ($query_strings as $tmp)
if (preg_match("/^([^=]+)[=](.*)/", $tmp, $parts))
$GLOBALS[$parts[1]] = htmlspecialchars($parts[2]);
}
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip_expl = explode('.', $_SERVER['HTTP_CLIENT_IP']);
$referer = explode('.', $REMOTE_ADDR);
if($referer[0] != $ip_expl[0])
{
$ip = array_reverse($ip_expl);
$REMOTE_ADDR = implode('.', $ip);
}
else
$REMOTE_ADDR = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
if(strstr($_SERVER['HTTP_X_FORWARDED_FOR'], ','))
{
$ip_expl = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$REMOTE_ADDR = end($ip_expl);
}
else
$REMOTE_ADDR = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
?>
Joachim