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_get_fullimgstyle($id) { $temp = wppa_get_fullimgstyle_a($id); if (is_array($temp)) { return $temp['style']; } else { return ''; } }
function wppa_run_slidecontainer($type = '') { global $thumbs; // if ( wppa( 'is_filmonly' ) ) return; $c = is_array($thumbs) ? count($thumbs) : '0'; wppa_dbg_msg('Running slidecontainer type ' . $type . ' with ' . $c . ' elements in thumbs, is_single=' . wppa('is_single')); if (wppa('is_single') && is_feed()) { // process feed for single image slideshow here, normal slideshow uses filmthumbs $style_a = wppa_get_fullimgstyle_a(wppa('start_photo')); $style = $style_a['style']; $width = $style_a['width']; $height = $style_a['height']; $imgalt = wppa_get_imgalt(wppa('start_photo')); wppa_out('<a href="' . get_permalink() . '">' . '<img' . ' src="' . wppa_get_photo_url(wppa('start_photo'), '', $width, $height) . '"' . ' style="' . $style . '"' . ' width="' . $width . '"' . ' height="' . $height . '" ' . $imgalt . ' />' . '</a>'); return; } elseif ($type == 'slideshow') { // Find slideshow start method switch (wppa_opt('start_slide')) { case 'run': $startindex = -1; break; case 'still': $startindex = 0; break; case 'norate': $startindex = -2; break; default: echo 'Unexpected error unknown wppa_start_slide in wppa_run_slidecontainer'; } // A requested photo id overrules the method. $startid >0 is requested photo id, -1 means: no id requested if (wppa('start_photo')) { $startid = wppa('start_photo'); } else { $startid = -1; } // Create next ids $ix = 0; if ($thumbs) { while ($ix < count($thumbs)) { if ($ix == count($thumbs) - 1) { $thumbs[$ix]['next_id'] = $thumbs[0]['id']; } else { $thumbs[$ix]['next_id'] = $thumbs[$ix + 1]['id']; } $ix++; } } // Produce scripts for slides $index = 0; if ($thumbs) { $t = -microtime(true); wppa_add_js_page_data("\n" . '<script type="text/javascript">'); foreach ($thumbs as $thumb) { if (wppa_switch('next_on_callback')) { wppa_add_js_page_data("\n" . 'wppaStoreSlideInfo( ' . wppa_get_slide_info($index, $thumb['id'], $thumb['next_id']) . ' );'); } else { wppa_add_js_page_data("\n" . 'wppaStoreSlideInfo( ' . wppa_get_slide_info($index, $thumb['id']) . ' );'); } if ($startid == $thumb['id']) { $startindex = $index; } // Found the requested id, put the corresponding index in $startindex $index++; } wppa_add_js_page_data("\n" . '</script>'); $t += microtime(true); wppa_dbg_msg('SlideInfo took ' . $t . ' seconds.'); } wppa_add_js_page_data("\n" . '<script type="text/javascript">'); // How to start if slideonly if (wppa('is_slideonly')) { if (wppa_switch('start_slideonly')) { $startindex = -1; // There are no navigations, so start running, overrule everything } else { $startindex = 0; } } // Vertical align if (wppa('is_slideonly')) { $ali = wppa('ss_widget_valign') ? wppa('ss_widget_valign') : ($ali = 'fit'); wppa_add_js_page_data("\n" . 'wppaFullValign[' . wppa('mocc') . '] = "' . $ali . '";'); } else { wppa_add_js_page_data("\n" . 'wppaFullValign[' . wppa('mocc') . '] = "' . wppa_opt('fullvalign') . '";'); } // Horizontal align wppa_add_js_page_data("\n" . 'wppaFullHalign[' . wppa('mocc') . '] = "' . wppa_opt('fullhalign') . '";'); // Portrait only ? if (wppa('portrait_only')) { wppa_add_js_page_data("\n" . 'wppaPortraitOnly[' . wppa('mocc') . '] = true;'); } // Start command with appropriate $startindex: -2 = at norate, -1 run from first, >=0 still at index // If we use lightbox on slideshow, wait for documen.ready, if we do not use lightbox, go immediately. if (wppa_opt('slideshow_linktype') == 'lightbox' || wppa_opt('slideshow_linktype') == 'lightboxsingle' || wppa_opt('film_linktype') == 'lightbox') { wppa_add_js_page_data("\n" . 'jQuery( document ).ready( function() { wppaStartStop( ' . wppa('mocc') . ', ' . $startindex . ' ); } );'); } else { wppa_add_js_page_data("\n" . 'wppaStartStop( ' . wppa('mocc') . ', ' . $startindex . ' );'); } wppa_add_js_page_data("\n" . '</script>'); } else { wppa_out('<span style="color:red;">' . 'Error, wppa_run_slidecontainer() called with wrong argument: ' . $type . '. Possible values: \'single\' or \'slideshow\'' . '</span>'); } }