When calling BSFunctions::cookie() to clear cookies, we need FALSE not NULL
[bugdar.git] / admin / global.php
1 <?php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar
5 || # Copyright ©2002-2007 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 // admin navigation
29
30 $bugsys->load('printer_navigation', 'navigator', true);
31 $navigator->add_top_link(T('Home'), '../index.php');
32 $navigator->add_top_link(T('Logout'), '../login.php?do=cplogout');
33
34 $navigator->add_component('tab', 'options', null, T('Options'), 'index.php');
35 $navigator->add_component('tab', 'products', null, T('Products'), 'product.php');
36 $navigator->add_component('tab', 'fields', null, T('Fields'), 'field.php');
37 $navigator->add_component('tab', 'users', null, T('Users &amp; Permissions'), 'user.php');
38
39 require_once('./includes/class_admin_navigation.php');
40
41 // ###################################################################
42 // continue loading
43
44 $bugsys->load('printer', 'admin', true);
45 $admin->setRealm(T('Administration'));
46 $admin->setLanguageInformation($language);
47 $admin->css_link('../framework/printer.css.php');
48
49 // ###################################################################
50
51 function admin_login()
52 {
53 global $admin, $bugsys;
54
55 define('ISSO_PRINTER_NO_NAVIGATION', 1);
56
57 $admin->page_start(T('Login'), null, '', 'document.cplogin.' . (bugdar::$userinfo['email'] ? 'password' : 'email') . '.focus();');
58
59 $admin->form_start('../login.php', 'cplogin', false, 'cplogin');
60 $admin->table_start(true, '425');
61 $admin->table_head(T('Login to Bugdar'));
62 $admin->row_input(T('Email'), 'email', bugdar::$userinfo['email'], 2, 35, false, false, 'middle');
63 $admin->row_input(T('Password'), 'password', '', 2, 35, false, true, 'middle');
64 $admin->row_submit('', T('Login'));
65 $admin->table_end();
66 $admin->form_end();
67
68 $admin->page_end();
69 }
70
71 // ###################################################################
72
73 if (can_perform('canadminpanel'))
74 {
75 $session = $db->queryFirst("SELECT * FROM " . TABLE_PREFIX . "adminsession WHERE sessionid = '" . $bugsys->input_escape(COOKIE_PREFIX . 'adminsession') . "'");
76 if ($session AND $session['userid'] == bugdar::$userinfo['userid'] AND $session['dateline'] >= (TIMENOW - 3600))
77 {
78 // renew the cookie
79 BSFunctions::cookie(COOKIE_PREFIX . 'adminsession', $session['sessionid'], false);
80 }
81 else
82 {
83 BSFunctions::cookie(COOKIE_PREFIX . 'adminsession', false);
84 admin_login();
85 // do we need this message?
86 $admin->error(T('Invalid admin session has been terminated.'));
87 }
88 }
89 else
90 {
91 BSFunctions::cookie(COOKIE_PREFIX . 'adminsession', false);
92 admin_login();
93 }
94
95 // ###################################################################
96
97 // ###################################################################
98 /**
99 * Callback function for the Pagination->BitProcessor()
100 *
101 * @param string Base link
102 * @param bool Do not show this as a link
103 * @param integer Page number
104 * @param object Page navigator framework
105 *
106 * @return string Processed HTML
107 */
108 function AdminPageNavigatorBitCallback($baselink, $nolink, $number, $paginator)
109 {
110 if ($nolink)
111 {
112 return '<strong>' . $number . '</strong>' . "\n";
113 }
114 else
115 {
116 return '<a href="' . $baselink . 'p=' . $number . '&amp;pp=' . $paginator->getPerPage() . '">' . $number . '</a>' . "\n";
117 }
118 }
119
120 // ###################################################################
121 /**
122 * Callback function for the Pagination->NavigatorProcessor()
123 *
124 * @param string Base URL
125 * @param integer Next page number
126 * @param integer Previous page number
127 * @param array Show information
128 * @param string Individual page bits
129 * @param object Page navigator framework
130 *
131 * @return string Processed HTML
132 */
133 function AdminPageNavigatorCallback($baselink, $nextpage, $prevpage, $show, $pagebits, $paginator)
134 {
135 global $stylevar;
136
137 $return = '';
138
139 if ($show['first'])
140 {
141 $return .= '<a href="' . $baselink . 'p=1&amp;pp=' . $paginator->getPerPage() . '">' . T('First') . '</a> ...';
142 }
143 if ($show['prev'])
144 {
145 $return .= '<a href="' . $baselink . 'p=' . $prevpage . '&amp;pp=' . $paginator->getPerPage() . '">' . T('Prev') . '</a> ...';
146 }
147
148 $return .= $pagebits;
149
150 if ($show['next'])
151 {
152 $return .= '... <a href="' . $baselink . 'p=' . $nextpage . '&amp;pp=' . $paginator->getPerPage() . '">' . T('Next') . '</a>';
153 }
154 if ($show['last'])
155 {
156 $return .= '... <a href="' . $baselink . 'p=' . $paginator->getPageCount() . '&amp;pp=' . $paginator->getPerPage() . '">' . T('Last') . '</a>';
157 }
158 return '<div style="margin-top: 15px; float: ' . $stylevar['right'] . '">' . $return . '</div>';
159 }
160
161 /*=====================================================================*\
162 || ###################################################################
163 || # $HeadURL$
164 || # $Id$
165 || ###################################################################
166 \*=====================================================================*/
167 ?>