Esempio n. 1
0
 /**
  * Output a list a images in a director for use in inline editing
  * @static
  */
 public static function InlineList($dir_piece)
 {
     global $langmessage, $dataDir, $page;
     $page->ajaxReplace = array();
     $dir_piece = \gp\tool::WinPath($dir_piece);
     $dir = $dataDir . '/data/_uploaded' . $dir_piece;
     $prev_piece = false;
     while ($dir_piece != '/' && !file_exists($dir)) {
         $prev_piece = $dir_piece;
         $dir = \gp\tool::DirName($dir);
         $dir_piece = \gp\tool::DirName($dir_piece);
     }
     //new directory?
     if ($prev_piece) {
         $prev_piece = \gp\tool\Editing::CleanArg($prev_piece);
         $dir_piece = $prev_piece;
         $dir = $dataDir . '/data/_uploaded' . $prev_piece;
         if (!\gp\tool\Files::CheckDir($dir)) {
             message($langmessage['OOPS']);
             $dir = \gp\tool::DirName($dir);
             $dir_piece = \gp\tool::DirName($prev_piece);
         }
     }
     //folder information
     $folders = $files = array();
     $allFiles = \gp\tool\Files::ReadFolderAndFiles($dir);
     list($folders, $files) = $allFiles;
     //available images
     ob_start();
     $image_count = 0;
     foreach ($files as $file) {
         $img = self::ShowFile_Gallery($dir_piece, $file);
         if (is_string($img)) {
             echo $img;
             $image_count++;
         }
     }
     $gp_gallery_avail_imgs = ob_get_clean();
     $gp_option_area = self::InlineList_Options($dir_piece, $folders);
     $folder_options = self::InlineList_Folder($image_count, $dir_piece);
     //send content according to request
     $cmd = \gp\tool::GetCommand();
     switch ($cmd) {
         case 'gallery_folder':
             $page->ajaxReplace[] = array('inner', '#gp_option_area', $gp_option_area);
             $page->ajaxReplace[] = array('inner', '#gp_gallery_avail_imgs', $gp_gallery_avail_imgs);
             break;
         default:
             $content = '<div id="gp_option_area">' . $gp_option_area . '</div>' . '<div id="gp_gallery_avail_imgs">' . $gp_gallery_avail_imgs . '</div>';
             $page->ajaxReplace[] = array('inner', '#gp_image_area', $content);
             break;
     }
     $page->ajaxReplace[] = array('inner', '#gp_folder_options', $folder_options);
     $page->ajaxReplace[] = array('gp_gallery_images', '', '');
     //tell the script the images have been loaded
 }