# Bilder einer Kategorie erneuern oder einlesen
if
(
$menu
->get(1) ==
'reloadImages'
) {
$imagesPerRequest
= 5;
$refresh
= false;
function
importFolder(
$folder
,
$galleryCategory
,
$limit
= 0,
array
$ignoreImages
=
array
())
{
global
$allgAr
;
$imagesProcessed
=
array
();
$dirHandle
= opendir(
$folder
);
while
(
$fileName
= readdir(
$dirHandle
)) {
if
(
$fileName
==
'.'
OR
$fileName
==
'..'
) {
continue
;
}
$imagePath
=
$folder
. DIRECTORY_SEPARATOR .
$fileName
;
if
(in_array(
$imagePath
,
$ignoreImages
)) {
continue
;
}
$size
=
getimagesize
(
$imagePath
);
if
(
$size
[2] == 2 OR
$size
[2] == 3) {
$name
=
basename
(
$imagePath
);
$tmp
=
explode
(
'.'
,
$name
);
$tm1
=
count
(
$tmp
) - 1;
$endung
=
$tmp
[
$tm1
];
unset(
$tmp
[
$tm1
]);
$name
= implode(
''
,
$tmp
);
$id
= db_result(db_query(
"SHOW TABLE STATUS FROM `"
. DBDATE .
"` LIKE 'prefix_gallery_imgs'"
), 0,
'Auto_increment'
);
$bild_url
=
'include/images/gallery/img_'
.
$id
.
'.'
.
$endung
;
if
(@
copy
(
$imagePath
,
$bild_url
)) {
db_query(
"INSERT INTO prefix_gallery_imgs (cat,datei_name,endung,besch) VALUES ("
.
$galleryCategory
.
",'"
.
$name
.
"','"
.
$endung
.
"','')"
);
$bild_thumb
=
'include/images/gallery/img_thumb_'
.
$id
.
'.'
.
$endung
;
$bild_norm
=
'include/images/gallery/img_norm_'
.
$id
.
'.'
.
$endung
;
create_thumb(
$bild_url
,
$bild_thumb
,
$allgAr
[
'gallery_preview_width'
]);
create_thumb(
$bild_url
,
$bild_norm
,
$allgAr
[
'gallery_normal_width'
]);
}
$imagesProcessed
[] =
$imagePath
;
}
if
(!
empty
(
$limit
) &&
count
(
$imagesProcessed
) >=
$limit
) {
$limitReached
= true;
break
;
}
}
closedir
(
$dirHandle
);
return
array
(
'galleryCategory'
=>
$galleryCategory
,
'imagesProcessed'
=>
$imagesProcessed
,
'limitReached'
=> isset(
$limitReached
)
);
}
$msg
=
''
;
if
(isset(
$_SESSION
[
'admin_gallery'
])) {
if
(isset(
$_SESSION
[
'admin_gallery'
][
'folder_import'
])) {
extract(
$_SESSION
[
'admin_gallery'
][
'folder_import'
]);
$msg
.=
'Weitere Bilder aus Ordner '
.
$directory
.
' eingefügt<br />'
;
$result
= importFolder(
$directory
,
$galleryCategory
,
$imagesPerRequest
,
$imagesProcessed
);
$imagesProcessed
=
array_merge
(
$imagesProcessed
,
$result
[
'imagesProcessed'
]);
$msg
.=
'Es wurden bisher '
.
count
(
$imagesProcessed
) .
' Bilder importiert.<br>'
;
if
(
$result
[
'limitReached'
]) {
$_SESSION
[
'admin_gallery'
][
'folder_import'
] = compact(
'directory'
,
'galleryCategory'
,
'imagesProcessed'
);
$msg
.=
'Weitere Bilder werden importiert ...<br>'
;
$refresh
= true;
}
else
{
$msg
.=
'Alle Bilder aus '
.
$directory
.
' wurden importiert. <br>'
;
unset(
$_SESSION
[
'admin_gallery'
][
'folder_import'
]);
}
}
}
else
{
$galleryCategory
=
$menu
->get(2);
if
(isset(
$_POST
[
'do_aktion'
]) AND
$_POST
[
'do_aktion'
] ==
'yes'
) {
# wenn keine aktion gewaehlt wurde
if
(
empty
(
$_POST
[
'aktion'
])) {
$msg
=
'Bitte eine Aktion auswählen<br />'
;
# aktion alle bilder eines ordners einlesen
}
elseif
(
$_POST
[
'aktion'
] ==
'ins'
) {
$directory
=
$_POST
[
'dir'
];
if
(!
empty
(
$directory
) &&
is_dir
(
$directory
)) {
$msg
.=
'Bilder aus Ordner '
.
$directory
.
' eingefügt<br />'
;
$result
= importFolder(
$directory
,
$galleryCategory
,
$imagesPerRequest
);
extract(
$result
);
if
(
$limitReached
) {
$_SESSION
[
'admin_gallery'
][
'folder_import'
] = compact(
'directory'
,
'galleryCategory'
,
'imagesProcessed'
);
$msg
.=
'Es wurden bisher '
.
count
(
$result
[
'imagesProcessed'
]) .
' Bilder importiert.'
;
$msg
.=
'Weitere Bilder werden importiert ...<br>'
;
$refresh
= true;
}
}
else
{
$msg
=
'Konnte den Ordner '
.
$directory
.
' nicht finden<br />'
;
}
# aktion alle bilder erneuern mit oder ohne ueberschreiben
}
elseif
(
$_POST
[
'aktion'
] ==
'alle'
OR
$_POST
[
'aktion'
] ==
'alle_no'
) {
$erg
= db_query(
"SELECT id,endung FROM prefix_gallery_imgs WHERE cat = "
.
$menu
->get(2));
while
(
$r
= db_fetch_assoc(
$erg
)) {
$endung
=
$r
[
'endung'
];
$id
=
$r
[
'id'
];
$bild_url
=
'include/images/gallery/img_'
.
$id
.
'.'
.
$endung
;
if
(
file_exists
(
$bild_url
)) {
$bild_thumb
=
'include/images/gallery/img_thumb_'
.
$id
.
'.'
.
$endung
;
$bild_norm
=
'include/images/gallery/img_norm_'
.
$id
.
'.'
.
$endung
;
if
(
$_POST
[
'aktion'
] ==
'alle'
OR !
file_exists
(
$bild_thumb
)) {
create_thumb(
$bild_url
,
$bild_thumb
,
$allgAr
[
'gallery_preview_width'
]);
}
if
(
$_POST
[
'aktion'
] ==
'alle'
OR !
file_exists
(
$bild_norm
)) {
create_thumb(
$bild_url
,
$bild_norm
,
$allgAr
[
'gallery_normal_width'
]);
}
}
}
if
(
$_POST
[
'aktion'
] ==
'alle'
) {
$msg
=
'Alle Bilder erneuert'
;
}
else
{
$msg
=
'Alle Bilder erneuert, nicht überschrieben'
;
}
}
}
}
if
(
$refresh
) {
$tpl
=
new
tpl(
'gallery/refresh'
, 1);
echo
'<html><head><link rel="stylesheet" type="text/css" href="include/admin/templates/style.css"></head><body>'
;
wd(
'admin.php?gallery-reloadImages'
,
$msg
, 10);
echo
'</body></html>'
;
exit
;
}
# anzeigen
$tpl
=
new
tpl (
'gallery/images_reload'
, 1);
$cname
=
'keine Kategorie'
;
if
(
$menu
->get(2) > 0) {
$cname
= db_result(db_query(
"SELECT name FROM prefix_gallery_cats WHERE id = "
.
$menu
->get(2)), 0, 0);
}
$tpl
->set(
'cat'
,
$menu
->get(2));
$tpl
->set(
'cname'
,
$cname
);
$tpl
->set(
'msg'
,
$msg
);
$tpl
->out(0);
exit
();
}