Ok, I hope nobody else will see it now, I'm still in a testing stage.
http://www.antonioranesi.it/temp/
The only real album is Test, Portfolio is a dynamic album
Still problems with PrintAlbumZip.
If I use that function for an album with subalbums I get a lot of warnings and no output.
If the album is in the roor folder (albums) then the zip file is created but displayed as plain text in browser, after this warnings:
`
Notice: Undefined variable:
zip in /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 31
Notice: Undefined variable:
zip in /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 31
Warning: Cannot modify header information - headers already sent by
(output started at /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php:31) in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 80
Warning: Cannot modify header information - headers already sent by
(output started at /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php:31) in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 81
Warning: Cannot modify header information - headers already sent by
(output started at /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php:31)
in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 82
`
If the album is inside another album then the zip file is not created at all and I get this warnings:
`
Warning: chdir() [function.chdir]: No such file or directory (errno 2)
in /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 25
Warning: opendir(/home/web/www.antonioranesi.it/www/temp/albums/Diocesi_Civitavecchia/S.Agostino_Civitavecchia/Diocesi_Civitavecchia3133OT03/)
[function.opendir]: failed to open dir: No such file or directory in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 26
Warning: chdir() [function.chdir]: No such file or directory (errno 2)
in /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 25
Warning: opendir(/home/web/www.antonioranesi.it/www/temp/albums/Diocesi_Civitavecchia/S.Agostino_Civitavecchia/Diocesi_Civitavecchia3133OT01/)
[function.opendir]: failed to open dir: No such file or directory in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 26
Warning: Cannot modify header information - headers already sent by
(output started at /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php:25) in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 80
Warning: Cannot modify header information - headers already sent by
(output started at /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php:25) in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 81
Warning: Cannot modify header information - headers already sent by
(output started at /home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php:25) in
/home/web/www.antonioranesi.it/www/temp/zp-core/album-zip.php on line 82
PK
`
Actually in the second case the directories are wrong. They sould be like:
Diocesi_Civitavecchia/S.Agostino_Civitavecchia/3133OT01/
not
Diocesi_Civitavecchia/S.Agostino_Civitavecchia/Diocesi_Civitavecchia3133OT01/
edit:
If I add $zip to global in
function zipAddSubalbum($base, $offset, $subalbum)
The first case works as expected!!
I found a solution, please help me to understand if this can lead to other problems.
In function zipAddSubalbum($base, $offset, $subalbum) I replaced line 22:
$new_offset = $offset.$subalbum.'/';
with
if ($offset != "" AND strpos($base, $offset)) { $new_offset = $subalbum.'/'; } else { $new_offset = $offset.$subalbum.'/'; }
This seems to work, but I tested it only for my own case, as described above...
I get a not needed offset before the subalbum name, when the album from wich I call the printalbumzip function is not in the root folder and is not the last folder in the albums tree.
So that:
Diocesi_Civitavecchia/S.Agostino_Civitavecchia/3133OT01/
becames
Diocesi_Civitavecchia/S.Agostino_Civitavecchia/Diocesi_Civitavecchia3133OT01/
printing zip from S.Agostino_Civitavecchia
With my code the problem is fixed but I suppose that the real error is somewhere before...