source: trunk/include/user.inc.php @ 1651

Last change on this file since 1651 was 1651, checked in by rub, 17 years ago

Feature Issue ID 0000601: Filter all public pages with only recent elements

Last draft before final development.
There a icon for global mode and one other for local mode.

Counters are not good, filter on images are not everywhere applied, moment to update cache are not optimized, ...

Go to http://forum.phpwebgallery.net/viewtopic.php?id=9490

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.1 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | PhpWebGallery - a PHP based picture gallery                           |
4// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
5// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
6// +-----------------------------------------------------------------------+
7// | branch        : BSF (Best So Far)
8// | file          : $RCSfile$
9// | last update   : $Date: 2006-12-13 00:05:16 +0000 (Wed, 13 Dec 2006) $
10// | last modifier : $Author: rub $
11// | revision      : $Revision: 1651 $
12// +-----------------------------------------------------------------------+
13// | This program is free software; you can redistribute it and/or modify  |
14// | it under the terms of the GNU General Public License as published by  |
15// | the Free Software Foundation                                          |
16// |                                                                       |
17// | This program is distributed in the hope that it will be useful, but   |
18// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
19// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
20// | General Public License for more details.                              |
21// |                                                                       |
22// | You should have received a copy of the GNU General Public License     |
23// | along with this program; if not, write to the Free Software           |
24// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
25// | USA.                                                                  |
26// +-----------------------------------------------------------------------+
27
28// by default we start with guest
29$user['id'] = $conf['guest_id'];
30
31if (isset($_COOKIE[session_name()]))
32{
33  session_start();
34  if (isset($_GET['act']) and $_GET['act'] == 'logout')
35  { // logout
36    $_SESSION = array();
37    session_unset();
38    session_destroy();
39    setcookie(session_name(),'',0,
40        ini_get('session.cookie_path'),
41        ini_get('session.cookie_domain')
42      );
43    setcookie($conf['remember_me_name'], '', 0, cookie_path());
44    redirect(make_index_url());
45  }
46  elseif (!empty($_SESSION['pwg_uid']))
47  {
48    $user['id'] = $_SESSION['pwg_uid'];
49  }
50}
51
52// Now check the auto-login
53if ( $user['id']==$conf['guest_id'] )
54{
55  auto_login();
56}
57
58if (session_id()=="")
59{
60  session_start();
61}
62
63// using Apache authentication override the above user search
64if ($conf['apache_authentication'] and isset($_SERVER['REMOTE_USER']))
65{
66  if (!($user['id'] = get_userid($_SERVER['REMOTE_USER'])))
67  {
68    register_user($_SERVER['REMOTE_USER'], '', '');
69    $user['id'] = get_userid($_SERVER['REMOTE_USER']);
70  }
71}
72
73if (isset($_GET['filter_global_mode']))
74{
75  $user['filter_global_mode'] = ($_GET['filter_global_mode'] == 'start');
76  pwg_set_session_var('filter_global_mode', $user['filter_global_mode']);
77}
78else
79{
80  $user['filter_global_mode'] = pwg_get_session_var('filter_global_mode', false);
81}
82
83$user = build_user( $user['id'],
84          ( defined('IN_ADMIN') and IN_ADMIN ) ? false : true, // use cache ?
85          $user['filter_global_mode'] // filter_global_mode ?
86         );
87
88?>
Note: See TracBrowser for help on using the repository browser.