コード例 #1
0
ファイル: wppa-thumbnails.php プロジェクト: lchen01/STEdwards
function wppa_get_thumb_masonry($id)
{
    global $wpdb;
    // Init
    if (!$id) {
        wppa_dbg_msg('Please check file wppa-theme.php or any other php file that calls wppa_thumb_masonry(). Argument 1: photo id is missing!', 'red', 'force');
        die('Please check your configuration');
    }
    $result = '';
    $cont_width = wppa_get_container_width();
    $count_cols = ceil($cont_width / wppa_opt('thumbsize'));
    // Get the photo info
    $thumb = wppa_cache_thumb($id);
    // Get the album info
    $album = wppa_cache_album($thumb['album']);
    // Get photo info
    $is_video = wppa_is_video($id);
    $has_audio = wppa_has_audio($id);
    $imgsrc = wppa_fix_poster_ext(wppa_get_thumb_path($id), $id);
    if (!wppa_is_video($id) && !is_file($imgsrc)) {
        $result .= '<div' . ' class=""' . ' style="' . 'font-size:10px;' . 'color:red;' . 'width:' . wppa_opt('thumbsize') . 'px;' . 'position:static;' . 'float:left;' . '"' . ' >' . sprintf(__('Missing thumbnail image #%s', 'wp-photo-album-plus'), $id) . '</div>';
        return $result;
    }
    $alt = $album['alt_thumbsize'] == 'yes' ? '_alt' : '';
    $imgattr_a = wppa_get_imgstyle_a($id, $imgsrc, wppa_opt('thumbsize' . $alt), 'optional', 'thumb');
    // Verical style ?
    if (wppa_opt('thumbtype') == 'masonry-v') {
        $imgwidth = wppa_opt('thumbsize');
        $imgheight = $imgwidth * wppa_get_thumbratioyx($id);
        $imgstyle = 'width:100%; height:auto; margin:0; position:relative; box-sizing:border-box;';
        $frame_h = '';
    } else {
        $imgheight = wppa_opt('thumbsize');
        $imgwidth = $imgheight * wppa_get_thumbratioxy($id);
        $imgstyle = 'height:100%;' . 'width:auto;' . 'margin:0;' . 'position:relative;' . 'box-sizing:border-box;' . '';
        $frame_h = 'height:100%; ';
    }
    // Mouseover effect?
    if (wppa_switch('use_thumb_opacity')) {
        $opac = wppa_opt('thumb_opacity');
        $imgstyle .= ' opacity:' . $opac / 100 . '; filter:alpha( opacity=' . $opac . ' );';
    }
    // Padding
    if (wppa_is_int(wppa_opt('tn_margin') / 2)) {
        $imgstyle .= ' padding:' . wppa_opt('tn_margin') / 2 . 'px;';
    } else {
        $p1 = floor(wppa_opt('tn_margin') / 2);
        $p2 = ceil(wppa_opt('tn_margin') / 2);
        $imgstyle .= ' padding:' . $p1 . 'px ' . $p2 . 'px ' . $p2 . 'px ' . $p1 . 'px;';
    }
    // Cursor
    $cursor = $imgattr_a['cursor'];
    // Popup ?
    if (wppa_switch('use_thumb_popup')) {
        // Landscape?
        if ($imgwidth > $imgheight) {
            $popwidth = wppa_opt('popupsize');
            $popheight = round($popwidth * $imgheight / $imgwidth);
        } else {
            $popheight = wppa_opt('popupsize');
            $popwidth = round($popheight * $imgwidth / $imgheight);
        }
    } else {
        $popwidth = $imgwidth;
        $popheight = $imgheight;
    }
    $imgurl = wppa_fix_poster_ext(wppa_get_thumb_url($id, '', $popwidth, $popheight), $id);
    $events = wppa_get_imgevents('thumb', $id);
    $imgalt = wppa_get_imgalt($id);
    // returns something like ' alt="Any text" '
    $title = esc_attr(wppa_get_masonry_title($id));
    // esc_attr( wppa_get_photo_name( $id ) );
    // Feed ?
    if (is_feed()) {
        $imgattr_a = wppa_get_imgstyle_a($id, $imgsrc, '100', '4', 'thumb');
        $style = $imgattr_a['style'];
        $result .= '<a href="' . get_permalink() . '">' . '<img' . ' src="' . $imgurl . '"' . ' ' . $imgalt . ($title ? ' title="' . $title . '"' : '') . ' style="' . $style . '"' . ' />' . '</a>';
        return;
    }
    // Get the image link
    if (wppa('is_topten')) {
        $no_album = !wppa('start_album');
        if ($no_album) {
            $tit = __('View the top rated photos', 'wp-photo-album-plus');
        } else {
            $tit = esc_attr(__(stripslashes($thumb['description'])));
        }
        $link = wppa_get_imglnk_a('thumb', $id, '', $tit, '', $no_album);
    } else {
        $link = wppa_get_imglnk_a('thumb', $id);
    }
    // voor parent uplr
    // Open the thumbframe
    // Add class wppa-mas-h-{mocc} for ie if horizontal
    $is_ie_or_chrome = strpos($_SERVER["HTTP_USER_AGENT"], 'Trident') || strpos($_SERVER["HTTP_USER_AGENT"], 'Chrome');
    $result .= '
				<div' . ' id="thumbnail_frame_masonry_' . $id . '_' . wppa('mocc') . '"' . ($is_ie_or_chrome && wppa_opt('thumbtype') == 'masonry-h' ? ' class="wppa-mas-h-' . wppa('mocc') . '"' : '') . ' style="' . $frame_h . 'position:static;' . 'float:left;' . 'font-size:12px;' . 'line-height:8px;' . 'overflow:hidden;' . 'box-sizing:content-box;' . '" >';
    // The medals
    $result .= wppa_get_medal_html_a(array('id' => $id, 'size' => 'M', 'where' => 'top'));
    // See if ajax possible
    if ($link) {
        if ($link['is_url']) {
            // is url
            if (wppa_switch('allow_ajax') && wppa_opt('thumb_linktype') == 'photo' && wppa_opt('thumb_linkpage') == '0' && !wppa_switch('thumb_blank') && !(wppa_switch('thumb_overrule') && $thumb['linkurl']) && !wppa('is_topten') && !wppa('is_lasten') && !wppa('is_comten') && !wppa('is_featen') && !wppa('is_tag') && !wppa('is_upldr') && !wppa('src') && !wppa('supersearch') && (wppa_is_int(wppa('start_album')) || wppa('start_album') == '')) {
                // Ajax	possible
                // The a img ajax
                $p = wppa('calendar') ? '' : '&amp;wppa-photo=' . $id;
                $onclick = 'wppaDoAjaxRender( ' . wppa('mocc') . ', \'' . wppa_get_slideshow_url_ajax(wppa('start_album'), '0') . '&amp;wppa-photo=' . $id . '\', \'' . wppa_convert_to_pretty(wppa_get_slideshow_url(wppa('start_album'), '0') . $p) . '\' )';
                // old			$onclick = "wppaDoAjaxRender( ".wppa( 'mocc' ).", '".wppa_get_slideshow_url_ajax( wppa( 'start_album' ), '0' ).'&amp;wppa-photo='.$id."', '".wppa_convert_to_pretty( wppa_get_slideshow_url( wppa( 'start_album' ), '0' )."&amp;wppa-photo=".$id )."' )";
                $result .= '<a style="position:static;" class="thumb-img" id="x-' . $id . '-' . wppa('mocc') . '">';
                if ($is_video) {
                    //					$result .= '<video preload="metadata" onclick="'.$onclick.'" id="i-'.$id.'-'.wppa( 'mocc' ).'" '.$imgalt.' title="'.$title.'" style="'.$imgstyle.' cursor:pointer;" '.$events.' >'.wppa_get_video_body( $id ).'</video>';
                    $result .= wppa_get_video_html(array('id' => $id, 'controls' => false, 'margin_top' => '0', 'margin_bottom' => '0', 'tagid' => 'i-' . $id . '-' . wppa('mocc'), 'cursor' => 'cursor:pointer;', 'events' => $events, 'title' => $title, 'preload' => 'metadata', 'onclick' => $onclick, 'lb' => false, 'class' => '', 'style' => $imgstyle, 'use_thumb' => true));
                } else {
                    $result .= '<img' . ' onclick="' . $onclick . '"' . ' id="i-' . $id . '-' . wppa('mocc') . '"' . ' src="' . $imgurl . '"' . ' ' . $imgalt . ($title ? ' title="' . $title . '"' : '') . ' style="' . $imgstyle . ' cursor:pointer;"' . ' ' . $events . ' />';
                }
                $result .= '</a>';
            } else {
                // non ajax
                // The a img non ajax
                $result .= '<a style="position:static;" href="' . $link['url'] . '" target="' . $link['target'] . '" class="thumb-img" id="x-' . $id . '-' . wppa('mocc') . '">';
                if ($is_video) {
                    //					$result .= '<video preload="metadata" id="i-'.$id.'-'.wppa( 'mocc' ).'" '.$imgalt.' title="'.$title.'" width="'.$imgwidth.'" height="'.$imgheight.'" style="'.$imgstyle.' cursor:pointer;" '.$events.' >'.wppa_get_video_body( $id ).'</video>';
                    $result .= wppa_get_video_html(array('id' => $id, 'controls' => false, 'margin_top' => '0', 'margin_bottom' => '0', 'tagid' => 'i-' . $id . '-' . wppa('mocc'), 'cursor' => 'cursor:pointer;', 'events' => $events, 'title' => $title, 'preload' => 'metadata', 'onclick' => '', 'lb' => false, 'class' => '', 'style' => $imgstyle, 'use_thumb' => true));
                } else {
                    $result .= '<img' . ' id="i-' . $id . '-' . wppa('mocc') . '"' . ' src="' . $imgurl . '"' . ' ' . $imgalt . ($title ? ' title="' . $title . '"' : '') . ' style="' . $imgstyle . 'cursor:pointer;"' . ' ' . $events . ' />';
                }
                $result .= '</a>';
            }
        } elseif ($link['is_lightbox']) {
            // The a img
            $title = wppa_get_lbtitle('thumb', $id);
            $result .= '<a href="' . $link['url'] . '"' . ' target="' . $link['target'] . '"' . ($is_video ? ' data-videohtml="' . esc_attr(wppa_get_video_body($id)) . '"' . ' data-videonatwidth="' . wppa_get_videox($id) . '"' . ' data-videonatheight="' . wppa_get_videoy($id) . '"' : '') . ($has_audio ? ' data-audiohtml="' . esc_attr(wppa_get_audio_body($id)) . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('lightbox_name') . '[occ' . wppa('mocc') . ']"' . ($title ? ' ' . wppa('lbtitle') . '="' . $title . '"' : '') . ' class="thumb-img"' . ' id="x-' . $id . '-' . wppa('mocc') . '">';
            // The image
            $title = wppa_zoom_in($id);
            // Video?
            if ($is_video) {
                $result .= wppa_get_video_html(array('id' => $id, 'controls' => false, 'margin_top' => '0', 'margin_bottom' => '0', 'tagid' => 'i-' . $id . '-' . wppa('mocc'), 'cursor' => $cursor, 'events' => $events, 'title' => $title, 'preload' => 'metadata', 'onclick' => '', 'lb' => false, 'class' => '', 'style' => $imgstyle, 'use_thumb' => true));
            } else {
                $result .= '<img' . ' id="i-' . $id . '-' . wppa('mocc') . '"' . ' src="' . $imgurl . '"' . ' ' . $imgalt . ($title ? ' title="' . $title . '"' : '') . ' style="' . $imgstyle . $cursor . '"' . ' ' . $events . ' />';
            }
            $result .= '</a>';
        } else {
            // The div img
            $result .= '<div onclick="' . $link['url'] . '" class="thumb-img" id="x-' . $id . '-' . wppa('mocc') . '" style="height:100%;" >';
            // Video?
            if ($is_video) {
                $result .= wppa_get_video_html(array('id' => $id, 'controls' => false, 'margin_top' => '0', 'margin_bottom' => '0', 'tagid' => 'i-' . $id . '-' . wppa('mocc'), 'cursor' => 'cursor:pointer;', 'events' => $events, 'title' => $title, 'preload' => 'metadata', 'onclick' => '', 'lb' => false, 'class' => '', 'style' => $imgstyle, 'use_thumb' => true));
            } else {
                $result .= '<img' . ' id="i-' . $id . '-' . wppa('mocc') . '"' . ' src="' . $imgurl . '"' . ' ' . $imgalt . ($title ? ' title="' . $title . '"' : '') . ' style="' . $imgstyle . 'cursor:pointer;"' . ' ' . $events . ' />';
            }
            $result .= '</div>';
            $result .= '<script type="text/javascript">';
            $result .= '/* <![CDATA[ */';
            $result .= 'wppaPopupOnclick[' . $id . '] = "' . $link['url'] . '";';
            $result .= '/* ]]> */';
            $result .= '</script>';
        }
    } else {
        // no link
        if (wppa_switch('use_thumb_popup')) {
            $result .= '<div id="x-' . $id . '-' . wppa('mocc') . '" style="height:100%" >';
            if ($is_video) {
                $result .= wppa_get_video_html(array('id' => $id, 'controls' => false, 'margin_top' => '0', 'margin_bottom' => '0', 'tagid' => 'i-' . $id . '-' . wppa('mocc'), 'cursor' => '', 'events' => $events, 'title' => $title, 'preload' => 'metadata', 'onclick' => '', 'lb' => false, 'class' => '', 'style' => $imgstyle, 'use_thumb' => true));
            } else {
                $result .= '<img' . ' id="i-' . $id . '-' . wppa('mocc') . '"' . ' src="' . $imgurl . '"' . ' ' . $imgalt . ($title ? ' title="' . $title . '"' : '') . ' width="' . $imgwidth . '"' . ' height="' . $imgheight . '"' . ' style="' . $imgstyle . '"' . ' ' . $events . ' />';
            }
            $result .= '</div>';
        } else {
            if ($is_video) {
                //				$result .= '<video preload="metadata" '.$imgalt.' title="'.$title.'" width="'.$imgwidth.'" height="'.$imgheight.'" style="'.$imgstyle.'" '.$events.' >'.wppa_get_video_body( $id ).'</video>';
                $result .= wppa_get_video_html(array('id' => $id, 'controls' => false, 'margin_top' => '0', 'margin_bottom' => '0', 'tagid' => 'i-' . $id . '-' . wppa('mocc'), 'cursor' => '', 'events' => $events, 'title' => $title, 'preload' => 'metadata', 'onclick' => '', 'lb' => false, 'class' => '', 'style' => $imgstyle, 'use_thumb' => true));
            } else {
                $result .= '<img' . ' id="i-' . $id . '-' . wppa('mocc') . '"' . ' src="' . $imgurl . '"' . ' ' . $imgalt . ($title ? ' title="' . $title . '"' : '') . ' width="' . $imgwidth . '"' . ' height="' . $imgheight . '"' . ' style="' . $imgstyle . '" ' . $events . ' />';
            }
        }
    }
    // The audio when no popup
    if (wppa_switch('thumb_audio') && wppa_has_audio($id)) {
        $result .= '<div style="position:relative;z-index:11;">';
        //	$is_safari 	= strpos( $_SERVER["HTTP_USER_AGENT"], 'Safari' );
        //	$cont_h 	= $is_safari ? 16 : 28;
        //	$audiotop 	= $imgattr_a['height'] + $imgattr_a['margin-top'] - $cont_h;
        //			if ( ! is_file( $imgsrc ) ) { // Audio without image
        //				$audiotop 	= wppa_get_audio_control_height();
        //				$imgwidth 	= wppa_opt( 'tf_width' );
        //				$imgheight 	= wppa_get_audio_control_height();
        //			}
        $result .= wppa_get_audio_html(array('id' => $id, 'tagid' => 'a-' . $id . '-' . wppa('mocc'), 'style' => 'width:100%;position:absolute;bottom:0;margin:0;padding:' . wppa_opt('tn_margin') / 2 . 'px;left:0;border:none;z-index:10;'));
        $result .= '</div>';
    }
    // The medals
    $result .= wppa_get_medal_html_a(array('id' => $id, 'size' => 'M', 'where' => 'bot'));
    // Close the thumbframe
    $result .= '</div>';
    return $result;
}
コード例 #2
0
function _wppa_sidebar_page_options()
{
    global $wpdb;
    $options_error = false;
    if (isset($_GET['walbum'])) {
        $walbum = wppa_walbum_sanitize($_GET['walbum']);
        wppa_update_option('wppa_widget_album', $walbum);
    }
    if (isset($_REQUEST['wppa-set-submit'])) {
        if (!wp_verify_nonce($_REQUEST['wppa-update-check'], 'wppa-update-check')) {
            echo 'Trying:' . $_REQUEST['wppa-update-check'];
        }
        if (isset($_POST['wppa-widgettitle'])) {
            wppa_update_option('wppa_widgettitle', $_POST['wppa-widgettitle']);
        }
        if (isset($_POST['wppa-potd-align'])) {
            wppa_update_option('wppa_potd_align', $_POST['wppa-potd-align']);
        }
        if (isset($_POST['wppa-widget-albums'])) {
            wppa_update_option('wppa_widget_album', wppa_walbum_sanitize($_POST['wppa-widget-albums']));
        }
        if (isset($_POST['wppa-widget-photo'])) {
            wppa_update_option('wppa_widget_photo', $_POST['wppa-widget-photo']);
        }
        if (isset($_POST['wppa-widget-method'])) {
            wppa_update_option('wppa_widget_method', $_POST['wppa-widget-method']);
        }
        if (isset($_REQUEST['wppa-widget-period'])) {
            wppa_update_option('wppa_widget_period', $_REQUEST['wppa-widget-period']);
        }
        if (isset($_POST['wppa-widget-subtitle'])) {
            wppa_update_option('wppa_widget_subtitle', $_POST['wppa-widget-subtitle']);
        }
        if (isset($_POST['wppa-widget-linkpage'])) {
            wppa_update_option('wppa_widget_linkpage', $_POST['wppa-widget-linkpage']);
        }
        if (isset($_POST['wppa-widget-linkurl'])) {
            wppa_update_option('wppa_widget_linkurl', $_POST['wppa-widget-linkurl']);
        }
        if (isset($_POST['wppa-widget-linktitle'])) {
            wppa_update_option('wppa_widget_linktitle', $_POST['wppa-widget-linktitle']);
        }
        if (isset($_POST['wppa-widget-linktype'])) {
            wppa_update_option('wppa_widget_linktype', $_POST['wppa-widget-linktype']);
        }
        if (isset($_POST['wppa-widget-status-filter'])) {
            wppa_update_option('wppa_widget_status_filter', $_POST['wppa-widget-status-filter']);
        }
        if (isset($_POST['wppa-potd-offset'])) {
            wppa_update_option('wppa_potd_offset', $_POST['wppa-potd-offset']);
        }
        if (isset($_POST['wppa-potd-widget-width'])) {
            if (wppa_check_numeric($_POST['wppa-potd-widget-width'], '100', __('Widget Photo Width.', 'wp-photo-album-plus'))) {
                wppa_update_option('wppa_potd_widget_width', $_POST['wppa-potd-widget-width']);
            } else {
                $options_error = true;
            }
        }
        if (!$options_error && isset($_POST['wppa-set-submit'])) {
            wppa_update_message(__('Changes Saved. Don\'t forget to activate the widget!', 'wp-photo-album-plus'));
        }
    }
    wppa_initialize_runtime('force');
    ?>
	
	<div class="wrap">
		<?php 
    $iconurl = WPPA_URL . '/images/settings32.png';
    ?>
		<div id="icon-album" class="icon32" style="background: transparent url(<?php 
    echo $iconurl;
    ?>
) no-repeat">
			<br />
		</div>
		<h2><?php 
    _e('Photo of the Day Widget Settings', 'wp-photo-album-plus');
    ?>
</h2>
		
		<?php 
    $action_url = wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_photo_of_the_day');
    ?>
		
		<form action="<?php 
    echo $action_url;
    ?>
" method="post">
			<?php 
    echo wp_nonce_field('wppa-update-check', 'wppa-update-check');
    ?>

			<table class="form-table wppa-table wppa-photo-table">
				<tbody>
					<tr valign="top">
						<th scope="row">
							<label ><?php 
    _e('Widget Title:', 'wp-photo-album-plus');
    ?>
</label>
						</th>
						<td>
							<input type="text" name="wppa-widgettitle" id="wppa-widgettitle" value="<?php 
    echo wppa_opt('widgettitle');
    ?>
" />
							<span class="description"><br/><?php 
    _e('Enter/modify the title for the widget. This is a default and can be overriden at widget activation.', 'wp-photo-album-plus');
    ?>
</span>
						</td>
					</tr>	
					
					<tr valign="top">
						<th scope="row">
							<label ><?php 
    _e('Widget Photo Width:', 'wp-photo-album-plus');
    ?>
</label>
						</th>
						<td>
							<input type="text" name="wppa-potd-widget-width" id="wppa-potd-widget-width" value="<?php 
    echo wppa_opt('potd_widget_width');
    ?>
" style="width: 50px;" />
							<?php 
    _e('pixels.', 'wp-photo-album-plus');
    echo ' ';
    _e('Horizontal alignment:', 'wp-photo-album-plus');
    ?>
							<select name="wppa-potd-align" id="wppa-potd-align">
								<?php 
    $ali = wppa_opt('potd_align');
    ?>
								<?php 
    $sel = 'selected="selected"';
    ?>
								<option value="none" <?php 
    if ($ali == 'none') {
        echo $sel;
    }
    ?>
><?php 
    _e('--- none ---', 'wp-photo-album-plus');
    ?>
</option>
								<option value="left" <?php 
    if ($ali == 'left') {
        echo $sel;
    }
    ?>
><?php 
    _e('left', 'wp-photo-album-plus');
    ?>
</option>
								<option value="center" <?php 
    if ($ali == 'center') {
        echo $sel;
    }
    ?>
><?php 
    _e('center', 'wp-photo-album-plus');
    ?>
</option>
								<option value="right" <?php 
    if ($ali == 'right') {
        echo $sel;
    }
    ?>
><?php 
    _e('right', 'wp-photo-album-plus');
    ?>
</option>
							</select>
							<span class="description"><br/><?php 
    _e('Enter the desired display width and alignment of the photo in the sidebar.', 'wp-photo-album-plus');
    ?>
</span>
						</td>
					</tr>

					<tr valign="top">
						<th scope="row">
							<label ><?php 
    _e('Use album(s):', 'wp-photo-album-plus');
    ?>
</label>
						</th>
						<td>
							<script type="text/javascript">
							/* <![CDATA[ */
							function wppaCheckWa() {
								document.getElementById('wppa-spin').style.visibility = 'visible';
								document.getElementById('wppa-upd').style.visibility = 'hidden';
								var album = document.getElementById('wppa-wa').value;
								if ( album != 'all' && album != 'sep' && album != 'all-sep' && album != 'topten' && album != 'clr' )
									album = document.getElementById('wppa-was').value + ',' + album;
								var url = "<?php 
    echo wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_photo_of_the_day');
    ?>
&walbum=" + album;
								document.location.href = url;
							}
							/* ]]> */
							</script>
							<?php 
    _e('Select:', 'wp-photo-album-plus');
    ?>
<select name="wppa-widget-album" id="wppa-wa" onchange="wppaCheckWa()" ><?php 
    echo wppa_walbum_select(wppa_opt('widget_album'));
    ?>
</select>
							<img id="wppa-spin" src="<?php 
    echo wppa_get_imgdir();
    ?>
wpspin.gif" style="visibility:hidden;"/>
							<?php 
    _e('Or Edit:', 'wp-photo-album-plus');
    ?>
<input type="text" name="wppa-widget-albums" id="wppa-was" value="<?php 
    echo wppa_opt('widget_album');
    ?>
" />
							<input class="button-primary" name="wppa-upd" id="wppa-upd" value="<?php 
    _e('Update thumbnails', 'wp-photo-album-plus');
    ?>
" onclick="wppaCheckWa()" />
							<span class="description"><br/>
								<?php 
    _e('Select or edit the album(s) you want to use the photos of for the widget.', 'wp-photo-album-plus');
    ?>
								<br />
								<?php 
    _e('If you want a <b>- special -</b> selection or get rid of it, you may need to use <b>- start over -</b> first.', 'wp-photo-album-plus');
    ?>
							</span>
						</td>
					</tr>
					<!-- Status filter -->
					<tr valign="top" >
						<th scope="row" >
							<label ><?php 
    _e('Status filter:', 'wp-photo-album-plus');
    ?>
</label>
						</th>
						<td>
							<?php 
    $sel = 'selected="selected"';
    ?>
							<?php 
    $filter = wppa_opt('widget_status_filter');
    ?>
							<select name="wppa-widget-status-filter" >
								<option value="" <?php 
    if ($filter == 'none') {
        echo $sel;
    }
    ?>
><?php 
    _e('- none -', 'wp-photo-album-plus');
    ?>
</option>
								<option value="publish" <?php 
    if ($filter == 'publish') {
        echo $sel;
    }
    ?>
 ><?php 
    _e('Publish', 'wp-photo-album-plus');
    ?>
</option>
								<option value="featured" <?php 
    if ($filter == 'featured') {
        echo $sel;
    }
    ?>
 ><?php 
    _e('Featured', 'wp-photo-album-plus');
    ?>
</option>
								<option value="gold" <?php 
    if ($filter == 'gold') {
        echo $sel;
    }
    ?>
 ><?php 
    _e('Gold', 'wp-photo-album-plus');
    ?>
</option>
								<option value="silver" <?php 
    if ($filter == 'silver') {
        echo $sel;
    }
    ?>
 ><?php 
    _e('Silver', 'wp-photo-album-plus');
    ?>
</option>
								<option value="bronze" <?php 
    if ($filter == 'bronze') {
        echo $sel;
    }
    ?>
 ><?php 
    _e('Bronze', 'wp-photo-album-plus');
    ?>
</option>
								<option value="anymedal" <?php 
    if ($filter == 'anymedal') {
        echo $sel;
    }
    ?>
 ><?php 
    _e('Any medal', 'wp-photo-album-plus');
    ?>
</option>
							</select>
						</td>
					</tr>
					<tr valign="top" >
						<th scope="row">
							<label ><?php 
    _e('Display method:', 'wp-photo-album-plus');
    ?>
</label>
						</th>
						<td>
							<?php 
    $sel = 'selected="selected"';
    ?>
							<?php 
    $method = wppa_opt('widget_method');
    ?>
							<select name="wppa-widget-method" id="wppa-wm" onchange="wppaCheckWidgetMethod()" >
								<option value="1" <?php 
    if ($method == '1') {
        echo $sel;
    }
    ?>
><?php 
    _e('Fixed photo', 'wp-photo-album-plus');
    ?>
</option> 
								<option value="2" <?php 
    if ($method == '2') {
        echo $sel;
    }
    ?>
><?php 
    _e('Random', 'wp-photo-album-plus');
    ?>
</option>
								<option value="3" <?php 
    if ($method == '3') {
        echo $sel;
    }
    ?>
><?php 
    _e('Last upload', 'wp-photo-album-plus');
    ?>
</option>
								<option value="4" <?php 
    if ($method == '4') {
        echo $sel;
    }
    ?>
><?php 
    _e('Change every', 'wp-photo-album-plus');
    ?>
</option>
							</select>
							<?php 
    $period = wppa_opt('widget_period');
    $text = esc_attr(__('The page will now be reloaded', 'wp-photo-album-plus'));
    $onchange = esc_attr('alert(\'' . $text . '\');wppaPotdChangePeriod()');
    ?>
							<script type="text/javascript" >
								function wppaPotdChangePeriod() {
									var url = '<?php 
    echo $action_url;
    ?>
';
									url += '&wppa-set-submit=1';
									url += '&wppa-update-check='+jQuery('#wppa-update-check').val();
									url += '&wppa-widget-period='+jQuery('#wppa-wp').val();
									document.location.href = url;
								}
							</script>
							<select name="wppa-widget-period" id="wppa-wp" onchange="<?php 
    echo $onchange;
    ?>
" >
								<option value="0" <?php 
    if ($period == '0') {
        echo $sel;
    }
    ?>
><?php 
    _e('pageview.', 'wp-photo-album-plus');
    ?>
</option>
								<option value="1" <?php 
    if ($period == '1') {
        echo $sel;
    }
    ?>
><?php 
    _e('hour.', 'wp-photo-album-plus');
    ?>
</option>
								<option value="24" <?php 
    if ($period == '24') {
        echo $sel;
    }
    ?>
><?php 
    _e('day.', 'wp-photo-album-plus');
    ?>
</option>
								<option value="168" <?php 
    if ($period == '168') {
        echo $sel;
    }
    ?>
><?php 
    _e('week.', 'wp-photo-album-plus');
    ?>
</option>
								<option value="736" <?php 
    if ($period == '736') {
        echo $sel;
    }
    ?>
><?php 
    _e('month.', 'wp-photo-album-plus');
    ?>
</option>
								<option value="day-of-week" <?php 
    if ($period == 'day-of-week') {
        echo $sel;
    }
    ?>
><?php 
    _e('day of week is order#', 'wp-photo-album-plus');
    ?>
</option>
								<option value="day-of-month" <?php 
    if ($period == 'day-of-month') {
        echo $sel;
    }
    ?>
><?php 
    _e('day of month is order#', 'wp-photo-album-plus');
    ?>
</option>
								<option value="day-of-year" <?php 
    if ($period == 'day-of-year') {
        echo $sel;
    }
    ?>
><?php 
    _e('day of year is order#', 'wp-photo-album-plus');
    ?>
</option>
							</select>
							<span class="description"><br/><?php 
    _e('Select how the widget should display.', 'wp-photo-album-plus');
    ?>
</span>
							<div class="wppa-order" >
							<?php 
    if (substr(wppa_opt('widget_period'), 0, 7) == 'day-of-') {
        switch (substr(wppa_opt('widget_period'), 7)) {
            case 'week':
                $n_days = '7';
                $date_key = 'w';
                break;
            case 'month':
                $n_days = '31';
                $date_key = 'd';
                break;
            case 'year':
                $n_days = '366';
                $date_key = 'z';
                break;
        }
        while (get_option('wppa_potd_offset', '0') > $n_days) {
            update_option('wppa_potd_offset', get_option('wppa_potd_offset') - $n_days);
        }
        echo sprintf(__('Current day# = %s, offset =', 'wp-photo-album-plus'), date_i18n($date_key)) . ' ';
        echo '<select name="wppa-potd-offset" >';
        $day = '0';
        while ($day < $n_days) {
            echo '<option value="' . $day . '" ' . (get_option('wppa_potd_offset', '0') == $day ? 'selected="selected"' : '') . ' >' . $day . '</option>';
            $day++;
        }
        echo '</select>';
        $photo_order = date_i18n($date_key) - get_option('wppa_potd_offset', '0');
        while ($photo_order < '1') {
            $photo_order += $n_days;
        }
        echo '. ' . sprintf(__('Todays photo order# = %s.', 'wp-photo-album-plus'), $photo_order);
        $photo = wppa_get_potd();
        if ($photo) {
            echo ' <img src="' . wppa_fix_poster_ext(wppa_get_thumb_url($photo['id']), $photo['id']) . '" style="width:100px;" />';
        } else {
            echo ' ' . __('Not found.', 'wp-photo-album-plus');
        }
    }
    ?>
							</div>
						</td>
					</tr>
<?php 
    $linktype = wppa_opt('widget_linktype');
    if ($linktype != 'custom') {
        ?>
						<tr>
							<th scope="row">
								<label ><?php 
        _e('Link to:', 'wp-photo-album-plus');
        ?>
</label>
							</th>
							<td>
								<?php 
        _e('Links are set on the <b>Photo Albums -> Settings</b> screen.', 'wp-photo-album-plus');
        ?>
							</td>
						</tr>
<?php 
    } else {
        ?>
						<tr class="wppa-wlu" >
							<th scope="row">
								<label ><?php 
        _e('Link to:', 'wp-photo-album-plus');
        ?>
</label>
							</th>
							<td>
								<?php 
        _e('Title:', 'wp-photo-album-plus');
        ?>
								<input type="text" name="wppa-widget-linktitle" id="wppa-widget-linktitle" value="<?php 
        echo wppa_opt('widget_linktitle');
        ?>
"style="width:20%" />
								<?php 
        _e('Url:', 'wp-photo-album-plus');
        ?>
								<input type="text"  name="wppa-widget-linkurl" id="wppa-widget-linkurl" value="<?php 
        echo wppa_opt('widget_linkurl');
        ?>
" style="width:50%" />
								<span class="description"><br/><?php 
        _e('Enter the title and the url. Do\'nt forget the HTTP://', 'wp-photo-album-plus');
        ?>
</span>
							</td>
						</tr>
<?php 
    }
    ?>
					<!--<script type="text/javascript">wppaCheckWidgetLink()</script>-->
					<tr>
						<th scope="row">
							<label ><?php 
    _e('Subtitle:', 'wp-photo-album-plus');
    ?>
</label>
						</th>
						<td>
							<?php 
    $subtit = wppa_opt('widget_subtitle');
    ?>
							<select name="wppa-widget-subtitle" id="wppa-st" >
								<option value="none" <?php 
    if ($subtit == 'none') {
        echo $sel;
    }
    ?>
><?php 
    _e('--- none ---', 'wp-photo-album-plus');
    ?>
</option>
								<option value="name" <?php 
    if ($subtit == 'name') {
        echo $sel;
    }
    ?>
><?php 
    _e('Photo Name', 'wp-photo-album-plus');
    ?>
</option>
								<option value="desc" <?php 
    if ($subtit == 'desc') {
        echo $sel;
    }
    ?>
><?php 
    _e('Description', 'wp-photo-album-plus');
    ?>
</option>
								<option value="owner" <?php 
    if ($subtit == 'owner') {
        echo $sel;
    }
    ?>
><?php 
    _e('Owner', 'wp-photo-album-plus');
    ?>
</option>
							</select>
							<span class="description"><br/><?php 
    _e('Select the content of the subtitle.', 'wp-photo-album-plus');
    ?>
</span>	
						</td>
					</tr>
				</tbody>
			</table>
			<p>
				<input type="submit" class="button-primary" name="wppa-set-submit" value="<?php 
    _e('Save Changes', 'wp-photo-album-plus');
    ?>
" />
			</p>
			<?php 
    $alb = wppa_opt('widget_album');
    $opt = wppa_is_int($alb) ? ' ' . wppa_get_photo_order($alb) . ' ' : '';
    $photos = wppa_get_widgetphotos($alb, $opt);
    if (empty($photos)) {
        echo '<p>' . __('No photos yet in this album.', 'wp-photo-album-plus') . '</p>';
    } else {
        $curid = wppa_opt('widget_photo');
        // Process photos
        foreach ($photos as $photo) {
            $id = $photo['id'];
            // Open container div
            echo '<div' . ' class="photoselect"' . ' style="' . 'width:180px;' . 'height:300px;' . '" >';
            // Open image container div
            echo '<div' . ' style="' . 'width:180px;' . 'height:135px;' . 'overflow:hidden;' . 'text-align:center;' . '" >';
            // The image if a video
            if (wppa_is_video($id)) {
                echo wppa_get_video_html(array('id' => $id, 'style' => 'width:180px;'));
            } else {
                echo '<img' . ' src=" ' . wppa_fix_poster_ext(wppa_get_thumb_url($id), $id) . '"' . ' style="' . 'max-width:180px;' . 'max-height:135px;' . 'margin:auto;' . '"' . ' alt="' . esc_attr(wppa_get_photo_name($photo['id'])) . '" />';
                // Audio ?
                if (wppa_has_audio($id)) {
                    echo wppa_get_audio_html(array('id' => $id, 'style' => 'width:180px;' . 'position:relative;' . 'bottom:' . (wppa_get_audio_control_height() + 4) . 'px;'));
                }
            }
            // Close image container div
            echo '</div>';
            ?>
						<div style="clear:both;width:100%;margin:3px 0;" >
							<div style="font-size:9px; line-height:10px;float:left;"><?php 
            echo '(#' . $photo['p_order'] . ')';
            ?>
</div>
							<input style="float:right;" type="radio" name="wppa-widget-photo" id="wppa-widget-photo<?php 
            echo $id;
            ?>
" value="<?php 
            echo $id;
            ?>
" <?php 
            if ($id == $curid) {
                echo 'checked="checked"';
            }
            ?>
/>
						</div>
						<div style="clear:both;overflow:auto;height:150px" >
							<div style="font-size:11px; overflow:hidden;"><?php 
            echo wppa_get_photo_name($photo['id']);
            ?>
</div>
							<div style="font-size:9px; line-height:10px;"><?php 
            echo wppa_get_photo_desc($photo['id']);
            ?>
</div>
						</div>
					</div>
					<?php 
        }
        echo '<div class="clear"></div>';
    }
    ?>
			<script type="text/javascript">wppaCheckWidgetMethod();</script>
			<br />
			<p>
				<input type="submit" class="button-primary" name="wppa-set-submit" value="<?php 
    _e('Save Changes', 'wp-photo-album-plus');
    ?>
" />
			</p>
		</form>
	</div>
<?php 
}
コード例 #3
0
function wppa_sphoto()
{
    $id = wppa('single_photo');
    $width = wppa_get_container_width();
    $height = floor($width / wppa_get_ratio($id));
    $usethumb = wppa_use_thumb_file($id, $width, $height);
    $src = $usethumb ? wppa_get_thumb_url($id, '', $width, $height) : wppa_get_photo_url($id, '', $width, $height);
    if (wppa_has_audio($id)) {
        $src = wppa_fix_poster_ext($src, $id);
    }
    if (!wppa_in_widget()) {
        wppa_bump_viewcount('photo', $id);
    }
    $autocol = wppa('auto_colwidth') || $width > 0 && $width <= 1.0;
    // The initial width is $width if not autocol, else it should default to initial column width when auto
    // or initial column width * fraction
    if ($autocol) {
        if ($width == 'auto') {
            $contwidth = wppa_opt('initial_colwidth');
        } else {
            $contwidth = wppa_opt('initial_colwidth') * $width;
        }
    } else {
        $contwidth = $width;
    }
    // Open the pseudo container
    wppa_out('<div' . ' id="wppa-container-' . wppa('mocc') . '"' . ' class="' . (wppa('align') ? 'align' . wppa('align') : '') . ' wppa-sphoto-' . wppa('mocc') . '"' . ' style="width:' . $contwidth . 'px;position:relative;"' . ' >');
    // The script for responsive
    wppa_add_js_page_data("\n" . '<script type="text/javascript">');
    if ($autocol) {
        wppa_add_js_page_data("\n" . 'wppaAutoColumnWidth[' . wppa('mocc') . '] = true;');
        if ($width > 0 && $width <= 1.0) {
            wppa_add_js_page_data("\n" . 'wppaAutoColumnFrac[' . wppa('mocc') . '] = ' . $width . ';');
        } else {
            wppa_add_js_page_data("\n" . 'wppaAutoColumnFrac[' . wppa('mocc') . '] = 1.0;');
        }
        wppa_add_js_page_data("\n" . 'wppaColWidth[' . wppa('mocc') . '] = 0;');
    }
    wppa_add_js_page_data("\n" . 'wppaTopMoc = ' . wppa('mocc') . ';');
    wppa_add_js_page_data("\n" . '</script>');
    wppa('portrait_only', true);
    $fis = wppa_get_fullimgstyle_a($id);
    $width = $fis['width'];
    $height = $fis['height'];
    $style = $fis['style'];
    $style .= 'box-sizing:content-box;vertical-align:middle;';
    // The link
    $link = wppa_get_imglnk_a('sphoto', $id);
    if ($link) {
        if ($link['is_lightbox']) {
            $lbtitle = wppa_get_lbtitle('sphoto', $id);
            $videobody = esc_attr(wppa_get_video_body($id));
            $audiobody = esc_attr(wppa_get_audio_body($id));
            $videox = wppa_get_videox($id);
            $videoy = wppa_get_videoy($id);
            wppa_out('<a' . ' href="' . $link['url'] . '"' . ($lbtitle ? ' ' . wppa('lbtitle') . '="' . $lbtitle . '"' : '') . ($videobody ? ' data-videohtml="' . $videobody . '"' : '') . ($audiobody ? ' data-audiohtml="' . $audiobody . '"' : '') . ($videox ? ' data-videonatwidth="' . $videox . '"' : '') . ($videoy ? ' data-videonatheight="' . $videoy . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('lightbox_name') . '"' . ($link['target'] ? ' target="' . $link['target'] . '"' : '') . ' class="thumb-img"' . ' id="a-' . $id . '-' . wppa('mocc') . '"' . ' >');
        } else {
            wppa_out('<a' . ' href="' . $link['url'] . '"' . ' title="' . $link['title'] . '"' . ' target="' . $link['target'] . '"' . ' class="thumb-img"' . ' id="a-' . $id . '-' . wppa('mocc') . '"' . ' >');
        }
    }
    // The image
    $title = $link ? esc_attr($link['title']) : esc_attr(stripslashes(wppa_get_photo_name($id)));
    if ($link['is_lightbox']) {
        $style .= ' cursor:url( ' . wppa_get_imgdir() . wppa_opt('magnifier') . ' ),pointer;';
        $title = wppa_zoom_in($id);
    }
    if (wppa_is_video($id)) {
        if ($autocol) {
            wppa_out(wppa_get_video_html(array('id' => $id, 'controls' => !$link['is_lightbox'], 'style' => $style, 'class' => 'size-medium wppa-sphoto wppa-simg-' . wppa('mocc'))));
        } else {
            wppa_out(wppa_get_video_html(array('id' => $id, 'width' => $width, 'height' => $height, 'controls' => !$link['is_lightbox'], 'style' => $style, 'class' => 'size-medium wppa-sphoto wppa-simg-' . wppa('mocc'))));
        }
    } else {
        wppa_out('<img' . ' src="' . $src . '"' . ' ' . wppa_get_imgalt($id) . ' class="size-medium wppa-sphoto wppa-simg-' . wppa('mocc') . '"' . ' ' . wppa_get_imgalt($id) . ($title ? ' title="' . $title . '" ' : '') . ' style="' . $style . '"' . ($autocol ? '' : ' width="' . $width . '" height="' . $height . '" ') . '/ >');
    }
    // Close the link
    if ($link) {
        wppa_out('</a>');
    }
    // Add audio?			sphoto
    if (wppa_has_audio($id)) {
        wppa_out('<div style="position:relative;z-index:11;" >');
        $margl = wppa_opt('fullimage_border_width') === '' ? 0 : wppa_opt('fullimage_border_width') + 1;
        $margb = $margl;
        wppa_out(wppa_get_audio_html(array('id' => $id, 'cursor' => 'cursor:pointer;', 'style' => $style . 'position:absolute;' . 'left:' . $margl . 'px;' . 'bottom:' . $margb . 'px;' . 'padding:0;' . 'margin:0;' . 'border:none;' . 'height:' . wppa_get_audio_control_height() . 'px;' . 'border-radius:0;', 'class' => 'size-medium wppa-sphoto wppa-simg-' . wppa('mocc'))));
        wppa_out('</div>');
    }
    // The pseudo container
    wppa_out('</div>');
}
コード例 #4
0
function wppa_get_picture_html($args)
{
    // Init
    $defaults = array('id' => '0', 'type' => '', 'class' => '');
    $args = wp_parse_args($args, $defaults);
    $id = strval(intval($args['id']));
    $type = $args['type'];
    $class = $args['class'];
    // Check existance of required args
    foreach (array('id', 'type') as $item) {
        if (!$args[$item]) {
            wppa_dbg_msg('Missing ' . $item . ' in call to wppa_get_picture_html()', 'red', 'force');
            return false;
        }
    }
    // Check validity of args
    if (!wppa_photo_exists($id)) {
        wppa_dbg_msg('Photo ' . $id . ' does not exist in call to wppa_get_picture_html(). Type = ' . $type, 'red', 'force');
        return false;
    }
    $types = array('sphoto', 'mphoto', 'xphoto', 'cover', 'thumb', 'ttthumb', 'comthumb', 'fthumb', 'twthumb', 'ltthumb', 'albthumb');
    if (!in_array($type, $types)) {
        wppa_dbg_msg('Unimplemented type ' . $type . ' in call to wppa_get_picture_html()', 'red', 'force');
        return false;
    }
    // Get other data
    $link = wppa_get_imglnk_a($type, $id);
    $isthumb = strpos($type, 'thumb') !== false;
    $file = wppa_fix_poster_ext($isthumb ? wppa_get_thumb_path($id) : wppa_get_photo_path($id), $id);
    $href = wppa_fix_poster_ext($isthumb ? wppa_get_thumb_url($id) : wppa_get_photo_url($id), $id);
    $autocol = wppa('auto_colwidth') || wppa('fullsize') > 0 && wppa('fullsize') <= 1.0;
    $title = $link ? esc_attr($link['title']) : esc_attr(stripslashes(wppa_get_photo_name($id)));
    $alt = wppa_get_imgalt($id);
    // Find image style
    switch ($type) {
        case 'sphoto':
            $style = 'width:100%;margin:0;';
            if (!wppa_in_widget()) {
                switch (wppa_opt('fullimage_border_width')) {
                    case '':
                        $style .= 'padding:0;' . 'border:none;';
                        break;
                    case '0':
                        $style .= 'padding:0;' . 'border:1px solid ' . wppa_opt('bcolor_fullimg') . ';' . 'box-sizing:border-box;';
                        break;
                    default:
                        $style .= 'padding:' . (wppa_opt('fullimage_border_width') - '1') . 'px;' . 'border:1px solid ' . wppa_opt('bcolor_fullimg') . ';' . 'box-sizing:border-box;' . 'background-color:' . wppa_opt('bgcolor_fullimg') . ';';
                        // If we do round corners...
                        if (wppa_opt('bradius') > '0') {
                            // then also here
                            $style .= 'border-radius:' . wppa_opt('fullimage_border_width') . 'px;';
                        }
                }
            }
            break;
        case 'mphoto':
        case 'xphoto':
            $style = 'width:100%;margin:0;padding:0;border:none;';
            break;
        default:
            wppa_dbg_msg('Style for type ' . $type . ' is not implemented yet in wppa_get_picture_html()', 'red', 'force');
            return false;
    }
    if ($link['is_lightbox']) {
        $style .= 'cursor:url( ' . wppa_get_imgdir() . wppa_opt('magnifier') . ' ),pointer;';
        $title = wppa_zoom_in($id);
    }
    // Create the html
    $result = '';
    // The link
    if ($link) {
        // Link is lightbox
        if ($link['is_lightbox']) {
            $lbtitle = wppa_get_lbtitle($type, $id);
            $videobody = esc_attr(wppa_get_video_body($id));
            $audiobody = esc_attr(wppa_get_audio_body($id));
            $videox = wppa_get_videox($id);
            $videoy = wppa_get_videoy($id);
            $result .= '<a' . ' href="' . $link['url'] . '"' . ($lbtitle ? ' ' . wppa('lbtitle') . '="' . $lbtitle . '"' : '') . ($videobody ? ' data-videohtml="' . $videobody . '"' : '') . ($audiobody ? ' data-audiohtml="' . $audiobody . '"' : '') . ($videox ? ' data-videonatwidth="' . $videox . '"' : '') . ($videoy ? ' data-videonatheight="' . $videoy . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('lightbox_name') . '"' . ($link['target'] ? ' target="' . $link['target'] . '"' : '') . ' class="thumb-img"' . ' id="a-' . $id . '-' . wppa('mocc') . '"' . ' data-alt="' . esc_attr(wppa_get_imgalt($id, true)) . '"' . ' >';
        } else {
            $result .= '<a' . (wppa_is_mobile() ? ' ontouchstart="wppaStartTime();" ontouchend="wppaTapLink(\'' . $id . '\',\'' . $link['url'] . '\');" ' : ' onclick="_bumpClickCount( \'' . $id . '\' );window.open(\'' . $link['url'] . '\', \'' . $link['target'] . '\' )"') . ' title="' . $link['title'] . '"' . ' class="thumb-img"' . ' id="a-' . $id . '-' . wppa('mocc') . '"' . ' >';
        }
    }
    // The image
    // Video?
    if (wppa_is_video($id)) {
        $result .= wppa_get_video_html(array('id' => $id, 'controls' => !$link, 'style' => $style, 'class' => $class));
    } else {
        $result .= '<img' . ' id="ph-' . $id . '-' . wppa('mocc') . '"' . ' src="' . $href . '"' . ' ' . wppa_get_imgalt($id) . ($class ? ' class="' . $class . '" ' : '') . ($title ? ' title="' . $title . '" ' : '') . ' style="' . $style . '"' . ' />';
    }
    // Close the link
    if ($link) {
        $result .= '</a>';
    }
    // Add audio?			sphoto
    if (wppa_has_audio($id)) {
        $result .= '<div style="position:relative;z-index:11;" >';
        // Find style for audio controls
        switch ($type) {
            case 'sphoto':
                $pad = wppa_opt('fullimage_border_width') === '' ? 0 : wppa_opt('fullimage_border_width') + 1;
                $bot = wppa_opt('fullimage_border_width') === '' ? 0 : wppa_opt('fullimage_border_width') - 1;
                $style = 'margin:0;' . 'padding:0 ' . $pad . 'px;' . 'bottom:' . $bot . 'px;';
                $class = 'size-medium wppa-sphoto wppa-sphoto-' . wppa('mocc');
                break;
            case 'mphoto':
            case 'xphoto':
                $style = 'margin:0;' . 'padding:0;' . 'bottom:0;';
                $class = 'size-medium wppa-' . $type . ' wppa-' . $type . '-' . wppa('mocc');
                break;
            default:
                $style = 'margin:0;' . 'padding:0;';
                $class = '';
        }
        // Get the html for audio
        $result .= wppa_get_audio_html(array('id' => $id, 'cursor' => 'cursor:pointer;', 'style' => $style . 'position:absolute;' . 'box-sizing:border-box;' . 'width:100%;' . 'border:none;' . 'height:' . wppa_get_audio_control_height() . 'px;' . 'border-radius:0;', 'class' => $class));
        $result .= '</div>';
    }
    // Update statistics
    if (!wppa_in_widget()) {
        wppa_bump_viewcount('photo', $id);
    }
    // Done !
    return $result;
}
コード例 #5
0
function _wppa_sidebar_page_options()
{
    global $wpdb;
    $options_error = false;
    if (isset($_GET['walbum'])) {
        $walbum = wppa_walbum_sanitize($_GET['walbum']);
        wppa_update_option('wppa_widget_album', $walbum);
    }
    if (isset($_POST['wppa-set-submit'])) {
        check_admin_referer('$wppa_nonce', WPPA_NONCE);
        if (isset($_POST['wppa-widgettitle'])) {
            wppa_update_option('wppa_widgettitle', $_POST['wppa-widgettitle']);
        }
        if (isset($_POST['wppa-potd-align'])) {
            wppa_update_option('wppa_potd_align', $_POST['wppa-potd-align']);
        }
        if (isset($_POST['wppa-widget-albums'])) {
            wppa_update_option('wppa_widget_album', wppa_walbum_sanitize($_POST['wppa-widget-albums']));
        }
        if (isset($_POST['wppa-widget-photo'])) {
            wppa_update_option('wppa_widget_photo', $_POST['wppa-widget-photo']);
        }
        if (isset($_POST['wppa-widget-method'])) {
            wppa_update_option('wppa_widget_method', $_POST['wppa-widget-method']);
        }
        if (isset($_POST['wppa-widget-period'])) {
            wppa_update_option('wppa_widget_period', $_POST['wppa-widget-period']);
        }
        if (isset($_POST['wppa-widget-subtitle'])) {
            wppa_update_option('wppa_widget_subtitle', $_POST['wppa-widget-subtitle']);
        }
        if (isset($_POST['wppa-widget-linkpage'])) {
            wppa_update_option('wppa_widget_linkpage', $_POST['wppa-widget-linkpage']);
        }
        if (isset($_POST['wppa-widget-linkurl'])) {
            wppa_update_option('wppa_widget_linkurl', $_POST['wppa-widget-linkurl']);
        }
        if (isset($_POST['wppa-widget-linktitle'])) {
            wppa_update_option('wppa_widget_linktitle', $_POST['wppa-widget-linktitle']);
        }
        if (isset($_POST['wppa-widget-linktype'])) {
            wppa_update_option('wppa_widget_linktype', $_POST['wppa-widget-linktype']);
        }
        if (wppa_check_numeric($_POST['wppa-potd-widget-width'], '100', __('Widget Photo Width.'))) {
            wppa_update_option('wppa_potd_widget_width', $_POST['wppa-potd-widget-width']);
        } else {
            $options_error = true;
        }
        if (!$options_error) {
            wppa_update_message(__('Changes Saved. Don\'t forget to activate the widget!', 'wppa'));
        }
    }
    wppa_initialize_runtime('force');
    ?>
	
	<div class="wrap">
		<?php 
    $iconurl = WPPA_URL . '/images/settings32.png';
    ?>
		<div id="icon-album" class="icon32" style="background: transparent url(<?php 
    echo $iconurl;
    ?>
) no-repeat">
			<br />
		</div>
		<h2><?php 
    _e('Photo of the Day Widget Settings', 'wppa');
    ?>
</h2>
		
		<form action="<?php 
    echo wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_photo_of_the_day');
    ?>
" method="post">
			<?php 
    wp_nonce_field('$wppa_nonce', WPPA_NONCE);
    ?>

			<table class="form-table wppa-table wppa-photo-table">
				<tbody>
					<tr valign="top">
						<th scope="row">
							<label ><?php 
    _e('Widget Title:', 'wppa');
    ?>
</label>
						</th>
						<td>
							<input type="text" name="wppa-widgettitle" id="wppa-widgettitle" value="<?php 
    echo wppa_opt('widgettitle');
    ?>
" />
							<span class="description"><br/><?php 
    _e('Enter/modify the title for the widget. This is a default and can be overriden at widget activation.', 'wppa');
    ?>
</span>
						</td>
					</tr>	
					
					<tr valign="top">
						<th scope="row">
							<label ><?php 
    _e('Widget Photo Width:', 'wppa');
    ?>
</label>
						</th>
						<td>
							<input type="text" name="wppa-potd-widget-width" id="wppa-potd-widget-width" value="<?php 
    echo wppa_opt('potd_widget_width');
    ?>
" style="width: 50px;" />
							<?php 
    _e('pixels.', 'wppa');
    echo ' ';
    _e('Horizontal alignment:', 'wppa');
    ?>
							<select name="wppa-potd-align" id="wppa-potd-align">
								<?php 
    $ali = wppa_opt('potd_align');
    ?>
								<?php 
    $sel = 'selected="selected"';
    ?>
								<option value="none" <?php 
    if ($ali == 'none') {
        echo $sel;
    }
    ?>
><?php 
    _e('--- none ---', 'wppa');
    ?>
</option>
								<option value="left" <?php 
    if ($ali == 'left') {
        echo $sel;
    }
    ?>
><?php 
    _e('left', 'wppa');
    ?>
</option>
								<option value="center" <?php 
    if ($ali == 'center') {
        echo $sel;
    }
    ?>
><?php 
    _e('center', 'wppa');
    ?>
</option>
								<option value="right" <?php 
    if ($ali == 'right') {
        echo $sel;
    }
    ?>
><?php 
    _e('right', 'wppa');
    ?>
</option>
							</select>
							<span class="description"><br/><?php 
    _e('Enter the desired display width and alignment of the photo in the sidebar.', 'wppa');
    ?>
</span>
						</td>
					</tr>

					<tr valign="top">
						<th scope="row">
							<label ><?php 
    _e('Use album(s):', 'wppa');
    ?>
</label>
						</th>
						<td>
							<script type="text/javascript">
							/* <![CDATA[ */
							function wppaCheckWa() {
								document.getElementById('wppa-spin').style.visibility = 'visible';
								document.getElementById('wppa-upd').style.visibility = 'hidden';
								var album = document.getElementById('wppa-wa').value;
								if ( album != 'all' && album != 'sep' && album != 'all-sep' && album != 'topten' && album != 'clr' )
									album = document.getElementById('wppa-was').value + ',' + album;
								var url = "<?php 
    echo wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_photo_of_the_day');
    ?>
&walbum=" + album;
								document.location.href = url;
							}
							/* ]]> */
							</script>
							<?php 
    _e('Select:', 'wppa');
    ?>
<select name="wppa-widget-album" id="wppa-wa" onchange="wppaCheckWa()" ><?php 
    echo wppa_walbum_select(wppa_opt('widget_album'));
    ?>
</select>
							<img id="wppa-spin" src="<?php 
    echo wppa_get_imgdir();
    ?>
wpspin.gif" style="visibility:hidden;"/>
							<?php 
    _e('Or Edit:', 'wppa');
    ?>
<input type="text" name="wppa-widget-albums" id="wppa-was" value="<?php 
    echo wppa_opt('widget_album');
    ?>
" />
							<input class="button-primary" name="wppa-upd" id="wppa-upd" value="<?php 
    _e('Update thumbnails', 'wppa');
    ?>
" onclick="wppaCheckWa()" />
							<span class="description"><br/>
								<?php 
    _e('Select or edit the album(s) you want to use the photos of for the widget.', 'wppa');
    ?>
								<br />
								<?php 
    _e('If you want a <b>- special -</b> selection or get rid of it, you may need to use <b>- start over -</b> first.', 'wppa');
    ?>
							</span>
						</td>
					</tr>
					<tr valign="top">
						<th scope="row">
							<label ><?php 
    _e('Display method:', 'wppa');
    ?>
</label>
						</th>
						<td>
							<?php 
    $sel = 'selected="selected"';
    ?>
							<?php 
    $method = wppa_opt('widget_method');
    ?>
							<select name="wppa-widget-method" id="wppa-wm" onchange="wppaCheckWidgetMethod()" >
								<option value="1" <?php 
    if ($method == '1') {
        echo $sel;
    }
    ?>
><?php 
    _e('Fixed photo', 'wppa');
    ?>
</option> 
								<option value="2" <?php 
    if ($method == '2') {
        echo $sel;
    }
    ?>
><?php 
    _e('Random', 'wppa');
    ?>
</option>
								<option value="3" <?php 
    if ($method == '3') {
        echo $sel;
    }
    ?>
><?php 
    _e('Last upload', 'wppa');
    ?>
</option>
								<option value="4" <?php 
    if ($method == '4') {
        echo $sel;
    }
    ?>
><?php 
    _e('Change every', 'wppa');
    ?>
</option>
							</select>
							<?php 
    $period = wppa_opt('widget_period');
    ?>
							<select name="wppa-widget-period" id="wppa-wp" >
								<option value="0" <?php 
    if ($period == '0') {
        echo $sel;
    }
    ?>
><?php 
    _e('pageview.', 'wppa');
    ?>
</option>
								<option value="1" <?php 
    if ($period == '1') {
        echo $sel;
    }
    ?>
><?php 
    _e('hour.', 'wppa');
    ?>
</option>
								<option value="24" <?php 
    if ($period == '24') {
        echo $sel;
    }
    ?>
><?php 
    _e('day.', 'wppa');
    ?>
</option>
								<option value="168" <?php 
    if ($period == '168') {
        echo $sel;
    }
    ?>
><?php 
    _e('week.', 'wppa');
    ?>
</option>
								<option value="736" <?php 
    if ($period == '736') {
        echo $sel;
    }
    ?>
><?php 
    _e('month.', 'wppa');
    ?>
</option>
								<option value="day-of-week" <?php 
    if ($period == 'day-of-week') {
        echo $sel;
    }
    ?>
><?php 
    _e('day of week is order#', 'wppa');
    ?>
</option>
								<option value="day-of-month" <?php 
    if ($period == 'day-of-month') {
        echo $sel;
    }
    ?>
><?php 
    _e('day of month is order#', 'wppa');
    ?>
</option>
							</select>
							<span class="description"><br/><?php 
    _e('Select how the widget should display.', 'wppa');
    ?>
</span>								
						</td>
					</tr>
<?php 
    $linktype = wppa_opt('widget_linktype');
    if ($linktype != 'custom') {
        ?>
						<tr>
							<th scope="row">
								<label ><?php 
        _e('Link to:', 'wppa');
        ?>
</label>
							</th>
							<td>
								<?php 
        _e('Links are set on the <b>Photo Albums -> Settings</b> screen.', 'wppa');
        ?>
							</td>
						</tr>
<?php 
    } else {
        ?>
						<tr class="wppa-wlu" >
							<th scope="row">
								<label ><?php 
        _e('Link to:', 'wppa');
        ?>
</label>
							</th>
							<td>
								<?php 
        _e('Title:', 'wppa');
        ?>
								<input type="text" name="wppa-widget-linktitle" id="wppa-widget-linktitle" value="<?php 
        echo wppa_opt('widget_linktitle');
        ?>
"style="width:20%" />
								<?php 
        _e('Url:', 'wppa');
        ?>
								<input type="text"  name="wppa-widget-linkurl" id="wppa-widget-linkurl" value="<?php 
        echo wppa_opt('widget_linkurl');
        ?>
" style="width:50%" />
								<span class="description"><br/><?php 
        _e('Enter the title and the url. Do\'nt forget the HTTP://', 'wppa');
        ?>
</span>
							</td>
						</tr>
<?php 
    }
    ?>
					<!--<script type="text/javascript">wppaCheckWidgetLink()</script>-->
					<tr>
						<th scope="row">
							<label ><?php 
    _e('Subtitle:', 'wppa');
    ?>
</label>
						</th>
						<td>
							<?php 
    $subtit = wppa_opt('widget_subtitle');
    ?>
							<select name="wppa-widget-subtitle" id="wppa-st" onchange="wppaCheckWidgetSubtitle()" >
								<option value="none" <?php 
    if ($subtit == 'none') {
        echo $sel;
    }
    ?>
><?php 
    _e('--- none ---', 'wppa');
    ?>
</option>
								<option value="name" <?php 
    if ($subtit == 'name') {
        echo $sel;
    }
    ?>
><?php 
    _e('Photo Name', 'wppa');
    ?>
</option>
								<option value="desc" <?php 
    if ($subtit == 'desc') {
        echo $sel;
    }
    ?>
><?php 
    _e('Description', 'wppa');
    ?>
</option>
								<option value="owner" <?php 
    if ($subtit == 'owner') {
        echo $sel;
    }
    ?>
><?php 
    _e('Owner', 'wppa');
    ?>
</option>
							</select>
							<span class="description"><br/><?php 
    _e('Select the content of the subtitle.', 'wppa');
    ?>
</span>	
						</td>
					</tr>
				</tbody>
			</table>
			<p>
				<input type="submit" class="button-primary" name="wppa-set-submit" value="<?php 
    _e('Save Changes', 'wppa');
    ?>
" />
			</p>
			<?php 
    $alb = wppa_opt('widget_album');
    $photos = wppa_get_widgetphotos($alb);
    if (empty($photos)) {
        echo '<p>' . __('No photos yet in this album.', 'wppa') . '</p>';
    } else {
        $curid = wppa_opt('widget_photo');
        $wi = wppa_get_minisize() + 24;
        $hi = $wi + 48;
        // Process photos
        foreach ($photos as $photo) {
            $id = $photo['id'];
            // Open container div
            echo '<div' . ' class="photoselect"' . ' style="' . 'width:' . wppa_opt('widget_width') . 'px;' . 'height:' . $hi . 'px;' . 'overflow:hidden;' . '" >';
            // The image if a video
            if (wppa_is_video($id)) {
                echo wppa_get_video_html(array('id' => $id, 'style' => 'width:' . wppa_opt('widget_width') . 'px;'));
            } else {
                echo '<img' . ' src=" ' . wppa_fix_poster_ext(wppa_get_thumb_url($id), $id) . '"' . ' style="' . 'width:' . wppa_opt('widget_width') . 'px;' . '"' . ' alt="' . $photo['name'] . '" />';
                // Audio ?
                if (wppa_has_audio($id)) {
                    echo wppa_get_audio_html(array('id' => $id, 'style' => 'width:' . wppa_opt('widget_width') . 'px;' . 'position:relative;' . 'bottom:' . (wppa_get_audio_control_height() + 4) . 'px;'));
                }
            }
            ?>
						<input type="radio" name="wppa-widget-photo" id="wppa-widget-photo<?php 
            echo $id;
            ?>
" value="<?php 
            echo $id;
            ?>
" <?php 
            if ($id == $curid) {
                echo 'checked="checked"';
            }
            ?>
/>
						<div class="clear"></div>
						<h4 style="position: absolute; top:<?php 
            echo $wi - 12;
            ?>
px; font-size:11px; overflow:hidden;"><?php 
            echo wppa_qtrans(stripslashes($photo['name']));
            ?>
</h4>
						<h6 style="position: absolute; top:<?php 
            echo $wi + 6;
            ?>
px; font-size:9px; line-height:10px;"><?php 
            echo wppa_qtrans(stripslashes($photo['description']));
            ?>
</h6>
						<h5 style="position: absolute; top:<?php 
            echo $wi + 24;
            ?>
px; font-size:9px; line-height:10px;"><?php 
            echo '(#' . $photo['p_order'] . ')';
            ?>
</h5>
						</div><?php 
        }
        echo '<div class="clear"></div>';
    }
    ?>
			<script type="text/javascript">wppaCheckWidgetMethod();</script>
			<script type="text/javascript">wppaCheckWidgetSubtitle();</script>
			<br />
			<p>
				<input type="submit" class="button-primary" name="wppa-set-submit" value="<?php 
    _e('Save Changes', 'wppa');
    ?>
" />
			</p>
		</form>
	</div>
<?php 
}
コード例 #6
0
 /** @see WP_Widget::widget */
 function widget($args, $instance)
 {
     global $wpdb;
     wppa('in_widget', 'potd');
     wppa_bump_mocc();
     require_once dirname(__FILE__) . '/wppa-links.php';
     require_once dirname(__FILE__) . '/wppa-styles.php';
     require_once dirname(__FILE__) . '/wppa-functions.php';
     require_once dirname(__FILE__) . '/wppa-thumbnails.php';
     require_once dirname(__FILE__) . '/wppa-boxes-html.php';
     require_once dirname(__FILE__) . '/wppa-slideshow.php';
     wppa_initialize_runtime();
     extract($args);
     $widget_title = apply_filters('widget_title', $instance['title']);
     // get the photo  ($image)
     $image = wppa_get_potd();
     // Make the HTML for current picture
     $widget_content = "\n" . '<!-- WPPA+ Photo of the day Widget start -->';
     $ali = wppa_opt('potd_align');
     if ($ali != 'none') {
         $align = 'text-align:' . $ali . ';';
     } else {
         $align = '';
     }
     $widget_content .= "\n" . '<div class="wppa-widget-photo" style="' . $align . ' padding-top:2px;position:relative;" >';
     if ($image) {
         $id = $image['id'];
         $w = wppa_opt('potd_widget_width');
         $ratio = wppa_get_photoy($id) / wppa_get_photox($id);
         $h = round($w * $ratio);
         $usethumb = wppa_use_thumb_file($id, wppa_opt('potd_widget_width'), '0');
         $imgurl = wppa_fix_poster_ext($usethumb ? wppa_get_thumb_url($id, '', $w, $h) : wppa_get_photo_url($id, '', $w, $h), $id);
         $name = wppa_get_photo_name($id);
         $page = in_array(wppa_opt('potd_linktype'), wppa('links_no_page')) && !wppa_switch('potd_counter') ? '' : wppa_get_the_landing_page('potd_linkpage', __('Photo of the day', 'wp-photo-album-plus'));
         $link = wppa_get_imglnk_a('potdwidget', $id);
         $is_video = wppa_is_video($id);
         $has_audio = wppa_has_audio($id);
         if ($link['is_lightbox']) {
             $lightbox = ($is_video ? ' data-videohtml="' . esc_attr(wppa_get_video_body($id)) . '"' . ' data-videonatwidth="' . wppa_get_videox($id) . '"' . ' data-videonatheight="' . wppa_get_videoy($id) . '"' : '') . ($has_audio ? ' data-audiohtml="' . esc_attr(wppa_get_audio_body($id)) . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('lightbox_name') . '"' . ' data-alt="' . esc_attr(wppa_get_imgalt($id, true)) . '"';
         } else {
             $lightbox = '';
         }
         if ($link) {
             if ($link['is_lightbox']) {
                 $cursor = ' cursor:url(' . wppa_get_imgdir() . wppa_opt('magnifier') . '),pointer;';
                 $title = wppa_zoom_in($id);
                 $ltitle = wppa_get_lbtitle('potd', $id);
             } else {
                 $cursor = ' cursor:pointer;';
                 $title = $link['title'];
                 $ltitle = $title;
             }
         } else {
             $cursor = ' cursor:default;';
             $title = esc_attr(stripslashes(__($image['name'], 'wp-photo-album-plus')));
         }
         // The medal if on top
         $widget_content .= wppa_get_medal_html_a(array('id' => $id, 'size' => 'M', 'where' => 'top'));
         // The link, if any
         if ($link) {
             $widget_content .= "\n\t" . '<a href = "' . $link['url'] . '" target="' . $link['target'] . '" ' . $lightbox . ' ' . wppa('lbtitle') . '="' . $ltitle . '">';
         }
         // The image
         if (wppa_is_video($id)) {
             $widget_content .= "\n\t\t" . wppa_get_video_html(array('id' => $id, 'width' => wppa_opt('potd_widget_width'), 'title' => $title, 'controls' => wppa_opt('potd_linktype') == 'none', 'cursor' => $cursor));
         } else {
             $widget_content .= '<img' . ' src="' . $imgurl . '"' . ' style="width: ' . wppa_opt('potd_widget_width') . 'px;' . $cursor . '"' . ' ' . wppa_get_imgalt($id) . ($title ? 'title="' . $title . '"' : '') . ' />';
         }
         // Close the link
         if ($link) {
             $widget_content .= '</a>';
         }
         // The medal if at the bottom
         $widget_content .= wppa_get_medal_html_a(array('id' => $id, 'size' => 'M', 'where' => 'bot'));
         // The counter
         if (wppa_switch('potd_counter')) {
             // If we want this
             $alb = wppa_get_photo_item($id, 'album');
             $c = $wpdb->get_var("SELECT COUNT(*) FROM `" . WPPA_PHOTOS . "` WHERE `album` = " . $alb) - 1;
             if ($c > 0) {
                 if (wppa_opt('potd_counter_link') == 'thumbs') {
                     $lnk = wppa_get_album_url($alb, $page, 'thumbs', '1');
                 } elseif (wppa_opt('potd_counter_link') == 'slide') {
                     $lnk = wppa_get_slideshow_url($alb, $page, $id, '1');
                 } elseif (wppa_opt('potd_counter_link') == 'single') {
                     $lnk = wppa_encrypt_url(get_permalink($page) . '?occur=1&photo=' . $id);
                     //	wppa_get_image_page_url_by_id( $id, true, false, $page );
                 } else {
                     wppa_log('Err', 'Unimplemented counter link type in wppa-potd-widget: ' . wppa_opt('potd_counter_link'));
                 }
                 $widget_content .= '<a href="' . $lnk . '" >' . '<div style="font-size:12px;position:absolute;right:4px;bottom:4px;" >+' . $c . '</div>' . '</a>';
             }
         }
         // Audio
         if (wppa_has_audio($id)) {
             $widget_content .= wppa_get_audio_html(array('id' => $id, 'width' => wppa_opt('potd_widget_width'), 'controls' => true));
         }
     } else {
         // No image
         $widget_content .= __('Photo not found', 'wp-photo-album-plus');
     }
     $widget_content .= "\n" . '</div>';
     // Add subtitle, if any
     if ($image) {
         switch (wppa_opt('potd_subtitle')) {
             case 'none':
                 break;
             case 'name':
                 $widget_content .= '<div class="wppa-widget-text wppa-potd-text" style="' . $align . '">' . wppa_get_photo_name($id) . '</div>';
                 break;
             case 'desc':
                 $widget_content .= "\n" . '<div class="wppa-widget-text wppa-potd-text" style="' . $align . '">' . wppa_get_photo_desc($id) . '</div>';
                 break;
             case 'owner':
                 $owner = $image['owner'];
                 $user = get_user_by('login', $owner);
                 $owner = $user->display_name;
                 $widget_content .= "\n" . '<div class="wppa-widget-text wppa-potd-text" style="' . $align . '">' . __('By:', 'wp-photo-album-plus') . ' ' . $owner . '</div>';
                 break;
             default:
                 wppa_log('Err', 'Unimplemented potd_subtitle found in wppa-potd-widget: ' . wppa_opt('potd_subtitle'));
         }
     }
     $widget_content .= '<div style="clear:both;" ></div>';
     $widget_content .= "\n" . '<!-- WPPA+ Photo of the day Widget end -->';
     echo "\n" . $before_widget;
     if (!empty($widget_title)) {
         echo $before_title . $widget_title . $after_title;
     }
     echo $widget_content . $after_widget;
     wppa('in_widget', false);
 }
コード例 #7
0
function wppa_album_photos($album = '', $photo = '', $owner = '', $moderate = false)
{
    global $wpdb;
    // Check input
    wppa_vfy_arg('wppa-page');
    $pagesize = wppa_opt('photo_admin_pagesize');
    $page = isset($_GET['wppa-page']) ? $_GET['wppa-page'] : '1';
    $skip = ($page - '1') * $pagesize;
    $limit = $pagesize < '1' ? '' : ' LIMIT ' . $skip . ',' . $pagesize;
    if ($album) {
        if ($album == 'search') {
            $count = wppa_get_edit_search_photos('', 'count_only');
            $photos = wppa_get_edit_search_photos($limit);
            $link = wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_admin_menu&tab=edit&edit_id=' . $album . '&wppa-searchstring=' . wppa_sanitize_searchstring($_REQUEST['wppa-searchstring']));
        } else {
            $counts = wppa_treecount_a($album);
            $count = $counts['selfphotos'] + $counts['pendphotos'];
            $photos = $wpdb->get_results($wpdb->prepare('SELECT * FROM `' . WPPA_PHOTOS . '` WHERE `album` = %s ' . wppa_get_photo_order($album, 'norandom') . $limit, $album), ARRAY_A);
            $link = wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_admin_menu&tab=edit&edit_id=' . $album);
        }
    } elseif ($photo && !$moderate) {
        $count = '1';
        $photos = $wpdb->get_results($wpdb->prepare('SELECT * FROM `' . WPPA_PHOTOS . '` WHERE `id` = %s', $photo), ARRAY_A);
        $link = '';
    } elseif ($owner) {
        $count = $wpdb->get_var($wpdb->prepare('SELECT COUNT(*) FROM `' . WPPA_PHOTOS . '` WHERE `owner` = %s', $owner));
        $photos = $wpdb->get_results($wpdb->prepare('SELECT * FROM `' . WPPA_PHOTOS . '` WHERE `owner` = %s ORDER BY `timestamp` DESC' . $limit, $owner), ARRAY_A);
        $link = wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_edit_photo');
    } elseif ($moderate) {
        if (!current_user_can('wppa_moderate')) {
            wp_die(__('You do not have the rights to do this', 'wp-photo-album-plus'));
        }
        if ($photo) {
            $count = '1';
            $photos = $wpdb->get_results($wpdb->prepare('SELECT * FROM `' . WPPA_PHOTOS . '` WHERE `id` = %s', $photo), ARRAY_A);
            $link = '';
        } else {
            // Photos with pending comments?
            $cmt = $wpdb->get_results("SELECT `photo` FROM `" . WPPA_COMMENTS . "` WHERE `status` = 'pending'", ARRAY_A);
            if ($cmt) {
                $orphotois = '';
                foreach ($cmt as $c) {
                    $orphotois .= "OR `id` = " . $c['photo'] . " ";
                }
            } else {
                $orphotois = '';
            }
            $count = $wpdb->get_var($wpdb->prepare('SELECT COUNT(*) FROM `' . WPPA_PHOTOS . '` WHERE `status` = %s ' . $orphotois, 'pending'));
            $photos = $wpdb->get_results($wpdb->prepare('SELECT * FROM `' . WPPA_PHOTOS . '` WHERE `status` = %s ' . $orphotois . ' ORDER BY `timestamp` DESC' . $limit, 'pending'), ARRAY_A);
            $link = wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_moderate_photos');
        }
        if (empty($photos)) {
            if ($photo) {
                echo '<p>' . __('This photo is no longer awaiting moderation.', 'wp-photo-album-plus') . '</p>';
            } else {
                echo '<p>' . __('There are no photos awaiting moderation at this time.', 'wp-photo-album-plus') . '</p>';
            }
            if (current_user_can('administrator')) {
                echo '<h3>' . __('Manage all photos by timestamp', 'wp-photo-album-plus') . '</h3>';
                $count = $wpdb->get_var("SELECT COUNT(*) FROM `" . WPPA_PHOTOS . "`");
                $photos = $wpdb->get_results("SELECT * FROM `" . WPPA_PHOTOS . "` ORDER BY `timestamp` DESC" . $limit, ARRAY_A);
                $link = wppa_dbg_url(get_admin_url() . 'admin.php?page=wppa_moderate_photos');
            } else {
                return;
            }
        }
    } else {
        wppa_dbg_msg('Missing required argument in wppa_album_photos() 1', 'red', 'force');
    }
    if ($link && isset($_REQUEST['quick'])) {
        $link .= '&quick';
    }
    wppa_show_search_statistics();
    if (empty($photos)) {
        if ($photo) {
            echo '<div id="photoitem-' . $photo . '" class="photoitem" style="width: 99%; background-color: rgb( 255, 255, 224 ); border-color: rgb( 230, 219, 85 );">
						<span style="color:red">' . sprintf(__('Photo %s has been removed.', 'wp-photo-album-plus'), $photo) . '</span>
					</div>';
        } else {
            if (isset($_REQUEST['wppa-searchstring'])) {
                echo '<h3>' . __('No photos matching your search criteria.', 'wp-photo-album-plus') . '</h3>';
            } else {
                echo '<h3>' . __('No photos yet in this album.', 'wp-photo-album-plus') . '</h3>';
            }
        }
    } else {
        $wms = array('toplft' => __('top - left', 'wp-photo-album-plus'), 'topcen' => __('top - center', 'wp-photo-album-plus'), 'toprht' => __('top - right', 'wp-photo-album-plus'), 'cenlft' => __('center - left', 'wp-photo-album-plus'), 'cencen' => __('center - center', 'wp-photo-album-plus'), 'cenrht' => __('center - right', 'wp-photo-album-plus'), 'botlft' => __('bottom - left', 'wp-photo-album-plus'), 'botcen' => __('bottom - center', 'wp-photo-album-plus'), 'botrht' => __('bottom - right', 'wp-photo-album-plus'));
        $temp = wppa_get_water_file_and_pos('0');
        $wmfile = isset($temp['select']) ? $temp['select'] : '';
        $wmpos = isset($temp['pos']) && isset($wms[$temp['pos']]) ? $wms[$temp['pos']] : '';
        wppa_admin_page_links($page, $pagesize, $count, $link);
        foreach ($photos as $photo) {
            $is_multi = wppa_is_multi($photo['id']);
            $is_video = wppa_is_video($photo['id']);
            $has_audio = wppa_has_audio($photo['id']);
            ?>
			<a id="photo_<?php 
            echo $photo['id'];
            ?>
" name="photo_<?php 
            echo $photo['id'];
            ?>
"></a>
			<div class="widefat wppa-table-wrap" id="photoitem-<?php 
            echo $photo['id'];
            ?>
" style="width:99%; position: relative;" >

				<!-- Left half starts here -->
				<div style="width:49.5%; float:left; border-right:1px solid #ccc; margin-right:0;">
					<input type="hidden" id="photo-nonce-<?php 
            echo $photo['id'];
            ?>
" value="<?php 
            echo wp_create_nonce('wppa_nonce_' . $photo['id']);
            ?>
" />
					<table class="wppa-table wppa-photo-table" style="width:98%" >
						<tbody>

							<!-- Preview -->
							<tr>
								<th>
									<label ><?php 
            echo 'ID = ' . $photo['id'] . '. ' . __('Preview:', 'wp-photo-album-plus');
            ?>
</label>
									<br />
									<?php 
            echo sprintf(__('Album: %d<br />(%s)', 'wp-photo-album-plus'), $photo['album'], wppa_get_album_name($photo['album']));
            ?>
									<br /><br />
									<?php 
            if (!$is_video) {
                ?>
										<?php 
                _e('Rotate', 'wp-photo-album-plus');
                ?>
										<a onclick="if ( confirm( '<?php 
                _e('Are you sure you want to rotate this photo left?', 'wp-photo-album-plus');
                ?>
' ) ) wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'rotleft', 0, <?php 
                echo wppa('front_edit') ? 'false' : 'true';
                ?>
 ); " ><?php 
                _e('left', 'wp-photo-album-plus');
                ?>
</a>

										<a onclick="if ( confirm( '<?php 
                _e('Are you sure you want to rotate this photo 180&deg;?', 'wp-photo-album-plus');
                ?>
' ) ) wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'rot180', 0, <?php 
                echo wppa('front_edit') ? 'false' : 'true';
                ?>
 ); " ><?php 
                _e('180&deg;', 'wp-photo-album-plus');
                ?>
</a>

										<a onclick="if ( confirm( '<?php 
                _e('Are you sure you want to rotate this photo right?', 'wp-photo-album-plus');
                ?>
' ) ) wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'rotright', 0, <?php 
                echo wppa('front_edit') ? 'false' : 'true';
                ?>
 ); " ><?php 
                _e('right', 'wp-photo-album-plus');
                ?>
</a>
										<br />

										<span style="font-size: 9px; line-height: 10px; color:#666;">
											<?php 
                if (wppa('front_edit')) {
                    _e('If it says \'Photo rotated\', the photo is rotated.', 'wp-photo-album-plus');
                } else {
                    $refresh = '<a onclick="wppaReload()" >' . __('Refresh', 'wp-photo-album-plus') . '</a>';
                    echo sprintf(__('If it says \'Photo rotated\', the photo is rotated. %s the page.', 'wp-photo-album-plus'), $refresh);
                }
                ?>
										</span>
									<?php 
            }
            ?>
								</th>
								<td>
									<?php 
            $src = wppa_get_thumb_url($photo['id']);
            $big = wppa_get_photo_url($photo['id']);
            if ($is_video) {
                reset($is_video);
                $big = str_replace('xxx', current($is_video), $big);
                ?>
										<a href="<?php 
                echo $big;
                ?>
" target="_blank" title="<?php 
                _e('Preview fullsize video', 'wp-photo-album-plus');
                ?>
" >
											<?php 
                echo wppa_get_video_html(array('id' => $photo['id'], 'width' => '160', 'height' => '160' * wppa_get_videoy($photo['id']) / wppa_get_videox($photo['id']), 'controls' => false, 'use_thumb' => true));
                ?>
										</a><?php 
            } else {
                if ($has_audio) {
                    $big = wppa_fix_poster_ext($big, $photo['id']);
                    $src = wppa_fix_poster_ext($src, $photo['id']);
                }
                ?>
										<a href="<?php 
                echo $big;
                ?>
" target="_blank" title="<?php 
                _e('Preview fullsize photo', 'wp-photo-album-plus');
                ?>
" >
											<img src="<?php 
                echo $src;
                ?>
" alt="<?php 
                echo $photo['name'];
                ?>
" style="max-width: 160px; vertical-align:middle;" />
										</a><?php 
                if ($has_audio) {
                    $audio = wppa_get_audio_html(array('id' => $photo['id'], 'width' => '160', 'controls' => true));
                    ?>
											<br />
											<?php 
                    if ($audio) {
                        echo $audio;
                    } else {
                        echo '<span style="color:red;">' . __('Audio disabled', 'wp-photo-album-plus') . '</span>';
                    }
                }
            }
            ?>
								</td>
							</tr>

							<!-- Upload -->
							<tr>
								<th  >
									<label><?php 
            _e('Upload:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td>
									<?php 
            $timestamp = $photo['timestamp'];
            if ($timestamp) {
                echo wppa_local_date(get_option('date_format', "F j, Y,") . ' ' . get_option('time_format', "g:i a"), $timestamp) . ' ' . __('local time', 'wp-photo-album-plus') . ' ';
            }
            if ($photo['owner']) {
                if (wppa_switch('photo_owner_change') && wppa_user_is('administrator')) {
                    echo '</td></tr><tr><th><label>' . __('Owned by:', 'wp-photo-album-plus') . '</label></th><td>';
                    echo '<input type="text" onkeyup="wppaAjaxUpdatePhoto( \'' . $photo['id'] . '\', \'owner\', this )" onchange="wppaAjaxUpdatePhoto( \'' . $photo['id'] . '\', \'owner\', this )" value="' . $photo['owner'] . '" />';
                } else {
                    echo __('By:', 'wp-photo-album-plus') . ' ' . $photo['owner'];
                }
            }
            ?>
								</td>
							</tr>

							<!-- Modified -->
							<tr>
								<th>
									<label><?php 
            _e('Modified:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td>
									<?php 
            $modified = $photo['modified'];
            if ($modified > $timestamp) {
                echo wppa_local_date(get_option('date_format', "F j, Y,") . ' ' . get_option('time_format', "g:i a"), $modified) . ' ' . __('local time', 'wp-photo-album-plus');
            } else {
                _e('Not modified', 'wp-photo-album-plus');
            }
            ?>
								</td>
							</tr>

							<!-- EXIF Date -->
							<tr>
								<th>
									<label><?php 
            _e('EXIF Date', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td>
								<?php 
            if (wppa_user_is('administrator')) {
                echo '<input type="text" onkeyup="wppaAjaxUpdatePhoto( \'' . $photo['id'] . '\', \'exifdtm\', this )" onchange="wppaAjaxUpdatePhoto( \'' . $photo['id'] . '\', \'exifdtm\', this )" value="' . $photo['exifdtm'] . '" />';
            } else {
                echo $photo['exifdtm'];
            }
            ?>
								</td>
							</tr>

							<!-- Rating -->
							<tr  >
								<th  >
									<label><?php 
            _e('Rating:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td class="wppa-rating" >
									<?php 
            $entries = wppa_get_rating_count_by_id($photo['id']);
            if ($entries) {
                echo __('Entries:', 'wp-photo-album-plus') . ' ' . $entries . '. ' . __('Mean value:', 'wp-photo-album-plus') . ' ' . wppa_get_rating_by_id($photo['id'], 'nolabel') . '.';
            } else {
                _e('No ratings for this photo.', 'wp-photo-album-plus');
            }
            $dislikes = wppa_dislike_get($photo['id']);
            if ($dislikes) {
                echo ' <span style="color:red" >' . sprintf(__('Disliked by %d visitors', 'wp-photo-album-plus'), $dislikes) . '</span>';
            }
            $pending = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM `" . WPPA_RATING . "` WHERE `photo` = %s AND `status` = 'pending'", $photo['id']));
            if ($pending) {
                echo ' <span style="color:orange" >' . sprintf(__('%d pending votes.', 'wp-photo-album-plus'), $pending) . '</span>';
            }
            ?>

								</td>
							</tr>

							<!-- Views -->
							<tr  >
								<th  >
									<label><?php 
            _e('Views', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td >
									<?php 
            echo $photo['views'];
            ?>
								</td>
							</tr>

							<!-- P_order -->
							<?php 
            if (!wppa_switch('porder_restricted') || current_user_can('administrator')) {
                ?>
							<tr  >
								<th  >
									<label><?php 
                _e('Photo sort order #:', 'wp-photo-album-plus');
                ?>
</label>
								</th>
								<td >
									<input type="text" id="porder-<?php 
                echo $photo['id'];
                ?>
" value="<?php 
                echo $photo['p_order'];
                ?>
" style="width: 50px" onkeyup="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'p_order', this )" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'p_order', this )" />
								</td>
							</tr>
							<?php 
            }
            ?>

							<?php 
            if (!isset($_REQUEST['quick'])) {
                ?>
								<?php 
                if (!isset($album_select[$photo['album']])) {
                    $album_select[$photo['album']] = wppa_album_select_a(array('checkaccess' => true, 'path' => wppa_switch('hier_albsel'), 'exclude' => $photo['album'], 'selected' => '0', 'addpleaseselect' => true));
                }
                ?>
								<!-- Move -->
								<tr  >
									<th  >
										<input type="button" style="" onclick="if( document.getElementById( 'moveto-<?php 
                echo $photo['id'];
                ?>
' ).value != 0 ) { if ( confirm( '<?php 
                _e('Are you sure you want to move this photo?', 'wp-photo-album-plus');
                ?>
' ) ) wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'moveto', document.getElementById( 'moveto-<?php 
                echo $photo['id'];
                ?>
' ) ) } else { alert( '<?php 
                _e('Please select an album to move the photo to first.', 'wp-photo-album-plus');
                ?>
' ); return false;}" value="<?php 
                echo esc_attr(__('Move photo to', 'wp-photo-album-plus'));
                ?>
" />
									</th>
									<td >
										<select id="moveto-<?php 
                echo $photo['id'];
                ?>
" style="width:100%;" ><?php 
                echo $album_select[$photo['album']];
                ?>
</select>
									</td>
								</tr>
								<!-- Copy -->
								<tr  >
									<th  >
										<input type="button" style="" onclick="if ( document.getElementById( 'copyto-<?php 
                echo $photo['id'];
                ?>
' ).value != 0 ) { if ( confirm( '<?php 
                _e('Are you sure you want to copy this photo?', 'wp-photo-album-plus');
                ?>
' ) ) wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'copyto', document.getElementById( 'copyto-<?php 
                echo $photo['id'];
                ?>
' ) ) } else { alert( '<?php 
                _e('Please select an album to copy the photo to first.', 'wp-photo-album-plus');
                ?>
' ); return false;}" value="<?php 
                echo esc_attr(__('Copy photo to', 'wp-photo-album-plus'));
                ?>
" />
									</th>
									<td >
										<select id="copyto-<?php 
                echo $photo['id'];
                ?>
" style="width:100%;" ><?php 
                echo $album_select[$photo['album']];
                ?>
</select>
									</td>
								</tr>
							<?php 
            }
            ?>

							<!-- Delete -->
							<?php 
            if (!wppa('front_edit')) {
                ?>
							<tr  >
								<th  style="padding-top:0; padding-bottom:4px;">
									<input type="button" style="color:red;" onclick="if ( confirm( '<?php 
                _e('Are you sure you want to delete this photo?', 'wp-photo-album-plus');
                ?>
' ) ) wppaAjaxDeletePhoto( <?php 
                echo $photo['id'];
                ?>
 )" value="<?php 
                echo esc_attr(__('Delete photo', 'wp-photo-album-plus'));
                ?>
" />
								</th>
							</tr>
							<?php 
            }
            ?>

							<!-- Auto Page -->
							<?php 
            if (wppa_switch('auto_page') && (current_user_can('edit_posts') || current_user_can('edit_pages'))) {
                ?>
							<tr style=="vertical-align:bottom;" >
								<th  style="padding-top:0; padding-bottom:4px;">
									<label>
										<?php 
                _e('Autopage Permalink:', 'wp-photo-album-plus');
                ?>
									</label>
								</th>
								<td >
									<?php 
                echo get_permalink(wppa_get_the_auto_page($photo['id']));
                ?>
								</td>
							</tr>
							<?php 
            }
            ?>

							<!-- Link url -->
							<?php 
            if (!wppa_switch('link_is_restricted') || current_user_can('administrator')) {
                ?>
								<tr  >
									<th  >
										<label><?php 
                _e('Link url:', 'wp-photo-album-plus');
                ?>
</label>
									</th>
									<td >
										<input type="text" style="width:60%;" onkeyup="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'linkurl', this )" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'linkurl', this )" value="<?php 
                echo stripslashes($photo['linkurl']);
                ?>
" />
										<select style="float:right;" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'linktarget', this )" >
											<option value="_self" <?php 
                if ($photo['linktarget'] == '_self') {
                    echo 'selected="selected"';
                }
                ?>
><?php 
                _e('Same tab', 'wp-photo-album-plus');
                ?>
</option>
											<option value="_blank" <?php 
                if ($photo['linktarget'] == '_blank') {
                    echo 'selected="selected"';
                }
                ?>
><?php 
                _e('New tab', 'wp-photo-album-plus');
                ?>
</option>
										</select>
									</td>
								</tr>

								<!-- Link title -->
								<tr  >
									<th  >
										<label><?php 
                _e('Link title:', 'wp-photo-album-plus');
                ?>
</label>
									</th>
									<td >
										<input type="text" style="width:97%;" onkeyup="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'linktitle', this )" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'linktitle', this )" value="<?php 
                echo stripslashes($photo['linktitle']);
                ?>
" />
									</td>
								</tr>
								<?php 
                if (current_user_can('wppa_settings')) {
                    ?>
								<tr style="padding-left:10px; font-size:9px; line-height:10px; color:#666;" >
									<td colspan="2" style="padding-top:0" >
										<?php 
                    _e('If you want this link to be used, check \'PS Overrule\' checkbox in table VI.', 'wp-photo-album-plus');
                    ?>
									</td>
								</tr>
								<?php 
                }
                ?>
							<?php 
            }
            ?>

							<!-- Alt custom field -->
							<?php 
            if (wppa_opt('alt_type') == 'custom') {
                ?>
							<tr  >
								<th  >
									<label><?php 
                _e('HTML Alt attribute:', 'wp-photo-album-plus');
                ?>
</label>
								</th>
								<td >
									<input type="text" style="width:100%;" onkeyup="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'alt', this )" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'alt', this )" value="<?php 
                echo stripslashes($photo['alt']);
                ?>
" />
								</td>
							</tr>
							<?php 
            }
            ?>

						</tbody>
					</table>
				</div>

				<!-- Right half starts here -->
				<div style="width:50%; float:left; border-left:1px solid #ccc; margin-left:-1px;">
					<table class="wppa-table wppa-photo-table" >
						<tbody>

							<!-- Filename -->
							<tr>
								<th>
									<label><?php 
            _e('Filename:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td>
									<?php 
            echo $photo['filename'];
            if (wppa_user_is('administrator') || !wppa_switch('reup_is_restricted')) {
                ?>
										<input type="button" onclick="jQuery( '#re-up-<?php 
                echo $photo['id'];
                ?>
' ).css( 'display', '' );" value="<?php 
                _e('Update file', 'wp-photo-album-plus');
                ?>
" />
									<?php 
            }
            ?>
								</td>
							</tr>
							<?php 
            if (wppa_user_is('administrator') || !wppa_switch('reup_is_restricted')) {
                ?>
							<tr id="re-up-<?php 
                echo $photo['id'];
                ?>
" style="display:none" >
								<th>
								</th>
								<td>
									<form id="wppa-re-up-form-<?php 
                echo $photo['id'];
                ?>
" onsubmit="wppaReUpload( event,<?php 
                echo $photo['id'];
                ?>
, '<?php 
                echo $photo['filename'];
                ?>
' )" >
										<input type="file" id="wppa-re-up-file-<?php 
                echo $photo['id'];
                ?>
" />
										<input type="submit" id="wppa-re-up-butn-<?php 
                echo $photo['id'];
                ?>
" value="<?php 
                _e('Upload', 'wp-photo-album-plus');
                ?>
" />
									</form>
								</td>
							</tr>
							<?php 
            }
            ?>

							<!--- Video sizes -->
							<?php 
            if ($is_video) {
                ?>
							<tr>
								<th>
									<label><?php 
                _e('Video size:', 'wp-photo-album-plus');
                ?>
								</th>
								<td>
									<table class="wppa-subtable" >
										<tr>
											<td>
												<?php 
                _e('Width:', 'wp-photo-album-plus');
                ?>
											</td>
											<td>
												<input style="width:50px;margin:0 4px;" onkeyup="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'videox', this ); " onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'videox', this ); " value="<?php 
                echo $photo['videox'];
                ?>
" /><?php 
                echo sprintf(__('pix, (0=default:%s)', 'wp-photo-album-plus'), wppa_opt('video_width'));
                ?>
											</td>
										</tr>
										<tr>
											<td>
												<?php 
                _e('Height:', 'wp-photo-album-plus');
                ?>
											</td>
											<td>
												<input style="width:50px;margin:0 4px;" onkeyup="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'videoy', this ); " onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'videoy', this ); " value="<?php 
                echo $photo['videoy'];
                ?>
" /><?php 
                echo sprintf(__('pix, (0=default:%s)', 'wp-photo-album-plus'), wppa_opt('video_height'));
                ?>
											</td>
										</tr>
									</table>
								</td>
							</tr>
							<tr>
								<th>
									<label><?php 
                _e('Formats:', 'wp-photo-album-plus');
                ?>
								</th>
								<td>
									<table class="wppa-subtable" >
										<?php 
                foreach ($is_video as $fmt) {
                    echo '<tr>' . '<td>' . $fmt . '</td>' . '<td>' . __('Filesize:', 'wp-photo-album-plus') . '</td>' . '<td>' . wppa_get_filesize(str_replace('xxx', $fmt, wppa_get_photo_path($photo['id']))) . '</td>' . '</tr>';
                }
                ?>
									</table>
								</td>
							</tr>
							<?php 
            }
            ?>

							<!-- Audio -->
							<?php 
            if ($has_audio) {
                ?>
							<tr>
								<th>
									<label><?php 
                _e('Formats:', 'wp-photo-album-plus');
                ?>
								</th>
								<td>
									<table class="wppa-subtable" >
										<?php 
                foreach ($has_audio as $fmt) {
                    echo '<tr>' . '<td>' . $fmt . '</td>' . '<td>' . __('Filesize:', 'wp-photo-album-plus') . '</td>' . '<td>' . wppa_get_filesize(str_replace('xxx', $fmt, wppa_get_photo_path($photo['id']))) . '</td>' . '</tr>';
                }
                ?>
									</table>
								</td>
							</tr>
							<?php 
            }
            ?>

							<!-- Filesizes -->
							<tr>
								<th>
									<label><?php 
            $is_video || $has_audio ? _e('Poster:', 'wp-photo-album-plus') : _e('Photo sizes:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td>
									<table class="wppa-subtable" >
										<tr>
											<td>
												<?php 
            _e('Source file:', 'wp-photo-album-plus');
            ?>
											</td>
												<?php 
            $sp = wppa_get_source_path($photo['id']);
            if (is_file($sp)) {
                $ima = getimagesize($sp);
                ?>

											<td>
												<?php 
                echo $ima['0'] . ' x ' . $ima['1'] . ' px.';
                ?>
											</td>
											<td>
												<?php 
                echo wppa_get_filesize($sp);
                ?>
											</td>
											<td>
												<a style="cursor:pointer; font-weight:bold;" title="<?php 
                _e('Remake display file and thumbnail file', 'wp-photo-album-plus');
                ?>
" onclick="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'remake', this )"><?php 
                _e('Remake files', 'wp-photo-album-plus');
                ?>
</a>
											</td>
								<?php 
            } else {
                ?>
											<td>
												<span style="color:orange;"><?php 
                _e('Unavailable', 'wp-photo-album-plus');
                ?>
</span>
											</td>
											<td>
											</td>
											<td>
											</td>
								<?php 
            }
            ?>
										</tr>
										<tr>
											<td>
												<?php 
            _e('Display file:', 'wp-photo-album-plus');
            ?>
											</td>
												<?php 
            $dp = wppa_fix_poster_ext(wppa_get_photo_path($photo['id']), $photo['id']);
            if (is_file($dp)) {
                ?>
											<td>
												<?php 
                echo floor(wppa_get_photox($photo['id'])) . ' x ' . floor(wppa_get_photoy($photo['id'])) . ' px.';
                ?>
											</td>
											<td>
												<?php 
                echo wppa_get_filesize($dp);
                ?>
											</td>
											<td>
											</td>
												<?php 
            } else {
                ?>
											<td>
												<span style="color:red;"><?php 
                _e('Unavailable', 'wp-photo-album-plus');
                ?>
</span>
											</td>
											<td>
											</td>
											<td>
											</td>
												<?php 
            }
            ?>
										</tr>
										<tr>
											<td>
												<?php 
            _e('Thumbnail file:', 'wp-photo-album-plus');
            ?>
											</td>
												<?php 
            $tp = wppa_fix_poster_ext(wppa_get_thumb_path($photo['id']), $photo['id']);
            if (is_file($tp)) {
                ?>
											<td>
												<?php 
                echo floor(wppa_get_thumbx($photo['id'])) . ' x ' . floor(wppa_get_thumby($photo['id'])) . ' px.';
                ?>
											</td>
											<td>
												<?php 
                echo wppa_get_filesize($tp);
                ?>
											</td>
												<?php 
            } else {
                ?>
											<td>
												<span style="color:red;"><?php 
                _e('Unavailable', 'wp-photo-album-plus');
                ?>
</span>
											</td>
											<td>
											</td>
												<?php 
            }
            ?>
											<td>
												<a style="cursor:pointer; font-weight:bold;" title="<?php 
            _e('Remake thumbnail file', 'wp-photo-album-plus');
            ?>
" onclick="wppaAjaxUpdatePhoto( <?php 
            echo $photo['id'];
            ?>
, 'remakethumb', this )"><?php 
            _e('Remake', 'wp-photo-album-plus');
            ?>
</a>
											</td>
										</tr>
									</table>
								</td>
							</tr>

							<!-- Stereo -->
							<?php 
            if (wppa_switch('enable_stereo')) {
                ?>
							<tr>
								<th>
									<label><?php 
                _e('Stereophoto:', 'wp-photo-album-plus');
                ?>
</label>
								</th>
								<td>
									<select id="stereo-<?php 
                echo $photo['id'];
                ?>
" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'stereo', this )" >
										<option value="0" <?php 
                if ($photo['stereo'] == '0') {
                    echo 'selected="selected" ';
                }
                ?>
><?php 
                _e('no stereo image or ready anaglyph', 'wp-photo-album-plus');
                ?>
</option>
										<option value="1" <?php 
                if ($photo['stereo'] == '1') {
                    echo 'selected="selected" ';
                }
                ?>
><?php 
                _e('Left - right stereo image', 'wp-photo-album-plus');
                ?>
</option>
										<option value="-1" <?php 
                if ($photo['stereo'] == '-1') {
                    echo 'selected="selected" ';
                }
                ?>
><?php 
                _e('Right - left stereo image', 'wp-photo-album-plus');
                ?>
</option>
									<select>
								<td>
							</tr>
							<tr>
								<th>
									<label><?php 
                _e('Images:', 'wp-photo-album-plus');
                ?>
</label>
								</th>
								<td>
									<?php 
                $files = glob(WPPA_UPLOAD_PATH . '/stereo/' . $photo['id'] . '-*.*');
                if (!empty($files)) {
                    sort($files);
                    $c = 0;
                    echo '<table><tbody>';
                    foreach ($files as $file) {
                        if (!$c) {
                            echo '<tr>';
                        }
                        if (is_file($file)) {
                            echo '<td style="padding:0;" ><a href="' . str_replace(WPPA_UPLOAD_PATH, WPPA_UPLOAD_URL, $file) . '" target="_blank" >' . basename($file) . '</a></td>';
                        }
                        if (strpos(basename($file), '_flat')) {
                            $c++;
                        }
                        $c = ($c + 1) % 2;
                        if (!$c) {
                            echo '</tr>';
                        }
                    }
                    if ($c) {
                        echo '<td style="padding:0;" ></td></tr>';
                    }
                    echo '</tbody></table>';
                }
                ?>
								</td>
							</tr>
							<?php 
            }
            ?>

							<!-- Location -->
							<?php 
            if ($photo['location'] || wppa_switch('geo_edit')) {
                ?>
							<tr>
								<th>
									<label><?php 
                _e('Location:', 'wp-photo-album-plus');
                ?>
</label>
								</th>
								<td>
									<?php 
                $loc = $photo['location'] ? $photo['location'] : '///';
                $geo = explode('/', $loc);
                echo $geo['0'] . ' ' . $geo['1'] . ' ';
                if (wppa_switch('geo_edit')) {
                    ?>
										<?php 
                    _e('Lat:', 'wp-photo-album-plus');
                    ?>
<input type="text" style="width:100px;" id="lat-<?php 
                    echo $photo['id'];
                    ?>
" onkeyup="wppaAjaxUpdatePhoto( <?php 
                    echo $photo['id'];
                    ?>
, 'lat', this );" onchange="wppaAjaxUpdatePhoto( <?php 
                    echo $photo['id'];
                    ?>
, 'lat', this );" value="<?php 
                    echo $geo['2'];
                    ?>
" />
										<?php 
                    _e('Lon:', 'wp-photo-album-plus');
                    ?>
<input type="text" style="width:100px;" id="lon-<?php 
                    echo $photo['id'];
                    ?>
" onkeyup="wppaAjaxUpdatePhoto( <?php 
                    echo $photo['id'];
                    ?>
, 'lon', this );" onchange="wppaAjaxUpdatePhoto( <?php 
                    echo $photo['id'];
                    ?>
, 'lon', this );" value="<?php 
                    echo $geo['3'];
                    ?>
" />
										<?php 
                    if (!wppa('front_edit')) {
                        ?>
											<span class="description"><br /><?php 
                        _e('Refresh the page after changing to see the degrees being updated', 'wp-photo-album-plus');
                        ?>
</span>
										<?php 
                    }
                    ?>
									<?php 
                }
                ?>
								</td>
							</tr>
							<?php 
            }
            ?>

							<!-- Name -->
							<tr  >
								<th  >
									<label><?php 
            _e('Photoname:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<?php 
            if (wppa_switch('use_wp_editor')) {
                ?>
								<td>
									<input type="text" style="width:100%;" id="pname-<?php 
                echo $photo['id'];
                ?>
" value="<?php 
                echo esc_attr(stripslashes($photo['name']));
                ?>
" />

									<input type="button" class="button-secundary" value="<?php 
                _e('Update Photo name', 'wp-photo-album-plus');
                ?>
" onclick="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'name', document.getElementById( 'pname-<?php 
                echo $photo['id'];
                ?>
' ) );" />
								</td>
								<?php 
            } else {
                ?>
									<td>
										<input type="text" style="width:100%;" id="pname-<?php 
                echo $photo['id'];
                ?>
" onkeyup="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'name', this );" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'name', this );" value="<?php 
                echo esc_attr(stripslashes($photo['name']));
                ?>
" />
									</td>
								<?php 
            }
            ?>
							</tr>

							<!-- Description -->
							<?php 
            if (!wppa_switch('desc_is_restricted') || wppa_user_is('administrator')) {
                ?>
							<tr>
								<th>
									<label><?php 
                _e('Description:', 'wp-photo-album-plus');
                ?>
</label>
								</th>
								<?php 
                if (wppa_switch('use_wp_editor')) {
                    ?>
								<td>

									<?php 
                    $alfaid = wppa_alfa_id($photo['id']);
                    //		$quicktags_settings = array( 'buttons' => 'strong,em,link,block,ins,ul,ol,li,code,close' );
                    wp_editor(stripslashes($photo['description']), 'wppaphotodesc' . $alfaid, array('wpautop' => true, 'media_buttons' => false, 'textarea_rows' => '6', 'tinymce' => true));
                    //, 'quicktags' => $quicktags_settings ) );
                    ?>

									<input
										type="button" class="button-secundary" value="<?php 
                    _e('Update Photo description', 'wp-photo-album-plus');
                    ?>
" onclick="wppaAjaxUpdatePhoto( <?php 
                    echo $photo['id'];
                    ?>
, 'description', document.getElementById( 'wppaphotodesc'+'<?php 
                    echo $alfaid;
                    ?>
' ), false, '<?php 
                    echo $alfaid;
                    ?>
' )" />
									<img id="wppa-photo-spin-<?php 
                    echo $photo['id'];
                    ?>
" src="<?php 
                    echo wppa_get_imgdir() . 'wpspin.gif';
                    ?>
" style="visibility:hidden" />
								</td>
								<?php 
                } else {
                    ?>
								<td>
									<textarea style="width: 100%; height:120px;" onkeyup="wppaAjaxUpdatePhoto( <?php 
                    echo $photo['id'];
                    ?>
, 'description', this )" onchange="wppaAjaxUpdatePhoto( <?php 
                    echo $photo['id'];
                    ?>
, 'description', this )" ><?php 
                    echo stripslashes($photo['description']);
                    ?>
</textarea>
								</td>
								<?php 
                }
                ?>
							</tr>
							<?php 
            } else {
                ?>
							<tr>
								<th>
									<label><?php 
                _e('Description:', 'wp-photo-album-plus');
                ?>
</label>
								</th>
								<td>
									<div style="width: 100%; height:120px; overflow:auto;" ><?php 
                echo stripslashes($photo['description']);
                ?>
</div>
								</td>
							</tr>
							<?php 
            }
            ?>

							<!-- Custom -->
							<?php 
            if (wppa_switch('custom_fields')) {
                $custom = wppa_get_photo_item($photo['id'], 'custom');
                if ($custom) {
                    $custom_data = unserialize($custom);
                } else {
                    $custom_data = array('', '', '', '', '', '', '', '', '', '');
                }
                foreach (array_keys($custom_data) as $key) {
                    if (wppa_opt('custom_caption_' . $key)) {
                        ?>
												<tr>
													<th>
														<label><?php 
                        echo wppa_opt('custom_caption_' . $key) . ':<br /><small>(w#cc' . $key . ')</small>';
                        ?>
</label>
													</th>
													<td>
														<?php 
                        echo '<small>(w#cd' . $key . ')</small>';
                        ?>
														<input 	type="text"
																style="width:85%; float:right;"
																id="pname-<?php 
                        echo $photo['id'];
                        ?>
"
																onkeyup="wppaAjaxUpdatePhoto( <?php 
                        echo $photo['id'];
                        ?>
, 'custom_<?php 
                        echo $key;
                        ?>
', this );"
																onchange="wppaAjaxUpdatePhoto( <?php 
                        echo $photo['id'];
                        ?>
, 'custom_<?php 
                        echo $key;
                        ?>
', this );"
																value="<?php 
                        echo esc_attr(stripslashes($custom_data[$key]));
                        ?>
"
																/>

													</td>
												</tr>
											<?php 
                    }
                }
            }
            ?>
							<!-- Tags -->
							<tr style="vertical-align:middle;" >
								<th  >
									<label ><?php 
            _e('Tags:', 'wp-photo-album-plus');
            ?>
</label>
									<span class="description" >
										<br />&nbsp;
									</span>
								</th>
								<td >
									<input id="tags-<?php 
            echo $photo['id'];
            ?>
" type="text" style="width:100%;" onchange="wppaAjaxUpdatePhoto( <?php 
            echo $photo['id'];
            ?>
, 'tags', this )" value="<?php 
            echo stripslashes(trim($photo['tags'], ','));
            ?>
" />
									<span class="description" >
										<?php 
            _e('Separate tags with commas.', 'wp-photo-album-plus');
            ?>
&nbsp;
										<?php 
            _e('Examples:', 'wp-photo-album-plus');
            ?>
										<select onchange="wppaAddTag( this.value, 'tags-<?php 
            echo $photo['id'];
            ?>
' ); wppaAjaxUpdatePhoto( <?php 
            echo $photo['id'];
            ?>
, 'tags', document.getElementById( 'tags-<?php 
            echo $photo['id'];
            ?>
' ) )" >
											<?php 
            $taglist = wppa_get_taglist();
            if (is_array($taglist)) {
                echo '<option value="" >' . __('- select -', 'wp-photo-album-plus') . '</option>';
                foreach ($taglist as $tag) {
                    echo '<option value="' . $tag['tag'] . '" >' . $tag['tag'] . '</option>';
                }
            } else {
                echo '<option value="0" >' . __('No tags yet', 'wp-photo-album-plus') . '</option>';
            }
            ?>
										</select>
										<?php 
            _e('Select to add', 'wp-photo-album-plus');
            ?>
									</span>
								</td>
							</tr>

							<!-- Status -->
							<tr style="vertical-align:middle;" >
								<th>
									<label ><?php 
            _e('Status:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td>
								<?php 
            if ((current_user_can('wppa_admin') || current_user_can('wppa_moderate')) && !isset($_REQUEST['quick'])) {
                ?>
									<table>
										<tr>
											<td>
												<select id="status-<?php 
                echo $photo['id'];
                ?>
" onchange="wppaAjaxUpdatePhoto( <?php 
                echo $photo['id'];
                ?>
, 'status', this ); wppaPhotoStatusChange( <?php 
                echo $photo['id'];
                ?>
 ); ">
													<option value="pending" <?php 
                if ($photo['status'] == 'pending') {
                    echo 'selected="selected"';
                }
                ?>
 ><?php 
                _e('Pending', 'wp-photo-album-plus');
                ?>
</option>
													<option value="publish" <?php 
                if ($photo['status'] == 'publish') {
                    echo 'selected="selected"';
                }
                ?>
 ><?php 
                _e('Publish', 'wp-photo-album-plus');
                ?>
</option>
													<?php 
                if (wppa_switch('ext_status_restricted') && !wppa_user_is('administrator')) {
                    $dis = ' disabled';
                } else {
                    $dis = '';
                }
                ?>
													<option value="featured" <?php 
                if ($photo['status'] == 'featured') {
                    echo 'selected="selected"';
                }
                echo $dis;
                ?>
 ><?php 
                _e('Featured', 'wp-photo-album-plus');
                ?>
</option>
													<option value="gold" <?php 
                if ($photo['status'] == 'gold') {
                    echo 'selected="selected"';
                }
                echo $dis;
                ?>
 ><?php 
                _e('Gold', 'wp-photo-album-plus');
                ?>
</option>
													<option value="silver" <?php 
                if ($photo['status'] == 'silver') {
                    echo 'selected="selected"';
                }
                echo $dis;
                ?>
 ><?php 
                _e('Silver', 'wp-photo-album-plus');
                ?>
</option>
													<option value="bronze" <?php 
                if ($photo['status'] == 'bronze') {
                    echo 'selected="selected"';
                }
                echo $dis;
                ?>
 ><?php 
                _e('Bronze', 'wp-photo-album-plus');
                ?>
</option>
													<option value="scheduled" <?php 
                if ($photo['status'] == 'scheduled') {
                    echo 'selected="selected"';
                }
                echo $dis;
                ?>
 ><?php 
                _e('Scheduled', 'wp-photo-album-plus');
                ?>
</option>
													<option value="private" <?php 
                if ($photo['status'] == 'private') {
                    echo 'selected="selected"';
                }
                echo $dis;
                ?>
 ><?php 
                _e('Private', 'wp-photo-album-plus');
                ?>
</option>
												</select>
											</td>
											<td class="wppa-datetime-<?php 
                echo $photo['id'];
                ?>
" >
												<?php 
                echo wppa_get_date_time_select_html('photo', $photo['id'], true);
                ?>
											</td>
										</tr>
									</table>
								<?php 
            } else {
                ?>
										<input type="hidden" id="status-<?php 
                echo $photo['id'];
                ?>
" value="<?php 
                echo $photo['status'];
                ?>
" />
									<table>
										<tr>
											<td>
												<?php 
                if ($photo['status'] == 'pending') {
                    _e('Pending', 'wp-photo-album-plus');
                } elseif ($photo['status'] == 'publish') {
                    _e('Publish', 'wp-photo-album-plus');
                } elseif ($photo['status'] == 'featured') {
                    _e('Featured', 'wp-photo-album-plus');
                } elseif ($photo['status'] == 'gold') {
                    _e('Gold', 'wp-photo-album-plus');
                } elseif ($photo['status'] == 'silver') {
                    _e('Silver', 'wp-photo-album-plus');
                } elseif ($photo['status'] == 'bronze') {
                    _e('Bronze', 'wp-photo-album-plus');
                } elseif ($photo['status'] == 'scheduled') {
                    _e('Scheduled', 'wp-photo-album-plus');
                } elseif ($photo['status'] == 'private') {
                    _e('Private', 'wp-photo-album-plus');
                }
                ?>
											</td>
											<td class="wppa-datetime-<?php 
                echo $photo['id'];
                ?>
" >
												<?php 
                echo wppa_get_date_time_select_html('photo', $photo['id'], false);
                ?>
											</td>
										</tr>
									</table>
									<?php 
            }
            ?>
									<span id="psdesc-<?php 
            echo $photo['id'];
            ?>
" class="description" style="display:none;" ><?php 
            _e('Note: Featured photos should have a descriptive name; a name a search engine will look for!', 'wp-photo-album-plus');
            ?>
</span>

								</td>
							</tr>

							<!-- Watermark -->
							<?php 
            if (!$is_video || is_file(wppa_fix_poster_ext(wppa_get_photo_path($photo['id']), $photo['id']))) {
                ?>
								<tr style="vertical-align:middle;" >
									<th  >
										<label><?php 
                _e('Watermark:', 'wp-photo-album-plus');
                ?>
</label>
									</th>
									<td>
										<?php 
                $user = wppa_get_user();
                if (wppa_switch('watermark_on')) {
                    if (wppa_switch('watermark_user') || current_user_can('wppa_settings')) {
                        echo __('File:', 'wppa', 'wp-photo-album-plus') . ' ';
                        ?>
												<select id="wmfsel_<?php 
                        echo $photo['id'];
                        ?>
" onchange="wppaAjaxUpdatePhoto( <?php 
                        echo $photo['id'];
                        ?>
, 'wppa_watermark_file_<?php 
                        echo $user;
                        ?>
', this );" >
												<?php 
                        echo wppa_watermark_file_select();
                        ?>
												</select>
												<?php 
                        echo '<br />' . __('Pos:', 'wp-photo-album-plus') . ' ';
                        ?>
												<select id="wmpsel_<?php 
                        echo $photo['id'];
                        ?>
" onchange="wppaAjaxUpdatePhoto( <?php 
                        echo $photo['id'];
                        ?>
, 'wppa_watermark_pos_<?php 
                        echo $user;
                        ?>
', this );" >
												<?php 
                        echo wppa_watermark_pos_select();
                        ?>
												</select>
												<input type="button" class="button-secundary" value="<?php 
                        _e('Apply watermark', 'wp-photo-album-plus');
                        ?>
" onclick="if ( confirm( '<?php 
                        echo esc_js(__('Are you sure? Once applied it can not be removed!', 'wp-photo-album-plus')) . '\\n\\n' . esc_js(__('And I do not know if there is already a watermark on this photo', 'wp-photo-album-plus'));
                        ?>
' ) ) wppaAjaxApplyWatermark( <?php 
                        echo $photo['id'];
                        ?>
, document.getElementById( 'wmfsel_<?php 
                        echo $photo['id'];
                        ?>
' ).value, document.getElementById( 'wmpsel_<?php 
                        echo $photo['id'];
                        ?>
' ).value )" />
												<?php 
                    } else {
                        echo __('File:', 'wppa', 'wp-photo-album-plus') . ' ' . __($wmfile, 'wp-photo-album-plus');
                        if ($wmfile != '--- none ---') {
                            echo ' ' . __('Pos:', 'wp-photo-album-plus') . ' ' . $wmpos;
                        }
                    }
                    ?>
											<img id="wppa-water-spin-<?php 
                    echo $photo['id'];
                    ?>
" src="<?php 
                    echo wppa_get_imgdir() . 'wpspin.gif';
                    ?>
" style="visibility:hidden" /><?php 
                } else {
                    _e('Not configured', 'wp-photo-album-plus');
                }
                ?>
									</td>
								</tr>
							<?php 
            }
            ?>
							<!-- Remark -->
							<tr style="vertical-align: middle;" >
								<th >
									<label style="color:#070"><?php 
            _e('Remark:', 'wp-photo-album-plus');
            ?>
</label>
								</th>
								<td id="photostatus-<?php 
            echo $photo['id'];
            ?>
" style="padding-left:10px; width: 400px;">
									<?php 
            if (wppa_is_video($photo['id'])) {
                echo sprintf(__('Video %s is not modified yet', 'wp-photo-album-plus'), $photo['id']);
            } else {
                echo sprintf(__('Photo %s is not modified yet', 'wp-photo-album-plus'), $photo['id']);
            }
            ?>
								</td>
							</tr>

						</tbody>
					</table>
					<script type="text/javascript">wppaPhotoStatusChange( <?php 
            echo $photo['id'];
            ?>
 )</script>
				</div>

				<div style="clear:both;"></div>

				<?php 
            if (!isset($_REQUEST['quick'])) {
                ?>
				<div class="wppa-links" >
					<table style="width:100%" >
						<tbody>
							<?php 
                if (current_user_can('edit_posts') || current_user_can('edit_pages')) {
                    ?>
							<tr>
								<td><?php 
                    _e('Single image shortcode', 'wp-photo-album-plus');
                    ?>
:</td>
								<td><?php 
                    echo esc_js('[wppa type="photo" photo="' . $photo['id'] . '" size="' . wppa_opt('fullsize') . '"][/wppa]');
                    ?>
</td>
							</tr>
							<?php 
                }
                ?>
							<?php 
                if (is_file(wppa_get_source_path($photo['id']))) {
                    ?>
							<tr>
								<td><?php 
                    _e('Permalink', 'wp-photo-album-plus');
                    ?>
:</td>
								<td><?php 
                    echo wppa_get_source_pl($photo['id']);
                    ?>
</td>
							</tr>
							<?php 
                }
                ?>
							<tr>
								<td><?php 
                _e('Hi resolution url', 'wp-photo-album-plus');
                ?>
:</td>
								<td><?php 
                echo wppa_get_hires_url($photo['id']);
                ?>
</td>
							</tr>
							<?php 
                if (is_file(wppa_get_photo_path($photo['id']))) {
                    ?>
							<tr>
								<td><?php 
                    _e('Display file url', 'wp-photo-album-plus');
                    ?>
:</td>
								<td><?php 
                    echo wppa_get_lores_url($photo['id']);
                    ?>
</td>
							</tr>
							<?php 
                }
                ?>
							<?php 
                if (is_file(wppa_get_thumb_path($photo['id']))) {
                    ?>
							<tr>
								<td><?php 
                    _e('Thumbnail file url', 'wp-photo-album-plus');
                    ?>
:</td>
								<td><?php 
                    echo wppa_get_tnres_url($photo['id']);
                    ?>
</td>
							</tr>
							<?php 
                }
                ?>
						</tbody>
					</table>
				</div>
				<?php 
            }
            ?>

</div>
				<!-- Comments -->
				<?php 
            $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM `" . WPPA_COMMENTS . "` WHERE `photo` = %s ORDER BY `timestamp` DESC", $photo['id']), ARRAY_A);
            if ($comments) {
                ?>
				<div class="widefat" style="width:99%; font-size:11px;" >
					<table class="wppa-table widefat wppa-setting-table" >
						<thead>
							<tr style="font-weight:bold;" >
								<td style="padding:0 4px;" >#</td>
								<td style="padding:0 4px;" >User</td>
								<td style="padding:0 4px;" >Time since</td>
								<td style="padding:0 4px;" >Status</td>
								<td style="padding:0 4px;" >Comment</td>
							</tr>
						</thead>
						<tbody>
							<?php 
                foreach ($comments as $comment) {
                    echo '
							<tr>
								<td style="padding:0 4px;" >' . $comment['id'] . '</td>
								<td style="padding:0 4px;" >' . $comment['user'] . '</td>
								<td style="padding:0 4px;" >' . wppa_get_time_since($comment['timestamp']) . '</td>';
                    if (current_user_can('wppa_comments') || current_user_can('wppa_moderate') || wppa_get_user() == $photo['owner'] && wppa_switch('owner_moderate_comment')) {
                        $p = $comment['status'] == 'pending' ? 'selected="selected" ' : '';
                        $a = $comment['status'] == 'approved' ? 'selected="selected" ' : '';
                        $s = $comment['status'] == 'spam' ? 'selected="selected" ' : '';
                        $t = $comment['status'] == 'trash' ? 'selected="selected" ' : '';
                        echo '
										<td style="padding:0 4px;" >
											<select style="height: 20px; font-size: 11px; padding:0;" onchange="wppaAjaxUpdateCommentStatus( ' . $photo['id'] . ', ' . $comment['id'] . ', this.value )" >
												<option value="pending" ' . $p . '>' . __('Pending', 'wp-photo-album-plus') . '</option>
												<option value="approved" ' . $a . '>' . __('Approved', 'wp-photo-album-plus') . '</option>
												<option value="spam" ' . $s . '>' . __('Spam', 'wp-photo-album-plus') . '</option>
												<option value="trash" ' . $t . '>' . __('Trash', 'wp-photo-album-plus') . '</option>
											</select >
										</td>
									';
                    } else {
                        echo '<td style="padding:0 4px;" >';
                        if ($comment['status'] == 'pending') {
                            _e('Pending', 'wp-photo-album-plus');
                        } elseif ($comment['status'] == 'approved') {
                            _e('Approved', 'wp-photo-album-plus');
                        } elseif ($comment['status'] == 'spam') {
                            _e('Spam', 'wp-photo-album-plus');
                        } elseif ($comment['status'] == 'trash') {
                            _e('Trash', 'wp-photo-album-plus');
                        }
                        echo '</td>';
                    }
                    echo '<td style="padding:0 4px;" >' . $comment['comment'] . '</td>
							</tr>
							';
                }
                ?>
						</tbody>
					</table>
				</div>
			<?php 
            }
            ?>
		<!--	</div> -->
			<div style="clear:both;margin-top:7px;"></div>
<?php 
        }
        /* foreach photo */
        wppa_admin_page_links($page, $pagesize, $count, $link);
    }
    /* photos not empty */
}
コード例 #8
0
function wppa_album_photos($album = '', $photo = '', $owner = '', $moderate = false)
{
    global $wpdb;
    // Check input
    wppa_vfy_arg('wppa-page');
    $pagesize = wppa_opt('photo_admin_pagesize');
    $page = isset($_GET['wppa-page']) ? $_GET['wppa-page'] : '1';
    $skip = ($page - '1') * $pagesize;
    $limit = $pagesize < '1' ? '' : ' LIMIT ' . $skip . ',' . $pagesize;
    // Edit the photos in a specific album
    if ($album) {
        // Special album case: search (see last album line in album table)
        if ($album == 'search') {
            $count = wppa_get_edit_search_photos('', 'count_only');
            $photos = wppa_get_edit_search_photos($limit);
            $link = wppa_dbg_url(get_admin_url() . 'admin.php' . '?page=wppa_admin_menu' . '&tab=edit' . '&edit_id=' . $album . '&wppa-searchstring=' . wppa_sanitize_searchstring($_REQUEST['wppa-searchstring']));
        } else {
            $counts = wppa_treecount_a($album);
            $count = $counts['selfphotos'] + $counts['pendphotos'];
            $photos = $wpdb->get_results($wpdb->prepare("SELECT * " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `album` = %s " . wppa_get_photo_order($album, 'norandom') . $limit, $album), ARRAY_A);
            $link = wppa_dbg_url(get_admin_url() . 'admin.php' . '?page=wppa_admin_menu' . '&tab=edit' . '&edit_id=' . $album);
        }
    } elseif ($photo && !$moderate) {
        $count = '1';
        $photos = $wpdb->get_results($wpdb->prepare("SELECT * " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `id` = %s", $photo), ARRAY_A);
        $link = '';
    } elseif ($owner) {
        $count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `owner` = %s", $owner));
        $photos = $wpdb->get_results($wpdb->prepare("SELECT * " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `owner` = %s " . "ORDER BY `timestamp` DESC " . $limit, $owner), ARRAY_A);
        $link = wppa_dbg_url(get_admin_url() . 'admin.php' . '?page=wppa_edit_photo');
    } elseif ($moderate) {
        // Can i moderate?
        if (!current_user_can('wppa_moderate')) {
            wp_die(__('You do not have the rights to do this', 'wp-photo-album-plus'));
        }
        // Moderate a single photo
        if ($photo) {
            $count = '1';
            $photos = $wpdb->get_results($wpdb->prepare("SELECT * " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `id` = %s", $photo), ARRAY_A);
            $link = '';
        } else {
            $cmt = $wpdb->get_results("SELECT `photo` " . "FROM `" . WPPA_COMMENTS . "` " . "WHERE `status` = 'pending' " . "OR `status` = 'spam'", ARRAY_A);
            if ($cmt) {
                $orphotois = '';
                foreach ($cmt as $c) {
                    $orphotois .= "OR `id` = " . $c['photo'] . " ";
                }
            } else {
                $orphotois = '';
            }
            $count = $wpdb->get_var("SELECT COUNT(*) " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `status` = 'pending' " . $orphotois);
            $photos = $wpdb->get_results("SELECT * " . "FROM `" . WPPA_PHOTOS . "` " . "WHERE `status` = 'pending' " . $orphotois . " " . "ORDER BY `timestamp` DESC " . $limit, ARRAY_A);
            $link = wppa_dbg_url(get_admin_url() . 'admin.php' . '?page=wppa_moderate_photos');
        }
        // No photos to moderate
        if (empty($photos)) {
            // Single photo moderate requested
            if ($photo) {
                echo '<p>' . __('This photo is no longer awaiting moderation.', 'wp-photo-album-plus') . '</p>';
            } else {
                echo '<p>' . __('There are no photos awaiting moderation at this time.', 'wp-photo-album-plus') . '</p>';
            }
            // If i am admin, i can edit all photos here, sorted by timestamp desc
            if (wppa_user_is('administrator')) {
                echo '<h3>' . __('Manage all photos by timestamp', 'wp-photo-album-plus') . '</h3>';
                $count = $wpdb->get_var("SELECT COUNT(*) " . "FROM `" . WPPA_PHOTOS . "`");
                $photos = $wpdb->get_results("SELECT * " . "FROM `" . WPPA_PHOTOS . "` " . "ORDER BY `timestamp` DESC" . $limit, ARRAY_A);
                $link = wppa_dbg_url(get_admin_url() . 'admin.php' . '?page=wppa_moderate_photos');
            } else {
                return;
            }
        }
    } else {
        wppa_dbg_msg('Missing required argument in wppa_album_photos() 1', 'red', 'force');
        return;
    }
    // Quick edit skips a few time consuming settings like copy and move to other album
    $quick = isset($_REQUEST['quick']);
    if ($link && $quick) {
        $link .= '&quick';
    }
    // In case it is a seaerch and edit, show the search statistics
    wppa_show_search_statistics();
    // If no photos selected produce apprpriate message and quit
    if (empty($photos)) {
        // A specific photo requested
        if ($photo) {
            echo '<div id="photoitem-' . $photo . '" class="photoitem" style="width:100%; background-color: rgb( 255, 255, 224 ); border-color: rgb( 230, 219, 85 );">' . '<span style="color:red">' . sprintf(__('Photo %s has been removed.', 'wp-photo-album-plus'), $photo) . '</span>' . '</div>';
        } else {
            // Search
            if (isset($_REQUEST['wppa-searchstring'])) {
                echo '<h3>' . __('No photos matching your search criteria.', 'wp-photo-album-plus') . '</h3>';
            } else {
                echo '<h3>' . __('No photos yet in this album.', 'wp-photo-album-plus') . '</h3>';
            }
        }
        return;
    } else {
        // Local js functions placed here as long as there is not yet a possibility to translate texts in js files
        ?>
<script>
function wppaTryMove( id, video ) {

	var query;

	if ( ! jQuery( '#target-' + id ).val() ) {
		alert( '<?php 
        echo esc_js(__('Please select an album to move to first.', 'wp-photo-album-plus'));
        ?>
' );
		return false;
	}

	if ( video ) {
		query = '<?php 
        echo esc_js(__('Are you sure you want to move this video?', 'wp-photo-album-plus'));
        ?>
';
	}
	else {
		query = '<?php 
        echo esc_js(__('Are you sure you want to move this photo?', 'wp-photo-album-plus'));
        ?>
';
	}

	if ( confirm( query ) ) {
		wppaAjaxUpdatePhoto( id, 'moveto', document.getElementById( 'target-' + id ) );
	}
}

function wppaTryCopy( id, video ) {

	var query;

	if ( ! jQuery( '#target-' + id ).val() ) {
		alert( '<?php 
        echo esc_js(__('Please select an album to copy to first.', 'wp-photo-album-plus'));
        ?>
' );
		return false;
	}

	if ( video ) {
		query = '<?php 
        echo esc_js(__('Are you sure you want to copy this video?', 'wp-photo-album-plus'));
        ?>
';
	}
	else {
		query = '<?php 
        echo esc_js(__('Are you sure you want to copy this photo?', 'wp-photo-album-plus'));
        ?>
';
	}

	if ( confirm( query ) ) {
		wppaAjaxUpdatePhoto( id, 'copyto', document.getElementById( 'target-' + id ) );
	}
}

function wppaTryDelete( id, video ) {

	var query;

	if ( video ) {
		query = '<?php 
        echo esc_js(__('Are you sure you want to delete this video?', 'wp-photo-album-plus'));
        ?>
';
	}
	else {
		query = '<?php 
        echo esc_js(__('Are you sure you want to delete this photo?', 'wp-photo-album-plus'));
        ?>
';
	}

	if ( confirm( query ) ) {
		wppaAjaxDeletePhoto( id )
	}
}

function wppaTryRotLeft( id ) {

	var query = '<?php 
        echo esc_js(__('Are you sure you want to rotate this photo left?', 'wp-photo-album-plus'));
        ?>
';

	if ( confirm( query ) ) {
		wppaAjaxUpdatePhoto( id, 'rotleft', 0, <?php 
        echo wppa('front_edit') ? 'false' : 'true';
        ?>
 );
	}
}

function wppaTryRot180( id ) {

	var query = '<?php 
        echo esc_js(__('Are you sure you want to rotate this photo 180&deg;?', 'wp-photo-album-plus'));
        ?>
';

	if ( confirm( query ) ) {
		wppaAjaxUpdatePhoto( id, 'rot180', 0, <?php 
        echo wppa('front_edit') ? 'false' : 'true';
        ?>
 );
	}
}

function wppaTryRotRight( id ) {

	var query = '<?php 
        echo esc_js(__('Are you sure you want to rotate this photo right?', 'wp-photo-album-plus'));
        ?>
';

	if ( confirm( query ) ) {
		wppaAjaxUpdatePhoto( id, 'rotright', 0, <?php 
        echo wppa('front_edit') ? 'false' : 'true';
        ?>
 );
	}
}

function wppaTryFlip( id ) {

	var query = '<?php 
        echo esc_js(__('Are you sure you want to flip this photo?', 'wp-photo-album-plus'));
        ?>
';

	if ( confirm( query ) ) {
		wppaAjaxUpdatePhoto( id, 'flip', 0, <?php 
        echo wppa('front_edit') ? 'false' : 'true';
        ?>
 );
	}
}

function wppaTryWatermark( id ) {

	var wmFile = jQuery( '#wmfsel_' + id ).val();
	if ( wmFile == '--- none ---' ) {
		alert( '<?php 
        echo esc_js(__('No watermark selected', 'wp-photo-album-plus'));
        ?>
' );
		return;
	}
	var query = '<?php 
        echo esc_js(__('Are you sure? Once applied it can not be removed!', 'wp-photo-album-plus'));
        ?>
';
	query += '\n';
	query += '<?php 
        echo esc_js(__('And I do not know if there is already a watermark on this photo', 'wp-photo-album-plus'));
        ?>
';

	if ( confirm( query ) ) {
		wppaAjaxApplyWatermark( id, document.getElementById( 'wmfsel_' + id ).value, document.getElementById( 'wmpsel_' + id ).value );
	}
}

</script>
<?php 
        // Get the current watermark file settings
        $wms = array('toplft' => __('top - left', 'wp-photo-album-plus'), 'topcen' => __('top - center', 'wp-photo-album-plus'), 'toprht' => __('top - right', 'wp-photo-album-plus'), 'cenlft' => __('center - left', 'wp-photo-album-plus'), 'cencen' => __('center - center', 'wp-photo-album-plus'), 'cenrht' => __('center - right', 'wp-photo-album-plus'), 'botlft' => __('bottom - left', 'wp-photo-album-plus'), 'botcen' => __('bottom - center', 'wp-photo-album-plus'), 'botrht' => __('bottom - right', 'wp-photo-album-plus'));
        $temp = wppa_get_water_file_and_pos('0');
        $wmfile = isset($temp['select']) ? $temp['select'] : '';
        $wmpos = isset($temp['pos']) && isset($wms[$temp['pos']]) ? $wms[$temp['pos']] : '';
        $mvt = esc_attr(__('Move video', 'wp-photo-album-plus'));
        $mpt = esc_attr(__('Move photo', 'wp-photo-album-plus'));
        $cvt = esc_attr(__('Copy video', 'wp-photo-album-plus'));
        $cpt = esc_attr(__('Copy photo', 'wp-photo-album-plus'));
        // Display the pagelinks
        wppa_admin_page_links($page, $pagesize, $count, $link);
        // Display all photos
        foreach ($photos as $photo) {
            // We may not use extract(), so we do something like it here manually, hence controlled.
            $id = $photo['id'];
            $timestamp = $photo['timestamp'];
            $modified = $photo['modified'];
            $owner = $photo['owner'];
            $crypt = $photo['crypt'];
            $album = $photo['album'];
            $name = stripslashes($photo['name']);
            $description = stripslashes($photo['description']);
            $exifdtm = $photo['exifdtm'];
            $views = $photo['views'];
            $clicks = $photo['clicks'];
            $p_order = $photo['p_order'];
            $linktarget = $photo['linktarget'];
            $linkurl = $photo['linkurl'];
            $linktitle = stripslashes($photo['linktitle']);
            $alt = stripslashes($photo['alt']);
            $filename = $photo['filename'];
            $videox = $photo['videox'];
            $videoy = $photo['videoy'];
            $location = $photo['location'];
            $status = $photo['status'];
            $tags = trim(stripslashes($photo['tags']), ',');
            $stereo = $photo['stereo'];
            // See if item is a multimedia item
            $is_multi = wppa_is_multi($id);
            $is_video = wppa_is_video($id);
            // returns array of extensions
            $b_is_video = empty($is_video) ? 0 : 1;
            // boolean
            $has_audio = wppa_has_audio($id);
            // returns array of extensions
            $b_has_audio = empty($has_audio) ? 0 : 1;
            // boolean
            // Various usefull vars
            $owner_editable = wppa_switch('photo_owner_change') && wppa_user_is('administrator');
            $sortby_orderno = wppa_get_album_item($album, 'p_order_by') == '1' || wppa_get_album_item($album, 'p_order_by') == '-1';
            echo "\n" . '<a id="photo_' . $id . '" ></a>';
            echo '<div' . ' id="photoitem-' . $id . '"' . ' class="wppa-table-wrap"' . ' style="width:100%;position:relative;"' . ' >';
            echo '<input' . ' type="hidden"' . ' id="photo-nonce-' . $id . '"' . ' value="' . wp_create_nonce('wppa_nonce_' . $id) . '"' . ' />';
            echo "\n" . '<!-- Section 1 -->' . '<table' . ' class="wppa-table wppa-photo-table"' . ' style="width:100%;"' . ' >' . '<tbody>';
            // -- Preview thumbnail ---
            echo '<tr>' . '<td>';
            $src = wppa_get_thumb_url($id);
            $big = wppa_get_photo_url($id);
            if ($is_video) {
                reset($is_video);
                $big = str_replace('xxx', current($is_video), $big);
                echo '<a' . ' href="' . $big . '"' . ' target="_blank"' . ' title="' . esc_attr(__('Preview fullsize video', 'wp-photo-album-plus')) . '"' . ' >' . wppa_get_video_html(array('id' => $id, 'tagid' => 'video-' . $id, 'width' => '160', 'height' => '160' * wppa_get_videoy($id) / wppa_get_videox($id), 'controls' => false, 'use_thumb' => true)) . '</a>';
            } else {
                if ($has_audio) {
                    $big = wppa_fix_poster_ext($big, $id);
                    $src = wppa_fix_poster_ext($src, $id);
                }
                echo '<a' . ' href="' . $big . '"' . ' target="_blank"' . ' title="' . esc_attr(__('Preview fullsize photo', 'wp-photo-album-plus')) . '"' . ' >' . '<img' . ' src="' . $src . '"' . ' alt="' . esc_attr($name) . '"' . ' style="max-width: 160px; vertical-align:middle;"' . ' />' . '</a>';
                if ($has_audio) {
                    $audio = wppa_get_audio_html(array('id' => $id, 'tagid' => 'audio-' . $id, 'width' => '160', 'controls' => true));
                    echo '<br />' . ($audio ? $audio : '<span style="color:red;">' . __('Audio disabled', 'wp-photo-album-plus') . '</span>');
                }
            }
            echo '</td>';
            echo '<td>' . 'ID = ' . $id . '. ' . __('Crypt:', 'wp-photo-album-plus') . ' ' . $crypt . '. ' . __('Filename:', 'wp-photo-album-plus') . ' ' . $filename . '. ' . __('Upload:', 'wp-photo-album-plus') . ' ' . wppa_local_date('', $timestamp) . ' ' . __('local time', 'wp-photo-album-plus') . '. ' . ($owner_editable ? '' : __('By:', 'wp-photo-album-plus') . ' ' . $owner);
            if ($owner_editable) {
                echo __('Owned by:', 'wp-photo-album-plus') . '<input' . ' type="text"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'owner\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'owner\', this )"' . ' value="' . $owner . '"' . ' />';
            }
            echo ' ' . sprintf(__('Album: %d (%s).', 'wp-photo-album-plus'), $album, wppa_get_album_name($album));
            // Modified
            if ($modified > $timestamp) {
                echo ' ' . __('Modified:', 'wp-photo-album-plus') . ' ' . wppa_local_date('', $modified) . ' ' . __('local time', 'wp-photo-album-plus');
            } else {
                echo ' ' . __('Not modified', 'wp-photo-album-plus');
            }
            echo '. ' . __('EXIF Date:', 'wp-photo-album-plus');
            if (wppa_user_is('administrator')) {
                // Admin may edit exif date
                echo '<input' . ' type="text"' . ' style="width:125px;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'exifdtm\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'exifdtm\', this )"' . ' value="' . $exifdtm . '"' . ' />';
            } else {
                echo $exifdtm . '.';
            }
            echo ' ';
            // Location
            if ($photo['location'] || wppa_switch('geo_edit')) {
                echo __('Location:', 'wp-photo-album-plus') . ' ';
                $loc = $location ? $location : '///';
                $geo = explode('/', $loc);
                echo $geo['0'] . ' ' . $geo['1'] . '. ';
                if (wppa_switch('geo_edit')) {
                    echo __('Lat:', 'wp-photo-album-plus') . '<input' . ' type="text"' . ' style="width:100px;"' . ' id="lat-' . $id . '"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'lat\', this );"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'lat\', this );"' . ' value="' . $geo['2'] . '"' . ' />' . __('Lon:', 'wp-photo-album-plus') . '<input type="text"' . ' style="width:100px;"' . ' id="lon-' . $id . '"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'lon\', this );"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'lon\', this );"' . ' value="' . $geo['3'] . '"' . ' />';
                }
            }
            // Changeable p_order
            echo __('Photo sort order #:', 'wp-photo-album-plus');
            if ($sortby_orderno && (!wppa_switch('porder_restricted') || wppa_user_is('administrator'))) {
                echo '<input' . ' type="text"' . ' id="porder-' . $id . '"' . ' value="' . $p_order . '"' . ' style="width:30px;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'p_order\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'p_order\', this )"' . ' />' . ' ';
            } else {
                echo $p_order . '. ';
            }
            // Rating
            $entries = wppa_get_rating_count_by_id($id);
            if ($entries) {
                if (wppa_opt('rating_display_type') == 'likes') {
                    echo __('Likes:', 'wp-photo-album-plus') . ' ' . $entries . '. ';
                } else {
                    echo __('Rating:', 'wp-photo-album-plus') . ' ' . __('Entries:', 'wp-photo-album-plus') . ' ' . $entries . ', ' . __('Mean value:', 'wp-photo-album-plus') . ' ' . wppa_get_rating_by_id($id, 'nolabel') . '. ';
                }
            } else {
                echo __('No ratings for this photo.', 'wp-photo-album-plus') . ' ';
            }
            $dislikes = wppa_dislike_get($id);
            if ($dislikes) {
                echo '<span style="color:red" >' . sprintf(__('Disliked by %d visitors', 'wp-photo-album-plus'), $dislikes) . '. ' . '</span>';
            }
            $pending = wppa_pendrat_get($id);
            if ($pending) {
                echo '<span style="color:orange" >' . sprintf(__('%d pending votes.', 'wp-photo-album-plus'), $pending) . ' ' . '</span>';
            }
            // Views
            if (wppa_switch('track_viewcounts')) {
                echo __('Views', 'wp-photo-album-plus') . ': ' . $views . '. ';
            }
            // Clicks
            if (wppa_switch('track_clickcounts')) {
                echo __('Clicks', 'wp-photo-album-plus') . ': ' . $clicks . '. ';
            }
            // Status
            echo '<br />' . __('Status:', 'wp-photo-album-plus') . ' ';
            if (current_user_can('wppa_admin') || current_user_can('wppa_moderate')) {
                if (wppa_switch('ext_status_restricted') && !wppa_user_is('administrator')) {
                    $dis = ' disabled="disabled"';
                } else {
                    $dis = '';
                }
                $sel = ' selected="selected"';
                echo '<select' . ' id="status-' . $id . '"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'status\', this ); wppaPhotoStatusChange( ' . $id . ' );"' . ' >' . '<option value="pending"' . ($status == 'pending' ? $sel : '') . ' >' . __('Pending', 'wp-photo-album-plus') . '</option>' . '<option value="publish"' . ($status == 'publish' ? $sel : '') . ' >' . __('Publish', 'wp-photo-album-plus') . '</option>' . '<option value="featured"' . ($status == 'featured' ? $sel : '') . $dis . ' >' . __('Featured', 'wp-photo-album-plus') . '</option>' . '<option value="gold"' . ($status == 'gold' ? $sel : '') . $dis . ' >' . __('Gold', 'wp-photo-album-plus') . '</option>' . '<option value="silver"' . ($status == 'silver' ? $sel : '') . $dis . ' >' . __('Silver', 'wp-photo-album-plus') . '</option>' . '<option value="bronze"' . ($status == 'bronze' ? $sel : '') . $dis . ' >' . __('Bronze', 'wp-photo-album-plus') . '</option>' . '<option value="scheduled"' . ($status == 'scheduled' ? $sel : '') . $dis . ' >' . __('Scheduled', 'wp-photo-album-plus') . '</option>' . '<option value="private"' . ($status == 'private' ? $sel : '') . $dis . ' >' . __('Private', 'wp-photo-album-plus') . '</option>' . '</select>' . wppa_get_date_time_select_html('photo', $id, true);
            } else {
                echo '<input' . ' type="hidden"' . ' id="status-' . $id . '"' . ' value="' . $status . '"' . ' />';
                if ($status == 'pending') {
                    _e('Pending', 'wp-photo-album-plus');
                } elseif ($status == 'publish') {
                    _e('Publish', 'wp-photo-album-plus');
                } elseif ($status == 'featured') {
                    _e('Featured', 'wp-photo-album-plus');
                } elseif ($status == 'gold') {
                    _e('Gold', 'wp-photo-album-plus');
                } elseif ($status == 'silver') {
                    _e('Silver', 'wp-photo-album-plus');
                } elseif ($status == 'bronze') {
                    _e('Bronze', 'wp-photo-album-plus');
                } elseif ($status == 'scheduled') {
                    _e('Scheduled', 'wp-photo-album-plus');
                } elseif ($status == 'private') {
                    _e('Private', 'wp-photo-album-plus');
                }
                echo wppa_get_date_time_select_html('photo', $id, false) . '<span id="psdesc-' . $id . '" class="description" style="display:none;" >' . __('Note: Featured photos should have a descriptive name; a name a search engine will look for!', 'wp-photo-album-plus') . '</span>';
            }
            echo ' ';
            // Update status field
            echo __('Remark:', 'wp-photo-album-plus') . ' ' . '<span' . ' id="photostatus-' . $id . '"' . ' style="font-weight:bold;color:#00AA00;"' . ' >' . ($is_video ? sprintf(__('Video %s is not modified yet', 'wp-photo-album-plus'), $id) : sprintf(__('Photo %s is not modified yet', 'wp-photo-album-plus'), $id)) . '</span>';
            // New Line
            echo '<br />';
            // --- Available files ---
            echo __('Available files:', 'wp-photo-album-plus') . ' ';
            // Source
            echo __('Source file:', 'wp-photo-album-plus') . ' ';
            $sp = wppa_get_source_path($id);
            if (is_file($sp)) {
                $ima = getimagesize($sp);
                echo $ima['0'] . ' x ' . $ima['1'] . ' px, ' . wppa_get_filesize($sp) . '. ';
            } else {
                echo __('Unavailable', 'wp-photo-album-plus') . '. ';
            }
            // Display
            echo ($is_video || $has_audio ? __('Poster file:', 'wp-photo-album-plus') : __('Display file:', 'wp-photo-album-plus')) . ' ';
            $dp = wppa_fix_poster_ext(wppa_get_photo_path($id), $id);
            if (is_file($dp)) {
                echo floor(wppa_get_photox($id)) . ' x ' . floor(wppa_get_photoy($id)) . ' px, ' . wppa_get_filesize($dp) . '. ';
            } else {
                echo '<span style="color:red;" >' . __('Unavailable', 'wp-photo-album-plus') . '. ' . '</span>';
            }
            // Thumbnail
            if (!$is_video) {
                echo __('Thumbnail file:', 'wp-photo-album-plus') . ' ';
                $tp = wppa_fix_poster_ext(wppa_get_thumb_path($id), $id);
                if (is_file($tp)) {
                    echo floor(wppa_get_thumbx($id)) . ' x ' . floor(wppa_get_thumby($id)) . ' px, ' . wppa_get_filesize($tp) . '. ';
                } else {
                    echo '<span style="color:red;" >' . __('Unavailable', 'wp-photo-album-plus') . '. ' . '</span>';
                }
            }
            // New line
            echo '<br />';
            // Video
            if ($b_is_video) {
                echo __('Video size:', 'wp-photo-album-plus') . ' ' . __('Width:', 'wp-photo-album-plus') . '<input' . ' style="width:50px;margin:0 4px;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'videox\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'videox\', this )"' . ' value="' . $videox . '"' . ' />' . sprintf(__('pix, (0=default:%s)', 'wp-photo-album-plus'), wppa_opt('video_width')) . __('Height:', 'wp-photo-album-plus') . '<input' . ' style="width:50px;margin:0 4px;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'videoy\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'videoy\', this )"' . ' value="' . $videoy . '"' . ' />' . sprintf(__('pix, (0=default:%s)', 'wp-photo-album-plus'), wppa_opt('video_height')) . ' ' . __('Formats:', 'wp-photo-album-plus') . ' ';
                $c = 0;
                foreach ($is_video as $fmt) {
                    echo $fmt . ' ' . __('Filesize:', 'wp-photo-album-plus') . ' ' . wppa_get_filesize(str_replace('xxx', $fmt, wppa_get_photo_path($id)));
                    $c++;
                    if ($c == count($is_video)) {
                        echo '. ';
                    } else {
                        echo ', ';
                    }
                }
            }
            // Audio
            if ($b_has_audio) {
                echo __('Formats:', 'wp-photo-album-plus') . ' ';
                $c = 0;
                foreach ($has_audio as $fmt) {
                    echo $fmt . ' ' . __('Filesize:', 'wp-photo-album-plus') . ' ' . wppa_get_filesize(str_replace('xxx', $fmt, wppa_get_photo_path($id)));
                    $c++;
                    if ($c == count($is_video)) {
                        echo '. ';
                    } else {
                        echo ', ';
                    }
                }
            }
            echo '</td>' . '</tr>' . '</tbody>' . '</table>';
            echo "\n" . '<!-- Section 2 -->';
            if (wppa_switch('enable_stereo') && !$is_multi || (!$is_multi || is_file(wppa_fix_poster_ext(wppa_get_photo_path($id), $id)))) {
                echo '<table' . ' class="wppa-table wppa-photo-table"' . ' style="width:100%;"' . ' >' . '<tbody>' . '<tr>' . '<td>';
                // Stereo
                if (wppa_switch('enable_stereo') && !$is_multi) {
                    echo __('Stereophoto:', 'wp-photo-album-plus') . ' ' . '<select' . ' id="stereo-' . $id . '"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'stereo\', this )"' . ' >' . '<option value="0"' . ($stereo == '0' ? ' selected="selected"' : '') . ' >' . __('no stereo image or ready anaglyph', 'wp-photo-album-plus') . '</option>' . '<option value="1"' . ($stereo == '1' ? ' selected="selected"' : '') . ' >' . __('Left - right stereo image', 'wp-photo-album-plus') . '</option>' . '<option value="-1"' . ($stereo == '-1' ? ' selected="selected"' : '') . ' >' . __('Right - left stereo image', 'wp-photo-album-plus') . '</option>' . '</select>' . ' ';
                    __('Images:', 'wp-photo-album-plus') . ' ';
                    $files = glob(WPPA_UPLOAD_PATH . '/stereo/' . $id . '-*.*');
                    $c = 0;
                    if (!empty($files)) {
                        sort($files);
                        foreach ($files as $file) {
                            echo '<a href="' . str_replace(WPPA_UPLOAD_PATH, WPPA_UPLOAD_URL, $file) . '" target="_blank" >' . basename($file) . '</a>';
                            $c++;
                            if ($c == count($files)) {
                                echo '. ';
                            } else {
                                echo ', ';
                            }
                        }
                    }
                }
                // Watermark
                if (!$is_multi || is_file(wppa_fix_poster_ext(wppa_get_photo_path($id), $id))) {
                    echo __('Watermark:', 'wp-photo-album-plus') . ' ';
                    if (wppa_switch('watermark_on')) {
                        $user = wppa_get_user();
                        if (wppa_switch('watermark_user') || current_user_can('wppa_settings')) {
                            echo '<select' . ' id="wmfsel_' . $id . '"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'wppa_watermark_file_' . $user . '\', this );"' . ' >' . wppa_watermark_file_select() . '</select>' . __('Pos:', 'wp-photo-album-plus') . ' ' . '<select' . ' id="wmpsel_' . $id . '"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'wppa_watermark_pos_' . $user . '\', this );"' . ' >' . wppa_watermark_pos_select() . '</select>' . '<input' . ' type="button"' . ' class="button-secundary"' . ' value="' . esc_attr(__('Apply watermark', 'wp-photo-album-plus')) . '"' . ' onclick="wppaTryWatermark( ' . $id . ' )"' . ' />';
                        } else {
                            echo __('File:', 'wp-photo-album-plus') . ' ' . __($wmfile, 'wp-photo-album-plus') . ' ';
                            if ($wmfile != '--- none ---') {
                                echo __('Pos:', 'wp-photo-album-plus') . ' ' . $wmpos;
                            }
                        }
                        echo '<img' . ' id="wppa-water-spin-' . $id . '"' . ' src="' . wppa_get_imgdir() . 'spinner.gif' . '"' . ' alt="Spin"' . ' style="visibility:hidden"' . ' />';
                    } else {
                        echo __('Not configured', 'wp-photo-album-plus');
                    }
                    echo ' ';
                }
                echo '</td>' . '</tr>' . '</tbody>' . '</table>';
            }
            echo "\n" . '<!-- Section 3 -->' . '<table' . ' class="wppa-table wppa-photo-table"' . ' style="width:100%;"' . ' >' . '<tbody>' . '<tr>' . '<td>';
            // --- Actions ---
            // Rotate
            if (!$b_is_video) {
                echo '<input' . ' type="button"' . ' onclick="wppaTryRotLeft( ' . $id . ' )"' . ' value="' . esc_attr(__('Rotate left', 'wp-photo-album-plus')) . '"' . ' />' . ' ' . '<input' . ' type="button"' . ' onclick="wppaTryRot180( ' . $id . ' )"' . ' value="' . esc_attr(__('Rotate 180&deg;', 'wp-photo-album-plus')) . '"' . ' />' . ' ' . '<input' . ' type="button"' . ' onclick="wppaTryRotRight( ' . $id . ' )"' . ' value="' . esc_attr(__('Rotate right', 'wp-photo-album-plus')) . '"' . ' />' . ' ' . '<input' . ' type="button"' . ' onclick="wppaTryFlip( ' . $id . ' )"' . ' value="' . esc_attr(__('Flip', 'wp-photo-album-plus')) . '"' . ' />' . ' ';
            }
            // Remake displayfiles
            if (!$is_video) {
                echo '<input' . ' type="button"' . ' title="' . esc_attr(__('Remake display file and thumbnail file', 'wp-photo-album-plus')) . '"' . ' onclick="wppaAjaxUpdatePhoto( ' . $id . ', \'remake\', this, ' . (wppa('front_edit') ? 'false' : 'true') . ' )"' . ' value="' . esc_attr(__('Remake files', 'wp-photo-album-plus')) . '"' . ' />' . ' ';
            }
            // Remake thumbnail
            if (!$is_video) {
                echo '<input' . ' type="button"' . ' title=' . esc_attr(__('Remake thumbnail file', 'wp-photo-album-plus')) . '"' . ' onclick="wppaAjaxUpdatePhoto( ' . $id . ', \'remakethumb\', this, ' . (wppa('front_edit') ? 'false' : 'true') . ' )"' . ' value="' . esc_attr(__('Remake thumbnail file', 'wp-photo-album-plus')) . '"' . ' />' . ' ';
            }
            // Move/copy
            if (!$quick) {
                $max = wppa_opt('photo_admin_max_albums');
                if (!$max || wppa_get_total_album_count() < $max) {
                    // If not done yet, get the album options html with the current album excluded
                    if (!isset($album_select[$album])) {
                        $album_select[$album] = wppa_album_select_a(array('checkaccess' => true, 'path' => wppa_switch('hier_albsel'), 'exclude' => $album, 'selected' => '0', 'addpleaseselect' => true));
                    }
                    echo __('Target album for copy/move:', 'wp-photo-album-plus') . '<select' . ' id="target-' . $id . '"' . ' >' . $album_select[$album] . '</select>';
                } else {
                    echo __('Target album for copy/move:', 'wp-photo-album-plus') . '<input' . ' id="target-' . $id . '"' . ' type="number"' . ' style="height:20px;"' . ' placeholder="' . __('Album id', 'wp-photo-album-plus') . '"' . ' />';
                }
                echo ' ';
                echo '<input' . ' type="button"' . ' onclick="wppaTryMove( ' . $id . ', ' . $b_is_video . ' )"' . ' value="' . ($b_is_video ? $mvt : $mpt) . '"' . ' />' . ' ' . '<input' . ' type="button"' . ' onclick="wppaTryCopy( ' . $id . ', ' . $b_is_video . ' )"' . ' value="' . ($b_is_video ? $cvt : $cpt) . '"' . ' />' . ' ';
            }
            // Delete
            if (!wppa('front_edit')) {
                echo '<input' . ' type="button"' . ' style="color:red;"' . ' onclick="wppaTryDelete( ' . $id . ', ' . $b_is_video . ' )"' . ' value="' . ($b_is_video ? esc_attr(__('Delete video', 'wp-photo-album-plus')) : esc_attr(__('Delete photo', 'wp-photo-album-plus'))) . '"' . ' />' . ' ';
            }
            // Re-upload
            if (wppa_user_is('administrator') || !wppa_switch('reup_is_restricted')) {
                echo '<input' . ' type="button"' . ' onclick="jQuery( \'#re-up-' . $id . '\' ).css( \'display\', \'inline-block\' )"' . ' value="' . esc_attr(__('Re-upload file', 'wp-photo-album-plus')) . '"' . ' />' . '<div id="re-up-' . $id . '" style="display:none" >' . '<form' . ' id="wppa-re-up-form-' . $id . '"' . ' onsubmit="wppaReUpload( event, ' . $id . ', \'' . $filename . '\' )"' . ' >' . '<input' . ' type="file"' . ' id="wppa-re-up-file-' . $id . '"' . ' />' . '<input' . ' type="submit"' . ' id="wppa-re-up-butn-' . $id . '"' . ' value="' . esc_attr(__('Upload', 'wp-photo-album-plus')) . '"' . ' />' . '</form>' . '</div>';
            }
            // Refresh
            /*
            if ( ! wppa( 'front_edit' ) ) {
            	echo
            	'<input' .
            		' type="button"' .
            		' onclick="wppaReload( \'#photo_' . $id . '\')"' .
            		' value="' . esc_attr( __( 'Refresh page', 'wp-photo-album-plus' ) ) . '"' .
            	' />';
            }
            */
            echo '</td>' . '</tr>' . '</tbody>' . '</table>';
            echo "\n" . '<!-- Section 4 -->' . '<table' . ' class="wppa-table wppa-photo-table"' . ' style="width:100%;"' . ' >' . '<tbody>';
            // Name
            echo '<tr>' . '<td>' . __('Photoname:', 'wp-photo-album-plus') . '</td>' . '<td>' . '<input' . ' type="text"' . ' style="width:100%;"' . ' id="pname-' . $id . '"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'name\', this );"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'name\', this );"' . ' value="' . esc_attr(stripslashes($name)) . '"' . ' />' . '</td>' . '<td>' . '</td>' . '</tr>';
            // Description
            if (!wppa_switch('desc_is_restricted') || wppa_user_is('administrator')) {
                echo '<tr>' . '<td>' . __('Description:', 'wp-photo-album-plus') . '</td>';
                if (wppa_switch('use_wp_editor')) {
                    $alfaid = wppa_alfa_id($id);
                    echo '<td>';
                    wp_editor($description, 'wppaphotodesc' . $alfaid, array('wpautop' => true, 'media_buttons' => false, 'textarea_rows' => '6', 'tinymce' => true));
                    echo '</td>' . '<td>' . '<input' . ' type="button"' . ' class="button-secundary"' . ' value="' . esc_attr(__('Update Photo description', 'wp-photo-album-plus')) . '"' . ' onclick="wppaAjaxUpdatePhoto( ' . $id . ', \'description\', document.getElementById( \'wppaphotodesc' . $alfaid . '\' ), false, \'' . $alfaid . '\' )"' . ' />' . '<img' . ' id="wppa-photo-spin-' . $id . '"' . ' src="' . wppa_get_imgdir() . 'spinner.gif"' . ' style="visibility:hidden"' . ' />' . '</td>';
                } else {
                    echo '<td>' . '<textarea' . ' style="width:100%;height:60px;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'description\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'description\', this )"' . ' >' . $description . '</textarea>' . '</td>' . '<td>' . '</td>';
                }
                echo '</tr>';
            } else {
                echo '<tr>' . '<td>' . __('Description:', 'wp-photo-album-plus') . '</td>' . '<td>' . $description . '</td>' . '<td>' . '</td>' . '</tr>';
            }
            // Tags
            echo '<tr>' . '<td>' . __('Tags:', 'wp-photo-album-plus') . '</td>' . '<td>' . '<input' . ' id="tags-' . $id . '"' . ' type="text"' . ' style="width:100%;"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'tags\', this )"' . ' value="' . $tags . '"' . ' />' . '<br />' . '<span class="description" >' . __('Separate tags with commas.', 'wp-photo-album-plus') . '</span>' . '</td>' . '<td>' . '<select' . ' onchange="wppaAddTag( this.value, \'tags-' . $id . '\' ); wppaAjaxUpdatePhoto( ' . $id . ', \'tags\', document.getElementById( \'tags-' . $id . '\' ) )"' . ' >';
            $taglist = wppa_get_taglist();
            if (is_array($taglist)) {
                echo '<option value="" >' . __('- select -', 'wp-photo-album-plus') . '</option>';
                foreach ($taglist as $tag) {
                    echo '<option value="' . $tag['tag'] . '" >' . $tag['tag'] . '</option>';
                }
            } else {
                echo '<option value="0" >' . __('No tags yet', 'wp-photo-album-plus') . '</option>';
            }
            echo '</select>' . '<br />' . '<span class="description" >' . __('Select to add', 'wp-photo-album-plus') . '</span>' . '</td>' . '</tr>';
            // Custom
            if (wppa_switch('custom_fields')) {
                $custom = wppa_get_photo_item($photo['id'], 'custom');
                if ($custom) {
                    $custom_data = unserialize($custom);
                } else {
                    $custom_data = array('', '', '', '', '', '', '', '', '', '');
                }
                foreach (array_keys($custom_data) as $key) {
                    if (wppa_opt('custom_caption_' . $key)) {
                        echo '<tr>' . '<td>' . apply_filters('translate_text', wppa_opt('custom_caption_' . $key)) . '<small style="float:right" >' . '(w#cc' . $key . ')' . '</small>:' . '</td>' . '<td>' . '<input' . ' type="text"' . ' style="width:100%;"' . ' id="custom_' . $key . '-' . $id . '"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'custom_' . $key . '\', this );"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'custom_' . $key . '\', this );"' . ' value="' . esc_attr(stripslashes($custom_data[$key])) . '"' . '/>' . '</td>' . '<td>' . '<small>(w#cd' . $key . ')</small>' . '</td> ' . '</tr>';
                    }
                }
            }
            // -- Auto Page --
            if (wppa_switch('auto_page') && (current_user_can('edit_posts') || current_user_can('edit_pages'))) {
                $appl = get_permalink(wppa_get_the_auto_page($id));
                echo '<tr>' . '<td>' . __('Autopage Permalink:', 'wp-photo-album-plus') . '</td>' . '<td>' . '<a href="' . $appl . '" target="_blank" >' . $appl . '</a>' . '</td>' . '<td>' . '</td>' . '</tr>';
            }
            // -- Link url --
            if (!wppa_switch('link_is_restricted') || wppa_user_is('administrator')) {
                echo '<tr>' . '<td>' . __('Photo specific link url:', 'wp-photo-album-plus') . '</td>' . '<td>' . '<input' . ' type="text"' . ' id="pislink-' . $id . '"' . ' style="width:100%;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'linkurl\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'linkurl\', this )"' . ' value="' . esc_attr($linkurl) . '"' . ' />' . '</td>' . '<td>' . '<select' . ' id="pistarget-' . $id . '"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'linktarget\', this )"' . ' >' . '<option' . ' value="_self"' . ($linktarget == '_self' ? ' selected="selected"' : '') . ' >' . __('Same tab', 'wp-photo-album-plus') . '</option>' . '<option' . ' value="_blank"' . ($linktarget == '_blank' ? ' selected="selected"' : '') . ' >' . __('New tab', 'wp-photo-album-plus') . '</option>' . '</select>' . '<input' . ' type="button"' . ' onclick="window.open( jQuery( \'#pislink-' . $id . '\' ).val(), jQuery( \'#pistarget-' . $id . '\' ).val() );"' . ' value="' . __('Tryit!', 'wp-photo-album-plus') . '"' . ' />' . '</td>' . '</tr>';
                // -- Link title --
                echo '<tr>' . '<td>' . __('Photo specific link title:', 'wp-photo-album-plus') . '</td>' . '<td>' . '<input' . ' type="text"' . ' style="width:100%;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'linktitle\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'linktitle\', this )"' . ' value="' . esc_attr($linktitle) . '"' . ' />';
                if (current_user_can('wppa_settings')) {
                    echo '<br />' . '<span class="description" >' . __('If you want this link to be used, check \'PS Overrule\' checkbox in table VI.', 'wp-photo-album-plus') . '</span>';
                }
                echo '</td>' . '<td>' . '</td>' . '</tr>';
            }
            // -- Custom ALT field --
            if (wppa_opt('alt_type') == 'custom') {
                echo '<tr>' . '<td>' . __('HTML Alt attribute:', 'wp-photo-album-plus') . '</td>' . '<td>' . '<input' . ' type="text"' . ' style="width:100%;"' . ' onkeyup="wppaAjaxUpdatePhoto( ' . $id . ', \'alt\', this )"' . ' onchange="wppaAjaxUpdatePhoto( ' . $id . ', \'alt\', this )"' . ' value="' . esc_attr($alt) . '"' . ' />' . '</td>' . '<td>' . '</td>' . '</tr>';
            }
            // If Quick, skip the following items for speed and space
            if (!$quick) {
                // Shortcode
                if (current_user_can('edit_posts') || current_user_can('edit_pages')) {
                    echo '<tr>' . '<td>' . __('Single image shortcode', 'wp-photo-album-plus') . ':' . '</td>' . '<td>' . '[wppa type="photo" photo="' . $id . '"][/wppa]' . '</td>' . '<td>' . '<small>' . sprintf(__('See %s The documentation %s for more shortcode options.', 'wp-photo-album-plus'), '<a href="http://wppa.nl/shortcode-reference/" target="_blank" >', '</a>') . '</small>' . '</td>' . '</tr>';
                }
                // Source permalink
                if (is_file(wppa_get_source_path($id))) {
                    $spl = wppa_get_source_pl($id);
                    echo '<tr>' . '<td>' . __('Permalink', 'wp-photo-album-plus') . ':' . '</td>' . '<td>' . '<a href="' . $spl . '" target="_blank" >' . $spl . '</a>' . '</td>' . '<td>' . '</td>' . '</tr>';
                }
                // High resolution url
                $hru = wppa_get_hires_url($id);
                echo '<tr>' . '<td>' . __('Hi resolution url', 'wp-photo-album-plus') . ':' . '</td>' . '<td>' . '<a href="' . $hru . '" target="_blank" >' . $hru . '</a>' . '</td>' . '<td>' . '</td>' . '</tr>';
                // Display file
                if (is_file(wppa_fix_poster_ext(wppa_get_photo_path($id), $id))) {
                    $lru = wppa_fix_poster_ext(wppa_get_lores_url($id), $id);
                    echo '<tr>' . '<td>' . __('Display file url', 'wp-photo-album-plus') . ':' . '</td>' . '<td>' . '<a href="' . $lru . '" target="_blank" >' . $lru . '</a>' . '</td>' . '<td>' . '</td>' . '</tr>';
                }
                // Thumbnail
                if (is_file(wppa_fix_poster_ext(wppa_get_thumb_path($id), $id))) {
                    $tnu = wppa_fix_poster_ext(wppa_get_tnres_url($id), $id);
                    echo '<tr>' . '<td>' . __('Thumbnail file url', 'wp-photo-album-plus') . ':' . '</td>' . '<td>' . '<a href="' . $tnu . '" target="_blank" >' . $tnu . '</a>' . '</td>' . '<td>' . '</td>' . '</tr>';
                }
            }
            echo '</tbody>' . '</table>';
            echo "\n" . '<!-- Section 5 -->';
            // Comments
            $comments = $wpdb->get_results($wpdb->prepare("SELECT * FROM `" . WPPA_COMMENTS . "` WHERE `photo` = %s ORDER BY `timestamp` DESC", $id), ARRAY_A);
            if ($comments && !$quick) {
                echo '<table' . ' class="wppa-table wppa-photo-table"' . ' style="width:100%;"' . ' >' . '<thead>' . '<tr style="font-weight:bold;" >' . '<td style="padding:0 4px;" >#</td>' . '<td style="padding:0 4px;" >User</td>' . '<td style="padding:0 4px;" >Time since</td>' . '<td style="padding:0 4px;" >Status</td>' . '<td style="padding:0 4px;" >Comment</td>' . '</tr>' . '</thead>' . '<tbody>';
                foreach ($comments as $comment) {
                    echo '
								<tr id="com-tr-' . $comment['id'] . '" >
									<td style="padding:0 4px;" >' . $comment['id'] . '</td>
									<td style="padding:0 4px;" >' . $comment['user'] . '</td>
									<td style="padding:0 4px;" >' . wppa_get_time_since($comment['timestamp']) . '</td>';
                    if (current_user_can('wppa_comments') || current_user_can('wppa_moderate') || wppa_get_user() == $photo['owner'] && wppa_switch('owner_moderate_comment')) {
                        $p = $comment['status'] == 'pending' ? 'selected="selected" ' : '';
                        $a = $comment['status'] == 'approved' ? 'selected="selected" ' : '';
                        $s = $comment['status'] == 'spam' ? 'selected="selected" ' : '';
                        $t = $comment['status'] == 'trash' ? 'selected="selected" ' : '';
                        echo '<td style="padding:0 4px;" >' . '<select' . ' id="com-stat-' . $comment['id'] . '"' . ' style=""' . ' onchange="wppaAjaxUpdateCommentStatus( ' . $id . ', ' . $comment['id'] . ', this.value );wppaSetComBgCol(' . $comment['id'] . ');"' . ' >' . '<option value="pending" ' . $p . '>' . __('Pending', 'wp-photo-album-plus') . '</option>' . '<option value="approved" ' . $a . '>' . __('Approved', 'wp-photo-album-plus') . '</option>' . '<option value="spam" ' . $s . '>' . __('Spam', 'wp-photo-album-plus') . '</option>' . '<option value="trash" ' . $t . '>' . __('Trash', 'wp-photo-album-plus') . '</option>' . '</select >' . '</td>';
                    } else {
                        echo '<td style="padding:0 4px;" >';
                        if ($comment['status'] == 'pending') {
                            _e('Pending', 'wp-photo-album-plus');
                        } elseif ($comment['status'] == 'approved') {
                            _e('Approved', 'wp-photo-album-plus');
                        } elseif ($comment['status'] == 'spam') {
                            _e('Spam', 'wp-photo-album-plus');
                        } elseif ($comment['status'] == 'trash') {
                            _e('Trash', 'wp-photo-album-plus');
                        }
                        echo '</td>';
                    }
                    echo '<td style="padding:0 4px;" >' . $comment['comment'] . '</td>
								</tr>' . '<script>wppaSetComBgCol(' . $comment['id'] . ')</script>';
                }
                echo '</tbody>' . '</table>';
            }
            echo '<script>wppaPhotoStatusChange( ' . $id . ' )</script>' . '<div style="clear:both;"></div>' . '</div>' . '<div style="clear:both;margin-top:7px;"></div>';
        }
        /* foreach photo */
        wppa_admin_page_links($page, $pagesize, $count, $link);
    }
    /* photos not empty */
}
コード例 #9
0
 /** @see WP_Widget::widget */
 function widget($args, $instance)
 {
     global $wpdb;
     global $wppa;
     $wppa['in_widget'] = 'potd';
     $wppa['mocc']++;
     require_once dirname(__FILE__) . '/wppa-links.php';
     require_once dirname(__FILE__) . '/wppa-styles.php';
     require_once dirname(__FILE__) . '/wppa-functions.php';
     require_once dirname(__FILE__) . '/wppa-thumbnails.php';
     require_once dirname(__FILE__) . '/wppa-boxes-html.php';
     require_once dirname(__FILE__) . '/wppa-slideshow.php';
     wppa_initialize_runtime();
     extract($args);
     $widget_title = apply_filters('widget_title', $instance['title']);
     // get the photo  ($image)
     $image = wppa_get_potd();
     // Make the HTML for current picture
     $widget_content = "\n" . '<!-- WPPA+ Photo of the day Widget start -->';
     $ali = wppa_opt('wppa_potd_align');
     if ($ali != 'none') {
         $align = 'text-align:' . $ali . ';';
     } else {
         $align = '';
     }
     $widget_content .= "\n" . '<div class="wppa-widget-photo" style="' . $align . ' padding-top:2px; ">';
     if ($image) {
         $id = $image['id'];
         $w = wppa_opt('wppa_potd_widget_width');
         $ratio = wppa_get_photoy($id) / wppa_get_photox($id);
         $h = round($w * $ratio);
         $usethumb = wppa_use_thumb_file($id, wppa_opt('wppa_widget_width'), '0');
         $imgurl = wppa_fix_poster_ext($usethumb ? wppa_get_thumb_url($id, '', $w, $h) : wppa_get_photo_url($id, '', $w, $h), $id);
         $name = wppa_get_photo_name($id);
         $page = in_array(wppa_opt('wppa_widget_linktype'), $wppa['links_no_page']) ? '' : wppa_get_the_landing_page('wppa_widget_linkpage', __a('Photo of the day'));
         $link = wppa_get_imglnk_a('potdwidget', $id);
         $is_video = wppa_is_video($id);
         $has_audio = wppa_has_audio($id);
         if ($link['is_lightbox']) {
             $lightbox = ($is_video ? ' data-videohtml="' . esc_attr(wppa_get_video_body($id)) . '"' . ' data-videonatwidth="' . wppa_get_videox($id) . '"' . ' data-videonatheight="' . wppa_get_videoy($id) . '"' : '') . ($has_audio ? ' data-audiohtml="' . esc_attr(wppa_get_audio_body($id)) . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('lightbox_name') . '"';
         } else {
             $lightbox = '';
         }
         if ($link) {
             if ($link['is_lightbox']) {
                 $cursor = ' cursor:url(' . wppa_get_imgdir() . wppa_opt('wppa_magnifier') . '),pointer;';
                 $title = wppa_zoom_in($id);
                 $ltitle = wppa_get_lbtitle('potd', $id);
             } else {
                 $cursor = ' cursor:pointer;';
                 $title = $link['title'];
                 $ltitle = $title;
             }
         } else {
             $cursor = ' cursor:default;';
             $title = esc_attr(stripslashes(__($image['name'])));
         }
         // The medal if on top
         $widget_content .= wppa_get_medal_html_a(array('id' => $id, 'size' => 'M', 'where' => 'top'));
         // The link, if any
         if ($link) {
             $widget_content .= "\n\t" . '<a href = "' . $link['url'] . '" target="' . $link['target'] . '" ' . $lightbox . ' ' . wppa('lbtitle') . '="' . $ltitle . '">';
         }
         // The image
         if (wppa_is_video($id)) {
             $widget_content .= "\n\t\t" . wppa_get_video_html(array('id' => $id, 'width' => wppa_opt('wppa_potd_widget_width'), 'title' => $title, 'controls' => wppa_opt('widget_linktype') == 'none', 'cursor' => $cursor));
         } else {
             $widget_content .= '<img' . ' src="' . $imgurl . '"' . ' style="width: ' . wppa_opt('wppa_potd_widget_width') . 'px;' . $cursor . '"' . ' ' . wppa_get_imgalt($id) . ($title ? 'title="' . $title . '"' : '') . '/ >';
         }
         // Close the link
         if ($link) {
             $widget_content .= "\n\t" . '</a>';
         }
         // The medal if at the bottom
         $widget_content .= wppa_get_medal_html_a(array('id' => $id, 'size' => 'M', 'where' => 'bot'));
         // Audio
         if (wppa_has_audio($id)) {
             $widget_content .= wppa_get_audio_html(array('id' => $id, 'width' => wppa_opt('wppa_potd_widget_width'), 'controls' => true));
         }
     } else {
         // No image
         $widget_content .= __a('Photo not found.', 'wppa_theme');
     }
     $widget_content .= "\n" . '</div>';
     // Add subtitle, if any
     switch (wppa_opt('wppa_widget_subtitle')) {
         case 'none':
             break;
         case 'name':
             if ($image && $image['name'] != '') {
                 $widget_content .= "\n" . '<div class="wppa-widget-text wppa-potd-text" style="' . $align . '">' . wppa_get_photo_name($id) . '</div>';
             }
             break;
         case 'desc':
             if ($image && $image['description'] != '') {
                 $widget_content .= "\n" . '<div class="wppa-widget-text wppa-potd-text" style="' . $align . '">' . wppa_get_photo_desc($id) . '</div>';
             }
             break;
         case 'owner':
             if ($image) {
                 $owner = $image['owner'];
                 $user = get_user_by('login', $owner);
                 $owner = $user->display_name;
                 $widget_content .= "\n" . '<div class="wppa-widget-text wppa-potd-text" style="' . $align . '">' . __a('By:') . ' ' . $owner . '</div>';
             }
     }
     $widget_content .= "\n" . '<!-- WPPA+ Photo of the day Widget end -->';
     echo "\n" . $before_widget;
     if (!empty($widget_title)) {
         echo $before_title . $widget_title . $after_title;
     }
     echo $widget_content . $after_widget;
     $wppa['in_widget'] = false;
 }
コード例 #10
0
function _wppa_sidebar_page_options()
{
    global $wpdb;
    global $wppa_defaults;
    wppa_set_defaults();
    $onch = 'myReload()';
    // Handle spinner js and declare functions
    echo '<script type="text/javascript" >' . 'var didsome=false;' . 'jQuery(document).ready(function() {' . 'jQuery(\'#wppa-spinner\').css(\'display\', \'none\');' . '});' . 'function myReload() {' . 'jQuery(\'#wppa-spinner\').css(\'display\', \'block\');' . '_wppaRefreshAfter = true;' . '};' . 'function wppaSetFixed(id) {' . 'if (jQuery(\'#wppa-widget-photo-\' + id).attr(\'checked\') == \'checked\' ) {' . '_wppaRefreshAfter = true;' . 'wppaAjaxUpdateOptionValue(\'potd_photo\', id);' . '}' . '};' . '</script>';
    // The spinner
    echo '<img' . ' id="wppa-spinner"' . ' style="position:fixed;top:50%;left:50%;z-index:1000;margin-top:-33px;margin-left:-33px;display:block;"' . ' src="' . wppa_get_imgdir('loader.gif') . '"' . '/>';
    // Open wrapper
    echo '<div class="wrap">';
    // The settings icon
    echo '<img src="' . wppa_get_imgdir('settings32.png') . '" />';
    // The Page title
    echo '<h1 style="display:inline;" >' . __('Photo of the Day (Widget) Settings', 'wp-photo-album-plus') . '</h1>' . __('Changes are updated immediately. The page will reload if required.', 'wp-photo-album-plus') . '<br />&nbsp;';
    // The nonce
    wp_nonce_field('wppa-nonce', 'wppa-nonce');
    // The settings table
    echo '<table class="widefat wppa-table wppa-setting-table">';
    // The header
    echo '<thead style="font-weight: bold; " class="wppa_table_1">' . '<tr>' . '<td>' . __('#', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Name', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Description', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Setting', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Help', 'wp-photo-album-plus') . '</td>' . '</tr>' . '</thead>';
    // Open the table body
    echo '<tbody class="wppa_table" >';
    $name = __('Widget Title:', 'wp-photo-album-plus');
    $desc = __('The title of the widget.', 'wp-photo-album-plus');
    $help = esc_js(__('Enter/modify the title for the widget. This is a default and can be overriden at widget activation.', 'wp-photo-album-plus'));
    $slug = 'wppa_potd_title';
    $html = wppa_input($slug, '85%');
    wppa_setting($slug, '1', $name, $desc, $html, $help);
    $name = __('Widget Photo Width:', 'wp-photo-album-plus');
    $desc = __('Enter the desired display width of the photo in the sidebar.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_widget_width';
    $html = wppa_input($slug, '40px', '', __('pixels wide', 'wp-photo-album-plus'));
    wppa_setting($slug, '2', $name, $desc, $html, $help);
    $name = __('Horizontal alignment:', 'wp-photo-album-plus');
    $desc = __('Enter the desired display alignment of the photo in the sidebar.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_align';
    $opts = array(__('--- none ---', 'wp-photo-album-plus'), __('left', 'wp-photo-album-plus'), __('center', 'wp-photo-album-plus'), __('right', 'wp-photo-album-plus'));
    $vals = array('none', 'left', 'center', 'right');
    $html = wppa_select($slug, $opts, $vals);
    wppa_setting($slug, '3', $name, $desc, $html, $help);
    $linktype = wppa_opt('potd_linktype');
    if ($linktype == 'custom') {
        $name = __('Link to:', 'wp-photo-album-plus');
        $desc = __('Enter the url. Do\'nt forget the HTTP://', 'wp-photo-album-plus');
        $help = '';
        $slug = 'wppa_potd_linkurl';
        $html = wppa_input($slug, '85%');
        wppa_setting($slug, '4', $name, $desc, $html, $help);
        $name = __('Link Title:', 'wp-photo-album-plus');
        $desc = __('The balloon text when hovering over the photo.', 'wp-photo-album-plus');
        $help = '';
        $slug = 'wppa_potd_linktitle';
        $html = wppa_input($slug, '85%');
        wppa_setting($slug, '4a', $name, $desc, $html, $help);
    } else {
        $name = __('Link to:', 'wp-photo-album-plus');
        $desc = __('Links are set on the <b>Photo Albums -> Settings</b> screen.', 'wp-photo-album-plus');
        $help = '';
        $slug = 'wppa_potd_linkurl';
        $html = '';
        wppa_setting($slug, '4', $name, $desc, $html, $help);
    }
    $name = __('Subtitle:', 'wp-photo-album-plus');
    $desc = __('Select the content of the subtitle.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_subtitle';
    $opts = array(__('--- none ---', 'wp-photo-album-plus'), __('Photo Name', 'wp-photo-album-plus'), __('Description', 'wp-photo-album-plus'), __('Owner', 'wp-photo-album-plus'));
    $vals = array('none', 'name', 'desc', 'owner');
    $html = wppa_select($slug, $opts, $vals);
    wppa_setting($slug, '5', $name, $desc, $html, $help);
    $name = __('Counter:', 'wp-photo-album-plus');
    $desc = __('Display a counter of other photos in the album.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_counter';
    $html = wppa_checkbox($slug);
    wppa_setting($slug, '6', $name, $desc, $html, $help);
    $name = __('Link to:', 'wp-photo-album-plus');
    $desc = __('The counter links to.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_counter_link';
    $opts = array(__('thumbnails', 'wp-photo-album-plus'), __('slideshow', 'wp-photo-album-plus'), __('single image', 'wp-photo-album-plus'));
    $vals = array('thumbs', 'slide', 'single');
    $html = wppa_select($slug, $opts, $vals);
    wppa_setting($slug, '7', $name, $desc, $html, $help);
    $name = __('Type of album(s) to use:', 'wp-photo-album-plus');
    $desc = __('Select physical or virtual.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_album_type';
    $opts = array(__('physical albums', 'wp-photo-album-plus'), __('virtual albums', 'wp-photo-album-plus'));
    $vals = array('physical', 'virtual');
    $html = wppa_select($slug, $opts, $vals, $onch);
    wppa_setting($slug, '8', $name, $desc, $html, $help);
    $name = __('Albums to use:', 'wp-photo-album-plus');
    $desc = __('Select the albums to use for the photo of the day.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_album';
    if (get_option('wppa_potd_album_type') == 'physical') {
        $html = '<select' . ' id="wppa_potd_album"' . ' name="wppa_potd_album"' . ' style="float:left; max-width: 100%;"' . ' multiple="multiple"' . ' onchange="didsome=true;wppaAjaxUpdateOptionValue(\'potd_album\', this, true)"' . ' onmouseout="if(didsome)document.location.reload(true);"' . ' size="10"' . ' >' . wppa_album_select_a(array('path' => true, 'optionclass' => 'potd_album', 'selected' => get_option('wppa_potd_album'))) . '</select>' . '<img id="img_potd_album" class="" src="' . wppa_get_imgdir() . 'star.ico" title="' . __('Setting unmodified', 'wp-photo-album-plus') . '" style="padding:0 4px; float:left; height:16px; width:16px;" />';
        wppa_setting($slug, '9', $name, $desc, $html, $help);
    } else {
        $desc = __('Select the albums to use for the photo of the day.', 'wp-photo-album-plus');
        $opts = array(__('- all albums -', 'wp-photo-album-plus'), __('- all -separate- albums -', 'wp-photo-album-plus'), __('- all albums except -separate-', 'wp-photo-album-plus'), __('- top rated photos -', 'wp-photo-album-plus'));
        $vals = array('all', 'sep', 'all-sep', 'topten');
        $html = wppa_select($slug, $opts, $vals);
        wppa_setting($slug, '9', $name, $desc, $html, $help);
    }
    if (get_option('wppa_potd_album_type') == 'physical') {
        $name = __('Include (grand)children:', 'wp-photo-album-plus');
        $desc = __('Include the photos of all sub albums?', 'wp-photo-album-plus');
        $help = '';
        $slug = 'wppa_potd_include_subs';
        $html = wppa_checkbox($slug, $onch);
        wppa_setting($slug, '9a', $name, $desc, $html, $help);
        $name = __('Inverse selection:', 'wp-photo-album-plus');
        $desc = __('Use any album, except the selection made above.', 'wp-photo-album-plus');
        $help = '';
        $slug = 'wppa_potd_inverse';
        $html = wppa_checkbox($slug, $onch);
        wppa_setting($slug, '9b', $name, $desc, $html, $help);
    }
    $name = __('Status filter:', 'wp-photo-album-plus');
    $desc = __('Use only photos with a certain status.', 'wp-photo-album-plus');
    $help = esc_js(__('Select - none - if you want no filtering on status.', 'wp-photo-album-plus'));
    $slug = 'wppa_potd_status_filter';
    $opts = array(__('- none -', 'wp-photo-album-plus'), __('Publish', 'wp-photo-album-plus'), __('Featured', 'wp-photo-album-plus'), __('Gold', 'wp-photo-album-plus'), __('Silver', 'wp-photo-album-plus'), __('Bronze', 'wp-photo-album-plus'), __('Any medal', 'wp-photo-album-plus'));
    $vals = array('none', 'publish', 'featured', 'gold', 'silver', 'bronze', 'anymedal');
    $html = wppa_select($slug, $opts, $vals);
    wppa_setting($slug, '10', $name, $desc, $html, $help);
    $name = __('Display method:', 'wp-photo-album-plus');
    $desc = __('Select the way a photo will be selected.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_method';
    $opts = array(__('Fixed photo', 'wp-photo-album-plus'), __('Random', 'wp-photo-album-plus'), __('Last upload', 'wp-photo-album-plus'), __('Change every', 'wp-photo-album-plus'));
    $vals = array('1', '2', '3', '4');
    $html = wppa_select($slug, $opts, $vals, $onch);
    wppa_setting($slug, '11', $name, $desc, $html, $help);
    if (get_option('wppa_potd_method') == '4') {
        // Change every
        $name = __('Change every period:', 'wp-photo-album-plus');
        $desc = __('The time period a certain photo is used.', 'wp-photo-album-plus');
        $help = '';
        $slug = 'wppa_potd_period';
        $opts = array(__('pageview.', 'wp-photo-album-plus'), __('hour.', 'wp-photo-album-plus'), __('day.', 'wp-photo-album-plus'), __('week.', 'wp-photo-album-plus'), __('month.', 'wp-photo-album-plus'), __('day of week is order#', 'wp-photo-album-plus'), __('day of month is order#', 'wp-photo-album-plus'), __('day of year is order#', 'wp-photo-album-plus'));
        $vals = array('0', '1', '24', '168', '736', 'day-of-week', 'day-of-month', 'day-of-year');
        $html = wppa_select($slug, $opts, $vals, $onch);
        wppa_setting($slug, '11a', $name, $desc, $html, $help);
        $wppa_widget_period = get_option('wppa_potd_period');
        if (substr($wppa_widget_period, 0, 7) == 'day-of-') {
            switch (substr($wppa_widget_period, 7)) {
                case 'week':
                    $n_days = '7';
                    $date_key = 'w';
                    break;
                case 'month':
                    $n_days = '31';
                    $date_key = 'd';
                    break;
                case 'year':
                    $n_days = '366';
                    $date_key = 'z';
                    break;
            }
            while (get_option('wppa_potd_offset', '0') > $n_days) {
                update_option('wppa_potd_offset', get_option('wppa_potd_offset') - $n_days);
            }
            while (get_option('wppa_potd_offset', '0') < '0') {
                update_option('wppa_potd_offset', get_option('wppa_potd_offset') + $n_days);
            }
            $name = __('Day offset:', 'wp-photo-album-plus');
            $desc = __('The difference between daynumber and photo order number.', 'wp-photo-album-plus');
            $help = '';
            $slug = 'wppa_potd_offset';
            $opts = array();
            $day = '0';
            while ($day < $n_days) {
                $opts[] = $day;
                $day++;
            }
            $vals = $opts;
            $html = '<span style="float:left;" >' . sprintf(__('Current day# = %s, offset =', 'wp-photo-album-plus'), wppa_local_date($date_key)) . '</span> ' . wppa_select($slug, $opts, $vals, $onch);
            $photo_order = wppa_local_date($date_key) - get_option('wppa_potd_offset', '0');
            while ($photo_order < '0') {
                $photo_order += $n_days;
            }
            $html .= sprintf(__('Todays photo order# = %s.', 'wp-photo-album-plus'), $photo_order);
            wppa_setting($slug, '11b', $name, $desc, $html, $help);
        }
    }
    $name = __('Preview', 'wp-photo-album-plus');
    $desc = __('Current "photo of the day":', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_photo';
    $photo = wppa_get_potd();
    if ($photo) {
        $html = '<div style="display:inline-block;width:25%;text-align:center;vertical-align:middle;">' . '<img src="' . wppa_fix_poster_ext(wppa_get_thumb_url($photo['id']), $photo['id']) . '" />' . '</div>' . '<div style="display:inline-block;width:75%;text-align:center;vertical-align:middle;" >' . __('Album', 'wp-photo-album-plus') . ': ' . wppa_get_album_name($photo['album']) . '<br />' . __('Uploader', 'wp-photo-album-plus') . ': ' . $photo['owner'] . '</div>';
    } else {
        $html = __('Not found.', 'wp-photo-album-plus');
    }
    wppa_setting($slug, '12', $name, $desc, $html, $help);
    $name = __('Show selection', 'wp-photo-album-plus');
    $desc = __('Show the photos in the current selection.', 'wp-photo-album-plus');
    $help = '';
    $slug = 'wppa_potd_preview';
    $html = wppa_checkbox($slug, $onch);
    wppa_setting($slug, '13', $name, $desc, $html, $help);
    // Cose table body
    echo '</tbody>';
    // Table footer
    echo '<tfoot style="font-weight: bold;" >' . '<tr>' . '<td>' . __('#', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Name', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Description', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Setting', 'wp-photo-album-plus') . '</td>' . '<td>' . __('Help', 'wp-photo-album-plus') . '</td>' . '</tr>' . '</tfoot>' . '</table>';
    // Diagnostic
    //		echo
    //		'Diagnostic: wppa_potd_album = ' . get_option( 'wppa_potd_album' ) . ' wppa_potd_photo = ' . get_option( 'wppa_potd_photo' );
    // Status star must be here for js
    echo '<img' . ' id="img_potd_photo"' . ' src="' . wppa_get_imgdir('star.ico') . '" style="height:12px;display:none;"' . ' />';
    // The potd photo pool
    echo '<table class="widefat wppa-table wppa-setting-table" >';
    // Table header
    echo '<thead>' . '<tr>' . '<td>' . __('Photos in the current selection', 'wp-photo-album-plus') . '</td>' . '</tr>' . '</thead>';
    // Table body
    if (wppa_switch('potd_preview')) {
        echo '<tbody>' . '<tr>' . '<td>';
        // Get the photos
        $alb = wppa_opt('potd_album');
        $opt = wppa_is_int($alb) ? ' ' . wppa_get_photo_order($alb) . ' ' : '';
        $photos = wppa_get_widgetphotos($alb, $opt);
        // Count them
        $cnt = count($photos);
        // Find current
        $curid = wppa_opt('potd_photo');
        // See if we do this
        if (empty($photos)) {
            _e('No photos in the selection', 'wp-photo-album-plus');
        } elseif ($cnt > '5000') {
            echo sprintf(__('There are too many photos in the selection to show a preview ( %d )', 'wp-photo-album-plus'), $cnt);
        } else {
            // Yes, display the pool
            foreach ($photos as $photo) {
                $id = $photo['id'];
                // Open container div
                echo '<div' . ' class="photoselect"' . ' style="' . 'width:180px;' . 'height:300px;' . '" >';
                // Open image container div
                echo '<div' . ' style="' . 'width:180px;' . 'height:135px;' . 'overflow:hidden;' . 'text-align:center;' . '" >';
                // The image if a video
                if (wppa_is_video($id)) {
                    echo wppa_get_video_html(array('id' => $id, 'style' => 'width:180px;'));
                } else {
                    echo '<img' . ' src=" ' . wppa_fix_poster_ext(wppa_get_thumb_url($id), $id) . '"' . ' style="' . 'max-width:180px;' . 'max-height:135px;' . 'margin:auto;' . '"' . ' alt="' . esc_attr(wppa_get_photo_name($id)) . '" />';
                    // Audio ?
                    if (wppa_has_audio($id)) {
                        echo wppa_get_audio_html(array('id' => $id, 'style' => 'width:180px;' . 'position:relative;' . 'bottom:' . (wppa_get_audio_control_height() + 4) . 'px;'));
                    }
                }
                // Close image container div
                echo '</div>';
                // The order# and select radio box
                echo '<div style="clear:both;width:100%;margin:3px 0;position:relative;top:5px;" >' . '<div style="font-size:9px; line-height:10px;float:left;">(#' . $photo['p_order'] . ')</div>';
                if (get_option('wppa_potd_method') == '1') {
                    // Only if fixed photo
                    echo '<input' . ' style="float:right;"' . ' type="radio"' . ' name="wppa-widget-photo"' . ' id="wppa-widget-photo-' . $id . '"' . ' value="' . $id . '"' . ($id == $curid ? 'checked="checked"' : '') . ' onchange="wppaSetFixed(' . $id . ');"' . ' />';
                }
                echo '</div>';
                // The name/desc boxecho
                echo '<div style="clear:both;overflow:hidden;height:150px;position:relative;top:10px;" >' . '<div style="font-size:11px; overflow:hidden;">' . wppa_get_photo_name($id) . '</div>' . '<div style="font-size:9px; line-height:10px;">' . wppa_get_photo_desc($id) . '</div>' . '</div>';
                // Close container
                echo '</div>';
            }
            echo '<div class="clear"></div>';
        }
        // Close the table
        echo '</td>' . '</tr>' . '</tbody>';
    }
    echo '</table>';
    // Close wrap
    echo '</div>';
}