Exemplo n.º 1
0
 /**
  * Output a list a images in a director for use in inline editing
  * @static
  */
 function InlineList($dir, $dir_piece)
 {
     global $page, $langmessage, $dataDir;
     ob_start();
     $isThumbDir = false;
     $thumbFolder = $dataDir . '/data/_uploaded/image/thumbnails';
     if (strpos($dir, $thumbFolder) !== false) {
         $isThumbDir = true;
     }
     $folders = $files = array();
     $allFiles = gpFiles::ReadFolderAndFiles($dir);
     list($folders, $files) = $allFiles;
     //available images
     $avail_imgs = '<div id="gp_gallery_avail_imgs">';
     $image_count = 0;
     foreach ($files as $file) {
         $img = admin_uploaded::ShowFile_Gallery($dir_piece, $file, $isThumbDir);
         if ($img) {
             $avail_imgs .= $img;
             $image_count++;
         }
     }
     $avail_imgs .= '</div>';
     //folder select
     echo '<div class="option_area">';
     echo '<div class="gp_edit_select">';
     echo '<a href="#" class="gp_gallery_folder ckeditor_control" name="gp_show_select"><span class="folder"></span>';
     if (strlen($dir_piece) > 23) {
         echo '...' . substr($dir_piece, -20);
     } else {
         echo $dir_piece;
     }
     echo '</a>';
     echo '<div class="gp_edit_select_options">';
     if ($dir_piece != '/') {
         $temp = dirname($dir_piece);
         echo '<a href="?cmd=new_dir&dir=' . rawurlencode($dir_piece) . '" class="gp_gallery_folder" name="gpabox"><span class="add"></span>' . $langmessage['create_dir'] . '</a>';
         echo '<a class="gp_gallery_folder" name="gp_gallery_folder" rel="' . htmlspecialchars($temp) . '"><span class="folder"></span>../</a>';
     }
     foreach ($folders as $folder) {
         if ($dir_piece == '/') {
             $new_dir = '/' . $folder;
         } else {
             $new_dir = $dir_piece . '/' . $folder;
         }
         echo '<a class="gp_gallery_folder" name="gp_gallery_folder" rel="' . htmlspecialchars($new_dir) . '"><span class="folder"></span>' . $folder . '</a>';
     }
     echo '</div>';
     echo '</div>';
     //add all images
     if ($image_count > 0) {
         echo '<a href="#" name="gp_gallery_add_all" class="ckeditor_control full_width">' . $langmessage['Add All Images'] . '</a>';
     }
     if ($dir_piece != '/') {
         echo '<form action="' . common::GetUrl('Admin_Uploaded') . '" method="post"  enctype="multipart/form-data" class="gp_upload_form" id="gp_upload_form">';
         admin_uploaded::Max_File_Size();
         echo '<a href="#" class="ckeditor_control full_width">' . $langmessage['upload_files'] . '</a>';
         echo '<div class="gp_object_wrapper">';
         echo '<input type="file" name="userfiles[]" class="file" />';
         echo '<input type="hidden" name="file_cmd" value="inline_upload" />';
         echo '<input type="hidden" name="output" value="gallery" />';
         echo '<input type="hidden" name="dir" value="' . $dir_piece . '" />';
         echo '</div>';
         echo '</form>';
     }
     echo '</div>';
     echo $avail_imgs;
     $content = ob_get_clean();
     $page->ajaxReplace[] = array('gp_gallery_images', '', $content);
 }
Exemplo n.º 2
0
 /**
  * Output a list a images in a director for use in inline editing
  * @static
  */
 static function InlineList($dir_piece)
 {
     global $page, $langmessage, $dataDir;
     $page->ajaxReplace = array();
     $dir_piece = common::WinPath($dir_piece);
     $dir = $dataDir . '/data/_uploaded' . $dir_piece;
     $prev_piece = false;
     while ($dir_piece != '/' && !file_exists($dir)) {
         $prev_piece = $dir_piece;
         $dir = common::DirName($dir);
         $dir_piece = common::DirName($dir_piece);
     }
     //new directory?
     if ($prev_piece) {
         $prev_piece = gp_edit::CleanArg($prev_piece);
         $dir_piece = $prev_piece;
         $dir = $dataDir . '/data/_uploaded' . $prev_piece;
         if (!gpFiles::CheckDir($dir)) {
             message($langmessage['OOPS']);
             $dir = common::DirName($dir);
             $dir_piece = common::DirName($prev_piece);
         }
     }
     //folder information
     $folders = $files = array();
     $allFiles = gpFiles::ReadFolderAndFiles($dir);
     list($folders, $files) = $allFiles;
     //folder select
     ob_start();
     echo '<div class="gp_edit_select ckeditor_control">';
     echo '<a class="gp_selected_folder"><span class="folder"></span>';
     if (strlen($dir_piece) > 23) {
         echo '...' . substr($dir_piece, -20);
     } else {
         echo $dir_piece;
     }
     echo '</a>';
     echo '<div class="gp_edit_select_options">';
     if ($dir_piece != '/') {
         $temp = common::DirName($dir_piece);
         echo '<a href="?cmd=new_dir&dir=' . rawurlencode($dir_piece) . '" class="gp_gallery_folder" data-cmd="gpabox"><span class="add"></span>' . $langmessage['create_dir'] . '</a>';
         echo '<a class="gp_gallery_folder" data-cmd="gp_gallery_folder" data-arg="' . htmlspecialchars($temp) . '"><span class="folder"></span>../</a>';
     }
     foreach ($folders as $folder) {
         if ($dir_piece == '/') {
             $sub_dir = '/' . $folder;
         } else {
             $sub_dir = $dir_piece . '/' . $folder;
         }
         $full_dir = $dataDir . '/data/_uploaded' . $sub_dir;
         $sub_files = scandir($full_dir);
         $count = 0;
         foreach ($sub_files as $file) {
             if (admin_uploaded::IsImg($file)) {
                 $count++;
             }
         }
         echo '<a class="gp_gallery_folder" data-cmd="gp_gallery_folder" data-arg="' . htmlspecialchars($sub_dir) . '"><span class="folder"></span><span class="gp_count">' . $count . '</span>' . $folder . '</a>';
     }
     echo '</div>';
     echo '</div>';
     $gp_option_area = ob_get_clean();
     //available images
     ob_start();
     $image_count = 0;
     foreach ($files as $file) {
         $img = admin_uploaded::ShowFile_Gallery($dir_piece, $file);
         if ($img) {
             echo $img;
             $image_count++;
         }
     }
     $gp_gallery_avail_imgs = ob_get_clean();
     // Folder controls
     ob_start();
     if ($image_count > 0) {
         echo '<a data-cmd="gp_gallery_add_all" class="ckeditor_control half_width add_all_images">' . $langmessage['Add All Images'] . '</a>';
     }
     if ($dir_piece != '/') {
         echo '<form action="' . common::GetUrl('Admin_Uploaded') . '" method="post"  enctype="multipart/form-data" class="gp_upload_form" id="gp_upload_form">';
         admin_uploaded::Max_File_Size();
         echo '<a class="ckeditor_control half_width">' . $langmessage['upload_files'] . '</a>';
         echo '<div class="gp_object_wrapper">';
         echo '<input type="file" name="userfiles[]" class="file" />';
         echo '<input type="hidden" name="file_cmd" value="inline_upload" />';
         echo '<input type="hidden" name="output" value="gallery" />';
         echo '<input type="hidden" name="dir" value="' . $dir_piece . '" />';
         echo '</div>';
         echo '</form>';
     }
     $folder_options = ob_get_clean();
     //send content according to request
     $cmd = common::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
 }