echo "</div>\n";
}
$gallery = new Gallery();
$albumlist = array();
genAlbumUploadList($albumlist);
$params = trim(zp_getCookie('zenphoto_image_search_params'));
$search->setSearchParams($params);
$fields = $search->fields;
$words = trim($search->words);
$images = $search->getImages(0);
foreach ($images as $image) {
    $folder = $image['folder'];
    $filename = $image['filename'];
    $imagelist[] = '/' . $folder . '/' . $filename;
}
$subalbums = $search->getAlbums(0);
foreach ($subalbums as $folder) {
    getSubalbumImages($folder);
}
$albumname = trim($words);
$albumname = str_replace('!', ' NOT ', $albumname);
$albumname = str_replace('&', ' AND ', $albumname);
$albumname = str_replace('|', ' OR ', $albumname);
$albumname = sanitize_path($albumname);
$albumname = seoFriendlyURL($albumname);
$old = '';
while ($old != $albumname) {
    $old = $albumname;
    $albumname = str_replace('--', '-', $albumname);
}
?>
Beispiel #2
0
/**
 * recovers search parameters from stored cookie, clears the cookie
 *
 * @param string $what the page type
 * @param string $album Name of the album
 * @param string $image Name of the image
 */
function handleSearchParms($what, $album = NULL, $image = NULL)
{
    global $_zp_current_search, $zp_request, $_zp_last_album, $_zp_current_album, $_zp_current_zenpage_news, $_zp_current_zenpage_page, $_zp_gallery, $_zp_loggedin;
    $_zp_last_album = zp_getCookie('zenphoto_last_album');
    if (is_object($zp_request) && get_class($zp_request) == 'SearchEngine') {
        //	we are are on a search
        return $zp_request->getAlbumList();
    }
    $params = zp_getCookie('zenphoto_search_params');
    if (!empty($params)) {
        $context = get_context();
        $_zp_current_search = new SearchEngine();
        $_zp_current_search->setSearchParams($params);
        // check to see if we are still "in the search context"
        if (!is_null($image)) {
            $dynamic_album = $_zp_current_search->getDynamicAlbum();
            if ($_zp_current_search->getImageIndex($album->name, $image->filename) !== false) {
                if ($dynamic_album) {
                    $_zp_current_album = $dynamic_album;
                }
                $context = $context | ZP_SEARCH_LINKED | ZP_IMAGE_LINKED;
            }
        }
        if (!is_null($album)) {
            $albumname = $album->name;
            zp_setCookie('zenphoto_last_album', $albumname);
            if (hasDynamicAlbumSuffix($albumname) && !is_dir(ALBUM_FOLDER_SERVERPATH . $albumname)) {
                $albumname = stripSuffix($albumname);
                // strip off the suffix as it will not be reflected in the search path
            }
            //	see if the album is within the search context. NB for these purposes we need to look at all albums!
            $save_logon = $_zp_loggedin;
            $_zp_loggedin = $_zp_loggedin | VIEW_ALL_RIGHTS;
            $search_album_list = $_zp_current_search->getAlbums(0);
            $_zp_loggedin = $save_logon;
            foreach ($search_album_list as $searchalbum) {
                if (strpos($albumname, $searchalbum) !== false) {
                    $context = $context | ZP_SEARCH_LINKED | ZP_ALBUM_LINKED;
                    break;
                }
            }
        } else {
            zp_clearCookie('zenphoto_last_album');
        }
        if (!is_null($_zp_current_zenpage_page)) {
            $pages = $_zp_current_search->getPages();
            if (!empty($pages)) {
                $tltlelink = $_zp_current_zenpage_page->getTitlelink();
                foreach ($pages as $apage) {
                    if ($apage == $tltlelink) {
                        $context = $context | ZP_SEARCH_LINKED;
                        break;
                    }
                }
            }
        }
        if (!is_null($_zp_current_zenpage_news)) {
            $news = $_zp_current_search->getArticles(0, NULL, true);
            if (!empty($news)) {
                $tltlelink = $_zp_current_zenpage_news->getTitlelink();
                foreach ($news as $anews) {
                    if ($anews['titlelink'] == $tltlelink) {
                        $context = $context | ZP_SEARCH_LINKED;
                        break;
                    }
                }
            }
        }
        if ($context & ZP_SEARCH_LINKED) {
            set_context($context);
        } else {
            // not an object in the current search path
            $_zp_current_search = null;
            rem_context(ZP_SEARCH);
            if (!isset($_REQUEST['preserve_serch_params'])) {
                zp_clearCookie("zenphoto_search_params");
            }
        }
    }
}
/**
 * recovers search parameters from stored cookie, clears the cookie
 *
 * @param string $what the page type
 * @param string $album Name of the album
 * @param string $image Name of the image
 */
function handleSearchParms($what, $album = NULL, $image = NULL)
{
    global $_zp_current_search, $zp_request;
    $cookiepath = WEBPATH;
    if (WEBPATH == '') {
        $cookiepath = '/';
    }
    if (is_null($album)) {
        if (is_object($zp_request)) {
            $reset = get_class($zp_request) != 'SearchEngine';
        } else {
            $reset = $zp_request;
        }
        if ($reset) {
            // clear the cookie if no album and not a search
            if (!isset($_REQUEST['preserve_serch_params'])) {
                zp_setcookie("zenphoto_image_search_params", "", time() - 368000, $cookiepath);
            }
            return;
        }
    }
    $context = get_context();
    $params = zp_getCookie('zenphoto_image_search_params');
    if (!empty($params)) {
        $_zp_current_search = new SearchEngine();
        $_zp_current_search->setSearchParams($params);
        // check to see if we are still "in the search context"
        if (!is_null($image)) {
            if ($_zp_current_search->getImageIndex($album->name, $image->filename) !== false) {
                $context = $context | ZP_SEARCH_LINKED | ZP_IMAGE_LINKED;
            }
        }
        if (!is_null($album)) {
            $albumname = $album->name;
            $albumlist = $_zp_current_search->getAlbums(0);
            foreach ($albumlist as $searchalbum) {
                if (strpos($albumname, $searchalbum) !== false) {
                    $context = $context | ZP_SEARCH_LINKED | ZP_ALBUM_LINKED;
                    break;
                }
            }
        }
        if ($context & ZP_SEARCH_LINKED) {
            set_context($context);
        } else {
            $_zp_current_search = null;
        }
    }
}
Beispiel #4
0
function getRelatedItems($type = 'news', $album = NULL)
{
    global $_zp_gallery, $_zp_current_album, $_zp_current_image, $_zp_current_zenpage_page, $_zp_current_zenpage_news, $_zp_gallery_page;
    $tags = getTags();
    if (!empty($tags)) {
        // if there are tags at all
        $searchstring = '';
        $count = '';
        foreach ($tags as $tag) {
            $count++;
            if ($count == 1) {
                $bool = '';
            } else {
                $bool = '|';
                // connect tags by OR to get a wide range
            }
            $searchstring .= $bool . $tag;
        }
        $paramstr = urlencode('words') . '=' . $searchstring . '&searchfields=tags';
        if (!is_null($album)) {
            $paramstr = '&albumname=' . urlencode($album);
        }
        $search = new SearchEngine();
        switch ($type) {
            case 'albums':
                $paramstr .= '&inalbums=1';
                break;
            case 'images':
                $paramstr .= '&inimages=1';
                break;
            case 'news':
                $paramstr .= '&innews=1';
                break;
            case 'pages':
                $paramstr .= '&inpages=1';
                break;
            case 'all':
                $paramstr .= '&inalbums=1&inimages=1&innews=1&inpages=1';
                break;
        }
        $search->setSearchParams($paramstr);
        // get the results
        switch ($type) {
            case 'albums':
                $albumresult = $search->getAlbums(0, "date", "desc");
                $result = createRelatedItemsResultArray($albumresult, $type);
                break;
            case 'images':
                $imageresult = $search->getImages(0, 0, 'date', 'desc');
                $result = createRelatedItemsResultArray($imageresult, $type);
                break;
            case 'news':
                $newsresult = $search->getArticles(0, NULL, true, "date", "desc");
                $result = createRelatedItemsResultArray($newsresult, $type);
                break;
            case 'pages':
                $pageresult = $search->getPages();
                $result = createRelatedItemsResultArray($pageresult, $type);
                break;
            case 'all':
                $albumresult = $search->getAlbums(0, "date", "desc");
                $imageresult = $search->getImages(0, 0, 'date', 'desc');
                $newsresult = $search->getArticles(0, NULL, true, "date", "desc");
                $pageresult = $search->getPages();
                $result1 = createRelatedItemsResultArray($albumresult, 'albums');
                $result2 = createRelatedItemsResultArray($imageresult, 'images');
                $result3 = createRelatedItemsResultArray($newsresult, 'news');
                $result4 = createRelatedItemsResultArray($pageresult, 'pages');
                $result = array_merge($result1, $result2, $result3, $result4);
                $result = sortMultiArray($result, 'weight', true, true, false, false);
                // sort by search result weight
                break;
        }
        return $result;
    }
    return array();
}
/**
 * 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 = '&amp;album=' . $parent . '&amp;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 = "&nbsp; &nbsp;&nbsp;" . $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 '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
    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 "&nbsp;" . 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 "&nbsp;" . 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 = "&nbsp; &nbsp;&nbsp;" . $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") . "\" />";
}