Commit 8028587133fa72399b482640d40c7d6ac4f1ae11

Authored by kevin_fourie
1 parent 47dc1c26

Merged in from DEV trunk...

KTS-3420
"When session expires and I do logout then I have to login twice"?Fixed. The logout action redirects via control where the session is checked, causing a session timeout on the logout action. You then has to log back in before you can logout. I've changed it so it now goes directly to the logout without going through control.php.??Committed by: Megan Watson?Reviewed by: Conrad Vermeulen?

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/branches/3.5.3-Branch@8596 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/templating/kt3template.inc.php
... ... @@ -6,31 +6,31 @@
6 6 * Document Management Made Simple
7 7 * Copyright (C) 2008 KnowledgeTree Inc.
8 8 * Portions copyright The Jam Warehouse Software (Pty) Limited
9   - *
  9 + *
10 10 * This program is free software; you can redistribute it and/or modify it under
11 11 * the terms of the GNU General Public License version 3 as published by the
12 12 * Free Software Foundation.
13   - *
  13 + *
14 14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 16 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17 17 * details.
18   - *
  18 + *
19 19 * You should have received a copy of the GNU General Public License
20 20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21   - *
22   - * You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco,
  21 + *
  22 + * You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco,
23 23 * California 94120-7775, or email info@knowledgetree.com.
24   - *
  24 + *
25 25 * The interactive user interfaces in modified source and object code versions
26 26 * of this program must display Appropriate Legal Notices, as required under
27 27 * Section 5 of the GNU General Public License version 3.
28   - *
  28 + *
29 29 * In accordance with Section 7(b) of the GNU General Public License version 3,
30 30 * these Appropriate Legal Notices must retain the display of the "Powered by
31   - * KnowledgeTree" logo and retain the original copyright notice. If the display of the
  31 + * KnowledgeTree" logo and retain the original copyright notice. If the display of the
32 32 * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices
33   - * must display the words "Powered by KnowledgeTree" and retain the original
  33 + * must display the words "Powered by KnowledgeTree" and retain the original
34 34 * copyright notice.
35 35 * Contributor( s): ______________________________________
36 36 *
... ... @@ -169,22 +169,12 @@ class KTPage {
169 169 function initMenu() {
170 170 // FIXME: we lost the getDefaultAction stuff - do we care?
171 171 // note that key == action. this is _important_, since we crossmatch the breadcrumbs against this for "active"
172   - global $default;
173   - $rootUrl = $default->rootUrl;
174   - $bSSL = $default->sslEnabled;
175   -
176   - $sProtocol = ($bSSL) ? 'https' : 'http';
177   - $sBaseUrl = $sProtocol.'://'.$_SERVER['HTTP_HOST'].$rootUrl;
  172 + $sBaseUrl = KTUtil::kt_url();
178 173  
179 174 $this->menu = array();
180 175 $this->menu['dashboard'] = array('label' => _kt("Dashboard"), 'url' => $sBaseUrl.'/dashboard.php');
181 176 $this->menu['browse'] = array('label' => _kt("Browse Documents"), 'url' => $sBaseUrl.'/browse.php');
182 177 $this->menu['administration'] = array('label' => _kt("DMS Administration"), 'url' => $sBaseUrl.'/admin.php');
183   - /*
184   - $this->menu = array("dashboard" => $this->_actionHelper(array("name" => _kt("Dashboard"), "action" => "dashboard", "active" => 0)),
185   - "browse" => $this->_actionHelper(array("name" => _kt("Browse Documents"), "action" => "browse", "active" => 0)),
186   - "administration" => $this->_actionHelper(array("name" => _kt("DMS Administration"), "action" => "administration", "active" => 0)),);
187   - */
188 178 }
189 179  
190 180  
... ... @@ -386,21 +376,23 @@ class KTPage {
386 376  
387 377 $this->userMenu = array();
388 378 if (!(PEAR::isError($this->user) || is_null($this->user) || $this->user->isAnonymous())) {
  379 + $sBaseUrl = KTUtil::kt_url();
  380 +
389 381 if ($oConfig->get("user_prefs/restrictPreferences", false) && !Permission::userIsSystemAdministrator($this->user->getId())) {
390   - $this->userMenu = array("logout" => $this->_actionHelper(array("name" => _kt("Logout"), "action" => "logout", "active" => 0)),);
  382 + $this->userMenu['logout'] = array('label' => _kt('Logout'), 'url' => $sBaseUrl.'/presentation/logout.php');
391 383 } else {
392   - $this->userMenu = array("preferences" => $this->_actionHelper(array("name" => _kt("Preferences"), "action" => "preferences", "active" => 0)),
393   - "aboutkt" => $this->_actionhelper(array("name" => _kt("About"), "action" => "aboutkt", "active" => 0)),
394   - "logout" => $this->_actionHelper(array("name" => _kt("Logout"), "action" => "logout", "active" => 0)),);
  384 + $this->userMenu['preferences'] = array('label' => _kt('Preferences'), 'url' => $sBaseUrl.'/preferences.php');
  385 + $this->userMenu['aboutkt'] = array('label' => _kt('About'), 'url' => $sBaseUrl.'/about.php');
  386 + $this->userMenu['logout'] = array('label' => _kt('Logout'), 'url' => $sBaseUrl.'/presentation/logout.php');
395 387 }
396 388 } else {
397   - $this->userMenu = array("login" => $this->_actionHelper(array("name" => _kt("Login"), "action" => "login")),);
  389 + $this->userMenu['login'] = array('label' => _kt('Login'), 'url' => $sBaseUrl.'/login.php');
398 390 }
399 391  
400 392 // FIXME we need a more complete solution to navigation restriction
401 393 if (!is_null($this->menu['administration']) && !is_null($this->user)) {
402 394 if (!Permission::userIsSystemAdministrator($this->user->getId())) {
403   - unset($this->menu['administration']);
  395 + unset($this->menu['administration']);
404 396 }
405 397 }
406 398  
... ...