Rev 448 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
236 | tom | 1 | <?php |
2 | |||
3 | require '../_taios.php'; |
||
4 | |||
238 | tom | 5 | function getImageSizes($sourceImageFilePath, $maxResizeWidth, $maxResizeHeight) { |
6 | |||
7 | $size = getimagesize($sourceImageFilePath); |
||
8 | $origWidth = $size[0]; |
||
9 | $origHeight = $size[1]; |
||
10 | |||
11 | $resizedWidth = $origWidth; |
||
12 | $resizedHeight = $origHeight; |
||
13 | |||
14 | if ($resizedWidth > $maxResizeWidth) |
||
15 | { |
||
16 | $aspectRatio = $maxResizeWidth / $resizedWidth; |
||
17 | $resizedWidth = round($aspectRatio * $resizedWidth); |
||
18 | $resizedHeight = round($aspectRatio * $resizedHeight); |
||
19 | } |
||
20 | if ($resizedHeight > $maxResizeHeight) |
||
21 | { |
||
22 | $aspectRatio = $maxResizeHeight / $resizedHeight; |
||
23 | $resizedWidth = round($aspectRatio * $resizedWidth); |
||
24 | $resizedHeight = round($aspectRatio * $resizedHeight); |
||
25 | } |
||
26 | |||
239 | tom | 27 | return array($resizedWidth, $resizedHeight); |
238 | tom | 28 | } |
29 | |||
236 | tom | 30 | $page = new Taios_Page('Photo Albums', '../'); |
31 | |||
32 | $dirName = $_GET['dir']; |
||
33 | if (empty($dirName)) |
||
34 | { |
||
35 | $page->redirect('index.php'); |
||
36 | } |
||
37 | |||
522 | muzer | 38 | while (strpos($dirName, '../') !== false) { |
39 | $dirName = str_replace("../", "/", $dirName); |
||
40 | } |
||
41 | |||
446 | tom | 42 | $page->drawHeader(); |
448 | tom | 43 | write('<br /><h3>RSS</h3>'); |
44 | $page->drawMenuItem('RSS Feed', 'photos/rss.php?dir=' . $dirName); |
||
446 | tom | 45 | $page->drawMiddle(); |
46 | |||
242 | tom | 47 | write('<p class="bold"><a href="index.php">Back to Photos</a></p><br />'); |
241 | tom | 48 | |
329 | tom | 49 | if (file_exists("albums/" . $dirName . "/description.txt")) |
326 | tom | 50 | { |
330 | tom | 51 | write('<p>' . $page->replaceBBCode(file_get_contents("albums/" . $dirName . "/description.txt")) . '</p><br />'); |
326 | tom | 52 | } |
53 | |||
238 | tom | 54 | write('<table>'); |
55 | write('<tr>'); |
||
56 | |||
358 | tom | 57 | $directory = "albums/" . $dirName . "/"; |
357 | tom | 58 | $sortOrder = "newestFirst"; |
59 | |||
60 | $results = array(); |
||
61 | $handler = opendir($directory); |
||
62 | |||
63 | while ($file = readdir($handler)) |
||
64 | { |
||
65 | if ($file != '.' && $file != '..' && $file != "robots.txt" && $file != ".htaccess" && getimagesize($directory . $file)) |
||
66 | { |
||
67 | $currentModified = filectime($directory . $file); |
||
68 | $file_names[] = $file; |
||
69 | $file_dates[] = $currentModified; |
||
70 | } |
||
71 | } |
||
72 | |||
73 | closedir($handler); |
||
74 | |||
75 | if ($sortOrder == "newestFirst") |
||
76 | { |
||
77 | arsort($file_dates); |
||
78 | } |
||
79 | else |
||
80 | { |
||
81 | asort($file_dates); |
||
82 | } |
||
83 | |||
84 | $file_names_Array = array_keys($file_dates); |
||
85 | foreach ($file_names_Array as $idx => $name) $name=$file_names[$name]; |
||
86 | $file_dates = array_merge($file_dates); |
||
87 | |||
88 | $i = 0; |
||
89 | |||
90 | $indexInArray = 0; |
||
238 | tom | 91 | $i = 0; |
92 | |||
357 | tom | 93 | foreach ($file_dates as $$file_dates) |
236 | tom | 94 | { |
357 | tom | 95 | $j = $file_names_Array[$indexInArray]; |
96 | $file = $file_names[$j]; |
||
97 | |||
98 | if ($i >= 3) |
||
327 | tom | 99 | { |
357 | tom | 100 | write('</tr><tr>'); |
101 | $i = 0; |
||
102 | } |
||
238 | tom | 103 | |
359 | tom | 104 | $filename = $directory . $file; |
400 | tom | 105 | $size = getImageSizes($filename, 280, 260); |
357 | tom | 106 | |
378 | tom | 107 | write('<td><a href="' . str_replace(" ", "%20", $filename) . '"><img width="' . $size[0] . '" height="' . $size[1] . '" src="' . str_replace(" ", "%20", $filename) . '" /></a></td>'); |
238 | tom | 108 | |
357 | tom | 109 | $i++; |
110 | $indexInArray++; |
||
236 | tom | 111 | } |
112 | |||
238 | tom | 113 | write('</tr>'); |
379 | tom | 114 | write('</table>'); |
238 | tom | 115 | |
236 | tom | 116 | $page->drawFooter(); |
117 | |||
118 | ?> |
||
119 |