OSDN Git Service

NP_gallery v0.95
[nucleus-jp/nucleus-plugins.git] / NP_gallery / tags / v0.95 / gallery / admin.php
1 <?php\r
2 \r
3 //NP_Gallery admin class\r
4 \r
5 class NPG_ADMIN {\r
6 \r
7         var $action;\r
8         var $tabs;\r
9         \r
10         function NPG_ADMIN() {\r
11                 global $manager;\r
12                 \r
13                 //admin tabs\r
14                 $this->tabs = array();\r
15                 array_push($this->tabs, array('action' => 'albumlist', 'active' =>'albums', 'user' => 1, 'title'=>__NPG_ADMIN_TAB_ALBUMS));\r
16                 array_push($this->tabs, array('action' => 'comments', 'active' =>'comments', 'user' => 1, 'title'=>__NPG_ADMIN_TAB_COMMENTS));\r
17                 array_push($this->tabs, array('action' => 'config', 'active' =>'config', 'title'=>__NPG_ADMIN_TAB_CONFIG));\r
18                 if($NPG_CONF['add_album'] == 'select') array_push($this->tabs, array('action' => 'users', 'active' =>'users', 'title'=>__NPG_ADMIN_TAB_USERS));\r
19                 array_push($this->tabs, array('action' => 'templates', 'active' =>'templates', 'title'=>__NPG_ADMIN_TAB_TEMPLATES));\r
20                 array_push($this->tabs, array('action' => 'functions', 'active' =>'admin', 'title'=>__NPG_ADMIN_TAB_ADMIN));\r
21 \r
22                 $manager->notify('NPgAdminTab', array('tabs' => &$this->tabs ));\r
23         }\r
24         \r
25         function action($action) {\r
26                 global $gmember, $NPG_CONF, $manager;\r
27                 \r
28                 $alias = array(\r
29                         'login' => 'albumlist',\r
30                         '' => 'albumlist'\r
31                 );\r
32 \r
33                 if ($alias[$action])\r
34                         $action = $alias[$action];\r
35 \r
36                 $methodName = 'action_' . $action;\r
37 \r
38                 $this->action = strtolower($action);\r
39                 \r
40                 //if nucleus version 3.2, check ticket\r
41                 /*\r
42                 if(getNucleusVersion() >= 320) {\r
43                         $aActionsNotToCheck = array();\r
44 \r
45                         if (!in_array($this->action, $aActionsNotToCheck))\r
46                         {\r
47                                 if (!$manager->checkTicket())\r
48                                         $this->error(_ERROR_BADTICKET);\r
49                         }\r
50                         \r
51                 }\r
52                 */\r
53                 if (method_exists($this, $methodName))\r
54                         call_user_func(array(&$this, $methodName));\r
55                 else\r
56                         $this->error(_BADACTION . " ($action)");\r
57         \r
58 \r
59         }\r
60         \r
61         function error($msg) {\r
62                 ?>\r
63                 <h2>Error!</h2>\r
64                 <?php           echo $msg;\r
65                 echo "<br />";\r
66                 echo "<a href='index.php' onclick='history.back()'>"._BACK."</a>";\r
67                 exit;\r
68         }\r
69         \r
70         \r
71         function display_tabs($active = 'albumlist') {\r
72                 global $gmember, $NPG_CONF, $galleryaction;\r
73                 \r
74                 echo '<ul id="tabmenu">';\r
75                 foreach($this->tabs as $tab) {\r
76                         if($tab['user'] || $gmember->isAdmin() ) {\r
77                                 echo '<li><a ';\r
78                                 if( $active == $tab['active'] ) echo 'class="active" ';\r
79                                 echo 'href="'.$galleryaction;\r
80                                 if($tab['action']) echo '?action='.$tab['action'];\r
81                                 echo '">'.$tab['title'].'</a></li>';\r
82                         }\r
83                 }\r
84                 echo '</ul>';\r
85 \r
86         }\r
87         \r
88         function display_selectusers() {\r
89                 global $galleryaction,$gmember;\r
90         \r
91                 $result = mysql_query('select a.*, b.mname as membername from '.sql_table('plug_gallery_member').' as a, '.sql_table('member').' as b where mnumber=memberid');\r
92                 if(!$result) {\r
93                         echo mysql_error();\r
94                         return;\r
95                 }\r
96                 \r
97                 echo '<h3>'.__NPG_ADMIN_PERMITTED_USERS.'</h3>';\r
98                 echo '<div class="half"><table>';\r
99                 echo '<thead><tr><th>'.__NPG_FORM_NAME.'</th><th>'.__NPG_FORM_ACTIONS.'</th></thead><tbody>';\r
100                 while($row=mysql_fetch_object($result)) {\r
101                         echo "<tr onmouseover='focusRow(this);' onmouseout='blurRow(this);'>";\r
102                         echo '<td>'.$row->membername.'</td>';\r
103                         echo '<td><a href="'.$galleryaction.'?action=removeselectuser&amp;userid='.$row->memberid.'">'.__NPG_ADMIN_REMOVE_SELECT_USER.'</td></tr>';\r
104                 }\r
105                 echo '</tbody></table></div>';\r
106                 \r
107                 //query for list of users not already assigned in plug_gallery_member and not site admins (they can always add)\r
108                 $result = mysql_query('select * from '.sql_table('member').' as a left join '.sql_table('plug_gallery_member').' as b on mnumber=memberid where madmin=0 and memberid is NULL');\r
109                 if(!$result) {\r
110                         echo mysql_error();\r
111                         return;\r
112                 }\r
113                 if(mysql_num_rows($result)) {\r
114                         ?>\r
115                         <form method="post" action="<?php echo $galleryaction; ?>"><div>\r
116                                 <input type="hidden" name="action" value="addselectuser" />\r
117                                 \r
118                                 <h3><?php echo(__NPG_ADMIN_GIVE_ADD_PERM); ?></h3>\r
119                                 <?php echo(__NPG_GEN_USER); ?>: <select name="userid">\r
120                                 <?php\r
121                                 while($row=mysql_fetch_object($result)) {\r
122                                         echo '<option value="'.$row->mnumber.'">'.$row->mname;\r
123                                 }\r
124                                 ?>\r
125                                 </select>\r
126                                 <input type="submit" value="<?php echo (__NPG_ADMIN_ADD_TO_LIST); ?>" />\r
127                         </div></form>\r
128                         <?php\r
129                 }\r
130         \r
131         }\r
132         \r
133         function display_options() {\r
134                 global $NPG_CONF,$galleryaction;\r
135         \r
136                 $galleryconfig = checkgalleryconfig();\r
137                 \r
138                 if(!$galleryconfig['configured']) {\r
139                         setNPGoption('configured', false);\r
140                         echo '<div class="error">'.$galleryconfig['message'].'</div>';\r
141                 }\r
142                 else setNPGoption('configured', true);\r
143                 \r
144                 $NPG_CONF = getNPGConfig();\r
145                 \r
146                 if(!$NPG_CONF['configured']) echo '<div class="error">'.__NPG_ERR_GALLLERY_NOT_CONFIG . '</div><br/><br/>';\r
147                 \r
148                 echo '<form method="post" action="'.$galleryaction.'?action=editoptions" ><div>';\r
149                 echo '<fieldset>';\r
150                 echo '<legend>'.__NPG_ADMIN_GEN_OPTIONS.'</legend>';\r
151                 echo '<p>';\r
152                         echo '<label for="addlevel">'.__NPG_ADMIN_ADD_LEVEL.':</label>';\r
153                         echo '<select name="addalbumlevel" id="addlevel">';\r
154                         echo '<option value="admin" ';\r
155                                 if($NPG_CONF['add_album'] == 'admin' ) echo 'selected'; \r
156                                 echo '>'.__NPG_ADMIN_ONLY_ADMIN;\r
157                         echo '<option value="member" ';\r
158                                 if($NPG_CONF['add_album'] == 'member' ) echo 'selected';\r
159                                 echo '>'.__NPG_ADMIN_ONLY_REGUSERS;\r
160                         echo '<option value="guest" ';\r
161                                 if($NPG_CONF['add_album'] == 'guest' ) echo 'selected';\r
162                                 echo '>'.__NPG_ADMIN_ANYONE;\r
163                         echo '<option value="select" ';\r
164                                 if($NPG_CONF['add_album'] == 'select' ) echo 'selected';\r
165                                 echo '>'.__NPG_ADMIN_SELECTEDUSERS;\r
166                         echo '</select></p>';\r
167                 \r
168                         if($NPG_CONF['add_album'] == 'select' ) {\r
169                                 echo __NPG_ADMIN_PERMITTED_USERS.': ';\r
170                                 $result = mysql_query('select a.mname from '.sql_table('member').' as a, '.sql_table('plug_gallery_member').' as b where b.memberid=a.mnumber and b.addalbum=1');\r
171                                 if(!$result) echo 'sql error'.mysql_error().'<br/>';\r
172                                 $num_rows = mysql_num_rows($result);\r
173                                 if(!$num_rows) echo __NPG_ADMIN_NOSELECT;\r
174                                 $i=0;\r
175                                 while ($row = mysql_fetch_object($result)) {\r
176                                         if($i) echo ', ';\r
177                                         echo $row->mname;\r
178                                         $i++;\r
179                                 }\r
180                                 echo '<br/><br/>';\r
181                         }\r
182                 \r
183                 echo '<p><label for="promo">'.__NPG_ADMIN_PROMOBLOG.': </label>';\r
184                         echo '<select name="promocatid" id="promo">';\r
185                         echo '<option value="0"';\r
186                         if ($NPG_CONF['blog_cat'] == 0) echo ' selected ';\r
187                         echo '>'.__NPG_ADMIN_NOPROMO;\r
188                         $query = 'select bshortname, cname, catid from ' . sql_table('blog').', '.sql_table('category').' where cblog=bnumber';\r
189                         $result = mysql_query($query);\r
190                         if(!$result) echo 'sql error! '.mysql_error().'<br/>';\r
191                         while($row = mysql_fetch_object($result)) {\r
192                                 echo '<option value="'.$row->catid.'"';\r
193                                 if ($NPG_CONF['blog_cat'] == $row->catid) echo ' selected';\r
194                                 echo '>'.$row->cname.' in '.$row->bshortname;\r
195                         }\r
196                         echo '</select></p>';\r
197                 \r
198                 echo '<p><label for="templatef">'.__NPG_ADMIN_ACTIVETEMPLATE.': </label>';\r
199                         echo '<select name="template" id="templatef">';\r
200                         $query = 'select * from '.sql_table('plug_gallery_template_desc');\r
201                         $result = sql_query($query);\r
202                         while($row=mysql_fetch_object($result)) {\r
203                                 echo '<option value="'.$row->tdid.'"';\r
204                                 if ($NPG_CONF['template'] == $row->tdid) echo ' selected';\r
205                                 echo '>'.$row->tdname;\r
206                         }\r
207                         echo '</select></p>';\r
208                         \r
209                 echo '<p><label for="views">'.__NPG_ADMIN_VIEWTIME.': </label>';\r
210                         echo '<input type="text" name="viewtime" id="views" value="'.$NPG_CONF['viewtime'].'" size="3" /></p>';\r
211                         \r
212                 echo '<p><label for="batch">number of batch upload slots/pictures to loop in massupload: </label>';\r
213                         echo '<input type="text" name="batchnumber" id="batch" value="'.$NPG_CONF['batch_add_num'].'" size="3" /></p>';\r
214                 \r
215                 echo '<p><label for="dir">'.__NPG_ADMIN_IMAGE_DIR.': </label>';\r
216                         echo '<input type="text" name="galleryDir" id="dir" value="'.$NPG_CONF['galleryDir'].'" size="20" /></p>';\r
217                 \r
218                 echo '<p><label for="maxi">'.__NPG_ADMIN_MAX_INT_DIM.': </label>';\r
219                         echo '<input type="text" id="maxi" name="maxheight" value="'.$NPG_CONF['maxheight'].'" size="3" /> x <input type="text" name="maxwidth" value="'.$NPG_CONF['maxwidth'].'" size="3" /></p>';\r
220                 \r
221                 echo '<p><label for="maxt">'.__NPG_ADMIN_THUMB_DIM.': </label>';\r
222                         echo '<input type="text" id="maxt" name="thumbheight" value="'.$NPG_CONF['thumbheight'].'" size="3" /> x <input type="text" name="thumbwidth" value="'.$NPG_CONF['thumbwidth'].'" size="3" /></p>';\r
223                         \r
224                 //AdminCommentsPerPage, ThumbnailsPerPage\r
225                 echo '<p><label for="acperpage">'.__NPG_ADMIN_COMMENTSPERPAGE.': </label>';\r
226                         echo '<input type="text" id="acperpage" name="AdminCommentsPerPage" value="'.$NPG_CONF['AdminCommentsPerPage'].'" size="3" /></p>';\r
227                         \r
228                 echo '<p><label for="tbperpage">'.__NPG_ADMIN_THUMBSPERPAGE.': </label>';\r
229                         echo '<input type="text" id="tbperpage" name="ThumbnailsPerPage" value="'.$NPG_CONF['ThumbnailsPerPage'].'" size="3" /></p>';\r
230                 echo '<p>';\r
231                         echo '<label for="dateorrandom">random file prefix or current date as file prefix?:</label>';\r
232                         echo '<select name="dateorrandom" id="dateorrandom">';\r
233                         echo '<option value="randomprefix" ';\r
234                                 if($NPG_CONF['dateorrandom'] == 'randomprefix' ) echo 'selected'; \r
235                                 echo '>random prefix';\r
236                         echo '<option value="dateprefix" ';\r
237                                 if($NPG_CONF['dateorrandom'] == 'dateprefix' ) echo 'selected';\r
238                                 echo '>date prefix';\r
239                         echo '</select></p>';\r
240                         \r
241                 echo '<p>';\r
242                         echo '<label for="tooltips">use tooltip captions:</label>';\r
243                         echo '<select name="tooltips" id="tooltips">';\r
244                         echo '<option value="yes" ';\r
245                                 if($NPG_CONF['tooltips'] == 'yes' ) echo 'selected'; \r
246                                 echo '>yes';\r
247                         echo '<option value="no" ';\r
248                                 if($NPG_CONF['tooltips'] == 'no' ) echo 'selected';\r
249                                 echo '>no';\r
250                         echo '</select></p>';\r
251                         \r
252                 echo '<p>';\r
253                         echo '<label for="nextprevthumb">use next and previoud album thumbnails:</label>';\r
254                         echo '<select name="nextprevthumb" id="nextprevthumb">';\r
255                         echo '<option value="yes" ';\r
256                                 if($NPG_CONF['nextprevthumb'] == 'yes' ) echo 'selected'; \r
257                                 echo '>yes';\r
258                         echo '<option value="no" ';\r
259                                 if($NPG_CONF['nextprevthumb'] == 'no' ) echo 'selected';\r
260                                 echo '>no';\r
261                         echo '</select></p>';\r
262                         \r
263                 echo '<p>';\r
264                         echo '<label for="defaultorder">default order for albums:</label>';\r
265                         echo '<select name="defaultorder" id="defaultorder">';\r
266                         $sortoptions = array('title','desc','owner','date','titlea','desca','ownera','datea','filename','filenamea');\r
267                         foreach ($sortoptions as $value){\r
268                         echo '<option value="'.$value.'" ';\r
269                                 if($NPG_CONF['defaultorder'] == $value ) echo 'selected'; \r
270                                 echo '>'.$value;\r
271                         }\r
272                         echo '</select></p>';\r
273                         //these needed to be added to the list (it would be nice)\r
274                         //'title','desc','owner','date','titlea','desca','ownera','datea'\r
275 \r
276                         \r
277                 echo '<p>';\r
278                         echo '<label for="setorpromo">use keyword sets or static promoposts:</label>';\r
279                         echo '<select name="setorpromo" id="setorpromo">';\r
280                         echo '<option value="promo" ';\r
281                                 if($NPG_CONF['setorpromo'] == 'promo' ) echo 'selected'; \r
282                                 echo '>promo';\r
283                         echo '<option value="sets" ';\r
284                                 if($NPG_CONF['setorpromo'] == 'sets' ) echo 'selected';\r
285                                 echo '>sets';\r
286                         echo '</select></p>';\r
287                         \r
288                 echo '<p>';\r
289                         echo '<label for="slideshowson">enable slideshows:</label>';\r
290                         echo '<select name="slideshowson" id="slideshowson">';\r
291                         echo '<option value="yes" ';\r
292                                 if($NPG_CONF['slideshowson'] == 'yes' ) echo 'selected'; \r
293                                 echo '>yes';\r
294                         echo '<option value="no" ';\r
295                                 if($NPG_CONF['slideshowson'] == 'no' ) echo 'selected';\r
296                                 echo '>no';\r
297                         echo '</select></p>';\r
298                 echo '<p>';\r
299                         echo '<label for="thumborlist">Gallery as list or thumbnails:</label>';\r
300                         echo '<select name="thumborlist" id="thumborlist">';\r
301                         echo '<option value="list" ';\r
302                                 if($NPG_CONF['thumborlist'] == 'list' ) echo 'selected'; \r
303                                 echo '>list';\r
304                         echo '<option value="thumb" ';\r
305                                 if($NPG_CONF['thumborlist'] == 'thumb' ) echo 'selected';\r
306                                 echo '>thumb';\r
307                         echo '</select></p>';\r
308                         \r
309                 \r
310                 echo '</fieldset>';\r
311                         \r
312                 echo '<fieldset>';\r
313                 echo '<legend>'.__NPG_ADMIN_GRAPHICS_OPTIONS.'</legend>';\r
314                 echo '<p><label for="engine">'.__NPG_ADMIN_GRAPHICS_ENGINE.':</label>';\r
315                         echo '<select id="engine" name="graphicslibrary">';\r
316                         if(GDispresent()) { \r
317                                 echo '<option value="gd" ';\r
318                                 if($NPG_CONF['graphics_library']=='gd') echo 'selected';\r
319                                 echo '>GD v2 or greater';\r
320                         }\r
321                         if ($NPG_CONF['im_version'] = getIMversion()) {\r
322                                 echo '<option value="im" ';\r
323                                 if($NPG_CONF['graphics_library']=='im') echo 'selected ';\r
324                                 echo '>ImageMagick';\r
325                         }\r
326                         echo '</select></p>';\r
327                         \r
328                         //test for GD\r
329                         if(GDispresent()) echo __NPG_ADMIN_GD_INSTALLED.'<br />'; \r
330                                 else echo __NPG_ADMIN_GD_NOT_INSTALLED.'<br />';\r
331                         if($NPG_CONF['im_version'] = getIMversion()) echo __NPG_ADMIN_IM_INSTALLED.'<br/>'; \r
332                                 else echo __NPG_ADMIN_IM_NOT_INSTALLED.'<br/>';\r
333                         echo '<br/>';\r
334                         \r
335                 echo '<p><label for="path">'.__NPG_ADMIN_IM_PATH.':</label>';\r
336                         echo '<input type="text" id="path" name="impath" value="'.$NPG_CONF['im_path'].'" size="20" /></p>';\r
337 \r
338                 echo '<p><label for="options">'.__NPG_ADMIN_IM_OPTIONS.':</label>';\r
339                         echo '<input type="text" id="options" name="imoptions" value="'.$NPG_CONF['im_options'].'" size="20" /></p>';\r
340                 \r
341                 echo '<p><label for="quality">'.__NPG_ADMIN_IM_QUALITY.':</label>';\r
342                         echo '<input type="text" id="quality" name="imquality" value="'.$NPG_CONF['im_quality'].'" size="2" /></p>';\r
343                         \r
344                 echo '</fieldset>';\r
345                 echo '<br /><input type="submit" value="'.__NPG_FORM_SUBMIT_CHANGES.'" />';\r
346                 echo '</div></form>';\r
347                 \r
348         }\r
349         \r
350         function display_albums() {\r
351                 global $NPG_CONF, $galleryaction, $gmember;\r
352         \r
353                 $albums = $gmember->getallowedalbums();\r
354                 $memberid = $gmember->getID();\r
355                 \r
356                 if(!$albums && !$gmember->isAdmin() ) {\r
357                         echo __NPG_ERR_NO_ALBUMS.'<br/>';\r
358                         return;\r
359                 }\r
360                 \r
361                 echo '<table>';\r
362                 echo '<thead><tr><th>'.__NPG_FORM_ALBUM_TITLE.'</th><th>'.__NPG_FORM_ALBUM_DESC.'</th><th>'.Images.'</th><th>'.Owner.'</th><th colspan="2" >'.__NPG_FORM_ACTIONS.'</th></tr></thead>';\r
363                 $j=0;\r
364                 while($albums[$j]) {\r
365                         echo '<tr onmouseover=\'focusRow(this);\' onmouseout=\'blurRow(this);\'>';\r
366                         echo '<td>'.$albums[$j]->title.'</td>';\r
367                         echo '<td>'.$albums[$j]->description.'</td>';\r
368                         echo '<td>'.$albums[$j]->numberofimages.'</td>';\r
369                         echo '<td>'.$albums[$j]->mname.'</td>';\r
370                         if($gmember->canmodifyalbum($albums[$j]->albumid) ) {\r
371                                 echo '<td><a href="'.$galleryaction.'?action=album&amp;id='.$albums[$j]->albumid.'">'.__NPG_FORM_SETTINGS.'</a></td>';\r
372                                 echo '<td><a href="'.$galleryaction.'?action=deletealbum&amp;id='.$albums[$j]->albumid.'">'.__NPG_FORM_DELETE.'</a></td>';\r
373                         }\r
374                         else echo '<td>'.__NPG_FORM_SETTINGS.'</td><td>'.__NPG_FORM_DELETE.'</td>';\r
375                         echo '</tr>';\r
376                         $j++;\r
377                 }\r
378                 echo '</table>';\r
379         }\r
380         \r
381         function display_comments() {\r
382                 global $gmember,$galleryaction,$NPG_CONF,$CONF,$NP_BASE_DIR;\r
383                 \r
384                 $amount = requestvar('amount');\r
385                 $page = requestvar('page');\r
386                 if($amount) $NPG_CONF['AdminCommentsPerPage'] = intval($amount);\r
387                 \r
388                 if (!$NPG_CONF['AdminCommentsPerPage']) {\r
389                         setNPGOption('AdminCommentsPerPage',25);\r
390                         $NPG_CONF['AdminCommentsPerPage'] = 25;\r
391                 }\r
392                 $offset = intval($page - 1) * $NPG_CONF['AdminCommentsPerPage'];\r
393                 if ($offset <= 0) $offset = '0';\r
394                 \r
395                 if(!$page) $page='1';\r
396                 \r
397                 $query = 'select * from '.sql_table('plug_gallery_comment').' as a left join '.sql_table('member').' as b on a.cmemberid=b.mnumber left join '.sql_table('plug_gallery_picture').' as c on a.cpictureid=c.pictureid limit '.intval($offset).', '.intval($NPG_CONF['AdminCommentsPerPage']+1);\r
398                 $res = sql_query($query);\r
399                 $nrows = mysql_num_rows($res);\r
400                 \r
401                 //navigation\r
402                 echo "\n".'<div><table class="navigation"><tr><td style="width:15%;">';\r
403                 if(intval($page) > 1) {\r
404                         echo '<form method="post" action="'.$galleryaction.'"><div>';\r
405                         echo '<input type="hidden" name="action" value="comments" />';\r
406                         echo '<input type="hidden" name="page" value="'.(intval($page - 1)).'" />';\r
407                         echo '<input type="submit" value="&lt; &lt; '._LISTS_PREV.'" />';\r
408                         if($amount) echo '<input type="hidden" name="amount" value="'.$amount.'" />';\r
409                         echo '</div></form></td>';\r
410                 }\r
411                         else echo '&lt; &lt; '._LISTS_PREV.'</td>';\r
412                         \r
413                 echo '<td style="text-align:center;">'.__NPG_PAGE.': '.$page.'</td>';\r
414                 \r
415                 echo '<td style="text-align:right; width:15%;">';\r
416                 if($nrows > $NPG_CONF['AdminCommentsPerPage']) {\r
417                 echo '<form method="post" action="'.$galleryaction.'"><div>';\r
418                 echo '<input type="hidden" name="action" value="comments" />';\r
419                 echo '<input type="hidden" name="page" value="'.(intval($page + 1)).'" />';\r
420                 echo '<input type="submit" value="'._LISTS_NEXT.'  &gt; &gt;" />';\r
421                 if($amount) echo '<input type="hidden" name="amount" value="'.$amount.'" />';\r
422                 echo '</div></form>';\r
423                 } \r
424                 else echo _LISTS_NEXT.'  &gt; &gt;';\r
425                 echo '</td></tr></table></div>'."\n";\r
426                 \r
427                 \r
428                 //echo '<h3>'.__NPG_ADMIN_COMMENTS.'</h3>';\r
429                 echo '<table><thead><tr><th>'.__NPG_COMMENT.'</th><th>'.__NPG_AUTHOR.'</th><th>'.__NPG_TIME.'</th><th>'.__NPG_PICTUREID.'</th><th colspan=\'2\'>'.__NPG_FORM_ACTIONS.'</th></tr></thead><tbody>';\r
430                 \r
431                 $format = 'M j, h:i';\r
432                 \r
433                 $i=0;\r
434                 while ($row = mysql_fetch_object($res) and $i < $NPG_CONF['AdminCommentsPerPage']) {\r
435                         echo '<tr onmouseover=\'focusRow(this);\' onmouseout=\'blurRow(this);\'>';\r
436                         echo '<td>'.$row->cbody.'</td>';\r
437                         echo '<td>';\r
438                         if($row->cuser) echo $row->cuser; else echo $row->mname;\r
439                         echo '</td>';\r
440                         \r
441                         $d = converttimestamp($row->ctime);\r
442                         $d = date($format,$d);\r
443                         echo '<td>'.$d.'</td>';\r
444                         \r
445                         if($row->int_filename) {\r
446                                 $picturelink = $CONF['IndexURL'].$row->int_filename;\r
447                                 $image_size = getimagesize($NP_BASE_DIR.$row->int_filename);\r
448                                 $pictureheight = $image_size[1]+15;\r
449                                 $picturewidth = $image_size[0]+15;\r
450                                 echo '<td><a href="'.$picturelink.'" onclick="window.open(this.href,\'imagepopup\',\'status=no,toolbar=no,scrollbars=auto,resizable=yes,width='.$picturewidth.',height='.$pictureheight.'\');return false;">'.$row->title.'</td>';\r
451                         } else {\r
452                                 echo '<td>Picture deleted</td>';\r
453                         }\r
454                         \r
455                         echo '<td><a href="'.$galleryaction.'?action=editcommentF&amp;id='.$row->commentid.'">'.__NPG_FORM_EDIT.'</a></td>';\r
456                         echo '<td><a href="'.$galleryaction.'?action=deletecomment&amp;id='.$row->commentid.'">'.__NPG_FORM_DELETE.'</td></tr>';\r
457                         echo "\n";\r
458                         $i++;\r
459                 }\r
460                 echo '</tbody></table>';\r
461         \r
462         }\r
463         \r
464         function display_templates() {\r
465                 global $NPG_CONF, $galleryaction;\r
466         \r
467                 echo '<h3>'.__NPG_ADMIN_TEMPLATES.'</h3>';\r
468                 echo '<table><thead><tr><th>'.__NPG_FORM_NAME.'</th><th>'.__NPG_FORM_DESC.'</th><th colspan=\'3\' >'.__NPG_FORM_ACTIONS.'</th></tr></thead><tbody>';\r
469                 $query = 'select * from '.sql_table('plug_gallery_template_desc');\r
470                 $result = sql_query($query);\r
471                 while ($row = mysql_fetch_object($result)) {\r
472                         echo '<tr onmouseover=\'focusRow(this);\' onmouseout=\'blurRow(this);\'>';\r
473                         echo '<td>'.$row->tdname.'</td>';\r
474                         echo '<td>'.$row->tddesc.'</td>';\r
475                         echo '<td><a href="'.$galleryaction.'?action=edittemplateF&amp;id='.$row->tdid.'">'.__NPG_FORM_EDIT.'</a></td>';\r
476                         echo '<td><a href="'.$galleryaction.'?action=clonetemplate&amp;id='.$row->tdid.'">'.__NPG_FORM_CLONE.'</td>';\r
477                         echo '<td><a href="'.$galleryaction.'?action=deletetemplate&amp;id='.$row->tdid.'">'.__NPG_FORM_DELETE.'</td></tr>';\r
478                 }\r
479                 \r
480                 echo '</tbody></table>';\r
481                 \r
482                 $this->display_newtemplate();\r
483 \r
484         }\r
485         \r
486         function display_newtemplate() {\r
487                 global $galleryaction;\r
488                 \r
489                 echo '<h3>'.__NPG_FORM_NEWTEMPLATE.'</h3>';\r
490                 echo '<form method="post" action="'.$galleryaction.'?action=addtemplate"><table>';\r
491                 echo '<tr><td>'.__NPG_FORM_TEMPLATE_NAME.'</td><td><input name="tname" maxlength="20" size="20" /></td></tr>';\r
492                 echo '<tr><td>'.__NPG_FORM_TEMPLATE_DESC.'</td><td><input name="tdesc" maxlength="200" size="50" /></td></tr>';\r
493                 echo '<tr><td></td><td><input type="submit" value="'.__NPG_FORM_CREATENEWTEMPLATE.'" /></table></form>';\r
494         }\r
495         \r
496         function display_adminfunctions() {\r
497                 global $galleryaction;\r
498                 \r
499                 echo '<h3>'.__NPG_ADMIN_ADMIN_FUNCTIONS.'</h3>';\r
500                 \r
501                 echo '<table>';\r
502                 echo '<tr><td><input type="button" value="'.__NPG_ADMIN_CLEANUP.'" ';\r
503                 echo 'onclick="window.location.href=\''.$galleryaction.'?action=admin&amp;function=cleanup\'"/>';\r
504                 echo '</td><td>'.__NPG_ADMIN_CLEANUP_DESC.'</td></tr>';\r
505                 \r
506                 echo '<tr><td>';\r
507                 echo '<form method="post" action="'.$galleryaction.'">';\r
508                 echo '<input type="hidden" name="action" value="admin" />';\r
509                 echo '<input type="hidden" name="function" value="rethumb" />';\r
510                 echo '<input type="submit" value="'.__NPG_ADMIN_RETHUMB.'" />';\r
511                 \r
512                 $query = 'select * from '.sql_table('plug_gallery_album');\r
513                 $res = sql_query($query);\r
514                 echo '<select name="albumtorethumb">';\r
515                 echo '<option value="0">'.__NPG_ADMIN_ALLALBUMS;\r
516                 while ($row=mysql_fetch_object($res)) {\r
517                         echo '<option value="'.$row->albumid.'">'.$row->title;\r
518                 }\r
519                 echo '</select></form>';\r
520                 echo '</td><td>'.__NPG_ADMIN_RETHUMB_DESC.'</td></tr>';\r
521                 \r
522                 echo '<tr><td>';\r
523                 echo '<form method="post" action="'.$galleryaction.'">';\r
524                 echo '<input type="hidden" name="action" value="admin" />';\r
525                 echo '<input type="hidden" name="function" value="massupload" />';\r
526                 echo '<input type="submit" value="'.__NPG_ADMIN_MASSUPLOAD.'" />';\r
527                 mysql_data_seek($res,0);\r
528                 echo '<select name="uploadalbum">';\r
529                 echo '<option value="-1">'.__NPG_ADMIN_NEWALBUM;\r
530                 while ($row=mysql_fetch_object($res)) {\r
531                         echo '<option value="'.$row->albumid.'">'.$row->title;\r
532                 }\r
533                 echo '</select></form>';\r
534                 echo '</td><td>'.__NPG_ADMIN_MASSUPLOAD_DESC.'</td></tr>';\r
535                 \r
536                 echo '</table>';\r
537 \r
538         }\r
539         \r
540         \r
541         function action_edittemplateF() {\r
542                 global $gmember,$galleryaction;\r
543                 \r
544                 $id = $_GET['id'];\r
545                 if($gmember->isAdmin() && $id) { \r
546                         $query = 'select * from '.sql_table('plug_gallery_template')." where tdesc = ".intval($id);\r
547                         $result = sql_query($query);\r
548                         if(mysql_num_rows($result)) {\r
549                                 while ($row = mysql_fetch_object($result)) {\r
550                                         $section[$row->name] = stripslashes($row->content);\r
551                                 }\r
552                         }\r
553                         \r
554                         $query2 = 'select * from '.sql_table('plug_gallery_template_desc')." where tdid = ".intval($id);\r
555                         $result2 = sql_query($query2);\r
556                         if(!mysql_num_rows($result2)) {\r
557                                 echo __NPG_ERR_BAD_TEMPLATE.'<br/>';\r
558                                 return false;\r
559                         }\r
560                         $row = mysql_fetch_object($result2);\r
561                         $section['name'] = stripslashes($row->tdname);\r
562                         $section['desc'] = stripslashes($row->tddesc);\r
563                         \r
564                         echo '<h3>'.__NPG_FORM_EDIT_TEMPLATE.': '.$section['name'].'</h3>';\r
565                         echo '<br/><a href="'.$galleryaction.'">'.__NPG_ADMIN_RETURN.'</a>';\r
566                         echo '<form method="post" action="'.$galleryaction.'?action=edittemplate"><div>';\r
567                         echo '<input type="hidden" name="id" value="'.$id.'" />';\r
568                         echo '<table><thead><tr><th colspan="2" >'.__NPG_FORM_TEMPLATE_SETTINGS.'</th></tr></thead>';\r
569                         echo '<tbody>';\r
570                         echo '<tr><td class="left">'.__NPG_FORM_TEMPLATE_NAME.'</td>';\r
571                         echo '<td><input name="tname" size="20" maxlength="20" value="';\r
572                         echo htmlspecialchars($section['name']);\r
573                         echo '" /></td></tr>';\r
574                         echo '<tr><td class="left">'.__NPG_FORM_TEMPLATE_DESC.'</td>';\r
575                         echo '<td><input name="tdesc" size="50" maxlength="200" value="';\r
576                         echo htmlspecialchars($section['desc']);\r
577                         echo '" /></td></tr>';\r
578                         echo '<tr><td></td><td><input type="submit" value="'.__NPG_FORM_SUBMIT_CHANGES.'" /></td></tr>';\r
579                         echo '</tbody></table>';\r
580                         \r
581                         echo '<table><thead><tr><th colspan="2" >'.__NPG_FORM_TEMPLATE_LIST.'</th></tr></thead>';\r
582                         echo '<tbody>';\r
583                         $tags = allowedTemplateTags('LIST_HEADER');\r
584                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_HEADER.'<br/></td>';\r
585                         echo '<td><textarea class="templateedit" name="LIST_HEADER" cols="50" rows="5">';\r
586                         echo htmlspecialchars($section['LIST_HEADER']);\r
587                         echo '</textarea></td></tr><tr><td colspan="2">'.$tags.'</td></tr>';\r
588                         $tags = allowedTemplateTags('LIST_BODY');\r
589                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_BODY.'<br/></td>';\r
590                         echo '<td><textarea class="templateedit" name="LIST_BODY" cols="50" rows="8">';\r
591                         echo htmlspecialchars($section['LIST_BODY']);\r
592                         echo '</textarea></td></tr><tr><td colspan="2">'.$tags.'</td></tr>';\r
593                         $tags = allowedTemplateTags('LIST_THUM');\r
594                         echo '<tr><td class="left" >LIST_THUM<br/></td>';\r
595                         echo '<td><textarea class="templateedit" name="LIST_THUM" cols="50" rows="8">';\r
596                         echo htmlspecialchars($section['LIST_THUM']);\r
597                         echo '</textarea></td></tr><tr><td colspan="2">'.$tags.'</td></tr>';\r
598                         $tags = allowedTemplateTags('LIST_FOOTER');\r
599                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_FOOTER.'<br/></td>';\r
600                         echo '<td><textarea class="templateedit" name="LIST_FOOTER" cols="50" rows="5">';\r
601                         echo htmlspecialchars($section['LIST_FOOTER']);\r
602                         echo '</textarea></td></tr><tr><td colspan="2">'.$tags.'</td></tr>';\r
603                         echo '<tr><td></td><td><input type="submit" value="'.__NPG_FORM_SUBMIT_CHANGES.'" /></td></tr>';\r
604                         echo '</tbody></table>';\r
605                         \r
606                         echo '<table><thead><tr><th colspan="2" >'.__NPG_FORM_TEMPLATE_ALBUM.'</th></tr></thead>';\r
607                         echo '<tbody>';\r
608                         $tags = allowedTemplateTags('ALBUM_HEADER');\r
609                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_HEADER.'<br/></td>';\r
610                         echo '<td><textarea class="templateedit" name="ALBUM_HEADER" cols="50" rows="5">';\r
611                         echo htmlspecialchars($section['ALBUM_HEADER']);\r
612                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
613                         $tags = allowedTemplateTags('ALBUM_BODY');\r
614                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_BODY.'<br/></td>';\r
615                         echo '<td><textarea class="templateedit" name="ALBUM_BODY" cols="50" rows="8">';\r
616                         echo htmlspecialchars($section['ALBUM_BODY']);\r
617                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
618                         $tags = allowedTemplateTags('ALBUM_FOOTER');\r
619                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_FOOTER.'<br/></td>';\r
620                         echo '<td><textarea class="templateedit" name="ALBUM_FOOTER" cols="50" rows="5">';\r
621                         echo htmlspecialchars($section['ALBUM_FOOTER']);\r
622                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
623                         echo '<tr><td></td><td><input type="submit" value="'.__NPG_FORM_SUBMIT_CHANGES.'" /></td></tr>';\r
624                         echo '</tbody></table>';\r
625                         \r
626                         echo '<table><thead><tr><th colspan="2" >'.__NPG_FORM_TEMPLATE_PICTURE.'</th></tr></thead>';\r
627                         echo '<tbody>';\r
628                         $tags = allowedTemplateTags('ITEM_HEADER');\r
629                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_HEADER.'<br/></td>';\r
630                         echo '<td><textarea class="templateedit" name="ITEM_HEADER" cols="50" rows="5">';\r
631                         echo htmlspecialchars($section['ITEM_HEADER']);\r
632                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
633                         echo '<tr><td class="left" >ITEM_TOOLTIPSHEADER<br/></td>';\r
634                         echo '<td><textarea class="templateedit" name="ITEM_TOOLTIPSHEADER" cols="50" rows="5">';\r
635                         echo htmlspecialchars($section['ITEM_TOOLTIPSHEADER']);\r
636                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
637                         $tags = allowedTemplateTags('ITEM_BODY');\r
638                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_BODY.'<br/></td>';\r
639                         echo '<td><textarea class="templateedit" name="ITEM_BODY" cols="50" rows="8">';\r
640                         echo htmlspecialchars($section['ITEM_BODY']);\r
641                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
642                         \r
643                         echo '<tr><td class="left" >ITEM_TOOLTIPSFOOTER<br/></td>';\r
644                         echo '<td><textarea class="templateedit" name="ITEM_TOOLTIPSFOOTER" cols="50" rows="8">';\r
645                         echo htmlspecialchars($section['ITEM_TOOLTIPSFOOTER']);\r
646                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
647                         \r
648                         echo '<tr><td class="left" >ITEM_SLIDESHOWC<br/></td>';\r
649                         echo '<td><textarea class="templateedit" name="ITEM_SLIDESHOWC" cols="50" rows="8">';\r
650                         echo htmlspecialchars($section['ITEM_SLIDESHOWC']);\r
651                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
652                         \r
653                 \r
654                         echo '<tr><td class="left" >ITEM_SLIDESHOWT<br/></td>';\r
655                         echo '<td><textarea class="templateedit" name="ITEM_SLIDESHOWT" cols="50" rows="8">';\r
656                         echo htmlspecialchars($section['ITEM_SLIDESHOWT']);\r
657                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
658                         \r
659                         echo '<tr><td class="left" >ITEM_NEXTPREVTHUMBS<br/></td>';\r
660                         echo '<td><textarea class="templateedit" name="ITEM_NEXTPREVTHUMBS" cols="50" rows="8">';\r
661                         echo htmlspecialchars($section['ITEM_NEXTPREVTHUMBS']);\r
662                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
663                         \r
664                         $tags = allowedTemplateTags('ITEM_FOOTER');\r
665                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_FOOTER.'<br/></td>';\r
666                         echo '<td><textarea class="templateedit" name="ITEM_FOOTER" cols="50" rows="5">';\r
667                         echo htmlspecialchars($section['ITEM_FOOTER']);\r
668                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
669                         \r
670                         echo '<tr><td></td><td><input type="submit" value="'.__NPG_FORM_SUBMIT_CHANGES.'" /></td></tr>';\r
671                         echo '</tbody></table>';\r
672                         \r
673                         echo '<table><thead><tr><th colspan="2" >'.__NPG_FORM_TEMPLATE_COMMENTS.'</th></tr></thead>';\r
674                         echo '<tbody>';\r
675                         $tags = allowedTemplateTags('COMMENT_HEADER');\r
676                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_HEADER.'<br/></td>';\r
677                         echo '<td><textarea class="templateedit" name="COMMENT_HEADER" cols="50" rows="5">';\r
678                         echo htmlspecialchars($section['COMMENT_HEADER']);\r
679                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
680                         $tags = allowedTemplateTags('COMMENT_BODY');\r
681                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_BODY.'<br/></td>';\r
682                         echo '<td><textarea class="templateedit" name="COMMENT_BODY" cols="50" rows="8">';\r
683                         echo htmlspecialchars($section['COMMENT_BODY']);\r
684                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
685                         $tags = allowedTemplateTags('COMMENT_FOOTER');\r
686                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_FOOTER.'<br/></td>';\r
687                         echo '<td><textarea class="templateedit" name="COMMENT_FOOTER" cols="50" rows="5">';\r
688                         echo htmlspecialchars($section['COMMENT_FOOTER']);\r
689                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
690                         echo '<tr><td></td><td><input type="submit" value="'.__NPG_FORM_SUBMIT_CHANGES.'" /></td></tr>';\r
691                         echo '</tbody></table>';\r
692                         \r
693                         echo '<table><thead><tr><th colspan="2" >'.__NPG_FORM_TEMPLATE_PROMO.'</th></tr></thead>';\r
694                         echo '<tbody>';\r
695                         $tags = allowedTemplateTags('PROMO_TITLE');\r
696                         echo '<tr><td class="left" >'.__NPG_PROMO_FORM_TITLE.'<br/></td>';\r
697                         echo '<td><input type="text" name="PROMO_TITLE" cols="50" value="';\r
698                         echo htmlspecialchars($section['PROMO_TITLE']);\r
699                         echo '"/>';\r
700                         echo '<br/>'.$tags.'</td></tr>';\r
701                         $tags = allowedTemplateTags('PROMO_BODY');\r
702                         echo '<tr><td class="left" >'.__NPG_PROMO_FORM_BODY.'<br/></td>';\r
703                         echo '<td><textarea class="templateedit" name="PROMO_BODY" cols="50" rows="8">';\r
704                         echo htmlspecialchars($section['PROMO_BODY']);\r
705                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
706                         $tags = allowedTemplateTags('PROMO_IMAGES');\r
707                         echo '<tr><td class="left" >'.__NPG_FORM_TEMPLATE_PROMOIMAGES.'<br/></td>';\r
708                         echo '<td><textarea class="templateedit" name="PROMO_IMAGES" cols="50" rows="4">';\r
709                         echo htmlspecialchars($section['PROMO_IMAGES']);\r
710                         echo '</textarea><br/>'.$tags.'</td></tr>';\r
711                         echo '<tr><td></td><td><input type="submit" value="'.__NPG_FORM_SUBMIT_CHANGES.'" /></td></tr>';\r
712                         echo '</tbody></table>';\r
713                         echo '</div></form>';\r
714                 }\r
715         }\r
716         \r
717         function action_addtemplate() {\r
718                 global $gmember;\r
719                 \r
720                 $name = addslashes(postvar('tname'));\r
721                 $desc = addslashes(postvar('tdesc'));\r
722                 if($gmember->isAdmin() && $name && $desc) {\r
723                         $query = 'insert into '.sql_table('plug_gallery_template_desc')." (tdid, tdname, tddesc) values (NULL,'$name','$desc')";\r
724                         sql_query($query);\r
725                 }\r
726                 \r
727                 $this->action_templates();\r
728         }\r
729         \r
730         function action_clonetemplate() {\r
731                 global $gmember;\r
732                 \r
733                 //get postvars: templateid from template to clone\r
734                 $id = requestvar('id');\r
735                 if($id && $gmember->isAdmin()) {\r
736                         //get template data from plg_gallery_template_desc and plug_gallery_template\r
737                         $origtemplate = new NPG_TEMPLATE($id);\r
738 \r
739                         //write data to database tables, generating a new tdid for the same data\r
740                         $newtemplate = new NPG_TEMPLATE(NPG_TEMPLATE::createnew('cln_'.$origtemplate->getname(), 'Clone of '.$origtemplate->getdesc()));\r
741                         foreach($origtemplate->section as $name => $content) \r
742                                 $newtemplate->settemplate($name,$content);\r
743                 }\r
744                 \r
745                 $this->action_templates();\r
746         }\r
747         \r
748         function action_deletetemplate() {\r
749                 global $gmember;\r
750                 $id = requestvar('id');\r
751                 \r
752                 //don't delete if it's the only template in the database -- you need at least one\r
753                 $query = 'select count(*) from '.sql_table('plug_gallery_template_desc');\r
754                 $res = sql_query($query);\r
755                 $nr = mysql_fetch_row($res);\r
756                 if ($nr[0] > 1 && $id && NPG_TEMPLATE::existsID($id) && $gmember->isAdmin()) {\r
757                         $query = 'delete from '.sql_table('plug_gallery_template_desc').' where tdid='.intval($id);\r
758                         sql_query($query);\r
759                         $query = 'delete from '.sql_table('plug_gallery_template').' where tdesc='.intval($id);\r
760                         sql_query($query);\r
761                 }\r
762                 \r
763                 $this->action_templates();\r
764                 \r
765         }\r
766         \r
767         \r
768         \r
769         function action_edittemplate() {\r
770                 global $gmember;\r
771                 \r
772                 $id = $_POST['id'];\r
773                 if($gmember->isAdmin() && $id) { \r
774                         $t = new NPG_TEMPLATE($id);\r
775                         \r
776                         if(isset($_POST['tname']) && isset($_POST['tdesc'])) {\r
777                                 $t->updategeneralinfo($_POST['tname'],$_POST['tdesc']);\r
778                         }\r
779                         \r
780                         $vars = array('LIST_HEADER','LIST_BODY','LIST_THUM','LIST_FOOTER','ALBUM_HEADER','ALBUM_BODY','ALBUM_SETDISPLAY','ALBUM_FOOTER','ITEM_HEADER','ITEM_TOOLTIPSHEADER','ITEM_BODY','ITEM_SLIDESHOWT','ITEM_SLIDESHOWC','ITEM_FOOTER','ITEM_TOOLTIPSFOOTER','ITEM_NEXTPREVTHUMBS','COMMENT_HEADER','COMMENT_BODY','COMMENT_FOOTER','PROMO_TITLE','PROMO_BODY','PROMO_IMAGES');\r
781                         foreach($vars as $j) {\r
782                                 if(isset($_POST[$j])) {\r
783                                         $t->update($j,$_POST[$j]);\r
784                                 }\r
785                         }\r
786 \r
787                         //if($success) echo __NPG_ADMIN_UPDATE_TEMPLATE.'<br />'; else echo __NPG_ERR_NO_UPD_TEMPLATE.'<br/>';\r
788                         \r
789                         //else echo _ERROR_DISALLOWED;\r
790                 }\r
791                 \r
792                 $this->action_templates();\r
793         }\r
794         \r
795         function action_comments() {\r
796                 global $gmember;\r
797                 \r
798                 $this->display_tabs('comments');\r
799                 $this->display_comments();\r
800         }\r
801         \r
802         function action_editcommentF() {\r
803                 global $galleryaction;\r
804                 \r
805                 $id = intval(requestvar('id'));\r
806                 $query = 'select * from '.sql_table('plug_gallery_comment').' as a left join '.sql_table('member').' as b on a.cmemberid=b.mnumber where a.commentid='.intval($id);\r
807                 $res = sql_query($query);\r
808                 $row = mysql_fetch_object($res);\r
809                 \r
810                 ?>\r
811                 <h2><?php echo _EDITC_TITLE; ?></h2>\r
812                 \r
813                 <form action="<?php echo $galleryaction; ?>" method="post"><div>\r
814                 <input type="hidden" name="action" value="editcomment" />\r
815                 <input type="hidden" name="id" value="<?php echo $id;?>" />\r
816                 <?php\r
817                 echo '<table><tr>';\r
818                 echo '<th colspan="2">'._EDITC_TITLE.'</th>';\r
819                 echo '</tr><tr>';\r
820                 echo '<td>'._EDITC_WHO.'</td><td>';\r
821                 if($row->cuser) echo $row->cuser; else echo $row->mname.' ('._EDITC_MEMBER.')';\r
822                 echo '</td></tr><tr>';\r
823                 echo '<td>'._EDITC_WHEN.'</td><td>';\r
824                 echo $row->ctime;\r
825                 echo '</td></tr><tr>';\r
826                 echo '<td>'._EDITC_HOST.'</td><td>';\r
827                 echo $row->chost;\r
828                 echo '</td></tr><tr>';\r
829                 echo '<td>'._EDITC_TEXT.'</td><td>';\r
830                 echo '<textarea name="body" rows="10" cols="50">';\r
831                 echo htmlspecialchars($row->cbody);\r
832                 echo '</textarea>';\r
833                 echo '</td></tr><tr>';\r
834                 echo '<td>'._EDITC_EDIT.'</td><td>';\r
835                 echo '<input type="submit" value="'._EDITC_EDIT.'" />';\r
836                 echo '</td></tr></table></div></form>';\r
837         }\r
838         \r
839         function action_editcomment() {\r
840                 global $gmember;\r
841                 \r
842                 $id = intval(requestvar('id'));\r
843                 $body = addslashes(requestvar('body'));\r
844                 \r
845                 if( $gmember->canModifyComment($id) ) {\r
846                         sql_query('update '.sql_table('plug_gallery_comment').' set cbody = "'.$body.'" where commentid='.$id);\r
847                 }\r
848                 \r
849                 $this->action_comments();\r
850                 \r
851         }\r
852         \r
853         function action_deletecomment() {\r
854                 global $gmember,$galleryaction;\r
855                 \r
856                 $id = intval(requestvar('id'));\r
857                 $query = 'select * from '.sql_table('plug_gallery_comment').' as a left join '.sql_table('member').' as b on a.cmemberid=b.mnumber where a.commentid='.$id;\r
858                 $res = sql_query($query);\r
859                 if(mysql_num_rows($res)) {\r
860                         $row = mysql_fetch_object($res);\r
861                 } else {\r
862                         echo __NPG_ADMIN_NO_COMMENT.'<br/>';\r
863                         return;\r
864                 }\r
865                 \r
866                 if($gmember->canModifyComment($id) ) {\r
867                         echo '<h2>'._DELETE_CONFIRM.'</h2>';\r
868                         echo '<p>'._CONFIRMTXT_COMMENT.'</p>';\r
869                         echo '<div class="note">';\r
870                         echo '<b>'._EDITC_WHO.': </b>';\r
871                         if($row->cuser) echo $row->cuser; else echo $row->mname;\r
872                         echo '<br/><b>'._EDITC_TEXT.': </b>';\r
873                         echo htmlspecialchars($row->cbody);\r
874                         echo '</div>';\r
875                         echo '<form method="post" action="'.$galleryaction.'"><div>';\r
876                         echo '<input type="hidden" name="action" value="deletecommentfinal" />';\r
877                         echo '<input type="hidden" name="id" value="'.$id.'" />';\r
878                         echo '<input type="submit" value="'._DELETE_CONFIRM_BTN.'" />';\r
879                         echo '</div></form>';\r
880                 }\r
881                 else {\r
882                         echo __NPG_ADMIN_NO_DEL_PERMISSION.'<br/>';\r
883                 }\r
884         }\r
885         \r
886         function action_deletecommentfinal() {\r
887                 global $gmember,$galleryaction;\r
888                 \r
889                 $id = intval(requestvar('id'));\r
890                 if($gmember->canModifyComment($id) ) {\r
891                         $res = sql_query('delete from '.sql_table('plug_gallery_comment').' where commentid='.$id);\r
892                         //if(!mysql_num_rows($res)) echo __NPG_ADMIN_NOTDELETED.'<br/>'; else echo __NPG_ADMIN_DELETED.'<br/>';\r
893                 }\r
894                 \r
895                 $this->action_comments();\r
896         }\r
897         \r
898         function action_templates() {\r
899                 global $gmember;\r
900                 \r
901                 $this->display_tabs('templates');\r
902                 if($gmember->isAdmin()) { \r
903                                 echo '<div id="admin_content">';\r
904                                 $this->display_templates();\r
905                                 echo '</div>';\r
906                         }\r
907                         else echo _ERROR_DISALLOWED;\r
908         }\r
909         \r
910 \r
911         function action_admin() {\r
912                 global $gmember,$DIR_NUCLEUS,$galleryaction,$CONF;\r
913                 \r
914                 $funct = requestvar('function');\r
915                 \r
916                 if (isset($funct)) {\r
917                         if($gmember->isAdmin()) {\r
918                                 switch ($funct) {\r
919                                         case 'cleanup':\r
920                                                 database_cleanup();\r
921                                                 echo __NPG_ADMIN_SUCCESS_CLEANUP.'<br/>';\r
922                                                 break;\r
923                                         case 'rethumb':\r
924                                                 $album = intval(requestvar('albumtorethumb'));\r
925                                                 rethumb($album);\r
926                                                 break;\r
927                                         case 'massupload':\r
928                                                 $album = intval(requestvar('uploadalbum'));\r
929                                                 $stop = true;\r
930                                                 if ($album == -1) {\r
931                                                         \r
932                                                         $title = requestvar('title');\r
933                                                         $desc = requestvar('desc');\r
934                                                         \r
935                                                         if(!$title && !$desc) {\r
936                                                         ?>\r
937                                                         <h3><?php echo __NPG_FORM_ADDALBUM; ?></h3>\r
938                                                         <?php echo __NPG_FORM_MASSUPLOAD_NEWALBUM; ?><br/>\r
939                                                         <form method="post" action="<?php echo $galleryaction; ?>"><div>\r
940                                                                 <input type="hidden" name="function" value="massupload" />\r
941                                                                 <input type="hidden" name="action" value="admin" />\r
942                                                                 <input type="hidden" name="uploadalbum" value="-1" />\r
943                                                                 \r
944                                                                 <?php addAlbumFormFields(); ?>\r
945                                                         </div></form>\r
946                                                         \r
947                                                         <?php\r
948                                                         }\r
949                                                         else {\r
950                                                                 $NPG_vars['ownerid'] = $gmember->getID();\r
951                                                                 $NPG_vars['title'] = $title; \r
952                                                                 $NPG_vars['description'] = $desc;\r
953                                                                 $album = ALBUM::add_new($NPG_vars);\r
954                                                         }\r
955                                                         \r
956                                                 }\r
957                                                 \r
958                                                 if($album > 0) {\r
959                                                         //are you sure? this may timeout if too big?\r
960                                                         echo '<h3>'.__NPG_FORM_MASSUPLOAD_CONFIRM.'</h3>';\r
961                                                         ?>\r
962                                                         <form name="massuploadokay" method="post" action="<?php echo $CONF['PluginURL'].'gallery/add_picture.php'; ?>" ONSUBMIT="openTarget(this, 'width=600,height=600,resizable=1,scrollbars=1'); return true;" target="newpopup"><div>\r
963                                                                 <input type="hidden" name="type" value="massupload" />\r
964                                                                 <input type="hidden" name="id" value="<?php echo $album; ?>" />\r
965                                                                 <input type="submit" value="<?php echo __NPG_FORM_MASSUPLOAD_SUBMIT; ?>" />\r
966                                                         </div></form>\r
967                                                         <?php\r
968                                                 }\r
969                                                 break;\r
970 \r
971                                         default:\r
972                                                 echo __NPG_ERR_BAD_FUNCTION.'<br/>';\r
973                                                 break;\r
974                                 }\r
975                         } else echo __NPG_ERR_NOT_ADMIN.'<br/>';\r
976                 }\r
977                 if(!$stop) $this->action_functions();\r
978         }\r
979         \r
980         function action_functions() {\r
981                 global $gmember;\r
982                 \r
983                 $this->display_tabs('admin');\r
984                 if($gmember->isAdmin()) { \r
985                         echo '<div id="admin_content">';\r
986                         $this->display_adminfunctions();\r
987                         echo '</div>';\r
988                 }\r
989                 else echo _ERROR_DISALLOWED;\r
990         }\r
991         \r
992         function action_editoptions() {\r
993                 //need more error checking here\r
994                 if (isset($_POST['addalbumlevel'])) {\r
995                         //$allowedoptions = array("admin","guest","select","member");\r
996                         //if (in_array($_POST['addalbumlevel'], $allowedoptions))\r
997                                 setNPGoption('add_album', $_POST['addalbumlevel']);\r
998                 }\r
999                 if (isset($_POST['promocatid'])) {\r
1000                         setNPGoption('blog_cat', $_POST['promocatid']);\r
1001                 }\r
1002                 /*\r
1003                 if (isset($_POST['template'])) {\r
1004                         setNPGoption('template', $_POST['template']);\r
1005                 }\r
1006                 if (isset($_POST['viewtime'])) {\r
1007                         setNPGoption('viewtime', $_POST['viewtime']);\r
1008                 }\r
1009                 */\r
1010                 if (isset($_POST['batchnumber'])) {\r
1011                         setNPGoption('batch_add_num', $_POST['batchnumber']);\r
1012                 }\r
1013 /*\r
1014                 if (isset($_POST['galleryDir'])) {\r
1015                         setNPGoption('galleryDir', $_POST['galleryDir']);\r
1016                 }\r
1017                 if (isset($_POST['maxheight'])) {\r
1018                         setNPGoption('maxheight', $_POST['maxheight']);\r
1019                 }\r
1020                 if (isset($_POST['maxwidth'])) {\r
1021                         setNPGoption('maxwidth', $_POST['maxwidth']);\r
1022                 }\r
1023                 if (isset($_POST['thumbheight'])) {\r
1024                         setNPGoption('thumbheight', $_POST['thumbheight']);\r
1025                 }\r
1026                 if (isset($_POST['thumbwidth'])) {\r
1027                         setNPGoption('thumbwidth', $_POST['thumbwidth']);\r
1028                 }\r
1029                 */\r
1030                 $t = $_POST['graphicslibrary'];\r
1031                 if (isset($t)) {\r
1032                         if (($t == 'im') or ($t == 'gd')) {\r
1033                                 setNPGoption('graphics_library', $_POST['graphicslibrary']);\r
1034                         }\r
1035                 }\r
1036                 if (isset($_POST['impath'])) {\r
1037                         setNPGoption('im_path', $_POST['impath']);\r
1038                 }\r
1039                 if (isset($_POST['imoptions'])) {\r
1040                         setNPGoption('im_options', $_POST['imoptions']);\r
1041                 }\r
1042                 if (isset($_POST['imquality'])) {\r
1043                         setNPGoption('im_quality', $_POST['imquality']);\r
1044                 }\r
1045 \r
1046                 $allowedoptions = array('template', 'viewtime', 'galleryDir', 'maxheight', 'maxwidth', 'thumbheight','thumbwidth','AdminCommentsPerPage','ThumbnailsPerPage','dateorrandom','tooltips','nextprevthumb','defaultorder','setorpromo','slideshowson','thumborlist' );\r
1047                 foreach($allowedoptions as $option) if(isset($_POST[$option])) setNPGoption($option, $_POST[$option]);\r
1048                         \r
1049                 \r
1050                 $this->action_config();\r
1051         }\r
1052 \r
1053         function action_config() {\r
1054                 global $gmember;\r
1055                 \r
1056                 $NPG_CONF = getNPGConfig();\r
1057                 \r
1058                 $this->display_tabs('config');\r
1059                 if($gmember->isAdmin()) { \r
1060                         echo '<div id="admin_content">';\r
1061                         $this->display_options();\r
1062                         echo '</div>';\r
1063                 }\r
1064         }\r
1065         \r
1066         function action_removeselectuser() {\r
1067                 global $gmember;\r
1068                 \r
1069                 $mid = intval(requestvar('userid'));\r
1070                 if($mid) {\r
1071                         $query='delete from '.sql_table('plug_gallery_member')." where memberid=$mid";\r
1072                         if($gmember->isAdmin()) $result = mysql_query($query);\r
1073                 }\r
1074                 $this->action_users();\r
1075         }\r
1076         \r
1077         function action_addselectuser() {\r
1078                 global $gmember;\r
1079                 \r
1080                 $mid = intval(requestvar('userid'));\r
1081                 if($mid) {\r
1082                         $query = 'insert into '.sql_table('plug_gallery_member')." values ('$mid',1) ";\r
1083                         if($gmember->isAdmin()) $result = mysql_query($query);\r
1084                 }\r
1085                 $this->action_users();\r
1086         }\r
1087 \r
1088         function action_uers() {\r
1089                 global $gmember, $NPG_CONF;\r
1090                 \r
1091                 $this->display_tabs('users');\r
1092                 if($gmember->isAdmin() && $NPG_CONF['add_album'] == 'select') { \r
1093                         echo '<div id="admin_content">';\r
1094                         $this->display_selectusers();\r
1095                         echo '</div>';\r
1096                 }\r
1097                 else echo _ERROR_DISALLOWED;\r
1098         }\r
1099         \r
1100         function action_editalbumtitle() {\r
1101                 global $gmember,$galleryaction;\r
1102                 \r
1103                 $id = requestVar('id');\r
1104                 if($gmember->canModifyAlbum($id)) {\r
1105                         $alb = new ALBUM($id);\r
1106                         $alb->set_title(addslashes(requestVar('title')));\r
1107                         $alb->set_description(addslashes(requestVar('desc')));\r
1108                         $alb->set_commentsallowed(requestvar('commentsallowed'));\r
1109                         $alb->set_publicalbum(requestvar('publicalbum'));\r
1110                         $alb->set_thumbnail(requestvar('thumbnail'));\r
1111                         $alb->write();\r
1112                         echo __NPG_ADMIN_SUCCESS_ALBUM_UPDATE.'<br/>';\r
1113                 }\r
1114                 else echo __NPG_ERR_ALBUM_UPDATE.'<br/>';\r
1115                 echo '<br/><a href="'.$galleryaction.'">'.__NPG_ADMIN_RETURN.'</a>';\r
1116         }\r
1117         \r
1118         function action_editalbumteam() {       }\r
1119         \r
1120         function action_deltmember() {\r
1121                 global $gmember,$galleryaction;\r
1122                 \r
1123                 $aid = intval(requestvar('aid'));\r
1124                 $mid = intval(requestvar('mid'));\r
1125                 if($aid && $mid) \r
1126                 if($gmember->canModifyAlbum($aid)) {\r
1127                         $query = 'delete from '.sql_table('plug_gallery_album_team')." where tmemberid=$mid and talbumid=$aid";\r
1128                         $result = sql_query($query);    \r
1129                         echo __NPG_ADMIN_SUCCESS_TEAM_UPDATE.'<br/>';\r
1130                 }\r
1131                 else echo __NPG_ERR_TEAM_UPDATE.'<br/>';\r
1132                 echo '<br/><a href="'.$galleryaction.'?action=album&amp;id='.$aid.'">'.__NPG_ADMIN_RETURN.'</a>';\r
1133         }\r
1134         \r
1135         function action_toggleadmin() {\r
1136                 global $gmember,$galleryaction;\r
1137                 \r
1138                 $aid = intval(requestvar('aid'));\r
1139                 $mid = intval(requestvar('mid'));\r
1140                 if($aid && $mid) \r
1141                 if($gmember->canModifyAlbum($aid)) {\r
1142                         $query = 'update '.sql_table('plug_gallery_album_team')." set tadmin=abs(tadmin-1) where tmemberid=$mid and talbumid=$aid";\r
1143                         $result = mysql_query($query);\r
1144                         if(!$result) echo mysql_error().'<br/>';        \r
1145                         echo __NPG_ADMIN_SUCCESS_TEAM_UPDATE.'<br/>';\r
1146                 }\r
1147                 else echo __NPG_ERR_TEAM_UPDATE.'<br/>';\r
1148                 echo '<br/><a href="'.$galleryaction.'?action=album&amp;id='.$aid.'">'.__NPG_ADMIN_RETURN.'</a>';\r
1149         }\r
1150 \r
1151         \r
1152         function action_addalbumteam() {\r
1153                 global $gmember,$galleryaction;\r
1154                 \r
1155                 $id = intval(requestvar('id'));\r
1156                 $tmember = intval(requestvar('tmember'));\r
1157                 $admin = intval(requestvar('admin'));\r
1158                 if($id && $tmember) {\r
1159                         if(!$admin) $admin = 0;\r
1160                         if($gmember->canModifyAlbum($id)) {\r
1161                                 $result = mysql_query('select * from '.sql_table('plug_gallery_album_team')." where tmemberid=$tmember");\r
1162                                 if(!$result) echo mysql_error().'<br/>';\r
1163                                 if(!mysql_num_rows($result)) \r
1164                                         $result2 = mysql_query('insert into '.sql_table('plug_gallery_album_team')." values ('$tmember', '$id', $admin)");\r
1165                                 echo __NPG_ADMIN_SUCCESS_TEAM_UPDATE.'<br/>';\r
1166                         }\r
1167                         else echo __NPG_ERR_TEAM_UPDATE.'<br/>';\r
1168                         echo '<br/><a href="'.$galleryaction.'?action=album&amp;id='.$id.'">'.__NPG_ADMIN_RETURN.'</a>';\r
1169                 }\r
1170         }\r
1171         \r
1172 \r
1173         function action_deletealbum() {\r
1174                 $id = requestVar('id');\r
1175                 if($id) {\r
1176                         deletealbum($id);\r
1177                 }\r
1178         }\r
1179         \r
1180 \r
1181         function action_album() {\r
1182                 global $gmember;\r
1183                 $id = requestVar('id');\r
1184 \r
1185                 if($id && $gmember->canmodifyalbum($id)) {\r
1186                         editalbumform($id);\r
1187                 }\r
1188         }\r
1189         \r
1190 \r
1191         function action_finaldeletealbum() {\r
1192                 global $gmember;\r
1193                 \r
1194                 $ok = true;\r
1195                 $id = requestVar('id');\r
1196                 $option = requestVar('deleteoption');\r
1197                 if($id && $option && $gmember->canmodifyalbum($id)) {\r
1198                         if($option == '-1') { //delete pictures\r
1199                                 $query = 'select * from '.sql_table('plug_gallery_picture').' where albumid='.intval($id);\r
1200                                 $result = mysql_query($query);\r
1201                                 if(!$result) echo mysql_error().":$query<br/>";\r
1202                                 while($row = mysql_fetch_object($result)) {\r
1203                                         $delresult = PICTURE::delete($row->pictureid);\r
1204                                         if($delresult['status'] == 'error') {\r
1205                                                 echo $delresult['message'];\r
1206                                                 $ok = false;\r
1207                                         }\r
1208                                         else {\r
1209                                                 $delresult = PICTURE::deletepromoposts($row->pictureid);\r
1210                                                 $query2 = 'delete from '.sql_table('plug_gallery_picture').' where pictureid='.intval($row->pictureid);\r
1211                                                 $result2 = mysql_query($query2);\r
1212                                                 if(!$result2) echo mysql_error().":$query<br/>";\r
1213                                         }\r
1214                                 }\r
1215                                 if($ok) {\r
1216                                         $query = 'delete from '.sql_table('plug_gallery_album').' where albumid='.intval($id);\r
1217                                         $result = mysql_query($query);\r
1218                                         if(!$result) echo mysql_error().":$query<br/>";\r
1219                                 }\r
1220 \r
1221                         }\r
1222                         else {\r
1223                                 if($gmember->canaddpicture($option)) {\r
1224                                         $query = 'update '.sql_table('plug_gallery_picture').' set albumid='.intval($option).' where albumid='.intval($id);\r
1225                                         $result = mysql_query($query);\r
1226                                         if(!$result) echo mysql_error().'<br/>';\r
1227                                         ALBUM::fixnumberofimages($option);\r
1228                                         $query = 'delete from '.sql_table('plug_gallery_album').' where albumid='.intval($id);\r
1229                                         $result = mysql_query($query);\r
1230                                         if(!$result) echo mysql_error().'<br/>';\r
1231                                 }\r
1232                                 else {\r
1233                                         echo __NPG_ERR_DA_MOVE_PICTURE.'<br/>';\r
1234                                 }\r
1235                         }\r
1236                 }\r
1237                 $this->action_albumlist();\r
1238         }\r
1239         \r
1240 \r
1241         function action_albumlist() {\r
1242                 $this->display_tabs('albums');\r
1243                 $this->display_albums();\r
1244         }\r
1245                 \r
1246 \r
1247 \r
1248 \r
1249 }\r
1250 \r
1251 ?>\r