author | Dan Fuhry <dan@enanocms.org> |
Sat, 21 Aug 2010 23:32:06 -0400 | |
changeset 42 | 7c6e2e97aa08 |
parent 39 | e9a7e37bdadd |
permissions | -rw-r--r-- |
0
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
1 |
<?php |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
2 |
|
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
3 |
/* |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
4 |
* Snapr |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
5 |
* Version 0.1 beta 1 |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
6 |
* Copyright (C) 2007 Dan Fuhry |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
7 |
* |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
8 |
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
9 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
10 |
* |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
11 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
12 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
13 |
*/ |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
14 |
|
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
15 |
## |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
16 |
## BROWSER INTERFACE |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
17 |
## |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
18 |
|
39
e9a7e37bdadd
Fixed some PHP warnings and display issues. Brought up to date with 1.1.x plugin management/install/upgrade system.
Dan Fuhry <dan@enanocms.org>
parents:
38
diff
changeset
|
19 |
$plugins->attachHook('session_started', 'register_special_page("Gallery", "Image gallery");'); |
0
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
20 |
|
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
21 |
/** |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
22 |
* Class to handle building the HTML for gallery pages. Called by the pagination function. |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
23 |
* @package Enano |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
24 |
* @subpackage Snapr |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
25 |
* @access private |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
26 |
*/ |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
27 |
|
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
28 |
class SnaprFormatter |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
29 |
{ |
42
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
30 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
31 |
/** |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
32 |
* Main render method, called from pagination function |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
33 |
* @access private |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
34 |
*/ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
35 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
36 |
function render($column_crap, $row, $row_crap = false) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
37 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
38 |
global $db, $session, $paths, $template, $plugins; // Common objects |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
39 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
40 |
$out = '<li class="snapr-icon">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
41 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
42 |
$title_safe = $row['img_title']; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
43 |
$title_safe = htmlspecialchars($title_safe); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
44 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
45 |
if ( $row['is_folder'] == 1 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
46 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
47 |
// It's a folder, show the icon |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
48 |
$f_url_particle = sanitize_page_id($row['img_title']); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
49 |
$f_url_particle = htmlspecialchars($f_url_particle); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
50 |
$image_link = makeUrl( $paths->fullpage . '/' . $f_url_particle ); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
51 |
$image_url = scriptPath . '/plugins/gallery/folder.png'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
52 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
53 |
else |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
54 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
55 |
// It's an image, show a thumbnail |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
56 |
$image_link = makeUrlNS('Gallery', $row['img_id']); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
57 |
$image_url = makeUrlNS('Special', 'GalleryFetcher/thumb/' . $row['img_id']); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
58 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
59 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
60 |
if ( isset($row['score']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
61 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
62 |
$row['score'] = number_format($row['score'], 2); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
63 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
64 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
65 |
$image_url_js = addslashes($image_link); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
66 |
$jsclick = ( $session->user_level < USER_LEVEL_ADMIN ) ? ' onclick="window.location=\'' . $image_url_js . '\'"' : ''; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
67 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
68 |
$out .= '<div class="gallery_icon"' . $jsclick . '>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
69 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
70 |
$out .= '<a class="snapr-imagelink" href="' . $image_link . '"><img alt="<Thumbnail>" class="gallery_thumb" src="' . $image_url . '" /></a>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
71 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
72 |
if ( $session->user_level < USER_LEVEL_ADMIN ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
73 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
74 |
$out .= '<span class="snapr-icon-label">' . $title_safe . ( isset($row['score']) ? "<br /><small>Relevance: {$row['score']}</small>" : '' ) . '</span>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
75 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
76 |
else if ( $session->user_level >= USER_LEVEL_ADMIN ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
77 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
78 |
$out .= '<div class="menu_nojs snapr-icon-label" style="text-align: center;"><a href="#" onclick="return false;" style="width: 74px;">' . $title_safe . ( isset($row['score']) ? "<br /><small>Relevance: {$row['score']}</small>" : '' ) . '</a>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
79 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
80 |
$url_delete = makeUrlNS('Special', 'GalleryUpload', 'rm=' . $row['img_id'], true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
81 |
$url_edit = makeUrlNS('Special', 'GalleryUpload', 'edit_img=' . $row['img_id'], true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
82 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
83 |
// Tools menu |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
84 |
$out .= '<ul style="text-align: left;">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
85 |
$out .= '<li><a href="' . $url_delete . '">Delete ' . ( $row['is_folder'] == 1 ? 'this folder and all contents' : 'this image' ) . '</a></li>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
86 |
$out .= '<li><a href="' . $url_edit . '">Rename, move, or edit description</a></li>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
87 |
$out .= '</ul>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
88 |
$out .= '</div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
89 |
$out .= '<span class="menuclear"></span>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
90 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
91 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
92 |
$out .= ' </div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
93 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
94 |
$out .= '</li>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
95 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
96 |
return $out; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
97 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
98 |
|
0
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
99 |
} |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
100 |
|
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
101 |
function page_Special_Gallery() |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
102 |
{ |
42
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
103 |
global $db, $session, $paths, $template, $plugins; // Common objects |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
104 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
105 |
// die('<pre>' . print_r(gallery_folder_hierarchy(), true) . '</pre>'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
106 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
107 |
$sort_column = ( isset($_GET['sort']) && in_array($_GET['sort'], array('img_title', 'img_time_upload', 'img_time_mod')) ) ? $_GET['sort'] : 'img_title'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
108 |
$sort_order = ( isset($_GET['order']) && in_array($_GET['order'], array('ASC', 'DESC')) ) ? $_GET['order'] : 'ASC'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
109 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
110 |
// Determine number of pictures per page |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
111 |
$template->load_theme(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
112 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
113 |
$where = 'WHERE folder_parent IS NULL ' . "\n ORDER BY is_folder DESC, $sort_column $sort_order, img_title ASC"; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
114 |
$parms = $paths->getAllParams(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
115 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
116 |
$sql = "SELECT img_id, img_title, is_folder, 'NULL' AS folder_id FROM ".table_prefix."gallery $where;"; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
117 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
118 |
// Breadcrumb browser |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
119 |
$breadcrumbs = array(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
120 |
$breadcrumbs[] = '<a href="' . makeUrlNS('Special', 'Gallery') . '">Gallery index</a>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
121 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
122 |
$breadcrumb_urlcache = ''; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
123 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
124 |
// CSS for gallery browser |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
125 |
// Moved to search.php |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
126 |
//$template->add_header('<link rel="stylesheet" href="' . scriptPath . '/plugins/gallery/browser.css" type="text/css" />'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
127 |
//$template->add_header('<link rel="stylesheet" href="' . scriptPath . '/plugins/gallery/dropdown.css" type="text/css" />'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
128 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
129 |
$header = $template->getHeader(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
130 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
131 |
$folders = $f_errors = array(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
132 |
if ( !empty($parms) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
133 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
134 |
$parms = dirtify_page_id($parms); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
135 |
if ( strstr($parms, '/') ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
136 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
137 |
$folders = explode('/', $parms); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
138 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
139 |
else |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
140 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
141 |
$folders = array(0 => $parms); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
142 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
143 |
foreach ( $folders as $i => $_crap ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
144 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
145 |
$folder =& $folders[$i]; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
146 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
147 |
$f_url = sanitize_page_id($folder); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
148 |
$breadcrumb_urlcache .= '/' . $f_url; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
149 |
$breadcrumb_url = makeUrlNS('Special', 'Gallery' . $breadcrumb_urlcache); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
150 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
151 |
$folder = str_replace('_', ' ', $folder); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
152 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
153 |
if ( $i == ( count($folders) - 1 ) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
154 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
155 |
$breadcrumbs[] = htmlspecialchars($folder); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
156 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
157 |
else |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
158 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
159 |
$breadcrumbs[] = '<a href="' . $breadcrumb_url . '">' . htmlspecialchars($folder) . '</a>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
160 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
161 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
162 |
unset($folder); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
163 |
$folders = array_reverse($folders); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
164 |
// This is one of the best MySQL tricks on the market. We're going to reverse-travel a folder path using LEFT JOIN and the incredible power of metacoded SQL |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
165 |
$sql = 'SELECT gm.img_id, gm.img_title, gm.is_folder, g0.img_title AS folder_name, g0.img_id AS folder_id FROM '.table_prefix.'gallery AS gm' . "\n " . 'LEFT JOIN '.table_prefix.'gallery AS g0' . "\n " . 'ON ( gm.folder_parent = g0.img_id )'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
166 |
$where = "\n " . 'WHERE g0.img_title=\'' . $db->escape($folders[0]) . '\''; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
167 |
foreach ( $folders as $i => $folder ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
168 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
169 |
if ( $i == 0 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
170 |
continue; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
171 |
$i_dec = $i - 1; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
172 |
$folder = $db->escape($folder); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
173 |
$sql .= "\n LEFT JOIN ".table_prefix."gallery AS g{$i}\n ON ( g{$i}.img_id=g{$i_dec}.folder_parent AND g{$i}.img_title='$folder' )"; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
174 |
$where .= "\n ".'AND g'.$i.'.img_id IS NOT NULL'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
175 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
176 |
$where .= "\n AND g{$i}.folder_parent IS NULL"; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
177 |
$sql .= $where . "\n ORDER BY is_folder DESC, gm.$sort_column $sort_order, gm.img_title ASC" . ';'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
178 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
179 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
180 |
$img_query = $db->sql_query($sql); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
181 |
if ( !$img_query ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
182 |
$db->_die('The folder ID could not be selected.'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
183 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
184 |
if ( $db->numrows() < 1 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
185 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
186 |
// Nothing in this folder, for one of two reasons: |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
187 |
// 1) The folder doesn't exist |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
188 |
// 2) The folder exists but doesn't have any images in it |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
189 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
190 |
if ( count($folders) < 1 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
191 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
192 |
// Nothing in the root folder |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
193 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
194 |
$first_row['folder_id'] = 'NULL'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
195 |
if ( $session->user_level >= USER_LEVEL_ADMIN && isset($_POST['create_folder']) && isset($first_row['folder_id']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
196 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
197 |
if ( empty($_POST['create_folder']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
198 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
199 |
$f_errors[] = 'Please enter a folder name.'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
200 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
201 |
if ( $_POST['create_folder'] == '_id' ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
202 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
203 |
$f_errors[] = 'The name "_id" is reserved for internal functions and cannot be used on any image or folder.'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
204 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
205 |
if ( count($f_errors) < 1 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
206 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
207 |
$q = $db->sql_query('INSERT INTO '.table_prefix.'gallery(img_title, is_folder, folder_parent, img_author) VALUES(\'' . $db->escape($_POST['create_folder']) . '\', 1, ' . $first_row['folder_id'] . ', ' . $session->user_id . ');'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
208 |
if ( !$q ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
209 |
$db->_die(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
210 |
redirect(makeUrl($paths->fullpage), 'Folder created', 'The folder "' . htmlspecialchars($_POST['create_folder']) . '" has been created. Redirecting to last viewed folder...', 2); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
211 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
212 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
213 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
214 |
$html = ''; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
215 |
if ( $session->user_level >= USER_LEVEL_ADMIN ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
216 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
217 |
$html .= '<p><a href="' . makeUrlNS('Special', 'GalleryUpload') . '">Upload an image</a></p>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
218 |
$html .= '<div class="select-outer">Create new folder'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
219 |
$html .= '<div class="select-inner" style="padding-top: 4px;">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
220 |
$html .= '<form action="' . makeUrl($paths->fullpage) . '" method="post">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
221 |
$html .= '<input type="text" name="create_folder" size="30" /> <input type="submit" value="Create" />'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
222 |
$html .= '</form></div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
223 |
$html .= '</div><div class="select-pad"> </div><br />'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
224 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
225 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
226 |
die_friendly('No images', '<p>No images have been uploaded to the gallery yet.</p>' . $html); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
227 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
228 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
229 |
/* |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
230 |
$folders_old = $folders; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
231 |
$folders = array( |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
232 |
0 => $folders_old[0] |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
233 |
); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
234 |
$x = $folders_old; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
235 |
unset($x[0]); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
236 |
$folders = array_merge($folders, $x); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
237 |
unset($x); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
238 |
*/ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
239 |
// die('<pre>' . print_r($folders, true) . '</pre>'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
240 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
241 |
// This next query will try to determine if the folder itself exists |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
242 |
$sql = 'SELECT g0.img_id, g0.img_title FROM '.table_prefix.'gallery AS g0'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
243 |
$where = "\n " . 'WHERE g0.img_title=\'' . $db->escape($folders[0]) . '\''; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
244 |
foreach ( $folders as $i => $folder ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
245 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
246 |
if ( $i == 0 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
247 |
continue; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
248 |
$i_dec = $i - 1; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
249 |
$folder = $db->escape($folder); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
250 |
$sql .= "\n LEFT JOIN ".table_prefix."gallery AS g{$i}\n ON ( g{$i}.img_id=g{$i_dec}.folder_parent AND g{$i}.img_title='$folder' )"; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
251 |
$where .= "\n ".'AND g'.$i.'.img_id IS NOT NULL'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
252 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
253 |
$where .= "\n AND g{$i}.folder_parent IS NULL"; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
254 |
$where .= "\n AND g0.is_folder=1"; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
255 |
$sql .= $where . ';'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
256 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
257 |
$nameq = $db->sql_query($sql); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
258 |
if ( !$nameq ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
259 |
$db->_die(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
260 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
261 |
if ( $db->numrows($nameq) < 1 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
262 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
263 |
die_friendly('Folder not found', '<p>The folder you requested doesn\'t exist. Please check the URL and try again, or return to the <a href="' . makeUrlNS('Special', 'Gallery') . '">gallery index</a>.</p>'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
264 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
265 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
266 |
$row = $db->fetchrow($nameq); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
267 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
268 |
// Generate title |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
269 |
$title = dirtify_page_id($row['img_title']); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
270 |
$title = str_replace('_', ' ', $title); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
271 |
$title = htmlspecialchars($title); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
272 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
273 |
$template->tpl_strings['PAGE_NAME'] = $title; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
274 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
275 |
$first_row = $row; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
276 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
277 |
if ( $db->numrows($img_query) > 0 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
278 |
$db->sql_data_seek(0, $img_query); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
279 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
280 |
/* $folders = $folders_old; */ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
281 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
282 |
else if ( !empty($parms) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
283 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
284 |
$row = $db->fetchrow($img_query); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
285 |
$first_row = $row; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
286 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
287 |
// Generate title |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
288 |
$title = htmlspecialchars($row['folder_name']); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
289 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
290 |
$template->tpl_strings['PAGE_NAME'] = $title; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
291 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
292 |
$db->sql_data_seek(0, $img_query); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
293 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
294 |
else |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
295 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
296 |
$row = $db->fetchrow($img_query); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
297 |
$first_row = $row; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
298 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
299 |
$template->tpl_strings['PAGE_NAME'] = 'Image Gallery'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
300 |
$breadcrumbs = array('<b>Gallery index</b>'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
301 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
302 |
$db->sql_data_seek(0, $img_query); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
303 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
304 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
305 |
$f_errors = array(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
306 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
307 |
if ( $session->user_level >= USER_LEVEL_ADMIN && isset($_POST['create_folder']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
308 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
309 |
if ( !isset($first_row['folder_id']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
310 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
311 |
//die('FALLING<pre>' . print_r($first_row, true) . '</pre>'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
312 |
$first_row['folder_id'] =& $first_row['img_id']; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
313 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
314 |
if ( !isset($first_row['folder_id']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
315 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
316 |
$f_errors[] = 'Internal error getting parent folder ID'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
317 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
318 |
if ( empty($_POST['create_folder']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
319 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
320 |
$f_errors[] = 'Please enter a folder name.'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
321 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
322 |
if ( $_POST['create_folder'] == '_id' ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
323 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
324 |
$f_errors[] = 'The name "_id" is reserved for internal functions and cannot be used on any image or folder.'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
325 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
326 |
if ( count($f_errors) < 1 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
327 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
328 |
$q = $db->sql_query('INSERT INTO '.table_prefix.'gallery(img_title, is_folder, folder_parent, img_author) VALUES(\'' . $db->escape($_POST['create_folder']) . '\', 1, ' . $first_row['folder_id'] . ', ' . $session->user_id . ');'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
329 |
if ( !$q ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
330 |
$db->_die(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
331 |
redirect(makeUrl($paths->fullpage), 'Folder created', 'The folder "' . htmlspecialchars($_POST['create_folder']) . '" has been created. Redirecting to last viewed folder...', 2); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
332 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
333 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
334 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
335 |
echo $header; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
336 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
337 |
if ( count($f_errors) > 0 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
338 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
339 |
echo '<div class="error-box">Error creating folder:<ul><li>' . implode('</li><li>', $f_errors) . '</li></ul></div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
340 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
341 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
342 |
// From here, this breadcrumb stuff is a piece of... sourdough French bread :-) *smacks lips* |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
343 |
echo '<div class="breadcrumbs" style="padding: 4px; margin-bottom: 7px;">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
344 |
// Upload image link for admins |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
345 |
if ( $session->user_level >= USER_LEVEL_ADMIN ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
346 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
347 |
echo '<div style="float: right; font-size: smaller;">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
348 |
echo '<a href="' . makeUrlNS('Special', 'GalleryUpload') . '">Upload new image(s)</a>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
349 |
echo '</div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
350 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
351 |
// The actual breadcrumbs |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
352 |
echo '<small>' . implode(' » ', $breadcrumbs) . '</small>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
353 |
echo '</div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
354 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
355 |
// "Edit all" link |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
356 |
if ( $row = $db->fetchrow($img_query) && $session->user_level >= USER_LEVEL_ADMIN ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
357 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
358 |
$img_list = array(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
359 |
$fol_list = array(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
360 |
$all_list = array(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
361 |
do |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
362 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
363 |
if ( $row === true && isset($first_row) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
364 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
365 |
$row = $first_row; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
366 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
367 |
// die('<pre>' . var_dump($row) . $db->sql_backtrace() . '</pre>'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
368 |
if ( !$row['img_id'] ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
369 |
break; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
370 |
$all_list[] = $row['img_id']; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
371 |
if ( $row['is_folder'] == 1 ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
372 |
$fol_list[] = $row['img_id']; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
373 |
else |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
374 |
$img_list[] = $row['img_id']; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
375 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
376 |
while ( $row = $db->fetchrow($img_query) ); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
377 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
378 |
$all_list = implode(',', $all_list); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
379 |
$fol_list = implode(',', $fol_list); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
380 |
$img_list = implode(',', $img_list); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
381 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
382 |
if ( !empty($all_list) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
383 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
384 |
echo '<div style="float: right;"> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
385 |
Edit all in this folder: '; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
386 |
if ( !empty($img_list) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
387 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
388 |
$edit_link = makeUrlNS('Special', 'GalleryUpload', 'edit_img=' . $img_list, true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
389 |
echo "<a href=\"$edit_link\">images</a> "; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
390 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
391 |
if ( !empty($fol_list) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
392 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
393 |
$edit_link = makeUrlNS('Special', 'GalleryUpload', 'edit_img=' . $fol_list, true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
394 |
echo "<a href=\"$edit_link\">folders</a> "; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
395 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
396 |
if ( !empty($img_list) && !empty($fol_list) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
397 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
398 |
$edit_link = makeUrlNS('Special', 'GalleryUpload', 'edit_img=' . $all_list, true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
399 |
echo "<a href=\"$edit_link\">both</a> "; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
400 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
401 |
// " Bypass stupid jEdit bug |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
402 |
echo '</div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
403 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
404 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
405 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
406 |
$url_sort_name_asc = makeUrl($paths->fullpage, 'sort=img_title&order=ASC', true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
407 |
$url_sort_name_desc = makeUrl($paths->fullpage, 'sort=img_title&order=DESC', true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
408 |
$url_sort_upl_asc = makeUrl($paths->fullpage, 'sort=img_time_upload&order=ASC', true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
409 |
$url_sort_mod_asc = makeUrl($paths->fullpage, 'sort=img_time_mod&order=ASC', true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
410 |
$url_sort_upl_desc = makeUrl($paths->fullpage, 'sort=img_time_upload&order=DESC', true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
411 |
$url_sort_mod_desc = makeUrl($paths->fullpage, 'sort=img_time_mod&order=DESC', true); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
412 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
413 |
// "Sort by" selector (pure CSS!) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
414 |
echo '<div class="select-outer"> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
415 |
<span>Sort by...</span> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
416 |
<div class="select-inner"> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
417 |
<a href="' . $url_sort_name_asc . '">Image title (A-Z) <b>(default)</b></a> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
418 |
<a href="' . $url_sort_name_desc . '">Image title (Z-A)</a> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
419 |
<a href="' . $url_sort_upl_desc . '">Time first uploaded (newest first)</a> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
420 |
<a href="' . $url_sort_upl_asc . '">Time first uploaded (oldest first)</a> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
421 |
<a href="' . $url_sort_mod_desc . '">Date of last modification (newest first)</a> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
422 |
<a href="' . $url_sort_mod_asc . '">Date of last modification (oldest first)</a> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
423 |
</div> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
424 |
</div> |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
425 |
<div class="select-pad"> </div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
426 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
427 |
if ( $db->numrows($img_query) > 0 ) |
39
e9a7e37bdadd
Fixed some PHP warnings and display issues. Brought up to date with 1.1.x plugin management/install/upgrade system.
Dan Fuhry <dan@enanocms.org>
parents:
38
diff
changeset
|
428 |
$db->sql_data_seek(0, $img_query); |
42
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
429 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
430 |
// |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
431 |
// Main fetcher |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
432 |
// |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
433 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
434 |
$renderer = new SnaprFormatter(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
435 |
$callers = array( |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
436 |
'img_id' => array($renderer, 'render') |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
437 |
); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
438 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
439 |
$renderer->icons_per_row = 5; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
440 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
441 |
$start = 0; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
442 |
if ( isset($_GET['start']) && preg_match('/^[0-9]+$/', $_GET['start']) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
443 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
444 |
$start = intval($_GET['start']); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
445 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
446 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
447 |
$per_page = 25; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
448 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
449 |
$html = paginate($img_query, '{img_id}', $db->numrows($img_query), makeUrl($paths->fullpage, 'sort=' . $sort_column . '&order=' . $sort_order . '&start=%s', false), $start, $per_page, $callers, '<ul class="snapr-gallery">', '</ul><span class="menuclear"></span>'); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
450 |
if ( empty($html) ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
451 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
452 |
echo '<h2 class="emptymessage">No images</h2>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
453 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
454 |
else |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
455 |
{ |
39
e9a7e37bdadd
Fixed some PHP warnings and display issues. Brought up to date with 1.1.x plugin management/install/upgrade system.
Dan Fuhry <dan@enanocms.org>
parents:
38
diff
changeset
|
456 |
echo $html; |
42
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
457 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
458 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
459 |
if ( $session->user_level >= USER_LEVEL_ADMIN ) |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
460 |
{ |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
461 |
echo '<div class="select-outer">Create new folder'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
462 |
echo '<div class="select-inner" style="padding-top: 4px;">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
463 |
echo '<form action="' . makeUrl($paths->fullpage) . '" method="post">'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
464 |
echo '<input type="text" name="create_folder" size="30" /> <input type="submit" value="Create" />'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
465 |
echo '</form></div>'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
466 |
echo '</div><div class="select-pad"> </div><br />'; |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
467 |
} |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
468 |
|
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
469 |
$template->footer(); |
7c6e2e97aa08
Added AJAX file upload support.
Dan Fuhry <dan@enanocms.org>
parents:
39
diff
changeset
|
470 |
|
0
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
471 |
} |
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
472 |
|
7caf561c50ee
Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff
changeset
|
473 |
?> |