Project

General

Profile

« Previous | Next » 

Revision 95

Added by stefan about 19 years ago

Moved settings from config.php into database.
NOT FULLY WORKING!!!

View differences:

class.frontend.php
47 47
	// page database row
48 48
	var $page;
49 49
	var $page_id,$page_title,$menu_title,$parent,$root_parent,$level,$visibility;
50
	var $page_description,$page_keywords,$page_link_original,$page_link;
50
	var $page_description,$page_keywords,$page_link;
51 51
	var $page_trail=array();
52 52
	
53 53
	var $page_access_denied;
......
64 64
	
65 65
	function page_select() {
66 66
		global $page_id,$no_intro;
67
		$database=& $this->database;
67
		global $database;
68 68
		// We have no page id and are supposed to show the intro page
69 69
		if((INTRO_PAGE AND !isset($no_intro)) AND (!isset($page_id) OR !is_numeric($page_id))) {
70 70
			// Since we have no page id check if we should go to intro page or default page
......
121 121
	}
122 122

  
123 123
	function get_page_details() {
124
		$database = & $this->database;
124
		global $database;
125 125
	    if($this->page_id != 0) {
126 126
			// Query page details
127 127
			$query_page = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '{$this->page_id}'";
......
142 142
			// Begin code to set details as either variables of constants
143 143
			// Page ID
144 144
			define('PAGE_ID', $this->page['page_id']);
145
			$this->page_id=$this->page['page_id'];
146 145
			// Page Title
147 146
			define('PAGE_TITLE', $this->strip_slashes_dummy($this->page['page_title']));
148 147
			$this->page_title=PAGE_TITLE;
......
180 179
		// End code to set details as either variables of constants
181 180
		}
182 181

  
183
		// Work-out if any possible in-line search boxes should be shown
184
		if(SEARCH == 'public') {
185
			define('SHOW_SEARCH', true);
186
		} elseif(SEARCH == 'private' AND VISIBILITY == 'private') {
187
			define('SHOW_SEARCH', true);
188
		} elseif(SEARCH == 'private' AND $wb->is_authenticated() == true) {
189
			define('SHOW_SEARCH', true);
190
		} else {
191
			define('SHOW_SEARCH', false);
192
		}
193
		// Work-out if menu should be shown
194
		if(!defined('SHOW_MENU')) {
195
			define('SHOW_MENU', true);
196
		}
197
		// Work-out if login menu constants should be set
198
		if(FRONTEND_LOGIN) {
199
			// Set login menu constants
200
			define('LOGIN_URL', WB_URL.'/account/login'.PAGE_EXTENSION);
201
			define('LOGOUT_URL', WB_URL.'/account/logout'.PAGE_EXTENSION);
202
			define('FORGOT_URL', WB_URL.'/account/forgot'.PAGE_EXTENSION);
203
			define('PREFERENCES_URL', WB_URL.'/account/preferences'.PAGE_EXTENSION);
204
			define('SIGNUP_URL', WB_URL.'/account/signup'.PAGE_EXTENSION);
205
		}
206

  
207 182
		// Figure out what template to use
208 183
		if(!defined('TEMPLATE')) {
209 184
			if(isset($this->page['template']) AND $this->page['template'] != '') {
......
219 194
		// Set the template dir
220 195
		define('TEMPLATE_DIR', WB_URL.'/templates/'.TEMPLATE);
221 196

  
222
		// Check if user is allow to view this page
197
		// Check if user is allowed to view this page
223 198
		if(VISIBILITY == 'private' OR VISIBILITY == 'registered') {
224 199
			// Check if the user is authenticated
225 200
			if($this->is_authenticated() == false) {
......
234 209
			// User isnt allowed on this page so tell them
235 210
			$this->page_access_denied=true;
236 211
		}
212
	}
213

  
214
	function get_website_settings() {
215
		global $database;
216

  
217
		// set visibility SQL code
237 218
		// never show no-vis, hidden or deleted pages
238 219
		$this->extra_where_sql = "visibility != 'none' AND visibility != 'hidden' AND visibility != 'deleted'";
239 220
		// Set extra private sql code
......
246 227
			}
247 228
		}
248 229
		$this->extra_where_sql .= $this->sql_where_language;
249
	}
250 230

  
251
	function get_website_settings() {
252
		$database = & $this->database;
253
		// Get website settings (title, keywords, description, header, and footer)
254
		$query_settings = "SELECT name,value FROM ".TABLE_PREFIX."settings";
255
		$get_settings = $database->query($query_settings);
256
		while($setting = $get_settings->fetchRow()) {
257
			switch($setting['name']) {
258
				case 'title':
259
					define('WEBSITE_TITLE', $this->strip_slashes_dummy($setting['value']));
260
					$this->website_title=WEBSITE_TITLE;
261
				break;
262
				case 'description':
263
					if($page_description != '') {
264
						define('WEBSITE_DESCRIPTION', $page_description);
265
					} else {
266
						define('WEBSITE_DESCRIPTION', $this->strip_slashes_dummy($setting['value']));
267
					}
268
					$this->website_description=WEBSITE_DESCRIPTION;
269
				break;
270
				case 'keywords':
271
					if($page_keywords != '') {
272
						define('WEBSITE_KEYWORDS', $this->strip_slashes_dummy($setting['value']).' '.$page_keywords);
273
					} else {
274
						define('WEBSITE_KEYWORDS', $this->strip_slashes_dummy($setting['value']));
275
					}
276
					$this->website_keywords=WEBSITE_KEYWORDS;
277
				break;
278
				case 'header':
279
					define('WEBSITE_HEADER', $this->strip_slashes_dummy($setting['value']));
280
					$this->website_header=WEBSITE_HEADER;
281
				break;
282
				case 'footer':
283
					define('WEBSITE_FOOTER', $this->strip_slashes_dummy($setting['value']));
284
					$this->website_footer=WEBSITE_FOOTER;
285
				break;
286
			}
231
		// Work-out if any possible in-line search boxes should be shown
232
		if(SEARCH == 'public') {
233
			define('SHOW_SEARCH', true);
234
		} elseif(SEARCH == 'private' AND VISIBILITY == 'private') {
235
			define('SHOW_SEARCH', true);
236
		} elseif(SEARCH == 'private' AND $wb->is_authenticated() == true) {
237
			define('SHOW_SEARCH', true);
238
		} else {
239
			define('SHOW_SEARCH', false);
287 240
		}
241
		// Work-out if menu should be shown
242
		if(!defined('SHOW_MENU')) {
243
			define('SHOW_MENU', true);
244
		}
245
		// Work-out if login menu constants should be set
246
		if(FRONTEND_LOGIN) {
247
			// Set login menu constants
248
			define('LOGIN_URL', WB_URL.'/account/login'.PAGE_EXTENSION);
249
			define('LOGOUT_URL', WB_URL.'/account/logout'.PAGE_EXTENSION);
250
			define('FORGOT_URL', WB_URL.'/account/forgot'.PAGE_EXTENSION);
251
			define('PREFERENCES_URL', WB_URL.'/account/preferences'.PAGE_EXTENSION);
252
			define('SIGNUP_URL', WB_URL.'/account/signup'.PAGE_EXTENSION);
253
		}
288 254
	}
289 255
	
290 256
	function page_link($link){
......
297 263
	}
298 264
	
299 265
	function preprocess(&$content) {
300
		$database = & $this->database;
266
		global $database;
301 267
		// Replace [wblink--PAGE_ID--] with real link
302 268
		$pattern = '/\[wblink(.+?)\]/s';
303 269
		preg_match_all($pattern,$content,$ids);
......
360 326
	}
361 327
	
362 328
	function show_menu() {
363
	   $database = & $this->database;
329
	   global $database;
364 330
	   if ($this->menu_recurse==0)
365 331
	       return;
366 332
	   // Check if we should add menu number check to query
......
414 380
		// Get outside objects
415 381
		global $TEXT,$MENU,$HEADING,$MESSAGE;
416 382
		global $globals;
417
		$database = & $this->database;
383
		global $database;
418 384
		$admin = & $this;
419 385
		if ($this->page_access_denied==true) {
420 386
            echo $MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS'];

Also available in: Unified diff