I saved a copy of zenPhoto before the upgrade so I did a little investigation to see what happened. I found that in the 1.2.x version of i.php at line 63 the code looked like:
`
$args = array(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (isset($_GET['s'])) { //0
$args[0] = $_GET['s'];
}
`
the 1.3 version has changed to:
`
$args = array(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (isset($_GET['s'])) { //0
$args[0] = min(abs($_GET['s']), MAX_SIZE);
}
`
with the min function $args[0] would never contain 'default' which is used in the function getImageParameters
`
@list($size, $width, $height, $cw, $ch, $cx, $cy, $quality, $thumb, $crop, $thumbstandin, $WM, $adminrequest, $gray) = $args;
$thumb = $thumbstandin;
debugLog("functions-basic.php: \$size1=$size");
if ($size == 'thumb') {
$thumb = true;
if ($thumb_crop) {
$cw = $thumb_crop_width;
$ch = $thumb_crop_height;
}
$size = round($thumb_size);
} else {
if ($size == 'default') {
$size = $image_default_size;
debugLog("functions-basic.php: \$size=$size");
} else if (empty($size) || !is_numeric($size)) {
$size = false; // 0 isn't a valid size anyway, so this is OK.
} else {
$size = round($size);
}
}
`
I did a quick mode to i.php to check for 's' being numeric before calling min
`
$args = array(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (isset($_GET['s'])) { //0
if (is_numeric(abs($_GET['s']))) {
$args[0] = min(abs($_GET['s']), MAX_SIZE);
}
else {
$args[0] = $_GET['s'];
}
`
and zenphoto was back to working as before.
So, the question I have now is are the values of 'default' and 'thumb' going to be supported in the future for the parameters 's'? Or would I be better just setting 's' to a numeric value (I'll only need to change about 200 references LOL).
Is using i.php the the correct way to access photos in zenphoto from an external site assuming I don't want to access the original photo directly?