Project

General

Profile

1
<?php
2

    
3
// $Id: class.wb.php 242 2005-11-23 16:24:09Z stefan $
4

    
5
/*
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
require_once(WB_PATH.'/framework/class.database.php');
35

    
36
class wb
37
{
38
	// General initialization function 
39
	// performed when frontend or backend is loaded.
40
	function wb() {
41
	}
42

    
43
	// 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
	// Modified addslashes function which takes into account magic_quotes
76
	function add_slashes($input) {
77
		if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) {
78
			return $input;
79
		}
80
		$output = addslashes($input);
81
		return $output;
82
	}
83

    
84
	// Ditto for stripslashes
85
	function strip_slashes($input) {
86
		if ( !get_magic_quotes_gpc() || ( !is_string($input) ) ) {
87
			return $input;
88
		}
89
		$output = stripslashes($input);
90
		return $output;
91
	}
92

    
93
	// Escape backslashes for use with mySQL LIKE strings
94
	function escape_backslashes($input) {
95
		return str_replace("\\","\\\\",$input);
96
	}
97

    
98
	function page_link($link){
99
		// Check for :// in the link (used in URL's) as well as mailto:
100
		if(strstr($link, '://') == '' AND substr($link, 0, 7) != 'mailto:') {
101
			return WB_URL.PAGES_DIRECTORY.$link.PAGE_EXTENSION;
102
		} else {
103
			return $link;
104
		}
105
	}
106
	
107
	// Get POST data
108
	function get_post($field) {
109
		if(isset($_POST[$field])) {
110
			return $_POST[$field];
111
		} else {
112
			return null;
113
		}
114
	}
115

    
116
	// Get GET data
117
	function get_get($field) {
118
		if(isset($_GET[$field])) {
119
			return $_GET[$field];
120
		} else {
121
			return null;
122
		}
123
	}
124

    
125
	// Get SESSION data
126
	function get_session($field) {
127
		if(isset($_SESSION[$field])) {
128
			return $_SESSION[$field];
129
		} else {
130
			return null;
131
		}
132
	}
133

    
134
	// Get SERVER data
135
	function get_server($field) {
136
		if(isset($_SERVER[$field])) {
137
			return $_SERVER[$field];
138
		} else {
139
			return null;
140
		}
141
	}
142

    
143
	// Get the current users id
144
	function get_user_id() {
145
		return $_SESSION['USER_ID'];
146
	}
147

    
148
	// Get the current users group id
149
	function get_group_id() {
150
		return $_SESSION['GROUP_ID'];
151
	}
152

    
153
	// Get the current users group name
154
	function get_group_name() {
155
		return $_SESSION['GROUP_NAME'];
156
	}
157

    
158
	// Get the current users username
159
	function get_username() {
160
		return $_SESSION['USERNAME'];
161
	}
162

    
163
	// Get the current users display name
164
	function get_display_name() {
165
		return ($_SESSION['DISPLAY_NAME']);
166
	}
167

    
168
	// Get the current users email address
169
	function get_email() {
170
		return $_SESSION['EMAIL'];
171
	}
172

    
173
	// Get the current users home folder
174
	function get_home_folder() {
175
		return $_SESSION['HOME_FOLDER'];
176
	}
177

    
178
	// Get the current users timezone
179
	function get_timezone() {
180
		if(!isset($_SESSION['USE_DEFAULT_TIMEZONE'])) {
181
			return $_SESSION['TIMEZONE'];
182
		} else {
183
			return '-72000';
184
		}
185
	}
186

    
187
	// Validate supplied email address
188
	function validate_email($email) {
189
		if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
190
			return true;
191
		} else {
192
			return false;
193
		}
194
	}
195

    
196
	
197
}
198
?>
(6-6/11)