Project

General

Profile

1 5 stefan
<?php
2
3 11 ryan
// $Id$
4
5 5 stefan
/*
6
7
 Website Baker Project <http://www.websitebaker.org/>
8
 Copyright (C) 2004-2005, Ryan Djurovich
9
10
 Website Baker is free software; you can redistribute it and/or modify
11
 it under the terms of the GNU General Public License as published by
12
 the Free Software Foundation; either version 2 of the License, or
13
 (at your option) any later version.
14
15
 Website Baker is distributed in the hope that it will be useful,
16
 but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 GNU General Public License for more details.
19
20
 You should have received a copy of the GNU General Public License
21
 along with Website Baker; if not, write to the Free Software
22
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23
24
*/
25
26
/*
27
28
wb class
29
30
This class is the basis for admin and frontend classes.
31
32
*/
33
34 106 stefan
require_once(WB_PATH.'/framework/class.database.php');
35
36 5 stefan
class wb
37 95 stefan
{
38 55 stefan
	// General initialization function
39
	// performed when frontend or backend is loaded.
40
	function wb() {
41 39 stefan
	}
42 38 stefan
43 5 stefan
	// Check whether we should show a page or not (for front-end)
44
	function show_page($page) {
45
		// First check if the page is set to private
46
		if($page['visibility'] == 'private' OR $page['visibility'] == 'registered') {
47
			// Check if the user is logged in
48
			if($this->is_authenticated() == true) {
49
				// Now check if the user has perms to view it
50
				$viewing_groups = explode(',', $page['viewing_groups']);
51
				$viewing_users = explode(',', $page['viewing_users']);
52
				if(is_numeric(array_search($this->get_group_id(), $viewing_groups)) OR is_numeric(array_search($this->get_user_id(), $viewing_users))) {
53
					return true;
54
				} else {
55
					return false;
56
				}
57
			} else {
58
				return false;
59
			}
60
		} elseif($page['visibility'] == 'public') {
61
			return true;
62
		} else {
63
			return false;
64
		}
65
	}
66
67
	// Check if the user is already authenticated or not
68
	function is_authenticated() {
69
		if(isset($_SESSION['USER_ID']) AND $_SESSION['USER_ID'] != "" AND is_numeric($_SESSION['USER_ID'])) {
70
			return true;
71
		} else {
72
			return false;
73
		}
74
	}
75 38 stefan
76
	// Modified addslashes function which takes into account magic_quotes
77 40 stefan
	function add_slashes($input) {
78 38 stefan
		if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) {
79
			return $input;
80
		}
81 40 stefan
		$output = addslashes($input);
82 38 stefan
		return $output;
83
	}
84 5 stefan
85 38 stefan
	// Ditto for stripslashes
86 40 stefan
	function strip_slashes($input) {
87 36 stefan
		if ( !get_magic_quotes_gpc() || ( !is_string($input) ) ) {
88
			return $input;
89
		}
90
		$output = stripslashes($input);
91
		return $output;
92
	}
93
94 42 stefan
	function strip_slashes_dummy($input) {
95
		return $input;
96
	}
97
98 38 stefan
	// Escape backslashes for use with mySQL LIKE strings
99
	function escape_backslashes($input) {
100 42 stefan
		return str_replace("\\","\\\\",$input);
101 38 stefan
	}
102
103 5 stefan
	// Get POST data
104
	function get_post($field) {
105
		if(isset($_POST[$field])) {
106
			return $_POST[$field];
107
		} else {
108
			return null;
109
		}
110
	}
111
112
	// Get GET data
113
	function get_get($field) {
114
		if(isset($_GET[$field])) {
115
			return $_GET[$field];
116
		} else {
117
			return null;
118
		}
119
	}
120
121
	// Get SESSION data
122
	function get_session($field) {
123
		if(isset($_SESSION[$field])) {
124
			return $_SESSION[$field];
125
		} else {
126
			return null;
127
		}
128
	}
129
130
	// Get SERVER data
131
	function get_server($field) {
132
		if(isset($_SERVER[$field])) {
133
			return $_SERVER[$field];
134
		} else {
135
			return null;
136
		}
137
	}
138
139
	// Get the current users id
140
	function get_user_id() {
141
		return $_SESSION['USER_ID'];
142
	}
143
144
	// Get the current users group id
145
	function get_group_id() {
146
		return $_SESSION['GROUP_ID'];
147
	}
148
149
	// Get the current users group name
150
	function get_group_name() {
151
		return $_SESSION['GROUP_NAME'];
152
	}
153
154
	// Get the current users username
155
	function get_username() {
156
		return $_SESSION['USERNAME'];
157
	}
158
159
	// Get the current users display name
160
	function get_display_name() {
161 106 stefan
		return ($_SESSION['DISPLAY_NAME']);
162 5 stefan
	}
163
164
	// Get the current users email address
165
	function get_email() {
166
		return $_SESSION['EMAIL'];
167
	}
168
169
	// Get the current users home folder
170
	function get_home_folder() {
171
		return $_SESSION['HOME_FOLDER'];
172
	}
173
174
	// Get the current users timezone
175
	function get_timezone() {
176
		if(!isset($_SESSION['USE_DEFAULT_TIMEZONE'])) {
177
			return $_SESSION['TIMEZONE'];
178
		} else {
179
			return '-72000';
180
		}
181
	}
182
183
	// Validate supplied email address
184
	function validate_email($email) {
185
		if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
186
			return true;
187
		} else {
188
			return false;
189
		}
190
	}
191
192
193
}
194
?>