Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1357)
+++ branches/2.8.x/CHANGELOG	(revision 1358)
@@ -11,6 +11,8 @@
 ! = Update/Change
 
 ------------------------------------- 2.8.2 -------------------------------------
+28 Dec-2010 Build 1358 Dietmar Woellbrink (Luisehahne)
+! validation fixes in pages backend theme
 27 Dec-2010 Build 1357 Frank Heyne (FrankH)
 # security fix: in path admin/pages/ - added FTAN check
 ! had to enhance parameter for getFTAN() in framework/class.secureform.php 
Index: branches/2.8.x/wb/admin/pages/move_down.php
===================================================================
--- branches/2.8.x/wb/admin/pages/move_down.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/move_down.php	(revision 1358)
@@ -48,12 +48,6 @@
 require_once(WB_PATH.'/framework/class.admin.php');
 $admin = new admin('Pages', 'pages_settings');
 
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
 // Include the ordering class
 require(WB_PATH.'/framework/class.order.php');
 
Index: branches/2.8.x/wb/admin/pages/save.php
===================================================================
--- branches/2.8.x/wb/admin/pages/save.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/save.php	(revision 1358)
@@ -1,105 +1,103 @@
-<?php
-/**
- *
- * @category        admin
- * @package         pages
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Get page & section id
-if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id'])) {
-	header("Location: index.php");
-	exit(0);
-} else {
-	$page_id = intval($_POST['page_id']);
-}
-if(!isset($_POST['section_id']) OR !is_numeric($_POST['section_id'])) {
-	header("Location: index.php");
-	exit(0);
-} else {
-	$section_id = intval($_POST['section_id']);
-}
-
-// Create new admin object
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-$admin = new admin('Pages', 'pages_modify');
-
-if (!$admin->checkFTAN())
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
-// Get perms
-$sql  = 'SELECT `admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` ';
-$sql .= 'WHERE `page_id` = '.$page_id;
-$results = $database->query($sql);
-$results_array = $results->fetchRow();
-$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
-$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
-$in_old_group = FALSE;
-foreach($admin->get_groups_id() as $cur_gid)
-{
-    if (in_array($cur_gid, $old_admin_groups))
-    {
-        $in_old_group = TRUE;
-    }
-}
-if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
-{
-	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-}
-// Get page module
-$sql  = 'SELECT `module` FROM `'.TABLE_PREFIX.'sections` ';
-$sql .= 'WHERE `page_id`='.$page_id.' AND `section_id`='.$section_id;
-$module = $database->get_one($sql);
-if(!$module)
-{
-	$admin->print_error( $database->is_error() ? $database->get_error() : $MESSAGE['PAGES']['NOT_FOUND']);
-}
-//$results = $database->query($sql);
-//if($database->is_error()) {
-//	$admin->print_error($database->get_error());
-//}
-//if($results->numRows() == 0) {
-//	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-//}
-//$results_array = $results->fetchRow();
-//$module = $results_array['module'];
-
-// Update the pages table
-$now = time();
-$sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
-$sql .= '`modified_when` = '.$now.', `modified_by` = '.$admin->get_user_id().' ';
-$sql .= 'WHERE `page_id` = '.$page_id;
-$database->query($sql);
-
-// Include the modules saving script if it exists
-if(file_exists(WB_PATH.'/modules/'.$module.'/save.php'))
-{
-	include_once(WB_PATH.'/modules/'.$module.'/save.php');
-}
-// Check if there is a db error, otherwise say successful
-if($database->is_error())
-{
-	$admin->print_error($database->get_error(), $js_back);
-} else {
-	$ftan2 = $admin->getFTAN(2);
-	$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL."/pages/modify.php?page_id=$page_id&amp;$ftan2");
-}
-
-// Print admin footer
-$admin->print_footer();
-
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Get page & section id
+if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = intval($_POST['page_id']);
+}
+if(!isset($_POST['section_id']) OR !is_numeric($_POST['section_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$section_id = intval($_POST['section_id']);
+}
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify');
+if (!$admin->checkFTAN())
+{
+	$admin->print_error($MESSAGE['PAGES_NOT_SAVED'],'index.php');
+	exit();
+}
+
+// Get perms
+$sql  = 'SELECT `admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` ';
+$sql .= 'WHERE `page_id` = '.$page_id;
+$results = $database->query($sql);
+$results_array = $results->fetchRow();
+$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid)
+{
+    if (in_array($cur_gid, $old_admin_groups))
+    {
+        $in_old_group = TRUE;
+    }
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
+{
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+// Get page module
+$sql  = 'SELECT `module` FROM `'.TABLE_PREFIX.'sections` ';
+$sql .= 'WHERE `page_id`='.$page_id.' AND `section_id`='.$section_id;
+$module = $database->get_one($sql);
+if(!$module)
+{
+	$admin->print_error( $database->is_error() ? $database->get_error() : $MESSAGE['PAGES']['NOT_FOUND']);
+}
+//$results = $database->query($sql);
+//if($database->is_error()) {
+//	$admin->print_error($database->get_error());
+//}
+//if($results->numRows() == 0) {
+//	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+//}
+//$results_array = $results->fetchRow();
+//$module = $results_array['module'];
+
+// Update the pages table
+$now = time();
+$sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
+$sql .= '`modified_when` = '.$now.', `modified_by` = '.$admin->get_user_id().' ';
+$sql .= 'WHERE `page_id` = '.$page_id;
+$database->query($sql);
+
+// Include the modules saving script if it exists
+if(file_exists(WB_PATH.'/modules/'.$module.'/save.php'))
+{
+	include_once(WB_PATH.'/modules/'.$module.'/save.php');
+}
+// Check if there is a db error, otherwise say successful
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), $js_back);
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/pages/empty_trash.php
===================================================================
--- branches/2.8.x/wb/admin/pages/empty_trash.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/empty_trash.php	(revision 1358)
@@ -1,43 +1,30 @@
 <?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL: http://svn282.websitebaker-dev.de/branches/2.8.x/wb/admin/pages/empty_trash.php $
+ * @lastmodified    $Date: 2010-05-29 10:36:20 +0200 (Sa, 29. Mai 2010) $
+ *
+ */
 
-// $Id$
-
-/*
-
- Website Baker Project <http://www.websitebaker.org/>
- Copyright (C) 2004-2009, Ryan Djurovich
-
- Website Baker is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- Website Baker is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Website Baker; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-*/
-
 require('../../config.php');
 require_once(WB_PATH.'/framework/class.admin.php');
 $admin = new admin('Pages', 'pages');
 
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
 // Include the WB functions file
 require_once(WB_PATH.'/framework/functions.php');
 
 // Get page list from database
-//$database = new database();
+// $database = new database();
 $query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE visibility = 'deleted' ORDER BY level DESC";
 $get_pages = $database->query($query);
 
Index: branches/2.8.x/wb/admin/pages/settings.php
===================================================================
--- branches/2.8.x/wb/admin/pages/settings.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/settings.php	(revision 1358)
@@ -1,630 +1,623 @@
-<?php
-/**
- *
- * @category        admin
- * @package         pages
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Get page id
-if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id']))
-{
-	header("Location: index.php");
-	exit(0);
-} else {
-	$page_id = $_GET['page_id'];
-}
-
-// Create new admin object
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-$admin = new admin('Pages', 'pages_settings');
-
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
-// Include the WB functions file
-require_once(WB_PATH.'/framework/functions-utf8.php');
-
-// Get perms
-/*$database = new database(); */
-
-$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$page_id;
-$results = $database->query($sql);
-$results_array = $results->fetchRow();
-
-$old_admin_groups = explode(',', $results_array['admin_groups']);
-$old_admin_users = explode(',', $results_array['admin_users']);
-
-// Work-out if we should check for existing page_code
-$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
-$field_sql = $database->query($sql);
-$field_set = $field_sql->numRows();
-
-$in_old_group = FALSE;
-foreach($admin->get_groups_id() as $cur_gid)
-{
-	if (in_array($cur_gid, $old_admin_groups))
-    {
-		$in_old_group = TRUE;
-	}
-}
-if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
-{
-	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-}
-
-// Get page details
-/* $database = new database();  */
-$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `page_id`='.$page_id;
-$results = $database->query($sql);
-if($database->is_error()) {
-	$admin->print_header();
-	$admin->print_error($database->get_error());
-}
-if($results->numRows() == 0) {
-	$admin->print_header();
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-}
-$results_array = $results->fetchRow();
-
-// Get display name of person who last modified the page
-$user=$admin->get_user_details($results_array['modified_by']);
-
-// Convert the unix ts for modified_when to human a readable form
-if($results_array['modified_when'] != 0)
-{
-	$modified_ts = gmdate(TIME_FORMAT.', '.DATE_FORMAT, $results_array['modified_when']+TIMEZONE);
-} else {
-	$modified_ts = 'Unknown';
-}
-
-// Setup template object, parse vars to it, then parse it
-$template = new Template(THEME_PATH.'/templates');
-$template->set_file('page', 'pages_settings.htt');
-$template->set_block('page', 'main_block', 'main');
-$template->set_var('FTAN', $admin->getFTAN());
-
-$template->set_var(array(
-				'PAGE_ID' => $results_array['page_id'],
-				'PAGE_TITLE' => ($results_array['page_title']),
-				'MENU_TITLE' => ($results_array['menu_title']),
-				'DESCRIPTION' => ($results_array['description']),
-				'KEYWORDS' => ($results_array['keywords']),
-				'MODIFIED_BY' => $user['display_name'],
-				'MODIFIED_BY_USERNAME' => $user['username'],
-				'MODIFIED_WHEN' => $modified_ts,
-				'ADMIN_URL' => ADMIN_URL,
-				'WB_URL' => WB_URL,
-				'WB_PATH' => WB_PATH,
-				'THEME_URL' => THEME_URL
-				)
-		);
-
-// Work-out if we should show the "manage sections" link
-$sql = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` WHERE `page_id`='.$page_id.' AND `module`="menu_link"';
-$query_sections = $database->query($sql);
-if($query_sections->numRows() > 0)
-{
-    $template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
-} elseif(MANAGE_SECTIONS == 'enabled')
-{
-	$template->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
-} else {
-	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
-}
-
-// Visibility
-if($results_array['visibility'] == 'public') {
-	$template->set_var('PUBLIC_SELECTED', ' selected="selected"');
-} elseif($results_array['visibility'] == 'private') {
-	$template->set_var('PRIVATE_SELECTED', ' selected="selected"');
-} elseif($results_array['visibility'] == 'registered') {
-	$template->set_var('REGISTERED_SELECTED', ' selected="selected"');
-} elseif($results_array['visibility'] == 'hidden') {
-	$template->set_var('HIDDEN_SELECTED', ' selected="selected"');
-} elseif($results_array['visibility'] == 'none') {
-	$template->set_var('NO_VIS_SELECTED', ' selected="selected"');
-}
-// Group list 1 (admin_groups)
-	$admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
-
-	$sql = 'SELECT * FROM `'.TABLE_PREFIX.'groups`';
-    $get_groups = $database->query($sql);
-
-	$template->set_block('main_block', 'group_list_block', 'group_list');
-	// Insert admin group and current group first
-	$admin_group_name = $get_groups->fetchRow();
-	$template->set_var(array(
-									'ID' => 1,
-									'TOGGLE' => '',
-									'DISABLED' => ' disabled="disabled"',
-									'LINK_COLOR' => '000000',
-									'CURSOR' => 'default',
-									'NAME' => $admin_group_name['name'],
-									'CHECKED' => ' checked="checked"'
-									)
-							);
-	$template->parse('group_list', 'group_list_block', true);
-	while($group = $get_groups->fetchRow()) {
-		// check if the user is a member of this group
-		$flag_disabled = '';
-		$flag_checked =  '';
-		$flag_cursor =   'pointer';
-		$flag_color =    '';
-		if (in_array($group["group_id"], $admin->get_groups_id())) {
-			$flag_disabled = ''; //' disabled';
-			$flag_checked =  ''; //' checked';
-			$flag_cursor =   'default';
-			$flag_color =    '000000';
-		}
-
-		// Check if the group is allowed to edit pages
-		$system_permissions = explode(',', $group['system_permissions']);
-		if(is_numeric(array_search('pages_modify', $system_permissions))) {
-			$template->set_var(array(
-											'ID' => $group['group_id'],
-											'TOGGLE' => $group['group_id'],
-											'DISABLED' => $flag_disabled,
-											'LINK_COLOR' => $flag_color,
-											'CURSOR' => $flag_cursor,
-											'NAME' => $group['name'],
-											'CHECKED' => $flag_checked
-											)
-									);
-			if(is_numeric(array_search($group['group_id'], $admin_groups))) {
-				$template->set_var('CHECKED', ' checked="checked"');
-			} else {
-				if (!$flag_checked) $template->set_var('CHECKED', '');
-			}
-			$template->parse('group_list', 'group_list_block', true);
-		}
-	}
-// Group list 2 (viewing_groups)
-	$viewing_groups = explode(',', str_replace('_', '', $results_array['viewing_groups']));
-
-    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'groups`';
-    $get_groups = $database->query($sql);
-
-	$template->set_block('main_block', 'group_list_block2', 'group_list2');
-	// Insert admin group and current group first
-	$admin_group_name = $get_groups->fetchRow();
-	$template->set_var(array(
-									'ID' => 1,
-									'TOGGLE' => '',
-									'DISABLED' => ' disabled="disabled"',
-									'LINK_COLOR' => '000000',
-									'CURSOR' => 'default',
-									'NAME' => $admin_group_name['name'],
-									'CHECKED' => ' checked="checked"'
-									)
-							);
-	$template->parse('group_list2', 'group_list_block2', true);
-
-	while($group = $get_groups->fetchRow())
-    {
-		// check if the user is a member of this group
-		$flag_disabled = '';
-		$flag_checked =  '';
-		$flag_cursor =   'pointer';
-		$flag_color =    '';
-		if (in_array($group["group_id"], $admin->get_groups_id()))
-        {
-			$flag_disabled = ''; //' disabled';
-			$flag_checked =  ''; //' checked';
-			$flag_cursor =   'default';
-			$flag_color =    '000000';
-		}
-
-		$template->set_var(array(
-										'ID' => $group['group_id'],
-										'TOGGLE' => $group['group_id'],
-										'DISABLED' => $flag_disabled,
-										'LINK_COLOR' => $flag_color,
-										'CURSOR' => $flag_cursor,
-										'NAME' => $group['name'],
-										'CHECKED' => $flag_checked
-										)
-								);
-		if(is_numeric(array_search($group['group_id'], $viewing_groups)))
-        {
-			$template->set_var('CHECKED', 'checked="checked"');
-		} else {
-			if (!$flag_checked) {$template->set_var('CHECKED', '');}
-		}
-
-		$template->parse('group_list2', 'group_list_block2', true);
-
-	}
-
-// Show private viewers
-if($results_array['visibility'] == 'private' OR $results_array['visibility'] == 'registered')
-{
-	$template->set_var('DISPLAY_VIEWERS', '');
-} else {
-	$template->set_var('DISPLAY_VIEWERS', 'display:none;');
-}
-
-//-- insert page_code 20090904-->
-$template->set_var('DISPLAY_CODE_PAGE_LIST', ' id="multi_lingual" style="display:none;"');
-
-// Work-out if page languages feature is enabled
-if((defined('PAGE_LANGUAGES') && PAGE_LANGUAGES) && $field_set && file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php') )
-{
-    // workout field is set but module missing
-    $TEXT['PAGE_CODE'] = empty($TEXT['PAGE_CODE']) ? 'Pagecode' : $TEXT['PAGE_CODE'];
-	$template->set_var( array(
-            'DISPLAY_CODE_PAGE_LIST' => ' id="multi_lingual"',
-            'TEXT_PAGE_CODE' => '<a href="'.WB_URL.'/modules/mod_multilingual/update_keys.php?page_id='.$page_id.'">'.$TEXT['PAGE_CODE'].'</a>'
-        )
-    );
-
-	// Page_code list
-   /* 	$database = new database();  */
-	function page_code_list($parent)
-    {
-		global $admin, $database, $template, $results_array, $pageCode;
-		$default_language = DEFAULT_LANGUAGE;
-
-        $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' AND `language` = "'.$default_language.'" ORDER BY `position` ASC';
-        $get_pages = $database->query($sql);
-
-		while($page = $get_pages->fetchRow())
-        {
-			if(($admin->page_is_visible($page)==false) && ($page['visibility'] <> 'none') ) { continue; }
-
-			$template->set_var('FLAG_CODE_ICON',' none ');
-			if( $page['parent'] == 0 )
-            {
-				$template->set_var('FLAG_CODE_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
-			}
-
-			// If the current page cannot be parent, then its children neither
-			$list_next_level = true;
-			// Stop users from adding pages with a level of more than the set page level limit
-			if($page['level']+1 < PAGE_LEVEL_LIMIT)
-            {
-				// Get user perms
-				$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
-				$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
-
-				$in_group = FALSE;
-				foreach($admin->get_groups_id() as $cur_gid)
-                {
-					if (in_array($cur_gid, $admin_groups))
-					{
-						$in_group = TRUE;
-					}
-				}
-
-				if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
-                {
-					$can_modify = true;
-				} else {
-					$can_modify = false;
-				}
-
-				$title_prefix = '';
-				for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - - &nbsp;'; }
-                // $space = str_repeat('&nbsp;', 3);  $space.'&lt;'..'&gt;'
-				$template->set_var(array(
-										'VALUE' => $page['page_code'],
-                                        'PAGE_VALUE' => $title_prefix.$page['menu_title'],
-										'PAGE_CODE' => $title_prefix.$page['page_id']
-										)
-								);
-				if($results_array['page_code'] == $page['page_code'])
-                {
-					$template->set_var('SELECTED', ' selected="selected"');
-				} elseif($results_array['page_code'] == $page['page_code'])
-                {
-					$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
-					$list_next_level=false;
-				} elseif($can_modify != true)
-                {
-					$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
-				} else {
-					$template->set_var('SELECTED', '');
-				}
-				$template->parse('page_code_list', 'page_code_list_block', true);
-			}
-			if ($list_next_level)
-				page_code_list($page['page_id']);
-		}
-	}
-
-	// Insert code_page values from page to modify
-	$template->set_block('main_block', 'page_code_list_block', 'page_code_list');
-	if($admin->get_permission('pages_add_l0') == true OR $results_array['level'] == 0) {
-		if($results_array['parent'] == 0) { $selected = ' selected'; } else { $selected = ''; }
-		$template->set_var(array(
-									'VALUE' => '',
-									'PAGE_CODE' => $TEXT['NONE'],
-                                    'PAGE_VALUE' => '',
-									'SELECTED' => $selected
-								)
-							);
-		$template->parse('page_code_list', 'page_code_list_block', true);
-	}
-	// get pagecode form this page_id
-   	page_code_list(0);
-}
-//-- page code -->
-
-// Parent page list
-/* $database = new database();  */
-function parent_list($parent)
-{
-	global $admin, $database, $template, $results_array,$field_set;
-
-    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' ORDER BY `position` ASC';
-    $get_pages = $database->query($sql);
-
-	while($page = $get_pages->fetchRow())
-    {
-		if($admin->page_is_visible($page)==false)
-        {
-          continue;
-        }
-
-		// if parent = 0 set flag_icon
-		$template->set_var('FLAG_ROOT_ICON',' none ');
-		if( $page['parent'] == 0  && $field_set)
-        {
-			$template->set_var('FLAG_ROOT_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
-		}
-		// If the current page cannot be parent, then its children neither
-		$list_next_level = true;
-		// Stop users from adding pages with a level of more than the set page level limit
-		if($page['level']+1 < PAGE_LEVEL_LIMIT)
-        {
-			// Get user perms
-			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
-			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
-			$in_group = FALSE;
-			foreach($admin->get_groups_id() as $cur_gid)
-            {
-				if (in_array($cur_gid, $admin_groups))
-                {
-					$in_group = TRUE;
-				}
-			}
-			if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
-            {
-				$can_modify = true;
-			} else {
-				$can_modify = false;
-			}
-			// Title -'s prefix
-			$title_prefix = '';
-			for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - '; }
-			$template->set_var(array(
-											'ID' => $page['page_id'],
-											'TITLE' => ($title_prefix.$page['menu_title']),
-											'MENU-TITLE' => ($title_prefix.$page['menu_title']),
-											'PAGE-TITLE' => ($title_prefix.$page['page_title']),
-											'FLAG_ICON' => ' none ',
-											));
-
-			if($results_array['parent'] == $page['page_id'])
-            {
-				$template->set_var('SELECTED', ' selected="selected"');
-			} elseif($results_array['page_id'] == $page['page_id'])
-            {
-				$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
-				$list_next_level=false;
-			} elseif($can_modify != true)
-            {
-				$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
-			} else {
-				$template->set_var('SELECTED', '');
-			}
-			$template->parse('page_list2', 'page_list_block2', true);
-		}
-		if ($list_next_level)
-        {
-          parent_list($page['page_id']);
-        }
-
-	}
-}
-
-$template->set_block('main_block', 'page_list_block2', 'page_list2');
-if($admin->get_permission('pages_add_l0') == true OR $results_array['level'] == 0) {
-	if($results_array['parent'] == 0)
-    {
-		$selected = ' selected="selected"';
-	} else { 
-		$selected = '';
-	}
-	$template->set_var(array(
-									'ID' => '0',
-									'TITLE' => $TEXT['NONE'],
-									'SELECTED' => $selected
-									)
-							);
-	$template->parse('page_list2', 'page_list_block2', true);
-}
-parent_list(0);
-
-if($modified_ts == 'Unknown')
-{
-	$template->set_var('DISPLAY_MODIFIED', 'hide');
-} else {
-	$template->set_var('DISPLAY_MODIFIED', '');
-}
-
-// Templates list
-$template->set_block('main_block', 'template_list_block', 'template_list');
-
-$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "template" AND `function` = "template" order by `name`';
-$result = $database->query($sql);
-
-if($result->numRows() > 0)
-{
-	while($addon = $result->fetchRow())
-    {
-		// Check if the user has perms to use this template
-		if($addon['directory'] == $results_array['template'] OR $admin->get_permission($addon['directory'], 'template') == true)
-        {
-			$template->set_var('VALUE', $addon['directory']);
-			$template->set_var('NAME', $addon['name']);
-			if($addon['directory'] == $results_array['template'])
-            {
-				$template->set_var('SELECTED', ' selected="selected"');
-			} else {
-				$template->set_var('SELECTED', '');
-			}
-			$template->parse('template_list', 'template_list_block', true);
-		}
-	}
-}
-
-// Menu list
-if(MULTIPLE_MENUS == false)
-{
-	$template->set_var('DISPLAY_MENU_LIST', 'display:none;');
-}
-// Include template info file (if it exists)
-if($results_array['template'] != '')
-{
-	$template_location = WB_PATH.'/templates/'.$results_array['template'].'/info.php';
-} else {
-	$template_location = WB_PATH.'/templates/'.DEFAULT_TEMPLATE.'/info.php';
-}
-if(file_exists($template_location))
-{
-	require($template_location);
-}
-// Check if $menu is set
-if(!isset($menu[1]) OR $menu[1] == '')
-{
-	// Make our own menu list
-	$menu[1] = $TEXT['MAIN'];
-}
-// Add menu options to the list
-$template->set_block('main_block', 'menu_list_block', 'menu_list');
-foreach($menu AS $number => $name)
-{
-	$template->set_var('NAME', $name);
-	$template->set_var('VALUE', $number);
-	if($results_array['menu'] == $number)
-    {
-		$template->set_var('SELECTED', ' selected="selected"');
-	} else {
-		$template->set_var('SELECTED', '');
-	}
-	$template->parse('menu_list', 'menu_list_block', true);
-}
-
-// Insert language values
-$template->set_block('main_block', 'language_list_block', 'language_list');
-
-$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "language" ORDER BY `name`';
-$result = $database->query($sql);
-
-if($result->numRows() > 0)
-{
-	while($addon = $result->fetchRow())
-    {
-		$l_codes[$addon['name']] = $addon['directory'];
-		$l_names[$addon['name']] = entities_to_7bit($addon['name']); // sorting-problem workaround
-	}
-	asort($l_names);
-	foreach($l_names as $l_name=>$v)
-    {
-		// Insert code and name
-		$template->set_var(array(
-								'VALUE' => $l_codes[$l_name],
-								'NAME' => $l_name,
-								'FLAG_LANG_ICONS' => 'url('.THEME_URL.'/images/flags/'.strtolower($l_codes[$l_name]).'.png)',
-								));
-		// Check if it is selected
-		if($results_array['language'] == $l_codes[$l_name])
-        {
-			$template->set_var('SELECTED', ' selected="selected"');
-		} else {
-			$template->set_var('SELECTED', '');
-		}
-		$template->parse('language_list', 'language_list_block', true);
-	}
-}
-
-// Select disabled if searching is disabled
-if($results_array['searching'] == 0)
-{
-	$template->set_var('SEARCHING_DISABLED', ' selected="selected"');
-}
-// Select what the page target is
-switch ($results_array['target'])
-{
-	case '_top':
-		$template->set_var('TOP_SELECTED', ' selected="selected"');
-		break;
-	case '_self':
-		$template->set_var('SELF_SELECTED', ' selected="selected"');
-		break;
-	case '_blank':
-		$template->set_var('BLANK_SELECTED', ' selected="selected"');
-		break;
-}
-
-// Insert language text
-$template->set_var(array(
-				'HEADING_MODIFY_PAGE_SETTINGS' => $HEADING['MODIFY_PAGE_SETTINGS'],
-				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
-				'TEXT_MODIFY' => $TEXT['MODIFY'],
-				'TEXT_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
-				'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
-				'TEXT_PAGE_TITLE' => $TEXT['PAGE_TITLE'],
-				'TEXT_MENU_TITLE' => $TEXT['MENU_TITLE'],
-				'TEXT_TYPE' => $TEXT['TYPE'],
-				'TEXT_MENU' => $TEXT['MENU'],
-				'TEXT_PARENT' => $TEXT['PARENT'],
-				'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
-				'TEXT_PUBLIC' => $TEXT['PUBLIC'],
-				'TEXT_PRIVATE' => $TEXT['PRIVATE'],
-				'TEXT_REGISTERED' => $TEXT['REGISTERED'],
-				'TEXT_NONE' => $TEXT['NONE'],
-				'TEXT_HIDDEN' => $TEXT['HIDDEN'],
-				'TEXT_TEMPLATE' => $TEXT['TEMPLATE'],
-				'TEXT_TARGET' => $TEXT['TARGET'],
-				'TEXT_SYSTEM_DEFAULT' => $TEXT['SYSTEM_DEFAULT'],
-				'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
-				'TEXT_NEW_WINDOW' => $TEXT['NEW_WINDOW'],
-				'TEXT_SAME_WINDOW' => $TEXT['SAME_WINDOW'],
-				'TEXT_TOP_FRAME' => $TEXT['TOP_FRAME'],
-				'TEXT_ADMINISTRATORS' => $TEXT['ADMINISTRATORS'],
-				'TEXT_ALLOWED_VIEWERS' => $TEXT['ALLOWED_VIEWERS'],
-				'TEXT_DESCRIPTION' => $TEXT['DESCRIPTION'],
-				'TEXT_KEYWORDS' => $TEXT['KEYWORDS'],
-				'TEXT_SEARCHING' => $TEXT['SEARCHING'],
-				'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
-				'TEXT_ENABLED' => $TEXT['ENABLED'],
-				'TEXT_DISABLED' => $TEXT['DISABLED'],
-				'TEXT_SAVE' => $TEXT['SAVE'],
-				'TEXT_RESET' => $TEXT['RESET'],
-				'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
-				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE']
-			) );
-
-$template->parse('main', 'main_block', false);
-$template->pparse('output', 'page');
-
-// Print admin footer
-$admin->print_footer();
-
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id']))
+{
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_settings');
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions-utf8.php');
+
+// Get perms
+/*$database = new database(); */
+
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$page_id;
+$results = $database->query($sql);
+$results_array = $results->fetchRow();
+
+$old_admin_groups = explode(',', $results_array['admin_groups']);
+$old_admin_users = explode(',', $results_array['admin_users']);
+
+// Work-out if we should check for existing page_code
+$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
+$field_sql = $database->query($sql);
+$field_set = $field_sql->numRows();
+
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid)
+{
+	if (in_array($cur_gid, $old_admin_groups))
+    {
+		$in_old_group = TRUE;
+	}
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
+{
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Get page details
+/* $database = new database();  */
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `page_id`='.$page_id;
+$results = $database->query($sql);
+if($database->is_error()) {
+	$admin->print_header();
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0) {
+	$admin->print_header();
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+
+// Get display name of person who last modified the page
+$user=$admin->get_user_details($results_array['modified_by']);
+
+// Convert the unix ts for modified_when to human a readable form
+if($results_array['modified_when'] != 0)
+{
+	$modified_ts = gmdate(TIME_FORMAT.', '.DATE_FORMAT, $results_array['modified_when']+TIMEZONE);
+} else {
+	$modified_ts = 'Unknown';
+}
+
+// Setup template object, parse vars to it, then parse it
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages_settings.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_var('FTAN', $admin->getFTAN());
+
+$template->set_var(array(
+				'PAGE_ID' => $results_array['page_id'],
+				'PAGE_TITLE' => ($results_array['page_title']),
+				'MENU_TITLE' => ($results_array['menu_title']),
+				'DESCRIPTION' => ($results_array['description']),
+				'KEYWORDS' => ($results_array['keywords']),
+				'MODIFIED_BY' => $user['display_name'],
+				'MODIFIED_BY_USERNAME' => $user['username'],
+				'MODIFIED_WHEN' => $modified_ts,
+				'ADMIN_URL' => ADMIN_URL,
+				'WB_URL' => WB_URL,
+				'WB_PATH' => WB_PATH,
+				'THEME_URL' => THEME_URL
+				)
+		);
+
+// Work-out if we should show the "manage sections" link
+$sql = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` WHERE `page_id`='.$page_id.' AND `module`="menu_link"';
+$query_sections = $database->query($sql);
+if($query_sections->numRows() > 0)
+{
+    $template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+} elseif(MANAGE_SECTIONS == 'enabled')
+{
+	$template->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
+} else {
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+}
+
+// Visibility
+if($results_array['visibility'] == 'public') {
+	$template->set_var('PUBLIC_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'private') {
+	$template->set_var('PRIVATE_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'registered') {
+	$template->set_var('REGISTERED_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'hidden') {
+	$template->set_var('HIDDEN_SELECTED', ' selected="selected"');
+} elseif($results_array['visibility'] == 'none') {
+	$template->set_var('NO_VIS_SELECTED', ' selected="selected"');
+}
+// Group list 1 (admin_groups)
+	$admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+
+	$sql = 'SELECT * FROM `'.TABLE_PREFIX.'groups`';
+    $get_groups = $database->query($sql);
+
+	$template->set_block('main_block', 'group_list_block', 'group_list');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list', 'group_list_block', true);
+	while($group = $get_groups->fetchRow()) {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id())) {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ''; //' checked';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		// Check if the group is allowed to edit pages
+		$system_permissions = explode(',', $group['system_permissions']);
+		if(is_numeric(array_search('pages_modify', $system_permissions))) {
+			$template->set_var(array(
+											'ID' => $group['group_id'],
+											'TOGGLE' => $group['group_id'],
+											'DISABLED' => $flag_disabled,
+											'LINK_COLOR' => $flag_color,
+											'CURSOR' => $flag_cursor,
+											'NAME' => $group['name'],
+											'CHECKED' => $flag_checked
+											)
+									);
+			if(is_numeric(array_search($group['group_id'], $admin_groups))) {
+				$template->set_var('CHECKED', ' checked="checked"');
+			} else {
+				if (!$flag_checked) $template->set_var('CHECKED', '');
+			}
+			$template->parse('group_list', 'group_list_block', true);
+		}
+	}
+// Group list 2 (viewing_groups)
+	$viewing_groups = explode(',', str_replace('_', '', $results_array['viewing_groups']));
+
+    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'groups`';
+    $get_groups = $database->query($sql);
+
+	$template->set_block('main_block', 'group_list_block2', 'group_list2');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list2', 'group_list_block2', true);
+
+	while($group = $get_groups->fetchRow())
+    {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id()))
+        {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ''; //' checked';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		$template->set_var(array(
+										'ID' => $group['group_id'],
+										'TOGGLE' => $group['group_id'],
+										'DISABLED' => $flag_disabled,
+										'LINK_COLOR' => $flag_color,
+										'CURSOR' => $flag_cursor,
+										'NAME' => $group['name'],
+										'CHECKED' => $flag_checked
+										)
+								);
+		if(is_numeric(array_search($group['group_id'], $viewing_groups)))
+        {
+			$template->set_var('CHECKED', 'checked="checked"');
+		} else {
+			if (!$flag_checked) {$template->set_var('CHECKED', '');}
+		}
+
+		$template->parse('group_list2', 'group_list_block2', true);
+
+	}
+
+// Show private viewers
+if($results_array['visibility'] == 'private' OR $results_array['visibility'] == 'registered')
+{
+	$template->set_var('DISPLAY_VIEWERS', '');
+} else {
+	$template->set_var('DISPLAY_VIEWERS', 'display:none;');
+}
+
+//-- insert page_code 20090904-->
+$template->set_var('DISPLAY_CODE_PAGE_LIST', ' id="multi_lingual" style="display:none;"');
+
+// Work-out if page languages feature is enabled
+if((defined('PAGE_LANGUAGES') && PAGE_LANGUAGES) && $field_set && file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php') )
+{
+    // workout field is set but module missing
+    $TEXT['PAGE_CODE'] = empty($TEXT['PAGE_CODE']) ? 'Pagecode' : $TEXT['PAGE_CODE'];
+	$template->set_var( array(
+            'DISPLAY_CODE_PAGE_LIST' => ' id="multi_lingual"',
+            'TEXT_PAGE_CODE' => '<a href="'.WB_URL.'/modules/mod_multilingual/update_keys.php?page_id='.$page_id.'">'.$TEXT['PAGE_CODE'].'</a>'
+        )
+    );
+
+	// Page_code list
+   /* 	$database = new database();  */
+	function page_code_list($parent)
+    {
+		global $admin, $database, $template, $results_array, $pageCode;
+		$default_language = DEFAULT_LANGUAGE;
+
+        $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' AND `language` = "'.$default_language.'" ORDER BY `position` ASC';
+        $get_pages = $database->query($sql);
+
+		while($page = $get_pages->fetchRow())
+        {
+			if(($admin->page_is_visible($page)==false) && ($page['visibility'] <> 'none') ) { continue; }
+
+			$template->set_var('FLAG_CODE_ICON',' none ');
+			if( $page['parent'] == 0 )
+            {
+				$template->set_var('FLAG_CODE_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
+			}
+
+			// If the current page cannot be parent, then its children neither
+			$list_next_level = true;
+			// Stop users from adding pages with a level of more than the set page level limit
+			if($page['level']+1 < PAGE_LEVEL_LIMIT)
+            {
+				// Get user perms
+				$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+				$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+
+				$in_group = FALSE;
+				foreach($admin->get_groups_id() as $cur_gid)
+                {
+					if (in_array($cur_gid, $admin_groups))
+					{
+						$in_group = TRUE;
+					}
+				}
+
+				if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
+                {
+					$can_modify = true;
+				} else {
+					$can_modify = false;
+				}
+
+				$title_prefix = '';
+				for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - - &nbsp;'; }
+                // $space = str_repeat('&nbsp;', 3);  $space.'&lt;'..'&gt;'
+				$template->set_var(array(
+										'VALUE' => $page['page_code'],
+                                        'PAGE_VALUE' => $title_prefix.$page['menu_title'],
+										'PAGE_CODE' => $title_prefix.$page['page_id']
+										)
+								);
+				if($results_array['page_code'] == $page['page_code'])
+                {
+					$template->set_var('SELECTED', ' selected="selected"');
+				} elseif($results_array['page_code'] == $page['page_code'])
+                {
+					$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+					$list_next_level=false;
+				} elseif($can_modify != true)
+                {
+					$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+				} else {
+					$template->set_var('SELECTED', '');
+				}
+				$template->parse('page_code_list', 'page_code_list_block', true);
+			}
+			if ($list_next_level)
+				page_code_list($page['page_id']);
+		}
+	}
+
+	// Insert code_page values from page to modify
+	$template->set_block('main_block', 'page_code_list_block', 'page_code_list');
+	if($admin->get_permission('pages_add_l0') == true OR $results_array['level'] == 0) {
+		if($results_array['parent'] == 0) { $selected = ' selected'; } else { $selected = ''; }
+		$template->set_var(array(
+									'VALUE' => '',
+									'PAGE_CODE' => $TEXT['NONE'],
+                                    'PAGE_VALUE' => '',
+									'SELECTED' => $selected
+								)
+							);
+		$template->parse('page_code_list', 'page_code_list_block', true);
+	}
+	// get pagecode form this page_id
+   	page_code_list(0);
+}
+//-- page code -->
+
+// Parent page list
+/* $database = new database();  */
+function parent_list($parent)
+{
+	global $admin, $database, $template, $results_array,$field_set;
+
+    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' ORDER BY `position` ASC';
+    $get_pages = $database->query($sql);
+
+	while($page = $get_pages->fetchRow())
+    {
+		if($admin->page_is_visible($page)==false)
+        {
+          continue;
+        }
+
+		// if parent = 0 set flag_icon
+		$template->set_var('FLAG_ROOT_ICON',' none ');
+		if( $page['parent'] == 0  && $field_set)
+        {
+			$template->set_var('FLAG_ROOT_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
+		}
+		// If the current page cannot be parent, then its children neither
+		$list_next_level = true;
+		// Stop users from adding pages with a level of more than the set page level limit
+		if($page['level']+1 < PAGE_LEVEL_LIMIT)
+        {
+			// Get user perms
+			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+			$in_group = FALSE;
+			foreach($admin->get_groups_id() as $cur_gid)
+            {
+				if (in_array($cur_gid, $admin_groups))
+                {
+					$in_group = TRUE;
+				}
+			}
+			if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
+            {
+				$can_modify = true;
+			} else {
+				$can_modify = false;
+			}
+			// Title -'s prefix
+			$title_prefix = '';
+			for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - '; }
+			$template->set_var(array(
+								'ID' => $page['page_id'],
+								'TITLE' => ($title_prefix.$page['menu_title']),
+								'MENU-TITLE' => ($title_prefix.$page['menu_title']),
+								'PAGE-TITLE' => ($title_prefix.$page['page_title']),
+								'FLAG_ICON' => ' none ',
+								));
+
+			if($results_array['parent'] == $page['page_id'])
+            {
+				$template->set_var('SELECTED', ' selected="selected"');
+			} elseif($results_array['page_id'] == $page['page_id'])
+            {
+				$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+				$list_next_level=false;
+			} elseif($can_modify != true)
+            {
+				$template->set_var('SELECTED', ' disabled="disabled" class="disabled"');
+			} else {
+				$template->set_var('SELECTED', '');
+			}
+			$template->parse('page_list2', 'page_list_block2', true);
+		}
+		if ($list_next_level)
+        {
+          parent_list($page['page_id']);
+        }
+
+	}
+}
+
+$template->set_block('main_block', 'page_list_block2', 'page_list2');
+if($admin->get_permission('pages_add_l0') == true OR $results_array['level'] == 0) {
+	if($results_array['parent'] == 0)
+    {
+		$selected = ' selected="selected"';
+	} else { 
+		$selected = '';
+	}
+	$template->set_var(array(
+						'ID' => '0',
+						'TITLE' => $TEXT['NONE'],
+						'SELECTED' => $selected
+						) );
+	$template->parse('page_list2', 'page_list_block2', true);
+}
+parent_list(0);
+
+if($modified_ts == 'Unknown')
+{
+	$template->set_var('DISPLAY_MODIFIED', 'hide');
+} else {
+	$template->set_var('DISPLAY_MODIFIED', '');
+}
+
+// Templates list
+$template->set_block('main_block', 'template_list_block', 'template_list');
+
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "template" AND `function` = "template" order by `name`';
+$result = $database->query($sql);
+
+if($result->numRows() > 0)
+{
+	while($addon = $result->fetchRow())
+    {
+		// Check if the user has perms to use this template
+		if($addon['directory'] == $results_array['template'] OR $admin->get_permission($addon['directory'], 'template') == true)
+        {
+			$template->set_var('VALUE', $addon['directory']);
+			$template->set_var('NAME', $addon['name']);
+			if($addon['directory'] == $results_array['template'])
+            {
+				$template->set_var('SELECTED', ' selected="selected"');
+			} else {
+				$template->set_var('SELECTED', '');
+			}
+			$template->parse('template_list', 'template_list_block', true);
+		}
+	}
+}
+
+// Menu list
+if(MULTIPLE_MENUS == false)
+{
+	$template->set_var('DISPLAY_MENU_LIST', 'display:none;');
+}
+// Include template info file (if it exists)
+if($results_array['template'] != '')
+{
+	$template_location = WB_PATH.'/templates/'.$results_array['template'].'/info.php';
+} else {
+	$template_location = WB_PATH.'/templates/'.DEFAULT_TEMPLATE.'/info.php';
+}
+if(file_exists($template_location))
+{
+	require($template_location);
+}
+// Check if $menu is set
+if(!isset($menu[1]) OR $menu[1] == '')
+{
+	// Make our own menu list
+	$menu[1] = $TEXT['MAIN'];
+}
+// Add menu options to the list
+$template->set_block('main_block', 'menu_list_block', 'menu_list');
+foreach($menu AS $number => $name)
+{
+	$template->set_var('NAME', $name);
+	$template->set_var('VALUE', $number);
+	if($results_array['menu'] == $number)
+    {
+		$template->set_var('SELECTED', ' selected="selected"');
+	} else {
+		$template->set_var('SELECTED', '');
+	}
+	$template->parse('menu_list', 'menu_list_block', true);
+}
+
+// Insert language values
+$template->set_block('main_block', 'language_list_block', 'language_list');
+
+$sql = 'SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "language" ORDER BY `name`';
+$result = $database->query($sql);
+
+if($result->numRows() > 0)
+{
+	while($addon = $result->fetchRow())
+    {
+		$l_codes[$addon['name']] = $addon['directory'];
+		$l_names[$addon['name']] = entities_to_7bit($addon['name']); // sorting-problem workaround
+	}
+	asort($l_names);
+	foreach($l_names as $l_name=>$v)
+    {
+		// Insert code and name
+		$template->set_var(array(
+								'VALUE' => $l_codes[$l_name],
+								'NAME' => $l_name,
+								'FLAG_LANG_ICONS' => 'url('.THEME_URL.'/images/flags/'.strtolower($l_codes[$l_name]).'.png)',
+								));
+		// Check if it is selected
+		if($results_array['language'] == $l_codes[$l_name])
+        {
+			$template->set_var('SELECTED', ' selected="selected"');
+		} else {
+			$template->set_var('SELECTED', '');
+		}
+		$template->parse('language_list', 'language_list_block', true);
+	}
+}
+
+// Select disabled if searching is disabled
+if($results_array['searching'] == 0)
+{
+	$template->set_var('SEARCHING_DISABLED', ' selected="selected"');
+}
+// Select what the page target is
+switch ($results_array['target'])
+{
+	case '_top':
+		$template->set_var('TOP_SELECTED', ' selected="selected"');
+		break;
+	case '_self':
+		$template->set_var('SELF_SELECTED', ' selected="selected"');
+		break;
+	case '_blank':
+		$template->set_var('BLANK_SELECTED', ' selected="selected"');
+		break;
+}
+
+// Insert language text
+$template->set_var(array(
+				'HEADING_MODIFY_PAGE_SETTINGS' => $HEADING['MODIFY_PAGE_SETTINGS'],
+				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
+				'TEXT_MODIFY' => $TEXT['MODIFY'],
+				'TEXT_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
+				'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
+				'TEXT_PAGE_TITLE' => $TEXT['PAGE_TITLE'],
+				'TEXT_MENU_TITLE' => $TEXT['MENU_TITLE'],
+				'TEXT_TYPE' => $TEXT['TYPE'],
+				'TEXT_MENU' => $TEXT['MENU'],
+				'TEXT_PARENT' => $TEXT['PARENT'],
+				'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
+				'TEXT_PUBLIC' => $TEXT['PUBLIC'],
+				'TEXT_PRIVATE' => $TEXT['PRIVATE'],
+				'TEXT_REGISTERED' => $TEXT['REGISTERED'],
+				'TEXT_NONE' => $TEXT['NONE'],
+				'TEXT_HIDDEN' => $TEXT['HIDDEN'],
+				'TEXT_TEMPLATE' => $TEXT['TEMPLATE'],
+				'TEXT_TARGET' => $TEXT['TARGET'],
+				'TEXT_SYSTEM_DEFAULT' => $TEXT['SYSTEM_DEFAULT'],
+				'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+				'TEXT_NEW_WINDOW' => $TEXT['NEW_WINDOW'],
+				'TEXT_SAME_WINDOW' => $TEXT['SAME_WINDOW'],
+				'TEXT_TOP_FRAME' => $TEXT['TOP_FRAME'],
+				'TEXT_ADMINISTRATORS' => $TEXT['ADMINISTRATORS'],
+				'TEXT_ALLOWED_VIEWERS' => $TEXT['ALLOWED_VIEWERS'],
+				'TEXT_DESCRIPTION' => $TEXT['DESCRIPTION'],
+				'TEXT_KEYWORDS' => $TEXT['KEYWORDS'],
+				'TEXT_SEARCHING' => $TEXT['SEARCHING'],
+				'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
+				'TEXT_ENABLED' => $TEXT['ENABLED'],
+				'TEXT_DISABLED' => $TEXT['DISABLED'],
+				'TEXT_SAVE' => $TEXT['SAVE'],
+				'TEXT_RESET' => $TEXT['RESET'],
+				'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
+				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE']
+			) );
+
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// Print admin footer
+$admin->print_footer();
+
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/pages/delete.php
===================================================================
--- branches/2.8.x/wb/admin/pages/delete.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/delete.php	(revision 1358)
@@ -44,12 +44,6 @@
 	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
 }
 
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
 // Find out more about the page
 $query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'";
 $results = $database->query($query);
Index: branches/2.8.x/wb/admin/pages/sections_save.php
===================================================================
--- branches/2.8.x/wb/admin/pages/sections_save.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/sections_save.php	(revision 1358)
@@ -45,15 +45,14 @@
 // Create new admin object
 require_once(WB_PATH.'/framework/class.admin.php');
 $admin = new admin('Pages', 'pages_modify');
-
 if (!$admin->checkFTAN())
 {
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+	$admin->print_error($MESSAGE['PAGES_NOT_SAVED'],'index.php');
 	exit();
 }
 
 // Get perms
-$database = new database();
+// $database = new database();
 $results = $database->query("SELECT admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page_id'");
 $results_array = $results->fetchRow();
 $old_admin_groups = explode(',', $results_array['admin_groups']);
@@ -126,8 +125,7 @@
 if($database->is_error()) {
 	$admin->print_error($database->get_error(), ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
 } else {
-	$ftan2 = $admin->getFTAN(2);
-	$admin->print_success($MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'], ADMIN_URL."/pages/sections.php?page_id=$page_id&amp;$ftan2");
+	$admin->print_success($MESSAGE['PAGES']['SECTIONS_PROPERTIES_SAVED'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
 }
 
 // Print admin footer
Index: branches/2.8.x/wb/admin/pages/index.php
===================================================================
--- branches/2.8.x/wb/admin/pages/index.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/index.php	(revision 1358)
@@ -1,613 +1,615 @@
-<?php
-/**
- *
- * @category        admin
- * @package         pages
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL:  $
- * @lastmodified    $Date:  $
- *
- */
-
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-$admin = new admin('Pages', 'pages');
-
-$ftan = $admin->getFTAN(2);
-
-// Include the WB functions file
-require_once(WB_PATH.'/framework/functions.php');
-// eggsurplus: add child pages for a specific page
-?>
-<script type="text/javascript" src="<?php print ADMIN_URL; ?>/pages/eggsurplus.js"></script>
-<?php
-
-
-function make_list($parent, $editable_pages) {
-	// Get objects and vars from outside this function
-	global $admin, $template, $database, $TEXT, $MESSAGE, $HEADING, $page_tmp_id;
-	?>
-	<ul id="p<?php echo $parent; ?>" <?php if($parent != 0) { echo 'class="page_list" '; if(isset($_COOKIE['p'.$parent]) && $_COOKIE['p'.$parent] == '1'){ echo 'style="display:block"'; }} ?>>
-	<?php
-	// $database = new database();
-
-	// Get page list from database
-    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' ';
-    $sql .= (PAGE_TRASH != 'inline') ?  'AND `visibility` != \'deleted\' ' : ' ';
-    $sql .= 'ORDER BY `position` ASC';
-	$get_pages = $database->query($sql);
-/*
-	if(PAGE_TRASH != 'inline')
-    {
-		$sql = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' AND visibility != 'deleted' ORDER BY position ASC";
-	} else {
-		$sql = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' ORDER BY position ASC";
-	}
-*/
-	// Insert values into main page list
-	if($get_pages->numRows() > 0) {
-		while($page = $get_pages->fetchRow()) {
-			// Get user perms
-			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
-			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
-			$in_group = FALSE;
-			foreach($admin->get_groups_id() as $cur_gid)
-            {
-				if (in_array($cur_gid, $admin_groups))
-                {
-					$in_group = TRUE;
-				}
-			}
-			if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users)))
-            {
-				if($page['visibility'] == 'deleted')
-                {
-					if(PAGE_TRASH == 'inline')
-                    {
-						$can_modify = true;
-						$editable_pages = $editable_pages+1;
-					} else {
-						$can_modify = false;
-					}
-				} elseif($page['visibility'] != 'deleted')
-                {
-					$can_modify = true;
-					$editable_pages = $editable_pages+1;
-				}
-			} else {
-				if($page['visibility'] == 'private')
-                {
-					continue;
-				}
-				else {
-					$can_modify = false;
-				}
-			}
-			// Work out if we should show a plus or not
-            $sql = 'SELECT `page_id`,`admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$page['page_id'].' ';
-            $sql .= (PAGE_TRASH != 'inline') ?  'AND `visibility` != \'deleted\' ' : ' ';
-            // $sql .= ' ORDER BY `position` ASC';
-        	$get_page_subs = $database->query($sql);
-/*
-			if(PAGE_TRASH != 'inline')
-            {
-				$get_page_subs = $database->query("SELECT page_id,admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE parent = '".$page['page_id']."' AND visibility!='deleted'");
-			} else {
-				$get_page_subs = $database->query("SELECT page_id,admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE parent = '".$page['page_id']."'");
-			}
-*/
-			if($get_page_subs->numRows() > 0)
-            {
-				$display_plus = true;
-			} else {
-				$display_plus = false;
-			}
-			// Work out how many pages there are for this parent
-			$num_pages = $get_pages->numRows();
-			?>
-			<li class="p<?php echo $page['parent']; ?>">
-			<table class="pages_view" border="0" cellpadding="0" cellspacing="0">
-			<tr>
-				<td valign="middle" width="20" style="padding-left: <?php if($page['level'] > 0){ echo $page['level']*20; } else { echo '7'; } ?>px;">
-					<?php
-					if($display_plus == true) {
-					?>
-					<a href="javascript: toggle_visibility('p<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['EXPAND'].'/'.$TEXT['COLLAPSE']; ?>">
-						<img src="<?php echo THEME_URL; ?>/images/<?php if(isset($_COOKIE['p'.$page['page_id']]) && $_COOKIE['p'.$page['page_id']] == '1'){ echo 'minus'; } else { echo 'plus'; } ?>_16.png" onclick="toggle_plus_minus('<?php echo $page['page_id']; ?>');" name="plus_minus_<?php echo $page['page_id']; ?>" border="0" alt="+" />
-					</a>
-					<?php
-					}
-					?>
-				</td>
-				<?php if($admin->get_permission('pages_modify') == true AND $can_modify == true) { ?>
-				<td class="list_menu_title">
-					<a href="<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
-						<?php if($page['visibility'] == 'public') { ?>
-							<img src="<?php echo THEME_URL; ?>/images/visible_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PUBLIC']; ?>" class="page_list_rights" />
-						<?php } elseif($page['visibility'] == 'private') { ?>
-							<img src="<?php echo THEME_URL; ?>/images/private_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PRIVATE']; ?>" class="page_list_rights" />
-						<?php } elseif($page['visibility'] == 'registered') { ?>
-							<img src="<?php echo THEME_URL; ?>/images/keys_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['REGISTERED']; ?>" class="page_list_rights" />
-						<?php } elseif($page['visibility'] == 'hidden') { ?>
-							<img src="<?php echo THEME_URL; ?>/images/hidden_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['HIDDEN']; ?>" class="page_list_rights" />
-						<?php } elseif($page['visibility'] == 'none') { ?>
-							<img src="<?php echo THEME_URL; ?>/images/none_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['NONE']; ?>" class="page_list_rights" />
-						<?php } elseif($page['visibility'] == 'deleted') { ?>
-							<img src="<?php echo THEME_URL; ?>/images/deleted_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['DELETED']; ?>" class="page_list_rights" />
-						<?php }
-						echo '<span class="modify_link">'.($page['menu_title']).'</span>'; ?>
-					</a>
-				</td>
-				<?php } else { ?>
-				<td class="list_menu_title">
-					<?php if($page['visibility'] == 'public') { ?>
-						<img src="<?php echo THEME_URL; ?>/images/visible_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PUBLIC']; ?>" class="page_list_rights" />
-					<?php } elseif($page['visibility'] == 'private') { ?>
-						<img src="<?php echo THEME_URL; ?>/images/private_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PRIVATE']; ?>" class="page_list_rights" />
-					<?php } elseif($page['visibility'] == 'registered') { ?>
-						<img src="<?php echo THEME_URL; ?>/images/keys_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['REGISTERED']; ?>" class="page_list_rights" />
-					<?php } elseif($page['visibility'] == 'hidden') { ?>
-						<img src="<?php echo THEME_URL; ?>/images/hidden_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['HIDDEN']; ?>" class="page_list_rights" />
-					<?php } elseif($page['visibility'] == 'none') { ?>
-						<img src="<?php echo THEME_URL; ?>/images/none_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['NONE']; ?>" class="page_list_rights" />
-					<?php } elseif($page['visibility'] == 'deleted') { ?>
-						<img src="<?php echo THEME_URL; ?>/images/deleted_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['DELETED']; ?>" class="page_list_rights" />
-					<?php } 
-					echo ($page['menu_title']); ?>
-				</td>
-				<?php } ?>
-				<td class="list_page_title">
-					<?php echo ($page['page_title']); ?>
-				</td>
-				<td class="list_page_id">
-					<?php echo $page['page_id']; ?>
-				</td>
-				<td class="list_actions">
-					<?php if($page['visibility'] != 'deleted' AND $page['visibility'] != 'none') { ?>
-					<a href="<?php echo $admin->page_link($page['link']); ?>" target="_blank" title="<?php echo $TEXT['VIEW']; ?>">
-						<img src="<?php echo THEME_URL; ?>/images/view_16.png" border="0" alt="<?php echo $TEXT['VIEW']; ?>" />
-					</a>
-					<?php } ?>
-				</td>
-				<td class="list_actions">
-					<?php if($page['visibility'] != 'deleted') { ?>
-						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
-						<a href="<?php echo ADMIN_URL; ?>/pages/settings.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>" title="<?php echo $TEXT['SETTINGS']; ?>">
-							<img src="<?php echo THEME_URL; ?>/images/modify_16.png" border="0" alt="<?php echo $TEXT['SETTINGS']; ?>" />
-						</a>
-						<?php } ?>
-					<?php } else { ?>
-						<a href="<?php echo ADMIN_URL; ?>/pages/restore.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>" title="<?php echo $TEXT['RESTORE']; ?>">
-							<img src="<?php echo THEME_URL; ?>/images/restore_16.png" border="0" alt="<?php echo $TEXT['RESTORE']; ?>" />
-						</a>
-					<?php } ?>
-				</td>
-				<!-- MANAGE SECTIONS AND DATES BUTTONS -->
-				<td class="list_actions">
-				<?php
-				// Work-out if we should show the "manage dates" link
-				if(MANAGE_SECTIONS == 'enabled' && $admin->get_permission('pages_modify')==true && $can_modify==true)
-                {
-
-                    $sql = 'SELECT `publ_start`, `publ_end` FROM `'.TABLE_PREFIX.'sections` ';
-                    $sql .= 'WHERE `page_id` = '.$page['page_id'].' AND `module` != \'menu_link\' ';
-                    $query_sections = $database->query($sql);
-
-					// $query_sections = $database->query("SELECT publ_start, publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '{$page['page_id']}' AND module != 'menu_link'");
-
-					if($query_sections->numRows() > 0)
-                    {
-						$mdate_display=false;
-						while($mdate_res = $query_sections->fetchRow())
-                        {
-							if($mdate_res['publ_start']!='0' || $mdate_res['publ_end']!='0')
-                            {
-								$mdate_display=true;
-								break;
-							}
-						}
-						if($mdate_display==1)
-                        {
-							$file=$admin->page_is_active($page)?"clock_16.png":"clock_red_16.png";
-							?>
-							<a href="<?php echo ADMIN_URL; ?>/pages/sections.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>" title="<?php echo $HEADING['MANAGE_SECTIONS']; ?>">
-							<img src="<?php echo THEME_URL."/images/$file"; ?>" border="0" alt="<?php echo $HEADING['MANAGE_SECTIONS']; ?>" />
-							</a>
-						<?php } else { ?>
-							<a href="<?php echo ADMIN_URL; ?>/pages/sections.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>" title="<?php echo $HEADING['MANAGE_SECTIONS']; ?>">
-							<img src="<?php echo THEME_URL; ?>/images/noclock_16.png" border="0" alt="<?php echo $HEADING['MANAGE_SECTIONS']; ?>" /></a>
-						<?php } ?>
-					<?php } ?>
-				<?php } ?>
-				</td>
-				<td class="list_actions">
-				<?php if($page['position'] != 1) { ?>
-					<?php if($page['visibility'] != 'deleted') { ?>
-						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
-						<a href="<?php echo ADMIN_URL; ?>/pages/move_up.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>" title="<?php echo $TEXT['MOVE_UP']; ?>">
-							<img src="<?php echo THEME_URL; ?>/images/up_16.png" border="0" alt="<?php echo $TEXT['MOVE_UP']; ?>" />
-						</a>
-						<?php } ?>
-					<?php } ?>
-				<?php } ?>
-				</td>
-				<td class="list_actions">
-				<?php if($page['position'] != $num_pages) { ?>
-					<?php if($page['visibility'] != 'deleted') { ?>
-						<?php if($admin->get_permission('pages_settings') == true AND $can_modify == true) { ?>
-						<a href="<?php echo ADMIN_URL; ?>/pages/move_down.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>" title="<?php echo $TEXT['MOVE_DOWN']; ?>">
-							<img src="<?php echo THEME_URL; ?>/images/down_16.png" border="0" alt="<?php echo $TEXT['MOVE_DOWN']; ?>" />
-						</a>
-						<?php } ?>
-					<?php } ?>
-				<?php } ?>
-				</td>
-				<td class="list_actions">
-					<?php if($admin->get_permission('pages_delete') == true AND $can_modify == true) { ?>
-					<a href="javascript: confirm_link('<?php echo $MESSAGE['PAGES']['DELETE_CONFIRM']; ?>?', '<?php echo ADMIN_URL; ?>/pages/delete.php?page_id=<?php echo $page['page_id']."&amp;$ftan"; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
-						<img src="<?php echo THEME_URL; ?>/images/delete_16.png" border="0" alt="<?php echo $TEXT['DELETE']; ?>" />
-					</a>
-					<?php } ?>
-				</td>
-				<?php
-				// eggsurplus: Add action to add a page as a child
-				?>
-				<td class="list_actions">
-					<?php if($admin->get_permission('pages_delete') == true AND $can_modify == true) { ?>
-					<a href="javascript:add_child_page('<?php echo $page['page_id']; ?>');" title="<?php echo $HEADING['ADD_PAGE']; ?>">
-						<img src="<?php echo THEME_URL; ?>/images/siteadd.png" name="addpage_<?php echo $page['page_id']; ?>" border="0" alt="Add Child Page" />
-					</a>
-					<?php } ?>
-				</td>
-				<?php
-				// end [IC] jeggers 2009/10/14: Add action to add a page as a child
-				?>
-
-			</tr>
-			</table>
-			</li>
-			<?php
-			if ( $page['parent'] = 0)
-            {
-				$page_tmp_id = $page['page_id'];
-			}
-			// Get subs
-			$editable_pages=make_list($page['page_id'], $editable_pages);
-		}
-	}
-	?>
-	</ul>
-	<?php
-	return $editable_pages;
-}
-
-// Generate pages list
-if($admin->get_permission('pages_view') == true) {
-	?>
-	<div class="jsadmin hide"></div>
-	<table cellpadding="0" cellspacing="0" width="100%" border="0">
-	<tr>
-		<td>
-			<h2><?php echo $HEADING['MODIFY_DELETE_PAGE']; ?></h2>
-		</td>
-		<td align="right">
-			<?php
-				// Check if there are any pages that are in trash, and if we should show a link to the trash page
-				if(PAGE_TRASH == 'separate') {
-					$query_trash = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE visibility = 'deleted'");
-					if($query_trash->numRows() > 0) {
-						?>
-						<a href="<?php echo ADMIN_URL."/pages/trash.php?$ftan"; ?>">
-						<img src="<?php echo THEME_URL; ?>/images/delete_16.png" alt="<?php echo $TEXT['PAGE_TRASH']; ?>" border="0" />
-						<?php echo $TEXT['VIEW_DELETED_PAGES']; ?></a>
-						<?php
-					}
-				}
-			?>
-		</td>
-	</tr>
-	</table>
-	<div class="pages_list">
-	<table cellpadding="0" cellspacing="0" border="0">
-	<tr>
-		<td class="header_list_menu_title">
-			<?php echo $TEXT['VISIBILITY'] .' / ' .$TEXT['MENU_TITLE']; ?>:
-		</td>
-		<td class="header_list_page_title">
-			<?php echo $TEXT['PAGE_TITLE']; ?>:
-		</td>
-		<td class="header_list_page_id">
-			ID:
-		</td>		
-		<td class="header_list_actions">
-			<?php echo $TEXT['ACTIONS']; ?>:
-		</td>
-	</tr>
-	</table>
-	<?php
-    // Work-out if we should check for existing page_code
-    $field_sql = $database->query("DESCRIBE ".TABLE_PREFIX."pages page_code");
-    $field_set = $field_sql->numRows();
-
-	$page_tmp_id = 0;
-	$editable_pages = make_list(0, 0);
-	?>
-	</div>
-	<div class="empty_list">
-		<?php echo $TEXT['NONE_FOUND']; ?>
-	</div>
-	<?php
-} else {
-	$editable_pages = 0;
-}
-
-// Setup template object
-$template = new Template(THEME_PATH.'/templates');
-$template->set_file('page', 'pages.htt');
-$template->set_block('page', 'main_block', 'main');
-$template->set_var('FTAN', $admin->getFTAN());
-
-// Figure out if the no pages found message should be shown or not
-if($editable_pages == 0) {
-	?>
-	<style type="text/css">
-	.pages_list {
-		display: none;
-	}
-	</style>
-	<?php
-} else {
-	?>
-	<style type="text/css">
-	.empty_list {
-		display: none;
-	}
-	</style>
-	<?php
-}
-
-// Insert values into the add page form
-
-// Group list 1
-
-	$query = "SELECT * FROM ".TABLE_PREFIX."groups";
-	$get_groups = $database->query($query);
-	$template->set_block('main_block', 'group_list_block', 'group_list');
-	// Insert admin group and current group first
-	$admin_group_name = $get_groups->fetchRow();
-	$template->set_var(array(
-									'ID' => 1,
-									'TOGGLE' => '',
-									'DISABLED' => ' disabled="disabled"',
-									'LINK_COLOR' => '000000',
-									'CURSOR' => 'default',
-									'NAME' => $admin_group_name['name'],
-									'CHECKED' => ' checked="checked"'
-									)
-							);
-	$template->parse('group_list', 'group_list_block', true);
-
-	while($group = $get_groups->fetchRow()) {
-		// check if the user is a member of this group
-		$flag_disabled = '';
-		$flag_checked =  '';
-		$flag_cursor =   'pointer';
-		$flag_color =    '';
-		if (in_array($group["group_id"], $admin->get_groups_id())) {
-			$flag_disabled = ''; //' disabled';
-			$flag_checked =  ' checked="checked"';
-			$flag_cursor =   'default';
-			$flag_color =    '000000';
-		}
-
-		// Check if the group is allowed to edit pages
-		$system_permissions = explode(',', $group['system_permissions']);
-		if(is_numeric(array_search('pages_modify', $system_permissions))) {
-			$template->set_var(array(
-											'ID' => $group['group_id'],
-											'TOGGLE' => $group['group_id'],
-											'CHECKED' => $flag_checked,
-											'DISABLED' => $flag_disabled,
-											'LINK_COLOR' => $flag_color,
-											'CURSOR' => $flag_checked,
-											'NAME' => $group['name'],
-											)
-									);
-			$template->parse('group_list', 'group_list_block', true);
-		}
-	}
-// Group list 2
-
-	$query = "SELECT * FROM ".TABLE_PREFIX."groups";
-
-	$get_groups = $database->query($query);
-	$template->set_block('main_block', 'group_list_block2', 'group_list2');
-	// Insert admin group and current group first
-	$admin_group_name = $get_groups->fetchRow();
-	$template->set_var(array(
-									'ID' => 1,
-									'TOGGLE' => '',
-									'DISABLED' => ' disabled="disabled"',
-									'LINK_COLOR' => '000000',
-									'CURSOR' => 'default',
-									'NAME' => $admin_group_name['name'],
-									'CHECKED' => ' checked="checked"'
-									)
-							);
-	$template->parse('group_list2', 'group_list_block2', true);
-
-	while($group = $get_groups->fetchRow()) {
-		// check if the user is a member of this group
-		$flag_disabled = '';
-		$flag_checked =  '';
-		$flag_cursor =   'pointer';
-		$flag_color =    '';
-		if (in_array($group["group_id"], $admin->get_groups_id())) {
-			$flag_disabled = ''; //' disabled';
-			$flag_checked =  ' checked="checked"';
-			$flag_cursor =   'default';
-			$flag_color =    '000000';
-		}
-
-		$template->set_var(array(
-										'ID' => $group['group_id'],
-										'TOGGLE' => $group['group_id'],
-										'CHECKED' => $flag_checked,
-										'DISABLED' => $flag_disabled,
-										'LINK_COLOR' => $flag_color,
-										'CURSOR' => $flag_cursor,
-										'NAME' => $group['name'],
-										)
-								);
-		$template->parse('group_list2', 'group_list_block2', true);
-	}
-
-
-// Parent page list
-// $database = new database();
-function parent_list($parent)
-{
-	global $admin, $database, $template, $field_set;
-	$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' AND visibility!='deleted' ORDER BY position ASC";
-	$get_pages = $database->query($query);
-	while($page = $get_pages->fetchRow()) {
-		if($admin->page_is_visible($page)==false)
-			continue;
-		// if parent = 0 set flag_icon
-		$template->set_var('FLAG_ROOT_ICON',' none ');
-		if( $page['parent'] == 0 && $field_set) {
-			$template->set_var('FLAG_ROOT_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
-		}
-		// Stop users from adding pages with a level of more than the set page level limit
-		if($page['level']+1 < PAGE_LEVEL_LIMIT) {
-			// Get user perms
-			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
-			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
-			
-			$in_group = FALSE;
-			foreach($admin->get_groups_id() as $cur_gid) {
-				if (in_array($cur_gid, $admin_groups)) {
-					$in_group = TRUE;
-				}
-			}
-			if(($in_group) OR is_numeric(array_search($admin->get_user_id(), $admin_users))) {
-				$can_modify = true;
-			} else {
-				$can_modify = false;
-			}
-			// Title -'s prefix
-			$title_prefix = '';
-			for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - '; }
-				$template->set_var(array(
-												'ID' => $page['page_id'],
-												'TITLE' => ($title_prefix.$page['menu_title']),
-												'MENU-TITLE' => ($title_prefix.$page['menu_title']),
-												'PAGE-TITLE' => ($title_prefix.$page['page_title'])
-												)
-										);
-				if($can_modify == true) {
-					$template->set_var('DISABLED', '');
-				} else {
-					$template->set_var('DISABLED', ' disabled="disabled" class="disabled"');
-				}
-				$template->parse('page_list2', 'page_list_block2', true);
-		}
-		parent_list($page['page_id']);
-	}
-}
-$template->set_block('main_block', 'page_list_block2', 'page_list2');
-if($admin->get_permission('pages_add_l0') == true) {
-	$template->set_var(array(
-									'ID' => '0',
-									'TITLE' => $TEXT['NONE'],
-									'SELECTED' => ' selected="selected"',
-									'DISABLED' => ''
-									)
-							);
-	$template->parse('page_list2', 'page_list_block2', true);
-}
-parent_list(0);
-
-// Explode module permissions
-$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
-// Modules list
-$template->set_block('main_block', 'module_list_block', 'module_list');
-$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'page' order by name");
-if($result->numRows() > 0) {
-	while ($module = $result->fetchRow()) {
-		// Check if user is allowed to use this module
-		if(!is_numeric(array_search($module['directory'], $module_permissions))) {
-			$template->set_var('VALUE', $module['directory']);
-			$template->set_var('NAME', $module['name']);
-			if($module['directory'] == 'wysiwyg') {
-				$template->set_var('SELECTED', ' selected="selected"');
-			} else {
-				$template->set_var('SELECTED', '');
-			}
-			$template->parse('module_list', 'module_list_block', true);
-		}
-	}
-}
-
-// Insert urls
-$template->set_var(array(
-								'THEME_URL' => THEME_URL,
-								'WB_URL' => WB_URL,
-								'WB_PATH' => WB_PATH,
-								'ADMIN_URL' => ADMIN_URL,
-								)
-						);
-
-// Insert language headings
-$template->set_var(array(
-								'HEADING_ADD_PAGE' => $HEADING['ADD_PAGE'],
-								'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE']
-								)
-						);
-// Insert language text and messages
-$template->set_var(array(
-								'TEXT_TITLE' => $TEXT['TITLE'],
-								'TEXT_TYPE' => $TEXT['TYPE'],
-								'TEXT_PARENT' => $TEXT['PARENT'],
-								'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
-								'TEXT_PUBLIC' => $TEXT['PUBLIC'],
-								'TEXT_PRIVATE' => $TEXT['PRIVATE'],
-								'TEXT_REGISTERED' => $TEXT['REGISTERED'],
-								'TEXT_HIDDEN' => $TEXT['HIDDEN'],
-								'TEXT_NONE' => $TEXT['NONE'],
-								'TEXT_NONE_FOUND' => $TEXT['NONE_FOUND'],
-								'TEXT_ADD' => $TEXT['ADD'],
-								'TEXT_RESET' => $TEXT['RESET'],
-								'TEXT_ADMINISTRATORS' => $TEXT['ADMINISTRATORS'],
-								'TEXT_PRIVATE_VIEWERS' => $TEXT['PRIVATE_VIEWERS'],
-								'TEXT_REGISTERED_VIEWERS' => $TEXT['REGISTERED_VIEWERS'],
-								'INTRO_LINK' => $MESSAGE['PAGES']['INTRO_LINK'],
-								)
-						);
-
-// Insert permissions values
-if($admin->get_permission('pages_add') != true) {
-	$template->set_var('DISPLAY_ADD', 'hide');
-} elseif($admin->get_permission('pages_add_l0') != true AND $editable_pages == 0) {
-	$template->set_var('DISPLAY_ADD', 'hide');
-}
-if($admin->get_permission('pages_intro') != true OR INTRO_PAGE != 'enabled') {
-	$template->set_var('DISPLAY_INTRO', 'hide');
-}
-
-
-// Parse template object
-$template->parse('main', 'main_block', false);
-$template->pparse('output', 'page');
-
-// Print admin 
-$admin->print_footer();
-
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL:  $
+ * @lastmodified    $Date:  $
+ *
+ */
+
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages');
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+// eggsurplus: add child pages for a specific page
+?>
+<script type="text/javascript" src="<?php print ADMIN_URL; ?>/pages/eggsurplus.js"></script>
+<?php
+/*
+urlencode function and rawurlencode are mostly based on RFC 1738.
+However, since 2005 the current RFC in use for URIs standard is RFC 3986.
+Here is a function to encode URLs according to RFC 3986.
+*/
+function url_encode($string) {
+    $string = html_entity_decode($string,ENT_QUOTES,'UTF-8');
+    $entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D');
+    $replacements = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]");
+    return str_replace($entities, $replacements, rawurlencode($string));
+}
+// fixes A URI contains impermissible characters or quotes around the URI are not closed.
+$MESSAGE['PAGES_DELETE_CONFIRM'] = url_encode( ( $MESSAGE['PAGES_DELETE_CONFIRM']) );
+
+function set_node ($parent,& $par)
+{
+    $retval = '';
+
+	if($par['num_subs'] )
+	{
+    $retval .= "\n".'<ul id="p'.$parent.'"';
+	if ($parent != 0)
+	{
+		$retval .= ' class="page_list"';
+		if (isset ($_COOKIE['p'.$parent]) && $_COOKIE['p'.$parent] == '1')
+		{
+			 $retval .= ' style="display:block"';
+		}
+	}
+	$retval .= ">\n";
+ 	}
+
+	return $retval;
+}
+
+function make_list($parent = 0, $editable_pages = 0) {
+	// Get objects and vars from outside this function
+	global $admin, $template, $database, $TEXT, $MESSAGE, $HEADING, $par;
+
+    print set_node ($parent,$par);
+
+	// $database = new database();
+
+	// Get page list from database
+    $sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$parent.' ';
+    $sql .= (PAGE_TRASH != 'inline') ?  'AND `visibility` != \'deleted\' ' : ' ';
+    $sql .= 'ORDER BY `position` ASC';
+	$get_pages = $database->query($sql);
+
+	// Insert values into main page list
+	if($get_pages->numRows() > 0)
+	{
+		while($page = $get_pages->fetchRow())
+		{
+			// Get user perms
+			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+			$in_group = FALSE;
+			foreach($admin->get_groups_id() as $cur_gid)
+            {
+				if (in_array($cur_gid, $admin_groups))
+                {
+					$in_group = TRUE;
+				}
+			}
+			if(($in_group) || is_numeric(array_search($admin->get_user_id(), $admin_users)))
+            {
+				if($page['visibility'] == 'deleted')
+                {
+					if(PAGE_TRASH == 'inline')
+                    {
+						$can_modify = true;
+						$editable_pages = $editable_pages+1;
+					} else {
+						$can_modify = false;
+					}
+				} elseif($page['visibility'] != 'deleted')
+                {
+					$can_modify = true;
+					$editable_pages = $editable_pages+1;
+				}
+			} else {
+				if($page['visibility'] == 'private')
+                {
+					continue;
+				}
+				else {
+					$can_modify = false;
+				}
+			}
+
+			// Work out if we should show a plus or not
+            $sql = 'SELECT `page_id`,`admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` WHERE `parent` = '.$page['page_id'].' ';
+            $sql .= (PAGE_TRASH != 'inline') ?  'AND `visibility` != \'deleted\' ' : ' ';
+            // $sql .= ' ORDER BY `position` ASC';
+        	$get_page_subs = $database->query($sql);
+			$num_subs = $get_page_subs->numRows();
+			$par['num_subs'] = $num_subs;
+/*
+			if(PAGE_TRASH != 'inline')
+            {
+				$get_page_subs = $database->query("SELECT page_id,admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE parent = '".$page['page_id']."' AND visibility!='deleted'");
+			} else {
+				$get_page_subs = $database->query("SELECT page_id,admin_groups,admin_users FROM ".TABLE_PREFIX."pages WHERE parent = '".$page['page_id']."'");
+			}
+*/
+			if($get_page_subs->numRows() > 0)
+            {
+				$display_plus = true;
+			} else {
+				$display_plus = false;
+			}
+			// Work out how many pages there are for this parent
+			$num_pages = $get_pages->numRows();
+			?>
+			<li class="p<?php echo $page['parent']; ?>">
+			<table summary="<?php echo $TEXT['EXPAND'].'/'.$TEXT['COLLAPSE']; ?>" class="pages_view" cellpadding="0" cellspacing="0">
+			<tr>
+				<td valign="middle" width="20" style="padding-left: <?php if($page['level'] > 0){ echo $page['level']*20; } else { echo '7'; } ?>px;">
+					<?php
+					if($display_plus == true) {
+					?>
+					<a href="javascript:toggle_visibility('p<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['EXPAND'].'/'.$TEXT['COLLAPSE']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/<?php if(isset($_COOKIE['p'.$page['page_id']]) && $_COOKIE['p'.$page['page_id']] == '1'){ echo 'minus'; } else { echo 'plus'; } ?>_16.png" onclick="toggle_plus_minus('<?php echo $page['page_id']; ?>');" name="plus_minus_<?php echo $page['page_id']; ?>" alt="+" />
+					</a>
+					<?php
+					}
+					?>
+				</td>
+				<?php if($admin->get_permission('pages_modify') == true && $can_modify == true) { ?>
+				<td class="list_menu_title">
+					<a href="<?php echo ADMIN_URL; ?>/pages/modify.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MODIFY']; ?>">
+						<?php if($page['visibility'] == 'public') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/visible_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PUBLIC']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'private') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/private_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PRIVATE']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'registered') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/keys_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['REGISTERED']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'hidden') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/hidden_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['HIDDEN']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'none') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/none_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['NONE']; ?>" class="page_list_rights" />
+						<?php } elseif($page['visibility'] == 'deleted') { ?>
+							<img src="<?php echo THEME_URL; ?>/images/deleted_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['DELETED']; ?>" class="page_list_rights" />
+						<?php }
+						echo '<span class="modify_link">'.($page['menu_title']).'</span>'; ?>
+					</a>
+				</td>
+				<?php } else { ?>
+				<td class="list_menu_title">
+					<?php if($page['visibility'] == 'public') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/visible_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PUBLIC']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'private') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/private_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['PRIVATE']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'registered') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/keys_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['REGISTERED']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'hidden') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/hidden_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['HIDDEN']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'none') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/none_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['NONE']; ?>" class="page_list_rights" />
+					<?php } elseif($page['visibility'] == 'deleted') { ?>
+						<img src="<?php echo THEME_URL; ?>/images/deleted_16.png" alt="<?php echo $TEXT['VISIBILITY']; ?>: <?php echo $TEXT['DELETED']; ?>" class="page_list_rights" />
+					<?php }
+					echo ($page['menu_title']); ?>
+				</td>
+				<?php } ?>
+				<td class="list_page_title">
+					<?php echo ($page['page_title']); ?>
+				</td>
+				<td class="list_page_id">
+					<?php echo $page['page_id']; ?>
+				</td>
+
+				<td class="list_actions">
+					<?php if($page['visibility'] != 'deleted' && $page['visibility'] != 'none') { ?>
+					<a href="<?php echo $admin->page_link($page['link']); ?>" target="_blank" title="<?php echo $TEXT['VIEW']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/view_16.png" alt="<?php echo $TEXT['VIEW']; ?>" />
+					</a>
+					<?php } ?>
+				</td>
+				<td class="list_actions">
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true && $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/settings.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['SETTINGS']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/modify_16.png" alt="<?php echo $TEXT['SETTINGS']; ?>" />
+						</a>
+						<?php } ?>
+					<?php } else { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/restore.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['RESTORE']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/restore_16.png" alt="<?php echo $TEXT['RESTORE']; ?>" />
+						</a>
+					<?php } ?>
+				</td>
+				<!-- MANAGE SECTIONS AND DATES BUTTONS -->
+				<td class="list_actions">
+				<?php
+				// Work-out if we should show the "manage dates" link
+				if(MANAGE_SECTIONS == 'enabled' && $admin->get_permission('pages_modify')==true && $can_modify==true)
+                {
+
+                    $sql = 'SELECT `publ_start`, `publ_end` FROM `'.TABLE_PREFIX.'sections` ';
+                    $sql .= 'WHERE `page_id` = '.$page['page_id'].' AND `module` != \'menu_link\' ';
+                    $query_sections = $database->query($sql);
+
+					// $query_sections = $database->query("SELECT publ_start, publ_end FROM ".TABLE_PREFIX."sections WHERE page_id = '{$page['page_id']}' AND module != 'menu_link'");
+
+					if($query_sections->numRows() > 0)
+                    {
+						$mdate_display=false;
+						while($mdate_res = $query_sections->fetchRow())
+                        {
+							if($mdate_res['publ_start']!='0' || $mdate_res['publ_end']!='0')
+                            {
+								$mdate_display=true;
+								break;
+							}
+						}
+						if($mdate_display==1)
+                        {
+							$file=$admin->page_is_active($page)?"clock_16.png":"clock_red_16.png";
+							?>
+							<a href="<?php echo ADMIN_URL; ?>/pages/sections.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $HEADING['MANAGE_SECTIONS']; ?>">
+							<img src="<?php echo THEME_URL."/images/$file"; ?>" alt="<?php echo $HEADING['MANAGE_SECTIONS']; ?>" />
+							</a>
+						<?php } else { ?>
+							<a href="<?php echo ADMIN_URL; ?>/pages/sections.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $HEADING['MANAGE_SECTIONS']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/noclock_16.png" alt="<?php echo $HEADING['MANAGE_SECTIONS']; ?>" /></a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td class="list_actions">
+				<?php if($page['position'] != 1) { ?>
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true && $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/move_up.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MOVE_UP']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/up_16.png" alt="<?php echo $TEXT['MOVE_UP']; ?>" />
+						</a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td class="list_actions">
+				<?php if($page['position'] != $num_pages) { ?>
+					<?php if($page['visibility'] != 'deleted') { ?>
+						<?php if($admin->get_permission('pages_settings') == true && $can_modify == true) { ?>
+						<a href="<?php echo ADMIN_URL; ?>/pages/move_down.php?page_id=<?php echo $page['page_id']; ?>" title="<?php echo $TEXT['MOVE_DOWN']; ?>">
+							<img src="<?php echo THEME_URL; ?>/images/down_16.png" alt="<?php echo $TEXT['MOVE_DOWN']; ?>" />
+						</a>
+						<?php } ?>
+					<?php } ?>
+				<?php } ?>
+				</td>
+				<td class="list_actions">
+					<?php if($admin->get_permission('pages_delete') == true && $can_modify == true) { ?>
+					<a href="javascript:confirm_link('<?php echo $MESSAGE['PAGES_DELETE_CONFIRM']; ?>?','<?php echo ADMIN_URL; ?>/pages/delete.php?page_id=<?php echo $page['page_id']; ?>');" title="<?php echo $TEXT['DELETE']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/delete_16.png" alt="<?php echo $TEXT['DELETE']; ?>" />
+					</a>
+					<?php } ?>
+				</td>
+				<?php
+				// eggsurplus: Add action to add a page as a child
+				?>
+				<td class="list_actions">
+					<?php if(($admin->get_permission('pages_add')) == (true && $can_modify == true) && ($page['visibility'] != 'deleted')) { ?>
+					<a href="javascript:add_child_page('<?php echo $page['page_id']; ?>');" title="<?php echo $HEADING['ADD_PAGE']; ?>">
+						<img src="<?php echo THEME_URL; ?>/images/siteadd.png" name="addpage_<?php echo $page['page_id']; ?>" alt="Add Child Page" />
+					</a>
+					<?php } ?>
+				</td>
+				<?php
+				// end [IC] jeggers 2009/10/14: Add action to add a page as a child
+				?>
+
+			</tr>
+			</table>
+			<?php
+			if ( $page['parent'] == 0)
+            {
+				$page_tmp_id = $page['page_id'];
+			}
+			// Get subs
+			$editable_pages=make_list($page['page_id'], $editable_pages);
+            print '</li>'."\n";
+		}
+	}
+	$output = ($par['num_subs'] )? '</ul>'."\n" : '';
+    $par['num_subs'] = (empty($output) ) ?  1 : $par['num_subs'];
+    print $output;
+	return $editable_pages;
+}
+
+// Generate pages list
+if($admin->get_permission('pages_view') == true) {
+	?>
+	<div class="jsadmin hide"></div>
+	<table summary="<?php echo $HEADING['MODIFY_DELETE_PAGE']; ?>" cellpadding="0" cellspacing="0" width="100%">
+	<tr>
+		<td>
+			<h2><?php echo $HEADING['MODIFY_DELETE_PAGE']; ?></h2>
+		</td>
+		<td align="right"></td>
+	</tr>
+	</table>
+	<div class="pages_list">
+	<table summary="<?php echo $HEADING['MODIFY_DELETE_PAGE']; ?>" cellpadding="0" cellspacing="0">
+	<tr class="pages_list_header">
+		<td class="header_list_menu_title">
+			<?php echo $TEXT['VISIBILITY'] .' / ' .$TEXT['MENU_TITLE']; ?>:
+		</td>
+		<td class="header_list_page_title">
+			<?php echo $TEXT['PAGE_TITLE']; ?>:
+		</td>
+		<td class="header_list_page_id">
+			ID:
+		</td>
+		<td class="header_list_actions">
+			<?php echo $TEXT['ACTIONS']; ?>:
+		</td>
+	</tr>
+	</table>
+	<?php
+    // Work-out if we should check for existing page_code
+    $field_sql = $database->query("DESCRIBE ".TABLE_PREFIX."pages page_code");
+    $field_set = $field_sql->numRows();
+
+    $par = array();
+	$par['num_subs'] = 1;
+	$editable_pages = make_list(0, 0);
+} else {
+	$editable_pages = 0;
+}
+ ?></div><?php
+if(intval($editable_pages) == 0 ) {
+	?>
+	<div class="empty_list">
+		<?php echo $TEXT['NONE_FOUND']; ?>
+	</div>
+	<?php
+}
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages.htt');
+$template->set_block('page', 'main_block', 'main');
+// Insert values into the add page form
+$template->set_var('FTAN', $admin->getFTAN());
+
+// Group list 1
+
+	$query = "SELECT * FROM ".TABLE_PREFIX."groups";
+	$get_groups = $database->query($query);
+	$template->set_block('main_block', 'group_list_block', 'group_list');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '1',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list', 'group_list_block', true);
+
+	while($group = $get_groups->fetchRow()) {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id())) {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ' checked="checked"';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		// Check if the group is allowed to edit pages
+		$system_permissions = explode(',', $group['system_permissions']);
+		if(is_numeric(array_search('pages_modify', $system_permissions))) {
+			$template->set_var(array(
+											'ID' => $group['group_id'],
+											'TOGGLE' => $group['group_id'],
+											'CHECKED' => $flag_checked,
+											'DISABLED' => $flag_disabled,
+											'LINK_COLOR' => $flag_color,
+											'CURSOR' => $flag_checked,
+											'NAME' => $group['name'],
+											)
+									);
+			$template->parse('group_list', 'group_list_block', true);
+		}
+	}
+// Group list 2
+
+	$query = "SELECT * FROM ".TABLE_PREFIX."groups";
+
+	$get_groups = $database->query($query);
+	$template->set_block('main_block', 'group_list_block2', 'group_list2');
+	// Insert admin group and current group first
+	$admin_group_name = $get_groups->fetchRow();
+	$template->set_var(array(
+									'ID' => 1,
+									'TOGGLE' => '1',
+									'DISABLED' => ' disabled="disabled"',
+									'LINK_COLOR' => '000000',
+									'CURSOR' => 'default',
+									'NAME' => $admin_group_name['name'],
+									'CHECKED' => ' checked="checked"'
+									)
+							);
+	$template->parse('group_list2', 'group_list_block2', true);
+
+	while($group = $get_groups->fetchRow()) {
+		// check if the user is a member of this group
+		$flag_disabled = '';
+		$flag_checked =  '';
+		$flag_cursor =   'pointer';
+		$flag_color =    '';
+		if (in_array($group["group_id"], $admin->get_groups_id())) {
+			$flag_disabled = ''; //' disabled';
+			$flag_checked =  ' checked="checked"';
+			$flag_cursor =   'default';
+			$flag_color =    '000000';
+		}
+
+		$template->set_var(array(
+										'ID' => $group['group_id'],
+										'TOGGLE' => $group['group_id'],
+										'CHECKED' => $flag_checked,
+										'DISABLED' => $flag_disabled,
+										'LINK_COLOR' => $flag_color,
+										'CURSOR' => $flag_cursor,
+										'NAME' => $group['name'],
+										)
+								);
+		$template->parse('group_list2', 'group_list_block2', true);
+	}
+
+
+// Parent page list
+// $database = new database();
+function parent_list($parent)
+{
+	global $admin, $database, $template, $field_set;
+	$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' AND visibility!='deleted' ORDER BY position ASC";
+	$get_pages = $database->query($query);
+	while($page = $get_pages->fetchRow()) {
+		if($admin->page_is_visible($page)==false)
+			continue;
+		// if parent = 0 set flag_icon
+		$template->set_var('FLAG_ROOT_ICON',' none ');
+		if( $page['parent'] == 0 && $field_set) {
+			$template->set_var('FLAG_ROOT_ICON','url('.THEME_URL.'/images/flags/'.strtolower($page['language']).'.png)');
+		}
+		// Stop users from adding pages with a level of more than the set page level limit
+		if($page['level']+1 < PAGE_LEVEL_LIMIT) {
+			// Get user perms
+			$admin_groups = explode(',', str_replace('_', '', $page['admin_groups']));
+			$admin_users = explode(',', str_replace('_', '', $page['admin_users']));
+			
+			$in_group = FALSE;
+			foreach($admin->get_groups_id() as $cur_gid) {
+				if (in_array($cur_gid, $admin_groups)) {
+					$in_group = TRUE;
+				}
+			}
+			if(($in_group) || is_numeric(array_search($admin->get_user_id(), $admin_users))) {
+				$can_modify = true;
+			} else {
+				$can_modify = false;
+			}
+			// Title -'s prefix
+			$title_prefix = '';
+			for($i = 1; $i <= $page['level']; $i++) { $title_prefix .= ' - '; }
+				$template->set_var(array(
+										'ID' => $page['page_id'],
+										'TITLE' => ($title_prefix.$page['menu_title']),
+										'MENU-TITLE' => ($title_prefix.$page['menu_title']),
+										'PAGE-TITLE' => ($title_prefix.$page['page_title'])
+										));
+				if($can_modify == true) {
+					$template->set_var('DISABLED', '');
+				} else {
+					$template->set_var('DISABLED', ' disabled="disabled" class="disabled"');
+				}
+				$template->parse('page_list2', 'page_list_block2', true);
+		}
+		parent_list($page['page_id']);
+	}
+}
+$template->set_block('main_block', 'page_list_block2', 'page_list2');
+if($admin->get_permission('pages_add_l0') == true) {
+	$template->set_var(array(
+									'ID' => '0',
+									'TITLE' => $TEXT['NONE'],
+									'SELECTED' => ' selected="selected"',
+									'DISABLED' => ''
+									)
+							);
+	$template->parse('page_list2', 'page_list_block2', true);
+}
+parent_list(0);
+
+// Explode module permissions
+$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
+// Modules list
+$template->set_block('main_block', 'module_list_block', 'module_list');
+$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'page' order by name");
+if($result->numRows() > 0) {
+	while ($module = $result->fetchRow()) {
+		// Check if user is allowed to use this module
+		if(!is_numeric(array_search($module['directory'], $module_permissions))) {
+			$template->set_var('VALUE', $module['directory']);
+			$template->set_var('NAME', $module['name']);
+			if($module['directory'] == 'wysiwyg') {
+				$template->set_var('SELECTED', ' selected="selected"');
+			} else {
+				$template->set_var('SELECTED', '');
+			}
+			$template->parse('module_list', 'module_list_block', true);
+		}
+	}
+}
+
+// Insert urls
+$template->set_var(array(
+								'THEME_URL' => THEME_URL,
+								'WB_URL' => WB_URL,
+								'WB_PATH' => WB_PATH,
+								'ADMIN_URL' => ADMIN_URL,
+								)
+						);
+
+// Insert language headings
+$template->set_var(array(
+								'HEADING_ADD_PAGE' => $HEADING['ADD_PAGE'],
+								'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE']
+								)
+						);
+// Insert language text and messages
+$template->set_var(array(
+								'TEXT_TITLE' => $TEXT['TITLE'],
+								'TEXT_TYPE' => $TEXT['TYPE'],
+								'TEXT_PARENT' => $TEXT['PARENT'],
+								'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
+								'TEXT_PUBLIC' => $TEXT['PUBLIC'],
+								'TEXT_PRIVATE' => $TEXT['PRIVATE'],
+								'TEXT_REGISTERED' => $TEXT['REGISTERED'],
+								'TEXT_HIDDEN' => $TEXT['HIDDEN'],
+								'TEXT_NONE' => $TEXT['NONE'],
+								'TEXT_NONE_FOUND' => $TEXT['NONE_FOUND'],
+								'TEXT_ADD' => $TEXT['ADD'],
+								'TEXT_RESET' => $TEXT['RESET'],
+								'TEXT_ADMINISTRATORS' => $TEXT['ADMINISTRATORS'],
+								'TEXT_PRIVATE_VIEWERS' => $TEXT['PRIVATE_VIEWERS'],
+								'TEXT_REGISTERED_VIEWERS' => $TEXT['REGISTERED_VIEWERS'],
+								'INTRO_LINK' => $MESSAGE['PAGES']['INTRO_LINK'],
+								)
+						);
+
+// Insert permissions values
+if($admin->get_permission('pages_add') != true) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+} elseif($admin->get_permission('pages_add_l0') != true && $editable_pages == 0) {
+	$template->set_var('DISPLAY_ADD', 'hide');
+}
+if($admin->get_permission('pages_intro') != true || INTRO_PAGE != 'enabled') {
+	$template->set_var('DISPLAY_INTRO', 'hide');
+}
+
+
+// Parse template object
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// include the required file for Javascript admin
+if(file_exists(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php'))
+{
+	include(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php');
+}
+
+// Print admin
+$admin->print_footer();
+
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/pages/move_up.php
===================================================================
--- branches/2.8.x/wb/admin/pages/move_up.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/move_up.php	(revision 1358)
@@ -48,12 +48,6 @@
 require_once(WB_PATH.'/framework/class.admin.php');
 $admin = new admin('Pages', 'pages_settings');
 
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
 // Include the ordering class
 require(WB_PATH.'/framework/class.order.php');
 
Index: branches/2.8.x/wb/admin/pages/trash.php
===================================================================
--- branches/2.8.x/wb/admin/pages/trash.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/trash.php	(revision 1358)
@@ -1,38 +1,25 @@
 <?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL: http://svn282.websitebaker-dev.de/branches/2.8.x/wb/admin/pages/trash.php $
+ * @lastmodified    $Date: 2010-05-29 10:36:20 +0200 (Sa, 29. Mai 2010) $
+ *
+ */
 
-// $Id$
-
-/*
-
- Website Baker Project <http://www.websitebaker.org/>
- Copyright (C) 2004-2009, Ryan Djurovich
-
- Website Baker is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- Website Baker is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Website Baker; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-*/
-
 require('../../config.php');
 require_once(WB_PATH.'/framework/class.admin.php');
 $admin = new admin('Pages', 'pages');
 
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
 ?>
 <script type="text/javascript" language="javascript">
 function toggle_viewers() {
@@ -77,7 +64,7 @@
 	<ul id="p<?php echo $parent; ?>" <?php if($parent != 0) { echo 'class="page_list"'; } ?>>
 	<?php	
 	// Get page list from database
-	$database = new database();
+	// $database = new database();
 	$query = "SELECT * FROM ".TABLE_PREFIX."pages WHERE parent = '$parent' AND visibility = 'deleted' ORDER BY position ASC";
 	$get_pages = $database->query($query);
 	
@@ -221,7 +208,6 @@
 
 // Generate pages list
 if($admin->get_permission('pages_view') == true) {
-	$ftan2 = $admin->getFTAN(2);
 	?>
 	<table cellpadding="0" cellspacing="0" width="100%" border="0">
 	<tr>
@@ -229,7 +215,7 @@
 			<h2><?php echo $HEADING['DELETED_PAGES']; ?></h2>
 		</td>
 		<td align="right">
-				<a href="<?php echo ADMIN_URL. "/pages/empty_trash.php?$ftan2"; ?>">
+				<a href="<?php echo ADMIN_URL; ?>/pages/empty_trash.php">
 				<img src="<?php echo THEME_URL; ?>/images/delete_16.png" alt="<?php echo $TEXT['PAGE_TRASH']; ?>" border="0" />
 				<?php echo $TEXT['EMPTY_TRASH']; ?></a>
 		</td>
Index: branches/2.8.x/wb/admin/pages/settings2.php
===================================================================
--- branches/2.8.x/wb/admin/pages/settings2.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/settings2.php	(revision 1358)
@@ -1,319 +1,314 @@
-<?php
-/**
- *
- * @category        admin
- * @package         pages
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Get page id
-if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id']))
-{
-	header("Location: index.php");
-	exit(0);
-} else {
-	$page_id = $_POST['page_id'];
-}
-
-// Create new admin object and print admin header
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-$admin = new admin('Pages', 'pages_settings');
-
-if (!$admin->checkFTAN())
-{
-	$admin->print_error($MESSAGE['PAGES_NOT_SAVED'],'index.php');
-	exit();
-}
-
-// Include the WB functions file
-require_once(WB_PATH.'/framework/functions.php');
-
-// Get values
-$page_title = htmlspecialchars($admin->get_post_escaped('page_title') );
-$menu_title = htmlspecialchars($admin->get_post_escaped('menu_title') );
-$page_code = (int) $admin->get_post_escaped('page_code');
-$description = htmlspecialchars($admin->add_slashes($admin->get_post('description')) );
-$keywords = htmlspecialchars($admin->add_slashes($admin->get_post('keywords')) );
-$parent = (int) $admin->get_post_escaped('parent'); // fix secunia 2010-91-3
-$visibility = $admin->get_post_escaped('visibility');
-if (!in_array($visibility, array('public', 'private', 'registered', 'hidden', 'none'))) $visibility = 'public'; // fix
-$template = preg_replace("/\W/", "", $admin->get_post_escaped('template')); // fix secunia 2010-93-3
-$target = preg_replace("/\W/", "", $admin->get_post_escaped('target'));
-$admin_groups = $admin->get_post_escaped('admin_groups');
-$viewing_groups = $admin->get_post_escaped('viewing_groups');
-$searching = $admin->get_post_escaped('searching');
-$language = strtoupper($admin->get_post('language'));
-$language = (preg_match('/^[A-Z]{2}$/', $language) ? $language : DEFAULT_LANGUAGE);
-$menu = (int) $admin->get_post_escaped('menu'); // fix secunia 2010-91-3
-
-// Validate data
-if($page_title == '' || substr($page_title,0,1)=='.')
-{
-	$admin->print_error($MESSAGE['PAGES']['BLANK_PAGE_TITLE']);
-}
-if($menu_title == '' || substr($menu_title,0,1)=='.')
-{
-	$admin->print_error($MESSAGE['PAGES']['BLANK_MENU_TITLE']);
-}
-
-// Get existing perms
-// $database = new database();
-
-$sql = 'SELECT `parent`,`link`,`position`,`admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id`='.$page_id;
-$results = $database->query($sql);
-
-$results_array = $results->fetchRow();
-$old_parent = $results_array['parent'];
-$old_link = $results_array['link'];
-$old_position = $results_array['position'];
-$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
-$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
-
-// Work-out if we should check for existing page_code
-$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
-$field_sql = $database->query($sql);
-$field_set = $field_sql->numRows();
-
-$in_old_group = FALSE;
-foreach($admin->get_groups_id() as $cur_gid)
-{
-    if (in_array($cur_gid, $old_admin_groups))
-    {
-	$in_old_group = TRUE;
-    }
-}
-if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
-{
-	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-}
-
-// Setup admin groups
-$admin_groups[] = 1;
-//if(!in_array(1, $admin->get_groups_id())) {
-//	$admin_groups[] = implode(",",$admin->get_groups_id());
-//}
-$admin_groups = preg_replace("/[^\d,]/", "", implode(',', $admin_groups));
-// Setup viewing groups
-$viewing_groups[] = 1;
-//if(!in_array(1, $admin->get_groups_id())) {
-//	$viewing_groups[] = implode(",",$admin->get_groups_id());
-//}
-$viewing_groups = preg_replace("/[^\d,]/", "", implode(',', $viewing_groups));
-
-// If needed, get new order
-if($parent != $old_parent)
-{
-	// Include ordering class
-	require(WB_PATH.'/framework/class.order.php');
-	$order = new order(TABLE_PREFIX.'pages', 'position', 'page_id', 'parent');
-	// Get new order
-	$position = $order->get_new($parent);
-	// Clean new order
-	$order->clean($parent);
-} else {
-	$position = $old_position;
-}
-
-// Work out level and root parent
-if ($parent!='0')
-{
-	$level = level_count($parent)+1;
-	$root_parent = root_parent($parent);
-}
-else {
-	$level = '0';
-	$root_parent = '0';
-}
-
-// Work-out what the link should be
-if($parent == '0')
-{
-	$link = '/'.page_filename($menu_title);
-	// rename menu titles: index && intro to prevent clashes with intro page feature and WB core file /pages/index.php
-	if($link == '/index' || $link == '/intro')
-    {
-		$link .= '_' .$page_id;
-		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).'_'.$page_id .PAGE_EXTENSION;
-	} else {
-		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).PAGE_EXTENSION;
-	}
-} else {
-	$parent_section = '';
-	$parent_titles = array_reverse(get_parent_titles($parent));
-	foreach($parent_titles AS $parent_title)
-    {
-		$parent_section .= page_filename($parent_title).'/';
-	}
-	if($parent_section == '/')
-    {
-      $parent_section = '';
-    }
-	$link = '/'.$parent_section.page_filename($menu_title);
-	$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($menu_title).PAGE_EXTENSION;
-}
-
-// Check if a page with same page filename exists
-// $database = new database();
-$sql = 'SELECT `page_id`,`page_title` FROM `'.TABLE_PREFIX.'pages` WHERE `link` = "'.$link.'" AND `page_id` != '.$page_id;
-$get_same_page = $database->query($sql);
-
-if($get_same_page->numRows() > 0)
-{
-	$admin->print_error($MESSAGE['PAGES']['PAGE_EXISTS']);
-}
-
-// Update page with new order
-$sql = 'UPDATE `'.TABLE_PREFIX.'pages` SET `parent`='.$parent.', `position`='.$position.' WHERE `page_id`='.$page_id.'';
-// $database = new database();
-$database->query($sql);
-
-// Get page trail
-$page_trail = get_page_trail($page_id);
-
-// Update page settings in the pages table
-$sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
-$sql .= '`parent` = '.$parent.', ';
-$sql .= '`page_title` = "'.$page_title.'", ';
-$sql .= '`menu_title` = "'.$menu_title.'", ';
-$sql .= '`menu` = '.$menu.', ';
-$sql .= '`level` = '.$level.', ';
-$sql .= '`page_trail` = "'.$page_trail.'", ';
-$sql .= '`root_parent` = '.$root_parent.', ';
-$sql .= '`link` = "'.$link.'", ';
-$sql .= '`template` = "'.$template.'", ';
-$sql .= '`target` = "'.$target.'", ';
-$sql .= '`description` = "'.$description.'", ';
-$sql .= '`keywords` = "'.$keywords.'", ';
-$sql .= '`position` = '.$position.', ';
-$sql .= '`visibility` = "'.$visibility.'", ';
-$sql .= '`searching` = '.$searching.', ';
-$sql .= '`language` = "'.$language.'", ';
-$sql .= '`admin_groups` = "'.$admin_groups.'", ';
-$sql .= '`viewing_groups` = "'.$viewing_groups.'"';
-$sql .= (defined('PAGE_LANGUAGES') && PAGE_LANGUAGES) && $field_set && (file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php')) ? ', `page_code` = '.$page_code.' ' : ' ';
-$sql .= 'WHERE `page_id` = '.$page_id;
-$database->query($sql);
-
-$ftan2 = $admin->getFTAN(2);
-$target_url = ADMIN_URL."/pages/settings.php?page_id=$page_id&amp;$ftan2";
-if($database->is_error())
-{
-	$admin->print_error($database->get_error(), $target_url );
-}
-// Clean old order if needed
-if($parent != $old_parent)
-{
-	$order->clean($old_parent);
-}
-
-/* BEGIN page "access file" code */
-
-// Create a new file in the /pages dir if title changed
-if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/'))
-{
-	$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
-} else {
-    $old_filename = WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION;
-	// First check if we need to create a new file
-	if(($old_link != $link) || (!file_exists($old_filename)))
-    {
-		// Delete old file
-		$old_filename = WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION;
-		if(file_exists($old_filename))
-        {
-			unlink($old_filename);
-		}
-		// Create access file
-		create_access_file($filename,$page_id,$level);
-		// Move a directory for this page
-		if(file_exists(WB_PATH.PAGES_DIRECTORY.$old_link.'/') AND is_dir(WB_PATH.PAGES_DIRECTORY.$old_link.'/'))
-        {
-			rename(WB_PATH.PAGES_DIRECTORY.$old_link.'/', WB_PATH.PAGES_DIRECTORY.$link.'/');
-		}
-		// Update any pages that had the old link with the new one
-		$old_link_len = strlen($old_link);
-        $sql = '';
-		$query_subs = $database->query("SELECT page_id,link,level FROM ".TABLE_PREFIX."pages WHERE link LIKE '%$old_link/%' ORDER BY LEVEL ASC");
-
-		if($query_subs->numRows() > 0)
-        {
-			while($sub = $query_subs->fetchRow())
-            {
-				// Double-check to see if it contains old link
-				if(substr($sub['link'], 0, $old_link_len) == $old_link)
-                {
-					// Get new link
-					$replace_this = $old_link;
-					$old_sub_link_len =strlen($sub['link']);
-					$new_sub_link = $link.'/'.substr($sub['link'],$old_link_len+1,$old_sub_link_len);
-					// Work out level
-					$new_sub_level = level_count($sub['page_id']);
-					// Update level and link
-					$database->query("UPDATE ".TABLE_PREFIX."pages SET link = '$new_sub_link', level = '$new_sub_level' WHERE page_id = '".$sub['page_id']."' LIMIT 1");
-					// Re-write the access file for this page
-					$old_subpage_file = WB_PATH.PAGES_DIRECTORY.$new_sub_link.PAGE_EXTENSION;
-					if(file_exists($old_subpage_file))
-                    {
-						unlink($old_subpage_file);
-					}
-					create_access_file(WB_PATH.PAGES_DIRECTORY.$new_sub_link.PAGE_EXTENSION, $sub['page_id'], $new_sub_level);
-				}
-			}
-		}
-	}
-}
-
-// Function to fix page trail of subs
-function fix_page_trail($parent,$root_parent)
-{
-	// Get objects and vars from outside this function
-	global $admin, $template, $database, $TEXT, $MESSAGE;
-	// Get page list from database
-	// $database = new database();
-	$query = "SELECT page_id FROM ".TABLE_PREFIX."pages WHERE parent = '$parent'";
-	$get_pages = $database->query($query);
-	// Insert values into main page list
-	if($get_pages->numRows() > 0)
-    {
-		while($page = $get_pages->fetchRow())
-        {
-			// Fix page trail
-
-			$database->query("UPDATE ".TABLE_PREFIX."pages SET ".($root_parent != 0 ?"root_parent = '$root_parent', ":"")." page_trail = '".get_page_trail($page['page_id'])."' WHERE page_id = '".$page['page_id']."'");
-			// Run this query on subs
-			fix_page_trail($page['page_id'],$root_parent);
-		}
-	}
-}
-
-// Fix sub-pages page trail
-fix_page_trail($page_id,$root_parent);
-
-/* END page "access file" code */
-
-$pagetree_url = ADMIN_URL.'/pages/index.php';
-$ftan2 = $admin->getFTAN(2);
-$target_url = ADMIN_URL."/pages/settings.php?page_id=$page_id&amp;$ftan2";
-// Check if there is a db error, otherwise say successful
-if($database->is_error())
-{
-	$admin->print_error($database->get_error(), $target_url );
-} else {
-	$admin->print_success($MESSAGE['PAGES']['SAVED_SETTINGS'], $target_url );
-}
-
-// Print admin footer
-$admin->print_footer();
-
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Get page id
+if(!isset($_POST['page_id']) OR !is_numeric($_POST['page_id']))
+{
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_POST['page_id'];
+}
+
+// Create new admin object and print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_settings');
+if (!$admin->checkFTAN())
+{
+	$admin->print_error($MESSAGE['PAGES_NOT_SAVED'],'index.php');
+	exit();
+}
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get values
+$page_title = htmlspecialchars($admin->get_post_escaped('page_title') );
+$menu_title = htmlspecialchars($admin->get_post_escaped('menu_title') );
+$page_code = $admin->get_post_escaped('page_code');
+$description = htmlspecialchars($admin->add_slashes($admin->get_post('description')) );
+$keywords = htmlspecialchars($admin->add_slashes($admin->get_post('keywords')) );
+$parent = $admin->get_post_escaped('parent');
+$visibility = $admin->get_post_escaped('visibility');
+$template = $admin->get_post_escaped('template');
+$target = $admin->get_post_escaped('target');
+$admin_groups = $admin->get_post_escaped('admin_groups');
+$viewing_groups = $admin->get_post_escaped('viewing_groups');
+$searching = $admin->get_post_escaped('searching');
+$language = $admin->get_post_escaped('language');
+$menu = $admin->get_post_escaped('menu');
+
+// Validate data
+if($page_title == '' || substr($page_title,0,1)=='.')
+{
+	$admin->print_error($MESSAGE['PAGES']['BLANK_PAGE_TITLE']);
+}
+if($menu_title == '' || substr($menu_title,0,1)=='.')
+{
+	$admin->print_error($MESSAGE['PAGES']['BLANK_MENU_TITLE']);
+}
+
+// Get existing perms
+// $database = new database();
+
+$sql = 'SELECT `parent`,`link`,`position`,`admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id`='.$page_id;
+$results = $database->query($sql);
+
+$results_array = $results->fetchRow();
+$old_parent = $results_array['parent'];
+$old_link = $results_array['link'];
+$old_position = $results_array['position'];
+$old_admin_groups = explode(',', str_replace('_', '', $results_array['admin_groups']));
+$old_admin_users = explode(',', str_replace('_', '', $results_array['admin_users']));
+
+// Work-out if we should check for existing page_code
+$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
+$field_sql = $database->query($sql);
+$field_set = $field_sql->numRows();
+
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid)
+{
+    if (in_array($cur_gid, $old_admin_groups))
+    {
+	$in_old_group = TRUE;
+    }
+}
+if((!$in_old_group) AND !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
+{
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Setup admin groups
+$admin_groups[] = 1;
+//if(!in_array(1, $admin->get_groups_id())) {
+//	$admin_groups[] = implode(",",$admin->get_groups_id());
+//}
+$admin_groups = implode(',', $admin_groups);
+// Setup viewing groups
+$viewing_groups[] = 1;
+//if(!in_array(1, $admin->get_groups_id())) {
+//	$viewing_groups[] = implode(",",$admin->get_groups_id());
+//}
+$viewing_groups = implode(',', $viewing_groups);
+
+// If needed, get new order
+if($parent != $old_parent)
+{
+	// Include ordering class
+	require(WB_PATH.'/framework/class.order.php');
+	$order = new order(TABLE_PREFIX.'pages', 'position', 'page_id', 'parent');
+	// Get new order
+	$position = $order->get_new($parent);
+	// Clean new order
+	$order->clean($parent);
+} else {
+	$position = $old_position;
+}
+
+// Work out level and root parent
+if ($parent!='0')
+{
+	$level = level_count($parent)+1;
+	$root_parent = root_parent($parent);
+}
+else {
+	$level = '0';
+	$root_parent = '0';
+}
+
+// Work-out what the link should be
+if($parent == '0')
+{
+	$link = '/'.page_filename($menu_title);
+	// rename menu titles: index && intro to prevent clashes with intro page feature and WB core file /pages/index.php
+	if($link == '/index' || $link == '/intro')
+    {
+		$link .= '_' .$page_id;
+		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).'_'.$page_id .PAGE_EXTENSION;
+	} else {
+		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($menu_title).PAGE_EXTENSION;
+	}
+} else {
+	$parent_section = '';
+	$parent_titles = array_reverse(get_parent_titles($parent));
+	foreach($parent_titles AS $parent_title)
+    {
+		$parent_section .= page_filename($parent_title).'/';
+	}
+	if($parent_section == '/')
+    {
+      $parent_section = '';
+    }
+	$link = '/'.$parent_section.page_filename($menu_title);
+	$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($menu_title).PAGE_EXTENSION;
+}
+
+// Check if a page with same page filename exists
+// $database = new database();
+$sql = 'SELECT `page_id`,`page_title` FROM `'.TABLE_PREFIX.'pages` WHERE `link` = "'.$link.'" AND `page_id` != '.$page_id;
+$get_same_page = $database->query($sql);
+
+if($get_same_page->numRows() > 0)
+{
+	$admin->print_error($MESSAGE['PAGES']['PAGE_EXISTS']);
+}
+
+// Update page with new order
+$sql = 'UPDATE `'.TABLE_PREFIX.'pages` SET `parent`='.$parent.', `position`='.$position.' WHERE `page_id`='.$page_id.'';
+// $database = new database();
+$database->query($sql);
+
+// Get page trail
+$page_trail = get_page_trail($page_id);
+
+// Update page settings in the pages table
+$sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
+$sql .= '`parent` = '.$parent.', ';
+$sql .= '`page_title` = "'.$page_title.'", ';
+$sql .= '`menu_title` = "'.$menu_title.'", ';
+$sql .= '`menu` = '.$menu.', ';
+$sql .= '`level` = '.$level.', ';
+$sql .= '`page_trail` = "'.$page_trail.'", ';
+$sql .= '`root_parent` = '.$root_parent.', ';
+$sql .= '`link` = "'.$link.'", ';
+$sql .= '`template` = "'.$template.'", ';
+$sql .= '`target` = "'.$target.'", ';
+$sql .= '`description` = "'.$description.'", ';
+$sql .= '`keywords` = "'.$keywords.'", ';
+$sql .= '`position` = '.$position.', ';
+$sql .= '`visibility` = "'.$visibility.'", ';
+$sql .= '`searching` = '.$searching.', ';
+$sql .= '`language` = "'.$language.'", ';
+$sql .= '`admin_groups` = "'.$admin_groups.'", ';
+$sql .= '`viewing_groups` = "'.$viewing_groups.'"';
+$sql .= (defined('PAGE_LANGUAGES') && PAGE_LANGUAGES) && $field_set && (file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php')) ? ', `page_code` = '.(int)$page_code.' ' : ' ';
+$sql .= 'WHERE `page_id` = '.$page_id;
+$database->query($sql);
+
+$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), $target_url );
+}
+// Clean old order if needed
+if($parent != $old_parent)
+{
+	$order->clean($old_parent);
+}
+
+/* BEGIN page "access file" code */
+
+// Create a new file in the /pages dir if title changed
+if(!is_writable(WB_PATH.PAGES_DIRECTORY.'/'))
+{
+	$admin->print_error($MESSAGE['PAGES']['CANNOT_CREATE_ACCESS_FILE']);
+} else {
+    $old_filename = WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION;
+	// First check if we need to create a new file
+	if(($old_link != $link) || (!file_exists($old_filename)))
+    {
+		// Delete old file
+		$old_filename = WB_PATH.PAGES_DIRECTORY.$old_link.PAGE_EXTENSION;
+		if(file_exists($old_filename))
+        {
+			unlink($old_filename);
+		}
+		// Create access file
+		create_access_file($filename,$page_id,$level);
+		// Move a directory for this page
+		if(file_exists(WB_PATH.PAGES_DIRECTORY.$old_link.'/') AND is_dir(WB_PATH.PAGES_DIRECTORY.$old_link.'/'))
+        {
+			rename(WB_PATH.PAGES_DIRECTORY.$old_link.'/', WB_PATH.PAGES_DIRECTORY.$link.'/');
+		}
+		// Update any pages that had the old link with the new one
+		$old_link_len = strlen($old_link);
+        $sql = '';
+		$query_subs = $database->query("SELECT page_id,link,level FROM ".TABLE_PREFIX."pages WHERE link LIKE '%$old_link/%' ORDER BY LEVEL ASC");
+
+		if($query_subs->numRows() > 0)
+        {
+			while($sub = $query_subs->fetchRow())
+            {
+				// Double-check to see if it contains old link
+				if(substr($sub['link'], 0, $old_link_len) == $old_link)
+                {
+					// Get new link
+					$replace_this = $old_link;
+					$old_sub_link_len =strlen($sub['link']);
+					$new_sub_link = $link.'/'.substr($sub['link'],$old_link_len+1,$old_sub_link_len);
+					// Work out level
+					$new_sub_level = level_count($sub['page_id']);
+					// Update level and link
+					$database->query("UPDATE ".TABLE_PREFIX."pages SET link = '$new_sub_link', level = '$new_sub_level' WHERE page_id = '".$sub['page_id']."' LIMIT 1");
+					// Re-write the access file for this page
+					$old_subpage_file = WB_PATH.PAGES_DIRECTORY.$new_sub_link.PAGE_EXTENSION;
+					if(file_exists($old_subpage_file))
+                    {
+						unlink($old_subpage_file);
+					}
+					create_access_file(WB_PATH.PAGES_DIRECTORY.$new_sub_link.PAGE_EXTENSION, $sub['page_id'], $new_sub_level);
+				}
+			}
+		}
+	}
+}
+
+// Function to fix page trail of subs
+function fix_page_trail($parent,$root_parent)
+{
+	// Get objects and vars from outside this function
+	global $admin, $template, $database, $TEXT, $MESSAGE;
+	// Get page list from database
+	// $database = new database();
+	$query = "SELECT page_id FROM ".TABLE_PREFIX."pages WHERE parent = '$parent'";
+	$get_pages = $database->query($query);
+	// Insert values into main page list
+	if($get_pages->numRows() > 0)
+    {
+		while($page = $get_pages->fetchRow())
+        {
+			// Fix page trail
+
+			$database->query("UPDATE ".TABLE_PREFIX."pages SET ".($root_parent != 0 ?"root_parent = '$root_parent', ":"")." page_trail = '".get_page_trail($page['page_id'])."' WHERE page_id = '".$page['page_id']."'");
+			// Run this query on subs
+			fix_page_trail($page['page_id'],$root_parent);
+		}
+	}
+}
+
+// Fix sub-pages page trail
+fix_page_trail($page_id,$root_parent);
+
+/* END page "access file" code */
+
+$pagetree_url = ADMIN_URL.'/pages/index.php';
+$target_url = ADMIN_URL.'/pages/settings.php?page_id='.$page_id;
+// Check if there is a db error, otherwise say successful
+if($database->is_error())
+{
+	$admin->print_error($database->get_error(), $target_url );
+} else {
+	$admin->print_success($MESSAGE['PAGES']['SAVED_SETTINGS'], $target_url );
+}
+
+// Print admin footer
+$admin->print_footer();
+
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/pages/restore.php
===================================================================
--- branches/2.8.x/wb/admin/pages/restore.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/restore.php	(revision 1358)
@@ -36,12 +36,6 @@
 require_once(WB_PATH.'/framework/class.admin.php');
 $admin = new admin('Pages', 'pages_delete');
 
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
 // Include the WB functions file
 require_once(WB_PATH.'/framework/functions.php');
 
Index: branches/2.8.x/wb/admin/pages/modify.php
===================================================================
--- branches/2.8.x/wb/admin/pages/modify.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/modify.php	(revision 1358)
@@ -1,192 +1,187 @@
-<?php
-/**
- *
- * @category        admin
- * @package         pages
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
-*/
-
-// Get page id
-if(!isset($_GET['page_id']) || !is_numeric($_GET['page_id'])) {
-	header("Location: index.php");
-	exit(0);
-} else {
-	$page_id = $_GET['page_id'];
-}
-
-if (!$admin->checkFTAN('get'))
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
-// Create new admin object
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-
-$admin = new admin('Pages', 'pages_modify');
-
-// Get perms
-if(!$admin->get_page_permission($page_id,'admin')) {
-	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-}
-
-$sectionId = isset($_GET['wysiwyg']) ? htmlspecialchars($admin->get_get('wysiwyg')) : NULL;
-
-// Get page details
-$results_array=$admin->get_page_details($page_id);
-
-// Get display name of person who last modified the page
-$user=$admin->get_user_details($results_array['modified_by']);
-
-// Convert the unix ts for modified_when to human a readable form
-
-$modified_ts = ($results_array['modified_when'] != 0)
-        ? $modified_ts = gmdate(TIME_FORMAT.', '.DATE_FORMAT, $results_array['modified_when']+TIMEZONE)
-        : 'Unknown';
-
-// Include page info script
-$template = new Template(THEME_PATH.'/templates');
-$template->set_file('page', 'pages_modify.htt');
-$template->set_block('page', 'main_block', 'main');
-$template->set_var('FTAN2', $admin->getFTAN(2));
-
-$template->set_var(array(
-			'PAGE_ID' => $results_array['page_id'],
-			'PAGE_TITLE' => ($results_array['page_title']),
-			'MENU_TITLE' => ($results_array['menu_title']),
-			'ADMIN_URL' => ADMIN_URL,
-			'WB_URL' => WB_URL,
-			'WB_PATH' => WB_PATH,
-			'THEME_URL' => THEME_URL
-			));
-
-$template->set_var(array(
-			'MODIFIED_BY' => $user['display_name'],
-			'MODIFIED_BY_USERNAME' => $user['username'],
-			'MODIFIED_WHEN' => $modified_ts,
-			'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
-			));
-
-$template->set_block('main_block', 'show_modify_block', 'show_modify');
-if($modified_ts == 'Unknown')
-{
-    $template->set_block('show_modify', '');
-	$template->set_var('CLASS_DISPLAY_MODIFIED', 'hide');
-
-} else {
-	$template->set_var('CLASS_DISPLAY_MODIFIED', '');
-    $template->parse('show_modify', 'show_modify_block', true);
-}
-
-// Work-out if we should show the "manage sections" link
-$sql  = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` WHERE `page_id` = '.(int)$page_id.' ';
-$sql .= 'AND `module` = "menu_link"';
-$query_sections = $database->query($sql);
-
-$template->set_block('main_block', 'show_section_block', 'show_section');
-if($query_sections->numRows() > 0)
-{
-	$template->set_block('show_section', '');
-	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
-
-} elseif(MANAGE_SECTIONS == 'enabled')
-{
-
-	$template->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
-    $template->parse('show_section', 'show_section_block', true);
-
-} else {
-	$template->set_block('show_section', '');
-	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
-
-}
-
-// Insert language TEXT
-$template->set_var(array(
-				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
-				'TEXT_CHANGE_SETTINGS' => $TEXT['CHANGE_SETTINGS'],
-				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE']
-				));
-
-// Parse and print header template
-$template->parse('main', 'main_block', false);
-$template->pparse('output', 'page');
-
-// get template used for the displayed page (for displaying block details)
-if (SECTION_BLOCKS)
-{
-	$sql = "SELECT `template` from `" . TABLE_PREFIX . "pages` WHERE `page_id` = '$page_id' ";
-	$result = $database->query($sql);
-	if ($result && $result->numRows() == 1) {
-		$row = $result->fetchRow();
-		$page_template = ($row['template'] == '') ? DEFAULT_TEMPLATE : $row['template'];
-		// include template info file if exists
-		if (file_exists(WB_PATH . '/templates/' . $page_template . '/info.php'))
-		{
-			include_once(WB_PATH . '/templates/' . $page_template . '/info.php');
-		}
-	}
-}
-
-// Get sections for this page
-$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
-// workout for edit only one section for faster pageloading
-// Constant later set in wb_settings, in meantime defined in framework/initialize.php
-$sql = 'SELECT `section_id`, `module`, `block` FROM `'.TABLE_PREFIX.'sections` ';
-
-$sql .= (defined('EDIT_ONE_SECTION') && EDIT_ONE_SECTION && is_numeric($sectionId))
-		? 'WHERE `section_id` = '.$sectionId
-		: 'WHERE `page_id` = '.intval($page_id);
-$sql .= ' ORDER BY position ASC';
-$query_sections = $database->query($sql);
-if($query_sections->numRows() > 0)
-{
-	while($section = $query_sections->fetchRow())
-    {
-		$section_id = $section['section_id'];
-		$module = $section['module'];
-		//Have permission?
-		if(!is_numeric(array_search($module, $module_permissions)))
-        {
-			// Include the modules editing script if it exists
-			if(file_exists(WB_PATH.'/modules/'.$module.'/modify.php'))
-            {
-				print /* '<a name="'.$section_id.'"></a>'. */"\n";
-				// output block name if blocks are enabled
-				if (SECTION_BLOCKS) {
-					if (isset($block[$section['block']]) && trim(strip_tags(($block[$section['block']]))) != '')
-                    {
-						$block_name = htmlentities(strip_tags($block[$section['block']]));
-					} else {
-						if ($section['block'] == 1)
-                        {
-							$block_name = $TEXT['MAIN'];
-						} else {
-							$block_name = '#' . (int) $section['block'];
-						}
-					}
-					print '<div id="wb'.$section['section_id'].'"><b>' . $TEXT['BLOCK'] . ': </b>' . $block_name;
-					print '<b>  Modul: </b>' . $section['module']." ";
-					print '<b>  ID: </b>' . $section_id."</div>\n";
-				}
-				require(WB_PATH.'/modules/'.$module.'/modify.php');
-			}
-		}
-	}
-}
-
-// Print admin footer
-$admin->print_footer();
-
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+*/
+
+// Get page id
+if(!isset($_GET['page_id']) || !is_numeric($_GET['page_id'])) {
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+// Create new admin object
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+
+$admin = new admin('Pages', 'pages_modify');
+
+// Get perms
+if(!$admin->get_page_permission($page_id,'admin')) {
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+$sectionId = isset($_GET['wysiwyg']) ? htmlspecialchars($admin->get_get('wysiwyg')) : NULL;
+
+// Get page details
+$results_array=$admin->get_page_details($page_id);
+
+// Get display name of person who last modified the page
+$user=$admin->get_user_details($results_array['modified_by']);
+
+// Convert the unix ts for modified_when to human a readable form
+
+$modified_ts = ($results_array['modified_when'] != 0)
+        ? $modified_ts = gmdate(TIME_FORMAT.', '.DATE_FORMAT, $results_array['modified_when']+TIMEZONE)
+        : 'Unknown';
+
+// Include page info script
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages_modify.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_var('FTAN', $admin->getFTAN());
+
+$template->set_var(array(
+			'PAGE_ID' => $results_array['page_id'],
+			'PAGE_TITLE' => ($results_array['page_title']),
+			'MENU_TITLE' => ($results_array['menu_title']),
+            'FTAN' => 'FTAN',
+			'ADMIN_URL' => ADMIN_URL,
+			'WB_URL' => WB_URL,
+			'WB_PATH' => WB_PATH,
+			'THEME_URL' => THEME_URL
+			));
+
+$template->set_var(array(
+			'MODIFIED_BY' => $user['display_name'],
+			'MODIFIED_BY_USERNAME' => $user['username'],
+			'MODIFIED_WHEN' => $modified_ts,
+			'LAST_MODIFIED' => $MESSAGE['PAGES']['LAST_MODIFIED'],
+			));
+
+$template->set_block('main_block', 'show_modify_block', 'show_modify');
+if($modified_ts == 'Unknown')
+{
+    $template->set_block('show_modify', '');
+	$template->set_var('CLASS_DISPLAY_MODIFIED', 'hide');
+
+} else {
+	$template->set_var('CLASS_DISPLAY_MODIFIED', '');
+    $template->parse('show_modify', 'show_modify_block', true);
+}
+
+// Work-out if we should show the "manage sections" link
+$sql  = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` WHERE `page_id` = '.(int)$page_id.' ';
+$sql .= 'AND `module` = "menu_link"';
+$query_sections = $database->query($sql);
+
+$template->set_block('main_block', 'show_section_block', 'show_section');
+if($query_sections->numRows() > 0)
+{
+	$template->set_block('show_section', '');
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+
+} elseif(MANAGE_SECTIONS == 'enabled')
+{
+
+	$template->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
+    $template->parse('show_section', 'show_section_block', true);
+
+} else {
+	$template->set_block('show_section', '');
+	$template->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+
+}
+
+// Insert language TEXT
+$template->set_var(array(
+				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
+				'TEXT_CHANGE_SETTINGS' => $TEXT['CHANGE_SETTINGS'],
+				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE']
+				));
+
+// Parse and print header template
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// get template used for the displayed page (for displaying block details)
+if (SECTION_BLOCKS)
+{
+	$sql = "SELECT `template` from `" . TABLE_PREFIX . "pages` WHERE `page_id` = '$page_id' ";
+	$result = $database->query($sql);
+	if ($result && $result->numRows() == 1) {
+		$row = $result->fetchRow();
+		$page_template = ($row['template'] == '') ? DEFAULT_TEMPLATE : $row['template'];
+		// include template info file if exists
+		if (file_exists(WB_PATH . '/templates/' . $page_template . '/info.php'))
+		{
+			include_once(WB_PATH . '/templates/' . $page_template . '/info.php');
+		}
+	}
+}
+
+// Get sections for this page
+$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
+// workout for edit only one section for faster pageloading
+// Constant later set in wb_settings, in meantime defined in framework/initialize.php
+$sql = 'SELECT `section_id`, `module`, `block` FROM `'.TABLE_PREFIX.'sections` ';
+
+$sql .= (defined('EDIT_ONE_SECTION') && EDIT_ONE_SECTION && is_numeric($sectionId))
+		? 'WHERE `section_id` = '.$sectionId
+		: 'WHERE `page_id` = '.intval($page_id);
+$sql .= ' ORDER BY position ASC';
+$query_sections = $database->query($sql);
+if($query_sections->numRows() > 0)
+{
+	while($section = $query_sections->fetchRow())
+    {
+		$section_id = $section['section_id'];
+		$module = $section['module'];
+		//Have permission?
+		if(!is_numeric(array_search($module, $module_permissions)))
+        {
+			// Include the modules editing script if it exists
+			if(file_exists(WB_PATH.'/modules/'.$module.'/modify.php'))
+            {
+				print /* '<a name="'.$section_id.'"></a>'. */"\n";
+				// output block name if blocks are enabled
+				if (SECTION_BLOCKS) {
+					if (isset($block[$section['block']]) && trim(strip_tags(($block[$section['block']]))) != '')
+                    {
+						$block_name = htmlentities(strip_tags($block[$section['block']]));
+					} else {
+						if ($section['block'] == 1)
+                        {
+							$block_name = $TEXT['MAIN'];
+						} else {
+							$block_name = '#' . (int) $section['block'];
+						}
+					}
+					print '<div id="wb_'.$section['section_id'].'"><b>' . $TEXT['BLOCK'] . ': </b>' . $block_name;
+					print '<b>  Modul: </b>' . $section['module']." ";
+					print '<b>  ID: </b>' . $section_id."</div>\n";
+				}
+				require(WB_PATH.'/modules/'.$module.'/modify.php');
+			}
+		}
+	}
+}
+
+// Print admin footer
+$admin->print_footer();
+
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/pages/sections.php
===================================================================
--- branches/2.8.x/wb/admin/pages/sections.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/sections.php	(revision 1358)
@@ -1,477 +1,483 @@
-<?php
-/**
- *
- * @category        admin
- * @package         pages
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Include config file
-require('../../config.php');
-
-// Make sure people are allowed to access this page
-if(MANAGE_SECTIONS != 'enabled')
-{
-	header('Location: '.ADMIN_URL.'/pages/index.php');
-	exit(0);
-}
-
-// Get page id
-if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id']))
-{
-	header("Location: index.php");
-	exit(0);
-} else {
-	$page_id = $_GET['page_id'];
-}
-
-$debug = false; // to show position and section_id
-If(!defined('DEBUG')) { define('DEBUG',$debug);}
-// Create new admin object
-require_once(WB_PATH.'/framework/class.admin.php');
-$admin = new admin('Pages', 'pages_modify');
-
-if (!$admin->checkFTAN('get') and !$admin->checkFTAN())
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
-// Check if we are supposed to add or delete a section
-if(isset($_GET['section_id']) AND is_numeric($_GET['section_id']))
-{
-	// Get more information about this section
-	$section_id = $_GET['section_id'];
-    $sql  = 'SELECT `module` FROM `'.TABLE_PREFIX.'sections` ';
-    $sql .= 'WHERE `section_id` ='.$section_id;
-    $query_section = $database->query($sql);
-
-	if($query_section->numRows() == 0)
-    {
-		$admin->print_error('Section not found');
-	}
-	$section = $query_section->fetchRow();
-	// Include the modules delete file if it exists
-	if(file_exists(WB_PATH.'/modules/'.$section['module'].'/delete.php'))
-    {
-		require(WB_PATH.'/modules/'.$section['module'].'/delete.php');
-	}
-    $sql  = 'DELETE FROM `'.TABLE_PREFIX.'sections` ';
-    $sql .= 'WHERE `section_id` ='.$section_id.' LIMIT 1';
-    $query_section = $database->query($sql);
-
-	if($database->is_error())
-    {
-		$admin->print_error($database->get_error());
-	} else {
-		require(WB_PATH.'/framework/class.order.php');
-		$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
-		$order->clean($page_id);
-		$ftan2 = $admin->getFTAN(2);
-		$admin->print_success($TEXT['SUCCESS'], ADMIN_URL."/pages/sections.php?page_id=$page_id&amp;$ftan2");
-		$admin->print_footer();
-		exit();
-	}
-} elseif(isset($_POST['module']) && $_POST['module'] != '')
-{
-	// Get section info
-	$module = preg_replace("/\W/", "", $admin->add_slashes($_POST['module']));  // fix secunia 2010-91-4
-	// Include the ordering class
-	require(WB_PATH.'/framework/class.order.php');
-	// Get new order
-	$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
-	$position = $order->get_new($page_id);	
-	// Insert module into DB
-    $sql  = 'INSERT INTO `'.TABLE_PREFIX.'sections` SET ';
-    $sql .= '`page_id` = '.$page_id.', ';
-    $sql .= '`module` = "'.$module.'", ';
-    $sql .= '`position` = '.$position.', ';
-    $sql .= '`block`=1';
-    $database->query($sql);
-	// Get the section id
-	$section_id = $database->get_one("SELECT LAST_INSERT_ID()");	
-	// Include the selected modules add file if it exists
-	if(file_exists(WB_PATH.'/modules/'.$module.'/add.php'))
-    {
-		require(WB_PATH.'/modules/'.$module.'/add.php');
-	}
-}
-
-// Get perms
-// $database = new database();
-$sql  = 'SELECT `admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` ';
-$sql .= 'WHERE `page_id` = '.$page_id;
-$results = $database->query($sql);
-
-$results_array = $results->fetchRow();
-$old_admin_groups = explode(',', $results_array['admin_groups']);
-$old_admin_users = explode(',', $results_array['admin_users']);
-$in_old_group = FALSE;
-foreach($admin->get_groups_id() as $cur_gid)
-{
-	if (in_array($cur_gid, $old_admin_groups))
-    {
-		$in_old_group = TRUE;
-	}
-}
-if((!$in_old_group) && !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
-{
-	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-}
-
-// Get page details
-// $database = new database();
-$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'pages` ';
-$sql .= 'WHERE `page_id` = '.$page_id;
-$results = $database->query($sql);
-
-if($database->is_error())
-{
-	// $admin->print_header();
-	$admin->print_error($database->get_error());
-}
-if($results->numRows() == 0)
-{
-	// $admin->print_header();
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-}
-$results_array = $results->fetchRow();
-
-// Set module permissions
-$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
-
-// Unset block var
-unset($block);
-// Include template info file (if it exists)
-if($results_array['template'] != '')
-{
-	$template_location = WB_PATH.'/templates/'.$results_array['template'].'/info.php';
-} else {
-	$template_location = WB_PATH.'/templates/'.DEFAULT_TEMPLATE.'/info.php';
-}
-if(file_exists($template_location))
-{
-	require($template_location);
-}
-// Check if $menu is set
-if(!isset($block[1]) OR $block[1] == '')
-{
-	// Make our own menu list
-	$block[1] = $TEXT['MAIN'];
-}
-
-/*-- load css files with jquery --*/
-// include jscalendar-setup
-$jscal_use_time = true; // whether to use a clock, too
-require_once(WB_PATH."/include/jscalendar/wb-setup.php");
-
-// Setup template object
-$template = new Template(THEME_PATH.'/templates');
-$template->set_file('page', 'pages_sections.htt');
-$template->set_block('page', 'main_block', 'main');
-$template->set_var('FTAN', $admin->getFTAN());
-$template->set_block('main_block', 'module_block', 'module_list');
-$template->set_block('main_block', 'section_block', 'section_list');
-$template->set_block('section_block', 'block_block', 'block_list');
-$template->set_block('main_block', 'calendar_block', 'calendar_list');
-
-// set first defaults and messages
-$template->set_var(array(
-				'PAGE_ID' => $results_array['page_id'],
-				'PAGE_TITLE' => ($results_array['page_title']),
-				'MENU_TITLE' => ($results_array['menu_title']),
-				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
-				'HEADING_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
-				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
-				'TEXT_CHANGE_SETTINGS' => $TEXT['CHANGE_SETTINGS'],
-				'TEXT_ADD_SECTION' => $TEXT['ADD_SECTION'],
-				'TEXT_ID' => 'ID',
-				'TEXT_TYPE' => $TEXT['TYPE'],
-				'TEXT_BLOCK' => $TEXT['BLOCK'],
-				'TEXT_PUBL_START_DATE' => $TEXT{'PUBL_START_DATE'},
-				'TEXT_PUBL_END_DATE' => $TEXT['PUBL_END_DATE'],
-				'TEXT_ACTIONS' => $TEXT['ACTIONS'],
-				'ADMIN_URL' => ADMIN_URL,
-				'WB_URL' => WB_URL,
-				'WB_PATH' => WB_PATH,
-				'THEME_URL' => THEME_URL
-				) 
-			);
-
-// Insert variables
-$ftan2 = $admin->getFTAN(2);
-$template->set_var(array(
-				'VAR_PAGE_ID' => $results_array['page_id'],
-				'VAR_PAGE_TITLE' => $results_array['page_title'],
-				'SETTINGS_LINK' => ADMIN_URL.'/pages/settings.php?page_id='.$results_array['page_id']."&amp;$ftan2",
-				'MODIFY_LINK' => ADMIN_URL.'/pages/modify.php?page_id='.$results_array['page_id']."&amp;$ftan2"
-				) 
-			);
-
-$sql  = 'SELECT `section_id`,`module`,`position`,`block`,`publ_start`,`publ_end` ';
-$sql .= 'FROM `'.TABLE_PREFIX.'sections` ';
-$sql .= 'WHERE `page_id` = '.$page_id.' ';
-$sql .= 'ORDER BY `position` ASC';
-$query_sections = $database->query($sql);
-
-if($query_sections->numRows() > 0)
-{
-	$num_sections = $query_sections->numRows();
-	while($section = $query_sections->fetchRow())
-    {
-		if(!is_numeric(array_search($section['module'], $module_permissions)))
-        {
-			// Get the modules real name
-            $sql = 'SELECT `name` FROM `'.TABLE_PREFIX.'addons` ';
-            $sql .= 'WHERE `directory` = "'.$section['module'].'"';
-            $module_name = $database->get_one($sql);
-            // if(DEBUG && $database->is_error()) { $admin->print_error($database->get_error()); }
-            $module_tmp = ( trim($module_name) == '' ) ? $section['module'] : $module_name;
-
-
-			if(SECTION_BLOCKS)
-            {
-                
-				if(defined('EDIT_ONE_SECTION') && EDIT_ONE_SECTION)
-                {
-				    $edit_page ='<a name="'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$page_id."&amp;$ftan2&amp;wysiwyg=".$section['section_id'] .'">'.$module_tmp.'</a>';
-                } else {
-				    $edit_page ='<a name="'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'#wb'.$section['section_id'].."&amp;$ftan2"'">'.$module_tmp.'</a>';
-                }
-                $edit_page = ( trim($module_name) == '' ) ? '<span class="module_disabled">'.$section['module'].'</span>' : $edit_page;
-				$input_attribute = 'input_normal';
-				$template->set_var(array(
-						'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:visible;"',
-						'NAME_SIZE' => 180,
-						'INPUT_ATTRIBUTE' => $input_attribute,
-						'VAR_SECTION_ID' => $section['section_id'],
-						'VAR_POSITION' => $section['position'],
-						'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page,
-						'SELECT' => '',
-						'SET_NONE_DISPLAY_OPTION' => ''
-						)
-					);
-				// Add block options to the section_list
-				$template->clear_var('block_list');
-				foreach($block AS $number => $name)
-                {
-					$template->set_var('NAME', htmlentities(strip_tags($name)));
-					$template->set_var('VALUE', $number);
-					$template->set_var('SIZE', 1);
-					if($section['block'] == $number)
-                    {
-						$template->set_var('SELECTED', ' selected="selected"');
-					} else {
-						$template->set_var('SELECTED', '');
-					}
-					$template->parse('block_list', 'block_block', true);
-				}
-			} else {
-				$edit_page ='<a name="'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$page_id.'#'.$section['section_id']."&amp;$ftan2".'">'.$module_tmp.'</a>';
-                $edit_page = ( trim($module_name) == '' ) ? '<span class="module_disabled">'.$section['module'].'</span>' : $edit_page;
-				$input_attribute = 'input_small';
-				$template->set_var(array(
-						'STYLE_DISPLAY_SECTION_BLOCK' => ' style="display:none;"',
-						'NAME_SIZE' => 270,
-						'INPUT_ATTRIBUTE' => $input_attribute,
-						'VAR_SECTION_ID' => $section['section_id'],
-						'VAR_POSITION' => $section['position'],
-						'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page,
-						'NAME' => htmlentities(strip_tags($block[1])),
-						'VALUE' => 1,
-						'SET_NONE_DISPLAY_OPTION' => ''
-						)
-					);
-			}
-			// Insert icon and images
-			$template->set_var(array(
-						'CLOCK_16_PNG' => 'clock_16.png',
-						'CLOCK_DEL_16_PNG' => 'clock_del_16.png',
-						'DELETE_16_PNG' => 'delete_16.png'
-						) 
-					);
-			// set calendar start values
-			if($section['publ_start']==0)
-            {
-				$template->set_var('VALUE_PUBL_START', '');
-			} else {
-				$template->set_var('VALUE_PUBL_START', date($jscal_format, $section['publ_start']));
-			}
-			// set calendar start values
-			if($section['publ_end']==0)
-            {
-				$template->set_var('VALUE_PUBL_END', '');
-			} else {
-				$template->set_var('VALUE_PUBL_END', date($jscal_format, $section['publ_end']));
-			}
-			// Insert icons up and down
-			if($section['position'] != 1 )
-            {
-				$template->set_var(
-							'VAR_MOVE_UP_URL',
-							'<a href="'.ADMIN_URL.'/pages/move_up.php?page_id='.$page_id.'&amp;section_id='.$section['section_id']."&amp;$ftan2".'">
-							<img src="'.THEME_URL.'/images/up_16.png" alt="{TEXT_MOVE_UP}" />
-							</a>' );
-			} else {
-				$template->set_var(array(
-							'VAR_MOVE_UP_URL' => ''
-							) 
-						);
-			}
-			if($section['position'] != $num_sections ) {
-				$template->set_var(
-							'VAR_MOVE_DOWN_URL',
-							'<a href="'.ADMIN_URL.'/pages/move_down.php?page_id='.$page_id.'&amp;section_id='.$section['section_id']."&amp;$ftan2".'">
-							<img src="'.THEME_URL.'/images/down_16.png" alt="{TEXT_MOVE_DOWN}" />
-							</a>' );
-			} else {
-				$template->set_var(array(
-							'VAR_MOVE_DOWN_URL' => ''
-							) 
-						);
-			}
-		} else {
-		  continue;
-		}
-
-			$template->set_var(array(
-							'DISPLAY_DEBUG' => ' style="visibility="visible;"',
-							'TEXT_SID' => 'SID',
-							'DEBUG_COLSPAN_SIZE' => 9
-							) 
-						);
-		if($debug)
-        {
-			$template->set_var(array(
-							'DISPLAY_DEBUG' => ' style="visibility="visible;"',
-							'TEXT_PID' => 'PID',
-							'TEXT_SID' => 'SID',
-							'POSITION' => $section['position']
-							) 
-						);
-		} else {
-			$template->set_var(array(
-							'DISPLAY_DEBUG' => ' style="display:none;"',
-							'TEXT_PID' => '',
-							'POSITION' => ''
-							) 
-						);
-		}
-		$template->parse('section_list', 'section_block', true);
-	}
-}
-
-// now add the calendars -- remember to to set the range to [1970, 2037] if the date is used as timestamp!
-// the loop is simply a copy from above.
-$sql  = 'SELECT `section_id`,`module` FROM `'.TABLE_PREFIX.'sections` ';
-$sql .= 'WHERE page_id = '.$page_id.' ';
-$sql .= 'ORDER BY `position` ASC';
-$query_sections = $database->query($sql);
-
-if($query_sections->numRows() > 0)
-{
-	$num_sections = $query_sections->numRows();
-	while($section = $query_sections->fetchRow())
-    {
-		// Get the modules real name
-        $sql  = 'SELECT `name` FROM `'.TABLE_PREFIX.'addons` ';
-        $sql .= 'WHERE `directory` = "'.$section['module'].'"';
-        $module_name = $database->get_one($sql);
-
-		if(!is_numeric(array_search($section['module'], $module_permissions)))
-        {
-			$template->set_var(array(
-						'jscal_ifformat' => $jscal_ifformat,
-						'jscal_firstday' => $jscal_firstday,
-						'jscal_today' => $jscal_today,
-						'start_date' => 'start_date'.$section['section_id'],
-						'end_date' => 'end_date'.$section['section_id'],
-						'trigger_start' => 'trigger_start'.$section['section_id'],
-						'trigger_end' => 'trigger_stop'.$section['section_id']
-						) 
-					);
-			if(isset($jscal_use_time) && $jscal_use_time==TRUE) {
-				$template->set_var(array(
-						'showsTime' => "true",
-						'timeFormat' => "24"
-						) 
-					);
-			}  else {
-				$template->set_var(array(
-						'showsTime' => "false",
-						'timeFormat' => "24"
-						) 
-					);
-			}
-		}
-		$template->parse('calendar_list', 'calendar_block', true);
-	}
-}
-
-// Work-out if we should show the "Add Section" form
-$sql  = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` ';
-$sql .= 'WHERE `page_id` = '.$page_id.' AND `module` = "menu_link"';
-$query_sections = $database->query($sql);
-if($query_sections->numRows() == 0)
-{
-	// Modules list
-    $sql  = 'SELECT `name`,`directory`,`type` FROM `'.TABLE_PREFIX.'addons` ';
-    $sql .= 'WHERE `type` = "module" AND `function` = "page" AND `directory` != "menu_link" ';
-    $sql .= 'ORDER BY `name`';
-    $result = $database->query($sql);
-// if(DEBUG && $database->is_error()) { $admin->print_error($database->get_error()); }
-
-	if($result->numRows() > 0)
-    {
-		while ($module = $result->fetchRow())
-        {
-			// Check if user is allowed to use this module   echo  $module['directory'],'<br />';
-			if(!is_numeric(array_search($module['directory'], $module_permissions)))
-            {
-				$template->set_var('VALUE', $module['directory']);
-				$template->set_var('NAME', $module['name']);
-				if($module['directory'] == 'wysiwyg')
-                {
-					$template->set_var('SELECTED', ' selected="selected"');
-				} else {
-					$template->set_var('SELECTED', '');
-				}
-				$template->parse('module_list', 'module_block', true);
-			} else {
-			  continue;
-			}
-		}
-	}
-}
-// Insert language text and messages
-$template->set_var(array(
-					'TEXT_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
-					'TEXT_ARE_YOU_SURE' => $TEXT['ARE_YOU_SURE'],
-					'TEXT_TYPE' => $TEXT['TYPE'],
-					'TEXT_ADD' => $TEXT['ADD'],
-					'TEXT_SAVE' =>  $TEXT['SAVE'],
-					'TEXTLINK_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
-					'TEXT_CALENDAR' => $TEXT['CALENDAR'],
-					'TEXT_DELETE_DATE' => $TEXT['DELETE_DATE'],
-					'TEXT_ADD_SECTION' => $TEXT['ADD_SECTION'],
-					'TEXT_MOVE_UP' => $TEXT['MOVE_UP'],
-					'TEXT_MOVE_DOWN' => $TEXT['MOVE_DOWN']
-					)
-				);
-$template->parse('main', 'main_block', false);
-$template->pparse('output', 'page');
-
-// Print admin footer
-$admin->print_footer();
-
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Include config file
+require('../../config.php');
+
+// Make sure people are allowed to access this page
+if(MANAGE_SECTIONS != 'enabled')
+{
+	header('Location: '.ADMIN_URL.'/pages/index.php');
+	exit(0);
+}
+
+// Get page id
+if(!isset($_GET['page_id']) OR !is_numeric($_GET['page_id']))
+{
+	header("Location: index.php");
+	exit(0);
+} else {
+	$page_id = $_GET['page_id'];
+}
+
+$debug = false; // to show position and section_id
+If(!defined('DEBUG')) { define('DEBUG',$debug);}
+// Create new admin object
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_modify');
+
+// Check if we are supposed to add or delete a section
+if(isset($_GET['section_id']) AND is_numeric($_GET['section_id']))
+{
+	// Get more information about this section
+	$section_id = $_GET['section_id'];
+    $sql  = 'SELECT `module` FROM `'.TABLE_PREFIX.'sections` ';
+    $sql .= 'WHERE `section_id` ='.$section_id;
+    $query_section = $database->query($sql);
+
+	if($query_section->numRows() == 0)
+    {
+		$admin->print_error('Section not found');
+	}
+	$section = $query_section->fetchRow();
+	// Include the modules delete file if it exists
+	if(file_exists(WB_PATH.'/modules/'.$section['module'].'/delete.php'))
+    {
+		require(WB_PATH.'/modules/'.$section['module'].'/delete.php');
+	}
+    $sql  = 'DELETE FROM `'.TABLE_PREFIX.'sections` ';
+    $sql .= 'WHERE `section_id` ='.$section_id.' LIMIT 1';
+    $query_section = $database->query($sql);
+
+	if($database->is_error())
+    {
+		$admin->print_error($database->get_error());
+	} else {
+		require(WB_PATH.'/framework/class.order.php');
+		$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
+		$order->clean($page_id);
+		$admin->print_success($TEXT['SUCCESS'], ADMIN_URL.'/pages/sections.php?page_id='.$page_id);
+		$admin->print_footer();
+		exit();
+	}
+} elseif(isset($_POST['module']) && $_POST['module'] != '')
+{
+	// Get section info
+	$module = $admin->add_slashes($_POST['module']);
+	// Include the ordering class
+	require(WB_PATH.'/framework/class.order.php');
+	// Get new order
+	$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
+	$position = $order->get_new($page_id);	
+	// Insert module into DB
+    $sql  = 'INSERT INTO `'.TABLE_PREFIX.'sections` SET ';
+    $sql .= '`page_id` = '.$page_id.', ';
+    $sql .= '`module` = "'.$module.'", ';
+    $sql .= '`position` = '.$position.', ';
+    $sql .= '`block`=1';
+    $database->query($sql);
+	// Get the section id
+	$section_id = $database->get_one("SELECT LAST_INSERT_ID()");	
+	// Include the selected modules add file if it exists
+	if(file_exists(WB_PATH.'/modules/'.$module.'/add.php'))
+    {
+		require(WB_PATH.'/modules/'.$module.'/add.php');
+	}
+}
+
+// Get perms
+// $database = new database();
+$sql  = 'SELECT `admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` ';
+$sql .= 'WHERE `page_id` = '.$page_id;
+$results = $database->query($sql);
+
+$results_array = $results->fetchRow();
+$old_admin_groups = explode(',', $results_array['admin_groups']);
+$old_admin_users = explode(',', $results_array['admin_users']);
+$in_old_group = FALSE;
+foreach($admin->get_groups_id() as $cur_gid)
+{
+	if (in_array($cur_gid, $old_admin_groups))
+    {
+		$in_old_group = TRUE;
+	}
+}
+if((!$in_old_group) && !is_numeric(array_search($admin->get_user_id(), $old_admin_users)))
+{
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}
+
+// Get page details
+// $database = new database();
+$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'pages` ';
+$sql .= 'WHERE `page_id` = '.$page_id;
+$results = $database->query($sql);
+
+if($database->is_error())
+{
+	// $admin->print_header();
+	$admin->print_error($database->get_error());
+}
+if($results->numRows() == 0)
+{
+	// $admin->print_header();
+	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
+}
+$results_array = $results->fetchRow();
+
+// Set module permissions
+$module_permissions = $_SESSION['MODULE_PERMISSIONS'];
+
+// Unset block var
+unset($block);
+// Include template info file (if it exists)
+if($results_array['template'] != '')
+{
+	$template_location = WB_PATH.'/templates/'.$results_array['template'].'/info.php';
+} else {
+	$template_location = WB_PATH.'/templates/'.DEFAULT_TEMPLATE.'/info.php';
+}
+if(file_exists($template_location))
+{
+	require($template_location);
+}
+// Check if $menu is set
+if(!isset($block[1]) OR $block[1] == '')
+{
+	// Make our own menu list
+	$block[1] = $TEXT['MAIN'];
+}
+
+/*-- load css files with jquery --*/
+// include jscalendar-setup
+$jscal_use_time = true; // whether to use a clock, too
+require_once(WB_PATH."/include/jscalendar/wb-setup.php");
+
+// Setup template object
+$template = new Template(THEME_PATH.'/templates');
+$template->set_file('page', 'pages_sections.htt');
+$template->set_block('page', 'main_block', 'main');
+$template->set_block('main_block', 'module_block', 'module_list');
+$template->set_block('main_block', 'section_block', 'section_list');
+$template->set_block('section_block', 'block_block', 'block_list');
+$template->set_block('main_block', 'calendar_block', 'calendar_list');
+$template->set_var('FTAN', $admin->getFTAN());
+
+// set first defaults and messages
+$template->set_var(array(
+				'PAGE_ID' => $results_array['page_id'],
+				'TEXT_PAGE' => $TEXT['PAGE'],
+				'PAGE_TITLE' => ($results_array['page_title']),
+				'MENU_TITLE' => ($results_array['menu_title']),
+				'TEXT_CURRENT_PAGE' => $TEXT['CURRENT_PAGE'],
+				'HEADING_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
+				'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
+				'TEXT_CHANGE_SETTINGS' => $TEXT['CHANGE_SETTINGS'],
+				'TEXT_ADD_SECTION' => $TEXT['ADD_SECTION'],
+				'TEXT_ID' => 'ID',
+				'TEXT_TYPE' => $TEXT['TYPE'],
+				'TEXT_BLOCK' => $TEXT['BLOCK'],
+				'TEXT_PUBL_START_DATE' => $TEXT{'PUBL_START_DATE'},
+				'TEXT_PUBL_END_DATE' => $TEXT['PUBL_END_DATE'],
+				'TEXT_ACTIONS' => $TEXT['ACTIONS'],
+				'ADMIN_URL' => ADMIN_URL,
+				'WB_URL' => WB_URL,
+				'WB_PATH' => WB_PATH,
+				'THEME_URL' => THEME_URL
+				) 
+			);
+
+// Insert variables
+$template->set_var(array(
+				'VAR_PAGE_ID' => $results_array['page_id'],
+				'VAR_PAGE_TITLE' => $results_array['page_title'],
+				'SETTINGS_LINK' => ADMIN_URL.'/pages/settings.php?page_id='.$results_array['page_id'],
+				'MODIFY_LINK' => ADMIN_URL.'/pages/modify.php?page_id='.$results_array['page_id']
+				) 
+			);
+
+$sql  = 'SELECT `section_id`,`module`,`position`,`block`,`publ_start`,`publ_end` ';
+$sql .= 'FROM `'.TABLE_PREFIX.'sections` ';
+$sql .= 'WHERE `page_id` = '.$page_id.' ';
+$sql .= 'ORDER BY `position` ASC';
+$query_sections = $database->query($sql);
+
+if($query_sections->numRows() > 0)
+{
+	$num_sections = $query_sections->numRows();
+	while($section = $query_sections->fetchRow())
+    {
+		if(!is_numeric(array_search($section['module'], $module_permissions)))
+        {
+			// Get the modules real name
+            $sql = 'SELECT `name` FROM `'.TABLE_PREFIX.'addons` ';
+            $sql .= 'WHERE `directory` = "'.$section['module'].'"';
+            if(!$database->get_one($sql) || !file_exists(WB_PATH.'/modules/'.$section['module']))
+			{
+				$edit_page = '<span class="module_disabled">'.$section['module'].'</span>';
+			}else
+			{
+				$edit_page = '';
+			}
+			$edit_page_0 = '<a id="sid'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$page_id;
+			$edit_page_1 = $section['section_id'].'">'.$section['module'].'</a>';
+			if(SECTION_BLOCKS)
+            {
+				if($edit_page == '')
+				{
+					if(defined('EDIT_ONE_SECTION') && EDIT_ONE_SECTION)
+					{
+						$edit_page = $edit_page_0.'&amp;wysiwyg='.$edit_page_1;
+					} else {
+						$edit_page = $edit_page_0.'#wb_'.$edit_page_1;
+					}
+				}
+				$input_attribute = 'input_normal';
+				$template->set_var(array(
+						'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:visible;"',
+						'NAME_SIZE' => 300,
+						'INPUT_ATTRIBUTE' => $input_attribute,
+						'VAR_SECTION_ID' => $section['section_id'],
+						'VAR_POSITION' => $section['position'],
+						'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page,
+						'SELECT' => '',
+						'SET_NONE_DISPLAY_OPTION' => ''
+						)
+					);
+				// Add block options to the section_list
+				$template->clear_var('block_list');
+				foreach($block AS $number => $name)
+                {
+					$template->set_var('NAME', htmlentities(strip_tags($name)));
+					$template->set_var('VALUE', $number);
+					$template->set_var('SIZE', 1);
+					if($section['block'] == $number)
+                    {
+						$template->set_var('SELECTED', ' selected="selected"');
+					} else {
+						$template->set_var('SELECTED', '');
+					}
+					$template->parse('block_list', 'block_block', true);
+				}
+			} else {
+				if($edit_page == '')
+				{
+					$edit_page = $edit_page_0.'#wb_'.$edit_page_1;
+				}
+				$input_attribute = 'input_normal';
+				$template->set_var(array(
+						'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:hidden;"',
+						'NAME_SIZE' => 300,
+						'INPUT_ATTRIBUTE' => $input_attribute,
+						'VAR_SECTION_ID' => $section['section_id'],
+						'VAR_POSITION' => $section['position'],
+						'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page,
+						'NAME' => htmlentities(strip_tags($block[1])),
+						'VALUE' => 1,
+						'SET_NONE_DISPLAY_OPTION' => ''
+						)
+					);
+			}
+			// Insert icon and images
+			$template->set_var(array(
+						'CLOCK_16_PNG' => 'clock_16.png',
+						'CLOCK_DEL_16_PNG' => 'clock_del_16.png',
+						'DELETE_16_PNG' => 'delete_16.png'
+						) 
+					);
+			// set calendar start values
+			if($section['publ_start']==0)
+            {
+				$template->set_var('VALUE_PUBL_START', '');
+			} else {
+				$template->set_var('VALUE_PUBL_START', date($jscal_format, $section['publ_start']));
+			}
+			// set calendar start values
+			if($section['publ_end']==0)
+            {
+				$template->set_var('VALUE_PUBL_END', '');
+			} else {
+				$template->set_var('VALUE_PUBL_END', date($jscal_format, $section['publ_end']));
+			}
+			// Insert icons up and down
+			if($section['position'] != 1 )
+            {
+				$template->set_var(
+							'VAR_MOVE_UP_URL',
+							'<a href="'.ADMIN_URL.'/pages/move_up.php?page_id='.$page_id.'&amp;section_id='.$section['section_id'].'">
+							<img src="'.THEME_URL.'/images/up_16.png" alt="{TEXT_MOVE_UP}" />
+							</a>' );
+			} else {
+				$template->set_var(array(
+							'VAR_MOVE_UP_URL' => ''
+							) 
+						);
+			}
+			if($section['position'] != $num_sections ) {
+				$template->set_var(
+							'VAR_MOVE_DOWN_URL',
+							'<a href="'.ADMIN_URL.'/pages/move_down.php?page_id='.$page_id.'&amp;section_id='.$section['section_id'].'">
+							<img src="'.THEME_URL.'/images/down_16.png" alt="{TEXT_MOVE_DOWN}" />
+							</a>' );
+			} else {
+				$template->set_var(array(
+							'VAR_MOVE_DOWN_URL' => ''
+							) 
+						);
+			}
+		} else {
+		  continue;
+		}
+
+			$template->set_var(array(
+							'DISPLAY_DEBUG' => ' style="visibility="visible;"',
+							'TEXT_SID' => 'SID',
+							'DEBUG_COLSPAN_SIZE' => 9
+							) 
+						);
+		if($debug)
+        {
+			$template->set_var(array(
+							'DISPLAY_DEBUG' => ' style="visibility="visible;"',
+							'TEXT_PID' => 'PID',
+							'TEXT_SID' => 'SID',
+							'POSITION' => $section['position']
+							) 
+						);
+		} else {
+			$template->set_var(array(
+							'DISPLAY_DEBUG' => ' style="display:none;"',
+							'TEXT_PID' => '',
+							'POSITION' => ''
+							) 
+						);
+		}
+		$template->parse('section_list', 'section_block', true);
+	}
+}
+
+// now add the calendars -- remember to to set the range to [1970, 2037] if the date is used as timestamp!
+// the loop is simply a copy from above.
+$sql  = 'SELECT `section_id`,`module` FROM `'.TABLE_PREFIX.'sections` ';
+$sql .= 'WHERE page_id = '.$page_id.' ';
+$sql .= 'ORDER BY `position` ASC';
+$query_sections = $database->query($sql);
+
+if($query_sections->numRows() > 0)
+{
+	$num_sections = $query_sections->numRows();
+	while($section = $query_sections->fetchRow())
+    {
+		// Get the modules real name
+        $sql  = 'SELECT `name` FROM `'.TABLE_PREFIX.'addons` ';
+        $sql .= 'WHERE `directory` = "'.$section['module'].'"';
+        $module_name = $database->get_one($sql);
+
+		if(!is_numeric(array_search($section['module'], $module_permissions)))
+        {
+			$template->set_var(array(
+						'jscal_ifformat' => $jscal_ifformat,
+						'jscal_firstday' => $jscal_firstday,
+						'jscal_today' => $jscal_today,
+						'start_date' => 'start_date'.$section['section_id'],
+						'end_date' => 'end_date'.$section['section_id'],
+						'trigger_start' => 'trigger_start'.$section['section_id'],
+						'trigger_end' => 'trigger_stop'.$section['section_id']
+						) 
+					);
+			if(isset($jscal_use_time) && $jscal_use_time==TRUE) {
+				$template->set_var(array(
+						'showsTime' => "true",
+						'timeFormat' => "24"
+						) 
+					);
+			}  else {
+				$template->set_var(array(
+						'showsTime' => "false",
+						'timeFormat' => "24"
+						) 
+					);
+			}
+		}
+		$template->parse('calendar_list', 'calendar_block', true);
+	}
+}
+
+// Work-out if we should show the "Add Section" form
+$sql  = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` ';
+$sql .= 'WHERE `page_id` = '.$page_id.' AND `module` = "menu_link"';
+$query_sections = $database->query($sql);
+if($query_sections->numRows() == 0)
+{
+	// Modules list
+    $sql  = 'SELECT `name`,`directory`,`type` FROM `'.TABLE_PREFIX.'addons` ';
+    $sql .= 'WHERE `type` = "module" AND `function` = "page" AND `directory` != "menu_link" ';
+    $sql .= 'ORDER BY `name`';
+    $result = $database->query($sql);
+// if(DEBUG && $database->is_error()) { $admin->print_error($database->get_error()); }
+
+	if($result->numRows() > 0)
+    {
+		while ($module = $result->fetchRow())
+        {
+			// Check if user is allowed to use this module   echo  $module['directory'],'<br />';
+			if(!is_numeric(array_search($module['directory'], $module_permissions)))
+            {
+				$template->set_var('VALUE', $module['directory']);
+				$template->set_var('NAME', $module['name']);
+				if($module['directory'] == 'wysiwyg')
+                {
+					$template->set_var('SELECTED', ' selected="selected"');
+				} else {
+					$template->set_var('SELECTED', '');
+				}
+				$template->parse('module_list', 'module_block', true);
+			} else {
+			  continue;
+			}
+		}
+	}
+}
+// Insert language text and messages
+$template->set_var(array(
+					'TEXT_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
+					'TEXT_ARE_YOU_SURE' => $TEXT['ARE_YOU_SURE'],
+					'TEXT_TYPE' => $TEXT['TYPE'],
+					'TEXT_ADD' => $TEXT['ADD'],
+					'TEXT_SAVE' =>  $TEXT['SAVE'],
+					'TEXTLINK_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
+					'TEXT_CALENDAR' => $TEXT['CALENDAR'],
+					'TEXT_DELETE_DATE' => $TEXT['DELETE_DATE'],
+					'TEXT_ADD_SECTION' => $TEXT['ADD_SECTION'],
+					'TEXT_MOVE_UP' => $TEXT['MOVE_UP'],
+					'TEXT_MOVE_DOWN' => $TEXT['MOVE_DOWN']
+					)
+				);
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
+
+// include the required file for Javascript admin
+if(file_exists(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php'))
+{
+	include(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php');
+}
+
+// Print admin footer
+$admin->print_footer();
+
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/pages/add.php
===================================================================
--- branches/2.8.x/wb/admin/pages/add.php	(revision 1357)
+++ branches/2.8.x/wb/admin/pages/add.php	(revision 1358)
@@ -1,240 +1,239 @@
-<?php
-/**
- *
- * @category        admin
- * @package         pages
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Create new admin object and print admin header
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-$admin = new admin('Pages', 'pages_add');
-
-if (!$admin->checkFTAN())
-{
-	$admin->print_error($MESSAGE['PAGES']['NOT_FOUND']);
-	exit();
-}
-
-// Include the WB functions file
-require_once(WB_PATH.'/framework/functions.php');
-
-// Get values
-$title = $admin->get_post_escaped('title');
-$title = htmlspecialchars($title);
-$module = preg_replace("/\W/", "", $admin->get_post('type')); // fix secunia 2010-93-4
-$parent = (int) $admin->get_post('parent'); // fix secunia 2010-91-2
-$visibility = $admin->get_post('visibility');
-if (!in_array($visibility, array('public', 'private', 'registered', 'hidden', 'none'))) $visibility = 'public'; // fix secunia 2010-91-2
-$admin_groups = $admin->get_post('admin_groups');
-$viewing_groups = $admin->get_post('viewing_groups');
-
-// Work-out if we should check for existing page_code
-$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
-$field_sql = $database->query($sql);
-$field_set = $field_sql->numRows();
-
-// add Admin to admin and viewing-groups
-$admin_groups[] = 1;
-$viewing_groups[] = 1;
-
-if ($parent!=0) {
-	if (!$admin->get_page_permission($parent,'admin'))
-    {
-        $admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-    }
-
-} elseif (!$admin->get_permission('pages_add_l0','system'))
-{
-	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-}	
-
-// Validate data
-if($title == '' || substr($title,0,1)=='.')
-{
-	$admin->print_error($MESSAGE['PAGES']['BLANK_PAGE_TITLE']);
-}
-
-// Check to see if page created has needed permissions
-if(!in_array(1, $admin->get_groups_id()))
-{
-	$admin_perm_ok = false;
-	foreach ($admin_groups as $adm_group)
-    {
-		if (in_array($adm_group, $admin->get_groups_id()))
-        {
-			$admin_perm_ok = true;
-		}
-	}
-	if ($admin_perm_ok == false)
-    {
-		$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-	}
-	$admin_perm_ok = false;
-	foreach ($viewing_groups as $view_group)
-    {
-		if (in_array($view_group, $admin->get_groups_id()))
-        {
-			$admin_perm_ok = true;
-		}
-	}
-	if ($admin_perm_ok == false)
-    {
-		$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
-	}
-}
-
-$admin_groups =   preg_replace("/[^\d,]/", "", implode(',', $admin_groups));
-$viewing_groups = preg_replace("/[^\d,]/", "", implode(',', $viewing_groups));
-
-// Work-out what the link and page filename should be
-if($parent == '0')
-{
-	$link = '/'.page_filename($title);
-	// rename menu titles: index && intro to prevent clashes with intro page feature and WB core file /pages/index.php
-	if($link == '/index' || $link == '/intro')
-    {
-		$link .= '_0';
-		$filename = WB_PATH .PAGES_DIRECTORY .'/' .page_filename($title) .'_0' .PAGE_EXTENSION;
-	} else {
-		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($title).PAGE_EXTENSION;
-	}
-} else {
-	$parent_section = '';
-	$parent_titles = array_reverse(get_parent_titles($parent));
-	foreach($parent_titles AS $parent_title)
-    {
-		$parent_section .= page_filename($parent_title).'/';
-	}
-	if($parent_section == '/') { $parent_section = ''; }
-	$link = '/'.$parent_section.page_filename($title);
-	$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($title).PAGE_EXTENSION;
-	make_dir(WB_PATH.PAGES_DIRECTORY.'/'.$parent_section);
-}
-
-// Check if a page with same page filename exists
-$get_same_page = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE link = '$link'");
-if($get_same_page->numRows() > 0 OR file_exists(WB_PATH.PAGES_DIRECTORY.$link.PAGE_EXTENSION) OR file_exists(WB_PATH.PAGES_DIRECTORY.$link.'/'))
-{
-	$admin->print_error($MESSAGE['PAGES']['PAGE_EXISTS']);
-}
-
-// Include the ordering class
-require(WB_PATH.'/framework/class.order.php');
-$order = new order(TABLE_PREFIX.'pages', 'position', 'page_id', 'parent');
-// First clean order
-$order->clean($parent);
-// Get new order
-$position = $order->get_new($parent);
-
-// Work-out if the page parent (if selected) has a seperate template or language to the default
-$query_parent = $database->query("SELECT template, language FROM ".TABLE_PREFIX."pages WHERE page_id = '$parent'");
-if($query_parent->numRows() > 0)
-{
-	$fetch_parent = $query_parent->fetchRow();
-	$template = $fetch_parent['template'];
-	$language = $fetch_parent['language'];
-} else {
-	$template = '';
-	$language = DEFAULT_LANGUAGE;
-}
-
-// Insert page into pages table
-$sql  = 'INSERT INTO `'.TABLE_PREFIX.'pages` SET ';
-$sql .= '`parent` = '.$parent.', ';
-$sql .= '`target` = "_top", ';
-$sql .= '`page_title` = "'.$title.'", ';
-$sql .= '`menu_title` = "'.$title.'", ';
-$sql .= '`template` = "'.$template.'", ';
-$sql .= '`visibility` = "'.$visibility.'", ';
-$sql .= '`position` = '.$position.', ';
-$sql .= '`menu` = 1, ';
-$sql .= '`language` = "'.$language.'", ';
-$sql .= '`searching` = 1, ';
-$sql .= '`modified_when` = '.time().', ';
-$sql .= '`modified_by` = '.$admin->get_user_id().', ';
-$sql .= '`admin_groups` = "'.$admin_groups.'", ';
-$sql .= '`viewing_groups` = "'.$viewing_groups.'"';
-
-$database->query($sql);
-/*
-$query = "INSERT INTO ".TABLE_PREFIX."pages
-(page_title,menu_title,parent,template,target,position,visibility,searching,menu,language,admin_groups,viewing_groups,modified_when,modified_by) VALUES
-('$title','$title','$parent','$template','_top','$position','$visibility','1','1','$language','$admin_groups','$viewing_groups','".time()."','".$admin->get_user_id()."')";
-$database->query($query);
-*/
-if($database->is_error())
-{
-	$admin->print_error($database->get_error());
-}
-
-// Get the page id
-$page_id = $database->get_one("SELECT LAST_INSERT_ID()");
-
-// Work out level
-$level = level_count($page_id);
-// Work out root parent
-$root_parent = root_parent($page_id);
-// Work out page trail
-$page_trail = get_page_trail($page_id);
-
-// Update page with new level and link
-$sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
-$sql .= '`root_parent` = '.$root_parent.', ';
-$sql .= '`level` = '.$level.', ';
-$sql .= '`link` = "'.$link.'", ';
-$sql .= '`page_trail` = "'.$page_trail.'"';
-$sql .= (defined('PAGE_LANGUAGES') && PAGE_LANGUAGES)
-         && $field_set
-         && ($language == DEFAULT_LANGUAGE)
-         && (file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php')
-         )
-         ? ', `page_code` = '.(int)$page_id.' ' : ' ';
-$sql .= 'WHERE `page_id` = '.$page_id;
-$database->query($sql);
-/*
-$database->query("UPDATE ".TABLE_PREFIX."pages SET link = '$link', level = '$level', root_parent = '$root_parent', page_trail = '$page_trail' WHERE page_id = '$page_id'");
-*/
-if($database->is_error())
-{
-	$admin->print_error($database->get_error());
-}
-// Create a new file in the /pages dir
-create_access_file($filename, $page_id, $level);
-
-// add position 1 to new page
-$position = 1;
-
-// Add new record into the sections table
-$database->query("INSERT INTO ".TABLE_PREFIX."sections (page_id,position,module,block) VALUES ('$page_id','$position', '$module','1')");
-
-// Get the section id
-$section_id = $database->get_one("SELECT LAST_INSERT_ID()");
-
-// Include the selected modules add file if it exists
-if(file_exists(WB_PATH.'/modules/'.$module.'/add.php')) {
-	require(WB_PATH.'/modules/'.$module.'/add.php');
-}
-
-// Check if there is a db error, otherwise say successful
-if($database->is_error()) {
-	$admin->print_error($database->get_error());
-} else {
-	$admin->print_success($MESSAGE['PAGES']['ADDED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
-}
-
-// Print admin footer
-$admin->print_footer();
-
+<?php
+/**
+ *
+ * @category        admin
+ * @package         pages
+ * @author          WebsiteBaker Project
+ * @copyright       2004-2009, Ryan Djurovich
+ * @copyright       2009-2010, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 4.3.4 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+// Create new admin object and print admin header
+require('../../config.php');
+require_once(WB_PATH.'/framework/class.admin.php');
+$admin = new admin('Pages', 'pages_add');
+
+if (!$admin->checkFTAN())
+{
+	$admin->print_error($MESSAGE['PAGES_NOT_SAVED'],'index.php');
+	exit();
+}
+
+// Include the WB functions file
+require_once(WB_PATH.'/framework/functions.php');
+
+// Get values
+$title = $admin->get_post_escaped('title');
+$title = htmlspecialchars($title);
+$module = $admin->get_post('type');
+$parent = $admin->get_post('parent');
+$visibility = $admin->get_post('visibility');
+$admin_groups = $admin->get_post('admin_groups');
+$viewing_groups = $admin->get_post('viewing_groups');
+
+// Work-out if we should check for existing page_code
+$sql = 'DESCRIBE `'.TABLE_PREFIX.'pages` `page_code`';
+$field_sql = $database->query($sql);
+$field_set = $field_sql->numRows();
+
+// add Admin to admin and viewing-groups
+$admin_groups[] = 1;
+$viewing_groups[] = 1;
+
+if ($parent!=0) {
+	if (!$admin->get_page_permission($parent,'admin'))
+    {
+        $admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+    }
+
+} elseif (!$admin->get_permission('pages_add_l0','system'))
+{
+	$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+}	
+
+// Validate data
+if($title == '' || substr($title,0,1)=='.')
+{
+	$admin->print_error($MESSAGE['PAGES']['BLANK_PAGE_TITLE']);
+}
+
+// Check to see if page created has needed permissions
+if(!in_array(1, $admin->get_groups_id()))
+{
+	$admin_perm_ok = false;
+	foreach ($admin_groups as $adm_group)
+    {
+		if (in_array($adm_group, $admin->get_groups_id()))
+        {
+			$admin_perm_ok = true;
+		}
+	}
+	if ($admin_perm_ok == false)
+    {
+		$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+	}
+	$admin_perm_ok = false;
+	foreach ($viewing_groups as $view_group)
+    {
+		if (in_array($view_group, $admin->get_groups_id()))
+        {
+			$admin_perm_ok = true;
+		}
+	}
+	if ($admin_perm_ok == false)
+    {
+		$admin->print_error($MESSAGE['PAGES']['INSUFFICIENT_PERMISSIONS']);
+	}
+}
+
+$admin_groups = implode(',', $admin_groups);
+$viewing_groups = implode(',', $viewing_groups);
+
+// Work-out what the link and page filename should be
+if($parent == '0')
+{
+	$link = '/'.page_filename($title);
+	// rename menu titles: index && intro to prevent clashes with intro page feature and WB core file /pages/index.php
+	if($link == '/index' || $link == '/intro')
+    {
+		$link .= '_0';
+		$filename = WB_PATH .PAGES_DIRECTORY .'/' .page_filename($title) .'_0' .PAGE_EXTENSION;
+	} else {
+		$filename = WB_PATH.PAGES_DIRECTORY.'/'.page_filename($title).PAGE_EXTENSION;
+	}
+} else {
+	$parent_section = '';
+	$parent_titles = array_reverse(get_parent_titles($parent));
+	foreach($parent_titles AS $parent_title)
+    {
+		$parent_section .= page_filename($parent_title).'/';
+	}
+	if($parent_section == '/') { $parent_section = ''; }
+	$link = '/'.$parent_section.page_filename($title);
+	$filename = WB_PATH.PAGES_DIRECTORY.'/'.$parent_section.page_filename($title).PAGE_EXTENSION;
+	make_dir(WB_PATH.PAGES_DIRECTORY.'/'.$parent_section);
+}
+
+// Check if a page with same page filename exists
+$get_same_page = $database->query("SELECT page_id FROM ".TABLE_PREFIX."pages WHERE link = '$link'");
+if($get_same_page->numRows() > 0 OR file_exists(WB_PATH.PAGES_DIRECTORY.$link.PAGE_EXTENSION) OR file_exists(WB_PATH.PAGES_DIRECTORY.$link.'/'))
+{
+	$admin->print_error($MESSAGE['PAGES']['PAGE_EXISTS']);
+}
+
+// Include the ordering class
+require(WB_PATH.'/framework/class.order.php');
+$order = new order(TABLE_PREFIX.'pages', 'position', 'page_id', 'parent');
+// First clean order
+$order->clean($parent);
+// Get new order
+$position = $order->get_new($parent);
+
+// Work-out if the page parent (if selected) has a seperate template or language to the default
+$query_parent = $database->query("SELECT template, language FROM ".TABLE_PREFIX."pages WHERE page_id = '$parent'");
+if($query_parent->numRows() > 0)
+{
+	$fetch_parent = $query_parent->fetchRow();
+	$template = $fetch_parent['template'];
+	$language = $fetch_parent['language'];
+} else {
+	$template = '';
+	$language = DEFAULT_LANGUAGE;
+}
+
+// Insert page into pages table
+$sql  = 'INSERT INTO `'.TABLE_PREFIX.'pages` SET ';
+$sql .= '`parent` = '.$parent.', ';
+$sql .= '`target` = "_top", ';
+$sql .= '`page_title` = "'.$title.'", ';
+$sql .= '`menu_title` = "'.$title.'", ';
+$sql .= '`template` = "'.$template.'", ';
+$sql .= '`visibility` = "'.$visibility.'", ';
+$sql .= '`position` = '.$position.', ';
+$sql .= '`menu` = 1, ';
+$sql .= '`language` = "'.$language.'", ';
+$sql .= '`searching` = 1, ';
+$sql .= '`modified_when` = '.time().', ';
+$sql .= '`modified_by` = '.$admin->get_user_id().', ';
+$sql .= '`admin_groups` = "'.$admin_groups.'", ';
+$sql .= '`viewing_groups` = "'.$viewing_groups.'"';
+
+$database->query($sql);
+/*
+$query = "INSERT INTO ".TABLE_PREFIX."pages
+(page_title,menu_title,parent,template,target,position,visibility,searching,menu,language,admin_groups,viewing_groups,modified_when,modified_by) VALUES
+('$title','$title','$parent','$template','_top','$position','$visibility','1','1','$language','$admin_groups','$viewing_groups','".time()."','".$admin->get_user_id()."')";
+$database->query($query);
+*/
+if($database->is_error())
+{
+	$admin->print_error($database->get_error());
+}
+
+// Get the page id
+$page_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+// Work out level
+$level = level_count($page_id);
+// Work out root parent
+$root_parent = root_parent($page_id);
+// Work out page trail
+$page_trail = get_page_trail($page_id);
+
+// Update page with new level and link
+$sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET ';
+$sql .= '`root_parent` = '.$root_parent.', ';
+$sql .= '`level` = '.$level.', ';
+$sql .= '`link` = "'.$link.'", ';
+$sql .= '`page_trail` = "'.$page_trail.'"';
+$sql .= (defined('PAGE_LANGUAGES') && PAGE_LANGUAGES)
+         && $field_set
+         && ($language == DEFAULT_LANGUAGE)
+         && (file_exists(WB_PATH.'/modules/mod_multilingual/update_keys.php')
+         )
+         ? ', `page_code` = '.(int)$page_id.' ' : ' ';
+$sql .= 'WHERE `page_id` = '.$page_id;
+$database->query($sql);
+/*
+$database->query("UPDATE ".TABLE_PREFIX."pages SET link = '$link', level = '$level', root_parent = '$root_parent', page_trail = '$page_trail' WHERE page_id = '$page_id'");
+*/
+if($database->is_error())
+{
+	$admin->print_error($database->get_error());
+}
+// Create a new file in the /pages dir
+create_access_file($filename, $page_id, $level);
+
+// add position 1 to new page
+$position = 1;
+
+// Add new record into the sections table
+$database->query("INSERT INTO ".TABLE_PREFIX."sections (page_id,position,module,block) VALUES ('$page_id','$position', '$module','1')");
+
+// Get the section id
+$section_id = $database->get_one("SELECT LAST_INSERT_ID()");
+
+// Include the selected modules add file if it exists
+if(file_exists(WB_PATH.'/modules/'.$module.'/add.php')) {
+	require(WB_PATH.'/modules/'.$module.'/add.php');
+}
+
+// Check if there is a db error, otherwise say successful
+if($database->is_error()) {
+	$admin->print_error($database->get_error());
+} else {
+	$admin->print_success($MESSAGE['PAGES']['ADDED'], ADMIN_URL.'/pages/modify.php?page_id='.$page_id);
+}
+
+// Print admin footer
+$admin->print_footer();
+
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1357)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1358)
@@ -52,6 +52,6 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) define('VERSION', '2.8.2.RC2');
-if(!defined('REVISION')) define('REVISION', '1356');
+if(!defined('REVISION')) define('REVISION', '1358');
 
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/framework/class.secureform.php
===================================================================
--- branches/2.8.x/wb/framework/class.secureform.php	(revision 1357)
+++ branches/2.8.x/wb/framework/class.secureform.php	(revision 1358)
@@ -1,186 +1,184 @@
-<?php
-/**
- *
- * @category        security
- * @package         framework
- * @author          ISTeam easy-Project
- * @copyright       2009-2011, Independend-Software-Team
- * @link            http://easy.isteam.de/
- * @license         http://creativecommons.org/licenses/by-nc-nd/3.0/de/
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource      $HeadURL$
- * @lastmodified    $Date$
- *
- * SecureForm
- * Version 0.1
- *
- * creates Formular transactionnumbers for unique use
- */
-
-class SecureForm {
-
-	/* insert global vars here... */
-
-	var $_FTAN   = '';
-	var $_IDKEYs = '';
-	var $_salt   = '';
-
-	function SecureForm()
-	{
-//		$this->__construct();
-		$this->_FTAN  = '';
-		$this->_salt = $this->_generate_salt();
-		if(isset($_SESSION['IDKEYS']))
-		{
-			$this->_IDKEYs = $_SESSION['IDKEYS'];
-		}else {
-			$this->_IDKEYs = array();
-		}
-	}
-//	function __construct()
-//	{
-//		var $_FTAN  = '';
-//		if(isset($_SESSION['FTAN'])) { unset($_SESSION['FTAN']); }
-//	}
-
-
-	function _generate_salt()
-	{
-		// server depending values
- 		$salt  = ( isset($_SERVER['SERVER_SIGNATURE']) ) ? $_SERVER['SERVER_SIGNATURE'] : '2';
-		$salt .= ( isset($_SERVER['SERVER_SOFTWARE']) ) ? $_SERVER['SERVER_SOFTWARE'] : '3';
-		$salt .= ( isset($_SERVER['SERVER_NAME']) ) ? $_SERVER['SERVER_NAME'] : '5';
-		$salt .= ( isset($_SERVER['SERVER_ADDR']) ) ? $_SERVER['SERVER_ADDR'] : '7';
-		$salt .= ( isset($_SERVER['SERVER_PORT']) ) ? $_SERVER['SERVER_PORT'] : '11';
-		$salt .= ( isset($_SERVER['SERVER_ADMIN']) ) ? $_SERVER['SERVER_ADMIN'] : '13';
-		$salt .= PHP_VERSION;
-		// client depending values
-		$salt .= ( isset($_SERVER['HTTP_ACCEPT']) ) ? $_SERVER['HTTP_ACCEPT'] : '17';
-		$salt .= ( isset($_SERVER['HTTP_ACCEPT_CHARSET']) ) ? $_SERVER['HTTP_ACCEPT_CHARSET'] : '19';
-		$salt .= ( isset($_SERVER['HTTP_ACCEPT_ENCODING']) ) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : '23';
-		$salt .= ( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '29';
-		$salt .= ( isset($_SERVER['HTTP_CONNECTION']) ) ? $_SERVER['HTTP_CONNECTION'] : '31';
-		$salt .= ( isset($_SERVER['HTTP_USER_AGENT']) ) ? $_SERVER['HTTP_USER_AGENT'] : '37';
-		return $salt;
-	}
-/*
- * creates Formular transactionnumbers for unique use
- * @access public
- * @param bool $asTAG: 	1 returns a complete prepared, hidden HTML-Input-Tag (default)
- * 						2 returns a key value pair (prepared as a GET parameter)
- *                    	anything else returns an array including FTAN0 and FTAN1
- * @return mixed:      array or string
- *
- * requirements: an active session must be available
- */
-	function getFTAN( $as_tag = 1)
-	{
-		if( $this->_FTAN == '')
-		{
-			if(function_exists('microtime'))
-			{
-				list($usec, $sec) = explode(" ", microtime());
-				$time = (string)((float)$usec + (float)$sec);
-			}else{
-				$time = (string)time();
-			}
-			$this->_FTAN = md5($time.$this->_salt);
-			$_SESSION['FTAN'] = $this->_FTAN;
-
-		}
-		$ftan0 = 'a'.substr($this->_FTAN, -(10 + hexdec(substr($this->_FTAN, 1))), 10);
-		$ftan1 = 'a'.substr($this->_FTAN, hexdec(substr($this->_FTAN, -1)), 10);
-		if ($as_tag == 1) {
-			return '<input type="hidden" name="'.$ftan0.'" value="'.$ftan1.'" title="" />';
-		} elseif ($as_tag == 2) {
-			return "$ftan0=$ftan1";
-		} else {
-			return array('FTAN0' => $ftan0, 'FTAN1' => $ftan1);
-		}
-	}
-
-/*
- * checks received form-transactionnumbers against session-stored one
- * @access public
- * @param string $mode: requestmethode POST(default) or GET
- * @return bool:    true if numbers matches against stored ones
- *
- * requirements: an active session must be available
- * this check will prevent from multiple sending a form. history.back() also will never work
- */
-	function checkFTAN( $mode = 'POST')
-	{
-		$retval = false;
-		if(isset($_SESSION['FTAN']) && strlen($_SESSION['FTAN']) == strlen(md5('dummy')))
-		{
-			$ftan = $_SESSION['FTAN'];
-			$ftan0 = 'a'.substr($ftan, -(10 + hexdec(substr($ftan, 1))), 10);
-			$ftan1 = 'a'.substr($ftan, hexdec(substr($ftan, -1)), 10);
-			unset($_SESSION['FTAN']);
-			if(strtoupper($mode) == 'POST')
-			{
-				$retval = (isset($_POST[$ftan0]) && $_POST[$ftan0] == ($ftan1));
-				$_POST[$ftan0] = '';
-			}else{
-				$retval = (isset($_GET[$ftan0]) && $_GET[$ftan0] == ($ftan1));
-				$_GET[$ftan0] = '';
-			}
-		}
-		return $retval;
-	}
-
-/*
- * save values in session and returns a ID-key
- * @access public
- * @param mixed $value: the value for witch a key shall generated and memorized
- * @return string:      a MD5-Key to use instead of the real value
- *
- * requirements: an active session must be available
- */
-	function getIDKEY($value)
-	{
-		$isarray = is_array($value);
-		if( $isarray ) { $value = serialize($value); }
-		$key = md5($this->_salt.(string)$value);
-		if( $isarray ) { $key[5] = 'h'; }
-		$added = false;
-		while(!$added)
-		{
-			if( !array_key_exists($key, $this->_IDKEYs) )
-			{
-				$this->_IDKEYs[$key] = $value;
-				$added = true;
-			}else {
-			// if key already exist, increment the last four digits until the key is unique
-				$key = substr($key, -4).dechex(('0x'.substr($key0, -4)) + 1);
-			}
-		}
-		$_SESSION['IDKEYS'] = $this->_IDKEYs;
-		return $key;
-	}
-
-/*
- * search for key in session and returns the original value
- * @access public
- * @param string $key: the alias-key from the original value
- * @return mixed: the original value (string, numeric, array) or NULL if request fails
- *
- * requirements: an active session must be available
- */
-	function checkIDKEY( $key )
-	{
-		$value = null;
-		if( array_key_exists($key, $this->_IDKEYs))
-		{
-			$value = $this->_IDKEYs[$key];
-			unset($this->_IDKEYs[$key]);
-			$_SESSION['IDKEYS'] = $this->_IDKEYs;
-			if($value[5] == 'h') { $value = unserialize($value); }
-		}
-		return $value;
-	}
-    //put your code here
-}
+<?php
+/**
+ *
+ * @category        security
+ * @package         framework
+ * @author          ISTeam easy-Project
+ * @copyright       2009-2011, Independend-Software-Team
+ * @link            http://easy.isteam.de/
+ * @license         http://creativecommons.org/licenses/by-nc-nd/3.0/de/
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource      $HeadURL$
+ * @lastmodified    $Date$
+ *
+ * SecureForm
+ * Version 0.1
+ *
+ * creates Formular transactionnumbers for unique use
+ */
+
+class SecureForm {
+
+	/* insert global vars here... */
+
+	var $_FTAN   = '';
+	var $_IDKEYs = '';
+	var $_salt   = '';
+
+	function SecureForm()
+	{
+//		$this->__construct();
+		$this->_FTAN  = '';
+		$this->_salt = $this->_generate_salt();
+		if(isset($_SESSION['IDKEYS']))
+		{
+			$this->_IDKEYs = $_SESSION['IDKEYS'];
+		}else {
+			$this->_IDKEYs = array();
+		}
+	}
+//	function __construct()
+//	{
+//		var $_FTAN  = '';
+//		if(isset($_SESSION['FTAN'])) { unset($_SESSION['FTAN']); }
+//	}
+
+
+	function _generate_salt()
+	{
+		// server depending values
+ 		$salt  = ( isset($_SERVER['SERVER_SIGNATURE']) ) ? $_SERVER['SERVER_SIGNATURE'] : '2';
+		$salt .= ( isset($_SERVER['SERVER_SOFTWARE']) ) ? $_SERVER['SERVER_SOFTWARE'] : '3';
+		$salt .= ( isset($_SERVER['SERVER_NAME']) ) ? $_SERVER['SERVER_NAME'] : '5';
+		$salt .= ( isset($_SERVER['SERVER_ADDR']) ) ? $_SERVER['SERVER_ADDR'] : '7';
+		$salt .= ( isset($_SERVER['SERVER_PORT']) ) ? $_SERVER['SERVER_PORT'] : '11';
+		$salt .= ( isset($_SERVER['SERVER_ADMIN']) ) ? $_SERVER['SERVER_ADMIN'] : '13';
+		$salt .= PHP_VERSION;
+		// client depending values
+		$salt .= ( isset($_SERVER['HTTP_ACCEPT']) ) ? $_SERVER['HTTP_ACCEPT'] : '17';
+		$salt .= ( isset($_SERVER['HTTP_ACCEPT_CHARSET']) ) ? $_SERVER['HTTP_ACCEPT_CHARSET'] : '19';
+		$salt .= ( isset($_SERVER['HTTP_ACCEPT_ENCODING']) ) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : '23';
+		$salt .= ( isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '29';
+		$salt .= ( isset($_SERVER['HTTP_CONNECTION']) ) ? $_SERVER['HTTP_CONNECTION'] : '31';
+		$salt .= ( isset($_SERVER['HTTP_USER_AGENT']) ) ? $_SERVER['HTTP_USER_AGENT'] : '37';
+		return $salt;
+	}
+/*
+ * creates Formular transactionnumbers for unique use
+ * @access public
+ * @param bool $asTAG: true returns a complete prepared, hidden HTML-Input-Tag (default)
+ *                    false returns an array including FTAN0 and FTAN1
+ * @return mixed:      array or string
+ *
+ * requirements: an active session must be available
+ */
+	function getFTAN( $as_tag = true)
+	{
+		if( $this->_FTAN == '')
+		{
+			if(function_exists('microtime'))
+			{
+				list($usec, $sec) = explode(" ", microtime());
+				$time = (string)((float)$usec + (float)$sec);
+			}else{
+				$time = (string)time();
+			}
+			$this->_FTAN = md5($time.$this->_salt);
+			$_SESSION['FTAN'] = $this->_FTAN;
+
+		}
+		$ftan0 = 'a'.substr($this->_FTAN, -(10 + hexdec(substr($this->_FTAN, 1))), 10);
+		$ftan1 = 'a'.substr($this->_FTAN, hexdec(substr($this->_FTAN, -1)), 10);
+		if($as_tag == true)
+		{
+			return '<input type="hidden" name="'.$ftan0.'" value="'.$ftan1.'" title="" />';
+		}else{
+			return array('FTAN0' => $ftan0, 'FTAN1' => $ftan1);
+		}
+	}
+
+/*
+ * checks received form-transactionnumbers against session-stored one
+ * @access public
+ * @param string $mode: requestmethode POST(default) or GET
+ * @return bool:    true if numbers matches against stored ones
+ *
+ * requirements: an active session must be available
+ * this check will prevent from multiple sending a form. history.back() also will never work
+ */
+	function checkFTAN( $mode = 'POST')
+	{
+		$retval = false;
+		if(isset($_SESSION['FTAN']) && strlen($_SESSION['FTAN']) == strlen(md5('dummy')))
+		{
+			$ftan = $_SESSION['FTAN'];
+			$ftan0 = 'a'.substr($ftan, -(10 + hexdec(substr($ftan, 1))), 10);
+			$ftan1 = 'a'.substr($ftan, hexdec(substr($ftan, -1)), 10);
+			unset($_SESSION['FTAN']);
+			if(strtoupper($mode) == 'POST')
+			{
+				$retval = (isset($_POST[$ftan0]) && $_POST[$ftan0] == ($ftan1));
+				$_POST[$ftan0] = '';
+			}else{
+				$retval = (isset($_GET[$ftan0]) && $_GET[$ftan0] == ($ftan1));
+				$_GET[$ftan0] = '';
+			}
+		}
+		return $retval;
+	}
+
+/*
+ * save values in session and returns a ID-key
+ * @access public
+ * @param mixed $value: the value for witch a key shall generated and memorized
+ * @return string:      a MD5-Key to use instead of the real value
+ *
+ * requirements: an active session must be available
+ */
+	function getIDKEY($value)
+	{
+		$isarray = is_array($value);
+		if( $isarray ) { $value = serialize($value); }
+		$key = md5($this->_salt.(string)$value);
+		if( $isarray ) { $key[5] = 'h'; }
+		$added = false;
+		while(!$added)
+		{
+			if( !array_key_exists($key, $this->_IDKEYs) )
+			{
+				$this->_IDKEYs[$key] = $value;
+				$added = true;
+			}else {
+			// if key already exist, increment the last four digits until the key is unique
+				$key = substr($key, -4).dechex(('0x'.substr($key0, -4)) + 1);
+			}
+		}
+		$_SESSION['IDKEYS'] = $this->_IDKEYs;
+		return $key;
+	}
+
+/*
+ * search for key in session and returns the original value
+ * @access public
+ * @param string $key: the alias-key from the original value
+ * @return mixed: the original value (string, numeric, array) or NULL if request fails
+ *
+ * requirements: an active session must be available
+ */
+	function checkIDKEY( $key )
+	{
+		$value = null;
+		if( array_key_exists($key, $this->_IDKEYs))
+		{
+			$value = $this->_IDKEYs[$key];
+			unset($this->_IDKEYs[$key]);
+			$_SESSION['IDKEYS'] = $this->_IDKEYs;
+			if($value[5] == 'h') { $value = unserialize($value); }
+		}
+		return $value;
+	}
+    //put your code here
+}
 ?>
\ No newline at end of file
Index: branches/2.8.x/wb/templates/wb_theme/templates/header.htt
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/templates/header.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/wb_theme/templates/header.htt	(revision 1358)
@@ -1,62 +1,62 @@
-<!-- BEGIN header_block -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>{WEBSITE_TITLE} >> {TEXT_ADMINISTRATION} - {SECTION_NAME}</title>
-<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
-<meta http-equiv="content-language" content="{LANGUAGE}" />
-<meta name="description" content="{TEXT_ADMINISTRATION}" />
-<meta name="keywords" content="{TEXT_ADMINISTRATION}" />
-<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
-{BACKEND_MODULE_CSS}
-<script type="text/javascript">
-var WB_URL = '{WB_URL}';
-var THEME_URL = '{THEME_URL}';
-var ADMIN_URL = '{ADMIN_URL}';
-</script>
-<script src="{WB_URL}/include/jquery/jquery-min.js" type="text/javascript"></script>
-<script src="{WB_URL}/include/jquery/jquery-insert.js" type="text/javascript"></script>
-<!--[if lt IE 7]><script type="text/javascript" src="{WB_URL}/include/jquery/plugins/jquery-pngFix.js"></script><![endif]-->
-<script src="{THEME_URL}/jquery/jquery-plugins.js" type="text/javascript"></script>
-<script src="{WB_URL}/include/editarea/edit_area_full.js" type="text/javascript"></script>
-{BACKEND_MODULE_JS}
-<script type="text/javascript">
-function confirm_link(message, url) {
-	if(confirm(message)) location.href = url;
-}
-
-</script>
-</head>
-<body>
-<table class="header">
-<tr>
-	<td>
-		<a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /></a>
-	</td>
-	<td>&nbsp;</td>
-	<td class="menue">
-         <a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/home.png" border="0" alt="{TITLE_START}" /></a>
-         &nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" border="0" alt="{WB_URL}" /></a>
-	&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" border="0" alt="{TITLE_HELP}" /></a>
-         &nbsp; <a href="{ADMIN_URL}/logout" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/dl.png" border="0" alt="{TITLE_LOGOUT}" /></a>
-</td>
-	<td class="version">
-	Version {VERSION}<br />
-    Revision {REVISION}
-	</td>
-</tr>
-</table>
-
-<table class="container">
-<tr>
-	<td>
-		<ul class="menu">
-			<!-- BEGIN linkBlock -->
-			<li class="{CLASS}"><a href="{LINK}" target="{TARGET}">{TITLE}</a></li>
-			<!-- END linkBlock -->
-		</ul>
-	</td>
-</tr>
-<tr>
-	<td class="content">
+<!-- BEGIN header_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{WEBSITE_TITLE} >> {TEXT_ADMINISTRATION} - {SECTION_NAME}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_ADMINISTRATION}" />
+<meta name="keywords" content="{TEXT_ADMINISTRATION}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+{BACKEND_MODULE_CSS}
+<script type="text/javascript">
+var WB_URL = '{WB_URL}';
+var THEME_URL = '{THEME_URL}';
+var ADMIN_URL = '{ADMIN_URL}';
+</script>
+<script src="{WB_URL}/include/jquery/jquery-min.js" type="text/javascript"></script>
+<script src="{WB_URL}/include/jquery/jquery-insert.js" type="text/javascript"></script>
+<!--[if lt IE 7]><script type="text/javascript" src="{WB_URL}/include/jquery/plugins/jquery-pngFix.js"></script><![endif]-->
+<script src="{THEME_URL}/jquery/jquery-plugins.js" type="text/javascript"></script>
+<script src="{WB_URL}/include/editarea/edit_area_full.js" type="text/javascript"></script>
+{BACKEND_MODULE_JS}
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+
+</script>
+</head>
+<body>
+<table summary="" class="header">
+<tr>
+	<td>
+		<a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /></a>
+	</td>
+	<td>&nbsp;</td>
+	<td class="menue">
+         <a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/home.png" border="0" alt="{TITLE_START}" /></a>
+         &nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" border="0" alt="{WB_URL}" /></a>
+	&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" border="0" alt="{TITLE_HELP}" /></a>
+         &nbsp; <a href="{ADMIN_URL}/logout" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/dl.png" border="0" alt="{TITLE_LOGOUT}" /></a>
+</td>
+	<td class="version">
+	Version {VERSION}<br />
+    Revision {REVISION}
+	</td>
+</tr>
+</table>
+
+<table summary="" class="container">
+<tr>
+	<td>
+		<ul class="menu">
+			<!-- BEGIN linkBlock -->
+			<li class="{CLASS}"><a href="{LINK}" target="{TARGET}">{TITLE}</a></li>
+			<!-- END linkBlock -->
+		</ul>
+	</td>
+</tr>
+<tr>
+	<td class="content">
 <!-- END header_block -->
\ No newline at end of file
Index: branches/2.8.x/wb/templates/wb_theme/templates/footer.htt
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/templates/footer.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/wb_theme/templates/footer.htt	(revision 1358)
@@ -1,19 +1,19 @@
-<!-- BEGIN footer_block -->
-	</td>
-</tr>
-</table>
-
-<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
-<tr>
-	<td style="font-size: 12px; text-align:center;">
-      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
-      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
-      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-	</td>
-</tr>
-</table>
-{BACKEND_BODY_MODULE_JS}
-</body>
-</html>
+<!-- BEGIN footer_block -->
+	</td>
+</tr>
+</table>
+
+<table summary="" cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
+<tr>
+	<td style="font-size: 12px; text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	</td>
+</tr>
+</table>
+{BACKEND_BODY_MODULE_JS}
+</body>
+</html>
 <!-- END footer_block -->
\ No newline at end of file
Index: branches/2.8.x/wb/templates/wb_theme/templates/pages.htt
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/templates/pages.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/wb_theme/templates/pages.htt	(revision 1358)
@@ -1,99 +1,99 @@
-<!-- BEGIN main_block -->
-<div class="{DISPLAY_ADD}">
-    <h2>{HEADING_ADD_PAGE}</h2>
-    <form name="add" action="add.php" method="post">
-	{FTAN}
-    <table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
-    <tr>
-    	<td width="70" height="20">{TEXT_TITLE}:</td>
-    	<td width="240" height="20">
-    		<input type="text" name="title" style="width: 232px;" />
-    	</td>
-    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
-    		{TEXT_ADMINISTRATORS}:
-    		<ul style="list-style-type: none; margin: 0; padding: 0;">
-    			<!-- BEGIN group_list_block -->
-    			<li>
-    			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-    			<label for="admin_group_{TOGGLE}">{NAME}</label>
-    			</li>
-    			<!-- END group_list_block -->
-    		</ul>
-    	</td>
-    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
-    		<div id="viewers" style="display: none;">
-    			{TEXT_REGISTERED_VIEWERS}:
-    			<ul style="list-style-type: none; margin: 0; padding: 0;">
-    				<!-- BEGIN group_list_block2 -->
-    				<li>
-    				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-    				<label for="viewing_group_{TOGGLE}">{NAME}</label>
-    				</li>
-    				<!-- END group_list_block2 -->
-    			</ul>
-    		</div>
-    	</td>
-    </tr>
-    <tr>
-    	<td width="70">{TEXT_TYPE}:</td>
-    	<td width="240">
-    		<select name="type" style="width: 240px;">
-    			<!-- BEGIN module_list_block -->
-    				<option value="{VALUE}"{SELECTED}>{NAME}</option>
-    			<!-- END module_list_block -->
-    		</select>
-    	</td>
-    </tr>
-    <tr>
-    	<td width="70">{TEXT_PARENT}:</td>
-    	<td width="240">
-    		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
-    			<!-- BEGIN page_list_block2 -->
-    			<option value="{ID}"{DISABLED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
-    			<!-- END page_list_block2 -->
-    		</select>
-    	</td>
-    </tr>
-    <tr>
-    	<td width="70">{TEXT_VISIBILITY}:</td>
-    	<td width="240">
-    		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
-    			<option value="public"{SELECTED}>{TEXT_PUBLIC}</option>
-    			<option value="private">{TEXT_PRIVATE}</option>
-    			<option value="registered">{TEXT_REGISTERED}</option>
-    			<option value="hidden">{TEXT_HIDDEN}</option>
-    			<option value="none">{TEXT_NONE}</option>
-    		</select>
-    	</td>
-    </tr>
-    <tr>
-    	<td width="70">&nbsp;</td>
-    	<td colspan="4">
-    		<input type="submit" name="submit" value="{TEXT_ADD}" style="width: 117px;" />
-    		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
-    	</td>
-    </tr>
-    <tr>
-    	<td>&nbsp;</td>
-    	<td>&nbsp;</td>
-    </tr>
-    </table>
-
-    </form>
-
-</div>
-<div class="{DISPLAY_INTRO}" style="padding-top: 10px;">
-<br />
-<h2>{HEADING_MODIFY_INTRO_PAGE}</h2>
-<a href="intro.php">
-{INTRO_LINK}
-</a>
-
-</div>
-<!-- Addition for remembering expanded state of pages -->
-<script type="text/javascript" language="javascript">
-var THEME_URL = '{THEME_URL}';
-var WB_URL = '{WB_URL}';
-</script>
-<script src="{ADMIN_URL}/pages/page_index.js" type="text/javascript" language="javascript"></script>
+<!-- BEGIN main_block -->
+<div class="{DISPLAY_ADD}">
+    <h2>{HEADING_ADD_PAGE}</h2>
+    <form name="add" action="add.php" method="post">
+	{FTAN}
+    <table summary="" cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+    <tr>
+    	<td width="70" height="20">{TEXT_TITLE}:</td>
+    	<td width="240" height="20">
+    		<input type="text" name="title" style="width: 232px;" />
+    	</td>
+    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+    		{TEXT_ADMINISTRATORS}:
+    		<ul style="list-style-type: none; margin: 0; padding: 0;">
+    			<!-- BEGIN group_list_block -->
+    			<li>
+    			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+    			<label for="admin_group_{TOGGLE}">{NAME}</label>
+    			</li>
+    			<!-- END group_list_block -->
+    		</ul>
+    	</td>
+    	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+    		<div id="viewers" style="display: none;">
+    			{TEXT_REGISTERED_VIEWERS}:
+    			<ul style="list-style-type: none; margin: 0; padding: 0;">
+    				<!-- BEGIN group_list_block2 -->
+    				<li>
+    				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+    				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+    				</li>
+    				<!-- END group_list_block2 -->
+    			</ul>
+    		</div>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_TYPE}:</td>
+    	<td width="240">
+    		<select name="type" style="width: 240px;">
+    			<!-- BEGIN module_list_block -->
+    				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+    			<!-- END module_list_block -->
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_PARENT}:</td>
+    	<td width="240">
+    		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+    			<!-- BEGIN page_list_block2 -->
+    			<option value="{ID}"{DISABLED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+    			<!-- END page_list_block2 -->
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">{TEXT_VISIBILITY}:</td>
+    	<td width="240">
+    		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+    			<option value="public"{SELECTED}>{TEXT_PUBLIC}</option>
+    			<option value="private">{TEXT_PRIVATE}</option>
+    			<option value="registered">{TEXT_REGISTERED}</option>
+    			<option value="hidden">{TEXT_HIDDEN}</option>
+    			<option value="none">{TEXT_NONE}</option>
+    		</select>
+    	</td>
+    </tr>
+    <tr>
+    	<td width="70">&nbsp;</td>
+    	<td colspan="4">
+    		<input type="submit" name="submit" value="{TEXT_ADD}" style="width: 117px;" />
+    		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+    	</td>
+    </tr>
+    <tr>
+    	<td>&nbsp;</td>
+    	<td>&nbsp;</td>
+    </tr>
+    </table>
+
+    </form>
+
+</div>
+<div class="{DISPLAY_INTRO}" style="padding-top: 10px;">
+<br />
+<h2>{HEADING_MODIFY_INTRO_PAGE}</h2>
+<a href="intro.php">
+{INTRO_LINK}
+</a>
+
+</div>
+<!-- Addition for remembering expanded state of pages -->
+<script type="text/javascript" language="javascript">
+var THEME_URL = '{THEME_URL}';
+var WB_URL = '{WB_URL}';
+</script>
+<script src="{ADMIN_URL}/pages/page_index.js" type="text/javascript"></script>
 <!-- END main_block -->
\ No newline at end of file
Index: branches/2.8.x/wb/templates/wb_theme/templates/pages_settings.htt
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/templates/pages_settings.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/wb_theme/templates/pages_settings.htt	(revision 1358)
@@ -1,181 +1,181 @@
-<!-- BEGIN main_block -->
-
-<script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript" language="javascript"></script>
-
-<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom: 10px;">
-<tr style="background-color: #F0F0F0;">
-	<td valign="middle" align="left">
-		<h2>{HEADING_MODIFY_PAGE_SETTINGS}</h2>
-	</td>
-	<td nowrap="nowrap">ID: {PAGE_ID}</td>
-	<td align="right">
-		{TEXT_CURRENT_PAGE}:
-		<b>{PAGE_TITLE}</b>
-		-
-		<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{TEXT_MODIFY_PAGE}</a>
-		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
-		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
-		<br />
-		<font style="color: #999999;" class="{DISPLAY_MODIFIED}">
-			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
-		</font>
-	</td>
-</tr>
-</table>
-
-<form name="settings" action="settings2.php" method="post">
-
-<input type="hidden" name="page_id" value="{PAGE_ID}" />
-{FTAN}
-<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
-<tr>
-	<td width="100" height="20">{TEXT_PAGE_TITLE}:</td>
-	<td width="240" height="20">
-		<input type="text" name="page_title" value="{PAGE_TITLE}" style="width: 232px;" />
-	</td>
-	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
-		{TEXT_ADMINISTRATORS}:
-		<ul style="list-style-type: none; margin: 0; padding: 0;">
-			<!-- BEGIN group_list_block -->
-			<li>
-			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-			<label for="admin_group_{TOGGLE}">{NAME}</label>
-			</li>
-			<!-- END group_list_block -->
-		</ul>
-	</td>
-	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
-		<div id="allowed_viewers" style="{DISPLAY_VIEWERS}">
-			{TEXT_ALLOWED_VIEWERS}:
-			<ul style="list-style-type: none; margin: 0; padding: 0;">
-				<!-- BEGIN group_list_block2 -->
-				<li>
-				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-				<label for="viewing_group_{TOGGLE}">{NAME}</label>
-				</li>
-				<!-- END group_list_block2 -->
-			</ul>
-		</div>
-	</td>
-</tr>
-<tr>
-	<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
-	<td width="240" height="20">
-		<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
-	</td>
-</tr>
-<tr>
-	<td width="100">{TEXT_PARENT}:</td>
-	<td width="240">
-		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
-			<!-- BEGIN page_list_block2 -->
-			<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
-			<!-- END page_list_block2 -->
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100">{TEXT_VISIBILITY}:</td>
-	<td width="240">
-		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
-			<option value="public"{PUBLIC_SELECTED}>{TEXT_PUBLIC}</option>
-			<option value="private"{PRIVATE_SELECTED}>{TEXT_PRIVATE}</option>
-			<option value="registered"{REGISTERED_SELECTED}>{TEXT_REGISTERED}</option>
-			<option value="hidden"{HIDDEN_SELECTED}>{TEXT_HIDDEN}</option>
-			<option value="none"{NO_VIS_SELECTED}>{TEXT_NONE}</option>
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100" valign="top">{TEXT_DESCRIPTION}:</td>
-	<td>
-		<textarea name="description" rows="10" cols="1" style="width: 236px; height: 50px;">{DESCRIPTION}</textarea>
-	</td>
-</tr>
-<tr>
-	<td width="100" valign="top">{TEXT_KEYWORDS}:</td>
-	<td>
-		<textarea name="keywords" rows="10" cols="1" style="width: 236px; height: 50px;">{KEYWORDS}</textarea>
-	</td>
-</tr>
-<tr>
-	<td>
-		{TEXT_TARGET}:
-	</td>
-	<td>
-		<select name="target" style="width: 240px;" ><!--  value="{TARGET}" -->
-			<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
-			<option value="_self"{SELF_SELECTED}>{TEXT_SAME_WINDOW}</option>
-			<option value="_top"{TOP_SELECTED}>{TEXT_TOP_FRAME}</option>
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100">{TEXT_TEMPLATE}:</td>
-	<td width="240">
-		<select name="template" style="width: 240px;">
-			<option value="">{TEXT_SYSTEM_DEFAULT}</option>
-			<option value="">----------------------</option>
-			<!-- BEGIN template_list_block -->
-			<option value="{VALUE}"{SELECTED}>{NAME}</option>
-			<!-- END template_list_block -->
-		</select>
-	</td>
-</tr>
-<tr style="{DISPLAY_MENU_LIST}">
-	<td width="100">{TEXT_MENU}:</td>
-	<td width="240">
-		<select name="menu" style="width: 240px;">
-			<!-- BEGIN menu_list_block -->
-			<option value="{VALUE}"{SELECTED}>{NAME}</option>
-			<!-- END menu_list_block -->
-		</select>
-	</td>
-</tr>
-<tr style="{DISPLAY_LANGUAGE_LIST}">
-	<td width="100">{TEXT_LANGUAGE}:</td>
-	<td class="list_language">
-		<select name="language" style="width: 240px;">
-			<!-- BEGIN language_list_block -->
-			<option value="{VALUE}"{SELECTED} style="background: {FLAG_LANG_ICONS} no-repeat center left; padding-left: 20px;">{NAME}</option>
-			<!-- END language_list_block -->
-		</select>
-	</td>
-</tr>
-<!-- insert page_code 20090904-->
-<tr{DISPLAY_CODE_PAGE_LIST}>
-	<td width="100">{TEXT_PAGE_CODE}:</td>
-	<td class="list_page_code">
-		<select name="page_code" class="value_page_code">
-			<!-- BEGIN page_code_list_block -->
-			<option value="{VALUE}"{SELECTED} style="background: {FLAG_CODE_ICON} no-repeat center left; padding-left: 20px;">{PAGE_VALUE}</option>
-			<!-- END page_code_list_block -->
-		</select>
-	</td>
-</tr>
-<!-- page code -->
-<tr>
-	<td width="100">{TEXT_SEARCHING}:</td>
-	<td width="240">
-		<select name="searching" style="width: 240px;">
-			<option value="1">{TEXT_ENABLED}</option>
-			<option value="0"{SEARCHING_DISABLED}>{TEXT_DISABLED}</option>
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100">&nbsp;</td>
-	<td colspan="4">
-		<input type="submit" name="submit" value="{TEXT_SAVE} {SECTION_SETTINGS}" style="width: 117px;" />
-		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
-	</td>
-</tr>
-<tr>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-</table>
-
-</form>
-
+<!-- BEGIN main_block -->
+
+<script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript" language="javascript"></script>
+
+<table summary="" cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom: 10px;">
+<tr style="background-color: #F0F0F0;">
+	<td valign="middle" align="left">
+		<h2>{HEADING_MODIFY_PAGE_SETTINGS}</h2>
+	</td>
+	<td nowrap="nowrap">ID: {PAGE_ID}</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		-
+		<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{TEXT_MODIFY_PAGE}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<br />
+		<font style="color: #999999;" class="{DISPLAY_MODIFIED}">
+			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+</tr>
+</table>
+
+<form name="settings" action="settings2.php" method="post">
+
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+{FTAN}
+<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+<tr>
+	<td width="100" height="20">{TEXT_PAGE_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="page_title" value="{PAGE_TITLE}" style="width: 232px;" />
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		{TEXT_ADMINISTRATORS}:
+		<ul style="list-style-type: none; margin: 0; padding: 0;">
+			<!-- BEGIN group_list_block -->
+			<li>
+			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+			<label for="admin_group_{TOGGLE}">{NAME}</label>
+			</li>
+			<!-- END group_list_block -->
+		</ul>
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		<div id="allowed_viewers" style="{DISPLAY_VIEWERS}">
+			{TEXT_ALLOWED_VIEWERS}:
+			<ul style="list-style-type: none; margin: 0; padding: 0;">
+				<!-- BEGIN group_list_block2 -->
+				<li>
+				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+				</li>
+				<!-- END group_list_block2 -->
+			</ul>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_PARENT}:</td>
+	<td width="240">
+		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+			<!-- BEGIN page_list_block2 -->
+			<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+			<!-- END page_list_block2 -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_VISIBILITY}:</td>
+	<td width="240">
+		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+			<option value="public"{PUBLIC_SELECTED}>{TEXT_PUBLIC}</option>
+			<option value="private"{PRIVATE_SELECTED}>{TEXT_PRIVATE}</option>
+			<option value="registered"{REGISTERED_SELECTED}>{TEXT_REGISTERED}</option>
+			<option value="hidden"{HIDDEN_SELECTED}>{TEXT_HIDDEN}</option>
+			<option value="none"{NO_VIS_SELECTED}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_DESCRIPTION}:</td>
+	<td>
+		<textarea name="description" rows="10" cols="1" style="width: 236px; height: 50px;">{DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_KEYWORDS}:</td>
+	<td>
+		<textarea name="keywords" rows="10" cols="1" style="width: 236px; height: 50px;">{KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td>
+		{TEXT_TARGET}:
+	</td>
+	<td>
+		<select name="target" style="width: 240px;" ><!--  value="{TARGET}" -->
+			<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
+			<option value="_self"{SELF_SELECTED}>{TEXT_SAME_WINDOW}</option>
+			<option value="_top"{TOP_SELECTED}>{TEXT_TOP_FRAME}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_TEMPLATE}:</td>
+	<td width="240">
+		<select name="template" style="width: 240px;">
+			<option value="">{TEXT_SYSTEM_DEFAULT}</option>
+			<option value="">----------------------</option>
+			<!-- BEGIN template_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_MENU_LIST}">
+	<td width="100">{TEXT_MENU}:</td>
+	<td width="240">
+		<select name="menu" style="width: 240px;">
+			<!-- BEGIN menu_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END menu_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_LANGUAGE_LIST}">
+	<td width="100">{TEXT_LANGUAGE}:</td>
+	<td class="list_language">
+		<select name="language" style="width: 240px;">
+			<!-- BEGIN language_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_LANG_ICONS} no-repeat center left; padding-left: 20px;">{NAME}</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- insert page_code 20090904-->
+<tr{DISPLAY_CODE_PAGE_LIST}>
+	<td width="100">{TEXT_PAGE_CODE}:</td>
+	<td class="list_page_code">
+		<select name="page_code" class="value_page_code">
+			<!-- BEGIN page_code_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_CODE_ICON} no-repeat center left; padding-left: 20px;">&nbsp;{PAGE_VALUE}</option>
+			<!-- END page_code_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- page code -->
+<tr>
+	<td width="100">{TEXT_SEARCHING}:</td>
+	<td width="240">
+		<select name="searching" style="width: 240px;">
+			<option value="1">{TEXT_ENABLED}</option>
+			<option value="0"{SEARCHING_DISABLED}>{TEXT_DISABLED}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">&nbsp;</td>
+	<td colspan="4">
+		<input type="submit" name="submit" value="{TEXT_SAVE} {SECTION_SETTINGS}" style="width: 117px;" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+</form>
+
 <!-- END main_block -->
\ No newline at end of file
Index: branches/2.8.x/wb/templates/argos_theme/templates/footer.htt
===================================================================
--- branches/2.8.x/wb/templates/argos_theme/templates/footer.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/argos_theme/templates/footer.htt	(revision 1358)
@@ -1,21 +1,21 @@
-<!-- BEGIN footer_block -->
-
-</td>
-</tr>
-</table>
-
-<table cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0;">
-  <tr>
-    <td style="font-size:12px;text-align:center;">
-      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
-      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
-      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-    </td>
-  </tr>
-</table>
-</div>
-{BACKEND_BODY_MODULE_JS}
-</body>
-</html>
+<!-- BEGIN footer_block -->
+
+</td>
+</tr>
+</table>
+
+<table summary="" cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0;">
+  <tr>
+    <td style="font-size:12px;text-align:center;">
+      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+    </td>
+  </tr>
+</table>
+</div>
+{BACKEND_BODY_MODULE_JS}
+</body>
+</html>
 <!-- END footer_block -->
\ No newline at end of file
Index: branches/2.8.x/wb/templates/argos_theme/templates/pages.htt
===================================================================
--- branches/2.8.x/wb/templates/argos_theme/templates/pages.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/argos_theme/templates/pages.htt	(revision 1358)
@@ -1,92 +1,90 @@
-<!-- BEGIN main_block -->
-<br />
-</div>
-<div class="{DISPLAY_ADD}">
-<h2>{HEADING_ADD_PAGE}</h2>
-<form name="add" action="add.php" method="post">
-{FTAN}
-<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
-  <tr>
-	<td width="70" height="20">{TEXT_TITLE}:</td>
-	<td width="240" height="20"><input type="text" name="title" style="width: 232px;" /></td>
-	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">{TEXT_ADMINISTRATORS}:
-		<ul style="list-style-type: none; margin: 0; padding: 0;">
-			<!-- BEGIN group_list_block -->
-			<li>
-			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-			<label for="admin_group_{TOGGLE}">{NAME}</label>
-			</li>
-			<!-- END group_list_block -->
-		</ul>
-	</td>
-	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
-		<div id="viewers" style="display: none;">{TEXT_REGISTERED_VIEWERS}:
-			<ul style="list-style-type: none; margin: 0; padding: 0;">
-				<!-- BEGIN group_list_block2 -->
-				<li>
-				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-				<label for="viewing_group_{TOGGLE}">{NAME}</label>
-				</li>
-				<!-- END group_list_block2 -->
-			</ul>
-		</div>
-	</td>
-  </tr>
-  <tr height="20">
-	<td width="70">{TEXT_TYPE}:</td>
-	<td width="240">
-		<select name="type" style="width: 240px;">
-			<!-- BEGIN module_list_block -->
-				<option value="{VALUE}"{SELECTED}>{NAME}</option>
-			<!-- END module_list_block -->
-		</select>
-	</td>
-  </tr>
-  <tr height="20">
-	<td width="70">{TEXT_PARENT}:</td>
-	<td width="240">
-		<select name="parent" style="width: 240px;" onChange="return disabled_hack_for_ie(this);">
-			<!-- BEGIN page_list_block2 -->
-			<option value="{ID}"{DISABLED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
-			<!-- END page_list_block2 -->
-		</select>
-	</td>
-  </tr>
-  <tr height="20">
-	<td width="70">{TEXT_VISIBILITY}:</td>
-	<td width="240">
-		<select name="visibility" onChange="javascript: toggle_viewers();" style="width: 240px;">
-			<option value="public" selected>{TEXT_PUBLIC}</option>
-			<option value="private">{TEXT_PRIVATE}</option>
-			<option value="registered">{TEXT_REGISTERED}</option>
-			<option value="hidden">{TEXT_HIDDEN}</option>
-			<option value="none">{TEXT_NONE}</option>
-		</select>
-	</td>
-  </tr>
-  <tr>
-	<td width="70">&nbsp;</td>
-	<td colspan="4">
-		<input type="submit" name="submit" value="{TEXT_ADD}" style="width: 117px;" />
-		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
-	</td>
-  </tr>
-  <tr>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-  </tr>
-</table>
-</form>
-</div>
-<div class="{DISPLAY_INTRO}" style="padding-top: 10px;">
-<br />
-<h2>{HEADING_MODIFY_INTRO_PAGE}</h2>
-<a href="intro.php">{INTRO_LINK}</a>
-</div>
-<!-- Addition for remembering expanded state of pages -->
-<script type="text/javascript">
-var THEME_URL = '{THEME_URL}';
-var WB_URL = '{WB_URL}';
-</script>
-<script src="{ADMIN_URL}/pages/page_index.js" type="text/javascript"></script>
-<!-- END main_block -->
+<!-- BEGIN main_block -->
+<div class="{DISPLAY_ADD}">
+<h2>{HEADING_ADD_PAGE}</h2>
+<form name="add" action="add.php" method="post">
+{FTAN}
+<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+  <tr>
+	<td width="70" height="20">{TEXT_TITLE}:</td>
+	<td width="240" height="20"><input type="text" name="title" style="width: 232px;" /></td>
+	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">{TEXT_ADMINISTRATORS}:
+		<ul style="list-style-type: none; margin: 0; padding: 0;">
+			<!-- BEGIN group_list_block -->
+			<li>
+			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+			<label for="admin_group_{TOGGLE}">{NAME}</label>
+			</li>
+			<!-- END group_list_block -->
+		</ul>
+	</td>
+	<td rowspan="6" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		<div id="viewers" style="display: none;">{TEXT_REGISTERED_VIEWERS}:
+			<ul style="list-style-type: none; margin: 0; padding: 0;">
+				<!-- BEGIN group_list_block2 -->
+				<li>
+				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+				</li>
+				<!-- END group_list_block2 -->
+			</ul>
+		</div>
+	</td>
+  </tr>
+  <tr>
+	<td width="70">{TEXT_TYPE}:</td>
+	<td width="240">
+		<select name="type" style="width: 240px;">
+			<!-- BEGIN module_list_block -->
+				<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END module_list_block -->
+		</select>
+	</td>
+  </tr>
+  <tr>
+	<td width="70">{TEXT_PARENT}:</td>
+	<td width="240">
+		<select  name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+			<!-- BEGIN page_list_block2 -->
+			<option value="{ID}"{DISABLED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+			<!-- END page_list_block2 -->
+		</select>
+	</td>
+  </tr>
+  <tr>
+	<td width="70">{TEXT_VISIBILITY}:</td>
+	<td width="240">
+		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+			<option value="public"{SELECTED}>{TEXT_PUBLIC}</option>
+			<option value="private">{TEXT_PRIVATE}</option>
+			<option value="registered">{TEXT_REGISTERED}</option>
+			<option value="hidden">{TEXT_HIDDEN}</option>
+			<option value="none">{TEXT_NONE}</option>
+		</select>
+	</td>
+  </tr>
+  <tr>
+	<td width="70">&nbsp;</td>
+	<td colspan="4">
+		<input type="submit" name="submit" value="{TEXT_ADD}" style="width: 117px;" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+	</td>
+  </tr>
+  <tr>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+  </tr>
+</table>
+</form>
+</div>
+<div class="{DISPLAY_INTRO}" style="padding-top: 10px;">
+<br />
+<h2>{HEADING_MODIFY_INTRO_PAGE}</h2>
+<a href="intro.php">{INTRO_LINK}</a>
+</div>
+<!-- Addition for remembering expanded state of pages -->
+<script type="text/javascript">
+var THEME_URL = '{THEME_URL}';
+var WB_URL = '{WB_URL}';
+</script>
+<script src="{ADMIN_URL}/pages/page_index.js" type="text/javascript"></script>
+<!-- END main_block -->
Index: branches/2.8.x/wb/templates/argos_theme/templates/header.htt
===================================================================
--- branches/2.8.x/wb/templates/argos_theme/templates/header.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/argos_theme/templates/header.htt	(revision 1358)
@@ -1,56 +1,56 @@
-<!-- BEGIN header_block -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>{WEBSITE_TITLE}&raquo;{TEXT_ADMINISTRATION}-{SECTION_NAME}</title>
-<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
-<meta http-equiv="content-language" content="{LANGUAGE}" />
-<meta name="description" content="{TEXT_ADMINISTRATION}" />
-<meta name="keywords" content="{TEXT_ADMINISTRATION}" />
-<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
-{BACKEND_MODULE_CSS}
-<script type="text/javascript">
-var WB_URL = '{WB_URL}';
-var THEME_URL = '{THEME_URL}';
-var ADMIN_URL = '{ADMIN_URL}';
-</script>
-<script src="{WB_URL}/include/jquery/jquery-min.js" type="text/javascript"></script>
-<script src="{WB_URL}/include/jquery/jquery-insert.js" type="text/javascript"></script>
-<!--[if lt IE 7]><script type="text/javascript" src="{WB_URL}/include/jquery/plugins/jquery-pngFix.js"></script><![endif]-->
-<script src="{THEME_URL}/jquery/jquery-plugins.js" type="text/javascript"></script>
-<script src="{WB_URL}/include/editarea/edit_area_full.js" type="text/javascript"></script>
-{BACKEND_MODULE_JS}
-<script type="text/javascript">
-function confirm_link(message, url) {
-	if(confirm(message)) location.href = url;
-}
-</script>
-</head>
-<body>
-<div id="admin_header">
-  <div id="header_top">
-    <div id="topmenu"> <a href="{ADMIN_URL}" title="{TITLE_START}">Home</a>| <a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}">{TITLE_VIEW}</a>| <a href="{ADMIN_URL}/logout/" title="{TITLE_LOGOUT}">{TITLE_LOGOUT}</a>
-	  <br />
-      <br />
-      <span class="version">CMS Version  {VERSION}</span><br/>
-      <span class="version">Revision {REVISION}</span><br/>
-      <span class="version">Admin version 1.4</span>
-	 </div>
-    <a href="{ADMIN_URL}" title="{TITLE_START}" id="website_title">
-    {WEBSITE_TITLE} - {TEXT_ADMINISTRATION}
-    <!-- <img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /> -->
-    </a> 
-	</div>
-  <div class="menu">
-    <ul>
-      <!-- BEGIN linkBlock -->
-      <li class="{CLASS}"><a href="{LINK}" target="{TARGET}"><span>{TITLE}</span></a></li>
-      <!-- END linkBlock -->
-    </ul>
-  </div>
-</div>
-<div id="content_container">
-<table cellpadding="0" cellspacing="0" border="0" width="900" align="center">
-<tr>
-  <td class="content">
-<!-- END header_block -->
+<!-- BEGIN header_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{WEBSITE_TITLE}&raquo;{TEXT_ADMINISTRATION}-{SECTION_NAME}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_ADMINISTRATION}" />
+<meta name="keywords" content="{TEXT_ADMINISTRATION}" />
+<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
+{BACKEND_MODULE_CSS}
+<script type="text/javascript">
+var WB_URL = '{WB_URL}';
+var THEME_URL = '{THEME_URL}';
+var ADMIN_URL = '{ADMIN_URL}';
+</script>
+<script src="{WB_URL}/include/jquery/jquery-min.js" type="text/javascript"></script>
+<script src="{WB_URL}/include/jquery/jquery-insert.js" type="text/javascript"></script>
+<!--[if lt IE 7]><script type="text/javascript" src="{WB_URL}/include/jquery/plugins/jquery-pngFix.js"></script><![endif]-->
+<script src="{THEME_URL}/jquery/jquery-plugins.js" type="text/javascript"></script>
+<script src="{WB_URL}/include/editarea/edit_area_full.js" type="text/javascript"></script>
+{BACKEND_MODULE_JS}
+<script type="text/javascript">
+function confirm_link(message, url) {
+	if(confirm(message)) location.href = url;
+}
+</script>
+</head>
+<body>
+<div id="admin_header">
+  <div id="header_top">
+    <div id="topmenu"> <a href="{ADMIN_URL}" title="{TITLE_START}">Home</a>| <a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}">{TITLE_VIEW}</a>| <a href="{ADMIN_URL}/logout/" title="{TITLE_LOGOUT}">{TITLE_LOGOUT}</a>
+	  <br />
+      <br />
+      <span class="version">CMS Version  {VERSION}</span><br/>
+      <span class="version">Revision {REVISION}</span><br/>
+      <span class="version">Admin version 1.4</span>
+	 </div>
+    <a href="{ADMIN_URL}" title="{TITLE_START}" id="website_title">
+    {WEBSITE_TITLE} - {TEXT_ADMINISTRATION}
+    <!-- <img src="{THEME_URL}/images/logo.png" border="0" alt="Logo" /> -->
+    </a> 
+	</div>
+  <div class="menu">
+    <ul>
+      <!-- BEGIN linkBlock -->
+      <li class="{CLASS}"><a href="{LINK}" target="{TARGET}"><span>{TITLE}</span></a></li>
+      <!-- END linkBlock -->
+    </ul>
+  </div>
+</div>
+<div id="content_container">
+<table summary="" cellpadding="0" cellspacing="0" border="0" width="900" align="center">
+<tr>
+  <td class="content">
+<!-- END header_block -->
Index: branches/2.8.x/wb/templates/argos_theme/templates/pages_settings.htt
===================================================================
--- branches/2.8.x/wb/templates/argos_theme/templates/pages_settings.htt	(revision 1357)
+++ branches/2.8.x/wb/templates/argos_theme/templates/pages_settings.htt	(revision 1358)
@@ -1,180 +1,178 @@
-<!-- BEGIN main_block -->
-
-<script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript"></script>
-
-<table cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
-  <tr style="background:#f0f0f0;">
-	<td valign="middle" align="left"><h2>{HEADING_MODIFY_PAGE_SETTINGS}</h2></td>
-	<td nowrap="nowrap">ID: {PAGE_ID}</td>
-	<td align="right">
-		{TEXT_CURRENT_PAGE}:
-		<b>{PAGE_TITLE}</b>
-		-
-		<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{TEXT_MODIFY_PAGE}</a>
-		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
-		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
-		<br />
-		<font style="color:#999;" class="{DISPLAY_MODIFIED}">
-			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
-		</font>
-	</td>
-  </tr>
-</table>
-
-<form name="settings" action="settings2.php" method="post">
-
-<input type="hidden" name="page_id" value="{PAGE_ID}" />
-{FTAN}
-
-<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
-<tr>
-	<td width="100" height="20">{TEXT_PAGE_TITLE}:</td>
-	<td width="240" height="20">
-		<input type="text" name="page_title" value="{PAGE_TITLE}" style="width: 232px;" />
-	</td>
-	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
-		{TEXT_ADMINISTRATORS}:
-		<ul style="list-style-type: none; margin: 0; padding: 0;">
-			<!-- BEGIN group_list_block -->
-			<li>
-			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-			<label for="admin_group_{TOGGLE}">{NAME}</label>
-			</li>
-			<!-- END group_list_block -->
-		</ul>
-	</td>
-	<td rowspan="10" valign="top" style="padding:8px 0 0 20px;">
-		<div id="allowed_viewers" style="{DISPLAY_VIEWERS}">
-			{TEXT_ALLOWED_VIEWERS}:
-			<ul style="list-style-type:none;margin:0;padding:0;">
-				<!-- BEGIN group_list_block2 -->
-				<li>
-				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
-				<label for="viewing_group_{TOGGLE}">{NAME}</label>
-				</li>
-				<!-- END group_list_block2 -->
-			</ul>
-		</div>
-	</td>
-</tr>
-<tr>
-	<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
-	<td width="240" height="20">
-		<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
-	</td>
-</tr>
-<tr>
-	<td width="100">{TEXT_PARENT}:</td>
-	<td width="240">
-		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
-			<!-- BEGIN page_list_block2 -->
-			<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
-			<!-- END page_list_block2 -->
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100">{TEXT_VISIBILITY}:</td>
-	<td width="240">
-		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
-			<option value="public"{PUBLIC_SELECTED}>{TEXT_PUBLIC}</option>
-			<option value="private"{PRIVATE_SELECTED}>{TEXT_PRIVATE}</option>
-			<option value="registered"{REGISTERED_SELECTED}>{TEXT_REGISTERED}</option>
-			<option value="hidden"{HIDDEN_SELECTED}>{TEXT_HIDDEN}</option>
-			<option value="none"{NO_VIS_SELECTED}>{TEXT_NONE}</option>
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100" valign="top">{TEXT_DESCRIPTION}:</td>
-	<td>
-		<textarea name="description" rows="10" cols="1" style="width:236px;height:50px;">{DESCRIPTION}</textarea>
-	</td>
-</tr>
-<tr>
-	<td width="100" valign="top">{TEXT_KEYWORDS}:</td>
-	<td>
-		<textarea name="keywords" rows="10" cols="1" style="width:236px;height:50px;">{KEYWORDS}</textarea>
-	</td>
-</tr>
-<tr>
-	<td>
-		{TEXT_TARGET}:
-	</td>
-	<td>
-		<select name="target" style="width: 240px;" ><!--  value="{TARGET}" -->
-			<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
-			<option value="_self"{SELF_SELECTED}>{TEXT_SAME_WINDOW}</option>
-			<option value="_top"{TOP_SELECTED}>{TEXT_TOP_FRAME}</option>
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100">{TEXT_TEMPLATE}:</td>
-	<td width="240">
-		<select name="template" style="width: 240px;">
-			<option value="">{TEXT_SYSTEM_DEFAULT}</option>
-			<option value="">----------------------</option>
-			<!-- BEGIN template_list_block -->
-			<option value="{VALUE}"{SELECTED}>{NAME}</option>
-			<!-- END template_list_block -->
-		</select>
-	</td>
-</tr>
-<tr style="{DISPLAY_MENU_LIST}">
-	<td width="100">{TEXT_MENU}:</td>
-	<td width="240">
-		<select name="menu" style="width: 240px;">
-			<!-- BEGIN menu_list_block -->
-			<option value="{VALUE}"{SELECTED}>{NAME}</option>
-			<!-- END menu_list_block -->
-		</select>
-	</td>
-</tr>
-<tr style="{DISPLAY_LANGUAGE_LIST}">
-	<td width="100">{TEXT_LANGUAGE}:</td>
-	<td width="240">
-		<select name="language" style="width: 240px;">
-			<!-- BEGIN language_list_block -->
-			<option value="{VALUE}"{SELECTED} style="background: {FLAG_LANG_ICONS} no-repeat center left; padding-left: 20px;">{NAME}</option>
-			<!-- END language_list_block -->
-		</select>
-	</td>
-</tr>
-<!-- insert page_code 20090904-->
-<tr{DISPLAY_CODE_PAGE_LIST}>
-	<td width="100">{TEXT_PAGE_CODE}:</td>
-	<td class="list_page_code">
-		<select name="page_code" class="value_page_code">
-			<!-- BEGIN page_code_list_block -->
-			<option value="{VALUE}"{SELECTED} style="background: {FLAG_CODE_ICON} no-repeat center left; padding-left: 20px;">{PAGE_VALUE}</option>
-			<!-- END page_code_list_block -->
-		</select>
-	</td>
-</tr>
-<!-- page code -->
-<tr>
-	<td width="100">{TEXT_SEARCHING}:</td>
-	<td width="240">
-		<select name="searching" style="width: 240px;">
-			<option value="1">{TEXT_ENABLED}</option>
-			<option value="0"{SEARCHING_DISABLED}>{TEXT_DISABLED}</option>
-		</select>
-	</td>
-</tr>
-<tr>
-	<td width="100">&nbsp;</td>
-	<td colspan="4">
-		<input type="submit" name="submit" value="{TEXT_SAVE} {SECTION_SETTINGS}" style="width: 117px;" />
-		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
-	</td>
-</tr>
-<tr>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-</table>
-
-</form>
-
+<!-- BEGIN main_block -->
+
+<script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript"></script>
+
+<table summary="" cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+  <tr style="background:#f0f0f0;">
+	<td valign="middle" align="left"><h2>{HEADING_MODIFY_PAGE_SETTINGS}</h2></td>
+	<td nowrap="nowrap">ID: {PAGE_ID}</td>
+	<td align="right">
+		{TEXT_CURRENT_PAGE}:
+		<b>{PAGE_TITLE}</b>
+		-
+		<a href="{ADMIN_URL}/pages/modify.php?page_id={PAGE_ID}">{TEXT_MODIFY_PAGE}</a>
+		<font style="{DISPLAY_MANAGE_SECTIONS}">-</font>
+		<a href="{ADMIN_URL}/pages/sections.php?page_id={PAGE_ID}" style="{DISPLAY_MANAGE_SECTIONS}">{TEXT_MANAGE_SECTIONS}</a>
+		<br />
+		<font style="color:#999;" class="{DISPLAY_MODIFIED}">
+			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+		</font>
+	</td>
+  </tr>
+</table>
+
+<form name="settings" action="settings2.php" method="post">
+{FTAN}
+<input type="hidden" name="page_id" value="{PAGE_ID}" />
+<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%" align="center">
+<tr>
+	<td width="100" height="20">{TEXT_PAGE_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="page_title" value="{PAGE_TITLE}" style="width: 232px;" />
+	</td>
+	<td rowspan="10" valign="top" style="padding-left: 20px; padding-top: 8px;">
+		{TEXT_ADMINISTRATORS}:
+		<ul style="list-style-type: none; margin: 0; padding: 0;">
+			<!-- BEGIN group_list_block -->
+			<li>
+			<input type="checkbox" name="admin_groups[]" id="admin_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+			<label for="admin_group_{TOGGLE}">{NAME}</label>
+			</li>
+			<!-- END group_list_block -->
+		</ul>
+	</td>
+	<td rowspan="10" valign="top" style="padding:8px 0 0 20px;">
+		<div id="allowed_viewers" style="{DISPLAY_VIEWERS}">
+			{TEXT_ALLOWED_VIEWERS}:
+			<ul style="list-style-type:none;margin:0;padding:0;">
+				<!-- BEGIN group_list_block2 -->
+				<li>
+				<input type="checkbox" name="viewing_groups[]" id="viewing_group_{ID}" value="{ID}"{CHECKED}{DISABLED} />
+				<label for="viewing_group_{TOGGLE}">{NAME}</label>
+				</li>
+				<!-- END group_list_block2 -->
+			</ul>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td width="100" height="20">{TEXT_MENU_TITLE}:</td>
+	<td width="240" height="20">
+		<input type="text" name="menu_title" value="{MENU_TITLE}" style="width: 232px;" />
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_PARENT}:</td>
+	<td width="240">
+		<select name="parent" style="width: 240px;" onchange="return disabled_hack_for_ie(this);">
+			<!-- BEGIN page_list_block2 -->
+			<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+			<!-- END page_list_block2 -->
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_VISIBILITY}:</td>
+	<td width="240">
+		<select name="visibility" onchange="javascript: toggle_viewers();" style="width: 240px;">
+			<option value="public"{PUBLIC_SELECTED}>{TEXT_PUBLIC}</option>
+			<option value="private"{PRIVATE_SELECTED}>{TEXT_PRIVATE}</option>
+			<option value="registered"{REGISTERED_SELECTED}>{TEXT_REGISTERED}</option>
+			<option value="hidden"{HIDDEN_SELECTED}>{TEXT_HIDDEN}</option>
+			<option value="none"{NO_VIS_SELECTED}>{TEXT_NONE}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_DESCRIPTION}:</td>
+	<td>
+		<textarea name="description" rows="10" cols="1" style="width:236px;height:50px;">{DESCRIPTION}</textarea>
+	</td>
+</tr>
+<tr>
+	<td width="100" valign="top">{TEXT_KEYWORDS}:</td>
+	<td>
+		<textarea name="keywords" rows="10" cols="1" style="width:236px;height:50px;">{KEYWORDS}</textarea>
+	</td>
+</tr>
+<tr>
+	<td>
+		{TEXT_TARGET}:
+	</td>
+	<td>
+		<select name="target" style="width: 240px;" ><!--  value="{TARGET}" -->
+			<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
+			<option value="_self"{SELF_SELECTED}>{TEXT_SAME_WINDOW}</option>
+			<option value="_top"{TOP_SELECTED}>{TEXT_TOP_FRAME}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">{TEXT_TEMPLATE}:</td>
+	<td width="240">
+		<select name="template" style="width: 240px;">
+			<option value="">{TEXT_SYSTEM_DEFAULT}</option>
+			<option value="">----------------------</option>
+			<!-- BEGIN template_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END template_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_MENU_LIST}">
+	<td width="100">{TEXT_MENU}:</td>
+	<td width="240">
+		<select name="menu" style="width: 240px;">
+			<!-- BEGIN menu_list_block -->
+			<option value="{VALUE}"{SELECTED}>{NAME}</option>
+			<!-- END menu_list_block -->
+		</select>
+	</td>
+</tr>
+<tr style="{DISPLAY_LANGUAGE_LIST}">
+	<td width="100">{TEXT_LANGUAGE}:</td>
+	<td width="240">
+		<select name="language" style="width: 240px;">
+			<!-- BEGIN language_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_LANG_ICONS} no-repeat center left; padding-left: 20px;">{NAME}</option>
+			<!-- END language_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- insert page_code 20090904-->
+<tr{DISPLAY_CODE_PAGE_LIST}>
+	<td width="100">{TEXT_PAGE_CODE}:</td>
+	<td class="list_page_code">
+		<select name="page_code" class="value_page_code">
+			<!-- BEGIN page_code_list_block -->
+			<option value="{VALUE}"{SELECTED} style="background: {FLAG_CODE_ICON} no-repeat center left; padding-left: 20px;">&nbsp;{PAGE_VALUE}</option>
+			<!-- END page_code_list_block -->
+		</select>
+	</td>
+</tr>
+<!-- page code -->
+<tr>
+	<td width="100">{TEXT_SEARCHING}:</td>
+	<td width="240">
+		<select name="searching" style="width: 240px;">
+			<option value="1">{TEXT_ENABLED}</option>
+			<option value="0"{SEARCHING_DISABLED}>{TEXT_DISABLED}</option>
+		</select>
+	</td>
+</tr>
+<tr>
+	<td width="100">&nbsp;</td>
+	<td colspan="4">
+		<input type="submit" name="submit" value="{TEXT_SAVE} {SECTION_SETTINGS}" style="width: 117px;" />
+		<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
+	</td>
+</tr>
+<tr>
+	<td>&nbsp;</td>
+	<td>&nbsp;</td>
+</tr>
+</table>
+
+</form>
+
 <!-- END main_block -->
\ No newline at end of file
