Posted: Fri Aug 19, 2005 2:18 pm
Each page/script/task calls my Init function... Here is a piece from that function:
Code: Select all
// continue with existing session, or start a new one
if (!isset($_SESSION)) {
if (isset($session_name)) {
session_name($session_name); // set the session name
}
session_start(); // open/reopen session
}
// check if user is logged in
$task_id = basename($_SERVER['PHP_SELF']);
if (!in_array($task_id, array('cms_logon.php', 'help.php')) && (!isset($_SESSION['user_id']) || !isset($_SESSION['role_id'])))
{
redirect('cms_logon.php');
}
// check if user has authorization to access this task
require_once('classes/cms_role_task_xref.class.inc');
$rbac = new cms_role_task_xref;
if (!in_array($task_id, array('cms_logon.php', 'help.php')) && (!isset($_SESSION['allowed'][$task_id]) || $_SESSION['allowed'][$task_id] != 'y'))
{
$role_id = $_SESSION['role_id'];
$data = $rbac->getData("task_id='$task_id' AND role_id='$role_id'");
if (count($data) <= 0)
{
redirect('cms_logon.php');
}
else
{
$_SESSION['allowed'][$task_id] = 'y';
}
}