Esempio n. 1
0
 /**
  * LazyestCommentor::redirect_comment()
  * 
  * @return
  */
 function redirect_comment()
 {
     if (is_admin()) {
         return;
     }
     global $lg_gallery, $lg_comment;
     if (isset($lg_comment)) {
         $lg_gallery->comment = $lg_comment;
     } else {
         if (isset($_GET['lg_comment'])) {
             $lg_gallery->comment = $_GET['lg_comment'];
         }
     }
     if ('' != $lg_gallery->comment) {
         $comment_ID = $lg_gallery->comment;
         $filevar = urldecode($this->get_file_by_comment_id($comment_ID));
         $redirect = $lg_gallery->address;
         if ($lg_gallery->is_folder($filevar)) {
             $folder = new LazyestFrontendFolder($filevar);
             if ($folder->valid()) {
                 $redirect = $folder->uri();
             }
             unset($folder);
         }
         if ($lg_gallery->is_image($filevar)) {
             $folder = new LazyestFrontendFolder(dirname($filevar));
             if ($folder->valid()) {
                 $slide = $folder->single_image(basename($filevar), 'slides');
                 $redirect = $slide->uri();
                 unset($slide);
             }
         }
         wp_redirect($redirect);
         exit;
     }
 }
Esempio n. 2
0
 /**
  * LazyestFrontend::slideshow_code()
  * Returns html code for a show of slides from a folder
  * If no folder is given, a random folder will be selected 
  * 
  * @example [lg_slideshow folder="afolder" display="slide"]
  * @param mixed $atts
  * @return string
  */
 function slideshow_code($atts)
 {
     extract(shortcode_atts(array('folder' => '', 'display' => 'slide'), $atts));
     $where = lg_nice_link($folder);
     $goodfolder = false;
     if ('' == $folder) {
         $where = __('the Gallery', 'lazyest-gallery');
         $folders = $this->folders('subfolders', 'visible');
         while (!$goodfolder && 0 < count($folders)) {
             $key = array_rand($folders);
             $sfolder = $folders[$key];
             if (0 != $sfolder->count()) {
                 $goodfolder = true;
                 $folder = $sfolder->curdir;
             }
             unset($folders[$key]);
         }
     }
     $slideshow_code = esc_html(sprintf(__('Lazyest Gallery cannot find images in %s', 'lazyest-gallery'), $where));
     if (!$goodfolder) {
         $folder = trailingslashit(ltrim(utf8_decode($folder), '/'));
         $folder = html_entity_decode($folder);
     }
     $sfolder = new LazyestFrontendFolder($folder);
     if ($sfolder->valid()) {
         ob_start();
         echo "<div class='lg_gallery'>\n";
         $sfolder->slideshow($display);
         echo "</div>\n";
         $slideshow_code = ob_get_contents();
         ob_end_clean();
     }
     return $slideshow_code;
 }
Esempio n. 3
0
 /**
  * LazyestGallery::random_image()
  * Gets a random image from a folder
  * 
  * @param string $folder
  * @param string $sub if 'subfolders', subfolders are included in the selection
  * @param integer $count
  * @return array
  */
 function random_image($folder = '', $sub = 'subfolders', $count = 1, $what = 'thumbs')
 {
     if ('' == $folder) {
         $sub = 'subfolders';
     }
     $images_list = array();
     $counted = 0;
     if ('' == $folder) {
         $folderlist = $this->folders('subfolders', 'visible');
         while ($counted < $count && 0 < count($folderlist)) {
             $folder_key = array_rand($folderlist);
             $folder = $folderlist[$folder_key];
             $random_images = $folder->random_image('subfolders', $count - $counted, $what);
             if (false != $random_images) {
                 // no images have been read
                 $counted += count($random_images);
                 if (0 < count($random_images)) {
                     foreach ($random_images as $image) {
                         $images_list[] = $image;
                         if ($count == count($images_list)) {
                             break;
                         }
                     }
                 }
             }
             unset($folderlist[$folder_key]);
         }
     } else {
         $ifolder = new LazyestFrontendFolder($folder);
         if ($ifolder->valid()) {
             $images_list = $ifolder->random_image($sub, $count, $what);
         }
     }
     return $images_list;
 }