Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1680)
+++ branches/2.8.x/CHANGELOG	(revision 1681)
@@ -11,6 +11,12 @@
 ! = Update/Change
 ===============================================================================
 
+03 May-2012 Build 1681 Werner v.d.Decken(DarkViper)
+! reorganisation of default theme of oage-settings
++ added menu_icon_0 and menu_icon_1
+! update show_menu2 to handle the new icon fields (see README.de|en.txt)
++ add new droplet 'iParentIcon' for use with the new icons
++ added new module-depending language files (not complete yet) in admin/pages
 03 May-2012 Build 1680 Werner v.d.Decken(DarkViper)
 ! renamed file class.database.php to Database.php
 ! renamed class database into Database
Index: branches/2.8.x/wb/admin/skel/themes/htt/pages_settings.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/pages_settings.htt	(revision 1680)
+++ branches/2.8.x/wb/admin/skel/themes/htt/pages_settings.htt	(revision 1681)
@@ -1,6 +1,5 @@
 <!-- BEGIN main_block -->
 <script src="{ADMIN_URL}/pages/page_settings.js" type="text/javascript"></script>
-<link href="http://istmzw01.isteam.loc/WB28x-Branch/wb/templates/wb_theme/theme.css" rel="stylesheet" type="text/css" />
 <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>
@@ -15,7 +14,7 @@
 		</span>
 		<br />
 		<span style="color:#999;" class="{DISPLAY_MODIFIED}">
-			{LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
+			{TEXT_LAST_MODIFIED} {MODIFIED_BY} ({MODIFIED_BY_USERNAME}), {MODIFIED_WHEN}
 		</span>
 	</td>
   </tr>
@@ -26,31 +25,46 @@
 	<input type="hidden" name="page_id" value="{PAGE_IDKEY}" />
 	<div class="page-settings">
 		<div class="page-settings-leftcol"> <!-- left column -->
+			<div class="caption">{TEXT_SECTION_GENERAL}</div>
 			<div>
 				<label for="">{TEXT_PAGE_TITLE}:</label><input
 					type="text" name="page_title" value="{PAGE_TITLE}" />
 			</div>
 			<div>
+				<label for="" style="vertical-align: bottom;">{TEXT_PAGE_ICON}:<br />
+					<span style="font-size:0.85em;">( {ICON_DIR} )</span></label><select
+					name="page_icon">
+					<option value="0">--- {TEXT_NO_SELECTION} ---</option>
+				<!-- BEGIN page_icon_list_block -->
+					<option value="{VALUE}"{SELECTED}>{NAME}</option>
+				<!-- END page_icon_list_block -->
+				</select>
+			</div>
+			<div>
 				<label for="">{TEXT_MENU_TITLE}:</label><input
 					type="text" name="menu_title" value="{MENU_TITLE}" />
 			</div>
 			<div>
-				<label for="">{TEXT_PARENT}:</label><select name="parent">
-				<!-- BEGIN parent_page_list_block -->
-					<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
-				<!-- END parent_page_list_block -->
+				<label for="" style="vertical-align: bottom;">{TEXT_MENU_ICON_0}:<br />
+					<span style="font-size:0.85em;">( {ICON_DIR} )</span></label><select
+					name="menu_icon_0">
+					<option value="0">--- {TEXT_NO_SELECTION} ---</option>
+				<!-- BEGIN menu_icon0_list_block -->
+					<option value="{VALUE}"{SELECTED}>{NAME}</option>
+				<!-- END menu_icon0_list_block -->
 				</select>
 			</div>
 			<div>
-				<label for="">{TEXT_VISIBILITY}:</label><select
-					name="visibility" onchange="javascript: toggle_viewers();">
-					<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>
+				<label for="" style="vertical-align: bottom;">{TEXT_MENU_ICON_1}:<br />
+					<span style="font-size:0.85em;">( {ICON_DIR} )</span></label><select
+					name="menu_icon_1">
+					<option value="0">--- {TEXT_NO_SELECTION} ---</option>
+				<!-- BEGIN menu_icon1_list_block -->
+					<option value="{VALUE}"{SELECTED}>{NAME}</option>
+				<!-- END menu_icon1_list_block -->
 				</select>
 			</div>
+
 			<div>
 				<label for="">{TEXT_DESCRIPTION}:</label><textarea
 					name="description" rows="14" cols="1">{DESCRIPTION}</textarea>
@@ -59,7 +73,25 @@
 				<label for="">{TEXT_KEYWORDS}:</label><textarea
 					name="keywords" rows="14" cols="1">{KEYWORDS}</textarea>
 			</div>
+			<div class="caption">{TEXT_SECTION_ORGANISATION}</div>
 			<div>
+				<label for="">{TEXT_PARENT}:</label><select name="parent">
+				<!-- BEGIN parent_page_list_block -->
+					<option value="{ID}"{SELECTED} style="background: {FLAG_ROOT_ICON} no-repeat center left; padding-left: 20px;">{TITLE}</option>
+				<!-- END parent_page_list_block -->
+				</select>
+			</div>
+		<!-- BEGIN show_menu_list_block -->
+			<div>
+				<label for="">{TEXT_MENU}:</label><select
+					name="menu">
+				<!-- BEGIN menu_list_block -->
+					<option value="{VALUE}"{SELECTED}>{NAME}</option>
+				<!-- END menu_list_block -->
+				</select>
+			</div>
+		<!-- END show_menu_list_block -->
+			<div>
 				<label for="">{TEXT_TARGET}:</label><select
 					name="target" ><!--  value="{TARGET}" -->
 					<option value="_blank"{BLANK_SELECTED}>{TEXT_NEW_WINDOW}</option>
@@ -77,17 +109,8 @@
 				<!-- END template_list_block -->
 				</select>
 			</div>
-		<!-- BEGIN show_menu_list_block -->
+			<div class="caption">{TEXT_SECTION_CONTENT}</div>
 			<div>
-				<label for="">{TEXT_MENU}:</label><select
-					name="menu">
-				<!-- BEGIN menu_list_block -->
-					<option value="{VALUE}"{SELECTED}>{NAME}</option>
-				<!-- END menu_list_block -->
-				</select>
-			</div>
-		<!-- END show_menu_list_block -->
-			<div>
 				<label for="">{TEXT_LANGUAGE}:</label><select
 					name="language">
 				<!-- BEGIN language_list_block -->
@@ -113,9 +136,24 @@
 				</select>
 			</div>
 		</div>
+		<div class="page-settings-righttoprow">
+			<div class="caption">{TEXT_SECTION_SECURITY}</div>
+			<div>
+				<label for="">{TEXT_VISIBILITY}:</label><select
+					name="visibility" onchange="javascript: toggle_viewers();">
+					<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>
+			</div>
+		</div>
+
+
 		<div class="page-settings-centercol"> <!-- center column -->
-			{TEXT_ADMINISTRATORS}<hr />
-			{TEXT_GROUP}<br />
+			<b>{TEXT_ADMINISTRATORS}</b><hr />
+			<u>{TEXT_GROUP}</u><br />
 <!-- *** List of groups which can administrate this page *** -->
 			<ul style="list-style-type: none; margin: 0; padding: 0;">
 			<!-- BEGIN admin_group_list_block -->
@@ -126,7 +164,7 @@
 			<!-- END admin_group_list_block -->
 			</ul>
 			<hr />
-			{TEXT_USER}<br />
+			<u>{TEXT_USER}</u><br />
 <!-- *** List of users which can administrate this page *** -->
 			<select name="admin_users[]" multiple="multiple" size="{USER_LIST_SIZE}">
 				<option value="0">--- {TEXT_NO_SELECTION} ---</option>
@@ -137,8 +175,8 @@
 		</div>
 
 		<div id="allowed_viewers" class="page-settings-rightcol" style="{DISPLAY_VIEWERS}"> <!-- right column -->
-			{TEXT_ALLOWED_VIEWERS}<hr />
-			{TEXT_GROUP}<br />
+			<b>{TEXT_ALLOWED_VIEWERS}</b><hr />
+			<u>{TEXT_GROUP}</u><br />
 <!-- *** List of groups which can see this page *** -->
 			<ul style="list-style-type:none;margin:0;padding:0;">
 			<!-- BEGIN viewer_group_list_block -->
@@ -149,7 +187,7 @@
 			<!-- END viewer_group_list_block -->
 			</ul>
 			<hr />
-			{TEXT_USER}<br />
+			<u>{TEXT_USER}</u><br />
 <!-- *** List of users which can see this page *** -->
 			<select name="viewing_users[]" multiple="multiple" size="{USER_LIST_SIZE}">
 				<option value="0">--- {TEXT_NO_SELECTION} ---</option>
@@ -158,6 +196,7 @@
 			<!-- END viewer_user_list_block -->
 			</select>
 		</div>
+
 		<div style="clear:both; padding-top: 1em;">
 			<input type="submit" name="submit" value="{TEXT_SAVE}" style="width: 117px;" />
 			<input type="reset" name="reset" value="{TEXT_RESET}" style="width: 117px;" />
Index: branches/2.8.x/wb/admin/skel/themes/htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt	(revision 1680)
+++ branches/2.8.x/wb/admin/skel/themes/htt	(revision 1681)

Property changes on: branches/2.8.x/wb/admin/skel/themes/htt
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+pages_settings.html
Index: branches/2.8.x/wb/admin/pages/settings.php
===================================================================
--- branches/2.8.x/wb/admin/pages/settings.php	(revision 1680)
+++ branches/2.8.x/wb/admin/pages/settings.php	(revision 1681)
@@ -15,15 +15,10 @@
  * @lastmodified    $Date$
  *
  */
-
-/*
-*/
 // 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');
 
 /*-- Parent page list ------------------------------------------------------------------*/
 	function parent_list($parent)
@@ -84,6 +79,8 @@
 		}
 	} // end of function parent_list
 /* -------------------------------------------------------------------------------------*/
+	$mLang = ModLanguage::getInstance();
+	$mLang->setLanguage(dirname(__FILE__).'/languages/', LANGUAGE, DEFAULT_LANGUAGE);
 	$sDisabled = ' disabled="disabled"';
 	$sSelected  = ' selected="selected"';
 	$sChecked   = ' checked="checked"';
@@ -94,13 +91,6 @@
 		header("Location: index.php");
 		exit(0);
 	}
-/*
-if( (!($page_id = $admin->checkIDKEY('page_id', 0, $_SERVER['REQUEST_METHOD']))) )
-{
-	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS']);
-	exit();
-}
-*/
 /*-- get all details of current page ---------------------------------------------------*/
 	$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$page_id;
 	if( ($oPages = $database->query($sql)) ) {
@@ -154,15 +144,57 @@
 /*-- workout if we should show the "manage sections" link ------------------------------*/
 	$sql = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'sections` '
 	     . 'WHERE `page_id`='.$page_id.' AND `module`=\'menu_link\'';
-	$sections_available = (intval($database->get_one($sql)) != 0);
-	if ($sections_available) {
-		$oTpl->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
-	} elseif(MANAGE_SECTIONS == 'enabled') {
-		$oTpl->set_var('TEXT_MANAGE_SECTIONS', $HEADING['MANAGE_SECTIONS']);
-	} else {
-		$oTpl->set_var('DISPLAY_MANAGE_SECTIONS', 'display:none;');
+	$bIsMenuLink = (intval($database->get_one($sql)) != 0);
+	$oTpl->set_block('main_block', 'show_manage_sections_block', 'show_manage_sections');
+	if(!$bIsMenuLink && (MANAGE_SECTIONS == true)) {
+		$oTpl->parse('show_manage_sections', 'show_manage_sections_block', true);
+	}else {
+		$oTpl->set_block('show_manage_sections', '');
 	}
 
+/*-- collect page-icons for select boxes -----------------------------------------------*/
+    $sAllowedImageTypes = '\.jpg|\.jpeg|\.png|\.gif';
+	$aPageIcons = array();
+	$aIcon = array();
+	$sTemplate = ($aCurrentPage['template'] == '' ? DEFAULT_TEMPLATE : $aCurrentPage['template']);
+	$sIconDir = str_replace('\\', '/', ((defined('PAGE_ICON_DIR') && PAGE_ICON_DIR != '') ? PAGE_ICON_DIR : MEDIA_DIRECTORY));
+	$sIconDir = str_replace('/*', '/'.$sTemplate, $sIconDir);
+	$oTpl->set_var('ICON_DIR', WB_REL.$sIconDir);
+	if(is_readable(WB_PATH.$sIconDir)) {
+		$oIterator = new DirectoryIterator(WB_PATH.$sIconDir);
+		foreach ($oIterator as $fileinfo) {
+			if(preg_match('/'.$sAllowedImageTypes.'$/i', $fileinfo->getFilename())) {
+				$sItem = str_replace(WB_PATH, '', str_replace('\\', '/', $fileinfo->getPathname()));
+//				$sItem = WB_REL.$sItem;
+				$aPageIcons[] = array('VALUE'=>$sItem, 'NAME'=>$fileinfo->getFilename());
+			}
+		}
+	}
+/*-- show page-icon select box ---------------------------------------------------------*/
+	$oTpl->set_block('main_block', 'page_icon_list_block', 'page_icon_list');
+	foreach($aPageIcons as $value) {
+		$aIcon = $value;
+		$aIcon['SELECTED'] = ($aCurrentPage['page_icon'] == $aIcon['VALUE'] ? $sSelected : '');
+		$oTpl->set_var($aIcon);
+		$oTpl->parse('page_icon_list', 'page_icon_list_block', true);
+	}
+/*-- show menu-icon-0 select box -------------------------------------------------------*/
+	$oTpl->set_block('main_block', 'menu_icon0_list_block', 'menu_icon0_list');
+	foreach($aPageIcons as $value) {
+		$aIcon = $value;
+		$aIcon['SELECTED'] = ($aCurrentPage['menu_icon_0'] == $aIcon['VALUE'] ? $sSelected : '');
+		$oTpl->set_var($aIcon);
+		$oTpl->parse('menu_icon0_list', 'menu_icon0_list_block', true);
+	}
+/*-- show menu-icon-1 select box -------------------------------------------------------*/
+	$oTpl->set_block('main_block', 'menu_icon1_list_block', 'menu_icon1_list');
+	foreach($aPageIcons as $value) {
+		$aIcon = $value;
+		$aIcon['SELECTED'] = ($aCurrentPage['menu_icon_1'] == $aIcon['VALUE'] ? $sSelected : '');
+		$oTpl->set_var($aIcon);
+		$oTpl->parse('menu_icon1_list', 'menu_icon1_list_block', true);
+	}
+
 /*-- show visibility select box --------------------------------------------------------*/
 	$aVisibility = array();
 	$aVisibility['PUBLIC_SELECTED']     = ($aCurrentPage['visibility'] == 'public' ? $sSelected : '');
@@ -305,10 +337,9 @@
 		 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'];
 		$oTpl->set_var('TEXT_PAGE_CODE',
 						   '<a href="'.WB_URL.'/modules/mod_multilingual/update_keys.php?page_id='.
-						   $page_id.'">'.$TEXT['PAGE_CODE'].'</a>'
+						   $page_id.'">'.$mLang->TEXT_PAGE_CODE.'</a>'
 		);
 	/*-- begin recursive function page_code list ---------------------------------------*/
 		function page_code_list($parent)
@@ -373,7 +404,7 @@
 			$selected = ($aCurrentPage['parent'] == 0 ? $sSelected : '');
 			$oTpl->set_var(array(
 					'VALUE' => 0,
-					'PAGE_CODE' => $TEXT['NONE'],
+					'PAGE_CODE' => $mLang->TEXT_NONE,
 					'PAGE_VALUE' => '',
 					'SELECTED' => $selected
 				)
@@ -393,7 +424,7 @@
 	if($admin->get_permission('pages_add_l0') == true OR $aCurrentPage['level'] == 0) {
 		$oTpl->set_var(array(
 					'ID' => '0',
-					'TITLE' => $TEXT['NONE'],
+					'TITLE' => $mLang->TEXT_NONE,
 					'SELECTED' => ($aCurrentPage['parent'] == 0 ? $sSelected : ''),
 					) );
 		$oTpl->parse('parent_page_list', 'parent_page_list_block', true);
@@ -493,51 +524,9 @@
 	$oTpl->set_var('BLANK_SELECTED', ($aCurrentPage['target'] == '_blank' ? $sSelected : ''));
 
 /*-- insert all needed vars from language files ----------------------------------------*/
-	$oTpl->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_USER'                    => $TEXT['USER'],
-		'TEXT_GROUP'                   => $TEXT['GROUP'],
-		'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'],
-		'TEXT_NO_SELECTION'            => $TEXT['NO_SELECTION'],
-	) );
-
+	$oTpl->set_var($mLang->getLangArray());
+/*-- finalize the page -----------------------------------------------------------------*/
 	$oTpl->parse('main', 'main_block', false);
 	$oTpl->pparse('output', 'page');
-
 // Print admin footer
 	$admin->print_footer();
-
-?>
\ No newline at end of file
Index: branches/2.8.x/wb/admin/pages/settings_save.php
===================================================================
--- branches/2.8.x/wb/admin/pages/settings_save.php	(revision 1680)
+++ branches/2.8.x/wb/admin/pages/settings_save.php	(revision 1681)
@@ -78,6 +78,11 @@
 $language = (preg_match('/^[A-Z]{2}$/', $language) ? $language : DEFAULT_LANGUAGE);
 $menu = intval($admin->get_post('menu')); // fix secunia 2010-91-3
 $page_code = (isset($_POST['page_code']) ? intval($_POST['page_code']) : 0);
+$sPageIcon = (isset($_POST['page_icon']) ? $_POST['page_icon'] : 0);
+$sMenuIcon0 = (isset($_POST['menu_icon_0']) ? $_POST['menu_icon_0'] : 0);
+$sMenuIcon1 = (isset($_POST['menu_icon_1']) ? $_POST['menu_icon_1'] : 0);
+
+
 // Validate data
 if($page_title == '' || substr($page_title,0,1)=='.')
 {
@@ -122,6 +127,13 @@
 $sViewingUsers = implode(',', array_diff($aViewingUsers, array(0)));
 $sViewingUsers = (preg_match('/^,|[^0-9,]|,,|,$/', $sViewingUsers) ? array() : $sViewingUsers);
 
+$sPageIcon = (($sPageIcon == '0') ? '' : $sPageIcon);
+if(!is_readable(WB_PATH.$sPageIcon)) { $sPageIcon = ''; }
+$sMenuIcon0 = (($sMenuIcon0 == '0') ? '' : $sMenuIcon0);
+if(!is_readable(WB_PATH.$sMenuIcon0)) { $sMenuIcon0 = ''; }
+$sMenuIcon1 = (($sMenuIcon1 == '0') ? '' : $sMenuIcon1);
+if(!is_readable(WB_PATH.$sMenuIcon1)) { $sMenuIcon1 = ''; }
+
 // If needed, get new order
 if($parent != $old_parent)
 {
@@ -196,7 +208,11 @@
 $sql = 'UPDATE `'.TABLE_PREFIX.'pages` '
      . 'SET `parent`='.$parent.', '
      .     '`page_title`=\''.$page_title.'\', '
+     .     '`tooltip`=\''.$page_title.'\', '
+     .     '`page_icon` =\''.mysql_real_escape_string($sPageIcon).'\', '
      .     '`menu_title`=\''.$menu_title.'\', '
+     .     '`menu_icon_0` =\''.mysql_real_escape_string($sMenuIcon0).'\', '
+     .     '`menu_icon_1` =\''.mysql_real_escape_string($sMenuIcon1).'\', '
      .     '`menu`='.$menu.', '
      .     '`level`='.$level.', '
      .     '`page_trail`=\''.$page_trail.'\', '
Index: branches/2.8.x/wb/admin/pages/languages/EN.php
===================================================================
--- branches/2.8.x/wb/admin/pages/languages/EN.php	(nonexistent)
+++ branches/2.8.x/wb/admin/pages/languages/EN.php	(revision 1681)
@@ -0,0 +1,55 @@
+<?php
+/****************************************************************************************
+ * extended language definition for WebsiteBaker                                        *
+ * ACP-module  pages                                                                    *
+ * english (GB)                                                                         *
+ ****************************************************************************************/
+
+$HEADING['MODIFY_PAGE']          = 'Modify Page';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Modify Page Settings';
+
+$TEXT['ADMINISTRATORS']  = 'Administrators';
+$TEXT['ALLOWED_VIEWERS'] = 'Allowed Viewers';
+$TEXT['CURRENT_PAGE']    = 'Current Page';
+$TEXT['DESCRIPTION']     = 'Description';
+$TEXT['DISABLED']        = 'Disabled';
+$TEXT['ENABLED']         = 'Enabled';
+$TEXT['GROUP']           = 'Groups';
+$TEXT['HIDDEN']          = 'Hidden';
+$TEXT['KEYWORDS']        = 'Keywords';
+$TEXT['LANGUAGE']        = 'Language';
+$TEXT['MANAGE_SECTIONS'] = 'Manage Sections';
+$TEXT['MENU']            = 'Menu';
+$TEXT['MENU_TITLE']      = 'Menu Title';
+$TEXT['MODIFY']          = 'Modify';
+$TEXT['NEW_WINDOW']      = 'New Window';
+$TEXT['NO_SELECTION']    = 'no selection';
+$TEXT['NONE']            = 'None';
+$TEXT['PAGE_CODE']       = 'Pagecode (language link)';
+$TEXT['PAGE_TITLE']      = 'Page Title';
+$TEXT['PARENT']          = 'Parent';
+$TEXT['PLEASE_SELECT']   = 'Please select';
+$TEXT['PRIVATE']         = 'Private';
+$TEXT['PUBLIC']          = 'Public';
+$TEXT['REGISTERED']      = 'Registered';
+$TEXT['RESET']           = 'Reset';
+$TEXT['SAME_WINDOW']     = 'Same Window';
+$TEXT['SAVE']            = 'Save';
+$TEXT['SEARCHING']       = 'Searching';
+$TEXT['SYSTEM_DEFAULT']  = 'System Default';
+$TEXT['TARGET']          = 'Target';
+$TEXT['TEMPLATE']        = 'Template';
+$TEXT['TOP_FRAME']       = 'Top Frame';
+$TEXT['TYPE']            = 'Type';
+$TEXT['USER']            = 'Users';
+$TEXT['VISIBILITY']      = 'Visibility';
+
+$TEXT['SECTION_GENERAL']      = 'General';
+$TEXT['SECTION_ORGANISATION'] = 'Organisation';
+$TEXT['SECTION_CONTENT']      = 'Content';
+$TEXT['SECTION_SECURITY']     = 'Security';
+$TEXT['PAGE_ICON']            = 'Page image';
+$TEXT['MENU_ICON_0']          = 'Menu image normal';
+$TEXT['MENU_ICON_1']          = 'Menu image hover';
+
+$MESSAGE['PAGES_LAST_MODIFIED'] = 'Last modification by';
\ No newline at end of file

Property changes on: branches/2.8.x/wb/admin/pages/languages/EN.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/pages/languages/DE.php
===================================================================
--- branches/2.8.x/wb/admin/pages/languages/DE.php	(nonexistent)
+++ branches/2.8.x/wb/admin/pages/languages/DE.php	(revision 1681)
@@ -0,0 +1,57 @@
+<?php
+/****************************************************************************************
+ * extended language definition for WebsiteBaker                                        *
+ * ACP-module  pages                                                                    *
+ * deutsch                                                                              *
+ ****************************************************************************************/
+
+$HEADING['MODIFY_PAGE']          = 'Seite &auml;ndern';
+$HEADING['MODIFY_PAGE_SETTINGS'] = 'Seitenoptionen &auml;ndern';
+
+$TEXT['ADMINISTRATORS']  = 'Administratoren';
+$TEXT['ALLOWED_VIEWERS'] = 'Zugelassene Besucher';
+$TEXT['CURRENT_PAGE']    = 'Aktuelle Seite';
+$TEXT['DESCRIPTION']     = 'Beschreibung';
+$TEXT['DISABLED']        = 'Ausgeschaltet';
+$TEXT['ENABLED']         = 'Eingeschaltet';
+$TEXT['GROUP']           = 'Gruppen';
+$TEXT['HIDDEN']          = 'Versteckt';
+$TEXT['KEYWORDS']        = 'Schl&uuml;sselw&ouml;rter';
+$TEXT['LANGUAGE']        = 'Sprache';
+$TEXT['LAST_MODIFIED']   = 'Letzte &Auml;nderung durch';
+$TEXT['MANAGE_SECTIONS'] = 'Abschnitte verwalten';
+$TEXT['MENU']            = 'Men&uuml;';
+$TEXT['MENU_TITLE']      = 'Men&uuml;titel';
+$TEXT['MODIFY']          = '&Auml;ndern';
+$TEXT['MODIFY_PAGE']     = 'Seite &auml;ndern';
+$TEXT['NEW_WINDOW']      = 'Neues Fenster';
+$TEXT['NO_SELECTION']    = 'keine Auswahl';
+$TEXT['NONE']            = 'Keine';
+$TEXT['PAGE_CODE']       = 'Seitencode (Sprachlink)';
+$TEXT['PAGE_TITLE']      = 'Seitentitel';
+$TEXT['PARENT']          = '&Uuml;bergeordnete Seite';
+$TEXT['PLEASE_SELECT']   = 'Bitte ausw&auml;hlen';
+$TEXT['PRIVATE']         = 'Privat';
+$TEXT['PUBLIC']          = '&Ouml;ffentlich';
+$TEXT['REGISTERED']      = 'registriert';
+$TEXT['RESET']           = 'Zur&uuml;cksetzen';
+$TEXT['SAME_WINDOW']     = 'Gleiches Fenster';
+$TEXT['SAVE']            = 'Speichern';
+$TEXT['SEARCHING']       = 'Suchfunktion';
+$TEXT['SYSTEM_DEFAULT']  = 'Standardeinstellung';
+$TEXT['TARGET']          = 'LinkZiel';
+$TEXT['TEMPLATE']        = 'Template';
+$TEXT['TOP_FRAME']       = 'Frameset sprengen';
+$TEXT['TYPE']            = 'Art';
+$TEXT['USER']            = 'Benutzer';
+$TEXT['VISIBILITY']      = 'Sichtbarkeit';
+
+$TEXT['SECTION_GENERAL']      = 'Allgemein';
+$TEXT['SECTION_ORGANISATION'] = 'Organisation';
+$TEXT['SECTION_CONTENT']      = 'Inhalt';
+$TEXT['SECTION_SECURITY']     = 'Sicherheit';
+$TEXT['PAGE_ICON']            = 'Seitenbild';
+$TEXT['MENU_ICON_0']          = 'Menübild normal';
+$TEXT['MENU_ICON_1']          = 'Menübild hover';
+
+$MESSAGE['PAGES_LAST_MODIFIED'] = 'Letze &Auml;nderung durch';

Property changes on: branches/2.8.x/wb/admin/pages/languages/DE.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1680)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1681)
@@ -51,5 +51,5 @@
 
 // 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.3');
-if(!defined('REVISION')) define('REVISION', '1680');
+if(!defined('REVISION')) define('REVISION', '1681');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/modules/show_menu2/README.de.txt
===================================================================
--- branches/2.8.x/wb/modules/show_menu2/README.de.txt	(revision 1680)
+++ branches/2.8.x/wb/modules/show_menu2/README.de.txt	(revision 1681)
@@ -501,12 +501,12 @@
 [class]         Liste der Klassen für diese Seite
 [menu_title]    Text des Menütitel 
                 (HTML entity escaped ausser das SM2_NOESCAPE Flag ist gesetzt)
-[menu_icon_0]	die URL zu einer Bilddatei mit normal - Darstellung (ab WB2.9.0)
-[menu_icon_1]	die URL zu einer Bilddatei mit active/hover - Darstellung (ab WB2.9.0)
+[menu_icon_0]	die URL zu einer Bilddatei mit normal - Darstellung (ab WB2.8.4)
+[menu_icon_1]	die URL zu einer Bilddatei mit active/hover - Darstellung (ab WB2.8.4)
 [page_title]    text des Seitentitel 
                 (HTML entity escaped ausser das SM2_NOESCAPE Flag ist gesetzt)
-[page_icon]		die URL zu einer seitenbezogenen Bilddatei (ab WB2.9.0)
-[tooltip]       Tooltip-Text, der normal im title-Attribut der Links ausgegeben wird
+[page_icon]		die URL zu einer seitenbezogenen Bilddatei (ab WB2.8.4)
+[tooltip]       Tooltip-Text, der normal im title-Attribut der Links ausgegeben wird (ab WB2.8.4)
 [url]           die URL der Seiten für den <a> tag
 [target]        das Seitenziel für den <a> tag
 [page_id]       die Page ID des aktuellen Menüpunktes.
Index: branches/2.8.x/wb/modules/show_menu2/include.php
===================================================================
--- branches/2.8.x/wb/modules/show_menu2/include.php	(revision 1680)
+++ branches/2.8.x/wb/modules/show_menu2/include.php	(revision 1681)
@@ -539,7 +539,7 @@
         if (version_compare(WB_VERSION, '2.7', '>=')) { // WB 2.7+
             $fields .= ',`viewing_users`';
         }
-		if(version_compare(WB_VERSION, '2.9.0', '>=')) {
+		if(version_compare(WB_VERSION, '2.8.4', '>=')) {
             $fields .= ',`menu_icon_0`,`menu_icon_1`,`page_icon`,`tooltip`';
 		}
         if ($flags & SM2_ALLINFO) {
@@ -576,6 +576,16 @@
                         continue;
                     }
                 }
+				if(isset($page['page_icon']) && $page['page_icon'] != '') {
+					$page['page_icon'] = WB_URL.$page['page_icon'];
+				}
+				if(isset($page['menu_icon_0']) && $page['menu_icon_0'] != '') {
+					$page['menu_icon_0'] = WB_URL.$page['menu_icon_0'];
+				}
+				if(isset($page['menu_icon_1']) && $page['menu_icon_1'] != '') {
+					$page['menu_icon_1'] = WB_URL.$page['menu_icon_1'];
+				}
+
 				if(!isset($page['tooltip'])) { $page['tooltip'] = $page['page_title']; }
                 // ensure that we have an array entry in the table to add this to
                 $idx = $page['parent'];
Index: branches/2.8.x/wb/modules/show_menu2/README.en.txt
===================================================================
--- branches/2.8.x/wb/modules/show_menu2/README.en.txt	(revision 1680)
+++ branches/2.8.x/wb/modules/show_menu2/README.en.txt	(revision 1681)
@@ -449,10 +449,11 @@
 [ul]            <ul> tag including class:   '<ul class="[class]">'
 [class]         List of classes for that page
 [menu_title]    Menu title text (HTML entity escaped unless SM2_NOESCAPE flag is used)
-[menu_icon_0]	URL poining to an image for display normal - status
-[menu_icon_1]	URL poining to an image for display active/hover - status
+[menu_icon_0]	URL poining to an image for display normal - status (from WB2.8.4)
+[menu_icon_1]	URL poining to an image for display active/hover - status (from WB2.8.4)
 [page_title]    Page title text (HTML entity escaped unless SM2_NOESCAPE flag is used)
-[page_icon]		URL poining to an image relating to the current page
+[page_icon]		URL poining to an image relating to the current page (from WB2.8.4)
+[tooltip]       Tooltip caption, normaly shown in title-attribute of links (ab WB2.8.4)
 [url]           Page URL for the <a> tag
 [target]        Page target for the <a> tag
 [page_id]       Page ID of the current menu item
Index: branches/2.8.x/wb/modules/droplets/example/iParentPageIcon.php
===================================================================
--- branches/2.8.x/wb/modules/droplets/example/iParentPageIcon.php	(nonexistent)
+++ branches/2.8.x/wb/modules/droplets/example/iParentPageIcon.php	(revision 1681)
@@ -0,0 +1,33 @@
+//:search for icon in current page and parent pages if not found
+//:Use: [[iParentPageIcon?type=1]] Display the page-icon(0)(default) or menu_icon_0(1) or menu_icon_1(2) if found
+// @author: Werner von der Decken
+// @param int $type: 0=page_icon(default) | 1=menu_icon_0 | 2=menu_icon_1
+// @param string $icon: name of a default image placed in WB_PATH/TEMPLATE/
+// @return: a valid image-URL or empty string
+//
+global $wb, $database;
+$type = !isset($type) ? 0 : (intval($type) % 3);
+$icontypes = array( 0=>'page_icon', 1=>'menu_icon_0', 2=>'menu_icon_1');
+$icon_url = '';
+if( isset($icon) && file_exists(WB_PATH.'/'.TEMPLATE.'/'.$icon) )
+{
+	$icon_url = WB_REL.'/'.TEMPLATE.'/'.$icon;
+}
+if( !isset($wb->page_icon) ) { return $icon_url; }
+$tmp_trail = $wb->page_trail;
+$tmp_trail = array_reverse($tmp_trail);
+foreach($tmp_trail as $pid)
+{
+	$sql  = 'SELECT `'.$icontypes[$type].'` ';
+	$sql .= 'FROM `'.TABLE_PREFIX.'pages` ';
+	$sql .= 'WHERE `page_id`='.(int)$pid;
+	if( ($icon = $database->get_one($sql)) != false )
+	{
+		if( file_exists(WB_PATH.$icon) )
+		{
+			$icon_url = WB_REL.$icon;
+			break;
+		}
+	}
+}
+return $icon_url;

Property changes on: branches/2.8.x/wb/modules/droplets/example/iParentPageIcon.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
