$reports[] = $msg; } } /* * Here we should restart if any action processing has occurred to be sure that everything is * in its proper state. But that would require significant rewrite of the handling and * reporting code so is impractical. Instead we will presume that all that needs to be restarted * is the CMS object. */ $_zp_CMS = new CMS(); printAdminHeader($tab, $result->transient ? gettext('add') : gettext('edit')); zp_apply_filter('texteditor_config', 'zenpage'); zenpageJSCSS(); datepickerJS(); codeblocktabsJS(); $tagsort = getTagOrder(); ?> <script type="text/javascript"> //<!-- <![CDATA[ var deleteArticle = "<?php echo gettext("Are you sure you want to delete this article? THIS CANNOT BE UNDONE!"); ?> "; var deletePage = "<?php echo gettext("Are you sure you want to delete this page? THIS CANNOT BE UNDONE!"); ?> "; var deleteCategory = "<?php echo gettext("Are you sure you want to delete this category? THIS CANNOT BE UNDONE!"); ?> ";
/** * Edit tab bulk actions drop-down * @param array $checkarray the list of actions * @param bool $checkAll set true to include check all box */ function printBulkActions($checkarray, $checkAll = false) { $customInfo = $colorboxBookmark = array(); foreach ($checkarray as $key => $value) { if (is_array($value)) { $checkarray[$key] = $value['name']; switch ($action = $value['action']) { case 'mass_customTextarea_data': $data['size'] = -1; case 'mass_customText_data': $customInfo[$value['name']] = $value; $action = 'mass_' . $value['name'] . '_data'; break; } $colorboxBookmark[$value['name']] = $action; } } if (!empty($colorboxBookmark)) { ?> <script type="text/javascript"> //<!-- <![CDATA[ function checkFor(obj) { var sel = obj.options[obj.selectedIndex].value; var mark; switch (sel) { <?php foreach ($colorboxBookmark as $key => $mark) { ?> case '<?php echo $key; ?> ': mark = '<?php echo $mark; ?> '; break; <?php } ?> default: mark = false; break; } if (mark) { $.colorbox({ href: '#' + mark, inline: true, open: true, close: '<?php echo gettext("ok"); ?> ' }); } } // ]]> --> </script> <?php } ?> <span style="float:right"> <select class="ignoredirty" name="checkallaction" id="checkallaction" size="1" onchange="checkFor(this);" > <?php generateListFromArray(array('noaction'), $checkarray, false, true); ?> </select> <?php if ($checkAll) { ?> <br /> <?php echo gettext("Check All"); ?> <input class="ignoredirty" type="checkbox" name="allbox" id="allbox" onclick="checkAll(this.form, 'ids[]', this.checked);" /> <?php } ?> </span> <?php foreach ($customInfo as $key => $data) { ?> <div id="mass_<?php echo $key; ?> " style="display:none; "> <div id="mass_<?php echo $key; ?> _data"> <?php printf('Value for %s:', $data['desc']); if ($data['action'] == 'mass_customText_data') { if (isset($data['size']) && $data['size'] >= 0) { $size = max(5, min($data['size'], 200)); } else { $size = 100; } ?> <input type="text" name="<?php echo $key; ?> " size="<?php echo $size; ?> " value=""> <?php } else { ?> <textarea name="<?php echo $key; ?> " cols="<?php echo TEXTAREA_COLUMNS; ?> " style="width: 320px" rows="6"></textarea> <?php } ?> </div> </div> <?php } if (in_array('mass_tags_data', $colorboxBookmark)) { ?> <div id="mass_tags" style="display:none;"> <div id="mass_tags_data"> <?php tagSelector(NULL, 'mass_tags_', false, getTagOrder(), true, false, 'checkTagsAuto ignoredirty'); ?> </div> </div> <?php } if (in_array('mass_cats_data', $colorboxBookmark)) { ?> <div id="mass_cats" style="display:none;"> <div id="mass_cats_data"> <?php echo gettext('New categorys:'); ?> <ul> <?php printNestedItemsList('cats-checkboxlist', '', 'all', 'ignoredirty'); ?> </ul> </div> </div> <?php } if (in_array('mass_owner_data', $colorboxBookmark)) { ?> <div id="mass_owner" style="display:none;"> <div id="mass_owner_data"> <?php echo gettext('New owner:'); ?> <ul> <select class="ignoredirty" id="massownermenu" name="massownerselect" onchange=""> <?php echo admin_album_list(NULL); ?> </select> </ul> </div> </div> <?php } if (in_array('mass_movecopy_data', $colorboxBookmark)) { global $mcr_albumlist, $album, $bglevels; ?> <div id="mass_movecopy_copy" style="display:none;"> <div id="mass_movecopy_data"> <input type="hidden" name="massfolder" value="<?php echo $album->name; ?> " /> <?php echo gettext('Destination'); ?> <select class="ignoredirty" id="massalbumselectmenu" name="massalbumselect" onchange=""> <?php foreach ($mcr_albumlist as $fullfolder => $albumtitle) { $singlefolder = $fullfolder; $saprefix = ""; $salevel = 0; $selected = ""; if ($album->name == $fullfolder) { $selected = " selected=\"selected\" "; } // Get rid of the slashes in the subalbum, while also making a subalbum prefix for the menu. while (strstr($singlefolder, '/') !== false) { $singlefolder = substr(strstr($singlefolder, '/'), 1); $saprefix = " " . $saprefix; $salevel++; } echo '<option value="' . $fullfolder . '"' . ($salevel > 0 ? ' style="background-color: ' . $bglevels[$salevel] . ';"' : '') . "{$selected}>" . $saprefix . $singlefolder . "</option>\n"; } ?> </select> </div> </div> <?php } }
<br /> <?php } // if article for categories } // if !category end if (!is_AdminEditPage("newscategory")) { ?> <h2 class="h2_bordered_edit"><?php echo gettext("Tags"); ?> </h2> <div class="box-edit-unpadded"> <?php tagSelector($result, 'tags_', false, getTagOrder()); ?> </div> <?php } ?> </td> </tr> <tr> <td><?php echo gettext("TitleLink:"); ?> </td> <td class="middlecolumn"> <?php if ($result->transient) {
/** * emits the html for editing album information * called in edit album and mass edit * @param string $index the index of the entry in mass edit or '0' if single album * @param object $album the album object * @param bool $buttons set true for "apply" buttons * @since 1.1.3 */ function printAlbumEditForm($index, $album, $buttons = true) { global $_zp_sortby, $_zp_gallery, $mcr_albumlist, $_zp_albumthumb_selector, $_zp_current_admin_obj; $isPrimaryAlbum = ''; if (!zp_loggedin(MANAGE_ALL_ALBUM_RIGHTS)) { $myalbum = $_zp_current_admin_obj->getAlbum(); if ($myalbum && $album->getID() == $myalbum->getID()) { $isPrimaryAlbum = ' disabled="disabled"'; } } $tagsort = getTagOrder(); if ($index == 0) { $suffix = $prefix = ''; } else { $prefix = "{$index}-"; $suffix = "_{$index}"; echo "<p><em><strong>" . $album->name . "</strong></em></p>"; } ?> <input type="hidden" name="<?php echo $prefix; ?> folder" value="<?php echo $album->name; ?> " /> <input type="hidden" name="tagsort" value="<?php echo html_encode($tagsort); ?> " /> <input type="hidden" name="password_enabled<?php echo $suffix; ?> " id="password_enabled<?php echo $suffix; ?> " value="0" /> <?php if ($buttons) { ?> <span class="buttons"> <?php $parent = dirname($album->name); if ($parent == '/' || $parent == '.' || empty($parent)) { $parent = ''; } else { $parent = '&album=' . $parent . '&tab=subalbuminfo'; } ?> <a href="<?php echo WEBPATH . '/' . ZENFOLDER . '/admin-edit.php?page=edit' . $parent; ?> "> <img src="images/arrow_left_blue_round.png" alt="" /> <strong><?php echo gettext("Back"); ?> </strong> </a> <button type="submit"> <img src="images/pass.png" alt="" /> <strong><?php echo gettext("Apply"); ?> </strong> </button> <button type="reset" onclick="javascript:$('.deletemsg').hide();" > <img src="images/fail.png" alt="" /> <strong><?php echo gettext("Reset"); ?> </strong> </button> <div class="floatright"> <?php if (!$album->isDynamic()) { ?> <button type="button" title="<?php echo addslashes(gettext('New subalbum')); ?> " onclick="javascript:newAlbum('<?php echo pathurlencode($album->name); ?> ', true);"> <img src="images/folder.png" alt="" /> <strong><?php echo gettext('New subalbum'); ?> </strong> </button> <?php } ?> <a href="<?php echo WEBPATH . "/index.php?album=" . html_encode(pathurlencode($album->getFileName())); ?> "> <img src="images/view.png" alt="" /> <strong><?php echo gettext('View Album'); ?> </strong> </a> </div> </span> <?php } ?> <br class="clearall" /><br /> <table class="formlayout"> <tr> <td valign="top"> <table class="width100percent"> <tr> <td class="leftcolumn"><?php echo gettext("Owner"); ?> </td> <td class="middlecolumn"> <?php if (zp_loggedin(MANAGE_ALL_ALBUM_RIGHTS)) { ?> <select name="<?php echo $prefix; ?> owner"> <?php echo admin_album_list($album->getOwner()); ?> </select> <?php } else { echo $album->getOwner(); } ?> </td> </tr> <tr> <td class="leftcolumn"> <?php echo gettext("Album Title"); ?> : </td> <td class="middlecolumn"> <?php print_language_string_list($album->getTitle('all'), $prefix . "albumtitle", false, null, '', '100%'); ?> </td> </tr> <tr> <td class="leftcolumn"> <?php echo gettext("Album Description:"); ?> </td> <td> <?php print_language_string_list($album->getDesc('all'), $prefix . "albumdesc", true, NULL, 'texteditor', '100%'); ?> </td> </tr> <?php if (GALLERY_SECURITY == 'public') { ?> <tr class="password<?php echo $suffix; ?> extrashow"> <td class="leftcolumn"> <p> <a href="javascript:toggle_passwords('<?php echo $suffix; ?> ',true);"> <?php echo gettext("Album password:"******"middlecolumn"> <p> <?php $x = $album->getPassword(); if (empty($x)) { ?> <img src="images/lock_open.png" /> <?php } else { $x = ' '; ?> <a onclick="resetPass('<?php echo $suffix; ?> ');" title="<?php echo addslashes(gettext('clear password')); ?> "><img src="images/lock.png" /></a> <?php } ?> </p> </td> </tr> <tr class="password<?php echo $suffix; ?> extrahide" style="display:none" > <td class="leftcolumn"> <p> <a href="javascript:toggle_passwords('<?php echo $suffix; ?> ',false);"> <?php echo gettext("Album guest user:"******"text" size="<?php echo TEXT_INPUT_SIZE; ?> " onkeydown="passwordClear('<?php echo $suffix; ?> ');" id="user_name<?php echo $suffix; ?> " name="user<?php echo $suffix; ?> " value="<?php echo $album->getUser(); ?> " /> </p> </td> </tr> <tr class="password<?php echo $suffix; ?> extrahide" style="display:none" > <td class="leftcolumn"> <p> <span id="strength<?php echo $suffix; ?> "><?php echo gettext("Album password:"******"match<?php echo $suffix; ?> " class="password_field_<?php echo $suffix; ?> "> <?php echo gettext("Repeat password:"******"Are you sure?" from tiggering when autofill is enabled in browsers // http://benjaminjshore.info/2014/05/chrome-auto-fill-honey-pot-hack.html ?> <input class="ays-ignore" type="password" name="pass" style="display:none;" /> <input type="password" id="pass<?php echo $suffix; ?> " name="pass<?php echo $suffix; ?> " onkeydown="passwordClearZ('<?php echo $suffix; ?> ');" onkeyup="passwordStrength('<?php echo $suffix; ?> ');" value="<?php echo $x; ?> " /> <label><input class="ays-ignore" type="checkbox" name="disclose_password<?php echo $suffix; ?> " id="disclose_password<?php echo $suffix; ?> " onclick="passwordClear('<?php echo $suffix; ?> '); togglePassword('<?php echo $suffix; ?> ');" /><?php echo addslashes(gettext('Show password')); ?> </label> <br /> <span class="password_field_<?php echo $suffix; ?> "> <input class="ays-ignore" type="password" id="pass_r<?php echo $suffix; ?> " name="pass_r<?php echo $suffix; ?> " disabled="disabled" onkeydown="passwordClear('<?php echo $suffix; ?> ');" onkeyup="passwordMatch('<?php echo $suffix; ?> ');" value="<?php echo $x; ?> " /> </span> </p> </td> </tr> <tr class="password<?php echo $suffix; ?> extrahide" style="display:none" > <td> <p> <?php echo gettext("Password hint:"); ?> </p> </td> <td> <p> <?php print_language_string_list($album->getPasswordHint('all'), "hint" . $suffix, false, NULL, 'hint', '100%'); ?> </p> </td> </tr> <?php } $d = $album->getDateTime(); if ($d == "0000-00-00 00:00:00") { $d = ""; } ?> <tr> <td class="leftcolumn"><?php echo gettext("Date:"); ?> </td> <td> <script type="text/javascript"> // <!-- <![CDATA[ $(function() { $("#datepicker<?php echo $suffix; ?> ").datepicker({ dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/calendar.png', buttonText: '<?php echo addslashes(gettext('calendar')); ?> ', buttonImageOnly: true }); }); // ]]> --> </script> <input type="text" id="datepicker<?php echo $suffix; ?> " size="20" name="<?php echo $prefix; ?> albumdate" value="<?php echo $d; ?> " /> </td> </tr> <tr> <td class="leftcolumn"><?php echo gettext("Location:"); ?> </td> <td class="middlecolumn"> <?php print_language_string_list($album->getLocation(), $prefix . "albumlocation", false, NULL, 'hint', '100%'); ?> </td> </tr> <?php $custom = zp_apply_filter('edit_album_custom_data', '', $album, $prefix); if (empty($custom)) { ?> <tr> <td class="leftcolumn"><?php echo gettext("Custom data:"); ?> </td> <td><?php print_language_string_list($album->getCustomData('all'), $prefix . "album_custom_data", true, NULL, 'texteditor_albumcustomdata', '100%'); ?> </td> </tr> <?php } else { echo $custom; } $sort = $_zp_sortby; if (!$album->isDynamic()) { $sort[gettext('Manual')] = 'manual'; } $sort[gettext('Custom')] = 'custom'; /* * not recommended--screws with peoples minds during pagination! $sort[gettext('Random')] = 'random'; */ ?> <tr> <td class="leftcolumn"><?php echo gettext("Sort subalbums by:"); ?> </td> <td> <span class="nowrap"> <select id="albumsortselect<?php echo $prefix; ?> " name="<?php echo $prefix; ?> subalbumsortby" onchange="update_direction(this, 'album_direction_div<?php echo $suffix; ?> ', 'album_custom_div<?php echo $suffix; ?> ');"> <?php if (is_null($album->getParent())) { $globalsort = gettext("*gallery album sort order"); } else { $globalsort = gettext("*parent album subalbum sort order"); } echo "\n<option value =''>{$globalsort}</option>"; $cvt = $type = strtolower($album->get('subalbum_sort_type')); if ($type && !in_array($type, $sort)) { $cv = array('custom'); } else { $cv = array($type); } generateListFromArray($cv, $sort, false, true); ?> </select> <?php if ($type == 'manual' || $type == 'random' || $type == '') { $dsp = 'none'; } else { $dsp = 'inline'; } ?> <label id="album_direction_div<?php echo $suffix; ?> " style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <?php echo gettext("Descending"); ?> <input type="checkbox" name="<?php echo $prefix; ?> album_sortdirection" value="1" <?php if ($album->getSortDirection('album')) { echo "CHECKED"; } ?> /> </label> </span> <?php $flip = array_flip($sort); if (empty($type) || isset($flip[$type])) { $dsp = 'none'; } else { $dsp = 'block'; } ?> <span id="album_custom_div<?php echo $suffix; ?> " class="customText" style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <br /> <?php echo gettext('custom fields:'); ?> <input id="customalbumsort<?php echo $suffix; ?> " class="customalbumsort" name="<?php echo $prefix; ?> customalbumsort" type="text" value="<?php echo html_encode($cvt); ?> " /> </span> </td> </tr> <tr> <td class="leftcolumn"><?php echo gettext("Sort images by"); ?> </td> <td> <span class="nowrap"> <select id="imagesortselect<?php echo $prefix; ?> " name="<?php echo $prefix; ?> sortby" onchange="update_direction(this, 'image_direction_div<?php echo $suffix; ?> ', 'image_custom_div<?php echo $suffix; ?> ')"> <?php if (is_null($album->getParent())) { $globalsort = gettext("*gallery image sort order"); } else { $globalsort = gettext("*parent album image sort order"); } ?> <option value =""><?php echo $globalsort; ?> </option> <?php $cvt = $type = strtolower($album->get('sort_type')); if ($type && !in_array($type, $sort)) { $cv = array('custom'); } else { $cv = array($type); } generateListFromArray($cv, $sort, false, true); ?> </select> <?php if ($type == 'manual' || $type == 'random' || $type == '') { $dsp = 'none'; } else { $dsp = 'inline'; } ?> <label id="image_direction_div<?php echo $suffix; ?> " style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <?php echo gettext("Descending"); ?> <input type="checkbox" name="<?php echo $prefix; ?> image_sortdirection" value="1" <?php if ($album->getSortDirection('image')) { echo ' checked="checked"'; } ?> /> </label> </span> <?php $flip = array_flip($sort); if (empty($type) || isset($flip[$type])) { $dsp = 'none'; } else { $dsp = 'block'; } ?> <span id="image_custom_div<?php echo $suffix; ?> " class="customText" style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <br /> <?php echo gettext('custom fields:'); ?> <input id="customimagesort<?php echo $suffix; ?> " class="customimagesort" name="<?php echo $prefix; ?> customimagesort" type="text" value="<?php echo html_encode($cvt); ?> " /> </span> </td> </tr> <?php if (is_null($album->getParent())) { ?> <tr> <td class="leftcolumn"><?php echo gettext("Album theme:"); ?> </td> <td> <select id="album_theme" class="album_theme" name="<?php echo $prefix; ?> album_theme" <?php if (!zp_loggedin(THEMES_RIGHTS)) { echo 'disabled="disabled" '; } ?> > <?php $themes = $_zp_gallery->getThemes(); $oldtheme = $album->getAlbumTheme(); if (empty($oldtheme)) { $selected = 'selected="selected"'; } else { $selected = ''; } ?> <option value="" style="background-color:LightGray" <?php echo $selected; ?> ><?php echo gettext('*gallery theme'); ?> </option> <?php foreach ($themes as $theme => $themeinfo) { if ($oldtheme == $theme) { $selected = 'selected="selected"'; } else { $selected = ''; } ?> <option value = "<?php echo $theme; ?> " <?php echo $selected; ?> ><?php echo $themeinfo['name']; ?> </option> <?php } ?> </select> </td> </tr> <?php } if (!$album->isDynamic()) { ?> <tr> <td class="leftcolumn"><?php echo gettext("Album watermarks:"); ?> </td> <td> <?php $current = $album->getWatermark(); ?> <select id="album_watermark<?php echo $suffix; ?> " name="<?php echo $prefix; ?> album_watermark"> <option value="<?php echo NO_WATERMARK; ?> " <?php if ($current == NO_WATERMARK) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*no watermark'); ?> </option> <option value="" <?php if (empty($current)) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*default'); ?> </option> <?php $watermarks = getWatermarks(); generateListFromArray(array($current), $watermarks, false, false); ?> </select> <em><?php echo gettext('Images'); ?> </em> </td> </tr> <tr> <td class="leftcolumn"></td> <td> <?php $current = $album->getWatermarkThumb(); ?> <select id="album_watermark_thumb<?php echo $suffix; ?> " name="<?php echo $prefix; ?> album_watermark_thumb"> <option value="<?php echo NO_WATERMARK; ?> " <?php if ($current == NO_WATERMARK) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*no watermark'); ?> </option> <option value="" <?php if (empty($current)) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*default'); ?> </option> <?php $watermarks = getWatermarks(); generateListFromArray(array($current), $watermarks, false, false); ?> </select> <em><?php echo gettext('Thumbs'); ?> </em> </td> </tr> <?php } if ($index == 0) { // suppress for mass-edit $showThumb = $_zp_gallery->getThumbSelectImages(); $album->getAlbumThumbImage(); // prime the thumbnail since we will get the field below $thumb = $album->get('thumb'); $selections = array(); $selected = array(); foreach ($_zp_albumthumb_selector as $key => $selection) { $selections[$selection['desc']] = $key; if ($key == $thumb) { $selected[] = $key; } } ?> <tr> <td class="leftcolumn"><?php echo gettext("Thumbnail:"); ?> </td> <td> <?php if ($showThumb) { ?> <script type="text/javascript"> // <!-- <![CDATA[ updateThumbPreview(document.getElementById('thumbselect')); // ]]> --> </script> <?php } ?> <select style="width:320px" <?php if ($showThumb) { ?> class="thumbselect" onchange="updateThumbPreview(this);" <?php } ?> name="<?php echo $prefix; ?> thumb"> <?php generateListFromArray($selected, $selections, false, true); $imagelist = $album->getImages(0); $subalbums = $album->getAlbums(0); foreach ($subalbums as $folder) { $newalbum = newAlbum($folder); if ($_zp_gallery->getSecondLevelThumbs()) { $images = $newalbum->getImages(0); foreach ($images as $filename) { if (is_array($filename)) { $imagelist[] = $filename; } else { $imagelist[] = '/' . $folder . '/' . $filename; } } } else { $t = $newalbum->getAlbumThumbImage(); if (strtolower(get_class($t)) !== 'transientimage' && $t->exists) { $imagelist[] = '/' . $t->getAlbumName() . '/' . $t->filename; } } } if ($thumb && !is_numeric($thumb)) { // check for current thumb being in the list. If not, add it $target = $thumb; $targetA = array('folder' => dirname($thumb), 'filename' => basename($thumb)); if (!in_array($target, $imagelist) && !in_array($targetA, $imagelist)) { array_unshift($imagelist, $target); } } if (!empty($imagelist)) { // there are some images to choose from foreach ($imagelist as $imagename) { if (is_array($imagename)) { $image = newImage(NULL, $imagename); $imagename = '/' . $imagename['folder'] . '/' . $imagename['filename']; $filename = basename($imagename); } else { $albumname = trim(dirname($imagename), '/'); if (empty($albumname) || $albumname == '.') { $thumbalbum = $album; } else { $thumbalbum = newAlbum($albumname); } $filename = basename($imagename); $image = newImage($thumbalbum, $filename); } $selected = $imagename == $thumb; if (Gallery::validImage($filename) || !is_null($image->objectsThumb)) { echo "\n<option"; if ($_zp_gallery->getThumbSelectImages()) { echo " class=\"thumboption\""; echo " style=\"background-image: url(" . html_encode(pathurlencode(getAdminThumb($image, 'large'))) . "); background-repeat: no-repeat;\""; } echo " value=\"" . $imagename . "\""; if ($selected) { echo " selected=\"selected\""; } echo ">" . $image->getTitle(); if ($filename != $image->getTitle()) { echo " ({$filename})"; } echo "</option>"; } } } ?> </select> </td> </tr> <?php } ?> <tr valign="top"> <td class="leftcolumn topalign-nopadding"><br /><?php echo gettext("Codeblocks:"); ?> </td> <td> <br /> <?php printCodeblockEdit($album, (int) $suffix); ?> </td> </tr> </table> </td> <?php $bglevels = array('#fff', '#f8f8f8', '#efefef', '#e8e8e8', '#dfdfdf', '#d8d8d8', '#cfcfcf', '#c8c8c8'); ?> <td class="rightcolumn" valign="top"> <h2 class="h2_bordered_edit"><?php echo gettext("General"); ?> </h2> <div class="box-edit"> <label class="checkboxlabel"> <input type="checkbox" name="<?php echo $prefix; ?> Published" value="1" <?php if ($album->getShow()) { echo ' checked="checked"'; } ?> /> <?php echo gettext("Published"); ?> </label> <label class="checkboxlabel"> <input type="checkbox" name="<?php echo $prefix . 'allowcomments'; ?> " value="1" <?php if ($album->getCommentsAllowed()) { echo ' checked="checked"'; } ?> /> <?php echo gettext("Allow Comments"); ?> </label> <?php if (extensionEnabled('hitcounter')) { $hc = $album->get('hitcounter'); if (empty($hc)) { $hc = '0'; } ?> <label class="checkboxlabel"> <input type="checkbox" name="reset_hitcounter<?php echo $prefix; ?> "<?php if (!$hc) { echo ' disabled="disabled"'; } ?> /> <?php echo sprintf(ngettext("Reset hit counter (%u hit)", "Reset hit counter (%u hits)", $hc), $hc); ?> </label> <?php } if (extensionEnabled('rating')) { $tv = $album->get('total_value'); $tc = $album->get('total_votes'); if ($tc > 0) { $hc = $tv / $tc; ?> <label class="checkboxlabel"> <input type="checkbox" id="reset_rating<?php echo $suffix; ?> " name="<?php echo $prefix; ?> reset_rating" value="1" /> <?php printf(gettext('Reset rating (%u stars)'), $hc); ?> </label> <?php } else { ?> <label class="checkboxlabel"> <input type="checkbox" name="<?php echo $prefix; ?> reset_rating" value="1" disabled="disabled"/> <?php echo gettext('Reset rating (unrated)'); ?> </label> <?php } } $publishdate = $album->getPublishDate(); $expirationdate = $album->getExpireDate(); ?> <script type="text/javascript"> // <!-- <![CDATA[ $(function() { $("#<?php echo $prefix; ?> publishdate,#<?php echo $prefix; ?> expirationdate").datepicker({ dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: '../zp-core/images/calendar.png', buttonText: '<?php echo addslashes(gettext("calendar")); ?> ', buttonImageOnly: true }); $('#<?php echo $prefix; ?> publishdate').change(function() { var today = new Date(); var pub = $('#<?php echo $prefix; ?> publishdate').datepicker('getDate'); if (pub.getTime() > today.getTime()) { $(".<?php echo $prefix; ?> scheduledpublishing").html('<br /><?php echo addslashes(gettext('Future publishing date.')); ?> '); } else { $(".<?php echo $prefix; ?> scheduledpublishing").html(''); } }); $('#<?php echo $prefix; ?> expirationdate').change(function() { var today = new Date(); var expiry = $('#<?php echo $prefix; ?> expirationdate').datepicker('getDate'); if (expiry.getTime() > today.getTime()) { $(".<?php echo $prefix; ?> expire").html(''); } else { $(".<?php echo $prefix; ?> expire").html('<br /><?php echo addslashes(gettext('Expired!')); ?> '); } }); }); // ]]> --> </script> <br class="clearall" /> <hr /> <p> <label for="<?php echo $prefix; ?> publishdate"><?php echo gettext('Publish date'); ?> <small>(YYYY-MM-DD)</small></label> <br /><input value="<?php echo $publishdate; ?> " type="text" size="20" maxlength="30" name="publishdate-<?php echo $prefix; ?> " id="<?php echo $prefix; ?> publishdate" /> <strong class="scheduledpublishing-<?php echo $prefix; ?> " style="color:red"> <?php if (!empty($publishdate) && $publishdate > date('Y-m-d H:i:s')) { echo '<br />' . gettext('Future publishing date.'); } ?> </strong> <br /><br /> <label for="<?php echo $prefix; ?> expirationdate"><?php echo gettext('Expiration date'); ?> <small>(YYYY-MM-DD)</small></label> <br /><input value="<?php echo $expirationdate; ?> " type="text" size="20" maxlength="30" name="expirationdate-<?php echo $prefix; ?> " id="<?php echo $prefix; ?> expirationdate" /> <strong class="<?php echo $prefix; ?> expire" style="color:red"> <?php if (!empty($expirationdate) && $expirationdate <= date('Y-m-d H:i:s')) { echo '<br />' . gettext('Expired!'); } ?> </strong> </p> </div> <!-- **************** Move/Copy/Rename ****************** --> <h2 class="h2_bordered_edit"><?php echo gettext("Utilities"); ?> </h2> <div class="box-edit"> <label class="checkboxlabel"> <input type="radio" id="a-<?php echo $prefix; ?> move" name="a-<?php echo $prefix; ?> MoveCopyRename" value="move" onclick="toggleAlbumMCR('<?php echo $prefix; ?> ', 'move');"<?php echo $isPrimaryAlbum; ?> /> <?php echo gettext("Move"); ?> </label> <label class="checkboxlabel"> <input type="radio" id="a-<?php echo $prefix; ?> copy" name="a-<?php echo $prefix; ?> MoveCopyRename" value="copy" onclick="toggleAlbumMCR('<?php echo $prefix; ?> ', 'copy');"/> <?php echo gettext("Copy"); ?> </label> <label class="checkboxlabel"> <input type="radio" id="a-<?php echo $prefix; ?> rename" name="a-<?php echo $prefix; ?> MoveCopyRename" value="rename" onclick="toggleAlbumMCR('<?php echo $prefix; ?> ', 'rename');" <?php echo $isPrimaryAlbum; ?> /> <?php echo gettext("Rename Folder"); ?> </label> <label class="checkboxlabel"> <input type="radio" id="Delete-<?php echo $prefix; ?> " name="a-<?php echo $prefix; ?> MoveCopyRename" value="delete" <?php if ($isPrimaryAlbum) { ?> disabled="disabled" <?php } else { ?> onclick="toggleAlbumMCR('<?php echo $prefix; ?> ', ''); deleteConfirm('Delete-<?php echo $prefix; ?> ', '<?php echo $prefix; ?> ', deleteAlbum1);" <?php } ?> /> <?php echo gettext("Delete album"); ?> </label> <br class="clearall" /> <div class="deletemsg" id="deletemsg<?php echo $prefix; ?> " style="padding-top: .5em; padding-left: .5em; color: red; display: none"> <?php echo gettext('Album will be deleted when changes are applied.'); ?> <br class="clearall" /> <p class="buttons"> <a href="javascript:toggleAlbumMCR('<?php echo $prefix; ?> ', '');"><img src="images/reset.png" alt="" /><?php echo addslashes(gettext("Cancel")); ?> </a> </p> </div> <div id="a-<?php echo $prefix; ?> movecopydiv" style="padding-top: .5em; padding-left: .5em; display: none;"> <?php echo gettext("to:"); ?> <select id="a-<?php echo $prefix; ?> albumselectmenu" name="a-<?php echo $prefix; ?> albumselect" onchange=""> <?php $exclude = $album->name; if (count(explode('/', $exclude)) > 1 && zp_loggedin(MANAGE_ALL_ALBUM_RIGHTS)) { ?> <option value="" selected="selected">/</option> <?php } foreach ($mcr_albumlist as $fullfolder => $albumtitle) { // don't allow copy in place or to subalbums if ($fullfolder == dirname($exclude) || $fullfolder == $exclude || strpos($fullfolder, $exclude . '/') === 0) { $disabled = ' disabled="disabled"'; } else { $disabled = ''; } // Get rid of the slashes in the subalbum, while also making a subalbum prefix for the menu. $singlefolder = $fullfolder; $saprefix = ''; $salevel = 0; while (strstr($singlefolder, '/') !== false) { $singlefolder = substr(strstr($singlefolder, '/'), 1); $saprefix = " " . $saprefix; $salevel = ($salevel + 1) % 8; } echo '<option value="' . $fullfolder . '"' . ($salevel > 0 ? ' style="background-color: ' . $bglevels[$salevel] . ';"' : '') . "{$disabled}>" . $saprefix . $singlefolder . "</option>\n"; } ?> </select> <br class="clearall" /><br /> <p class="buttons"> <a href="javascript:toggleAlbumMCR('<?php echo $prefix; ?> ', '');"><img src="images/reset.png" alt="" /><?php echo addslashes(gettext("Cancel")); ?> </a> </p> </div> <div id="a-<?php echo $prefix; ?> renamediv" style="padding-top: .5em; padding-left: .5em; display: none;"> <?php echo gettext("to:"); ?> <input name="a-<?php echo $prefix; ?> renameto" type="text" value="<?php echo basename($album->name); ?> "/><br /> <br class="clearall" /> <p class="buttons"> <a href="javascript:toggleAlbumMCR('<?php echo $prefix; ?> ', '');"><img src="images/reset.png" alt="" /><?php echo addslashes(gettext("Cancel")); ?> </a> </p> </div> <span class="clearall" ></span> <?php echo zp_apply_filter('edit_album_utilities', '', $album, $prefix); printAlbumButtons($album); ?> <span class="clearall" ></span> </div> <h2 class="h2_bordered_edit"><?php echo gettext("Tags"); ?> </h2> <div class="box-edit-unpadded"> <?php $tagsort = getTagOrder(); tagSelector($album, 'tags_' . $prefix, false, $tagsort, true, true); ?> </div> </td> </tr> </table> <?php if ($album->isDynamic()) { ?> <table> <tr> <td align="left" valign="top" width="150"><?php echo gettext("Dynamic album search:"); ?> </td> <td> <table class="noinput"> <tr> <td><?php echo html_encode(urldecode($album->getSearchParams())); ?> </td> </tr> </table> </td> </tr> </table> <?php } ?> <br class="clearall" /> <?php if ($buttons) { ?> <span class="buttons"> <a href="<?php echo WEBPATH . '/' . ZENFOLDER . '/admin-edit.php?page=edit' . $parent; ?> "> <img src="images/arrow_left_blue_round.png" alt="" /> <strong><?php echo gettext("Back"); ?> </strong> </a> <button type="submit"> <img src="images/pass.png" alt="" /> <strong><?php echo gettext("Apply"); ?> </strong> </button> <button type="reset" onclick="javascript:$('.deletemsg').hide();"> <img src="images/fail.png" alt="" /> <strong><?php echo gettext("Reset"); ?> </strong> </button> <div class="floatright"> <?php if (!$album->isDynamic()) { ?> <button type="button" title="<?php echo addslashes(gettext('New subalbum')); ?> " onclick="javascript:newAlbum('<?php echo pathurlencode($album->name); ?> ', true);"> <img src="images/folder.png" alt="" /> <strong><?php echo gettext('New subalbum'); ?> </strong> </button> <?php } ?> <a href="<?php echo WEBPATH . "/index.php?album=" . html_encode(pathurlencode($album->getFileName())); ?> "> <img src="images/view.png" alt="" /> <strong><?php echo gettext('View Album'); ?> </strong> </a> </div> </span> <?php } ?> <br class="clearall" /> <?php }
/** * emits the html for editing album information * called in edit album and mass edit * @param string $index the index of the entry in mass edit or '0' if single album * @param object $album the album object * @param bool $collapse_tags set true to initially hide tab list * @since 1.1.3 */ function printAlbumEditForm($index, $album, $collapse_tags) { global $sortby, $gallery, $mcr_albumlist, $albumdbfields, $imagedbfields, $_thumb_field_text; $tagsort = getTagOrder(); if ($index == 0) { if (isset($saved)) { $album->setSubalbumSortType('manual'); } $suffix = $prefix = ''; } else { $prefix = "{$index}-"; $suffix = "_{$index}"; echo "<p><em><strong>" . $album->name . "</strong></em></p>"; } ?> <input type="hidden" name="<?php echo $prefix; ?> folder" value="<?php echo $album->name; ?> " /> <input type="hidden" name="tagsort" value="<?php echo html_encode($tagsort); ?> " /> <input type="hidden" name="<?php echo $prefix; ?> password_enabled" id="password_enabled<?php echo $suffix; ?> " value="0" /> <span class="buttons"> <?php $parent = dirname($album->name); if ($parent == '/' || $parent == '.' || empty($parent)) { $parent = ''; } else { $parent = '&album=' . $parent . '&tab=subalbuminfo'; } ?> <a title="<?php echo gettext('Back to the album list'); ?> " href="<?php echo WEBPATH . '/' . ZENFOLDER . '/admin-edit.php?page=edit' . $parent; ?> "> <img src="images/arrow_left_blue_round.png" alt="" /> <strong><?php echo gettext("Back"); ?> </strong> </a> <button type="submit" title="<?php echo gettext("Apply"); ?> "> <img src="images/pass.png" alt="" /> <strong><?php echo gettext("Apply"); ?> </strong> </button> <button type="reset" title="<?php echo gettext("Reset"); ?> " onclick="javascript:$('.deletemsg').hide();" > <img src="images/fail.png" alt="" /> <strong><?php echo gettext("Reset"); ?> </strong> </button> <div class="floatright"> <?php if (!$album->isDynamic()) { ?> <button type="button" title="<?php echo gettext('New subalbum'); ?> " onclick="javascript:newAlbum('<?php echo pathurlencode($album->name); ?> ',true);"> <img src="images/folder.png" alt="" /> <strong><?php echo gettext('New subalbum'); ?> </strong> </button> <?php } ?> <a title="<?php echo gettext('View Album'); ?> " href="<?php echo WEBPATH . "/index.php?album=" . pathurlencode($album->getFolder()); ?> "> <img src="images/view.png" alt="" /> <strong><?php echo gettext('View Album'); ?> </strong> </a> </div> </span> <br clear="all" /><br /> <table> <tr> <td width="70%" valign="top"> <table> <tr> <td valign="top"><?php echo gettext("Owner"); ?> </td> <td> <?php if (zp_loggedin(MANAGE_ALL_ALBUM_RIGHTS)) { ?> <select name="<?php echo $prefix; ?> -owner"> <?php echo admin_album_list($album->getOwner()); ?> </select> <?php } else { echo $album->getOwner(); } ?> </td> </tr> <tr> <td align="left" valign="top" width="150"> <?php echo gettext("Album Title"); ?> : </td> <td> <?php print_language_string_list($album->get('title'), $prefix . "albumtitle"); ?> </td> </tr> <tr> <td align="left" valign="top" > <?php echo gettext("Album Description:"); ?> </td> <td> <?php print_language_string_list($album->get('desc'), $prefix . "albumdesc", true, NULL, 'texteditor'); ?> </td> </tr> <?php if (GALLERY_SECURITY != 'private') { ?> <tr class="password<?php echo $suffix; ?> extrashow" <?php if (GALLERY_SECURITY == 'private') { echo 'style="display:none"'; } ?> > <td align="left" valign="top"> <p> <a href="javascript:toggle_passwords('<?php echo $suffix; ?> ',true);"> <?php echo gettext("Album password:"******"images/lock_open.png" /> <?php } else { $x = ' '; ?> <a onclick="resetPass();" title="<?php echo gettext('clear password'); ?> "><img src="images/lock.png" /></a> <?php } ?> </td> </tr> <tr class="password<?php echo $suffix; ?> extrahide" style="display:none" > <td align="left" valign="top"> <p> <a href="javascript:toggle_passwords('<?php echo $suffix; ?> ',false);"> <?php echo gettext("Album guest user:"******"Album password:"******"repeat:"); ?> </p> <p> <?php echo gettext("Password hint:"); ?> </p> </td> <td> <p> <input type="text" size="<?php echo TEXT_INPUT_SIZE; ?> " id="user_name" name="<?php echo $prefix; ?> albumuser" value="<?php echo $album->getUser(); ?> " /> </p> <p> <input type="password" size="<?php echo TEXT_INPUT_SIZE; ?> " id="pass" name="<?php echo $prefix; ?> albumpass" value="<?php echo $x; ?> " /> <br /> <input type="password" size="<?php echo TEXT_INPUT_SIZE; ?> " id="pass_2" name="<?php echo $prefix; ?> albumpass_2" value="<?php echo $x; ?> " /> </p> <p> <?php print_language_string_list($album->get('password_hint'), $prefix . "albumpass_hint", false, NULL, 'hint'); ?> </p> </td> </tr> <?php } $d = $album->getDateTime(); if ($d == "0000-00-00 00:00:00") { $d = ""; } ?> <tr> <td align="left" valign="top"><?php echo gettext("Date:"); ?> </td> <td width="400"> <script type="text/javascript"> // <!-- <![CDATA[ $(function() { $("#datepicker<?php echo $suffix; ?> ").datepicker({ showOn: 'button', buttonImage: 'images/calendar.png', buttonText: '<?php echo gettext('calendar'); ?> ', buttonImageOnly: true }); }); // ]]> --> </script> <input type="text" id="datepicker<?php echo $suffix; ?> " size="20" name="<?php echo $prefix; ?> albumdate" value="<?php echo $d; ?> " /> </td> </tr> <tr> <td align="left" valign="top"><?php echo gettext("Location:"); ?> </td> <td> <?php print_language_string_list($album->getLocation(), $prefix . "albumlocation"); ?> </td> </tr> <?php $custom = zp_apply_filter('edit_album_custom_data', '', $album, $prefix); if (empty($custom)) { ?> <tr> <td align="left" valign="top"><?php echo gettext("Custom data:"); ?> </td> <td><?php print_language_string_list($album->get('custom_data'), $prefix . "album_custom_data", true, NULL, 'texteditor_albumcustomdata'); ?> </td> </tr> <?php } else { echo $custom; } $sort = $sortby; if (!$album->isDynamic()) { $sort[gettext('Manual')] = 'manual'; } $sort[gettext('Custom')] = 'custom'; /* * not recommended--screws with peoples minds during pagination! $sort[gettext('Random')] = 'random'; */ ?> <tr> <td align="left" valign="top"><?php echo gettext("Sort subalbums by:"); ?> </td> <td> <span class="nowrap"> <select id="albumsortselect<?php echo $prefix; ?> " name="<?php echo $prefix; ?> subalbumsortby" onchange="update_direction(this,'album_direction_div<?php echo $suffix; ?> ','album_custom_div<?php echo $suffix; ?> ')"> <?php if (is_null($album->getParent())) { $globalsort = gettext("*gallery album sort order"); } else { $globalsort = gettext("*parent album subalbum sort order"); } echo "\n<option value =''>{$globalsort}</option>"; $cvt = $type = strtolower($album->get('subalbum_sort_type')); if ($type && !in_array($type, $sort)) { $cv = array('custom'); } else { $cv = array($type); } generateListFromArray($cv, $sort, false, true); ?> </select> <?php if ($type == 'manual' || $type == 'random' || $type == '') { $dsp = 'none'; } else { $dsp = 'inline'; } ?> <label id="album_direction_div<?php echo $suffix; ?> " style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <?php echo gettext("Descending"); ?> <input type="checkbox" name="<?php echo $prefix; ?> album_sortdirection" value="1" <?php if ($album->getSortDirection('album')) { echo "CHECKED"; } ?> /> </label> </span> <?php $flip = array_flip($sort); if (empty($type) || isset($flip[$type])) { $dsp = 'none'; } else { $dsp = 'block'; } ?> <span id="album_custom_div<?php echo $suffix; ?> " class="customText" style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <br /> <?php echo gettext('custom fields:'); ?> <input id="customalbumsort<?php echo $suffix; ?> " class="customalbumsort" name="<?php echo $prefix; ?> customalbumsort" type="text" value="<?php echo html_encode($cvt); ?> "></input> </span> </td> </tr> <tr> <td align="left" valign="top"><?php echo gettext("Sort images by:"); ?> </td> <td> <span class="nowrap"> <select id="imagesortselect<?php echo $prefix; ?> " name="<?php echo $prefix; ?> sortby" onchange="update_direction(this,'image_direction_div<?php echo $suffix; ?> ','image_custom_div<?php echo $suffix; ?> ')"> <?php if (is_null($album->getParent())) { $globalsort = gettext("*gallery image sort order"); } else { $globalsort = gettext("*parent album image sort order"); } ?> <option value =""><?php echo $globalsort; ?> </option> <?php $cvt = $type = strtolower($album->get('sort_type')); if ($type && !in_array($type, $sort)) { $cv = array('custom'); } else { $cv = array($type); } generateListFromArray($cv, $sort, false, true); ?> </select> <?php if ($type == 'manual' || $type == 'random' || $type == '') { $dsp = 'none'; } else { $dsp = 'inline'; } ?> <label id="image_direction_div<?php echo $suffix; ?> " style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <?php echo gettext("Descending"); ?> <input type="checkbox" name="<?php echo $prefix; ?> image_sortdirection" value="1" <?php if ($album->getSortDirection('image')) { echo ' checked="checked"'; } ?> /> </label> </span> <?php $flip = array_flip($sort); if (empty($type) || isset($flip[$type])) { $dsp = 'none'; } else { $dsp = 'block'; } ?> <span id="image_custom_div<?php echo $suffix; ?> " class="customText" style="display:<?php echo $dsp; ?> ;white-space:nowrap;"> <br /> <?php echo gettext('custom fields:'); ?> <input id="customimagesort<?php echo $suffix; ?> " class="customimagesort" name="<?php echo $prefix; ?> customimagesort" type="text" value="<?php echo html_encode($cvt); ?> "></input> </span> </td> </tr> <?php if (is_null($album->getParent())) { ?> <tr> <td align="left" valign="top"><?php echo gettext("Album theme:"); ?> </td> <td> <select id="album_theme" class="album_theme" name="<?php echo $prefix; ?> album_theme" <?php if (!zp_loggedin(THEMES_RIGHTS)) { echo 'disabled="disabled" '; } ?> > <?php $themes = $gallery->getThemes(); $oldtheme = $album->getAlbumTheme(); if (empty($oldtheme)) { $selected = 'selected="selected"'; } else { $selected = ''; } ?> <option value="" style="background-color:LightGray" <?php echo $selected; ?> ><?php echo gettext('*gallery theme'); ?> </option> <?php foreach ($themes as $theme => $themeinfo) { if ($oldtheme == $theme) { $selected = 'selected="selected"'; } else { $selected = ''; } ?> <option value = "<?php echo $theme; ?> " <?php echo $selected; ?> ><?php echo $themeinfo['name']; ?> </option> <?php } ?> </select> </td> </tr> <?php } if (!$album->isDynamic()) { ?> <tr> <td align="left" valign="top" width="150"><?php echo gettext("Album watermarks:"); ?> </td> <td> <?php $current = $album->getWatermark(); ?> <select id="album_watermark" name="<?php echo $prefix; ?> album_watermark"> <option value="<?php echo NO_WATERMARK; ?> " <?php if ($current == NO_WATERMARK) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*no watermark'); ?> </option> <option value="" <?php if (empty($current)) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*default'); ?> </option> <?php $watermarks = getWatermarks(); generateListFromArray(array($current), $watermarks, false, false); ?> </select> <?php echo gettext('Images'); ?> </td> </tr> <tr> <td align="left" valign="top" width="150"></td> <td> <?php $current = $album->getWatermarkThumb(); ?> <select id="album_watermark_thumb" name="<?php echo $prefix; ?> album_watermark_thumb"> <option value="<?php echo NO_WATERMARK; ?> " <?php if ($current == NO_WATERMARK) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*no watermark'); ?> </option> <option value="" <?php if (empty($current)) { echo ' selected="selected"'; } ?> style="background-color:LightGray"><?php echo gettext('*default'); ?> </option> <?php $watermarks = getWatermarks(); generateListFromArray(array($current), $watermarks, false, false); ?> </select> <?php echo gettext('Thumbs'); ?> </td> </tr> <?php } if ($index == 0) { // suppress for mass-edit ?> <tr> <td align="left" valign="top" width="150"><?php echo gettext("Thumbnail:"); ?> </td> <td> <?php $showThumb = $gallery->getThumbSelectImages(); $thumb = $album->get('thumb'); if ($showThumb) { ?> <script type="text/javascript"> // <!-- <![CDATA[ updateThumbPreview(document.getElementById('thumbselect')); // ]]> --> </script> <?php } ?> <select style="width:320px" <?php if ($showThumb) { ?> class="thumbselect" onchange="updateThumbPreview(this)" <?php } ?> name="<?php echo $prefix; ?> thumb"> <option <?php if ($showThumb) { ?> class="thumboption" style="background-color:#B1F7B6"<?php } if ($thumb === '1') { ?> selected="selected"<?php } ?> value="1"><?php echo $_thumb_field_text[getOption('AlbumThumbSelectField')]; ?> </option> <option <?php if ($showThumb) { ?> class="thumboption" style="background-color:#B1F7B6" <?php } ?> <?php if (empty($thumb) && $thumb !== '1') { ?> selected="selected" <?php } ?> value=""><?php echo gettext('randomly selected'); ?> </option> <?php if ($album->isDynamic()) { $params = $album->getSearchParams(); $search = new SearchEngine(true); $search->setSearchParams($params); $images = $search->getImages(0); $thumb = $album->get('thumb'); $imagelist = array(); foreach ($images as $imagerow) { $folder = $imagerow['folder']; $filename = $imagerow['filename']; $imagelist[] = '/' . $folder . '/' . $filename; } if (count($imagelist) == 0) { $subalbums = $search->getAlbums(0); foreach ($subalbums as $folder) { $newalbum = new Album($gallery, $folder); if (!$newalbum->isDynamic()) { $images = $newalbum->getImages(0); foreach ($images as $filename) { $imagelist[] = '/' . $folder . '/' . $filename; } } } } foreach ($imagelist as $imagepath) { $list = explode('/', $imagepath); $filename = $list[count($list) - 1]; unset($list[count($list) - 1]); $folder = implode('/', $list); $albumx = new Album($gallery, $folder); $image = newImage($albumx, $filename); $selected = $imagepath == $thumb; echo "\n<option"; if ($showThumb) { echo " class=\"thumboption\""; echo " style=\"background-image: url(" . html_encode($image->getSizedImage(80)) . "); background-repeat: no-repeat;\""; } echo " value=\"" . $imagepath . "\""; if ($selected) { echo " selected=\"selected\""; } echo ">" . $image->getTitle(); echo " ({$imagepath})"; echo "</option>"; } } else { $images = $album->getImages(); if (count($images) == 0 && $album->getNumAlbums() > 0) { $imagearray = array(); $albumnames = array(); $strip = strlen($album->name) + 1; $subIDs = getAllSubAlbumIDs($album->name); if (!is_null($subIDs)) { foreach ($subIDs as $ID) { $albumnames[$ID['id']] = $ID['folder']; $query = 'SELECT `id` , `albumid` , `filename` , `title` FROM ' . prefix('images') . ' WHERE `albumid` = "' . $ID['id'] . '"'; $imagearray = array_merge($imagearray, query_full_array($query)); } foreach ($imagearray as $imagerow) { $filename = $imagerow['filename']; $folder = $albumnames[$imagerow['albumid']]; $imagepath = substr($folder, $strip) . '/' . $filename; if (substr($imagepath, 0, 1) == '/') { $imagepath = substr($imagepath, 1); } $albumx = new Album($gallery, $folder); $image = newImage($albumx, $filename); if (is_valid_image($filename)) { $selected = $imagepath == $thumb; echo "\n<option"; if ($gallery->getThumbSelectImages()) { echo " class=\"thumboption\""; echo " style=\"background-image: url(" . html_encode($image->getSizedImage(80)) . "); background-repeat: no-repeat;\""; } echo " value=\"" . $imagepath . "\""; if ($selected) { echo " selected=\"selected\""; } echo ">" . $image->getTitle(); echo " ({$imagepath})"; echo "</option>"; } } } } else { foreach ($images as $filename) { $image = newImage($album, $filename); $selected = $filename == $album->get('thumb'); if (is_valid_image($filename)) { echo "\n<option"; if ($gallery->getThumbSelectImages()) { echo " class=\"thumboption\""; echo " style=\"background-image: url(" . html_encode($image->getSizedImage(80)) . "); background-repeat: no-repeat;\""; } echo " value=\"" . $filename . "\""; if ($selected) { echo " selected=\"selected\""; } echo ">" . $image->getTitle(); if ($filename != $image->getTitle()) { echo " ({$filename})"; } echo "</option>"; } } } } ?> </select> </td> </tr> <?php } ?> <tr valign="top"> <td class="topalign-nopadding"><br /><?php echo gettext("Codeblocks:"); ?> </td> <td> <br /> <div class="tabs"> <ul class="tabNavigation"> <li><a href="#first"><?php echo gettext("Codeblock 1"); ?> </a></li> <li><a href="#second"><?php echo gettext("Codeblock 2"); ?> </a></li> <li><a href="#third"><?php echo gettext("Codeblock 3"); ?> </a></li> </ul> <?php $getcodeblock = $album->getCodeblock(); if (!empty($getcodeblock)) { $codeblock = unserialize($getcodeblock); } else { $codeblock[1] = ""; $codeblock[2] = ""; $codeblock[3] = ""; } ?> <div id="first"> <textarea name="<?php echo $prefix; ?> codeblock1" id="codeblock1<?php echo $suffix; ?> " rows="40" cols="60"><?php echo html_encode($codeblock[1]); ?> </textarea> </div> <div id="second"> <textarea name="<?php echo $prefix; ?> codeblock2" id="codeblock2<?php echo $suffix; ?> " rows="40" cols="60"><?php echo html_encode($codeblock[2]); ?> </textarea> </div> <div id="third"> <textarea name="<?php echo $prefix; ?> codeblock3" id="codeblock3<?php echo $suffix; ?> " rows="40" cols="60"><?php echo html_encode($codeblock[3]); ?> </textarea> </div> </div> </td> </tr> </table> </td> <?php $bglevels = array('#fff', '#f8f8f8', '#efefef', '#e8e8e8', '#dfdfdf', '#d8d8d8', '#cfcfcf', '#c8c8c8'); ?> <td valign="top"> <h2 class="h2_bordered_edit"><?php echo gettext("General"); ?> </h2> <div class="box-edit"> <label class="checkboxlabel"> <input type="checkbox" name="<?php echo $prefix; ?> Published" value="1" <?php if ($album->getShow()) { echo ' checked="checked"'; } ?> /> <?php echo gettext("Published"); ?> </label> <label class="checkboxlabel"> <input type="checkbox" name="<?php echo $prefix . 'allowcomments'; ?> " value="1" <?php if ($album->getCommentsAllowed()) { echo ' checked="checked"'; } ?> /> <?php echo gettext("Allow Comments"); ?> </label> <?php $hc = $album->get('hitcounter'); if (empty($hc)) { $hc = '0'; } ?> <label class="checkboxlabel"> <input type="checkbox" name="<?php echo $prefix; ?> reset_hitcounter" /> <?php echo sprintf(gettext("Reset hitcounter (%u hits)"), $hc); ?> </label> <?php $tv = $album->get('total_value'); $tc = $album->get('total_votes'); if ($tc > 0) { $hc = $tv / $tc; ?> <label class="checkboxlabel"> <input type="checkbox" id="reset_rating<?php echo $suffix; ?> " name="<?php echo $prefix; ?> reset_rating" value="1" /> <?php printf(gettext('Reset rating (%u stars)'), $hc); ?> </label> <?php } else { ?> <label class="checkboxlabel"> <input type="checkbox" name="<?php echo $prefix; ?> reset_rating" value="1" disabled="disabled"/> <?php echo gettext('Reset rating (unrated)'); ?> </label> <?php } ?> <br clear="all" /> </div> <!-- **************** Move/Copy/Rename ****************** --> <h2 class="h2_bordered_edit"><?php echo gettext("Utilities"); ?> </h2> <div class="box-edit"> <label class="checkboxlabel"> <input type="radio" id="a-<?php echo $prefix; ?> move" name="a-<?php echo $prefix; ?> MoveCopyRename" value="move" onclick="toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', 'movecopy');"/> <?php echo gettext("Move"); ?> </label> <label class="checkboxlabel"> <input type="radio" id="a-<?php echo $prefix; ?> copy" name="a-<?php echo $prefix; ?> MoveCopyRename" value="copy" onclick="toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', 'movecopy');"/> <?php echo gettext("Copy"); ?> </label> <label class="checkboxlabel"> <input type="radio" id="a-<?php echo $prefix; ?> rename" name="a-<?php echo $prefix; ?> MoveCopyRename" value="rename" onclick="toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', 'rename');"/> <?php echo gettext("Rename Folder"); ?> </label> <label class="checkboxlabel"> <input type="radio" id="Delete-<?php echo $prefix; ?> " name="a-<?php echo $prefix; ?> MoveCopyRename" value="delete" onclick="image_deleteconfirm(this,'<?php echo $prefix; ?> ',deleteAlbum1)" /> <?php echo gettext("Delete album"); ?> </label> <br clear="all" /> <div class="deletemsg" id="deletemsg<?php echo $prefix; ?> " style="padding-top: .5em; padding-left: .5em; color: red; display: none"> <?php echo gettext('Album will be deleted when changes are applied.'); ?> <p class="buttons"><a href="javascript:toggleMoveCopyRename('<?php echo $prefix; ?> ', '');"><img src="images/reset.png" alt="" /><?php echo gettext("Cancel"); ?> </a></p> </div> <div id="a-<?php echo $prefix; ?> movecopydiv" style="padding-top: .5em; padding-left: .5em; display: none;"> <?php echo gettext("to:"); ?> <select id="a-<?php echo $prefix; ?> albumselectmenu" name="a-<?php echo $prefix; ?> albumselect" onchange=""> <?php $exclude = $album->name; if (count(explode('/', $exclude)) > 1 && zp_loggedin(MANAGE_ALL_ALBUM_RIGHTS)) { ?> <option value="" selected="selected">/</option> <?php } foreach ($mcr_albumlist as $fullfolder => $albumtitle) { // don't allow copy in place or to subalbums if ($fullfolder == dirname($exclude) || $fullfolder == $exclude || strpos($fullfolder, $exclude . '/') === 0) { $disabled = ' disabled="disabled"'; } else { $disabled = ''; } // Get rid of the slashes in the subalbum, while also making a subalbum prefix for the menu. $singlefolder = $fullfolder; $saprefix = ''; $salevel = 0; while (strstr($singlefolder, '/') !== false) { $singlefolder = substr(strstr($singlefolder, '/'), 1); $saprefix = " " . $saprefix; $salevel = ($salevel + 1) % 8; } echo '<option value="' . $fullfolder . '"' . ($salevel > 0 ? ' style="background-color: ' . $bglevels[$salevel] . ';"' : '') . "{$disabled}>" . $saprefix . $singlefolder . "</option>\n"; } ?> </select> <br clear="all" /><br /> <p class="buttons"> <a href="javascript:toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', '');"><img src="images/reset.png" alt="" /><?php echo gettext("Cancel"); ?> </a> </p> </div> <div id="a-<?php echo $prefix; ?> renamediv" style="padding-top: .5em; padding-left: .5em; display: none;"> <?php echo gettext("to:"); ?> <input name="a-<?php echo $prefix; ?> renameto" type="text" value="<?php echo basename($album->name); ?> "/><br /> <br clear="all" /> <p class="buttons"> <a href="javascript:toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', '');"><img src="images/reset.png" alt="" /><?php echo gettext("Cancel"); ?> </a> </p> </div> <span style="line-height: 0em;"><br clear="all" /></span> <?php echo zp_apply_filter('edit_album_utilities', '', $album, $prefix); ?> <span style="line-height: 0em;"><br clear="all" /></span> </div> <h2 class="h2_bordered_edit"><?php echo gettext("Tags"); ?> </h2> <div class="box-edit-unpadded"> <?php $tagsort = getTagOrder(); tagSelector($album, 'tags_' . $prefix, false, $tagsort); ?> </div> </td> </tr> </table> <?php if ($album->isDynamic()) { ?> <table> <tr> <td align="left" valign="top" width="150"><?php echo gettext("Dynamic album search:"); ?> </td> <td> <table class="noinput"> <tr> <td><?php echo html_encode(urldecode($album->getSearchParams())); ?> </td> </tr> </table> </td> </tr> </table> <?php } ?> <br clear="all" /> <span class="buttons"> <a title="<?php echo gettext('Back to the album list'); ?> " href="<?php echo WEBPATH . '/' . ZENFOLDER . '/admin-edit.php?page=edit' . $parent; ?> "> <img src="images/arrow_left_blue_round.png" alt="" /> <strong><?php echo gettext("Back"); ?> </strong> </a> <button type="submit" title="<?php echo gettext("Apply"); ?> "> <img src="images/pass.png" alt="" /> <strong><?php echo gettext("Apply"); ?> </strong> </button> <button type="reset" title="<?php echo gettext("Reset"); ?> " onclick="javascript:$('.deletemsg').hide();"> <img src="images/fail.png" alt="" /> <strong><?php echo gettext("Reset"); ?> </strong> </button> <div class="floatright"> <?php if (!$album->isDynamic()) { ?> <button type="button" title="<?php echo gettext('New subalbum'); ?> " onclick="javascript:newAlbum('<?php echo pathurlencode($album->name); ?> ',true);"> <img src="images/folder.png" alt="" /> <strong><?php echo gettext('New subalbum'); ?> </strong> </button> <?php } ?> <a title="<?php echo gettext('View Album'); ?> " href="<?php echo WEBPATH . "/index.php?album=" . pathurlencode($album->getFolder()); ?> "> <img src="images/view.png" alt="" /> <strong><?php echo gettext('View Album'); ?> </strong> </a> </div> </span> <br clear="all" /> <?php }
/** * emits the html for editing album information * called in edit album and mass edit *@param string param1 the index of the entry in mass edit or '0' if single album *@param object param2 the album object *@since 1.1.3 */ function printAlbumEditForm($index, $album) { // Note: This is some pretty confusing spaghetti code with all the echo statements. // Please refactor it so the HTML is readable and easily editable. // FYI: It's perfectly acceptable to drop out of php-parsing mode in a function. // See the move/copy/rename block for an example. global $sortby, $gallery, $_zp_loggedin, $mcr_albumlist, $albumdbfields, $imagedbfields; $tagsort = getTagOrder(); if ($index == 0) { if (isset($saved)) { $album->setSubalbumSortType('manual'); } $suffix = $prefix = ''; } else { $prefix = "{$index}-"; $suffix = "_{$index}"; echo "<p><em><strong>" . $album->name . "</strong></em></p>"; } echo "\n<input type=\"hidden\" name=\"" . $prefix . "folder\" value=\"" . $album->name . "\" />"; echo "\n" . '<input type="hidden" name="tagsort" value=' . $tagsort . ' />'; echo "\n<table>"; echo "\n<td width = \"60%\">\n<table>\n<tr>"; echo "\n<tr>"; echo "<td align=\"right\" valign=\"top\" width=\"150\">" . gettext("Album Title") . ": </td>"; echo '<td>'; print_language_string_list($album->get('title'), $prefix . "albumtitle", false); echo "</td></tr>\n"; echo '<tr><td></td>'; $hc = $album->get('hitcounter'); if (empty($hc)) { $hc = '0'; } echo "<td>"; echo sprintf(gettext("Hit counter: %u"), $hc) . " <input type=\"checkbox\" name=\"reset_hitcounter\"> Reset"; $tv = $album->get('total_value'); $tc = $album->get('total_votes'); echo ' '; if ($tc > 0) { $hc = $tv / $tc; printf(gettext('Rating: <strong>%u</strong>'), $hc); echo "<label for=\"" . $prefix . "reset_rating\"><input type=\"checkbox\" id=\"" . $prefix . "reset_rating\" name=\"" . $prefix . "reset_rating\" value=1> " . gettext("Reset") . "</label> "; } else { echo gettext("Rating: Unrated"); } echo "</td>"; echo '</tr>'; echo "\n<tr><td align=\"right\" valign=\"top\">" . gettext("Album Description:") . " </td> <td>"; print_language_string_list($album->get('desc'), $prefix . "albumdesc", true, NULL, 'texteditor'); echo "</td></tr>"; echo "\n<tr><td align=\"right\" value=\"top\">" . gettext("Album guest user:"******"\n<td><input type='text' size='48' name='" . $prefix . "albumuser' value='" . $album->getUser() . "' /></td></tr>"; echo "\n<tr>"; echo "\n<td align=\"right\">" . gettext("Album password:"******" <br/>" . gettext("repeat:") . " </td>"; echo "\n<td>"; $x = $album->getPassword(); if (!empty($x)) { $x = ' '; } echo "\n<input type=\"password\" size=\"48\" name=\"" . $prefix . "albumpass\""; echo "\nvalue=\"" . $x . '" /><br/>'; echo "\n<input type=\"password\" size=\"48\" name=\"" . $prefix . "albumpass_2\""; echo "\nvalue=\"" . $x . '" />'; echo "\n</td>"; echo "\n</tr>"; echo "\n<tr><td align=\"right\" valign=\"top\">" . gettext("Password hint:") . " </td> <td>"; print_language_string_list($album->get('password_hint'), $prefix . "albumpass_hint", false); echo "</td></tr>"; $d = $album->getDateTime(); if ($d == "0000-00-00 00:00:00") { $d = ""; } echo "\n<tr><td align=\"right\" valign=\"top\">" . gettext("Date:") . " </td> <td width = \"400\"><input type=\"text\" size='48' name=\"" . $prefix . "albumdate\" value=\"" . $d . '" /></td></tr>'; echo "\n<tr><td align=\"right\" valign=\"top\">" . gettext("Location:") . " </td> <td>"; print_language_string_list($album->get('place'), $prefix . "albumplace", false); echo "</td></tr>"; echo "\n<tr><td align=\"right\" valign=\"top\">" . gettext("Custom data:") . "</td><td>"; print_language_string_list($album->get('custom_data'), $prefix . "album_custom_data", true); echo "</td></tr>"; $sort = $sortby; if (!$album->isDynamic()) { $sort[gettext('Manual')] = 'manual'; } $sort[gettext('Custom')] = 'custom'; echo "\n<tr>"; echo "\n<td align=\"right\" valign=\"top\">" . gettext("Sort subalbums by:") . " </td>"; echo "\n<td>"; // script to test for what is selected $javaprefix = 'js_' . preg_replace("/[^a-z0-9_]/", "", strtolower($prefix)); ?> <table> <tr> <td> <select id="sortselect" name="<?php echo $prefix; ?> subalbumsortby" onchange="update_direction(this,'<?php echo $javaprefix; ?> album_direction_div','<?php echo $javaprefix; ?> album_custom_div')"> <?php if (is_null($album->getParent())) { $globalsort = gettext("gallery album sort order"); } else { $globalsort = gettext("parent album subalbum sort order"); } echo "\n<option value =''>{$globalsort}</option>"; $cvt = $type = strtolower($album->get('subalbum_sort_type')); generateListFromArray(array($type), $sort, false, true); ?> </select> </td> <td> <?php if ($type == 'manual' || $type == '') { $dsp = 'none'; } else { $dsp = 'block'; } echo "\n<span id=\"" . $javaprefix . "album_direction_div\" style=\"display:" . $dsp . "\">"; echo " " . gettext("Descending") . " <input type=\"checkbox\" name=\"" . $prefix . "album_sortdirection\" value=\"1\""; if ($album->getSortDirection('album')) { echo "CHECKED"; } echo ">"; echo '</span>'; $flip = array_flip($sort); if (empty($type) || isset($flip[$type])) { $dsp = 'none'; } else { $dsp = 'block'; } ?> </td> </tr> <script type="text/javascript"> $(function () { $('#<?php echo $javaprefix; ?> customalbumsort').tagSuggest({ tags: [<?php echo $albumdbfields; ?> ] }); }); </script> <tr> <td colspan="2"> <span id="<?php echo $javaprefix; ?> album_custom_div" class="customText" style="display:<?php echo $dsp; ?> "> <?php echo gettext('custom fields:'); ?> <input id="<?php echo $javaprefix; ?> customalbumsort" name="<?php echo $prefix; ?> customalbumsort" type="text" value="<?php echo $cvt; ?> "></input> </span> </td> </tr> </table> <?php echo "\n</td>"; echo "\n</tr>"; echo "\n<tr>"; echo "\n<td align=\"right\" valign=\"top\">" . gettext("Sort images by:") . " </td>"; echo "\n<td>"; // script to test for what is selected $javaprefix = 'js_' . preg_replace("/[^a-z0-9_]/", "", strtolower($prefix)); ?> <table> <tr> <td> <select id="sortselect" name="<?php echo $prefix; ?> sortby" onchange="update_direction(this,'<?php echo $javaprefix; ?> image_direction_div','<?php echo $javaprefix; ?> image_custom_div')"> <?php if (is_null($album->getParent())) { $globalsort = gettext("gallery default image sort order"); } else { $globalsort = gettext("parent album image sort order"); } echo "\n<option value =''>{$globalsort}</option>"; $cvt = $type = strtolower($album->get('sort_type')); generateListFromArray(array($type), $sort, false, true); ?> </select> </td> <td> <?php if ($type == 'manual' || $type == '') { $dsp = 'none'; } else { $dsp = 'block'; } echo "\n<span id=\"" . $javaprefix . "image_direction_div\" style=\"display:" . $dsp . "\">"; echo " " . gettext("Descending") . " <input type=\"checkbox\" name=\"" . $prefix . "image_sortdirection\" value=\"1\""; if ($album->getSortDirection('image')) { echo "CHECKED"; } echo ">"; echo '</span>'; $flip = array_flip($sort); if (empty($type) || isset($flip[$type])) { $dsp = 'none'; } else { $dsp = 'block'; } ?> </td> </tr> <script type="text/javascript"> $(function () { $('#<?php echo $javaprefix; ?> customimagesort').tagSuggest({ tags: [<?php echo $imagedbfields; ?> ] }); }); </script> <tr> <td colspan="2"> <span id="<?php echo $javaprefix; ?> image_custom_div" class="customText" style="display:<?php echo $dsp; ?> "> <?php echo gettext('custom fields:'); ?> <input id="<?php echo $javaprefix; ?> customimagesort" name="<?php echo $prefix; ?> customimagesort" type="text" value="<?php echo $cvt; ?> "></input> </span> </td> </tr> </table> <?php echo "\n</td>"; echo "\n</tr>"; echo "\n<tr>"; echo "\n<td align=\"right\" valign=\"top\"></td><td><input type=\"checkbox\" name=\"" . $prefix . "allowcomments\" value=\"1\""; if ($album->getCommentsAllowed()) { echo "CHECKED"; } echo "> " . gettext("Allow Comments") . " "; echo "<input type=\"checkbox\" name=\"" . $prefix . "Published\" value=\"1\""; if ($album->getShow()) { echo "CHECKED"; } echo "> " . gettext("Published") . " "; echo "</td>\n</tr>"; if (is_null($album->getParent())) { echo "\n<tr>"; echo "\n<td align=\"right\" valign=\"top\">" . gettext("Album theme:") . " </td> "; echo "\n<td>"; echo "\n<select id=\"album_theme\" class=\"album_theme\" name=\"" . $prefix . "album_theme\" "; if (!($_zp_loggedin & (ADMIN_RIGHTS | THEMES_RIGHTS))) { echo "DISABLED "; } echo ">"; $themes = $gallery->getThemes(); $oldtheme = $album->getAlbumTheme(); if (empty($oldtheme)) { echo "<option value = \"\" selected=\"SELECTED\" />"; } else { echo "<option value = \"\" />"; } echo "</option>"; foreach ($themes as $theme => $themeinfo) { echo "<option value = \"{$theme}\""; if ($oldtheme == $theme) { echo "selected = \"SELECTED\""; } echo "\t/>"; echo $themeinfo['name']; echo "</option>"; } echo "\n</select>"; echo "\n</td>"; echo "\n</tr>"; } echo "\n</table>\n</td>"; echo "\n<td valign=\"top\">"; $bglevels = array('#fff', '#f8f8f8', '#efefef', '#e8e8e8', '#dfdfdf', '#d8d8d8', '#cfcfcf', '#c8c8c8'); /* **************** Move/Copy/Rename ****************** */ ?> <label for="a-<?php echo $prefix; ?> move" style="padding-right: .5em"> <input type="radio" id="a-<?php echo $prefix; ?> move" name="a-<?php echo $prefix; ?> MoveCopyRename" value="move" onclick="toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', 'movecopy');"/> <?php echo gettext("Move"); ?> </label> <label for="a-<?php echo $prefix; ?> copy" style="padding-right: .5em"> <input type="radio" id="a-<?php echo $prefix; ?> copy" name="a-<?php echo $prefix; ?> MoveCopyRename" value="copy" onclick="toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', 'movecopy');"/> <?php echo gettext("Copy"); ?> </label> <label for="a-<?php echo $prefix; ?> rename" style="padding-right: .5em"> <input type="radio" id="a-<?php echo $prefix; ?> rename" name="a-<?php echo $prefix; ?> MoveCopyRename" value="rename" onclick="toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', 'rename');"/> <?php echo gettext("Rename Folder"); ?> </label> <div id="a-<?php echo $prefix; ?> movecopydiv" style="padding-top: .5em; padding-left: .5em; display: none;"> <?php echo gettext("to"); ?> : <select id="a-<?php echo $prefix; ?> albumselectmenu" name="a-<?php echo $prefix; ?> albumselect" onChange=""> <option value="" selected="selected">/</option> <?php foreach ($mcr_albumlist as $fullfolder => $albumtitle) { $singlefolder = $fullfolder; $saprefix = ""; $salevel = 0; $selected = ""; if ($album->name == $fullfolder) { continue; } // Get rid of the slashes in the subalbum, while also making a subalbum prefix for the menu. while (strstr($singlefolder, '/') !== false) { $singlefolder = substr(strstr($singlefolder, '/'), 1); $saprefix = " " . $saprefix; $salevel++; } echo '<option value="' . $fullfolder . '"' . ($salevel > 0 ? ' style="background-color: ' . $bglevels[$salevel] . ';"' : '') . "{$selected}>" . $saprefix . $singlefolder . "</option>\n"; } ?> </select> <p style="text-align: right;"> <a href="javascript:toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', '');"><?php echo gettext("Cancel"); ?> </a> </p> </div> <div id="a-<?php echo $prefix; ?> renamediv" style="padding-top: .5em; padding-left: .5em; display: none;"> <?php echo gettext("to"); ?> : <input name="a-<?php echo $prefix; ?> renameto" type="text" size="35" value="<?php echo basename($album->name); ?> "/><br /> <p style="text-align: right; padding: .25em 0px;"> <a href="javascript:toggleAlbumMoveCopyRename('<?php echo $prefix; ?> ', '');"><?php echo gettext("Cancel"); ?> </a> </p> </div> <br/><br /> <?php echo gettext("Tags:"); $tagsort = getTagOrder(); tagSelector($album, 'tags_' . $prefix, false, $tagsort); echo "\n</td>\n</tr>"; echo "\n</table>"; echo "\n<table>"; if ($album->isDynamic()) { echo "\n<tr>"; echo "\n<td> </td>"; echo "\n<td align=\"right\" valign=\"top\" width=\"150\">" . gettext("Dynamic album search:") . "</td>"; echo "\n<td>"; echo "\n<table class=\"noinput\">"; echo "\n<tr><td >" . urldecode($album->getSearchParams()) . "</td></tr>"; echo "\n</table>"; echo "\n</td>"; echo "\n</tr>"; } echo "\n<tr>"; echo "\n<td> </td>"; echo "\n<td align=\"right\" valign=\"top\" width=\"150\">" . gettext("Thumbnail:") . " </td> "; echo "\n<td>"; $showThumb = getOption('thumb_select_images'); if ($showThumb) { echo "\n<script type=\"text/javascript\">updateThumbPreview(document.getElementById('thumbselect'));</script>"; } echo "\n<select id=\"\""; if ($showThumb) { echo " class=\"thumbselect\" onChange=\"updateThumbPreview(this)\""; } echo " name=\"" . $prefix . "thumb\">"; $thumb = $album->get('thumb'); echo "\n<option"; if ($showThumb) { echo " class=\"thumboption\" value=\"\" style=\"background-color:#B1F7B6\""; } if ($thumb === '1') { echo " selected=\"selected\""; } echo ' value="1">' . gettext('most recent'); echo '</option>'; echo "\n<option"; if ($showThumb) { echo " class=\"thumboption\" value=\"\" style=\"background-color:#B1F7B6\""; } if (empty($thumb) && $thumb !== '1') { echo " selected=\"selected\""; } echo ' value="">' . gettext('randomly selected'); echo '</option>'; if ($album->isDynamic()) { $params = $album->getSearchParams(); $search = new SearchEngine(); $search->setSearchParams($params); $images = $search->getImages(0); $thumb = $album->get('thumb'); $imagelist = array(); foreach ($images as $imagerow) { $folder = $imagerow['folder']; $filename = $imagerow['filename']; $imagelist[] = '/' . $folder . '/' . $filename; } if (count($imagelist) == 0) { $subalbums = $search->getAlbums(0); foreach ($subalbums as $folder) { $newalbum = new Album($gallery, $folder); if (!$newalbum->isDynamic()) { $images = $newalbum->getImages(0); foreach ($images as $filename) { $imagelist[] = '/' . $folder . '/' . $filename; } } } } foreach ($imagelist as $imagepath) { $list = explode('/', $imagepath); $filename = $list[count($list) - 1]; unset($list[count($list) - 1]); $folder = implode('/', $list); $albumx = new Album($gallery, $folder); $image = newImage($albumx, $filename); $selected = $imagepath == $thumb; echo "\n<option"; if ($showThumb) { echo " class=\"thumboption\""; echo " style=\"background-image: url(" . $image->getThumb() . "); background-repeat: no-repeat;\""; } echo " value=\"" . $imagepath . "\""; if ($selected) { echo " selected=\"selected\""; } echo ">" . $image->getTitle(); echo " ({$imagepath})"; echo "</option>"; } } else { $images = $album->getImages(); if (count($images) == 0 && count($album->getSubalbums()) > 0) { $imagearray = array(); $albumnames = array(); $strip = strlen($album->name) + 1; $subIDs = getAllSubAlbumIDs($album->name); if (!is_null($subIDs)) { foreach ($subIDs as $ID) { $albumnames[$ID['id']] = $ID['folder']; $query = 'SELECT `id` , `albumid` , `filename` , `title` FROM ' . prefix('images') . ' WHERE `albumid` = "' . $ID['id'] . '"'; $imagearray = array_merge($imagearray, query_full_array($query)); } foreach ($imagearray as $imagerow) { $filename = $imagerow['filename']; $folder = $albumnames[$imagerow['albumid']]; $imagepath = substr($folder, $strip) . '/' . $filename; if (substr($imagepath, 0, 1) == '/') { $imagepath = substr($imagepath, 1); } $albumx = new Album($gallery, $folder); $image = newImage($albumx, $filename); if (is_valid_image($filename)) { $selected = $imagepath == $thumb; echo "\n<option"; if (getOption('thumb_select_images')) { echo " class=\"thumboption\""; echo " style=\"background-image: url(" . $image->getThumb() . "); background-repeat: no-repeat;\""; } echo " value=\"" . $imagepath . "\""; if ($selected) { echo " selected=\"selected\""; } echo ">" . $image->getTitle(); echo " ({$imagepath})"; echo "</option>"; } } } } else { foreach ($images as $filename) { $image = newImage($album, $filename); $selected = $filename == $album->get('thumb'); if (is_valid_image($filename)) { echo "\n<option"; if (getOption('thumb_select_images')) { echo " class=\"thumboption\""; echo " style=\"background-image: url(" . $image->getThumb() . "); background-repeat: no-repeat;\""; } echo " value=\"" . $filename . "\""; if ($selected) { echo " selected=\"selected\""; } echo ">" . $image->getTitle(); if ($filename != $image->getTitle()) { echo " ({$filename})"; } echo "</option>"; } } } } echo "\n</select>"; echo "\n</td>"; echo "\n</tr>"; echo "\n</table>"; echo "\n<input type=\"submit\" value=\"" . gettext("save album") . "\" />"; }