OSDN Git Service

FIX: ラベル「includeプリフィックス」が表示されないバグ(skinoverview/adminskinoverview)
[nucleus-jp/nucleus-next.git] / nucleus / libs / showlist.php
1 <?php\r
2 /*\r
3  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
4  * Copyright (C) 2002-2012 The Nucleus Group\r
5  *\r
6  * This program is free software; you can redistribute it and/or\r
7  * modify it under the terms of the GNU General Public License\r
8  * as published by the Free Software Foundation; either version 2\r
9  * of the License, or (at your option) any later version.\r
10  * (see nucleus/documentation/index.html#license for more info)\r
11  */\r
12 /**\r
13  * Functions to create lists of things inside the admin are\r
14  *\r
15  * @license http://nucleuscms.org/license.txt GNU General Public License\r
16  * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
17  * @version $Id: showlist.php 1662 2012-02-12 12:18:37Z sakamocchi $\r
18  */\r
19 \r
20 \r
21 // can take either an array of objects, or an SQL query\r
22 function showlist($query, $type, $vars, $template_name = '')\r
23 {\r
24         $contents = '';\r
25         \r
26         /* count */\r
27         if ( is_string($query) )\r
28         {\r
29                 $resource = DB::getResult($query);\r
30         }\r
31         else\r
32         {\r
33                 $resource = $query;\r
34         }\r
35         \r
36         /* HEAD */\r
37         $contents .= call_user_func("listplug_{$type}", $vars, 'HEAD', $template_name);\r
38         \r
39         /* BODY */\r
40         foreach ( $resource as $row )\r
41         {\r
42                 $vars['current'] = $row;\r
43                 $contents .= call_user_func("listplug_{$type}", $vars, 'BODY', $template_name);\r
44         }\r
45         \r
46         /* FOOT */\r
47         $contents .= call_user_func("listplug_{$type}", $vars, 'FOOT', $template_name);\r
48         \r
49         /* close SQL resource */\r
50         if ( is_string($query) )\r
51         {\r
52                 $resource->closeCursor();\r
53         }\r
54         \r
55         return $contents;\r
56 }\r
57 \r
58 function listplug_select($vars, $type, $template_name = '')\r
59 {\r
60         global $manager;\r
61         \r
62         $templates = array();\r
63         if ( !empty($template_name) )\r
64         {\r
65                 $templates =& $manager->getTemplate($template_name);\r
66         }\r
67         \r
68         switch( $type )\r
69         {\r
70                 case 'HEAD':\r
71                         if ( !array_key_exists('SHOWLIST_LISTPLUG_SELECT_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_SELECT_HEAD']) )\r
72                         {\r
73                                 $template = "<select name=\"<%name%>\" tabindex=\"<%tabindex%>\" <%javascript%>>\n"\r
74                                           . "<%extraoption%>\n";\r
75                         }\r
76                         else\r
77                         {\r
78                                 $template = $templates['SHOWLIST_LISTPLUG_SELECT_HEAD'];\r
79                         }\r
80                         $data = array(\r
81                                 'name'                  => $vars['name'],\r
82                                 'tabindex'              => $vars['tabindex'],\r
83                                 'javascript'    => !array_key_exists('javascript', $vars) ? '' : $vars['javascript'],\r
84                                 'extraoption'   => !array_key_exists('extra', $vars) ? '' : "<option value=\"\">{$vars['extra']}</option>"\r
85                         );\r
86                         break;\r
87                 case 'BODY':\r
88                         $current = $vars['current'];\r
89                         if ( !array_key_exists('SHOWLIST_LISTPLUG_SELECT_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_SELECT_BODY']) )\r
90                         {\r
91                                 $template = "<option value=\"<%value%>\" <%selected%> title=\"<%title%>\"><%option%></option>\n";\r
92                         }\r
93                         else\r
94                         {\r
95                                 $template = $templates['SHOWLIST_LISTPLUG_SELECT_BODY'];\r
96                         }\r
97                         $data = array(\r
98                                 'value'         => Entity::hsc($current['value']),\r
99                                 'selected'      => ($vars['selected'] == $current['value']) ? 'selected="selected"' : '',\r
100                         );\r
101                         if ( array_key_exists('shorten', $vars) && $vars['shorten'] > 0 )\r
102                         {\r
103                                 $data['title'] = Entity::hsc($current['text']);\r
104                                 $data['option'] = Entity::hsc(Entity::shorten($current['text'], $vars['shorten'], $vars['shortenel']));\r
105                         }\r
106                         else\r
107                         {\r
108                                 $data['title'] = '';\r
109                         }\r
110                         $data['option'] = Entity::hsc($current['text']);\r
111                         break;\r
112                 case 'FOOT':\r
113                         if ( !array_key_exists('SHOWLIST_LISTPLUG_SELECT_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_SELECT_FOOT']) )\r
114                         {\r
115                                 $template = "</select>\n";\r
116                         }\r
117                         else\r
118                         {\r
119                                 $template = $templates['SHOWLIST_LISTPLUG_SELECT_FOOT'];\r
120                         }\r
121                         $data = array();\r
122                         break;\r
123         }\r
124         \r
125         return Template::fill($template, $data);\r
126 }\r
127 \r
128 function listplug_table($vars, $type, $template_name = '')\r
129 {\r
130         global $manager;\r
131         \r
132         $templates = array();\r
133         if ( !empty($template_name) )\r
134         {\r
135                 $templates =& $manager->getTemplate($template_name);\r
136         }\r
137         \r
138         switch( $type )\r
139         {\r
140                 case 'HEAD':\r
141                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_HEAD']) )\r
142                         {\r
143                                 $template = "<table frame=\"box\" rules=\"all\" summary=\"{$vars['content']}\">\n"\r
144                                           . "<thead>\n"\r
145                                           . "<tr>\n"\r
146                                           . "<%typehead%>\n"\r
147                                           . "</tr>\n"\r
148                                           . "</thead>\n"\r
149                                           . "<tbody>\n";\r
150                         }\r
151                         else\r
152                         {\r
153                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_HEAD'];\r
154                         }\r
155                         $data = array(\r
156                                 'summary'       =>      $vars['content'],\r
157                                 'typehead' => call_user_func("listplug_table_" . $vars['content'] , $vars, 'HEAD', $template_name)\r
158                         );\r
159                         break;\r
160                 case 'BODY':\r
161                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BODY']) )\r
162                         {\r
163                                 $template = "<tr onmouseover=\"focusRow(this);\" onmouseout=\"blurRow(this);\">\n"\r
164                                           . "<%typebody%>\n"\r
165                                           . "</tr>\n";\r
166                         }\r
167                         else\r
168                         {\r
169                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_BODY'];\r
170                         }\r
171                         // tabletype specific thingies\r
172                         $data = array(\r
173                                 'typebody' => call_user_func("listplug_table_" . $vars['content'] , $vars, 'BODY', $template_name)\r
174                         );\r
175                         break;\r
176                 case 'FOOT':\r
177                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_FOOT']) )\r
178                         {\r
179                                 $template = "<%typefoot%>\n"\r
180                                           . "</tbody>\n"\r
181                                           . "</table>\n";\r
182                         }\r
183                         else\r
184                         {\r
185                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_FOOT'];\r
186                         }\r
187                         // tabletype specific thingies\r
188                         $data = array(\r
189                                 'typefoot' => call_user_func("listplug_table_" . $vars['content'] , $vars, 'FOOT', $template_name)\r
190                         );\r
191                         break;\r
192         }\r
193         \r
194         return Template::fill($template, $data);\r
195 }\r
196 \r
197 function listplug_table_memberlist($vars, $type, $template_name = '')\r
198 {\r
199         global $manager;\r
200         \r
201         $templates = array();\r
202         if ( !empty($template_name) )\r
203         {\r
204                 $templates =& $manager->getTemplate($template_name);\r
205         }\r
206         \r
207         switch( $type )\r
208         {\r
209                 case 'HEAD':\r
210                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD']) )\r
211                         {\r
212                                 $template = "<th><%colmembername%></th>\n"\r
213                                           . "<th><%colmemberrname%></th>\n"\r
214                                           . "<th><%colmemberurl%></th>\n"\r
215                                           . "<th><%colmemberadmin%><%helplink(superadmin)%></th>\n"\r
216                                           . "<th><%colmemberlogin%><%helplink(canlogin)%></th>\n"\r
217                                           . "<th colspan=\"2\"><%colactions%></th>\n";\r
218                         }\r
219                         else\r
220                         {\r
221                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_MEMBLIST_HEAD'];\r
222                         }\r
223                         $data = array(\r
224                                 'colmembername'         => _LIST_MEMBER_NAME,\r
225                                 'colmemberrname'        => _LIST_MEMBER_RNAME,\r
226                                 'colmemberurl'          => _LIST_MEMBER_URL,\r
227                                 'colmemberadmin'        => _LIST_MEMBER_ADMIN,\r
228                                 'colmemberlogin'        => _LIST_MEMBER_LOGIN,\r
229                                 'colactions'            => _LISTS_ACTIONS,\r
230                         );\r
231                         break;\r
232                 case 'BODY':\r
233                         $current = $vars['current'];\r
234                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY']) )\r
235                         {\r
236                                 $template = "<td>\n"\r
237                                           . "<input type=\"checkbox\" id=\"batch<%id%>\" name=\"batch[<%id%>]\" value=\"<%memberid%>\" />\n"\r
238                                           . "<label for=\"batch<%id%>\">\n"\r
239                                           . "<a href=\"mailto:<%mailaddress%>\" tabindex=\"<%tabindex%>\"><%name%></a>\n"\r
240                                           . "</label>\n</td>\n"\r
241                                           . "<td><%realname%></td>\n"\r
242                                           . "<td><a href=\"<%url%>\" tabindex=\"<%tabindex%>\"><%url%></a></td>\n"\r
243                                           . "<td><%admin%></td>\n"\r
244                                           . "<td><%login%></td>\n"\r
245                                           . "<td><a href=\"index.php?action=memberedit&amp;memberid=<%memberid%>\" tabindex=\"<%tabindex%>\"><%editbtn%></a></td>\n"\r
246                                           . "<td><a href=\"index.php?action=memberdelete&amp;memberid=<%memberid%>\" tabindex=\"<%tabindex%>\"><%deletebtn%></a></td>\n";\r
247                         }\r
248                         else\r
249                         {\r
250                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_MEMBLIST_BODY'];\r
251                         }\r
252                         $data = array(\r
253                                 'id'                    => listplug_nextBatchId(),\r
254                                 'memberid'              => $current['mnumber'],\r
255                                 'mailaddress'   => Entity::hsc($current['memail']),\r
256                                 'tabindex'              => $vars['tabindex'],\r
257                                 'name'                  => Entity::hsc($current['mname']),\r
258                                 'realname'              => Entity::hsc($current['mrealname']),\r
259                                 'url'                   => Entity::hsc($current['murl']),\r
260                                 'admin'                 => $current['madmin'] ? _YES : _NO,\r
261                                 'login'                 => $current['mcanlogin'] ? _YES : _NO,\r
262                                 'editbtn'               => _LISTS_EDIT,\r
263                                 'deletebtn'             => _LISTS_DELETE,\r
264                         );\r
265                         break;\r
266                 case 'FOOT':\r
267                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_MEMBLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_MEMBLIST_FOOT']) )\r
268                         {\r
269                                 $template = "";\r
270                         }\r
271                         else\r
272                         {\r
273                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_MEMBLIST_FOOT'];\r
274                         }\r
275                         $data = array();\r
276                         break;\r
277         }\r
278         return Template::fill($template, $data);\r
279 }\r
280 \r
281 function listplug_table_teamlist($vars, $type, $template_name = '')\r
282 {\r
283         global $manager;\r
284         \r
285         $templates = array();\r
286         if ( !empty($template_name) )\r
287         {\r
288                 $templates =& $manager->getTemplate($template_name);\r
289         }\r
290         \r
291         switch( $type )\r
292         {\r
293                 case 'HEAD':\r
294                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD']) )\r
295                         {\r
296                                 $template = "<th><%colmembername%></th>\n"\r
297                                           . "<th><%colmemberrname%></th>\n"\r
298                                           . "<th><%colteamadmin%><%helplink(teamadmin)%></th>\n"\r
299                                           . "<th colspan=\"2\"><%colactions%></th>\n";\r
300                         }\r
301                         else\r
302                         {\r
303                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_TEAMLIST_HEAD'];\r
304                         }\r
305                         $data = array(\r
306                                 'colmembername'         => _LIST_MEMBER_NAME,\r
307                                 'colmemberrname'        => _LIST_MEMBER_RNAME,\r
308                                 'colteamadmin'          => _LIST_TEAM_ADMIN,\r
309                                 'colactions'            => _LISTS_ACTIONS,\r
310                         );\r
311                         break;\r
312                 case 'BODY':\r
313                         $current = $vars['current'];\r
314                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY']) )\r
315                         {\r
316                                 $template = "<td>\n"\r
317                                           . "<input type=\"checkbox\" id=\"batch<%id%>\" name=\"batch[<%id%>]\" value=\"<%memberid%>\" />\n"\r
318                                           . "<label for=\"batch<%id%>\">\n"\r
319                                           . "<a href=\"mailto:<%mailaddress%>\" tabindex=\"<%tabindex%>\"><%name%></a>\n"\r
320                                           . "</label>\n</td>\n"\r
321                                           . "<td><%realname%></td>\n"\r
322                                           . "<td><%admin%></td>\n"\r
323                                           . "<td><a href=\"index.php?action=teamdelete&amp;memberid=<%memberid%>&amp;blogid=<%blogid%>\" tabindex=\"<%tabindex%>\"><%deletebtn%></a></td>\n"\r
324                                           . "<td><a href=\"<%chadminurl%>\" tabindex=\"<%tabindex%>\"><%chadminbtn%></a></td>\n";\r
325                         }\r
326                         else\r
327                         {\r
328                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_TEAMLIST_BODY'];\r
329                         }\r
330                         $url  = 'index.php?action=teamchangeadmin&memberid=' . intval($current['tmember']) . '&blogid=' . intval($current['tblog']);\r
331                         $url  = $manager->addTicketToUrl($url);\r
332                         $data = array(\r
333                                         'id'                    => listplug_nextBatchId(),\r
334                                         'memberid'              => $current['tmember'],\r
335                                         'mailaddress'   => Entity::hsc($current['memail']),\r
336                                         'tabindex'              => $vars['tabindex'],\r
337                                         'name'                  => Entity::hsc($current['mname']),\r
338                                         'realname'              => Entity::hsc($current['mrealname']),\r
339                                         'admin'                 => ($current['tadmin'] ? _YES : _NO),\r
340                                         'blogid'                => $current['tblog'],\r
341                                         'deletebtn'             => '<%text(_LISTS_DELETE)%>',\r
342                                         'chadminurl'    => Entity::hsc($url),\r
343                                         'chadminbtn'    => '<%text(_LIST_TEAM_CHADMIN)%>'\r
344                         );\r
345                         break;\r
346                 case 'FOOT':\r
347                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_TEAMLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_TEAMLIST_FOOT']) )\r
348                         {\r
349                                 $template = "";\r
350                         }\r
351                         else\r
352                         {\r
353                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_TEAMLIST_FOOT'];\r
354                         }\r
355                         $data = array();\r
356                         break;\r
357         }\r
358         return Template::fill($template, $data);\r
359 }\r
360 \r
361 function listplug_table_pluginlist($vars, $type, $template_name = '')\r
362 {\r
363         static $plugins = array();\r
364         global $manager;\r
365         \r
366         $templates = array();\r
367         if ( !empty($template_name) )\r
368         {\r
369                 $templates =& $manager->getTemplate($template_name);\r
370         }\r
371         \r
372         switch( $type )\r
373         {\r
374                 case 'HEAD':\r
375                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD']) )\r
376                         {\r
377                                 $template = "<th><%colinfo%></th>\n"\r
378                                           . "<th><%coldesc%></th>\n"\r
379                                           . "<th colspan=\"2\"><%colactions%></th>\n";\r
380                         }\r
381                         else\r
382                         {\r
383                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HEAD'];\r
384                         }\r
385                         $data = array(\r
386                                 'colinfo'    => _LISTS_INFO,\r
387                                 'coldesc'    => _LISTS_DESC,\r
388                                 'colactions' => _LISTS_ACTIONS,\r
389                         );\r
390                         break;\r
391                 case 'BODY':\r
392                         $current = $vars['current'];\r
393                         \r
394                         $plug =& $manager->getPlugin($current['pfile']);\r
395                         if ( $plug )\r
396                         {\r
397                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY']) )\r
398                                 {\r
399                                         $template = "<td>\n"\r
400                                                   . "<strong><%plugname%></strong><br />\n"\r
401                                                   . "<%autherlabel%> <%plugauther%><br />\n"\r
402                                                   . "<%versionlabel%> <%plugversion%><br />\n"\r
403                                                   . "<%pluggeturl%><br />\n"\r
404                                                   . "</td>\n"\r
405                                                   . "<td>\n"\r
406                                                   . "<%desclabel%><br /><%plugdesc%>\n"\r
407                                                   . "<%eventlist%>\n"\r
408                                                   . "<%needupdate%>\n"\r
409                                                   . "<%dependlist%>\n"\r
410                                                   . "<%depreqlist%>\n"\r
411                                                   . "</td>\n";\r
412                                 }\r
413                                 else\r
414                                 {\r
415                                         $template = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_BODY'];\r
416                                 }\r
417                                 $data = array(\r
418                                         'plugname'              => Entity::hsc($plug->getName()),\r
419                                         'autherlabel'   => _LIST_PLUGS_AUTHOR,\r
420                                         'plugauther'    => Entity::hsc($plug->getAuthor()),\r
421                                         'versionlabel'  => _LIST_PLUGS_VER,\r
422                                         'plugversion'   => Entity::hsc($plug->getVersion()),\r
423                                         'tabindex'              => $vars['tabindex'],\r
424                                         'desclabel'             => _LIST_PLUGS_DESC,\r
425                                         'plugdesc'              => Entity::hen($plug->getDescription()),\r
426                                 );\r
427                                 if ( $plug->getURL() )\r
428                                 {\r
429                                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL']) )\r
430                                         {\r
431                                                 $subTpl = "<a href=\"<%plugurl%>\" tabindex=\"<%tabindex%>\"><%plugsite%></a>";\r
432                                         }\r
433                                         else\r
434                                         {\r
435                                                 $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_GURL'];\r
436                                         }\r
437                                         $subData = array(\r
438                                                 'plugurl'       => Entity::hsc($plug->getURL()),\r
439                                                 'tabindex'      => $vars['tabindex'],\r
440                                                 'plugsite'      => _LIST_PLUGS_SITE,\r
441                                         );\r
442                                         $data['pluggeturl'] = Template::fill($subTpl, $subData);\r
443                                 }\r
444                                 else\r
445                                 {\r
446                                         $data['pluggeturl'] = '';\r
447                                 }\r
448                                 if ( count($plug->getEventList()) > 0 )\r
449                                 {\r
450                                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST']) )\r
451                                         {\r
452                                                 $subTpl = "<br /><br /><%evntlstlbl%><br /><%eventlist%>";\r
453                                         }\r
454                                         else\r
455                                         {\r
456                                                 $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGEVENTLIST'];\r
457                                         }\r
458                                         $subData = array(\r
459                                                 'evntlstlbl'    => _LIST_PLUGS_SUBS,\r
460                                                 'eventlist'             => Entity::hsc(implode(', ', $plug->getEventList())),\r
461                                         );\r
462                                         $data['eventlist'] = Template::fill($subTpl, $subData);\r
463                                 }\r
464                                 else\r
465                                 {\r
466                                         $data['eventlist'] = '';\r
467                                 }\r
468                                 if ( !$plug->subscribtionListIsUptodate() )\r
469                                 {\r
470                                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE']) )\r
471                                         {\r
472                                                 $subTpl = "<br /><br /><strong><%updatealert%></strong>";\r
473                                         }\r
474                                         else\r
475                                         {\r
476                                                 $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGNEDUPDATE'];\r
477                                         }\r
478                                         $subData = array(\r
479                                                 'updatealert' => _LIST_PLUG_SUBS_NEEDUPDATE,\r
480                                         );\r
481                                         $data['needupdate'] = Template::fill($subTpl, $subData);\r
482                                 }\r
483                                 else\r
484                                 {\r
485                                         $data['needupdate'] = '';\r
486                                 }\r
487                                 if ( count($plug->getPluginDep() ) > 0)\r
488                                 {\r
489                                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND']) )\r
490                                         {\r
491                                                 $subTpl = "<br /><br /><%deplistlbl%><br /><%dependlist%>";\r
492                                         }\r
493                                         else\r
494                                         {\r
495                                                 $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPEND'];\r
496                                         }\r
497                                         $subData = array(\r
498                                                 'deplistlbl' => _LIST_PLUGS_DEP,\r
499                                                 'dependlist' => Entity::hsc(implode(', ', $plug->getPluginDep())),\r
500                                         );\r
501                                         $data['dependlist'] = Template::fill($subTpl, $subData);\r
502                                 }\r
503                                 else\r
504                                 {\r
505                                         $data['dependlist'] = '';\r
506                                 }\r
507                                 /* check dependency */\r
508                                 if ( empty($plugins) )\r
509                                 {\r
510                                         $plugins = DB::getResult('SELECT pfile FROM ' . sql_table('plugin'));\r
511                                 }\r
512                                 $req = array();\r
513                                 foreach ( $plugins as $plugin )\r
514                                 {\r
515                                         $preq =& $manager->getPlugin($plugin['pfile']);\r
516                                         if ( $preq )\r
517                                         {\r
518                                                 $depList = $preq->getPluginDep();\r
519                                                 foreach ( $depList as $depName )\r
520                                                 {\r
521                                                         if ( $current['pfile'] == $depName )\r
522                                                         {\r
523                                                                 $req[] = $plugin['pfile'];\r
524                                                         }\r
525                                                 }\r
526                                         }\r
527                                 }\r
528                                 \r
529                                 if ( count($req) > 0 )\r
530                                 {\r
531                                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ']) )\r
532                                         {\r
533                                                 $subTpl = "<br /><br /><%deprlstlbl%><br /><%depreqlist%>";\r
534                                         }\r
535                                         else\r
536                                         {\r
537                                                 $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGIN_DEPREQ'];\r
538                                         }\r
539                                         $subData = array(\r
540                                                 'deprlstlbl' => _LIST_PLUGS_DEPREQ,\r
541                                                 'depreqlist' => Entity::hsc(implode(', ', $req)),\r
542                                         );\r
543                                         $data['depreqlist'] = Template::fill($subTpl, $subData);\r
544                                 }\r
545                                 else\r
546                                 {\r
547                                         $data['depreqlist'] = '';\r
548                                 }\r
549                         }\r
550                         else\r
551                         {\r
552                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE']) )\r
553                                 {\r
554                                         $template = "<td colspan=\"2\"><%noplugalert%></td>\n";\r
555                                 }\r
556                                 else\r
557                                 {\r
558                                         $template = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLISTFALSE'];\r
559                                 }\r
560                                 $data = array(\r
561                                         'noplugalert' => sprintf(_PLUGINFILE_COULDNT_BELOADED, Entity::hsc($current['pfile'])),\r
562                                 );\r
563                         }\r
564                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN']) )\r
565                         {\r
566                                 $template .= "<td>\n"\r
567                                            . "<a href=\"<%actionupurl%>\" tabindex=\"<%tabindex%>\"><%actionuptxt%></a><br />\n"\r
568                                            . "<a href=\"<%actiondownurl%>\" tabindex=\"<%tabindex%>\"><%actiondowntxt%></a><br />\n"\r
569                                            . "<a href=\"<%actuninsturl%>\" tabindex=\"<%tabindex%>\"><%actuninsttxt%></a><br />"\r
570                                            . "<%plugadminurl%>\n"\r
571                                            . "<%plughelpurl%>\n"\r
572                                            . "<%plugoptsetting%>\n"\r
573                                            . "</td>\n";\r
574                         }\r
575                         else\r
576                         {\r
577                                 $template .= $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ACTN'];\r
578                         }\r
579                         \r
580                         $baseUrl        = 'index.php?plugid=' . $current['pid'] . '&action=';\r
581                         $upUrl          = $manager->addTicketToUrl($baseUrl . 'pluginup');\r
582                         $downUrl        = $manager->addTicketToUrl($baseUrl . 'plugindown');\r
583                         \r
584                         $data['actionuptxt']    = _LIST_PLUGS_UP;\r
585                         $data['actionupurl']    = Entity::hsc($upUrl);\r
586                         $data['actiondowntxt']  = _LIST_PLUGS_DOWN;\r
587                         $data['actiondownurl']  = Entity::hsc($downUrl);\r
588                         $data['actuninsttxt']   = _LIST_PLUGS_UNINSTALL;\r
589                         $data['actuninsturl']   = 'index.php?action=plugindelete&amp;plugid=' . $current['pid'];\r
590                         \r
591                         if ( $plug && ($plug->hasAdminArea() > 0) )\r
592                         {\r
593                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN']) )\r
594                                 {\r
595                                         $subTpl = "<a href=\"<%actadminurl%>\" tabindex=\"<%tabindex%>\"><%actadmintxt%></a><br />\n";\r
596                                 }\r
597                                 else\r
598                                 {\r
599                                         $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_ADMN'];\r
600                                 }\r
601                                 $subData = array(\r
602                                         'actadminurl'   => Entity::hsc($plug->getAdminURL()),\r
603                                         'tabindex'              => $vars['tabindex'],\r
604                                         'actadmintxt'   => _LIST_PLUGS_ADMIN,\r
605                                 );\r
606                                 $data['plugadminurl'] = Template::fill($subTpl, $subData);\r
607                         }\r
608                         else\r
609                         {\r
610                                 $data['plugadminurl'] = '';\r
611                         }\r
612                         if ( $plug && ($plug->supportsFeature('HelpPage') > 0) )\r
613                         {\r
614                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP']) )\r
615                                 {\r
616                                         $subTpl = "<a href=\"<%acthelpurl%>\" tabindex=\"<%tabindex%>\"><%acthelptxt%></a><br />\n";\r
617                                 }\r
618                                 else\r
619                                 {\r
620                                         $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_HELP'];\r
621                                 }\r
622                                 $subData = array(\r
623                                         'acthelpurl'    => 'index.php?action=pluginhelp&amp;plugid=' . $current['pid'],\r
624                                         'tabindex'              => $vars['tabindex'],\r
625                                         'acthelptxt'    => _LIST_PLUGS_HELP,\r
626                                 );\r
627                                 $data['plughelpurl'] = Template::fill($subTpl, $subData);\r
628                         }\r
629                         else\r
630                         {\r
631                                 $data['plughelpurl'] = '';\r
632                         }\r
633                         $optQuery = 'SELECT '\r
634                                   . '    COUNT(*) AS result '\r
635                                   . 'FROM '\r
636                                   .      sql_table('plugin_option_desc') . ' '\r
637                                   . 'WHERE '\r
638                                   . '    ocontext = "global" '\r
639                                   . 'AND opid     = %d';\r
640                         $pOptions = DB::getValue(sprintf($optQuery, $current['pid']));\r
641                         if ( $pOptions > 0 )\r
642                         {\r
643                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL']) )\r
644                                 {\r
645                                         $subTpl = "<a href=\"<%actoptionurl%>\" tabindex=\"<%tabindex%>\"><%actoptiontxt%></a>\n";\r
646                                 }\r
647                                 else\r
648                                 {\r
649                                         $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGOPTSETURL'];\r
650                                 }\r
651                                 $subData = array(\r
652                                         'actoptionurl'  => 'index.php?action=pluginoptions&amp;plugid=' . $current['pid'],\r
653                                         'tabindex'              => $vars['tabindex'],\r
654                                         'actoptiontxt'  => _LIST_PLUGS_OPTIONS,\r
655                                 );\r
656                                 $data['plugoptsetting'] = Template::fill($subTpl, $subData);\r
657                         }\r
658                         else\r
659                         {\r
660                                 $data['plugoptsetting'] = '';\r
661                         }\r
662                         break;\r
663                 case 'FOOT':\r
664                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_FOOT']) )\r
665                         {\r
666                                 $template = "";\r
667                         }\r
668                         else\r
669                         {\r
670                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_PLUGLIST_FOOT'];\r
671                         }\r
672                         $data = array();\r
673                         break;\r
674         }\r
675         return Template::fill($template, $data);\r
676 }\r
677 \r
678 function listplug_table_plugoptionlist($vars, $type, $template_name = '')\r
679 {\r
680         global $manager;\r
681         \r
682         $templates = array();\r
683         if ( !empty($template_name) )\r
684         {\r
685                 $templates =& $manager->getTemplate($template_name);\r
686         }\r
687         \r
688         switch( $type )\r
689         {\r
690                 case 'HEAD':\r
691                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD']) )\r
692                         {\r
693                                 $template = "<th><%colinfo%></th>\n"\r
694                                           . "<th><%colvalue%></th>\n";\r
695                         }\r
696                         else\r
697                         {\r
698                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_POPTLIST_HEAD'];\r
699                         }\r
700                         $data = array(\r
701                                 'colinfo'       => _LISTS_INFO,\r
702                                 'colvalue'      => _LISTS_VALUE,\r
703                         );\r
704                         break;\r
705                 case 'BODY':\r
706                         $current = $vars['current'];\r
707                         $template = listplug_plugOptionRow($current, $template_name);\r
708                         $data = array();\r
709                         break;\r
710                 case 'FOOT':\r
711                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT']) )\r
712                         {\r
713                                 $template = "<tr>\n"\r
714                                           . "<th colspan=\"2\"><%savetext%></th>\n"\r
715                                           . "</tr>\n"\r
716                                           . "<tr>\n"\r
717                                           . "<td><%savetext%></td>\n"\r
718                                           . "<td><input type=\"submit\" value=\"<%savetext%>\" /></td>\n"\r
719                                           . "</tr>\n";\r
720                         }\r
721                         else\r
722                         {\r
723                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_POPTLIST_FOOT'];\r
724                         }\r
725                         $data = array(\r
726                                 'savetext' => _PLUGS_SAVE,\r
727                         );\r
728                         break;\r
729         }\r
730         \r
731         return Template::fill($template, $data);\r
732 }\r
733 \r
734 function listplug_plugOptionRow($current, $template_name = '')\r
735 {\r
736         global $manager;\r
737         \r
738         $templates = array();\r
739         if ( !empty($template_name) )\r
740         {\r
741                 $templates =& $manager->getTemplate($template_name);\r
742         }\r
743         \r
744         $varname = "plugoption[{$current['oid']}][{$current['contextid']}]";\r
745         \r
746         // retreive the optionmeta\r
747         $meta = NucleusPlugin::getOptionMeta($current['typeinfo']);\r
748         \r
749         // only if it is not a hidden option write the controls to the page\r
750         if ( in_array('access', $meta) && $meta['access'] == 'hidden' )\r
751         {\r
752                 return false;\r
753         }\r
754         else\r
755         {\r
756                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY']) )\r
757                 {\r
758                         $template = "<td><%description%></td>\n"\r
759                                   . "<td>\n";\r
760                 }\r
761                 else\r
762                 {\r
763                         $template = $templates['SHOWLIST_LISTPLUG_TABLE_POPTLIST_BODY'];\r
764                 }\r
765                 \r
766                 $data = array();\r
767                 \r
768                 switch($current['type'])\r
769                 {\r
770                         case 'yesno':\r
771                                 $template .= listplug_input_yesno($varname, $current['value'], 0, 'yes', 'no', _YES, _NO, 0, $template_name, 1);\r
772                                 break;\r
773                         case 'password':\r
774                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD']) )\r
775                                 {\r
776                                         $template .= "<input type=\"password\" size=\"40\" maxlength=\"128\" name=\"<%varname%>\" value=\"<%value%>\" />\n";\r
777                                 }\r
778                                 else\r
779                                 {\r
780                                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OPWORD'];\r
781                                 }\r
782                                 $data = array(\r
783                                         'varname'       => Entity::hsc($varname),\r
784                                         'value'         => Entity::hsc($current['value']),\r
785                                 );\r
786                                 break;\r
787                         case 'select':\r
788                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP']) )\r
789                                 {\r
790                                         $template .= "<select name=\"<%varname%>\">\n";\r
791                                 }\r
792                                 else\r
793                                 {\r
794                                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEP'];\r
795                                 }\r
796                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO']) )\r
797                                 {\r
798                                         $subTpl = "<option value=\"<%value%>\"<%selected%>><%optname%></option>\n";\r
799                                 }\r
800                                 else\r
801                                 {\r
802                                         $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEO'];\r
803                                 }\r
804                                 $options = NucleusPlugin::getOptionSelectValues($current['typeinfo']);\r
805                                 $options = preg_split('#\|#', $options);\r
806                                 \r
807                                 for ( $i=0; $i<(count($options)-1); $i+=2 )\r
808                                 {\r
809                                         $name   = $options[$i];\r
810                                         $value  = $options[$i+1];\r
811                                         if ( defined($name) )\r
812                                         {\r
813                                                 $name = constant($name);\r
814                                         }\r
815                                         \r
816                                         $subData = array(\r
817                                                 'optname'       => Entity::hsc($name),\r
818                                                 'value'         => Entity::hsc($value)\r
819                                         );\r
820                                         if ($value != $current['value'])\r
821                                         {\r
822                                                 $subData['selected'] = '';\r
823                                         }\r
824                                         else\r
825                                         {\r
826                                                 $subData['selected'] = ' selected="selected"';\r
827                                         }\r
828                                         $template .= Template::fill($subTpl, $subData);\r
829                                 }\r
830                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC']) )\r
831                                 {\r
832                                         $template .= "</select>\n";\r
833                                 }\r
834                                 else\r
835                                 {\r
836                                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OSELEC'];\r
837                                 }\r
838                                 $data['varname'] = Entity::hsc($varname);\r
839                                 break;\r
840                         case 'textarea':\r
841                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA']) )\r
842                                 {\r
843                                         $template .= "<textarea class=\"pluginoption\" cols=\"30\" rows=\"5\" name=\"<%varname%>\"<%readonly%>><%value%></textarea>\n";\r
844                                 }\r
845                                 else\r
846                                 {\r
847                                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OTAREA'];\r
848                                 }\r
849                                 $data = array(\r
850                                         'varname'       => Entity::hsc($varname),\r
851                                         'value'         => Entity::hsc($current['value'])\r
852                                 );\r
853                                 if ( !array_key_exists('access', $current) || $current['access'] != 'readonly')\r
854                                 {\r
855                                         $data['readonly'] = '';\r
856                                 }\r
857                                 else\r
858                                 {\r
859                                         $data['readonly'] = ' readonly="readonly"';\r
860                                 }\r
861                                 break;\r
862                         case 'text':\r
863                         default:\r
864                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT']) )\r
865                                 {\r
866                                         $template .= "<input type=\"text\" size=\"40\" maxlength=\"128\" name=\"<%varname%>\" value=\"<%value%>\"<%datatype%><%readonly%> />\n";\r
867                                 }\r
868                                 else\r
869                                 {\r
870                                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OITEXT'];\r
871                                 }\r
872                                 $data = array(\r
873                                         'varname'       => Entity::hsc($varname),\r
874                                         'value'         => Entity::hsc($current['value'])\r
875                                 );\r
876                                 if ( !array_key_exists('datatype', $current) || $current['datatype'] != 'numerical')\r
877                                 {\r
878                                         $data['datatype'] = '';\r
879                                 }\r
880                                 else\r
881                                 {\r
882                                         $data['datatype'] = ' onkeyup="checkNumeric(this)" onblur="checkNumeric(this)"';\r
883                                 }\r
884                                 if ( !array_key_exists('access', $current) || $current['access'] != 'readonly')\r
885                                 {\r
886                                         $data['readonly'] = '';\r
887                                 }\r
888                                 else\r
889                                 {\r
890                                         $data['readonly'] = ' readonly="readonly"';\r
891                                 }\r
892                 }\r
893                 \r
894                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT']) )\r
895                 {\r
896                         $template .= "<%extra%></td>\n";\r
897                 }\r
898                 else\r
899                 {\r
900                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_PLUGOPTN_FOOT'];\r
901                 }\r
902                 \r
903                 if ( !array_key_exists('extra', $current) )\r
904                 {\r
905                         $data['extra'] = '';\r
906                 }\r
907                 else\r
908                 {\r
909                         $data['extra'] = Entity::hsc($current['extra']);\r
910                 }\r
911                 \r
912                 if ( !array_key_exists('description', $current) )\r
913                 {\r
914                         $data['description'] = Entity::hsc($current['name']);\r
915                 }\r
916                 else if ( !defined($current['description']) )\r
917                 {\r
918                         $data['description'] = Entity::hsc($current['description']);\r
919                 }\r
920                 else\r
921                 {\r
922                         $data['description'] = Entity::hsc(constant($current['description']));\r
923                 }\r
924         }\r
925         return Template::fill($template, $data, 1);\r
926 }\r
927 \r
928 /**\r
929  * listplug_templateEditRow()\r
930  * \r
931  * @param       array   $content                content of target template\r
932  * @param       string  $desc                   description of target template\r
933  * @param       string  $name                   name of target template\r
934  * @param       string  $help                   help text\r
935  * @param       integer $tabindex               a number for tab index\r
936  * @param       boolean $big                    large or small textarea\r
937  * @param       array   $template_name  name of template for filling\r
938  * @return      void\r
939  */\r
940 function listplug_templateEditRow($content, $desc, $name, $help = '', $tabindex = 0, $big = 0, $template_name = '')\r
941 {\r
942         global $manager;\r
943         \r
944         static $count = 0;\r
945         \r
946         $tmplt = array();\r
947         $base  = array();\r
948         \r
949         $templates = array();\r
950         if ( $template_name )\r
951         {\r
952                 $templates =& $manager->getTemplate($template_name);\r
953         }\r
954         \r
955         $data = array(\r
956                 'description'   => $desc,\r
957                 'help'                  => empty($help) ? '' : helpHtml('template' . $help),\r
958                 'count'                 => $count++,\r
959                 'name'                  => $name,\r
960                 'tabindex'              => $tabindex,\r
961                 'rows'                  => $big ? 10 : 5,\r
962         );\r
963         \r
964         $message = '';\r
965         \r
966         /* row head */\r
967         if ( !array_key_exists('TEMPLATE_EDIT_ROW_HEAD', $templates) || empty($tmplt['TEMPLATE_EDIT_ROW_HEAD']) )\r
968         {\r
969                 $template = "</tr>"\r
970                           . "<tr>\n"\r
971                           . "<td><%description%><%help%></td>\n"\r
972                           . "<td id=\"td<%count%>\">\n"\r
973                           . "<textarea class=\"templateedit\" name=\"<%name%>\" tabindex=\"<%tabindex%>\" cols=\"50\" rows=\"<%rows%>\" id=\"textarea<%count%>\">";\r
974         }\r
975         else\r
976         {\r
977                 $template = $tmplt['TEMPLATE_EDIT_ROW_HEAD'];\r
978         }\r
979         $message .= TEMPLATE::fill($template, $data);\r
980         \r
981         /* row content */\r
982         $message .= ENTITY::hsc($content);\r
983         \r
984         /* row tail */\r
985         if ( !array_key_exists('TEMPLATE_EDIT_ROW_TAIL', $templates) || empty($tmplt['TEMPLATE_EDIT_ROW_TAIL']) )\r
986         {\r
987                 $template = "</textarea>\n"\r
988                           . "</td>\n";\r
989         }\r
990         else\r
991         {\r
992                 $template = $tmplt['TEMPLATE_EDIT_ROW_TAIL'];\r
993         }\r
994         $message .= TEMPLATE::fill($template, $data);\r
995         \r
996         return $message;\r
997 }\r
998 \r
999 function listplug_table_itemlist($vars, $type, $template_name = '')\r
1000 {\r
1001         global $manager;\r
1002         \r
1003         $cssclass  = '';\r
1004         \r
1005         $templates = array();\r
1006         if ( !empty($template_name) )\r
1007         {\r
1008                 $templates =& $manager->getTemplate($template_name);\r
1009         }\r
1010         \r
1011         switch( $type )\r
1012         {\r
1013                 case 'HEAD':\r
1014                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD']) )\r
1015                         {\r
1016                                 $template = "<th><%colinfo%></th>\n"\r
1017                                           . "<th><%colcontent%></th>\n"\r
1018                                           . "<th style=\"white-space:nowrap\"><%colaction%></th>\n";\r
1019                         }\r
1020                         else\r
1021                         {\r
1022                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ITEMLIST_HEAD'];\r
1023                         }\r
1024                         $data = array(\r
1025                                 'colinfo'               => _LIST_ITEM_INFO,\r
1026                                 'colcontent'    => _LIST_ITEM_CONTENT,\r
1027                                 'colaction'             => _LISTS_ACTIONS\r
1028                         );\r
1029                         break;\r
1030                 case 'BODY':\r
1031                         $current = $vars['current'];\r
1032                         // string -> unix timestamp\r
1033                         $current['itime'] = strtotime($current['itime']);\r
1034                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY']) )\r
1035                         {\r
1036                                 $template = "<td<%cssclass%>>\n"\r
1037                                           . "<%bshortlabel%> <%bshortnameval%><br />\n"\r
1038                                           . "<%categorylabel%> <%categorynameval%><br />\n"\r
1039                                           . "<%authorlabel%> <%authornameval%><br />\n"\r
1040                                           . "<%itemdatelabel%> <%itemdateval%><br />\n"\r
1041                                           . "<%itemtimelabel%> <%itemtimeval%>\n"\r
1042                                           . "</td>\n"\r
1043                                           . "<td<%cssclass%>>\n"\r
1044                                           . "<input type=\"checkbox\" id=\"batch<%batchid%>\" name=\"batch[<%batchid%>]\" value=\"<%itemid%>\" />\n"\r
1045                                           . "<label for=\"batch<%batchid%>\"><b><%itemtitle%></b></label><br />\n"\r
1046                                           . "<%itembody%>\n"\r
1047                                           . "</td>\n"\r
1048                                           . "<td<%cssclass%>>\n"\r
1049                                           . "<a href=\"index.php?action=itemedit&amp;itemid=<%itemid%>\"><%editbtn%></a><br />\n"\r
1050                                           . "<a href=\"index.php?action=itemmove&amp;itemid=<%itemid%>\"><%movebtn%></a><br />\n"\r
1051                                           . "<a href=\"index.php?action=itemdelete&amp;itemid=<%itemid%>\"><%delbtn%></a><br />\n"\r
1052                                           . "<%camount%>\n"\r
1053                                           . "</td>\n";\r
1054                         }\r
1055                         else\r
1056                         {\r
1057                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ITEMLIST_BODY'];\r
1058                         }\r
1059                         $cssclass  = '';\r
1060                         \r
1061                         if ( $current['idraft'] == 1 )\r
1062                         {\r
1063                                 $cssclass = ' class="draft"';\r
1064                         }\r
1065                         \r
1066                         // (can't use offset time since offsets might vary between blogs)\r
1067                         if ( $current['itime'] > $vars['now'] )\r
1068                         {\r
1069                                 $cssclass = ' class="future"';\r
1070                         }\r
1071                         $body = strip_tags($current['ibody']);\r
1072                         $data = array(\r
1073                                 'cssclass'                      => $cssclass,\r
1074                                 'bshortlabel'           => _LIST_ITEM_BLOG,\r
1075                                 'bshortnameval'         => Entity::hsc($current['bshortname']),\r
1076                                 'categorylabel'         => _LIST_ITEM_CAT,\r
1077                                 'categorynameval'       => Entity::hsc($current['cname']),\r
1078                                 'authorlabel'           => _LIST_ITEM_AUTHOR,\r
1079                                 'authornameval'         => Entity::hsc($current['mname']),\r
1080                                 'itemdatelabel'         => _LIST_ITEM_DATE,\r
1081                                 'itemdateval'           => date("Y-m-d",$current['itime']),\r
1082                                 'itemdatelabel'         => _LIST_ITEM_TIME,\r
1083                                 'itemdateval'           => date("H:i",$current['itime']),\r
1084                                 'batchid'                       => listplug_nextBatchId(),\r
1085                                 'itemid'                        => $current['inumber'],\r
1086                                 'itemtitle'                     => Entity::hsc(strip_tags($current['ititle'])),\r
1087                                 'itembody'                      => Entity::hsc(Entity::shorten($body, 300, '...')),\r
1088                                 'editbtn'                       => _LISTS_EDIT,\r
1089                                 'movebtn'                       => _LISTS_MOVE,\r
1090                                 'delbtn'                        => _LISTS_DELETE,\r
1091                         );\r
1092                         // evaluate amount of comments for the item\r
1093                         $comment = new Comments($current['inumber']);\r
1094                         $camount = $comment->amountComments();\r
1095                         if ( $camount > 0 )\r
1096                         {\r
1097                                 $data['camount'] = "<a href=\"index.php?action=itemcommentlist&amp;itemid={$current['inumber']}\">(" . sprintf(_LIST_ITEM_COMMENTS, $comment->amountComments()) . ")</a><br />\n";\r
1098                         }\r
1099                         else\r
1100                         {\r
1101                                 $data['camount'] = _LIST_ITEM_NOCONTENT . "<br />\n";\r
1102                         }\r
1103                         break;\r
1104                 case 'FOOT':\r
1105                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ITEMLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ITEMLIST_FOOT']) )\r
1106                         {\r
1107                                 $template = "\n";\r
1108                         }\r
1109                         else\r
1110                         {\r
1111                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ITEMLIST_FOOT'];\r
1112                         }\r
1113                         $data = array();\r
1114                         break;\r
1115         }\r
1116         return Template::fill($template, $data);\r
1117 }\r
1118 \r
1119 // for batch operations: generates the index numbers for checkboxes\r
1120 function listplug_nextBatchId()\r
1121 {\r
1122         static $id = 0;\r
1123         return $id++;\r
1124 }\r
1125 \r
1126 function listplug_table_commentlist($vars, $type, $template_name = '')\r
1127 {\r
1128         global $manager;\r
1129         \r
1130         $templates = array();\r
1131         if ( !empty($template_name) )\r
1132         {\r
1133                 $templates =& $manager->getTemplate($template_name);\r
1134         }\r
1135         \r
1136         switch( $type )\r
1137         {\r
1138                 case 'HEAD':\r
1139                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD']) )\r
1140                         {\r
1141                                 $template = "<th><%colinfo%></th>\n"\r
1142                                           . "<th><%colcontent%></th>\n"\r
1143                                           . "<th colspan=\"3\"><%colaction%></th>\n";\r
1144                         }\r
1145                         else\r
1146                         {\r
1147                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_HEAD'];\r
1148                         }\r
1149                         $data = array(\r
1150                                 'colinfo'               => _LISTS_INFO,\r
1151                                 'colcontent'    => _LIST_COMMENT,\r
1152                                 'colaction'             => _LISTS_ACTIONS\r
1153                         );\r
1154                         break;\r
1155                 case 'BODY':\r
1156                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY']) )\r
1157                         {\r
1158                                 $template = "<td><%commentdate%><br /><%commentator%><br /><%commentsite%><br /><%commentmail%><br /></td>\n"\r
1159                                           . "<td>\n"\r
1160                                           . "<input type=\"checkbox\" id=\"batch<%batchid%>\" name=\"batch[<%batchid%>]\" value=\"<%commentid%>\" />"\r
1161                                           . "<label for=\"batch<%batchid%>\"><%commentbody%></label>\n"\r
1162                                           . "</td>\n"\r
1163                                           . "<td style=\"white-space:nowrap\">\n"\r
1164                                           . "<a href=\"index.php?action=commentedit&amp;commentid=<%commentid%>\"><%editbtn%></a>\n"\r
1165                                           . "</td>\n"\r
1166                                           . "<td style=\"white-space:nowrap\">\n"\r
1167                                           . "<a href=\"index.php?action=commentdelete&amp;commentid=<%commentid%>\"><%delbtn%></a>\n"\r
1168                                           . "</td>\n"\r
1169                                           . "<%addbanlist%>";\r
1170                         }\r
1171                         else\r
1172                         {\r
1173                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_BODY'];\r
1174                         }\r
1175                         $current = $vars['current'];\r
1176                         $body = strip_tags($current['cbody']);\r
1177                         $data = array(\r
1178                                 'commentdate'   => date("Y-m-d@H:i", strtotime($current['ctime'])),\r
1179                                 'batchid'               => listplug_nextBatchId(),\r
1180                                 'commentid'             => $current['cnumber'],\r
1181                                 'commentbody'   => Entity::hsc(Entity::shorten($current['cbody'], 300, '...')),\r
1182                                 'editbtn'               => _LISTS_EDIT,\r
1183                                 'delbtn'                => _LISTS_DELETE,\r
1184                         );\r
1185                         if ( isset($current['mname']) )\r
1186                         {\r
1187                                 $data['commentator'] = Entity::hsc($current['mname']) . ' ' . _LIST_COMMENTS_MEMBER;\r
1188                         }\r
1189                         else\r
1190                         {\r
1191                                 $data['commentator'] = Entity::hsc($current['cuser']);\r
1192                         }\r
1193                         if ( isset($current['cmail']) && $current['cmail'] )\r
1194                         {\r
1195                                 $data['commentsite'] = Entity::hsc($current['cmail']);\r
1196                         }\r
1197                                 else\r
1198                         {\r
1199                                 $data['commentsite'] = '';\r
1200                         }\r
1201                         if ( isset($current['cemail']) && $current['cemail'] )\r
1202                         {\r
1203                                 $data['commentmail'] = Entity::hsc($current['cemail']);\r
1204                         }\r
1205                                 else\r
1206                         {\r
1207                                 $data['commentmail'] = '';\r
1208                         }\r
1209                         if ( $vars['canAddBan'] )\r
1210                         {\r
1211                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN']) )\r
1212                                 {\r
1213                                         $subTpl = "<td style=\"white-space:nowrap\">"\r
1214                                                 . "<a href=\"index.php?action=banlistnewfromitem&amp;itemid=<%itemid%>&amp;ip=<%banip%>\" title=\"<%banhost%>\"><%banbtn%></a>"\r
1215                                                 . "</td>\n";\r
1216                                 }\r
1217                                 else\r
1218                                 {\r
1219                                         $subTpl = $templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_ABAN'];\r
1220                                 }\r
1221                                 $subData = array(\r
1222                                         'itemid'        => $current['citem'],\r
1223                                         'banip'         => Entity::hsc($current['cip']),\r
1224                                         'banbtn'        => _LIST_COMMENT_BANIP,\r
1225                                 );\r
1226                                 $data['addbanlist'] = Template::fill($subTpl, $subData);\r
1227                         }\r
1228                         break;\r
1229                 case 'FOOT':\r
1230                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_CMNTLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_FOOT']) )\r
1231                         {\r
1232                                 $template = "";\r
1233                         }\r
1234                         else\r
1235                         {\r
1236                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_CMNTLIST_FOOT'];\r
1237                         }\r
1238                         $data = array();\r
1239                         break;\r
1240         }\r
1241         return Template::fill($template, $data);\r
1242 }\r
1243 \r
1244 function listplug_table_bloglist($vars, $type, $template_name = '')\r
1245 {\r
1246         global $manager;\r
1247         \r
1248         $templates = array();\r
1249         if ( !empty($template_name) )\r
1250         {\r
1251                 $templates =& $manager->getTemplate($template_name);\r
1252         }\r
1253         \r
1254         switch( $type )\r
1255         {\r
1256                 case 'HEAD':\r
1257                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD']) )\r
1258                         {\r
1259                                 $template = "<th><%blognames%></th>\n"\r
1260                                           . "<th colspan=\"7\"><%actionshead%></th>\n";\r
1261                         }\r
1262                         else\r
1263                         {\r
1264                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_BLOGLIST_HEAD'];\r
1265                         }\r
1266                         $data = array(\r
1267                                 'blognames'   => _NAME,\r
1268                                 'actionshead' => _LISTS_ACTIONS,\r
1269                         );\r
1270                         break;\r
1271                 case 'BODY':\r
1272                         $current = $vars['current'];\r
1273                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY']) )\r
1274                         {\r
1275                                 $template = "<td title=\"blogid:<%blogid%> shortname:<%shortname%>\">\n"\r
1276                                           . "<a href=\"<%blogurl%>\"><img src=\"images/globe.gif\" width=\"13\" height=\"13\" alt=\"<%iconalt%>\" /></a><%blogname%></td>\n"\r
1277                                           . "<td><a href=\"index.php?action=createitem&amp;blogid=<%blogid%>\" title=\"<%ttaddtext%>\"><%addtext%></a></td>\n"\r
1278                                           . "<td><a href=\"index.php?action=itemlist&amp;blogid=<%blogid%>\" title=\"<%ttedittext%>\"><%edittext%></a></td>\n"\r
1279                                           . "<td><a href=\"index.php?action=blogcommentlist&amp;blogid=<%blogid%>\" title=\"<%ttcommenttext%>\"><%commenttext%></a></td>\n"\r
1280                                           . "<td><a href=\"index.php?action=bookmarklet&amp;blogid=<%blogid%>\" title=\"<%ttbmlettext%>\"><%bmlettext%></a></td>\n";\r
1281                         }\r
1282                         else\r
1283                         {\r
1284                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_BLOGLIST_BODY'];\r
1285                         }\r
1286                         $data = array(\r
1287                                 'blogid'                => $current['bnumber'],\r
1288                                 'shortname'             => Entity::hsc($current['bshortname']),\r
1289                                 'blogurl'               => $current['burl'],\r
1290                                 'blogname'              => Entity::hsc($current['bname']),\r
1291                                 'ttaddtext'             => _BLOGLIST_TT_ADD,\r
1292                                 'addtext'               => _BLOGLIST_ADD,\r
1293                                 'ttedittext'    => _BLOGLIST_TT_EDIT,\r
1294                                 'edittext'              => _BLOGLIST_EDIT,\r
1295                                 'ttcommenttext' => _BLOGLIST_TT_COMMENTS,\r
1296                                 'commenttext'   => _BLOGLIST_COMMENTS,\r
1297                                 'ttbmlettext'   => _BLOGLIST_TT_BMLET,\r
1298                                 'bmlettext'             => _BLOGLIST_BMLET,\r
1299                         );\r
1300                         if ( $current['tadmin'] == 1 )\r
1301                         {\r
1302                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM']) )\r
1303                                 {\r
1304                                         $template .= "<td><a href=\"index.php?action=blogsettings&amp;blogid=<%blogid%>\" title=\"<%ttsettingtext%>\"><%settingtext%></a></td>\n"\r
1305                                                    . "<td><a href=\"index.php?action=banlist&amp;blogid=<%blogid%>\" title=\"<%ttbanstext%>\"><%banstext%></a></td>\n";\r
1306                                 }\r
1307                                 else\r
1308                                 {\r
1309                                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM'];\r
1310                                 }\r
1311                                 $data['ttsettingtext']  = _BLOGLIST_TT_SETTINGS;\r
1312                                 $data['settingtext']    = _BLOGLIST_SETTINGS;\r
1313                                 $data['ttbanstext']             = _BLOGLIST_TT_BANS;\r
1314                                 $data['banstext']               = _BLOGLIST_BANS;\r
1315                         }\r
1316                         \r
1317                         if ( $vars['superadmin'] )\r
1318                         {\r
1319                                 if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLIST_BD_TADM']) )\r
1320                                 {\r
1321                                         $template .= "<td><a href=\"index.php?action=deleteblog&amp;blogid=<%blogid%>\" title=\"<%ttdeletetext%>\"><%deletetext%></a></td>\n";\r
1322                                 }\r
1323                                 else\r
1324                                 {\r
1325                                         $template .= $templates['SHOWLIST_LISTPLUG_TABLE_BLIST_BD_SADM'];\r
1326                                 }\r
1327                                 $data['ttdeletetext']   = _BLOGLIST_TT_DELETE;\r
1328                                 $data['deletetext']             = _BLOGLIST_DELETE;\r
1329                         }\r
1330                         break;\r
1331                 case 'FOOT':\r
1332                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLOGLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLOGLIST_FOOT']) )\r
1333                         {\r
1334                                 $template = "\n";\r
1335                         }\r
1336                         else\r
1337                         {\r
1338                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_BLOGLIST_FOOT'];\r
1339                         }\r
1340                         $data = array();\r
1341                         break;\r
1342         }\r
1343         return Template::fill($template, $data);\r
1344 }\r
1345 \r
1346 function listplug_table_shortblognames($vars, $type, $template_name = '')\r
1347 {\r
1348         global $manager;\r
1349         \r
1350         $templates = array();\r
1351         if ( !empty($template_name) )\r
1352         {\r
1353                 $templates =& $manager->getTemplate($template_name);\r
1354         }\r
1355         \r
1356         switch( $type )\r
1357         {\r
1358                 case 'HEAD':\r
1359                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD']) )\r
1360                         {\r
1361                                 $template = "<th><%colshortname%></th>\n"\r
1362                                           . "<th><%colblogname%></th>\n";\r
1363                         }\r
1364                         else\r
1365                         {\r
1366                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_HEAD'];\r
1367                         }\r
1368                         $data = array(\r
1369                                 'colshortname' => _EBLOG_SHORTNAME,\r
1370                                 'colblogname'  => _EBLOG_NAME,\r
1371                         );\r
1372                         break;\r
1373                 case 'BODY':\r
1374                         $current = $vars['current'];\r
1375                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY']) )\r
1376                         {\r
1377                                 $template = "<td><%bshortname%></td>\n"\r
1378                                           . "<td><%blogname%></td>\n";\r
1379                         }\r
1380                         else\r
1381                         {\r
1382                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_BODY'];\r
1383                         }\r
1384                         $data = array(\r
1385                                 'bshortname' => Entity::hsc($current['bshortname']),\r
1386                                 'blogname'   => Entity::hsc($current['bname']),\r
1387                         );\r
1388                         break;\r
1389                 case 'FOOT':\r
1390                         $current = $vars['current'];\r
1391                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_FOOT']) )\r
1392                         {\r
1393                                 $template = "\n";\r
1394                         }\r
1395                         else\r
1396                         {\r
1397                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_BLOGSNAM_FOOT'];\r
1398                         }\r
1399                         $data = array();\r
1400                         break;\r
1401         }\r
1402         return Template::fill($template, $data);\r
1403 }\r
1404 \r
1405 function listplug_table_shortnames($vars, $type, $template_name = '')\r
1406 {\r
1407         global $manager;\r
1408         \r
1409         $templates = array();\r
1410         if ( !empty($template_name) )\r
1411         {\r
1412                 $templates =& $manager->getTemplate($template_name);\r
1413         }\r
1414         \r
1415         switch( $type )\r
1416         {\r
1417                 case 'HEAD':\r
1418                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD']) )\r
1419                         {\r
1420                                 $template = "<th><%colname%></th>\n"\r
1421                                           . "<th><%coldesc%></th>\n";\r
1422                         }\r
1423                         else\r
1424                         {\r
1425                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_SHORTNAM_HEAD'];\r
1426                         }\r
1427                         $data = array(\r
1428                                 'colname' => _NAME,\r
1429                                 'coldesc' => _LISTS_DESC,\r
1430                         );\r
1431                         break;\r
1432                 case 'BODY':\r
1433                         $current = $vars['current'];\r
1434                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY']) )\r
1435                         {\r
1436                                 $template = "<td><%name%></td>\n"\r
1437                                           . "<td><%desc%></td>\n";\r
1438                         }\r
1439                         else\r
1440                         {\r
1441                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_SHORTNAM_BODY'];\r
1442                         }\r
1443                         $data = array(\r
1444                                 'name' => Entity::hsc($current['name']),\r
1445                                 'desc' => Entity::hsc($current['description']),\r
1446                         );\r
1447                         break;\r
1448                 case 'FOOT':\r
1449                         $current = $vars['current'];\r
1450                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_SHORTNAM_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_SHORTNAM_FOOT']) )\r
1451                         {\r
1452                                 $template = "\n";\r
1453                         }\r
1454                         else\r
1455                         {\r
1456                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_SHORTNAM_FOOT'];\r
1457                         }\r
1458                         $data = array();\r
1459                         break;\r
1460         }\r
1461         return Template::fill($template, $data);\r
1462 }\r
1463 \r
1464 function listplug_table_categorylist($vars, $type, $template_name = '')\r
1465 {\r
1466         global $manager;\r
1467         \r
1468         $templates = array();\r
1469         if ( !empty($template_name) )\r
1470         {\r
1471                 $templates =& $manager->getTemplate($template_name);\r
1472         }\r
1473         \r
1474         switch( $type )\r
1475         {\r
1476                 case 'HEAD':\r
1477                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD']) )\r
1478                         {\r
1479                                 $template = "<th><%colname%></th>\n"\r
1480                                           . "<th><%coldesc%></th>\n"\r
1481                                           . "<th colspan=\"2\"><%colact%></th>\n";\r
1482                         }\r
1483                         else\r
1484                         {\r
1485                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_CATELIST_HEAD'];\r
1486                         }\r
1487                         $data = array(\r
1488                                 'colname' => _LISTS_NAME,\r
1489                                 'coldesc' => _LISTS_DESC,\r
1490                                 'colact'  => _LISTS_ACTIONS,\r
1491                         );\r
1492                         break;\r
1493                 case 'BODY':\r
1494                         $current = $vars['current'];\r
1495                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY']) )\r
1496                         {\r
1497                                 $template = "<td>\n"\r
1498                                           . "<input type=\"checkbox\" id=\"batch<%batchid%>\" name=\"batch[<%batchid%>]\" value=\"<%catid%>\" />\n"\r
1499                                           . "<label for=\"batch<%batchid%>\"><%catname%></label>\n"\r
1500                                           . "</td>\n"\r
1501                                           . "<td><%catdesc%></td>\n"\r
1502                                           . "<td><a href=\"index.php?action=categoryedit&amp;blogid=<%blogid%>&amp;catid=<%catid%>\" tabindex=\"<%tabindex%>\"><%editbtn%></a></td>\n"\r
1503                                           . "<td><a href=\"index.php?action=categorydelete&amp;blogid=<%blogid%>&amp;catid=<%catid%>\" tabindex=\"<%tabindex%>\"><%delbtn%></a></td>\n";\r
1504                         }\r
1505                         else\r
1506                         {\r
1507                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_CATELIST_BODY'];\r
1508                         }\r
1509                         \r
1510                         $data = array(\r
1511                                 'batchid'       => listplug_nextBatchId(),\r
1512                                 'catid'         => intval($current['catid']),\r
1513                                 'catname'       => Entity::hsc($current['cname']),\r
1514                                 'catdesc'       => Entity::hsc($current['cdesc']),\r
1515                                 'blogid'        => intval($current['cblog']),\r
1516                                 'tabindex'      => intval($vars['tabindex']),\r
1517                                 'editbtn'       => _LISTS_EDIT,\r
1518                                 'delbtn'        => _LISTS_DELETE,\r
1519                         );\r
1520                         break;\r
1521                 case 'FOOT':\r
1522                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_CATELIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_CATELIST_FOOT']) )\r
1523                         {\r
1524                                 $template = "\n";\r
1525                         }\r
1526                         else\r
1527                         {\r
1528                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_CATELIST_FOOT'];\r
1529                         }\r
1530                         $data = array();\r
1531                         break;\r
1532         }\r
1533         return Template::fill($template, $data);\r
1534 }\r
1535 \r
1536 function listplug_table_templatelist($vars, $type, $template_name = '')\r
1537 {\r
1538         global $manager, $CONF;\r
1539         \r
1540         $templates = array();\r
1541         if ( !empty($template_name) )\r
1542         {\r
1543                 $templates =& $manager->getTemplate($template_name);\r
1544         }\r
1545         \r
1546         switch( $type )\r
1547         {\r
1548                 case 'HEAD':\r
1549                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD']) )\r
1550                         {\r
1551                                 $template = "<th><%colname%></th>\n"\r
1552                                           . "<th><%coldesc%></th>\n"\r
1553                                           . "<th colspan=\"3\"><%colact%></th>\n";\r
1554                         }\r
1555                         else\r
1556                         {\r
1557                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_TPLTLIST_HEAD'];\r
1558                         }\r
1559                         $data = array(\r
1560                                 'colname' => _LISTS_NAME,\r
1561                                 'coldesc' => _LISTS_DESC,\r
1562                                 'colact'  => _LISTS_ACTIONS,\r
1563                         );\r
1564                         break;\r
1565                 case 'BODY':\r
1566                         $current = $vars['current'];\r
1567                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY']) )\r
1568                         {\r
1569                                 $template = "<td><%templatename%></td>\n"\r
1570                                           . "<td><%templatedesc%></td>\n"\r
1571                                           . "<td style=\"white-space:nowrap\">"\r
1572                                           . "<a href=\"<%editurl%>\" tabindex=\"<%tabindex%>\"><%editbtn%></a>\n"\r
1573                                           . "</td>\n"\r
1574                                           . "<td style=\"white-space:nowrap\">\n"\r
1575                                           . "<a href=\"<%cloneurl%>\" tabindex=\"<%tabindex%>\"><%clonebtn%></a>\n"\r
1576                                           . "</td>\n"\r
1577                                           . "<td style=\"white-space:nowrap\">\n"\r
1578                                           . "<a href=\"<%deleteurl%>\" tabindex=\"<%tabindex%>\"><%delbtn%></a>\n"\r
1579                                           . "</td>\n";\r
1580                         }\r
1581                         else\r
1582                         {\r
1583                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_TPLTLIST_BODY'];\r
1584                         }\r
1585                         \r
1586                         $data = array(\r
1587                                 'templatename'  => Entity::hsc($current['tdname']),\r
1588                                 'templatedesc'  => Entity::hsc($current['tddesc']),\r
1589                                 'templateid'    => (integer) $current['tdnumber'],\r
1590                                 'tabindex'              => (integer) $vars['tabindex'],\r
1591                                 \r
1592                                 'clonebtn'              => _LISTS_CLONE,\r
1593                                 'cloneaction'   => $vars['cloneaction'],\r
1594                                 'cloneurl'              => "{$CONF['AdminURL']}index.php?action={$vars['cloneaction']}&amp;templateid={$current['tdnumber']}",\r
1595                                 \r
1596                                 'delbtn'                => _LISTS_DELETE,\r
1597                                 'deleteaction'  => $vars['deleteaction'],\r
1598                                 'deleteurl'             => "{$CONF['AdminURL']}index.php?action={$vars['deleteaction']}&amp;templateid={$current['tdnumber']}",\r
1599                                 \r
1600                                 'editbtn'               => _LISTS_EDIT,\r
1601                                 'editaction'    => $vars['editaction'],\r
1602                                 'editurl'               => "{$CONF['AdminURL']}index.php?action={$vars['editaction']}&amp;templateid={$current['tdnumber']}"\r
1603                         );\r
1604                         break;\r
1605                 case 'FOOT':\r
1606                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_TPLTLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_TPLTLIST_FOOT']) )\r
1607                         {\r
1608                                 $template = "\n";\r
1609                         }\r
1610                         else\r
1611                         {\r
1612                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_TPLTLIST_FOOT'];\r
1613                         }\r
1614                         $data = array();\r
1615                         break;\r
1616         }\r
1617         return Template::fill($template, $data);\r
1618 }\r
1619 \r
1620 function listplug_table_skinlist($vars, $type, $template_name = '')\r
1621 {\r
1622         global $CONF, $DIR_SKINS, $manager;\r
1623         \r
1624         $templates = array();\r
1625         if ( !empty($template_name) )\r
1626         {\r
1627                 $templates =& $manager->getTemplate($template_name);\r
1628         }\r
1629         \r
1630         switch( $type )\r
1631         {\r
1632                 case 'HEAD':\r
1633                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD']) )\r
1634                         {\r
1635                                 $template = "<th><%colname%></th>\n"\r
1636                                           . "<th><%coldesc%></th>\n"\r
1637                                           . "<th colspan=\"3\"><%colact%></th>\n";\r
1638                         }\r
1639                         else\r
1640                         {\r
1641                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_SKINLIST_HEAD'];\r
1642                         }\r
1643                         $data = array(\r
1644                                 'colname'       => _LISTS_NAME,\r
1645                                 'coldesc'       => _LISTS_DESC,\r
1646                                 'colact'        => _LISTS_ACTIONS,\r
1647                         );\r
1648                         break;\r
1649                 case 'BODY':\r
1650                         $current = $vars['current'];\r
1651                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY']) )\r
1652                         {\r
1653                                 $template = "<td><%skinname%><br /><br />\n"\r
1654                                           . "<%skintypelabel%> <%skintype%><br />\n"\r
1655                                           . "<%incmodelabel%> <%incmode%><br />\n"\r
1656                                           . "<%incpreflabel%> <%incpref%><br />\n"\r
1657                                           . "<%skinthumb%>"\r
1658                                           . "<%readme%></td>\n"\r
1659                                           . "<td class=\"availableSkinTypes\"><%skindesc%><%skinparts%></td>\n"\r
1660                                           . "<td style=\"white-space:nowrap\">"\r
1661                                           . "<a href=\"index.php?action=skinedit&amp;skinid=<%skinid%>\" tabindex=\"<%tabindex%>\"><%editbtn%></a>"\r
1662                                           . "</td>\n"\r
1663                                           . "<td style=\"white-space:nowrap\">"\r
1664                                           . "<a href=\"<%cloneurl%>\" tabindex=\"<%tabindex%>\"><%clonebtn%></a>"\r
1665                                           . "</td>\n"\r
1666                                           . "<td style=\"white-space:nowrap\">"\r
1667                                           . "<a href=\"index.php?action=skindelete&amp;skinid=<%skinid%>\" tabindex=\"<%tabindex%>\"><%delbtn%></a>"\r
1668                                           . "</td>\n";\r
1669                         }\r
1670                         else\r
1671                         {\r
1672                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_SKINLIST_BODY'];\r
1673                         }\r
1674                         \r
1675                         $data = array(\r
1676                                 'tabindex'              => $vars['tabindex']++,\r
1677                                 \r
1678                                 'skinid'                => (integer) $current['sdnumber'],\r
1679                                 'skindesc'              => Entity::hsc($current['sddesc']),\r
1680                                 \r
1681                                 'skintypelabel' => _LISTS_TYPE,\r
1682                                 'skintype'              => Entity::hsc($current['sdtype']),\r
1683                                 \r
1684                                 'incmodelabel'  => _LIST_SKINS_INCMODE,\r
1685                                 'incmode'               => ($current['sdincmode'] == 'skindir') ? _PARSER_INCMODE_SKINDIR : _PARSER_INCMODE_NORMAL,\r
1686                                 \r
1687                                 'incpreflabel'  => ($current['sdincpref']) ? _SKIN_INCLUDE_PREFIX : '',\r
1688                                 'incpref'               => ($current['sdincpref']) ? Entity::hsc($current['sdincpref']) : '',\r
1689                                 \r
1690                                 'editbtn'               => _LISTS_EDIT,\r
1691                                 'editaction'    => $vars['editaction'],\r
1692                                 'editurl'               => "{$CONF['AdminURL']}index.php?action={$vars['editaction']}&skinid={$current['sdnumber']}",\r
1693                                 \r
1694                                 'clonebtn'              => _LISTS_CLONE,\r
1695                                 'cloneaction'   => $vars['cloneaction'],\r
1696                                 'cloneurl'              => "{$CONF['AdminURL']}index.php?action={$vars['cloneaction']}&skinid={$current['sdnumber']}",\r
1697                                 \r
1698                                 'delbtn'                => _LISTS_DELETE,\r
1699                                 'deleteaction'  => $vars['deleteaction'],\r
1700                                 'deleteurl'             => "{$CONF['AdminURL']}index.php?action={$vars['deleteaction']}&skinid={$current['sdnumber']}"\r
1701                         );\r
1702                         \r
1703                         if ( $current['sdnumber'] != $vars['default'] )\r
1704                         {\r
1705                                 $data['skinname'] = Entity::hsc($current['sdname']);\r
1706                         }\r
1707                         else\r
1708                         {\r
1709                                 $data['skinname'] = '<strong>' . Entity::hsc($current['sdname']) . '</strong>';\r
1710                         }\r
1711                         \r
1712                         // add preview image when present\r
1713                         if ( $current['sdincpref'] && @file_exists("{$DIR_SKINS}{$current['sdincpref']}preview.png") )\r
1714                         {\r
1715                                 $data['skinthumb'] = "<p>\n";\r
1716                                 \r
1717                                 $alternatve_text = sprintf(_LIST_SKIN_PREVIEW, $current['sdname']);\r
1718                                 $has_enlargement = @file_exists($DIR_SKINS . $current['sdincpref'] . 'preview-large.png');\r
1719                                 if ( $has_enlargement )\r
1720                                 {\r
1721                                         $data['skinthumb'] .= '<a href="' . $CONF['SkinsURL'] . Entity::hsc($current['sdincpref']) . 'preview-large.png" title="' . _LIST_SKIN_PREVIEW_VIEWLARGER . "\">\n";\r
1722                                 }\r
1723                                 $data['skinthumb'] .= '<img class="skinpreview" src="' . $CONF['SkinsURL'] . Entity::hsc($current['sdincpref']) . 'preview.png" width="100" height="75" alt="' . $alternatve_text . "\" />\n";\r
1724                                 if ( $has_enlargement )\r
1725                                 {\r
1726                                         $data['skinthumb'] .= "</a><br />\n";\r
1727                                 }\r
1728                                 \r
1729                                 if ( @file_exists("{$DIR_SKINS}{$current['sdincpref']}readme.html") )\r
1730                                 {\r
1731                                         $url = $CONF['SkinsURL'] . Entity::hsc($current['sdincpref']) . 'readme.html';\r
1732                                         $title = sprintf(_LIST_SKIN_README, $current['sdname']);\r
1733                                         $data['readme'] = "<a href=\"{$url}\" title=\"{$title}\">" . _LIST_SKIN_README_TXT . "</a>\n";\r
1734                                 }\r
1735                                 else\r
1736                                 {\r
1737                                         $data['readme'] ="";\r
1738                                 }\r
1739                                 \r
1740                                 $data['skinthumb'] .=  "</p>\n";\r
1741                         }\r
1742                         \r
1743                         $skin =& $manager->getSkin($current['sdnumber'], $vars['handler']);\r
1744                         $available_types = $skin->getAvailableTypes();\r
1745                         \r
1746                         $data['skinparts'] = _LIST_SKINS_DEFINED\r
1747                                            . "<ul>\n";\r
1748                         foreach ( $available_types as $type => $label )\r
1749                         {\r
1750                                 if ( $label === FALSE )\r
1751                                 {\r
1752                                         $label = ucfirst($type);\r
1753                                         $article = 'skinpartspecial';\r
1754                                 }\r
1755                                 else\r
1756                                 {\r
1757                                         $article = "skinpart{$type}";\r
1758                                 }\r
1759                                 $data['skinparts'] .= "<li>\n"\r
1760                                                    . helpHtml($article) . "\n"\r
1761                                                    . "<a href=\"{$CONF['AdminURL']}index.php?action={$vars['edittypeaction']}&amp;skinid={$current['sdnumber']}&amp;type={$type}\" tabindex=\"{$vars['tabindex']}\">"\r
1762                                                    . Entity::hsc($label)\r
1763                                                    . "</a>\n"\r
1764                                                    . "</li>\n";\r
1765                         }\r
1766                         $data['skinparts'] .= "</ul>\n";\r
1767                         break;\r
1768                 case 'FOOT':\r
1769                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_SKINLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_SKINLIST_FOOT']) )\r
1770                         {\r
1771                                 $template = "";\r
1772                         }\r
1773                         else\r
1774                         {\r
1775                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_SKINLIST_FOOT'];\r
1776                         }\r
1777                         $data = array();\r
1778                         break;\r
1779         }\r
1780         return Template::fill($template, $data);\r
1781 }\r
1782 \r
1783 function listplug_table_draftlist($vars, $type, $template_name = '')\r
1784 {\r
1785         global $manager;\r
1786         \r
1787         $templates = array();\r
1788         if ( !empty($template_name) )\r
1789         {\r
1790                 $templates =& $manager->getTemplate($template_name);\r
1791         }\r
1792         switch( $type )\r
1793         {\r
1794                 case 'HEAD':\r
1795                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD']) )\r
1796                         {\r
1797                                 $template = "<th><%colblog%></th>\n"\r
1798                                           . "<th><%coldesc%></th>\n"\r
1799                                           . "<th colspan=\"2\"><%colact%></th>\n";\r
1800                         }\r
1801                         else\r
1802                         {\r
1803                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_DRFTLIST_HEAD'];\r
1804                         }\r
1805                         $data = array(\r
1806                                 'colblog'       => _LISTS_BLOG,\r
1807                                 'coldesc'       => _LISTS_TITLE,\r
1808                                 'colact'        => _LISTS_ACTIONS,\r
1809                         );\r
1810                         break;\r
1811                 case 'BODY':\r
1812                         $current = $vars['current'];\r
1813                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY']) )\r
1814                         {\r
1815                                 $template = "<td><%bshortname%></td>\n"\r
1816                                           . "<td><%ititle%></td>\n"\r
1817                                           . "<td><a href=\"index.php?action=itemedit&amp;itemid=<%itemid%>\"><%editbtn%></a></td>\n"\r
1818                                           . "<td><a href=\"index.php?action=itemdelete&amp;itemid=<%itemid%>\"><%delbtn%></a></td>\n";\r
1819                         }\r
1820                         else\r
1821                         {\r
1822                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_DRFTLIST_BODY'];\r
1823                         }\r
1824                         $data = array(\r
1825                                 'bshortname'    => Entity::hsc($current['bshortname']),\r
1826                                 'ititle'                => Entity::hsc(strip_tags($current['ititle'])),\r
1827                                 'itemid'                => intval($current['inumber']),\r
1828                                 'editbtn'               => _LISTS_EDIT,\r
1829                                 'delbtn'                => _LISTS_DELETE,\r
1830                         );\r
1831                         break;\r
1832                 case 'FOOT':\r
1833                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_DRFTLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_DRFTLIST_FOOT']) )\r
1834                         {\r
1835                                 $template = "\n";\r
1836                         }\r
1837                         else\r
1838                         {\r
1839                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_DRFTLIST_FOOT'];\r
1840                         }\r
1841                         $data = array();\r
1842                         break;\r
1843         }\r
1844         return Template::fill($template, $data);\r
1845 }\r
1846 \r
1847 function listplug_table_otherdraftlist($vars, $type, $template_name = '')\r
1848 {\r
1849         global $manager;\r
1850         \r
1851         $templates = array();\r
1852         if ( !empty($template_name) )\r
1853         {\r
1854                 $templates =& $manager->getTemplate($template_name);\r
1855         }\r
1856         \r
1857         switch( $type )\r
1858         {\r
1859                 case 'HEAD':\r
1860                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_HEAD']) )\r
1861                         {\r
1862                                 $template = "<th><%colblog%></th>\n"\r
1863                                           . "<th><%coldesc%></th>\n"\r
1864                                           . "<th><%colautr%></th>\n"\r
1865                                           . "<th colspan=\"2\"><%colact%></th>\n";\r
1866                         }\r
1867                         else\r
1868                         {\r
1869                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_HEAD'];\r
1870                         }\r
1871                         $data = array(\r
1872                                 'colblog'       => _LISTS_BLOG,\r
1873                                 'coldesc'       => _LISTS_TITLE,\r
1874                                 'colautr'       => _LISTS_AUTHOR,\r
1875                                 'colact'        => _LISTS_ACTIONS,\r
1876                         );\r
1877                         break;\r
1878                 case 'BODY':\r
1879                         $current = $vars['current'];\r
1880                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_BODY']) )\r
1881                         {\r
1882                                 $template = "<td><%bshortname%></td>\n"\r
1883                                           . "<td><%ititle%></td>\n"\r
1884                                           . "<td><%iauthor%></td>\n"\r
1885                                           . "<td><a href=\"index.php?action=itemedit&amp;itemid=<%itemid%>\"><%editbtn%></a></td>\n"\r
1886                                           . "<td><a href=\"index.php?action=itemdelete&amp;itemid=<%itemid%>\"><%delbtn%></a></td>\n";\r
1887                         }\r
1888                         else\r
1889                         {\r
1890                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_BODY'];\r
1891                         }\r
1892                         $data = array(\r
1893                                 'bshortname'    => Entity::hsc($current['bshortname']),\r
1894                                 'ititle'                => Entity::hsc(strip_tags($current['ititle'])),\r
1895                                 'iauthor'               => Entity::hsc(strip_tags($current['mname'])),\r
1896                                 'itemid'                => intval($current['inumber']),\r
1897                                 'editbtn'               => _LISTS_EDIT,\r
1898                                 'delbtn'                => _LISTS_DELETE,\r
1899                         );\r
1900                         break;\r
1901                 case 'FOOT':\r
1902                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_FOOT']) )\r
1903                         {\r
1904                                 $template = "\n";\r
1905                         }\r
1906                         else\r
1907                         {\r
1908                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ODRFTLIST_FOOT'];\r
1909                         }\r
1910                         $data = array();\r
1911                         break;\r
1912         }\r
1913         return Template::fill($template, $data);\r
1914 }\r
1915 \r
1916 function listplug_table_actionlist($vars, $type, $template_name = '')\r
1917 {\r
1918         global $manager;\r
1919         \r
1920         $templates = array();\r
1921         if ( !empty($template_name) )\r
1922         {\r
1923                 $templates =& $manager->getTemplate($template_name);\r
1924         }\r
1925         \r
1926         switch( $type )\r
1927         {\r
1928                 case 'HEAD':\r
1929                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD']) )\r
1930                         {\r
1931                                 $template = "<th><%coltime%></th>\n"\r
1932                                           . "<th><%colmesg%></th>\n";\r
1933                         }\r
1934                         else\r
1935                         {\r
1936                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ACTNLIST_HEAD'];\r
1937                         }\r
1938                         $data = array(\r
1939                                 'coltime' => _LISTS_TIME,\r
1940                                 'colmesg' => _LIST_ACTION_MSG,\r
1941                         );\r
1942                         break;\r
1943                 case 'BODY':\r
1944                         $current = $vars['current'];\r
1945                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY']) )\r
1946                         {\r
1947                                 $template = "<td><%timestamp%></td>\n"\r
1948                                           . "<td><%message%></td>\n";\r
1949                         }\r
1950                         else\r
1951                         {\r
1952                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ACTNLIST_BODY'];\r
1953                         }\r
1954                         $data = array(\r
1955                                 'timestamp'     => Entity::hsc($current['timestamp']),\r
1956                                 'message'       => Entity::hsc($current['message']),\r
1957                         );\r
1958                         break;\r
1959                 case 'FOOT':\r
1960                         $current = $vars['current'];\r
1961                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_ACTNLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_ACTNLIST_FOOT']) )\r
1962                         {\r
1963                                 $template = "\n";\r
1964                         }\r
1965                         else\r
1966                         {\r
1967                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_ACTNLIST_FOOT'];\r
1968                         }\r
1969                         $data = array();\r
1970                         break;\r
1971         }\r
1972         return Template::fill($template, $data);\r
1973 }\r
1974 \r
1975 function listplug_table_banlist($vars, $type, $template_name = '')\r
1976 {\r
1977         global $manager;\r
1978         \r
1979         $templates = array();\r
1980         if ( !empty($template_name) )\r
1981         {\r
1982                 $templates =& $manager->getTemplate($template_name);\r
1983         }\r
1984         \r
1985         switch( $type )\r
1986         {\r
1987                 case 'HEAD':\r
1988                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD']) )\r
1989                         {\r
1990                                 $template = "<th><%iprange%></th>\n"\r
1991                                           . "<th><%reason%></th>\n"\r
1992                                           . "<th><%colact%></th>\n";\r
1993                         }\r
1994                         else\r
1995                         {\r
1996                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_IBANLIST_HEAD'];\r
1997                         }\r
1998                         $data = array(\r
1999                                 'iprange'       => _LIST_BAN_IPRANGE,\r
2000                                 'reason'        => _LIST_BAN_REASON,\r
2001                                 'colact'        => _LISTS_ACTIONS,\r
2002                         );\r
2003                         break;\r
2004                 case 'BODY':\r
2005                         $current = $vars['current'];\r
2006                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY']) )\r
2007                         {\r
2008                                 $template = "<td><%iprange%></td>\n"\r
2009                                           . "<td><%reason%></td>\n"\r
2010                                           . "<td><a href=\"index.php?action=banlistdelete&amp;blogid=<%blogid%>&amp;iprange=<%iprange%>\"><%delbtn%></a></td>\n";\r
2011                         }\r
2012                         else\r
2013                         {\r
2014                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_IBANLIST_BODY'];\r
2015                         }\r
2016                         $data = array(\r
2017                                 'iprange'       => Entity::hsc($current['iprange']),\r
2018                                 'reason'        => Entity::hsc($current['reason']),\r
2019                                 'blogid'        => intval($current['blogid']),\r
2020                                 'delbtn'        => _LISTS_DELETE,\r
2021                         );\r
2022                         break;\r
2023                 case 'FOOT':\r
2024                         $current = $vars['current'];\r
2025                         if ( !array_key_exists('SHOWLIST_LISTPLUG_TABLE_IBANLIST_FOOT', $templates) || empty($templates['SHOWLIST_LISTPLUG_TABLE_IBANLIST_FOOT']) )\r
2026                         {\r
2027                                 $template = "\n";\r
2028                         }\r
2029                         else\r
2030                         {\r
2031                                 $template = $templates['SHOWLIST_LISTPLUG_TABLE_IBANLIST_FOOT'];\r
2032                         }\r
2033                         $data = array();\r
2034                         break;\r
2035         }\r
2036         return Template::fill($template, $data);\r
2037 }\r
2038 \r
2039 /**\r
2040  * listplug_list_normalskinlist()\r
2041  * \r
2042  * @param       array   $vars                   array for variables\r
2043  * @param       string  $type                   HEAD/BODY/FOOT\r
2044  * @param       string  $template_name  name of template\r
2045  * @return      string  marked-up string\r
2046  */\r
2047 function listplug_list_normalskinlist($vars, $type, $template_name = '')\r
2048 {\r
2049         global $manager, $CONF;\r
2050         \r
2051         /* available variables as a default */\r
2052         $data = array(\r
2053                 'skinid'        => (integer) $vars['skinid'],\r
2054                 'skinname'      => Entity::hsc($vars['skinname']),\r
2055         );\r
2056         \r
2057         $templates = array();\r
2058         if ( $template_name )\r
2059         {\r
2060                 $templates =& $manager->getTemplate($template_name);\r
2061         }\r
2062         \r
2063         switch ( $type )\r
2064         {\r
2065                 case 'HEAD':\r
2066                         if ( !array_key_exists('NORMALSKINLIST_HEAD', $templates) || empty($templates['NORMALSKINLIST_HEAD']) )\r
2067                         {\r
2068                                 $template = "<ul>\n";\r
2069                         }\r
2070                         else\r
2071                         {\r
2072                                 $template = $templates['NORMALSKINLIST_HEAD'];\r
2073                         }\r
2074                         \r
2075                         break;\r
2076                 case 'BODY':\r
2077                         $current = $vars['current'];\r
2078                         if ( !array_key_exists('NORMALSKINLIST_BODY', $templates) || empty($templates['NORMALSKINLIST_BODY']) )\r
2079                         {\r
2080                                 $template = "<li>"\r
2081                                           . "<a href=\"<%editurl%>\" tabindex=\"<%tabindex%>\"><%skintypename%></a>"\r
2082                                           . " <%help%>"\r
2083                                           . "</li>\n";\r
2084                         }\r
2085                         else\r
2086                         {\r
2087                                 $template = $templates['NORMALSKINLIST_BODY'];\r
2088                         }\r
2089                         \r
2090                         $data['tabindex']               = $vars['tabindex']++;\r
2091                         $data['skintype']               = $current['skintype'];\r
2092                         $data['skintypename']   = $current['skintypename'];\r
2093                         $data['editaction']             = $vars['editaction'];\r
2094                         $data['editurl']                = "{$CONF['AdminURL']}?action={$vars['editaction']}&amp;skinid={$vars['skinid']}&amp;type={$current['skintype']}";\r
2095                         /* TODO: removeaction? */\r
2096                         /* TODO: customHelpHtml("skinpart{$skintype}-{$template_name}") */\r
2097                         $data['help']                   = '';\r
2098                         break;\r
2099                 case 'FOOT':\r
2100                         if ( !array_key_exists('NORMALSKINLIST_FOOT', $templates) || empty($templates['NORMALSKINLIST_FOOT']) )\r
2101                         {\r
2102                                 $template = "</ul>\n";\r
2103                         }\r
2104                         else\r
2105                         {\r
2106                                 $template = $templates['NORMALSKINLIST_FOOT'];\r
2107                         }\r
2108                         \r
2109                         break;\r
2110         }\r
2111         \r
2112         return Template::fill($template, $data);\r
2113 }\r
2114 \r
2115 /**\r
2116  * listplug_list_specialskinlist()\r
2117  * \r
2118  * @param       array   $vars                   array for variables\r
2119  * @param       string  $type                   HEAD/BODY/FOOT\r
2120  * @param       string  $template_name  name of template\r
2121  * @return      string  marked-up string\r
2122  */\r
2123 function listplug_list_specialskinlist($vars, $type, $template_name = '')\r
2124 {\r
2125         global $manager, $CONF;\r
2126         \r
2127         /* available variables as a default */\r
2128         $data = array(\r
2129                 'skinid'        => (integer) $vars['skinid'],\r
2130                 'skinname'      => Entity::hsc($vars['skinname']),\r
2131         );\r
2132         \r
2133         /* retrieve templates */\r
2134         $templates = array();\r
2135         if ( $template_name )\r
2136         {\r
2137                 $templates =& $manager->getTemplate($template_name);\r
2138         }\r
2139         \r
2140         switch ( $type )\r
2141         {\r
2142                 case 'HEAD':\r
2143                         if ( !array_key_exists('SPECIALSKINLIST_HEAD', $templates) || empty($templates['SPECIALSKINLIST_HEAD']) )\r
2144                         {\r
2145                                 $template = "<ul>\n";\r
2146                         }\r
2147                         else\r
2148                         {\r
2149                                 $template = $templates['SPECIALSKINLIST_HEAD'];\r
2150                         }\r
2151                         break;\r
2152                 case 'BODY':\r
2153                         $current = $vars['current'];\r
2154                         if ( !array_key_exists('SPECIALSKINLIST_BODY', $templates) || empty($templates['SPECIALSKINLIST_BODY']) )\r
2155                         {\r
2156                                 $template = "<li>"\r
2157                                           . "<a href=\"<%editurl%>\" tabindex=\"<%tabindex%>\">"\r
2158                                           . "<%skintype%>"\r
2159                                           . "</a>"\r
2160                                           . " ("\r
2161                                           . "<a href=\"<%removeurl%>\" tabindex=\"<%tabindex%>\" >"\r
2162                                           . "<%text(_LISTS_DELETE)%>"\r
2163                                           . "</a>"\r
2164                                           . ")"\r
2165                                           . "</li>\n";\r
2166                         }\r
2167                         else\r
2168                         {\r
2169                                 $template = $templates['SPECIALSKINLIST_BODY'];\r
2170                         }\r
2171                         \r
2172                         $data['tabindex']               = (integer) $vars['tabindex']++;\r
2173                         $data['skintype']               = Entity::hsc($current['skintype']);\r
2174                         $data['skintypename']   = Entity::hsc($current['skintypename']);\r
2175                         $data['editaction']             = $vars['editaction'];\r
2176                         $data['editurl']                = "{$CONF['AdminURL']}?action={$vars['editaction']}&amp;skinid={$vars['skinid']}&amp;type={$current['skintype']}";\r
2177                         $data['removeaction']   = $vars['editaction'];\r
2178                         $data['removeurl']              = "{$CONF['AdminURL']}?action={$vars['removeaction']}&amp;skinid={$vars['skinid']}&amp;type={$current['skintype']}";\r
2179                         \r
2180                         break;\r
2181                 case 'FOOT':\r
2182                         if ( !array_key_exists('SPECIALSKINLIST_FOOT', $templates) || empty($templates['SPECIALSKINLIST_FOOT']) )\r
2183                         {\r
2184                                 $template = "</ul>\n";\r
2185                         }\r
2186                         else\r
2187                         {\r
2188                                 $template = $templates['SPECIALSKINLIST_FOOT'];\r
2189                         }\r
2190                         break;\r
2191         }\r
2192         \r
2193         return Template::fill($template, $data);\r
2194 }\r
2195 \r
2196 /**\r
2197  * listplug_input_yesno()\r
2198  *\r
2199  * @param       string  $name                   name of input element with radio type attribute\r
2200  * @param       string  $checkedval             value which should be checked\r
2201  * @param       integer $tabindex               tabindex number\r
2202  * @param       string  $value1                 value of radio 1\r
2203  * @param       string  $value2                 value of radio 2\r
2204  * @param       string  $yesval                 label for yes\r
2205  * @param       string  $noval                  label for no\r
2206  * @param       boolean $isAdmin                super admin or not\r
2207  * @param       string  $template_name  name of template\r
2208  * @param       boolean $showlist               used in showlist or not\r
2209  * @return      string  marked-up string\r
2210  */\r
2211 function listplug_input_yesno($name, $checkedval, $tabindex = 0,\r
2212         $value1 = 1, $value2 = 0, $yesval = _YES, $noval = _NO,\r
2213         $isAdmin = 0, $template_name = '', $showlist = FALSE)\r
2214 {\r
2215         global $manager;\r
2216         \r
2217         $templates = array();\r
2218         if ( $template_name )\r
2219         {\r
2220                 $templates =& $manager->getTemplate($template_name);\r
2221         }\r
2222         \r
2223         if ( $name == 'admin' )\r
2224         {\r
2225                 if ( !array_key_exists('INPUTYESNO_TEMPLATE_ADMIN', $templates) || empty($templates['INPUTYESNO_TEMPLATE_ADMIN']) )\r
2226                 {\r
2227                         $template = "<input type=\"radio\" id=\"<%yesid%>\" name=\"<%name%>\" value=\"<%yesval%>\" <%yescheckedval%> onclick=\"selectCanLogin(true);\" />\n"\r
2228                                   . "<label for=\"<%yesid%>\"><%yesvaltext%></label>\n"\r
2229                                   . "<input type=\"radio\" id=\"<%noid%>\" name=\"<%name%>\" value=\"<%noval%>\" <%nocheckedval%> <%disabled%> onclick=\"selectCanLogin(false);\" />\n"\r
2230                                   . "<label for=\"<%noid%>\"><%novaltext%></label>\n";\r
2231                 }\r
2232                 else\r
2233                 {\r
2234                         $template = $templates['INPUTYESNO_TEMPLATE_ADMIN'];\r
2235                 }\r
2236         }\r
2237         else\r
2238         {\r
2239                 if ( array_key_exists('INPUTYESNO_TEMPLATE_NORMAL', $templates) && !empty($templates['INPUTYESNO_TEMPLATE_NORMAL']) )\r
2240                 {\r
2241                         $template = $templates['INPUTYESNO_TEMPLATE_NORMAL'];\r
2242                 }\r
2243                 else if ( $showlist && array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO', $templates) && !empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO']) )\r
2244                 {\r
2245                         $template = $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO'];\r
2246                 }\r
2247                 else\r
2248                 {\r
2249                 $template = "<input type=\"radio\" id=\"<%yesid%>\" name=\"<%name%>\" value=\"<%yesval%>\" <%yescheckedval%> />\n"\r
2250                           . "<label for=\"<%yesid%>\"><%yesvaltext%></label>\n"\r
2251                           . "<input type=\"radio\" id=\"<%noid%>\" name=\"<%name%>\" value=\"<%noval%>\" <%nocheckedval%> <%disabled%> />\n"\r
2252                           . "<label for=\"<%noid%>\"><%novaltext%></label>\n";\r
2253                 }\r
2254         }\r
2255         \r
2256         $id             = preg_replace('#[|]#', '-', $name);\r
2257         $id1    = $id . $value1;\r
2258         $id2    = $id . $value2;\r
2259         $dat = array(\r
2260                 'name'                  => Entity::hsc($name),\r
2261                 'yesval'                => Entity::hsc($value1),\r
2262                 'noval'                 => Entity::hsc($value2),\r
2263                 'yesid'                 => Entity::hsc($id1),\r
2264                 'noid'                  => Entity::hsc($id2),\r
2265                 'yesvaltext'    => $yesval,\r
2266                 'novaltext'             => $noval,\r
2267                 'yescheckedval' => ($checkedval == $value1) ? 'checked="checked" tabindex="' . $tabindex . '"': '',\r
2268                 'nocheckedval'  => ($checkedval != $value1) ? 'checked="checked" tabindex="' . $tabindex . '"': '',\r
2269                 'disabled'              => ($isAdmin && $name == 'canlogin') ? ' disabled="disabled"' : '',\r
2270         );\r
2271         \r
2272         return Template::fill($template, $dat);\r
2273 }\r
2274 \r
2275 /**\r
2276  * listplug_batchlist()\r
2277  * \r
2278  * @param       string          $attr   item/member/team/category/comment\r
2279  * @param       resource        $query  SQL resorce\r
2280  * @param       string          $type   type for showlist()\r
2281  * @param       array           $vars   array for variables\r
2282  */\r
2283 function listplug_batchlist($attr, $query, $type, $vars, $template_name)\r
2284 {\r
2285         global $manager;\r
2286         \r
2287         /* HEAD */\r
2288         $content = "<form method=\"post\" action=\"index.php\">\n";\r
2289         \r
2290         /* BODY */\r
2291         $content .= showlist($query, $type, $vars, $template_name);\r
2292         \r
2293         /* FOOT */\r
2294         switch ( $attr )\r
2295         {\r
2296                 case 'item':\r
2297                         $options = array(\r
2298                                 'delete'        => _BATCH_ITEM_DELETE,\r
2299                                 'move'          => _BATCH_ITEM_MOVE\r
2300                         );\r
2301                         break;\r
2302                 case 'member':\r
2303                         $options = array(\r
2304                                 'delete'        => _BATCH_MEMBER_DELETE,\r
2305                                 'setadmin'      => _BATCH_MEMBER_SET_ADM,\r
2306                                 'unsetadmin' => _BATCH_MEMBER_UNSET_ADM\r
2307                         );\r
2308                         break;\r
2309                 case 'team':\r
2310                         $options = array(\r
2311                                 'delete'        => _BATCH_TEAM_DELETE,\r
2312                                 'setadmin'      => _BATCH_TEAM_SET_ADM,\r
2313                                 'unsetadmin' => _BATCH_TEAM_UNSET_ADM,\r
2314                         );\r
2315                         break;\r
2316                 case 'category':\r
2317                         $options = array(\r
2318                                 'delete'        => _BATCH_CAT_DELETE,\r
2319                                 'move'          => _BATCH_CAT_MOVE,\r
2320                         );\r
2321                         break;\r
2322                 case 'comment':\r
2323                         $options = array(\r
2324                                 'delete'        => _BATCH_COMMENT_DELETE,\r
2325                         );\r
2326                         break;\r
2327                 default:\r
2328                         $options = array();\r
2329                         break;\r
2330         }\r
2331         \r
2332         $content .= "<p class=\"batchoperations\">\n"\r
2333                    . _BATCH_WITH_SEL\r
2334                    . "<select name=\"batchaction\">\n";\r
2335         \r
2336         foreach ( $options as $option => $label )\r
2337         {\r
2338                 $content .= "<option value=\"{$option}\">{$label}</option>\n";\r
2339         }\r
2340         $content .= "</select>\n";\r
2341         \r
2342         if ( $attr == 'team' )\r
2343         {\r
2344                 $content .= '<input type="hidden" name="blogid" value="' . intRequestVar('blogid') . '" />';\r
2345         }\r
2346         else if ( $attr == 'comment' )\r
2347         {\r
2348                 $content .= '<input type="hidden" name="itemid" value="' . intRequestVar('itemid') . '" />';\r
2349         }\r
2350         \r
2351         $content .= '<input type="submit" value="' . _BATCH_EXEC . '" />'\r
2352                    . "("\r
2353                    . "<a href=\"\" onclick=\"if( event &amp;&amp; event.preventDefault ) event.preventDefault(); return batchSelectAll(1); \">" . _BATCH_SELECTALL . "</a>"\r
2354                    . " - "\r
2355                    . "<a href=\"\" onclick=\"if( event &amp;&amp; event.preventDefault ) event.preventDefault(); return batchSelectAll(0); \">" . _BATCH_DESELECTALL . "</a>"\r
2356                    . ")\n"\r
2357                    . "<input type=\"hidden\" name=\"action\" value=\"batch{$attr}\" />\n"\r
2358                    . '<input type="hidden" name="ticket" value="' . Entity::hsc($manager->getNewTicket()) . '" />' . "\n"\r
2359                    . "</p>\n"\r
2360                    . "</form>\n";\r
2361         \r
2362         return $content;\r
2363 }\r
2364 \r
2365 /**\r
2366  * listplug_navlist()\r
2367  * \r
2368  * @param       string          $attr                   item/member/team/category/comment\r
2369  * @param       resource        $query                  SQL resorce\r
2370  * @param       string          $type                   type for showlist()\r
2371  * @param       array           $vars                   array for variables\r
2372  * @param       string          $template_name  name of template\r
2373  * @return      string          contents\r
2374  */\r
2375 function listplug_navlist($attribute, $query, $type, $vars, $template_name)\r
2376 {\r
2377         global $CONF;\r
2378         \r
2379         $prev = $vars['start'] - $vars['amount'];\r
2380         if ( $prev < $vars['minamount'] )\r
2381         {\r
2382                 $prev = $vars['minamount'];\r
2383         }\r
2384         \r
2385         $next = $vars['start'] + $vars['amount'];\r
2386         \r
2387         $navi = "\n";\r
2388         $navi .= "<table frame=\"box\" rules=\"all\" sumamry=\"navigation actions\" class=\"navigation\">\n"\r
2389                . "<tr>\n";\r
2390         $navi .= "<td>\n"\r
2391                . "<form method=\"post\" action=\"{$CONF['AdminURL']}\">\n"\r
2392                . "<input type=\"hidden\" name=\"start\" value=\"{$prev}\" />\n"\r
2393                . "<button type=\"submit\" name=\"action\" value=\"{$vars['action']}\">&lt; &lt; " . _LISTS_PREV . "</button>\n"\r
2394                . "<input type=\"hidden\" name=\"blogid\" value=\"{$vars['blogid']}\" />\n"\r
2395                . "<input type=\"hidden\" name=\"itemid\" value=\"{$vars['itemid']}\" />\n"\r
2396                . "<input type=\"hidden\" name=\"search\" value=\"{$vars['search']}\" />\n"\r
2397                . "<input type=\"hidden\" name=\"amount\" value=\"{$vars['amount']}\" />\n"\r
2398                . "</form>\n"\r
2399                . "</td>\n";\r
2400         $navi .= "<td>\n"\r
2401                . "<form method=\"post\" action=\"{$CONF['AdminURL']}\">\n"\r
2402                . "<input type=\"text\" name=\"amount\" size=\"3\" value=\"{$vars['amount']}\" />\n"\r
2403                . _LISTS_PERPAGE\r
2404                . "<input type=\"hidden\" name=\"start\" value=\"0\" />\n"\r
2405                . "<button type=\"submit\" name=\"action\" value=\"{$vars['action']}\">&gt; " . _LISTS_CHANGE . "</button>\n"\r
2406                . "<input type=\"hidden\" name=\"blogid\" value=\"{$vars['blogid']}\" />\n"\r
2407                . "<input type=\"hidden\" name=\"itemid\" value=\"{$vars['itemid']}\" />\n"\r
2408                . "<input type=\"hidden\" name=\"search\" value=\"{$vars['search']}\" />\n"\r
2409                . "<input type=\"hidden\" name=\"amount\" value=\"{$vars['amount']}\" />\n"\r
2410                . "</form>\n"\r
2411                . "</td>\n";\r
2412         $navi .= "<td>\n"\r
2413                . "<form method=\"post\" action=\"{$CONF['AdminURL']}\">\n"\r
2414                . "<input type=\"text\" name=\"search\" value=\"{$vars['search']}\" size=\"7\" />\n"\r
2415                . "<input type=\"hidden\" name=\"start\" value=\"0\" />\n"\r
2416                . "<button type=\"submit\" name=\"action\" value=\"{$vars['action']}\">&gt; " . _LISTS_SEARCH . "</button>\n"\r
2417                . "<input type=\"hidden\" name=\"blogid\" value=\"{$vars['blogid']}\" />\n"\r
2418                . "<input type=\"hidden\" name=\"itemid\" value=\"{$vars['itemid']}\" />\n"\r
2419                . "<input type=\"hidden\" name=\"search\" value=\"{$vars['search']}\" />\n"\r
2420                . "<input type=\"hidden\" name=\"amount\" value=\"{$vars['amount']}\" />\n"\r
2421                . "</form>\n"\r
2422                . "</td>\n";\r
2423         $navi .= "<td>\n"\r
2424                . "<form method=\"post\" action=\"{$CONF['AdminURL']}\">\n"\r
2425                . "<input type=\"hidden\" name=\"start\" value=\"{$next}\" />\n"\r
2426                . "<button type=\"submit\" name=\"action\" value=\"{$vars['action']}\">" . _LISTS_NEXT . "&gt; &gt; </button>\n"\r
2427                . "<input type=\"hidden\" name=\"blogid\" value=\"{$vars['blogid']}\" />\n"\r
2428                . "<input type=\"hidden\" name=\"itemid\" value=\"{$vars['itemid']}\" />\n"\r
2429                . "<input type=\"hidden\" name=\"search\" value=\"{$vars['search']}\" />\n"\r
2430                . "<input type=\"hidden\" name=\"amount\" value=\"{$vars['amount']}\" />\n"\r
2431                . "</form>\n"\r
2432                . "</td>\n";\r
2433         $navi .= "</tr>\n"\r
2434                . "</table>\n";\r
2435         \r
2436         /* HEAD */\r
2437         $template = $navi;\r
2438         \r
2439         /* BODY */\r
2440         $template .= listplug_batchlist($attribute, $query, $type, $vars, $template_name);\r
2441         \r
2442         /* FOOT */\r
2443         $template .= $navi;\r
2444         \r
2445         return $template;\r
2446 }\r