page.inc
上传用户:xuanqunsh
上传日期:2007-01-04
资源大小:58k
文件大小:2k
源码类别:

WEB邮件程序

开发平台:

PHP

  1. <?php
  2. /*
  3.  * Session Management for PHP3
  4.  *
  5.  * Copyright (c) 1998,1999 SH Online Dienst GmbH
  6.  *                    Boris Erdmann, Kristian Koehntopp
  7.  *
  8.  * $Id: page.inc,v 1.2 2000/04/11 14:46:25 prenagha Exp $
  9.  *
  10.  */ 
  11. function page_open($feature) {
  12.   global $_PHPLIB;
  13.   # enable sess and all dependent features.
  14.   if (isset($feature["sess"])) {
  15.     global $sess;
  16.     $sess = new $feature["sess"];
  17.     $sess->start();
  18.     
  19.     # the auth feature depends on sess
  20.     if (isset($feature["auth"])) {
  21.       global $auth;
  22.       
  23.       if (!isset($auth)) {
  24.         $auth = new $feature["auth"];
  25.       }
  26.       $auth->start();
  27.   
  28.       
  29.       # the perm feature depends on auth and sess
  30.       if (isset($feature["perm"])) {
  31.         global $perm;
  32.         
  33.         if (!isset($perm)) {
  34.           $perm = new $feature["perm"];
  35.         }
  36.       }
  37.       # the user feature depends on auth and sess
  38.       if (isset($feature["user"])) {
  39.         global $user;
  40.         
  41.         if (!isset($user)) {
  42.           $user = new $feature["user"];
  43.         }
  44.         $user->start($auth->auth["uid"]);
  45.       }
  46.     }
  47.     ## Load the auto_init-File, if one is specified.
  48.     if (($sess->auto_init != "") && ($sess->in == "")) {
  49.       $sess->in = 1;
  50.       include($_PHPLIB["libdir"] . $sess->auto_init);
  51.       if ($sess->secure_auto_init != "") {
  52.         $sess->freeze();
  53.       }
  54.     } 
  55.   }
  56. }
  57. function page_close() {
  58.   global $sess, $user;
  59.   if (isset($sess)) {
  60.     $sess->freeze();
  61.     if (isset($user)) {
  62.       $user->freeze();
  63.     }
  64.   }
  65. }
  66. function sess_load($session) {
  67.   reset($session);
  68.   while (list($k,$v) = each($session)) {
  69.     $GLOBALS[$k] = new $v;
  70.     $GLOBALS[$k]->start();
  71.   }
  72. }
  73. function sess_save($session) {
  74.   reset($session);
  75.   while (list(,$v) = each($session)) {
  76.     $GLOBALS[$v]->freeze();
  77.   }
  78. }
  79. ?>