comparison index.php @ 17:8b222e3ffe25

Set lightbox attributes through javascript instead of php.
author edogawaconan <me@myconan.net>
date Wed, 22 Oct 2014 02:37:18 +0900
parents 3c0b3a38a7fc
children 9a4ac2d53a36
comparison
equal deleted inserted replaced
16:3c0b3a38a7fc 17:8b222e3ffe25
40 sort($dirs); 40 sort($dirs);
41 41
42 // BEGIN UTILITY 42 // BEGIN UTILITY
43 function h($string) { return htmlspecialchars($string, ENT_QUOTES, "UTF-8"); } 43 function h($string) { return htmlspecialchars($string, ENT_QUOTES, "UTF-8"); }
44 function a($string) { return preg_replace("#(%2F)+#", "/", rawurlencode($string)); } 44 function a($string) { return preg_replace("#(%2F)+#", "/", rawurlencode($string)); }
45 function link_to($target, $title) { 45 function link_to($target, $title) { return('<a href="' . a($target) . '">' . h($title) . "</a>"); }
46 $lightbox = "";
47 if (substr($target, -1) !== "/" && preg_match("/(jpe?g|gif|png|webp)$/i", pathinfo($target, PATHINFO_EXTENSION)) === 1) {
48 $lightbox = ' data-lightbox="aa" data-title="' . h('<a href="' . a($target) . '">' . h($target) . "</a>") . '" ';
49 }
50
51 return('<a href="' . a($target) . '"' . $lightbox . ">" . h($title) . "</a>");
52 }
53 46
54 function human_size($size) { 47 function human_size($size) {
55 $thousand_units = array("ko", "Mo", "Go", "To", "Po"); 48 $thousand_units = array("ko", "Mo", "Go", "To", "Po");
56 49
57 $return_format = "%d %s"; 50 $return_format = "%d %s";
203 Running <a href="https://bitbucket.org/edogawaconan/dirlist-php">dirlist-php</a>. 196 Running <a href="https://bitbucket.org/edogawaconan/dirlist-php">dirlist-php</a>.
204 Powered by PHP <?php echo phpversion(); ?>. 197 Powered by PHP <?php echo phpversion(); ?>.
205 </em> 198 </em>
206 199
207 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 200 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
201
202 <script>
203 $("table > tbody > tr > td > a").each(function() {
204 if (!this.href.match(/\.(jpe?g|png|gif|webp)$/i)) return
205 var title = this.outerHTML
206 this.setAttribute("data-title", title)
207 this.setAttribute("data-lightbox", "aa")
208 })
209 </script>
210
208 <script src="//cdnjs.cloudflare.com/ajax/libs/lightbox2/2.7.1/js/lightbox.min.js"></script> 211 <script src="//cdnjs.cloudflare.com/ajax/libs/lightbox2/2.7.1/js/lightbox.min.js"></script>
209 </body> 212 </body>