control.inc
2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
/**
* $Id$
*
* Contains the controller helper functions
*
* Copyright (c) 1999-2002 The Owl Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
* @version $Revision$
* @author <a href="mailto:michael@jamwarehouse.com>Michael Joseph</a>, Jam Warehouse (Pty) Ltd, South Africa
* @package dmslib
*/
/**
* Redirects to the specified URL
*
* @param $url the URL to forward to
*/
function redirect($url) {
// everything is relative to the root url
$url = $default->owl_root_url . $url;
//echo "redirect:url = $url<br>";
header("Location: $url");
}
/**
* Performs a redirect through the controller.
* Takes a controller action and queryString and builds url.
*
* @param $action the controller action
* @param $queryString additional querystring vars
*/
function controllerRedirect($action, $queryString) {
// generate url
$ctlUrl = generateControllerUrl($action);
// append the rest of the url
$url = $ctlUrl . "&$queryString";
// now redirect
redirect($url);
}
/**
* Returns a controller url.
*
* @param $action the controller action to generate a url for
*
* @return the controller url
*/
function generateControllerUrl($action) {
return "/control.php?action=$action";
}
/**
* Generates a link via the control page, with the passed action
*
* @param $action
* the controller action to generate a link for
* @return the generated href
*/
function generateLink($action) {
return "<a href=\"" . generateControllerUrl($action) . "\">";
}
/**
* Verifies the current session
* Automatically redirects to
*/
function checkSession() {
global $default;
session_start();
$session = new Session();
$sessionStatus = $session->verify();
// ??: do i need all this stuff?
if ($sessionStatus["status"] != 1) {
// verification failed, redirect to login with error message
$url = "/login.php?loginAction=loginForm";
$redirect = $_SERVER[PHP_SELF];
//echo "redirect url = $redirect<br>";
if (strlen($redirect) > 1) {
// not redirecting to login, so this session verification failure
// represents either the first visit to the site
// OR a session timeout etc. (in which case we still want to bounce
// the user to the login page, and then back to whatever page they're on now)
$url = $url . "&redirect=" . $redirect;
}
redirect($url);
} else {
return true;
}
}