Project

General

Profile

« Previous | Next » 

Revision 1277

Added by Dietmar almost 15 years ago

update headertext

View differences:

class.wb.php
1 1
<?php
2
/**
3
 *
4
 * @category        frontend
5
 * @package         framework
6
 * @author          WebsiteBaker Project
7
 * @copyright       2004-2009, Ryan Djurovich
8
 * @copyright       2009-2010, Website Baker Org. e.V.
9
 * @link			http://www.websitebaker2.org/
10
 * @license         http://www.gnu.org/licenses/gpl.html
11
 * @platform        WebsiteBaker 2.8.x
12
 * @requirements    PHP 4.3.4 and higher
13
 * @version         $Id$
14
 * @filesource		$HeadURL: $
15
 * @lastmodified    $Date:  $
16
 *
17
 */
2 18

  
3
// $Id$
4

  
5
/*
6

  
7
 Website Baker Project <http://www.websitebaker.org/>
8
 Copyright (C) 2004-2009, 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 19
// Include PHPLIB template class
35 20
require_once(WB_PATH."/include/phplib/template.inc");
36 21

  
......
45 30
	// performed when frontend or backend is loaded.
46 31
	function wb() {
47 32
	}
48
	
33

  
49 34
	// Check whether a page is visible or not.
50 35
	// This will check page-visibility and user- and group-rights.
51 36
	/* page_is_visible() returns
52 37
		false: if page-visibility is 'none' or 'deleted', or page-vis. is 'registered' or 'private' and user isn't allowed to see the page.
53 38
		true: if page-visibility is 'public' or 'hidden', or page-vis. is 'registered' or 'private' and user _is_ allowed to see the page.
54 39
	*/
55
	function page_is_visible($page) {
40
	function page_is_visible($page)
41
    {
56 42
		$show_it = false; // shall we show the page?
57 43
		$page_id = $page['page_id'];
58 44
		$visibility = $page['visibility'];
59 45
		$viewing_groups = $page['viewing_groups'];
60 46
		$viewing_users = $page['viewing_users'];
47

  
61 48
		// First check if visibility is 'none', 'deleted'
62
		if($visibility == 'none') {
49
		if($visibility == 'none')
50
        {
63 51
			return(false);
64
		} elseif($visibility == 'deleted') {
52
		} elseif($visibility == 'deleted')
53
        {
65 54
			return(false);
66 55
		}
56

  
67 57
		// Now check if visibility is 'hidden', 'private' or 'registered'
68 58
		if($visibility == 'hidden') { // hidden: hide the menu-link, but show the page
69 59
			$show_it = true;
70
		} elseif($visibility == 'private' || $visibility == 'registered') {
60
		} elseif($visibility == 'private' || $visibility == 'registered')
61
        {
71 62
			// Check if the user is logged in
72
			if($this->is_authenticated() == true) {
63
			if($this->is_authenticated() == true)
64
            {
73 65
				// Now check if the user has perms to view the page
74 66
				$in_group = false;
75
				foreach($this->get_groups_id() as $cur_gid){
76
				    if(in_array($cur_gid, explode(',', $viewing_groups))) {
67
				foreach($this->get_groups_id() as $cur_gid)
68
                {
69
				    if(in_array($cur_gid, explode(',', $viewing_groups)))
70
                    {
77 71
				        $in_group = true;
78 72
				    }
79 73
				}
......
93 87
		return($show_it);
94 88
	}
95 89
	// Check if there is at least one active section on this page
96
	function page_is_active($page) {
90
	function page_is_active($page)
91
    {
97 92
		global $database;
98 93
		$has_active_sections = false;
99 94
		$page_id = $page['page_id'];
100 95
		$now = time();
101 96
		$query_sections = $database->query("SELECT publ_start,publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '$page_id'");
102
		if($query_sections->numRows() != 0) {
103
			while($section = $query_sections->fetchRow()) {
104
				if($now<$section['publ_end'] && ($now>$section['publ_start'] || $section['publ_start']==0) || $now>$section['publ_start'] && $section['publ_end']==0) {
97
		if($query_sections->numRows() != 0)
98
        {
99
			while($section = $query_sections->fetchRow())
100
            {
101
				if($now<$section['publ_end'] && ($now>$section['publ_start'] || $section['publ_start']==0) || $now>$section['publ_start'] && $section['publ_end']==0)
102
                {
105 103
					$has_active_sections = true;
106 104
					break;
107 105
				}
......
111 109
	}
112 110

  
113 111
	// Check whether we should show a page or not (for front-end)
114
	function show_page($page) {
115
		if($this->page_is_visible($page) && $this->page_is_active($page)) {
112
	function show_page($page)
113
    {
114
		if($this->page_is_visible($page) && $this->page_is_active($page))
115
        {
116 116
			return true;
117 117
		} else {
118 118
			return false;
......
121 121

  
122 122
	// Check if the user is already authenticated or not
123 123
	function is_authenticated() {
124
		if(isset($_SESSION['USER_ID']) AND $_SESSION['USER_ID'] != "" AND is_numeric($_SESSION['USER_ID'])) {
124
		if(isset($_SESSION['USER_ID']) AND $_SESSION['USER_ID'] != "" AND is_numeric($_SESSION['USER_ID']))
125
        {
125 126
			return true;
126 127
		} else {
127 128
			return false;
128 129
		}
129 130
	}
131

  
130 132
	// Modified addslashes function which takes into account magic_quotes
131 133
	function add_slashes($input) {
132 134
		if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) {

Also available in: Unified diff