album) || !$gallery->user->canWriteToAlbum($gallery->album)) {
showInvalidReqMesg(gTranslate('core', "You are not allowed to perform this action!"));
includeHtmlWrap("popup.footer");
exit;
}
if (!isset($useLoad)) {
$useLoad = '';
}
/* Read the album list */
$albumDB = new AlbumDB(FALSE);
if (!empty($newName)) {
$dismiss = 0;
$newNameOrig = $newName;
$newName = str_replace("'", "", $newName);
$newName = str_replace("`", "", $newName);
$newName = strtr($newName, "%\\/*?\"<>|& .+#(){}~", "-------------------");
$newName = ereg_replace("\-+", "-", $newName);
$newName = ereg_replace("\-+$", "", $newName);
$newName = ereg_replace("^\-", "", $newName);
$newName = ereg_replace("\-$", "", $newName);
if ($newName != $newNameOrig) {
echo infoBox(array(array(
'type' => 'error',
'text' => gTranslate('core', "Your new foldername contained unallowed chars. They were removed. Please try again.")))
);
}
elseif ($oldName == $newName || empty($newName)) {
$dismiss = 1;
}
elseif ($albumDB->renameAlbum($oldName, $newName)) {
$albumDB->save();
// need to account for nested albums by updating
// the parent album when renaming an album
if ($gallery->album->fields['parentAlbumName']) {
$parentName = $gallery->album->fields['parentAlbumName'];
if (isDebugging()) {
print "parentName=".$parentName."
";
print "newName=".$newName."
";
print "oldName=".$oldName."
";
}
$parentAlbum = $albumDB->getAlbumByName($parentName);
for ($i=1; $i <= $parentAlbum->numPhotos(1); $i++) {
if ($parentAlbum->getAlbumName($i) == $oldName) {
$parentAlbum->setAlbumName($i,$newName);
$parentAlbum->save();
break;
}
}
}
// then we need to update the parentAlbumName field in the children
for ($i=1; $i <= $gallery->album->numPhotos(1); $i++) {
if ($gallery->album->isAlbum($i)) {
$childAlbum = $gallery->album->getNestedAlbum($i);
$childAlbum->fields['parentAlbumName'] = $newName;
$childAlbum->save();
}
}
$dismiss = 1;
}
else {
echo gallery_error(gTranslate('core', "There is already an album with that name!"));
}
// Dismiss and reload if requested
if ($dismiss) {
if ($useLoad) {
dismissAndLoad(makeAlbumUrl($newName));
}
else {
dismissAndReload();
}
return;
}
}
else {
$newName = $gallery->session->albumName;
}
echo gTranslate('core', "What do you want to name this album?");
echo "\n
";
echo gTranslate('core', "The name cannot contain any of the following characters") ?>:
% \ / * ? " ’ & < > | . + # ( )
'popup')); ?>
30)); ?>