web/wp-content/plugins/slideshow-jquery-image-gallery/classes/SlideshowPlugin.php
--- a/web/wp-content/plugins/slideshow-jquery-image-gallery/classes/SlideshowPlugin.php Wed Dec 19 12:35:13 2012 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-<?php
-/**
- * Class SlideslowPlugin is called whenever a slideshow do_action tag is come across.
- * Responsible for outputting the slideshow's HTML, CSS and Javascript.
- *
- * TODO Create a variable in which all slideshow html can be stored <- Rethink this, slideshow containers have random ids.
- * @author: Stefan Boonstra
- * @version: 22-09-12
- */
-class SlideshowPlugin {
-
- /**
- * Function deploy prints out the prepared html
- *
- * @param int $postId
- */
- static function deploy($postId = null){
- echo self::prepare($postId);
- }
-
- /**
- * Function prepare returns the required html and enqueues
- * the scripts and stylesheets necessary for displaying the slideshow
- *
- * Passing this function no parameter or passing it a negative one will
- * result in a random pick of slideshow
- *
- * @param int $postId
- * @return String $output
- */
- static function prepare($postId = null){
- // Get post by its ID, or by its slug
- if(is_numeric($postId))
- $post = wp_get_single_post($postId);
- if(is_string($postId)){
- $query = new WP_Query(array(
- 'post_type' => SlideshowPluginPostType::$postType,
- 'name' => $postId,
- 'orderby' => 'post_date',
- 'order' => 'DESC'
- ));
-
- if($query->have_posts())
- $post = $query->next_post();
- }
-
- // When no slideshow is found, get one at random
- if(empty($post)){
- $post = get_posts(array(
- 'numberposts' => 1,
- 'orderby' => 'rand',
- 'post_type' => SlideshowPluginPostType::$postType
- ));
-
- if(is_array($post))
- $post = $post[0];
- }
-
- // Exit on error
- if(empty($post)){echo 'dayum';
- return '<!-- Wordpress Slideshow - No slideshows available -->';
- }
-
- // Get settings
- $allSettings = SlideshowPluginPostType::getSimpleSettings($post->ID, null, false);
-
- // Get stored slide settings and convert them to array([slide-key] => array([setting-name] => [value]));
- $slidesPreOrder = array();
- $slideSettings = SlideshowPluginPostType::getSettings($post->ID, SlideshowPluginPostType::$prefixes['slide-list'], false);
- if(is_array($slideSettings) && count($slideSettings) > 0)
- foreach($slideSettings as $key => $value){
- $key = explode('_', $key);
- if(is_numeric($key[1]))
- $slidesPreOrder[$key[1]][$key[2]] = $value;
- }
-
- // Create array ordered by the 'order' key of the slides array: array([order-key] => [slide-key]);
- $slidesOrder = array();
- if(count($slidesPreOrder) > 0){
- foreach($slidesPreOrder as $key => $value)
- if(isset($value['order']) && is_numeric($value['order']) && $value['order'] > 0)
- $slidesOrder[$value['order']][] = $key;
- }
- ksort($slidesOrder);
-
- // Order slides by the order key.
- $slides = array();
- if(count($slidesOrder) > 0)
- foreach($slidesOrder as $value)
- if(is_array($value))
- foreach($value as $slideId){
- $slides[] = $slidesPreOrder[$slideId];
- unset($slidesPreOrder[$slideId]);
- }
-
- // Add remaining (unordered) slides to the end of the array.
- $slides = array_merge($slides, $slidesPreOrder);
-
- // Randomize if setting is true.
- if(isset($allSettings['setting_random']) && $allSettings['setting_random'] == 'true')
- shuffle($slides);
-
- // Enqueue functional sheet
- wp_enqueue_style(
- 'slideshow_functional_style',
- SlideshowPluginMain::getPluginUrl() . '/style/' . __CLASS__ . '/functional.css'
- );
-
- // Create a microtime timestamp to host multiple slideshows with different styles and settings on the same page
- $randomId = rand();
-
- // Get stylesheet for printing
- $style = '';
- if($allSettings['style_style'] == 'custom' && isset($allSettings['style_custom']) && !empty($allSettings['style_custom'])){ // Custom style
- $style = str_replace('%plugin-url%', SlideshowPluginMain::getPluginUrl(), $allSettings['style_custom']);
- }else{ // Set style
- $filePath = SlideshowPluginMain::getPluginPath() . '/style/' . __CLASS__ . '/style-' . $allSettings['style_style'] . '.css';
- if(file_exists(SlideshowPluginMain::getPluginPath() . '/style/' . __CLASS__ . '/style-' . $allSettings['style_style'] . '.css')){
- ob_start();
- include($filePath);
- $style = str_replace('%plugin-url%', SlideshowPluginMain::getPluginUrl(), ob_get_clean());
- }
- }
-
- // Append the random ID to the slideshow container in the stylesheet, to identify multiple slideshows
- if(!empty($style))
- $style = str_replace('.slideshow_container', '.slideshow_container_' . $randomId, $style);
-
- // Filter settings to only contain settings, then remove prefix
- $settings = array();
- if(is_array($allSettings) && count($allSettings) > 0)
- foreach($allSettings as $key => $value)
- if(SlideshowPluginPostType::$prefixes['settings'] == substr($key, 0, strlen(SlideshowPluginPostType::$prefixes['settings'])))
- $settings[substr($key, strlen(SlideshowPluginPostType::$prefixes['settings']))] = $value;
-
- // Include output file that stores output in $output.
- $output = '';
- ob_start();
- include(SlideshowPluginMain::getPluginPath() . '/views/' . __CLASS__ . '/slideshow.php');
- $output .= ob_get_clean();
-
- // Enqueue flash object creation script
- wp_enqueue_script(
- 'swfobject',
- SlideshowPluginMain::getPluginUrl() . '/js/' . __CLASS__ . 'swfobject.js'
- );
-
- // Enqueue slideshow script
- wp_enqueue_script(
- 'slideshow_script',
- SlideshowPluginMain::getPluginUrl() . '/js/' . __CLASS__ . '/slideshow.js',
- array('jquery')
- );
-
- // Return output
- return $output;
- }
-}
\ No newline at end of file