We can't evaluate the footer template as a globalVar because it won't have all the...
[bugdar.git] / admin / global.php
1 <?php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar
5 || # Copyright (c)2004-2008 Blue Static
6 || #
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version 2 of the License.
10 || #
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 || # more details.
15 || #
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
21
22 chdir('./../');
23
24 require_once('./includes/init.php');
25 require_once('./includes/functions.php');
26
27 // ###################################################################
28 // setup admin templates
29
30 require_once ISSO . '/Template.php';
31 // BSTemplate::$dbCacheTable = TABLE_PREFIX . 'admintemplate';
32 BSTemplate::$templatePath = 'admin/templates/%s.html';
33 BSTemplate::$globalVars = array(
34 'templates' => array(
35 'doctype' => BSTemplate::fetch('doctype')->evaluate()->getTemplate(),
36 'nav' => BSTemplate::fetch('nav')->evaluate()->getTemplate(),
37 'headinclude' => BSTemplate::fetch('headinclude')->evaluate()->getTemplate(),
38 'title' => T('Bugdar Administration')
39 )
40 );
41
42 // ###################################################################
43
44 function admin_footer()
45 {
46 return BSTemplate::fetch('footer')->evaluate()->getTemplate();
47 }
48
49 function admin_login()
50 {
51 BSTemplate::fetch('login')->evaluate()->flush();
52 exit;
53 }
54
55 // ###################################################################
56
57 if (can_perform('canadminpanel'))
58 {
59 $session = $db->queryFirst("SELECT * FROM " . TABLE_PREFIX . "adminsession WHERE sessionid = '" . $input->inputEscape(COOKIE_PREFIX . 'adminsession') . "'");
60 if ($session AND $session['userid'] == bugdar::$userinfo['userid'] AND $session['dateline'] >= (TIMENOW - 3600))
61 {
62 // renew the cookie
63 BSFunctions::cookie(COOKIE_PREFIX . 'adminsession', $session['sessionid'], false);
64 }
65 else
66 {
67 BSFunctions::cookie(COOKIE_PREFIX . 'adminsession', false);
68 admin_login();
69 }
70 }
71 else
72 {
73 BSFunctions::cookie(COOKIE_PREFIX . 'adminsession', false);
74 admin_login();
75 }
76
77 // ###################################################################
78
79 // ###################################################################
80 /**
81 * Callback function for the Pagination->BitProcessor()
82 *
83 * @param string Base link
84 * @param bool Do not show this as a link
85 * @param integer Page number
86 * @param object Page navigator framework
87 *
88 * @return string Processed HTML
89 */
90 function AdminPageNavigatorBitCallback($baselink, $nolink, $number, $paginator)
91 {
92 if ($nolink)
93 {
94 return '<strong>' . $number . '</strong>' . "\n";
95 }
96 else
97 {
98 return '<a href="' . $baselink . 'p=' . $number . '&amp;pp=' . $paginator->getPerPage() . '">' . $number . '</a>' . "\n";
99 }
100 }
101
102 // ###################################################################
103 /**
104 * Callback function for the Pagination->NavigatorProcessor()
105 *
106 * @param string Base URL
107 * @param integer Next page number
108 * @param integer Previous page number
109 * @param array Show information
110 * @param string Individual page bits
111 * @param object Page navigator framework
112 *
113 * @return string Processed HTML
114 */
115 function AdminPageNavigatorCallback($baselink, $nextpage, $prevpage, $show, $pagebits, $paginator)
116 {
117 global $stylevar;
118
119 $return = '';
120
121 if ($show['first'])
122 {
123 $return .= '<a href="' . $baselink . 'p=1&amp;pp=' . $paginator->getPerPage() . '">' . T('First') . '</a> ...';
124 }
125 if ($show['prev'])
126 {
127 $return .= '<a href="' . $baselink . 'p=' . $prevpage . '&amp;pp=' . $paginator->getPerPage() . '">' . T('Prev') . '</a> ...';
128 }
129
130 $return .= $pagebits;
131
132 if ($show['next'])
133 {
134 $return .= '... <a href="' . $baselink . 'p=' . $nextpage . '&amp;pp=' . $paginator->getPerPage() . '">' . T('Next') . '</a>';
135 }
136 if ($show['last'])
137 {
138 $return .= '... <a href="' . $baselink . 'p=' . $paginator->getPageCount() . '&amp;pp=' . $paginator->getPerPage() . '">' . T('Last') . '</a>';
139 }
140 return '<div style="margin-top: 15px; float: ' . $stylevar['right'] . '">' . $return . '</div>';
141 }
142
143 ?>