--- expose/index.php 2003/11/06 14:26:31 1.6 +++ expose/index.php 2003/11/07 23:12:11 1.9 @@ -20,7 +20,7 @@ | Version 2 along with this program; if not, visit GNU's Home Page | http://www.gnu.org/ +----------------------------------------------------------------------+ -$Id: index.php,v 1.6 2003/11/06 14:26:31 cam Exp $ +$Id: index.php,v 1.9 2003/11/07 23:12:11 cam Exp $ @@ -71,15 +71,14 @@ 'wm' => '' ); +$global_var['image_sz']['valid_sizes'] = array ( + '640x480', + '800x600', + '1024x768' + ); + $global_var['image_sz']['default'] =& $global_var['image_sz']['640']; -$global_var['exif'] = array ( - 'Make', - 'ApertureFNumber', - 'FocalLength', - 'DateTime', - 'FlashMode' - ); $exif_headers = array (); @@ -98,8 +97,6 @@ /** - * ! NOT IMPLEMENTED ! - * * Extracts the EXIF header of a JPG if available using * built-in php function exif_read_data, this information * is extracted upon request and not written to disk. @@ -115,11 +112,9 @@ foreach($exif_data as $exif_section_key => $exif_section) { foreach($exif_section as $exif_key => $exif_value) { - - if(array_search($exif_key, $global_var['exif'])) { switch($exif_key) { - case 'Make': + case 'Model': array_push($exif_headers, 'Model: '.$exif_value); break; @@ -141,18 +136,41 @@ case 'FlashMode': switch($exif_value) { case '0': - array_push($exif_headers, 'Flash: Off'); + array_push($exif_headers, 'Flash: Auto'); break; case '1': array_push($exif_headers, 'Flash: On'); break; + case '2': + array_push($exif_headers, 'Flash: Off'); + break; + case '3': + array_push($exif_headers, 'Flash: Red-Eye Reduction'); + break; + default: + array_push($exif_headers, 'Flash: Unknown'); + break; } break; + case 'FocusMode': + switch($exif_value) { + case '0': + array_push($exif_headers, 'Focus: C-AF/S-AF'); + break; + case '1': + array_push($exif_headers, 'Focus: MF'); + break; + default: + break; + } + break; + case 'ISOSpeedRatings'; + array_push($exif_headers, 'ISO: '.$exif_value); + break; default: break; } - } } } if(sizeof($exif_headers)>0) { @@ -235,15 +253,32 @@ if(file_exists($image)) { $image_size = GetImageSize($image); + $src_image_size = $image_size; - if(isset($get_var['width'])) { - if($get_var['width'] >= $image_size[0]) + if(isset($get_vars['width'])) { + + $cache_size = split("x",$get_vars['width']); + + if($cache_size[0] >= $src_image_size[0]) { $cache_image = $image; + } else { + if(array_search($get_vars['width'], $global_var['image_sz']['valid_sizes'])) { + if(!file_exists($pwd.'/.cache/'.$get_vars['width'].'_'.$get_vars['img'])) { + resize_image($get_vars['width'].'_'); + } + $cached_image = $pwd.'/.cache/'.$get_vars['width'].'_'.$get_vars['img']; + } + if($cache_size[0] == $global_var['image_sz']['default']['x']) + $cached_image = $cached_image.'/default_'.$get_vars['img']; + } + } else { if(!file_exists($cached_image.'/default_'.$get_vars['img'])) { resize_image('default_'); + } $cached_image = $cached_image.'/default_'.$get_vars['img']; + } $image_size = GetImageSize($cached_image); @@ -276,10 +311,34 @@ $image_index = get_image_index(); $next = get_next_image($image_index); $prev = get_prev_image($image_index); + + echo <<Size:  +EOT; + foreach($global_var['image_sz']['valid_sizes'] as $new_size) { + + if($get_vars['width'] == $new_size) { + echo $new_size; + } elseif($cache_size[0] >= $src_image_size[0]) { + } else { + + echo <<$new_size  +EOT; + } + + } + + echo <<{$src_image_size[0]}x{$src_image_size[1]} +EOT; + echo <<prev - next +
\n + prev + next\n +
\n EOT; } @@ -296,19 +355,31 @@ if(isset($global_var['external']['magick'])) { if(file_exists($pwd.'/'.$src_image)) { + $src_image_sz = GetImageSize($pwd.'/'.$src_image); $resize_aspect = round(($global_var['image_sz']['default']['y'] / $src_image_sz[1])*100, 2); + $resize_quality = $global_var['image_sz']['default']['ql']; + + if(isset($get_vars['width'])) { + $new_width = split("x", $get_vars['width']); + $resize_aspect = round(($new_width[1] / $src_image_sz[1])*100, 2); + } // DEBUG: print "Quality: ".$global_var['image_sz']['default']['ql'] ." Resize Aspect: ". $resize_aspect ."%"; + if(!file_exists($cache_dir)) mkdir($cache_dir,0777); + $debug = array(); + exec($global_var['external']['magick'] .' -geometry '.$resize_aspect.'%' - .' -quality '.$global_var['image_sz']['default']['ql'] + .' -quality '.$resize_quality .' '.$pwd.'/'.$src_image - .' '.$pwd.'/'.$global_var['path']['cache_dir'].'/'.$prefix.$src_image + .' '.$pwd.'/'.$global_var['path']['cache_dir'].'/'.$prefix.$src_image, $debug, $ret_val ); + + print_r($debug); } } } @@ -409,6 +480,34 @@ +function create_directory_browser() +{ + global $pwd, $dir_files; + + if(sizeof($dir_files)>0) { + + foreach($dir_files as $dir) { + + $dir_image = 'open.png'; + + if(file_exists($pwd.'/'.$dir.'/.htaccess')) + $dir_image = 'protected.png'; + + echo <<\n + \n +
$dir\n +
\n + \n +EOT; + } + } +} + + + + + if (isset($get_vars['dir']) && is_dir(rawurldecode($get_vars['dir']))) { @@ -429,6 +528,7 @@ if(sizeof($image_files) <= 0) { if(sizeof($dir_files) > 0) { + create_directory_browser(); } else { } } else { @@ -441,6 +541,9 @@ } } + + + // print the html footer to make it nice and tidy. html_template_footer(); @@ -509,7 +612,7 @@ echo <<\n {$global_var[str_msg][copyright]}
\n - expose\n \$Revision: 1.6 $\n + \$Revision: 1.9 $\n \n\n \n \n @@ -551,13 +654,4 @@ } } - - - - - - -function html_template_alt_resolutions() -{ -} ?>