Mercurial > hg > mgallery
annotate mgallery.php @ 231:2731d2d8400e
Set meta viewport tag and initial scale, and try to "fix" things for some
mobile devices/browsers while probably breaking things for others. Also,
setting the initial scale seems to break the Android Chrome "text size
autoboost" prevention in the CSS ... sigh. :S
Set the text-size-adjust values to 100% anyway.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 26 Mar 2018 17:06:12 +0300 |
parents | 27e541d02be8 |
children | e618280253ca |
rev | line source |
---|---|
0 | 1 <?php |
2 // | |
3 // Yet Another Image Gallery | |
69
7777887bc515
Update header/copyright blurbs.
Matti Hamalainen <ccr@tnsp.org>
parents:
68
diff
changeset
|
4 // -- Main PHP file |
7777887bc515
Update header/copyright blurbs.
Matti Hamalainen <ccr@tnsp.org>
parents:
68
diff
changeset
|
5 // Programmed and designed by Matti 'ccr' Hamalainen <ccr@tnsp.org> |
161 | 6 // (C) Copyright 2015-2018 Tecnic Software productions (TNSP) |
0 | 7 // |
8 require "mgallery.inc.php"; | |
9 | |
48
5a2dd41ff7ad
Initial implementation of language selector.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
10 $pageLang = "fi"; |
5a2dd41ff7ad
Initial implementation of language selector.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
11 $pageLanguages = |
5a2dd41ff7ad
Initial implementation of language selector.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
12 [ |
92
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
13 "fi" => "FIN", |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
14 "en" => "ENG", |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
15 ]; |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
16 |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
17 |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
18 $pageTranslations = |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
19 [ |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
20 "gallery_error" => [ |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
21 "fi" => "Tapahtui virhe", |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
22 "en" => "An error occured", |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
23 ], |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
24 |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
25 "invalid_gallery_path" => [ |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
26 "fi" => "Gallerian tiedostopolkua <b>%1</b> ei ole olemassa.", |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
27 "en" => "Gallery path <b>%1</b> does not exist or is invalid.", |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
28 ], |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
29 |
93 | 30 "view_best_quality" => [ |
163
59b06be3f355
Improve one message and translation.
Matti Hamalainen <ccr@tnsp.org>
parents:
161
diff
changeset
|
31 "fi" => "Näytä paremmalla laadulla", |
59b06be3f355
Improve one message and translation.
Matti Hamalainen <ccr@tnsp.org>
parents:
161
diff
changeset
|
32 "en" => "View better quality version", |
92
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
33 ], |
126
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
34 |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
35 "gallery_nimages" => [ |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
36 "fi" => "kuvaa", |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
37 "en" => "images", |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
38 ], |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
39 |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
40 "gallery_nsubalbums" => [ |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
41 "fi" => "albumia", |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
42 "en" => "albums", |
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
43 ], |
193
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
44 |
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
45 "page_info_button_title" => [ |
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
46 "fi" => "Näytä gallerian navigointi.", |
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
47 "en" => "Show gallery navigation.", |
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
48 ], |
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
49 |
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
50 "page_up_navi_button_title" => [ |
202
c8b69b6bb692
Improve button descriptions.
Matti Hamalainen <ccr@tnsp.org>
parents:
200
diff
changeset
|
51 "fi" => "Takaisin galleriasivulle.", |
c8b69b6bb692
Improve button descriptions.
Matti Hamalainen <ccr@tnsp.org>
parents:
200
diff
changeset
|
52 "en" => "Back to gallery page.", |
193
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
53 ], |
48
5a2dd41ff7ad
Initial implementation of language selector.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
54 ]; |
5a2dd41ff7ad
Initial implementation of language selector.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
55 |
0 | 56 |
57 // | |
58 // Various utility functions | |
59 // | |
89
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
60 function mgSetCookie($name, $value) |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
61 { |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
62 global $galBaseURL; |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
63 setcookie($name, $value, time() + 365*24*60*60, $galBaseURL); // expire in a year |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
64 } |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
65 |
92
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
66 |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
67 function mgQM($msg) |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
68 { |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
69 global $pageTranslations, $pageLang; |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
70 |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
71 if (isset($pageTranslations[$msg]) && isset($pageTranslations[$msg][$pageLang])) |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
72 $str = $pageTranslations[$msg][$pageLang]; |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
73 else |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
74 $str = $msg; |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
75 |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
76 foreach (func_get_args() as $argn => $argv) |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
77 $str = preg_replace("/\%".$argn."/", $argv, $str); |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
78 return $str; |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
79 } |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
80 |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
81 |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
82 function mgTrimIfString($val) |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
83 { |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
84 if (is_string($val)) |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
85 return trim($val); |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
86 else |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
87 return $val; |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
88 } |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
89 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
90 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
91 function mgGetRequestItem($name, $default = "", $allowGet = FALSE) |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
92 { |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
93 if ($allowGet) |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
94 return isset($_REQUEST[$name]) ? mgTrimIfString($_REQUEST[$name]) : $default; |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
95 else |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
96 return isset($_POST[$name]) ? mgTrimIfString($_POST[$name]) : $default; |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
97 } |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
98 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
99 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
100 function chentities($str) |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
101 { |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
102 return htmlentities($str, ENT_NOQUOTES, "UTF-8"); |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
103 } |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
104 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
105 |
200
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
106 function dhentities($str) |
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
107 { |
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
108 return htmlentities($str, ENT_COMPAT, "UTF-8"); |
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
109 } |
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
110 |
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
111 |
191
11aae39833cb
Add mgMangleURI() for optionally adding random SHA hash to CSS and javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
190
diff
changeset
|
112 function mgMangleURI($filename) |
11aae39833cb
Add mgMangleURI() for optionally adding random SHA hash to CSS and javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
190
diff
changeset
|
113 { |
195 | 114 global $pageDebug; |
115 return $filename.($pageDebug ? "?".sha1(time()) : ""); | |
191
11aae39833cb
Add mgMangleURI() for optionally adding random SHA hash to CSS and javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
190
diff
changeset
|
116 } |
11aae39833cb
Add mgMangleURI() for optionally adding random SHA hash to CSS and javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
190
diff
changeset
|
117 |
11aae39833cb
Add mgMangleURI() for optionally adding random SHA hash to CSS and javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
190
diff
changeset
|
118 |
167 | 119 function mgGetCSSLine($filename, $media = FALSE) |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
120 { |
167 | 121 return |
191
11aae39833cb
Add mgMangleURI() for optionally adding random SHA hash to CSS and javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
190
diff
changeset
|
122 " <link rel=\"stylesheet\" href=\"".mgMangleURI($filename). |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
123 "\" type=\"text/css\" ".($media !== FALSE ? "media=\"".$media."\"": "")." />\n"; |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
124 } |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
125 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
126 |
199
d03fad24f4bc
Make separate containing div elements for gallery and image view page types.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
127 function mgPrintPageHeader($pageTitle, $pageClass) |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
128 { |
151
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
129 global $pageCSS, $pageCharset, $pageUrchin, $pageJSFile; |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
130 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
131 echo |
167 | 132 "<!DOCTYPE html>\n". |
133 "<html>\n". | |
134 "<head>\n". | |
135 " <meta charset=\"".$pageCharset."\">\n". | |
231
2731d2d8400e
Set meta viewport tag and initial scale, and try to "fix" things for some
Matti Hamalainen <ccr@tnsp.org>
parents:
222
diff
changeset
|
136 // Setting the viewport makes things break especially with the |
2731d2d8400e
Set meta viewport tag and initial scale, and try to "fix" things for some
Matti Hamalainen <ccr@tnsp.org>
parents:
222
diff
changeset
|
137 // text-size-adjust CSS settings... so we don't use it. |
2731d2d8400e
Set meta viewport tag and initial scale, and try to "fix" things for some
Matti Hamalainen <ccr@tnsp.org>
parents:
222
diff
changeset
|
138 " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n". |
191
11aae39833cb
Add mgMangleURI() for optionally adding random SHA hash to CSS and javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
190
diff
changeset
|
139 " <script type=\"text/javascript\" src=\"".mgMangleURI($pageJSFile)."\"></script>\n". |
167 | 140 " <title>".strip_tags($pageTitle)."</title>\n". |
141 mgGetCSSLine($pageCSS, FALSE). | |
142 $pageExtra. | |
143 "</head>\n". | |
144 "<body>\n"; | |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
145 |
107
71de97240799
Add support for urchin file.
Matti Hamalainen <ccr@tnsp.org>
parents:
106
diff
changeset
|
146 if ($pageUrchin !== FALSE && file_exists($pageUrchin)) |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
147 require_once $pageUrchin; |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
148 |
107
71de97240799
Add support for urchin file.
Matti Hamalainen <ccr@tnsp.org>
parents:
106
diff
changeset
|
149 echo |
199
d03fad24f4bc
Make separate containing div elements for gallery and image view page types.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
150 "<div id=\"".$pageClass."\">\n"; |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
151 } |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
152 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
153 |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
154 function mgPrintPageFooter() |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
155 { |
190
718f4c504662
Remove function that was used only once, merge it to parent.
Matti Hamalainen <ccr@tnsp.org>
parents:
187
diff
changeset
|
156 if (($str = mgGetSetting("page_info")) !== FALSE) |
192 | 157 echo "<div id=\"pageInfoFooter\">".$str."</div>"; |
190
718f4c504662
Remove function that was used only once, merge it to parent.
Matti Hamalainen <ccr@tnsp.org>
parents:
187
diff
changeset
|
158 |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
159 echo |
192 | 160 "\n</div>\n</body>\n</html>\n"; |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
161 } |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
162 |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
163 |
38
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
164 function mgGetImageTitleStr($filename, &$data) |
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
165 { |
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
166 return |
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
167 chentities($filename). |
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
168 mgGetArr($data, "datetime", " - %1", "", "mgTimeStr"); |
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
169 } |
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
170 |
3f16beb79f9e
Add image title string to certain images.
Matti Hamalainen <ccr@tnsp.org>
parents:
35
diff
changeset
|
171 |
0 | 172 function mgGetImageURL() |
173 { | |
174 global $galImageURL, $galPath; | |
5
1bf73b49fc91
Beautify the generated URLs by removing occurences of duplicate forward
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
175 return str_replace("//", "/", $galImageURL.$galPath."/".implode("", func_get_args())); |
0 | 176 } |
177 | |
178 | |
179 function mgGetURL($path, $image, $entities = TRUE) | |
180 { | |
181 global $galBaseURL, $galCleanURLS; | |
182 $amp = $entities ? "&" : "&"; | |
183 | |
184 if ($galCleanURLS) | |
185 { | |
5
1bf73b49fc91
Beautify the generated URLs by removing occurences of duplicate forward
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
186 $url = $galBaseURL.$path."/".($image !== FALSE ? $image : ""); |
0 | 187 } |
188 else | |
189 { | |
5
1bf73b49fc91
Beautify the generated URLs by removing occurences of duplicate forward
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
190 $url = |
0 | 191 $galBaseURL.mgGetSetting("mgallery_php")."?path=". |
192 $path.($image !== FALSE ? $amp."image=".$image : ""); | |
193 } | |
5
1bf73b49fc91
Beautify the generated URLs by removing occurences of duplicate forward
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
194 |
1bf73b49fc91
Beautify the generated URLs by removing occurences of duplicate forward
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
195 return str_replace("//", "/", $url); |
0 | 196 } |
197 | |
198 | |
199 function mgGetNaviActive(&$galIndex, $index, $delta, &$res, &$url, $entities) | |
200 { | |
201 global $galPath; | |
202 $res = $index + $delta; | |
203 if ($res >= 0 && $res <= sizeof($galIndex) - 1) | |
204 { | |
205 $url = mgGetURL($galPath, $galIndex[$res], $entities); | |
206 return TRUE; | |
207 } | |
208 else | |
209 return FALSE; | |
210 } | |
211 | |
212 | |
213 function mgGetNaviControlImage(&$galIndex, $index, $class, $url) | |
214 { | |
215 global $galTNPath; | |
216 | |
217 if ($url !== FALSE) | |
218 { | |
75
441d5338960e
Image control not needed when prev/next image does not exist.
Matti Hamalainen <ccr@tnsp.org>
parents:
74
diff
changeset
|
219 return |
441d5338960e
Image control not needed when prev/next image does not exist.
Matti Hamalainen <ccr@tnsp.org>
parents:
74
diff
changeset
|
220 "<div class=\"imageCtrl ".$class."\">". |
441d5338960e
Image control not needed when prev/next image does not exist.
Matti Hamalainen <ccr@tnsp.org>
parents:
74
diff
changeset
|
221 "<a href=\"".$url."\"><img src=\"". |
441d5338960e
Image control not needed when prev/next image does not exist.
Matti Hamalainen <ccr@tnsp.org>
parents:
74
diff
changeset
|
222 mgGetImageURL($galTNPath, $galIndex[$index]). |
84 | 223 "\" alt=\"".$galIndex[$index]."\" /></a></div>"; |
0 | 224 } |
75
441d5338960e
Image control not needed when prev/next image does not exist.
Matti Hamalainen <ccr@tnsp.org>
parents:
74
diff
changeset
|
225 else |
441d5338960e
Image control not needed when prev/next image does not exist.
Matti Hamalainen <ccr@tnsp.org>
parents:
74
diff
changeset
|
226 return ""; |
0 | 227 } |
228 | |
229 | |
230 function mgGetNaviControlImageBox(&$galIndex, $index, $class, $delta) | |
231 { | |
232 if (!mgGetNaviActive($galIndex, $index, $delta, $res, $url, TRUE)) | |
233 $url = FALSE; | |
234 | |
235 return mgGetNaviControlImage($galIndex, $res, $class, $url); | |
236 } | |
237 | |
238 | |
86
fd08e061413b
Use JavaScript to generate the "shadow"/bottom navigation elements in the
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
239 function mgGetNaviControlImageBoxJS(&$galIndex, $index, $class, $delta) |
fd08e061413b
Use JavaScript to generate the "shadow"/bottom navigation elements in the
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
240 { |
115 | 241 $str = mgGetNaviControlImageBox($galIndex, $index, $class, $delta); |
242 | |
243 if ($str != "") | |
150 | 244 return |
86
fd08e061413b
Use JavaScript to generate the "shadow"/bottom navigation elements in the
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
245 "<script type=\"text/javascript\">". |
115 | 246 "document.write(\"".str_replace("\"", "\\\"", $str)."\");". |
86
fd08e061413b
Use JavaScript to generate the "shadow"/bottom navigation elements in the
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
247 "</script>"; |
115 | 248 else |
249 return ""; | |
86
fd08e061413b
Use JavaScript to generate the "shadow"/bottom navigation elements in the
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
250 } |
fd08e061413b
Use JavaScript to generate the "shadow"/bottom navigation elements in the
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
251 |
fd08e061413b
Use JavaScript to generate the "shadow"/bottom navigation elements in the
Matti Hamalainen <ccr@tnsp.org>
parents:
85
diff
changeset
|
252 |
0 | 253 function mgPrintTable($class, &$galEntries, &$galIndex, $start, $limit) |
254 { | |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
255 global $galAlbumIcon, $galPath, $galTNPath, $galImageURL, $galUseCoverImages, $galUseTables; |
0 | 256 |
257 $galCount = count($galIndex); | |
258 if ($start >= $galCount) | |
259 return $start; | |
260 | |
261 $end = ($limit === FALSE) ? $galCount : $start + $limit; | |
262 if ($end > $galCount) $end = $galCount; | |
263 | |
264 $rowLimit = mgGetSetting("album_row_limit"); | |
265 $n = 0; | |
266 | |
112 | 267 echo "<".($galUseTables ? "table" : "div")." class=\"galleryTable ".$class."\">\n"; |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
268 |
0 | 269 for ($index = $start; $index < $end; $index++) |
270 { | |
271 $filename = &$galIndex[$index]; | |
272 $data = &$galEntries[$filename]; | |
273 | |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
274 if ($galUseTables && $n == 0) echo " <tr>\n"; |
0 | 275 |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
276 if ($galUseTables) |
20
12916fcdb8b8
Improve the non-tabled mode.
Matti Hamalainen <ccr@tnsp.org>
parents:
19
diff
changeset
|
277 echo " <td class=\"galleryEntry\" id=\"cd".$data["base"]."\">\n"; |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
278 else |
20
12916fcdb8b8
Improve the non-tabled mode.
Matti Hamalainen <ccr@tnsp.org>
parents:
19
diff
changeset
|
279 echo " <div class=\"galleryEntry\">\n"; |
0 | 280 |
281 if ($data["type"] == 0) | |
282 { | |
283 echo | |
103 | 284 " <div class=\"imageBox\" title=\"".mgGetImageTitleStr($filename, $data). |
185
cb7019690a73
Separate medium image and thumbnail directories / handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
181
diff
changeset
|
285 "\"><a href=\"".mgGetURL($galPath, $filename)."\"><img src=\"". |
187
5cb0ab0f694d
Oops, fix the gallery mode display (we were using medium images for thumbnails.)
Matti Hamalainen <ccr@tnsp.org>
parents:
186
diff
changeset
|
286 mgGetImageURL($galTNPath, $filename). |
200
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
287 "\" alt=\"".dhentities($filename)."\"></a></div>\n". |
103 | 288 mgGetArr($data, "caption", " <div class=\"imageCaption\">%1</div>\n", "", "chentities"); |
0 | 289 /* |
290 if ($mode == "") | |
291 { | |
292 echo | |
293 " <select class=\"dropdown\" id=\"dd".$data["base"]."\" name=\"dd".$data["base"]. | |
294 "\" onchange=\"galPhotoDataChanged('".$data["base"]."');\">\n"; | |
295 | |
296 foreach ($picChoices as $name => $value) | |
297 { | |
298 echo " <option value=\"$value\"".($value == $data["id"] ? " selected=\"selected\"" : "").">".chentities($name)."</option>\n"; | |
299 } | |
300 echo | |
301 " </select>\n"; | |
302 } | |
303 */ | |
304 } | |
305 else | |
306 { | |
35
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
307 if ($galUseCoverImages && isset($data["image"])) |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
308 { |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
309 // Recursively determine the album cover image |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
310 $ptmp = [$galPath, $filename]; |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
311 $curr = &$data; |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
312 while (is_array($curr["image"])) |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
313 { |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
314 $curr = &$curr["image"]; |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
315 $ptmp[] = $curr["base"]; |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
316 } |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
317 |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
318 $ptmp[] = $galTNPath; |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
319 $ptmp[] = $curr["image"]; |
39 | 320 |
35
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
321 $atmp = $galImageURL.implode("/", mgCleanPathArray(TRUE, 0, count($ptmp), $ptmp)); |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
322 } |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
323 else |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
324 // No album cover, use default |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
325 $atmp = $galAlbumIcon; |
985596db0f01
Implement recursive depth album covers.
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
326 |
0 | 327 echo |
24 | 328 " <a href=\"".mgGetURL(mgCleanPath(TRUE, $galPath, $filename), FALSE)."\">". |
47
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
329 "<img class=\"albumIcon\" src=\"".$atmp."\" alt=\"". |
200
39f50d08ec50
Fix quoting of image element alt texts.
Matti Hamalainen <ccr@tnsp.org>
parents:
199
diff
changeset
|
330 dhentities(mgGetTrans($data["caption"], TRUE)). |
47
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
331 "\" />\n". |
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
332 " <div class=\"albumTitle\">".mgGetTrans($data["caption"], TRUE)."</div></a>\n"; |
0 | 333 } |
334 | |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
335 if ($galUseTables) |
0 | 336 { |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
337 echo " </td>\n"; |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
338 if (++$n >= $rowLimit) |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
339 { |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
340 echo " </tr>\n"; |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
341 $n = 0; |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
342 } |
0 | 343 } |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
344 else |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
345 echo " </div>\n"; |
0 | 346 } |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
347 |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
348 if ($galUseTables) |
0 | 349 { |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
350 if ($n > 0) |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
351 { |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
352 while ($n++ < $rowLimit) |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
353 echo " <td></td>\n"; |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
354 echo " </tr>\n"; |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
355 } |
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
356 echo "</table>\n"; |
0 | 357 } |
20
12916fcdb8b8
Improve the non-tabled mode.
Matti Hamalainen <ccr@tnsp.org>
parents:
19
diff
changeset
|
358 else |
112 | 359 { |
20
12916fcdb8b8
Improve the non-tabled mode.
Matti Hamalainen <ccr@tnsp.org>
parents:
19
diff
changeset
|
360 echo "</div>\n"; |
112 | 361 } |
20
12916fcdb8b8
Improve the non-tabled mode.
Matti Hamalainen <ccr@tnsp.org>
parents:
19
diff
changeset
|
362 |
0 | 363 return $index; |
364 } | |
365 | |
366 | |
124
eac2cf04261a
Change how date timestamps are stored and handled. This breaks cache file
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
367 function mgTimeStr($stamp) |
0 | 368 { |
124
eac2cf04261a
Change how date timestamps are stored and handled. This breaks cache file
Matti Hamalainen <ccr@tnsp.org>
parents:
120
diff
changeset
|
369 return date("d M Y (H:i:s)", $stamp); |
0 | 370 } |
371 | |
372 | |
78
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
373 function mgFileSize($size) |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
374 { |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
375 foreach ([1024*1024 => "MiB", 1024 => "kiB"] as $mdiv => $mpost) |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
376 { |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
377 if ($size > $mdiv) |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
378 return sprintf("%1.2f %s", $size / $mdiv, $mpost); |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
379 } |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
380 return sprintf("%d bytes", $size); |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
381 } |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
382 |
b7f2e643279f
Add file size to information shown.
Matti Hamalainen <ccr@tnsp.org>
parents:
76
diff
changeset
|
383 |
132
5ffc84b7da1a
Add class parameter to mgGetPageInfoHeaderStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
130
diff
changeset
|
384 function mgGetPageInfoHeaderStart($class = NULL) |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
385 { |
132
5ffc84b7da1a
Add class parameter to mgGetPageInfoHeaderStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
130
diff
changeset
|
386 return "<div id=\"pageInfoHeader\"".($class != NULL ? " class=\"".$class."\"" : "").">\n"; |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
387 } |
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
388 |
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
389 |
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
390 function mgGetPageInfoHeaderEnd() |
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
391 { |
151
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
392 global $pageLang, $pageLanguages; |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
393 |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
394 $str = "<div id=\"languages\">"; |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
395 |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
396 if (isset($pageLanguages) && is_array($pageLanguages)) |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
397 { |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
398 foreach ($pageLanguages as $id => $lang) |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
399 $str .= "<a class=\"lang_".$id."\" href=\"?lang=".$id."\">".$lang."</a>"; |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
400 } |
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
401 |
153 | 402 return $str. |
403 "</div>\n". | |
404 "</div>\n"; | |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
405 } |
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
406 |
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
407 |
31
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
408 function mgGetBreadCrump($class, &$pdata) |
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
409 { |
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
410 return |
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
411 "<a class=\"".$class."\" href=\"".mgGetURL($pdata["path"], FALSE)."\">". |
47
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
412 mgGetTrans($pdata["caption"], TRUE). |
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
413 "</a>"; |
31
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
414 } |
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
415 |
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
416 |
0 | 417 function mgPrintBreadCrumbs($galData) |
418 { | |
63
1c32ece9acde
Some residual array() => [] conversions.
Matti Hamalainen <ccr@tnsp.org>
parents:
49
diff
changeset
|
419 $res = []; |
0 | 420 if ($galData["caption"]) |
31
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
421 $res[] = mgGetBreadCrump("naviBreadCrumbCurr", $galData); |
0 | 422 |
423 $tmp = $galData; | |
424 while (isset($tmp["parent"])) | |
425 { | |
426 $pdata = $tmp["parent"]; | |
31
300396947f04
Remove slight code duplication by factoring to a helper function.
Matti Hamalainen <ccr@tnsp.org>
parents:
29
diff
changeset
|
427 $res[] = mgGetBreadCrump("naviBreadCrumbItem", $pdata); |
0 | 428 $tmp = $tmp["parent"]; |
429 } | |
430 | |
431 if (count($res) > 1) | |
432 { | |
433 echo | |
118
6739c52e110c
Change naviBreadCrumbs to CSS id instead of class.
Matti Hamalainen <ccr@tnsp.org>
parents:
117
diff
changeset
|
434 "<div id=\"naviBreadCrumbs\">". |
0 | 435 implode("<span class=\"naviBreadCrumbSep\"></span>", array_reverse($res)). |
436 "</div>\n"; | |
437 } | |
438 } | |
439 | |
440 | |
441 // | |
76 | 442 // Global locale initialization |
443 // | |
444 if (!isset($localeInited) || !$localeInited) | |
445 { | |
446 $localeInited = TRUE; | |
447 $pageCharset = "UTF-8"; | |
448 | |
449 mb_internal_encoding($pageCharset); | |
450 | |
451 $tmp = "en_US.".strtolower(str_replace("-", "", $pageCharset)); | |
452 setlocale(LC_ALL, $tmp); | |
453 } | |
454 | |
455 | |
456 // | |
89
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
457 // Read and process gallery settings |
0 | 458 // |
459 mgReadSettings(); | |
460 | |
195 | 461 $pageDebug = mgGetSetting("debug"); |
0 | 462 $pageCSS = mgGetSetting("css"); |
151
4e25150aa868
Change js_path configuration setting to js_file.
Matti Hamalainen <ccr@tnsp.org>
parents:
150
diff
changeset
|
463 $pageJSFile = mgGetSetting("js_file"); |
107
71de97240799
Add support for urchin file.
Matti Hamalainen <ccr@tnsp.org>
parents:
106
diff
changeset
|
464 $pageUrchin = mgGetSetting("urchin_file"); |
0 | 465 $galBasePath = mgGetSetting("base_path"); |
466 $galBaseURL = mgGetSetting("base_url"); | |
467 $galImageURL = mgGetSetting("image_url", mgGetSetting("base_url")); | |
468 | |
17
3f7bc4202df3
Add new configuration setting 'cover_images' to disable/enable sub-album
Matti Hamalainen <ccr@tnsp.org>
parents:
13
diff
changeset
|
469 $galUseCoverImages = mgGetSetting("cover_images"); |
19
59075f5e7a62
Add configuration setting to enable and disable use of HTML table elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
17
diff
changeset
|
470 $galUseTables = mgGetSetting("use_tables"); |
17
3f7bc4202df3
Add new configuration setting 'cover_images' to disable/enable sub-album
Matti Hamalainen <ccr@tnsp.org>
parents:
13
diff
changeset
|
471 |
0 | 472 $galAlbumIcon = mgGetSetting("album_icon"); |
473 $galCleanURLS = mgGetSetting("clean_urls"); | |
474 $galTNPath = mgGetSetting("tn_path"); | |
185
cb7019690a73
Separate medium image and thumbnail directories / handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
181
diff
changeset
|
475 $galMedPath = mgGetSetting("med_path"); |
0 | 476 $galTitlePrefix = mgGetSetting("title_prefix"); |
477 $galTitleSep = mgGetSetting("title_sep"); | |
478 | |
68
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
479 $galMode = mgGetRequestItem("mode", "view", TRUE); |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
480 $galPath = mgGetRequestItem("path", ".", TRUE); |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
481 $galPageIndex = intval(mgGetRequestItem("index", 0, TRUE)); |
941d3be57d7b
Get rid of mgeneric.inc.php dependency, as we don't need much from there .. for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
67
diff
changeset
|
482 $galImage = mgGetRequestItem("image", FALSE, TRUE); |
0 | 483 |
484 if (is_string($galImage)) | |
485 $galImage = basename($galImage); | |
486 | |
130
f825d644cf7a
Implement new config setting "timezone" for specifying the timezone used for date/timestamp interpretation.
Matti Hamalainen <ccr@tnsp.org>
parents:
128
diff
changeset
|
487 if (($pageTimeZone = mgGetSetting("timezone")) !== NULL) |
f825d644cf7a
Implement new config setting "timezone" for specifying the timezone used for date/timestamp interpretation.
Matti Hamalainen <ccr@tnsp.org>
parents:
128
diff
changeset
|
488 date_default_timezone_set($pageTimeZone); |
f825d644cf7a
Implement new config setting "timezone" for specifying the timezone used for date/timestamp interpretation.
Matti Hamalainen <ccr@tnsp.org>
parents:
128
diff
changeset
|
489 |
0 | 490 |
89
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
491 // Check language setting |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
492 if (($tmp = mgGetRequestItem("lang", FALSE, TRUE)) !== FALSE) |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
493 { |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
494 $tmp = strtolower($tmp); |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
495 if (array_key_exists($tmp, $pageLanguages)) |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
496 { |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
497 $pageLang = $tmp; |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
498 mgSetCookie("mglang", $tmp); |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
499 } |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
500 } |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
501 else |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
502 if (isset($_COOKIE["mglang"])) |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
503 { |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
504 $tmp = strtolower($_COOKIE["mglang"]); |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
505 if (array_key_exists($tmp, $pageLanguages)) |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
506 $pageLang = $tmp; |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
507 } |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
508 |
d9524db8f6a5
Improve how language etc. cookie settings are handled.
Matti Hamalainen <ccr@tnsp.org>
parents:
87
diff
changeset
|
509 |
90
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
510 // Check "tables" setting |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
511 if (isset($_REQUEST["tables"])) |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
512 { |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
513 $galUseTables = mgGetRequestItem("tables", FALSE, TRUE); |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
514 mgSetCookie("mgtables", $galUseTables ? 1 : 0); |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
515 } |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
516 else |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
517 if (isset($_COOKIE["mgtables"])) |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
518 $galUseTables = intval($_COOKIE["mgtables"]); |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
519 |
3953f534c874
Add "hidden" request item setting "tables" to force use or disuse of table elements for layout.
Matti Hamalainen <ccr@tnsp.org>
parents:
89
diff
changeset
|
520 |
0 | 521 // |
522 // Attempt to read the data cache file | |
523 // | |
524 $filename = mgGetPath(mgCleanPath(TRUE, $galBasePath, $galPath), "cache_file"); | |
525 $filename2 = mgGetPath(mgCleanPath(FALSE, $galBasePath, $galPath), "cache_file"); | |
526 if ($filename == $filename2 && file_exists($filename) && ($fp = @fopen($filename, "rb")) !== FALSE) | |
527 { | |
528 if (flock($fp, LOCK_SH)) | |
529 { | |
530 require($filename); | |
531 flock($fp, LOCK_UN); | |
532 } | |
533 fclose($fp); | |
534 } | |
535 | |
536 | |
537 // If no data available, show an error page | |
538 if (!isset($galData) || !isset($galEntries) || | |
539 !isset($galAlbumsIndex) || !isset($galImagesIndex)) | |
540 { | |
199
d03fad24f4bc
Make separate containing div elements for gallery and image view page types.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
541 mgPrintPageHeader($galTitlePrefix.$galTitleSep."ERROR!", "galleryPage"); |
0 | 542 |
543 echo | |
92
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
544 "<h1>".mgQM("gallery_error")."</h1>\n". |
17d1da44b140
Implement simple translation system for the "hardcoded" messages.
Matti Hamalainen <ccr@tnsp.org>
parents:
90
diff
changeset
|
545 "<p>".mgQM("invalid_gallery_path", chentities($galPath))."</p>"; |
0 | 546 |
12
79987aa7ee9a
Change some debugging (commented out).
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
547 //echo "<p>filename=: '".$filename."', X: galData=".intval(isset($galData)).", galEntries=".intval(isset($galEntries))."\n"; |
0 | 548 |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
549 mgPrintPageFooter(); |
0 | 550 exit; |
551 } | |
552 | |
553 | |
147
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
554 function mgGetArrStr($data, $skeys, $sfmt1, $func = NULL) |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
555 { |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
556 return mgGetArr($data, $skeys, $sfmt1, NULL, ($func == NULL) ? "chentities" : $func); |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
557 } |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
558 |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
559 |
0 | 560 // |
561 // Print page header, etc. | |
562 // | |
563 if (($index = array_search($galImage, $galImagesIndex)) !== FALSE) | |
564 { | |
565 // | |
566 // Single image mode | |
567 // | |
106
a3b8cd4183e6
Change {album,image}_navigation setting to *_flags.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
568 $ctrlFlags = mgGetSetting("image_flags"); |
0 | 569 $data = $galEntries[$galImage]; |
570 | |
66 | 571 $list = [ |
147
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
572 mgGetArrStr($data, ["width", "height"], "<span class=\"infoDimensions\"><b>%1</b> x <b>%2</b> px</span>"), |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
573 mgGetArrStr($data, "model", "<span class=\"infoModel\"><b>%1</b></span>"), |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
574 mgGetArrStr($data, "fnumber", "<span class=\"infoFNumber\"><b>f/%1</b></span>"), |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
575 mgGetArrStr($data, "exposure", "<span class=\"infoExposure\"><b>%1</b> sec</span>"), |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
576 mgGetArrStr($data, "iso", "<span class=\"infoISO\">ISO <b>%1</b></span>"), |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
577 mgGetArrStr($data, "focallength", "<span class=\"infoFocalLength\">F-L <b>%1</b>mm</span>"), |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
578 mgGetArrStr($data, "lensmodel", "<span class=\"infoLensModel\"><i>%1</i></span>"), |
6c1467fe7d5c
Use a wrapper function for making the image metadata information box generation a bit simpler.
Matti Hamalainen <ccr@tnsp.org>
parents:
146
diff
changeset
|
579 mgGetArrStr($data, "filesize", "<span class=\"infoFileSize\">%1</span>", "mgFileSize"), |
66 | 580 ]; |
581 | |
47
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
582 $pageTitle = $galTitlePrefix.$galTitleSep.mgGetTrans($galData["caption"])." - ".$galImage; |
199
d03fad24f4bc
Make separate containing div elements for gallery and image view page types.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
583 mgPrintPageHeader($pageTitle, "imagePage"); |
44
bc9da3b71888
Implement imgur-style image zoom/de-zoom via image click/enter.
Matti Hamalainen <ccr@tnsp.org>
parents:
43
diff
changeset
|
584 echo |
186 | 585 // Info header |
132
5ffc84b7da1a
Add class parameter to mgGetPageInfoHeaderStart().
Matti Hamalainen <ccr@tnsp.org>
parents:
130
diff
changeset
|
586 mgGetPageInfoHeaderStart("imagePageHeader"). |
44
bc9da3b71888
Implement imgur-style image zoom/de-zoom via image click/enter.
Matti Hamalainen <ccr@tnsp.org>
parents:
43
diff
changeset
|
587 "<h1>".chentities($pageTitle)."</h1>\n"; |
0 | 588 |
106
a3b8cd4183e6
Change {album,image}_navigation setting to *_flags.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
589 if ($ctrlFlags & MGF_BREADCRUMBS) |
0 | 590 mgPrintBreadCrumbs($galData); |
591 | |
592 echo | |
192 | 593 mgGetPageInfoHeaderEnd(). |
594 "\n". | |
595 // Hovering navigation buttons | |
193
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
596 "<a id=\"pageInfoButton\" href=\"#\" title=\"".mgQM("page_info_button_title")."\">_</a>\n". |
96f5cdc71af5
Add translatable titles to navigation button elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
192
diff
changeset
|
597 "<a id=\"pageUpNaviButton\" href=\"".mgGetURL($galData["path"], FALSE)."\" title=\"".mgQM("page_up_navi_button_title")."\">^</a>\n". |
198 | 598 // pageImageBox |
599 "<div id=\"pageImageBox\">\n". | |
175
a51b59b552ef
Improve a bit of indentation for clarity.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
600 mgGetNaviControlImageBoxJS($galImagesIndex, $index, "prevBtm", -1)."\n". |
a51b59b552ef
Improve a bit of indentation for clarity.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
601 mgGetNaviControlImageBox($galImagesIndex, $index, "prev", -1)."\n". |
a51b59b552ef
Improve a bit of indentation for clarity.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
602 "<div id=\"imageImageBox\" class=\"imageBox\">". |
185
cb7019690a73
Separate medium image and thumbnail directories / handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
181
diff
changeset
|
603 "<img id=\"imageImage\" src=\"".mgGetImageURL($galMedPath, $galImage). |
cb7019690a73
Separate medium image and thumbnail directories / handling.
Matti Hamalainen <ccr@tnsp.org>
parents:
181
diff
changeset
|
604 "\" alt=\"".chentities($galImage)."\">". |
175
a51b59b552ef
Improve a bit of indentation for clarity.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
605 "</div>\n". |
a51b59b552ef
Improve a bit of indentation for clarity.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
606 mgGetNaviControlImageBoxJS($galImagesIndex, $index, "nextBtm", 1)."\n". |
a51b59b552ef
Improve a bit of indentation for clarity.
Matti Hamalainen <ccr@tnsp.org>
parents:
172
diff
changeset
|
607 mgGetNaviControlImageBox($galImagesIndex, $index, "next", 1)."\n". |
198 | 608 "</div>\n". // pageImageBox |
209
671b7cfebf87
Various fixes and adjustments to style.
Matti Hamalainen <ccr@tnsp.org>
parents:
202
diff
changeset
|
609 (isset($data["caption"]) ? "<div id=\"pageImageCaption\" class=\"imageCaption\">".mgGetArrStr($data, "caption", "%1")."</div>\n" : ""). |
194
3562c43727e5
Move infoBox out of imageCBox element.
Matti Hamalainen <ccr@tnsp.org>
parents:
193
diff
changeset
|
610 // infoBox |
3562c43727e5
Move infoBox out of imageCBox element.
Matti Hamalainen <ccr@tnsp.org>
parents:
193
diff
changeset
|
611 "<div id=\"infoBox\">\n". |
3562c43727e5
Move infoBox out of imageCBox element.
Matti Hamalainen <ccr@tnsp.org>
parents:
193
diff
changeset
|
612 mgGetArr($data, "datetime", "<span class=\"infoDateTime\">%1</span>\n", "", "mgTimeStr"). |
3562c43727e5
Move infoBox out of imageCBox element.
Matti Hamalainen <ccr@tnsp.org>
parents:
193
diff
changeset
|
613 implode(",\n", array_filter($list, function($a) { return $a !== NULL; }))."\n". |
3562c43727e5
Move infoBox out of imageCBox element.
Matti Hamalainen <ccr@tnsp.org>
parents:
193
diff
changeset
|
614 "<a id=\"imageLink\" href=\"".$galImageURL.$galPath."/".$galImage."\">". |
3562c43727e5
Move infoBox out of imageCBox element.
Matti Hamalainen <ccr@tnsp.org>
parents:
193
diff
changeset
|
615 mgQM("view_best_quality")."</a>\n". |
3562c43727e5
Move infoBox out of imageCBox element.
Matti Hamalainen <ccr@tnsp.org>
parents:
193
diff
changeset
|
616 "</div>\n"; // infoBox |
0 | 617 |
618 // Javascript navigation | |
106
a3b8cd4183e6
Change {album,image}_navigation setting to *_flags.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
619 if ($ctrlFlags & MGF_JAVASCRIPT) |
0 | 620 { |
621 $prevActive = mgGetNaviActive($galImagesIndex, $index, -1, $res, $prevURL, FALSE); | |
186 | 622 $nextActive = mgGetNaviActive($galImagesIndex, $index, 1, $res, $nextURL, FALSE); |
0 | 623 echo |
624 "<script type=\"text/javascript\">\n". | |
625 "var mgalPrevURL = \"".($prevActive ? $prevURL : "")."\";\n". | |
626 "var mgalNextURL = \"".($nextActive ? $nextURL : "")."\";\n". | |
85
e017b5314d1c
Make "up" arrow key to go "up" to the album gallery in the image view.
Matti Hamalainen <ccr@tnsp.org>
parents:
84
diff
changeset
|
627 "var mgalUpURL = \"".mgGetURL($galData["path"], FALSE)."\";\n". |
0 | 628 "\n"; |
629 ?> | |
152
606b05c31d5e
Improve mobile experience and also desktop image display, maybe.
Matti Hamalainen <ccr@tnsp.org>
parents:
151
diff
changeset
|
630 mgalDisplayInfo(false); |
154
0b87e7c1675c
Improve the JavaScript event hook functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
153
diff
changeset
|
631 mgalAddEvent("pageInfoButton", "click", mgalOpenInfo); |
198 | 632 mgalAddEvent("pageImageBox", "click", mgalCloseInfo); |
109
c8cfc6cc161a
Adjust image scaling to be delayed and not being done on each resize event
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
633 |
210
0a0a2936d779
Adjust image adjustment etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
209
diff
changeset
|
634 mgalAddEvent("imageImage", "load", mgalAdjustImage); |
154
0b87e7c1675c
Improve the JavaScript event hook functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
153
diff
changeset
|
635 mgalAddEventOb("window", window, "resize", mgalAdjustImage); |
210
0a0a2936d779
Adjust image adjustment etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
209
diff
changeset
|
636 mgalAddEventOb("window", window, "load", mgalAdjustImage); |
154
0b87e7c1675c
Improve the JavaScript event hook functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
153
diff
changeset
|
637 mgalAddEventOb("document", document, "keypress", mgalProcessKeyPress); |
0b87e7c1675c
Improve the JavaScript event hook functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
153
diff
changeset
|
638 |
222
27e541d02be8
Implement left/right swipe gesture navigation.
Matti Hamalainen <ccr@tnsp.org>
parents:
214
diff
changeset
|
639 mgalAddEventOb("document", document, "touchstart", mgalTouchStart); |
27e541d02be8
Implement left/right swipe gesture navigation.
Matti Hamalainen <ccr@tnsp.org>
parents:
214
diff
changeset
|
640 mgalAddEventOb("document", document, "touchmove", mgalTouchMove); |
27e541d02be8
Implement left/right swipe gesture navigation.
Matti Hamalainen <ccr@tnsp.org>
parents:
214
diff
changeset
|
641 |
109
c8cfc6cc161a
Adjust image scaling to be delayed and not being done on each resize event
Matti Hamalainen <ccr@tnsp.org>
parents:
107
diff
changeset
|
642 adjustPID = -1; |
149
b4751909c48f
Move some Javascript code to a separate file and make the location configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
147
diff
changeset
|
643 </script> |
0 | 644 <? |
645 } | |
646 } | |
647 else | |
648 { | |
649 // | |
650 // Gallery mode | |
651 // | |
652 // - needs sub-modes / handling of order shit | |
653 // - Javascript stuff for picture data updates | |
654 // | |
655 $pageTitle = $galTitlePrefix.mgGetArr($galData, "caption", " - %1", "", "chentities"); | |
199
d03fad24f4bc
Make separate containing div elements for gallery and image view page types.
Matti Hamalainen <ccr@tnsp.org>
parents:
198
diff
changeset
|
656 mgPrintPageHeader($pageTitle, "galleryPage"); |
125
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
657 |
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
658 $ptmp = []; |
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
659 if (count($galImagesIndex) > 0) |
126
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
660 $ptmp[] = count($galImagesIndex)." ".mgQM("gallery_nimages"); |
125
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
661 if (count($galAlbumsIndex) > 0) |
126
e14605c7aea0
Add translations for image/sub-album counts.
Matti Hamalainen <ccr@tnsp.org>
parents:
125
diff
changeset
|
662 $ptmp[] = count($galAlbumsIndex)." ".mgQM("gallery_nsubalbums"); |
125
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
663 |
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
664 if (count($ptmp)) |
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
665 $pageTitle .= " (".implode($ptmp, ", ").")"; |
379a8cd3bb2c
Show number of images and sub-galleries on the page title. (I can't figure
Matti Hamalainen <ccr@tnsp.org>
parents:
124
diff
changeset
|
666 |
48
5a2dd41ff7ad
Initial implementation of language selector.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
667 echo |
145
d0ec01e13de5
Add class galleryPageHeader to pageInfoHeader.
Matti Hamalainen <ccr@tnsp.org>
parents:
138
diff
changeset
|
668 mgGetPageInfoHeaderStart("galleryPageHeader"). |
48
5a2dd41ff7ad
Initial implementation of language selector.
Matti Hamalainen <ccr@tnsp.org>
parents:
47
diff
changeset
|
669 "<h1>".$pageTitle."</h1>\n"; |
0 | 670 |
106
a3b8cd4183e6
Change {album,image}_navigation setting to *_flags.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
671 $ctrlFlags = mgGetSetting("album_flags"); |
a3b8cd4183e6
Change {album,image}_navigation setting to *_flags.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
672 if ($ctrlFlags & MGF_BREADCRUMBS) |
0 | 673 mgPrintBreadCrumbs($galData); |
674 | |
47
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
675 if (isset($galData["header"]) && strlen($gheader = mgGetTrans($galData["header"])) > 0) |
13
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
676 { |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
677 // Translate relative URLs in header, if needed |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
678 $baseURL = mgGetSetting("image_url"); |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
679 |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
680 $headerText = preg_replace_callback( |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
681 "@href\s*=\s*\"([^\"]+)\"@i", |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
682 function ($matches) use($galPath, $baseURL) |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
683 { |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
684 $mstmp = $matches[1]; |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
685 if (preg_match("@^[a-z]+://@i", $mstmp) === 0) |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
686 { |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
687 if ($mstmp[0] != "/") |
28
2d8112d6c3bc
Fix relative links re-parsing.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
688 $mstmp = $baseURL."/".$galPath."/".str_replace("//", "/", $mstmp); |
13
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
689 } |
28
2d8112d6c3bc
Fix relative links re-parsing.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
690 return "href=\"".$mstmp."\""; |
13
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
691 }, |
47
1e2b55775a84
Begin implementation of translated caption/title support.
Matti Hamalainen <ccr@tnsp.org>
parents:
44
diff
changeset
|
692 $gheader); |
13
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
693 |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
694 echo "<div class=\"albumHeaderText\">".$headerText."</div>\n"; |
951752fb1c21
Add translation of relative URLs in header text blocks.
Matti Hamalainen <ccr@tnsp.org>
parents:
12
diff
changeset
|
695 } |
0 | 696 |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
697 echo mgGetPageInfoHeaderEnd(); |
100
f74307f05696
Add pageInfoHeader element to contain the topmost info/navigation blurb elements.
Matti Hamalainen <ccr@tnsp.org>
parents:
93
diff
changeset
|
698 |
0 | 699 mgPrintTable("albumTable", $galEntries, $galAlbumsIndex, 0, FALSE); |
700 mgPrintTable("imageTable", $galEntries, $galImagesIndex, 0, FALSE); | |
701 } | |
702 | |
101
00bcbe2473ff
Work on the page structure / element layout and clean up the header/footer code.
Matti Hamalainen <ccr@tnsp.org>
parents:
100
diff
changeset
|
703 mgPrintPageFooter(); |
0 | 704 ?> |