Revision 55
Added by stefan about 20 years ago
| trunk/CHANGELOG | ||
|---|---|---|
| 11 | 11 |
! = Update/Change |
| 12 | 12 |
|
| 13 | 13 |
------------------------------------- 2.6.0 ------------------------------------- |
| 14 |
09-Sep-2005 Stefan Braunewell |
|
| 15 |
# Fixed bug when changing a page's parent |
|
| 16 |
! Changed the way blocks are treated. Added new frontend class attribute |
|
| 17 |
default_block_content that controls what is shown on pages such as |
|
| 18 |
search, login, etc. (Ticket #16) |
|
| 19 |
+ Added support for WYSIWYG editor modules (wysiwygmod) |
|
| 20 |
+ When trying to access a registered page, user is automatically redirected |
|
| 21 |
there on successful login. |
|
| 22 |
# Fixed various issues with system search (mainly related to stripslashes() |
|
| 23 |
# Removed stripslashes() in many places in the code. Added check for |
|
| 24 |
magic_quotes_gpc to new wb class method add_slashes(). Now database contest |
|
| 25 |
is independent of magic_quotes setting.. |
|
| 14 | 26 |
05-Sep-2005 Stefan Braunewell |
| 15 | 27 |
# Fixed bug concerning direct access of preferences page. |
| 16 |
# Reworked page visibility and menu item visibility code (frontend login problem). |
|
| 28 |
# Reworked page visibility and menu item visibility code (frontend login |
|
| 29 |
problem). |
|
| 17 | 30 |
# Pages in link list in htmlarea popup are now correctly ordered. |
| 18 | 31 |
# Fixed bug where group with existing name can be added. |
| 19 | 32 |
04-Sep-2005 Ryan Djurovich |
| trunk/wb/framework/initialize.php | ||
|---|---|---|
| 1 |
<?php |
|
| 2 |
|
|
| 3 |
// $Id$ |
|
| 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 |
Initializations common to frontend and backend |
|
| 28 |
*/ |
|
| 29 |
if(!defined('WB_URL')) {
|
|
| 30 |
header('Location: ../index.php');
|
|
| 31 |
} |
|
| 32 |
|
|
| 33 |
// Setup database object |
|
| 34 |
require_once(WB_PATH.'/framework/class.database.php'); |
|
| 35 |
if (!defined('DATABASE_CLASS_LOADED')) {
|
|
| 36 |
define('DATABASE_CLASS_LOADED',true);
|
|
| 37 |
} |
|
| 38 |
if(!isset($database)) {
|
|
| 39 |
$database = new database(); |
|
| 40 |
} |
|
| 41 |
|
|
| 42 |
// Start a session |
|
| 43 |
if(!defined('SESSION_STARTED')) {
|
|
| 44 |
session_name(APP_NAME.'_session_id'); |
|
| 45 |
session_start(); |
|
| 46 |
define('SESSION_STARTED', true);
|
|
| 47 |
} |
|
| 48 |
|
|
| 49 |
// Get users language |
|
| 50 |
if(isset($_GET['lang']) AND $_GET['lang'] != '' AND !is_numeric($_GET['lang']) AND strlen($_GET['lang']) == 2) {
|
|
| 51 |
define('LANGUAGE', strtoupper($_GET['lang']));
|
|
| 52 |
$_SESSION['LANGUAGE']=LANGUAGE; |
|
| 53 |
} else {
|
|
| 54 |
if(isset($_SESSION['LANGUAGE']) AND $_SESSION['LANGUAGE'] != '') {
|
|
| 55 |
define('LANGUAGE', $_SESSION['LANGUAGE']);
|
|
| 56 |
} else {
|
|
| 57 |
define('LANGUAGE', DEFAULT_LANGUAGE);
|
|
| 58 |
} |
|
| 59 |
} |
|
| 60 |
|
|
| 61 |
// Get users timezone |
|
| 62 |
if(!defined('TIMEZONE')) {
|
|
| 63 |
if(isset($_SESSION['TIMEZONE'])) {
|
|
| 64 |
define('TIMEZONE', $_SESSION['TIMEZONE']);
|
|
| 65 |
} else {
|
|
| 66 |
define('TIMEZONE', DEFAULT_TIMEZONE);
|
|
| 67 |
} |
|
| 68 |
} |
|
| 69 |
// Get users date format |
|
| 70 |
if(!defined('DATE_FORMAT')) {
|
|
| 71 |
if(isset($_SESSION['DATE_FORMAT'])) {
|
|
| 72 |
define('DATE_FORMAT', $_SESSION['DATE_FORMAT']);
|
|
| 73 |
} else {
|
|
| 74 |
define('DATE_FORMAT', DEFAULT_DATE_FORMAT);
|
|
| 75 |
} |
|
| 76 |
} |
|
| 77 |
// Get users time format |
|
| 78 |
if(!defined('TIME_FORMAT')) {
|
|
| 79 |
if(isset($_SESSION['TIME_FORMAT'])) {
|
|
| 80 |
define('TIME_FORMAT', $_SESSION['TIME_FORMAT']);
|
|
| 81 |
} else {
|
|
| 82 |
define('TIME_FORMAT', DEFAULT_TIME_FORMAT);
|
|
| 83 |
} |
|
| 84 |
} |
|
| 85 |
// Load Language file |
|
| 86 |
if(!defined('LANGUAGE_LOADED')) {
|
|
| 87 |
if(!file_exists(WB_PATH.'/languages/'.LANGUAGE.'.php')) {
|
|
| 88 |
exit('Error loading language file '.LANGUAGE.', please check configuration');
|
|
| 89 |
} else {
|
|
| 90 |
require_once(WB_PATH.'/languages/'.LANGUAGE.'.php'); |
|
| 91 |
} |
|
| 92 |
} |
|
| 93 |
|
|
| 94 |
?> |
|
| 95 | 0 | |
| trunk/wb/framework/class.admin.php | ||
|---|---|---|
| 36 | 36 |
header('Location: ../index.php');
|
| 37 | 37 |
} |
| 38 | 38 |
|
| 39 |
|
|
| 40 | 39 |
require_once(WB_PATH.'/framework/class.wb.php'); |
| 41 | 40 |
|
| 42 |
require_once(WB_PATH.'/framework/initialize.php'); |
|
| 41 |
//require_once(WB_PATH.'/framework/initialize.php');
|
|
| 43 | 42 |
|
| 44 | 43 |
// Include PHPLIB template class |
| 45 | 44 |
require_once(WB_PATH."/include/phplib/template.inc"); |
| ... | ... | |
| 52 | 51 |
Begin user changeable settings |
| 53 | 52 |
*/ |
| 54 | 53 |
|
| 54 |
|
|
| 55 | 55 |
class admin extends wb {
|
| 56 | 56 |
// Authenticate user then auto print the header |
| 57 | 57 |
function admin($section_name, $section_permission = 'start', $auto_header = true, $auto_auth = true) {
|
| 58 |
$this->wb(); |
|
| 58 | 59 |
global $MESSAGE; |
| 59 | 60 |
// Specify the current applications name |
| 60 | 61 |
$this->section_name = $section_name; |
| ... | ... | |
| 83 | 84 |
global $MESSAGE; |
| 84 | 85 |
global $TEXT; |
| 85 | 86 |
// Connect to database and get website title |
| 86 |
$database = new database();
|
|
| 87 |
$database = & $this->database;
|
|
| 87 | 88 |
$get_title = $database->query("SELECT value FROM ".TABLE_PREFIX."settings WHERE name = 'title'");
|
| 88 | 89 |
$title = $get_title->fetchRow(); |
| 89 | 90 |
$header_template = new Template(ADMIN_PATH."/interface"); |
| trunk/wb/framework/class.wb.php | ||
|---|---|---|
| 32 | 32 |
*/ |
| 33 | 33 |
|
| 34 | 34 |
class wb |
| 35 |
{
|
|
| 36 |
function wb() {
|
|
| 35 |
{
|
|
| 36 |
// General initialization function |
|
| 37 |
// performed when frontend or backend is loaded. |
|
| 38 |
function wb() {
|
|
| 39 |
// set global database variable |
|
| 40 |
global $database; |
|
| 41 |
// Create database class |
|
| 42 |
require_once(WB_PATH.'/framework/class.database.php'); |
|
| 43 |
$database = new database(); |
|
| 44 |
$this->database = $database; |
|
| 45 |
|
|
| 46 |
// Start a session |
|
| 47 |
if(!defined('SESSION_STARTED')) {
|
|
| 48 |
session_name(APP_NAME.'_session_id'); |
|
| 49 |
session_start(); |
|
| 50 |
define('SESSION_STARTED', true);
|
|
| 51 |
} |
|
| 52 |
|
|
| 53 |
// Get users language |
|
| 54 |
if(isset($_GET['lang']) AND $_GET['lang'] != '' AND !is_numeric($_GET['lang']) AND strlen($_GET['lang']) == 2) {
|
|
| 55 |
define('LANGUAGE', strtoupper($_GET['lang']));
|
|
| 56 |
$_SESSION['LANGUAGE']=LANGUAGE; |
|
| 57 |
} else {
|
|
| 58 |
if(isset($_SESSION['LANGUAGE']) AND $_SESSION['LANGUAGE'] != '') {
|
|
| 59 |
define('LANGUAGE', $_SESSION['LANGUAGE']);
|
|
| 60 |
} else {
|
|
| 61 |
define('LANGUAGE', DEFAULT_LANGUAGE);
|
|
| 62 |
} |
|
| 63 |
} |
|
| 64 |
|
|
| 65 |
// make language variables globally accessible |
|
| 66 |
global $language_code, $language_name, $language_author, $language_version, $language_designed_for; |
|
| 67 |
global $MENU, $OVERVIEW, $TEXT, $HEADING, $MESSAGE; |
|
| 68 |
// Load Language file |
|
| 69 |
if(!defined('LANGUAGE_LOADED')) {
|
|
| 70 |
if(!file_exists(WB_PATH.'/languages/'.LANGUAGE.'.php')) {
|
|
| 71 |
exit('Error loading language file '.LANGUAGE.', please check configuration');
|
|
| 72 |
} else {
|
|
| 73 |
require_once(WB_PATH.'/languages/'.LANGUAGE.'.php'); |
|
| 74 |
} |
|
| 75 |
} |
|
| 76 |
|
|
| 77 |
// Get users timezone |
|
| 78 |
if(!defined('TIMEZONE')) {
|
|
| 79 |
if(isset($_SESSION['TIMEZONE'])) {
|
|
| 80 |
define('TIMEZONE', $_SESSION['TIMEZONE']);
|
|
| 81 |
} else {
|
|
| 82 |
define('TIMEZONE', DEFAULT_TIMEZONE);
|
|
| 83 |
} |
|
| 84 |
} |
|
| 85 |
// Get users date format |
|
| 86 |
if(!defined('DATE_FORMAT')) {
|
|
| 87 |
if(isset($_SESSION['DATE_FORMAT'])) {
|
|
| 88 |
define('DATE_FORMAT', $_SESSION['DATE_FORMAT']);
|
|
| 89 |
} else {
|
|
| 90 |
define('DATE_FORMAT', DEFAULT_DATE_FORMAT);
|
|
| 91 |
} |
|
| 92 |
} |
|
| 93 |
// Get users time format |
|
| 94 |
if(!defined('TIME_FORMAT')) {
|
|
| 95 |
if(isset($_SESSION['TIME_FORMAT'])) {
|
|
| 96 |
define('TIME_FORMAT', $_SESSION['TIME_FORMAT']);
|
|
| 97 |
} else {
|
|
| 98 |
define('TIME_FORMAT', DEFAULT_TIME_FORMAT);
|
|
| 99 |
} |
|
| 100 |
} |
|
| 101 |
|
|
| 102 |
set_magic_quotes_runtime(0); |
|
| 37 | 103 |
} |
| 38 | 104 |
|
| 39 | 105 |
// Check whether we should show a page or not (for front-end) |
| trunk/wb/framework/class.frontend.php | ||
|---|---|---|
| 41 | 41 |
var $default_link,$default_page_id; |
| 42 | 42 |
// when multiple blocks are used, show home page blocks on |
| 43 | 43 |
// pages where no content is defined (search, login, ...) |
| 44 |
var $no_default_content=false; |
|
| 44 |
var $no_default_block_content=false;
|
|
| 45 | 45 |
|
| 46 | 46 |
// page details |
| 47 | 47 |
// page database row |
| ... | ... | |
| 64 | 64 |
|
| 65 | 65 |
function page_select() {
|
| 66 | 66 |
global $page_id,$no_intro; |
| 67 |
global $database;
|
|
| 67 |
$database=& $this->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 |
global $database;
|
|
| 124 |
$database = & $this->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}'";
|
| ... | ... | |
| 249 | 249 |
} |
| 250 | 250 |
|
| 251 | 251 |
function get_website_settings() {
|
| 252 |
global $database;
|
|
| 252 |
$database = & $this->database;
|
|
| 253 | 253 |
// Get website settings (title, keywords, description, header, and footer) |
| 254 | 254 |
$query_settings = "SELECT name,value FROM ".TABLE_PREFIX."settings"; |
| 255 | 255 |
$get_settings = $database->query($query_settings); |
| ... | ... | |
| 297 | 297 |
} |
| 298 | 298 |
|
| 299 | 299 |
function preprocess(&$content) {
|
| 300 |
global $database;
|
|
| 300 |
$database = & $this->database;
|
|
| 301 | 301 |
// Replace [wblink--PAGE_ID--] with real link |
| 302 | 302 |
$pattern = '/\[wblink(.+?)\]/s'; |
| 303 | 303 |
preg_match_all($pattern,$content,$ids); |
| ... | ... | |
| 360 | 360 |
} |
| 361 | 361 |
|
| 362 | 362 |
function show_menu() {
|
| 363 |
global $database;
|
|
| 363 |
$database = & $this->database;
|
|
| 364 | 364 |
if ($this->menu_recurse==0) |
| 365 | 365 |
return; |
| 366 | 366 |
// Check if we should add menu number check to query |
| ... | ... | |
| 412 | 412 |
|
| 413 | 413 |
function page_content($block = 1) {
|
| 414 | 414 |
// Get outside objects |
| 415 |
global $database,$admin,$TEXT,$MENU,$HEADING,$MESSAGE;
|
|
| 415 |
global $TEXT,$MENU,$HEADING,$MESSAGE; |
|
| 416 | 416 |
global $globals; |
| 417 |
$database = & $this->database; |
|
| 418 |
$admin = & $this; |
|
| 417 | 419 |
if ($this->page_access_denied==true) {
|
| 418 | 420 |
echo $MESSAGE['FRONTEND']['SORRY_NO_VIEWING_PERMISSIONS']; |
| 419 | 421 |
exit(); |
| ... | ... | |
| 423 | 425 |
if(!is_numeric($block)) { $block = 1; }
|
| 424 | 426 |
// Include page content |
| 425 | 427 |
if(!defined('PAGE_CONTENT') OR $block!=1) {
|
| 426 |
if ($this->page_id==0) {
|
|
| 427 |
if ($block != 1 AND $this->no_default_content==true) {
|
|
| 428 |
if ($this->page_id==0) {
|
|
| 429 |
if ($this->default_block_content=='none') {
|
|
| 428 | 430 |
return; |
| 429 | 431 |
} |
| 430 |
$page_id=$this->default_page_id; |
|
| 432 |
if (is_numeric($this->default_block_content)) {
|
|
| 433 |
$page_id=$this->default_block_content; |
|
| 434 |
} else {
|
|
| 435 |
$page_id=$this->default_page-id; |
|
| 436 |
} |
|
| 431 | 437 |
} else {
|
| 432 | 438 |
$page_id=$this->page_id; |
| 433 | 439 |
} |
| ... | ... | |
| 442 | 448 |
} |
| 443 | 449 |
} |
| 444 | 450 |
} else {
|
| 445 |
if($block == 1) {
|
|
| 446 |
require(PAGE_CONTENT); |
|
| 447 |
} |
|
| 451 |
require(PAGE_CONTENT); |
|
| 448 | 452 |
} |
| 449 | 453 |
} |
| 450 | 454 |
|
| trunk/wb/index.php | ||
|---|---|---|
| 35 | 35 |
|
| 36 | 36 |
require_once(WB_PATH.'/framework/class.frontend.php'); |
| 37 | 37 |
// Create new frontend object |
| 38 |
$wb = new frontend(); |
|
| 38 |
// Perform general initializations |
|
| 39 |
$wb = & new frontend(); |
|
| 39 | 40 |
|
| 40 |
// Perform general initializations: |
|
| 41 |
// session start, language files loading, basic settings. |
|
| 42 |
require_once(WB_PATH.'/framework/initialize.php'); |
|
| 43 |
|
|
| 44 | 41 |
// Figure out which page to display |
| 45 | 42 |
// Stop processing if intro page was shown |
| 46 | 43 |
$wb->page_select() or die(); |
Also available in: Unified diff
Removed initialize.php, moved initialization code to class wb constructor. Changed attribute no_default_content to default_block_content and changed behavior.