Annotation of pettastic/html/ss1/flashgallery.php, revision 1.1.1.1
1.1 nick 1: <?php
2: $allowed_formats = array("jpg", "jpeg", "JPG", "JPEG", "png", "PNG");
3: $exclude_files = array(
4: "_derived",
5: "_private",
6: "_vti_cnf",
7: "_vti_pvt",
8: "vti_script",
9: "_vti_txt"
10: ); // add any other folders or files you wish to exclude from the gallery.
11:
12: $listDir = array();
13:
14: function detectUTF8($string)
15: {
16: return preg_match('%(?:
17: [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
18: |\xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
19: |[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
20: |\xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
21: |\xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
22: |[\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
23: |\xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
24: )+%xs', $string);
25: }
26:
27: function cp1251_utf8( $sInput )
28: {
29: $sOutput = "";
30:
31: for ( $i = 0; $i < strlen( $sInput ); $i++ )
32: {
33: $iAscii = ord( $sInput[$i] );
34:
35: if ( $iAscii >= 192 && $iAscii <= 255 )
36: $sOutput .= "&#".( 1040 + ( $iAscii - 192 ) ).";";
37: else if ( $iAscii == 168 )
38: $sOutput .= "&#".( 1025 ).";";
39: else if ( $iAscii == 184 )
40: $sOutput .= "&#".( 1105 ).";";
41: else
42: $sOutput .= $sInput[$i];
43: }
44:
45: return $sOutput;
46: }
47:
48: function encoding($string){
49: if (function_exists('iconv')) {
50: if (@!iconv('utf-8', 'cp1251', $string)) {
51: $string = iconv('cp1251', 'utf-8', $string);
52: }
53: return $string;
54: } else {
55: if (detectUTF8($string)) {
56: return $string;
57: } else {
58: return cp1251_utf8($string);
59: }
60: }
61: }
62:
63:
64: function ReadFolderDirectory($dir)
65: {
66: global $listDir,$exclude_files,$allowed_formats;
67: if($handler = opendir($dir))
68: {
69: {
70: while (($sub = readdir($handler)) !== FALSE)
71: {
72:
73: if ($sub != "." && $sub != ".." && $sub != "Thumb.db" && array_search($sub, $exclude_files)===false)
74: {
75: $ext = substr($sub, strrpos($sub, ".")+1);
76: if(is_file($dir."/".$sub) && array_search($ext, $allowed_formats)!==false ) $listDir[] = $dir."/".$sub;
77: elseif(is_dir($dir."/".$sub)) ReadFolderDirectory($dir."/".$sub);
78: }
79: }
80: }
81: closedir($handler);
82: }
83: }
84:
85: if(isset($_GET['file_dir'])) ReadFolderDirectory($_GET['file_dir']);
86:
87: natcasesort($listDir);
88:
89: print '<?xml version="1.0" encoding="utf-8"?>';
90: print '
91: <pics>';
92:
93: $directory= $_SERVER['HTTP_HOST'] .$_SERVER['PHP_SELF'];
94: $directory=dirname($directory);
95:
96: foreach ($listDir as $val)
97: {
98: $title = substr(strrchr($val, '/'), 1);
99: $title=encoding($title);
100: $val=encoding($val);
101:
102: print '
103: <pic src="'.'http://'.$directory.'/'.$val.'" title="'.$title.'" />';
104: }
105:
106: print '
107: </pics>';
108: ?>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>