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>'); }
function wppa_do_filmthumb($id, $idx, $do_for_feed = false, $glue = false) { $thumb = wppa_cache_thumb($id); $result = ''; $src = wppa_fix_poster_ext(wppa_get_thumb_path($thumb['id']), $thumb['id']); $max_size = wppa_opt('thumbsize'); if (wppa_in_widget()) { $max_size /= 2; } $com_alt = wppa('is_comten') && wppa_switch('comten_alt_display') && !wppa_in_widget(); $imgattr_a = wppa_get_imgstyle_a($thumb['id'], $src, $max_size, 'optional', 'fthumb'); $imgstyle = $imgattr_a['style']; $imgwidth = $imgattr_a['width']; $imgheight = $imgattr_a['height']; $cursor = $imgattr_a['cursor']; $url = wppa_fix_poster_ext(wppa_get_thumb_url($thumb['id'], '', $imgwidth, $imgheight), $thumb['id']); $furl = str_replace('/thumbs', '', $url); $events = wppa_get_imgevents('film', $thumb['id'], 'nopopup', $idx); $thumbname = wppa_get_photo_name($thumb['id']); $target = wppa_switch('film_blank') || $thumb['linktarget'] == '_blank' ? 'target="_blank" ' : ''; $psotitle = $thumb['linktitle'] ? 'title="' . esc_attr($thumb['linktitle']) . '" ' : ''; $psourl = wppa_switch('film_overrule') && $thumb['linkurl'] ? 'href="' . $thumb['linkurl'] . '" ' . $target . $psotitle : ''; $imgalt = wppa_get_imgalt($thumb['id']); if (wppa_opt('film_linktype') == 'lightbox') { // $title = esc_attr( wppa_zoom_in( $thumb['id'] ) ); } else { $events .= ' onclick="wppaGotoKeepState( ' . wppa('mocc') . ', ' . $idx . ' )"'; $events .= ' ondblclick="wppaStartStop( ' . wppa('mocc') . ', -1 )"'; } if (is_feed()) { if ($do_for_feed) { $style_a = wppa_get_imgstyle_a($thumb['id'], $src, '100', '4', 'thumb'); $style = $style_a['style']; $result .= '<a href="' . get_permalink() . '">' . '<img' . ' src="' . $url . '"' . ' ' . $imgalt . ' title="' . $thumbname . '"' . ' style="' . $style . '"' . ' />' . '</a>'; } } else { // If ! $do_for_feed: pre-or post-ambule. To avoid dup id change it in that case $tmp = $do_for_feed ? 'film' : 'pre'; $style = $glue ? 'style="' . wppa_get_thumb_frame_style($glue, 'film') . '"' : ''; $result .= '<div' . ' id="' . $tmp . '_wppatnf_' . $thumb['id'] . '_' . wppa('mocc') . '"' . ' class="thumbnail-frame"' . ' ' . $style . ' >'; if ($psourl) { // True only when pso activated and data present $result .= '<a ' . $psourl . '>'; // $psourl contains url, target and title } elseif (wppa_opt('film_linktype') == 'lightbox' && $tmp == 'film') { $title = wppa_get_lbtitle('slide', $thumb['id']); $videohtml = esc_attr(wppa_get_video_body($thumb['id'])); $audiohtml = esc_attr(wppa_get_audio_body($thumb['id'])); $result .= '<a href="' . $furl . '"' . ($videohtml ? ' data-videohtml="' . $videohtml . '"' . ' data-videonatwidth="' . wppa_get_videox($thumb['id']) . '"' . ' data-videonatheight="' . wppa_get_videoy($thumb['id']) . '"' : '') . ($audiohtml ? ' data-audiohtml="' . $audiohtml . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('lightbox_name') . '[occ' . wppa('mocc') . ']"' . ($title ? ' ' . wppa('lbtitle') . '="' . $title . '"' : '') . ' >'; } if ($tmp == 'pre' && wppa_opt('film_linktype') == 'lightbox') { $cursor = 'cursor:default;'; } if ($tmp == 'film' && !$com_alt && !wppa_cdn('front') && !wppa_switch('lazy_or_htmlcomp')) { $result .= '<!--'; } if (wppa_is_video($thumb['id'])) { $result .= wppa_get_video_html(array('id' => $thumb['id'], 'width' => $imgattr_a['width'], 'height' => $imgattr_a['height'], 'controls' => false, 'margin_top' => $imgattr_a['margin-top'], 'margin_bottom' => $imgattr_a['margin-bottom'], 'cursor' => $imgattr_a['cursor'], 'events' => $events, 'tagid' => 'wppa-' . $tmp . '-' . $idx . '-' . wppa('mocc'))); } else { $result .= '<img' . ' id="wppa-' . $tmp . '-' . $idx . '-' . wppa('mocc') . '"' . ' class="wppa-' . $tmp . '-' . wppa('mocc') . '"' . ' src="' . $url . '"' . ' ' . $imgalt . ' style="' . $imgstyle . $cursor . '"' . ' ' . $events . ' data-title="' . ($psourl ? esc_attr($thumb['linktitle']) : '') . '"' . ' />'; } if ($tmp == 'film' && !$com_alt && !wppa_cdn('front') && !wppa_switch('lazy_or_htmlcomp')) { $result .= '-->'; } if ($psourl) { // True only when pso activated and data present $result .= '</a>'; // $psourl contains url, target and title } elseif (wppa_opt('film_linktype') == 'lightbox' && $tmp == 'film') { $result .= '</a>'; } $result .= '</div>'; } wppa_out($result); }
function wppa_get_video_html($args) { extract(wp_parse_args((array) $args, array('id' => '0', 'width' => '0', 'height' => '0', 'controls' => true, 'margin_top' => '0', 'margin_bottom' => '0', 'tagid' => 'video-' . wppa('mocc'), 'cursor' => '', 'events' => '', 'title' => '', 'preload' => 'metadata', 'onclick' => '', 'lb' => false, 'class' => '', 'style' => '', 'use_thumb' => false, 'autoplay' => false))); // No id? no go if (!$id) { return ''; } // Not a video? no go if (!wppa_is_video($id)) { return ''; } extract(wp_parse_args((array) wppa_is_video($id), array('mp4' => false, 'ogv' => false, 'webm' => false))); // Prepare attributes $w = $width ? ' width:' . $width . 'px;' : ''; $h = $height ? ' height:' . $height . 'px;' : ''; $t = $margin_top ? ' margin-top:' . $margin_top . 'px;' : ''; $b = $margin_bottom ? ' margin-bottom:' . $margin_bottom . 'px;' : ''; $ctrl = $controls ? ' controls' : ''; $tit = $title ? ' title="' . $title . '"' : ''; $onc = $onclick ? ' onclick="' . $onclick . '"' : ''; $cls = $class ? ' class="' . $class . '"' : ''; $style = $style ? rtrim(trim($style), ';') . ';' : ''; $play = $autoplay ? ' autoplay' : ''; // See if there is a poster image $poster_photo_path = wppa_fix_poster_ext(wppa_get_photo_path($id), $id); $poster_thumb_path = wppa_fix_poster_ext(wppa_get_thumb_path($id), $id); $poster_photo = is_file($poster_photo_path) ? ' poster="' . wppa_fix_poster_ext(wppa_get_photo_url($id), $id) . '"' : ''; $poster_thumb = is_file($poster_thumb_path) ? ' poster="' . wppa_fix_poster_ext(wppa_get_thumb_url($id), $id) . '"' : ''; $poster = ''; // Init to none // Thumbnail? if ($use_thumb) { $poster = $poster_thumb; } else { $poster = $poster_photo; } // If the poster exists and no controls, we need no preload at all. if ($poster && !$controls) { $preload = 'none'; } // Do we have html5 video tag supported filetypes on board? if ($mp4 || $ogv || $webm) { // Assume the browser supports html5 $result = '<video id="' . $tagid . '" ' . $ctrl . $play . ' style="' . $style . $w . $h . $t . $b . $cursor . '" ' . $events . ' ' . $tit . $onc . $poster . ' preload="' . $preload . '"' . $cls . ' >'; $result .= wppa_get_video_body($id, false, $width, $height); // Close the video tag $result .= '</video>'; } // Done return $result; }
function wppa_get_slide_info($index, $id, $callbackid = '') { global $wpdb; static $user; // Make sure $thumb contains our image data $thumb = wppa_cache_thumb($id); if (!$user) { $user = wppa_get_user(); } $photo = wppa_get_get('photo'); $ratingphoto = wppa_get_get('rating-id'); if (!$callbackid) { $callbackid = $id; } // Process a comment if given for this photo $comment_request = wppa_get_post('commentbtn') && $id == $photo; $comment_allowed = !wppa_switch('comment_login') || is_user_logged_in(); if (wppa_switch('show_comments') && $comment_request && $comment_allowed) { wppa_do_comment($id); } // Find rating if (wppa_switch('rating_on') && !wppa('is_slideonly') && !wppa('is_filmonly')) { // Find my ( avg ) rating if (wppa_opt('rating_display_type') == 'likes') { $lt = wppa_get_like_title_a($id); $myrat = $lt['mine']; $my_youngest_rating_dtm = 0; } else { $rats = $wpdb->get_results($wpdb->prepare("SELECT `value`, `timestamp` FROM `" . WPPA_RATING . "` " . "WHERE `photo` = %s AND `user` = %s AND `status` = 'publish'", $id, $user), ARRAY_A); if ($rats) { $n = 0; $accu = 0; foreach ($rats as $rat) { $accu += $rat['value']; $n++; $my_youngest_rating_dtm = $rat['timestamp']; } $myrat = $accu / $n; $i = wppa_opt('rating_prec'); $j = $i + '1'; $myrat = sprintf('%' . $j . '.' . $i . 'f', $myrat); } else { $myrat = '0'; $my_youngest_rating_dtm = 0; } } // Find the avg rating if (wppa_opt('rating_display_type') == 'likes') { $avgrat = esc_js($lt['title'] . '|' . $lt['display']); } else { $avgrat = wppa_get_rating_by_id($id, 'nolabel'); if (!$avgrat) { $avgrat = '0'; } $avgrat .= '|' . wppa_get_rating_count_by_id($id); } // Find the dislike count $discount = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM `" . WPPA_RATING . "` WHERE `photo` = %s AND `value` = -1 AND `status` = %s", $id, 'publish')); // Make the discount textual $distext = wppa_get_distext($discount, $myrat); // Test if rating is one per period and period not expired yet $wait_text = esc_js(wppa_get_rating_wait_text($id, $user)); } else { // Rating off $myrat = '0'; $avgrat = '0'; $discount = '0'; $distext = ''; $wait_text = ''; } // Find comments $comment = wppa_switch('show_comments') && !wppa('is_filmonly') && !wppa('is_slideonly') ? wppa_comment_html($id, $comment_allowed) : ''; // Get the callback url. if (wppa_switch('rating_on')) { $url = wppa_get_slide_callback_url($callbackid); $url = str_replace('&', '&', $url); // js use } else { $url = ''; } // Find link url, link title and link target if (wppa_in_widget() == 'ss') { $link = wppa_get_imglnk_a('sswidget', $id); } else { $link = wppa_get_imglnk_a('slideshow', $id); } $linkurl = $link['url']; $linktitle = $link['title']; $linktarget = $link['target']; // Find full image style and size if (wppa('is_filmonly')) { $style_a['style'] = ''; $style_a['width'] = ''; $style_a['height'] = ''; } else { $style_a = wppa_get_fullimgstyle_a($id); } // Find image url if (wppa_switch('fotomoto_on') && !wppa_is_stereo($id)) { $photourl = wppa_get_hires_url($id); } elseif (wppa_use_thumb_file($id, $style_a['width'], $style_a['height']) && !wppa_is_stereo($id)) { $photourl = wppa_get_thumb_url($id, '', $style_a['width'], $style_a['height']); } else { $photourl = wppa_get_photo_url($id, '', $style_a['width'], $style_a['height']); } if (wppa_has_audio($id)) { $photourl = wppa_fix_poster_ext($photourl, $id); } // Find iptc data $iptc = wppa_switch('show_iptc') && !wppa('is_slideonly') && !wppa('is_filmonly') ? wppa_iptc_html($id) : ''; // Find EXIF data $exif = wppa_switch('show_exif') && !wppa('is_slideonly') && !wppa('is_filmonly') ? wppa_exif_html($id) : ''; // Lightbox subtitle $doit = false; if (wppa_opt('slideshow_linktype') == 'lightbox' || wppa_opt('slideshow_linktype') == 'lightboxsingle') { $doit = true; } // For fullsize if (wppa_switch('filmstrip') && wppa_opt('film_linktype') == 'lightbox') { // For filmstrip? if (!wppa('is_slideonly')) { $doit = true; } // Film below fullsize if (wppa('film_on')) { $doit = true; } // Film explicitly on ( slideonlyf ) } if ($doit) { $lbtitle = wppa_get_lbtitle('slide', $id); } else { $lbtitle = ''; } // Name $name = ''; $fullname = ''; if ((!wppa('is_slideonly') || wppa('name_on')) && !wppa('is_filmonly')) { $name = esc_js(wppa_get_photo_name($id)); if (!$name) { $name = ' '; } $fullname = wppa_get_photo_name($id, wppa_switch('show_full_owner'), true, true, wppa_switch('show_full_name')); if (!$fullname) { $fullname = ' '; } } // Shareurl if (wppa('is_filmonly') || wppa('is_slideonly')) { $shareurl = ''; } else { $shareurl = wppa_get_image_page_url_by_id($id, false, wppa('start_album')); $shareurl = wppa_convert_to_pretty($shareurl); $shareurl = str_replace('&', '&', $shareurl); } // Make photo desc, filtered $desc = ''; if ((!wppa('is_slideonly') || wppa('desc_on')) && !wppa('is_filmonly')) { $desc .= wppa_get_photo_desc($id, wppa_switch('allow_foreign_shortcodes'), 'do_geo'); // Foreign shortcodes is handled here // Run wpautop on description? if (wppa_opt('wpautop_on_desc') == 'wpautop') { $desc = wpautop($desc); } elseif (wppa_opt('wpautop_on_desc') == 'nl2br') { $desc = nl2br($desc); } // And format $desc = wppa_html(esc_js(stripslashes($desc))); // Remove extra space created by other filters like wpautop if (wppa_switch('allow_foreign_shortcodes') && wppa_switch('clean_pbr')) { $desc = str_replace(array("<p>", "</p>", "<br>", "<br/>", "<br />"), " ", $desc); } if (!$desc) { $desc = ' '; } } // Edit photo link $editlink = ''; $dellink = ''; $choicelink = ''; if (!wppa('is_filmonly') && !wppa('is_slideonly')) { if (wppa_may_user_fe_edit($id)) { $editlink = ' <input' . ' type="button"' . ' style="float:right; margin-right:6px;"' . ' onclick="_wppaStop( ' . wppa('mocc') . ' );wppaEditPhoto( ' . wppa('mocc') . ', ' . esc_js('\'' . wppa_encrypt_photo($thumb['id']) . '\'') . ' );"' . ' value="' . esc_attr(__(wppa_opt('fe_edit_button'))) . '"' . ' /><span></span>'; } if (wppa_may_user_fe_delete($id)) { $dellink = ' <input' . ' type="button"' . ' style="float:right; margin-right:6px;"' . ' onclick="' . '_wppaStop( ' . wppa('mocc') . ' );' . esc_attr('if ( confirm( "' . __('Are you sure you want to remove this photo?', 'wp-photo-album-plus') . '" ) ) ' . 'wppaAjaxRemovePhoto( ' . wppa('mocc') . ', ' . esc_js('\'' . wppa_encrypt_photo($thumb['id']) . '\'') . ', true );') . '"' . ' value="' . __('Delete', 'wp-photo-album-plus') . '"' . ' />'; } if (wppa_user_is('administrator') && wppa_switch('enable_admins_choice')) { $choicelink = ' <div' . ' id="admin-choice-' . wppa_encrypt_photo($thumb['id']) . '-' . wppa('mocc') . '"' . ' style="float:right;margin-right:6px;color:gray;"' . ' >'; if (!wppa_is_photo_in_zip($thumb['id'])) { $choicelink .= '<a' . ' style="color:blue;"' . ' onclick="' . '_wppaStop( ' . wppa('mocc') . ' );' . esc_attr('if ( confirm( "' . __('Are you sure you want to add this photo to your zip?', 'wp-photo-album-plus') . '" ) ) ' . 'wppaAjaxAddPhotoToZip( ' . wppa('mocc') . ', ' . esc_js('\'' . wppa_encrypt_photo($thumb['id']) . '\'') . ', true ); return false;') . '"' . '>' . __('MyChoice', 'wp-photo-album-plus') . '</a>'; } else { $choicelink .= __('Selected', 'wp-photo-album-plus'); } $choicelink .= '</div>'; } } if ($editlink || $dellink || $choicelink) { $desc = $editlink . $dellink . $choicelink . '<div style="clear:both"></div>' . $desc; } if (in_array($thumb['status'], array('pending', 'scheduled'))) { $desc .= wppa_html(esc_js(wppa_moderate_links('slide', $id))); } // Share HTML $sharehtml = wppa('is_filmonly') || wppa('is_slideonly') ? '' : wppa_get_share_html($id); // Og Description $ogdsc = ''; if (wppa_switch('facebook_comments') && !wppa_in_widget() && !wppa('is_filmonly') && !wppa('is_slideonly')) { $ogdsc = strip_shortcodes(wppa_strip_tags(wppa_html(wppa_get_photo_desc($id)), 'all')); $ogdsc = esc_js($ogdsc); } // Hires url. Use photo url in case of stereo image. The (source) hires is the double image. $hiresurl = wppa_is_stereo($id) ? esc_js(wppa_fix_poster_ext(wppa_get_photo_url($id), $id)) : esc_js(wppa_fix_poster_ext(wppa_get_hires_url($id), $id)); // Video html $videohtml = wppa_get_video_body($id); // Audio html $audiohtml = wppa_get_audio_body($id); // Image alt $image_alt = esc_js(wppa_get_imgalt($id, true)); // Poster url if video $poster_url = ''; if (wppa_is_video($id)) { if (is_file(wppa_fix_poster_ext(wppa_get_photo_path($id), $id))) { $poster_url = wppa_fix_poster_ext(wppa_get_photo_url($id), $id); } } // Produce final result $result = "'" . wppa('mocc') . "','"; $result .= $index . "','"; $result .= $photourl . "','"; $result .= $style_a['style'] . "','"; $result .= ($videohtml ? wppa_get_videox($id) : $style_a['width']) . "','"; $result .= ($videohtml ? wppa_get_videoy($id) : $style_a['height']) . "','"; $result .= $fullname . "','"; $result .= $name . "','"; $result .= $desc . "','"; $result .= wppa_encrypt_photo($id) . "','"; //wppa_dbg_msg('id='.$id, 'red'); $result .= $avgrat . "','"; $result .= $distext . "','"; $result .= $myrat . "','"; $result .= $url . "','"; //wppa_dbg_msg('url='.$url, 'red'); $result .= $linkurl . "','" . $linktitle . "','" . $linktarget . "','"; //wppa_dbg_msg('linkurl='.$linkurl, 'red'); $result .= wppa('in_widget_timeout') . "','"; $result .= $comment . "','"; $result .= $iptc . "','"; $result .= $exif . "','"; $result .= $lbtitle . "','"; $result .= $shareurl . "','"; // Used for history.pushstate() //wppa_dbg_msg('shareurl='.$shareurl, 'red'); $result .= $sharehtml . "','"; // The content of the SM ( share ) box $result .= $ogdsc . "','"; $result .= $hiresurl . "','"; $result .= $videohtml . "','"; $result .= $audiohtml . "','"; $result .= $wait_text . "','"; $result .= $image_alt . "','"; $result .= $poster_url . "'"; // This is an ingenious line of code that is going to prevent us from very much trouble. // Created by OpaJaap on Jan 15 2012, 14:36 local time. Thanx. // Make sure there are no linebreaks in the result that would screw up Javascript. return str_replace(array("\r\n", "\n", "\r"), " ", $result); // return $result; }
/** @see WP_Widget::widget */ function widget($args, $instance) { global $wpdb; global $wppa; global $thumb; 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(); $wppa['in_widget'] = 'alb'; $wppa['mocc']++; extract($args); $instance = wp_parse_args((array) $instance, array('title' => '', 'parent' => 'none', 'name' => 'no', 'skip' => 'yes')); $widget_title = apply_filters('widget_title', $instance['title']); $page = in_array(wppa_opt('wppa_album_widget_linktype'), $wppa['links_no_page']) ? '' : wppa_get_the_landing_page('wppa_album_widget_linkpage', __a('Photo Albums')); $max = wppa_opt('wppa_album_widget_count'); if (!$max) { $max = '10'; } $parent = $instance['parent']; $name = $instance['name']; $skip = $instance['skip']; if (is_numeric($parent)) { $albums = $wpdb->get_results($wpdb->prepare('SELECT * FROM `' . WPPA_ALBUMS . '` WHERE `a_parent` = %s ' . wppa_get_album_order($parent), $parent), ARRAY_A); } else { switch ($parent) { case 'all': $albums = $wpdb->get_results('SELECT * FROM `' . WPPA_ALBUMS . '` ' . wppa_get_album_order(), ARRAY_A); break; case 'last': $albums = $wpdb->get_results('SELECT * FROM `' . WPPA_ALBUMS . '` ORDER BY `timestamp` DESC', ARRAY_A); break; default: wppa_dbg_msg('Error, unimplemented album selection: ' . $parent . ' in Album widget.', 'red', true); } } $widget_content = "\n" . '<!-- WPPA+ album Widget start -->'; $maxw = wppa_opt('wppa_album_widget_size'); $maxh = $maxw; if ($name == 'yes') { $maxh += 18; } $count = 0; if ($albums) { foreach ($albums as $album) { if ($count < $max) { global $thumb; $imageid = wppa_get_coverphoto_id($album['id']); $image = $wpdb->get_row($wpdb->prepare('SELECT * FROM `' . WPPA_PHOTOS . '` WHERE `id` = %s', $imageid), ARRAY_A); $imgcount = $wpdb->get_var($wpdb->prepare('SELECT COUNT(*) FROM ' . WPPA_PHOTOS . ' WHERE `album` = %s', $album['id'])); $subalbumcount = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM `" . WPPA_ALBUMS . "` WHERE `a_parent` = %s", $album['id'])); $thumb = $image; // Make the HTML for current picture if ($image && ($imgcount > wppa_opt('wppa_min_thumbs') || $subalbumcount)) { $link = wppa_get_imglnk_a('albwidget', $image['id']); $file = wppa_get_thumb_path($image['id']); $imgevents = wppa_get_imgevents('thumb', $image['id'], true); $imgstyle_a = wppa_get_imgstyle_a($image['id'], $file, $maxw, 'center', 'albthumb'); $imgstyle = $imgstyle_a['style']; $width = $imgstyle_a['width']; $height = $imgstyle_a['height']; $cursor = $imgstyle_a['cursor']; if (wppa_switch('wppa_show_albwidget_tooltip')) { $title = esc_attr(strip_tags(wppa_get_album_desc($album['id']))); } else { $title = ''; } $imgurl = wppa_get_thumb_url($image['id'], '', $width, $height); } else { $link = ''; $file = ''; $imgevents = ''; $imgstyle = 'width:' . $maxw . ';height:' . $maxh . ';'; $width = $maxw; $height = $maxw; // !! $cursor = 'default'; $title = sprintf(__a('Upload at least %d photos to this album!', 'wppa_theme'), wppa_opt('wppa_min_thumbs') - $imgcount + 1); if ($imageid) { // The 'empty album has a cover image $file = wppa_get_thumb_path($image['id']); $imgstyle_a = wppa_get_imgstyle_a($image['id'], $file, $maxw, 'center', 'albthumb'); $imgstyle = $imgstyle_a['style']; $width = $imgstyle_a['width']; $height = $imgstyle_a['height']; $imgurl = wppa_get_thumb_url($image['id'], '', $width, $height); } else { $imgurl = wppa_get_imgdir() . 'album32.png'; } } $imgurl = wppa_fix_poster_ext($imgurl, $image['id']); if ($imgcount > wppa_opt('wppa_min_thumbs') || $skip == 'no') { $widget_content .= "\n" . '<div class="wppa-widget" style="width:' . $maxw . 'px; height:' . $maxh . 'px; margin:4px; display:inline; text-align:center; float:left;">'; if ($link) { if ($link['is_url']) { // Is a href $widget_content .= "\n\t" . '<a href="' . $link['url'] . '" title="' . $title . '" target="' . $link['target'] . '" >'; if (wppa_is_video($image['id'])) { $widget_content .= wppa_get_video_html(array('id' => $image['id'], 'width' => $width, 'height' => $height, 'controls' => false, 'margin_top' => $imgstyle_a['margin-top'], 'margin_bottom' => $imgstyle_a['margin-bottom'], 'cursor' => 'pointer', 'events' => $imgevents, 'tagid' => 'i-' . $image['id'] . '-' . $wppa['mocc'], 'title' => $title)); } else { $widget_content .= "\n\t\t" . '<img id="i-' . $image['id'] . '-' . $wppa['mocc'] . '" title="' . $title . '" src="' . $imgurl . '" width="' . $width . '" height="' . $height . '" style="' . $imgstyle . ' cursor:pointer;" ' . $imgevents . ' ' . wppa_get_imgalt($image['id']) . ' >'; } $widget_content .= "\n\t" . '</a>'; } elseif ($link['is_lightbox']) { $thumbs = $wpdb->get_results($wpdb->prepare("SELECT * FROM `" . WPPA_PHOTOS . "` WHERE `album` = %s " . wppa_get_photo_order($album['id']), $album['id']), 'ARRAY_A'); if ($thumbs) { foreach ($thumbs as $thumb) { $title = wppa_get_lbtitle('alw', $thumb['id']); if (wppa_is_video($thumb['id'])) { $siz['0'] = wppa_get_videox($thumb['id']); $siz['1'] = wppa_get_videoy($thumb['id']); } else { // $siz = getimagesize( wppa_get_photo_path( $thumb['id'] ) ); $siz['0'] = wppa_get_photox($thumb['id']); $siz['1'] = wppa_get_photoy($thumb['id']); } $link = wppa_fix_poster_ext(wppa_get_photo_url($thumb['id'], '', $siz['0'], $siz['1']), $thumb['id']); $is_video = wppa_is_video($thumb['id']); $has_audio = wppa_has_audio($thumb['id']); $widget_content .= "\n\t" . '<a href="' . $link . '"' . ($is_video ? ' data-videohtml="' . esc_attr(wppa_get_video_body($thumb['id'])) . '"' . ' data-videonatwidth="' . wppa_get_videox($thumb['id']) . '"' . ' data-videonatheight="' . wppa_get_videoy($thumb['id']) . '"' : '') . ($has_audio ? ' data-audiohtml="' . esc_attr(wppa_get_audio_body($thumb['id'])) . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('wppa_lightbox_name') . '[alw-' . $wppa['mocc'] . '-' . $album['id'] . ']"' . ' ' . wppa('lbtitle') . '="' . $title . '" >'; if ($thumb['id'] == $image['id']) { // the cover image if (wppa_is_video($image['id'])) { $widget_content .= wppa_get_video_html(array('id' => $image['id'], 'width' => $width, 'height' => $height, 'controls' => false, 'margin_top' => $imgstyle_a['margin-top'], 'margin_bottom' => $imgstyle_a['margin-bottom'], 'cursor' => $cursor, 'events' => $imgevents, 'tagid' => 'i-' . $image['id'] . '-' . $wppa['mocc'], 'title' => wppa_zoom_in($image['id']))); } else { $widget_content .= "\n\t\t" . '<img id="i-' . $image['id'] . '-' . $wppa['mocc'] . '" title="' . wppa_zoom_in($image['id']) . '" src="' . $imgurl . '" width="' . $width . '" height="' . $height . '" style="' . $imgstyle . $cursor . '" ' . $imgevents . ' ' . wppa_get_imgalt($image['id']) . ' >'; } } $widget_content .= "\n\t" . '</a>'; } } } else { // Is an onclick unit if (wppa_is_video($image['id'])) { $widget_content .= wppa_get_video_html(array('id' => $image['id'], 'width' => $width, 'height' => $height, 'controls' => false, 'margin_top' => $imgstyle_a['margin-top'], 'margin_bottom' => $imgstyle_a['margin-bottom'], 'cursor' => 'pointer', 'events' => $imgevents . ' onclick="' . $link['url'] . '"', 'tagid' => 'i-' . $image['id'] . '-' . $wppa['mocc'], 'title' => $title)); } else { $widget_content .= "\n\t" . '<img id="i-' . $image['id'] . '-' . $wppa['mocc'] . '" title="' . $title . '" src="' . $imgurl . '" width="' . $width . '" height="' . $height . '" style="' . $imgstyle . ' cursor:pointer;" ' . $imgevents . ' onclick="' . $link['url'] . '" ' . wppa_get_imgalt($image['id']) . ' >'; } } } else { if (wppa_is_video($image['id'])) { $widget_content .= wppa_get_video_html(array('id' => $image['id'], 'width' => $width, 'height' => $height, 'controls' => false, 'margin_top' => $imgstyle_a['margin-top'], 'margin_bottom' => $imgstyle_a['margin-bottom'], 'cursor' => 'pointer', 'events' => $imgevents, 'tagid' => 'i-' . $image['id'] . '-' . $wppa['mocc'], 'title' => $title)); } else { $widget_content .= "\n\t" . '<img id="i-' . $image['id'] . '-' . $wppa['mocc'] . '" title="' . $title . '" src="' . $imgurl . '" width="' . $width . '" height="' . $height . '" style="' . $imgstyle . '" ' . $imgevents . ' ' . wppa_get_imgalt($image['id']) . ' >'; } } if ($name == 'yes') { $widget_content .= "\n\t" . '<span style="font-size:' . wppa_opt('wppa_fontsize_widget_thumb') . 'px; min-height:100%;">' . __(stripslashes($album['name'])) . '</span>'; } $widget_content .= "\n" . '</div>'; $count++; } } } } else { $widget_content .= 'There are no albums (yet).'; } $widget_content .= '<div style="clear:both"></div>'; $widget_content .= "\n" . '<!-- WPPA+ thumbnail 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; }
function wppa_the_coverphotos($albumid, $images, $srcs, $photo_pos, $photolinks, $title, $imgattrs_a, $events) { global $wpdb; if (!$images) { return; } // Find the photo frame style $photoframestyle = 'style="text-align:center; "'; // Open the coverphoto frame wppa_out('<div id="coverphoto_frame_' . $albumid . '_' . wppa('mocc') . '" class="coverphoto-frame" ' . $photoframestyle . '>'); // Process the images $n = count($images); for ($idx = '0'; $idx < $n; $idx++) { $image = $images[$idx]; $src = $srcs[$idx]; if (wppa_has_audio($image['id'])) { $src = wppa_fix_poster_ext($src, $image['id']); } $imgattr = $imgattrs_a[$idx]['style']; $imgwidth = $imgattrs_a[$idx]['width']; $imgheight = $imgattrs_a[$idx]['height']; $frmwidth = $imgwidth + '10'; // + 2 * 1 border + 2 * 4 padding $imgattr_a = $imgattrs_a[$idx]; $photolink = $photolinks[$idx]; if ($photolink) { if ($photolink['is_lightbox']) { $thumb = $image; $title = wppa_get_lbtitle('cover', $thumb['id']); if (wppa_is_video($thumb['id'])) { $siz['0'] = wppa_get_videox($thumb['id']); $siz['1'] = wppa_get_videoy($thumb['id']); } else { $siz['0'] = wppa_get_photox($thumb['id']); $siz['1'] = wppa_get_photoy($thumb['id']); } $link = wppa_get_photo_url($thumb['id'], '', $siz['0'], $siz['1']); if (wppa_has_audio($thumb['id'])) { $link = wppa_fix_poster_ext($link, $thumb['id']); } $is_video = wppa_is_video($thumb['id']); $has_audio = wppa_has_audio($thumb['id']); wppa_out('<a' . ' href="' . $link . '"' . ($is_video ? ' data-videohtml="' . esc_attr(wppa_get_video_body($thumb['id'])) . '"' . ' data-videonatwidth="' . wppa_get_videox($thumb['id']) . '"' . ' data-videonatheight="' . wppa_get_videoy($thumb['id']) . '"' : '') . ($has_audio ? ' data-audiohtml="' . esc_attr(wppa_get_audio_body($thumb['id'])) . '"' : '') . ' ' . wppa('rel') . '="' . wppa_opt('lightbox_name') . '[alw-' . wppa('mocc') . '-' . $albumid . ']"' . ($title ? ' ' . wppa('lbtitle') . '="' . $title . '"' : '') . ' >'); // the cover image if ($thumb['id'] == $image['id']) { if (wppa_is_video($image['id'])) { wppa_out("\n\t\t" . '<video preload="metadata" class="image wppa-img" id="i-' . $image['id'] . '-' . wppa('mocc') . '" title="' . wppa_zoom_in($image['id']) . '" width="' . $imgwidth . '" height="' . $imgheight . '" style="' . __wcs('wppa-img') . $imgattr . $imgattr_a['cursor'] . '" ' . $events . '>' . wppa_get_video_body($image['id']) . '</video>'); } else { wppa_out("\n\t\t" . '<img class="image wppa-img" id="i-' . $image['id'] . '-' . wppa('mocc') . '" title="' . wppa_zoom_in($image['id']) . '" src="' . $src . '" width="' . $imgwidth . '" height="' . $imgheight . '" style="' . __wcs('wppa-img') . $imgattr . $imgattr_a['cursor'] . '" ' . $events . ' ' . wppa_get_imgalt($image['id']) . '>'); } } wppa_out('</a> '); } else { // Link is NOT lightbox $href = $photolink['url'] == '#' ? '' : 'href="' . wppa_convert_to_pretty($photolink['url']) . '" '; wppa_out('<a ' . $href . 'target="' . $photolink['target'] . '" title="' . $photolink['title'] . '" onclick="' . $photolink['onclick'] . '" >'); if (wppa_is_video($image['id'])) { wppa_out('<video preload="metadata" ' . ' class="image wppa-img" width="' . $imgwidth . '" height="' . $imgheight . '" style="' . __wcs('wppa-img') . $imgattr . '" ' . $events . ' >' . wppa_get_video_body($image['id']) . '</video>'); } else { wppa_out('<img src="' . $src . '" ' . wppa_get_imgalt($image['id']) . ' class="image wppa-img" width="' . $imgwidth . '" height="' . $imgheight . '" style="' . __wcs('wppa-img') . $imgattr . '" ' . $events . ' />'); } wppa_out('</a> '); } } else { wppa_out('<img src="' . $src . '" ' . wppa_get_imgalt($image['id']) . ' class="image wppa-img" width="' . $imgwidth . '" height="' . $imgheight . '" style="' . __wcs('wppa-img') . $imgattr . '" ' . $events . ' />'); } } // Close the coverphoto frame wppa_out('</div>'); }
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; }
/** @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); }
/** @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; }