Index: trunk/CHANGELOG
===================================================================
--- trunk/CHANGELOG	(revision 697)
+++ trunk/CHANGELOG	(revision 698)
@@ -12,6 +12,7 @@
 
 ------------------------------------- 2.7.0 -------------------------------------
 13-Feb-2008 Thomas Hornik
++	allow externl links in menulink-module
 #	fixed an highlighting-issue: highlighting a page with more than one sections mangled umlauts in the second to last section.
 10-Feb-2008 Matthias Gallas
 #	fixed some errors in standard german language file
Index: trunk/wb/index.php
===================================================================
--- trunk/wb/index.php	(revision 697)
+++ trunk/wb/index.php	(revision 698)
@@ -59,22 +59,30 @@
 if($query_this_module->numRows() == 1) { // This is a menu_link. Get link of target-page and redirect
 	// get target_page_id
 	$table = TABLE_PREFIX.'mod_menu_link';
-	$query_tpid = $database->query("SELECT target_page_id, anchor FROM $table WHERE page_id = '$this_page_id'");
+	$query_tpid = $database->query("SELECT target_page_id, anchor, extern FROM $table WHERE page_id = '$this_page_id'");
 	if($query_tpid->numRows() == 1) {
 		$res=$query_tpid->fetchRow();
 		$target_page_id = $res['target_page_id'];
 		$anchor = $res['anchor'];
+		$extern = $res['extern'];
 		if($anchor != '0') $anchor = ''.$anchor;
 		else $anchor = FALSE;
-		// get link of target-page
-		$table = TABLE_PREFIX.'pages';
-		$query_link = $database->query("SELECT link FROM $table WHERE page_id = '$target_page_id'");
-		if($query_link->numRows() == 1) {
-			$res=$query_link->fetchRow();
-			$target_page_link = $res['link'];
-			// redirect
-			header('Location: '.WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.($anchor?'#'.$anchor:''));
-			exit;
+		if($target_page_id == -1) {
+			if($extern!='') {
+				$extern=rtrim($extern, '/');
+				header("Location: $extern/".($anchor?'#'.$anchor:''));
+			}
+		} else {
+			// get link of target-page
+			$table = TABLE_PREFIX.'pages';
+			$query_link = $database->query("SELECT link FROM $table WHERE page_id = '$target_page_id'");
+			if($query_link->numRows() == 1) {
+				$res=$query_link->fetchRow();
+				$target_page_link = $res['link'];
+				// redirect
+				header('Location: '.WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.($anchor?'#'.$anchor:''));
+				exit;
+			}
 		}
 	}
 }
Index: trunk/wb/modules/menu_link/save.php
===================================================================
--- trunk/wb/modules/menu_link/save.php	(revision 697)
+++ trunk/wb/modules/menu_link/save.php	(revision 698)
@@ -34,11 +34,15 @@
 	$foreign_page_id = $admin->add_slashes($_POST['page_link']);
 	$page_target = $admin->add_slashes($_POST['page_target']);
 	$url_target = $admin->add_slashes($_POST['target']);
+	if(isset($_POST['extern']))
+		$extern = $admin->add_slashes($_POST['extern']);
+	else
+		$extern='';
 
 	$table_pages = TABLE_PREFIX.'pages';
 	$table_mod = TABLE_PREFIX.'mod_menu_link';
 	$database->query("UPDATE $table_pages SET target = '$url_target' WHERE page_id = '$page_id'");
-	$database->query("UPDATE $table_mod SET target_page_id = '$foreign_page_id', anchor = '$page_target' WHERE page_id = '$page_id'");
+	$database->query("UPDATE $table_mod SET target_page_id = '$foreign_page_id', anchor = '$page_target', extern = '$extern' WHERE page_id = '$page_id'");
 }
 
 // Check if there is a database error, otherwise say successful
Index: trunk/wb/modules/menu_link/languages/DE_du.php
===================================================================
--- trunk/wb/modules/menu_link/languages/DE_du.php	(revision 697)
+++ trunk/wb/modules/menu_link/languages/DE_du.php	(revision 698)
@@ -31,5 +31,6 @@
 
 // Ueberschriften und Textausgaben
 $MOD_MENU_LINK['TEXT']				= 'Klicke HIER um zur Startseite zu gelangen';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Entfernte Adresse';
 
 ?>
\ No newline at end of file
Index: trunk/wb/modules/menu_link/languages/EN.php
===================================================================
--- trunk/wb/modules/menu_link/languages/EN.php	(revision 697)
+++ trunk/wb/modules/menu_link/languages/EN.php	(revision 698)
@@ -28,5 +28,6 @@
 
 // Headings and text outputs
 $MOD_MENU_LINK['TEXT']				= 'Click HERE to go to the main page';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'External Link';
 
 ?>
\ No newline at end of file
Index: trunk/wb/modules/menu_link/languages/DE.php
===================================================================
--- trunk/wb/modules/menu_link/languages/DE.php	(revision 697)
+++ trunk/wb/modules/menu_link/languages/DE.php	(revision 698)
@@ -31,5 +31,6 @@
 
 // Ueberschriften und Textausgaben
 $MOD_MENU_LINK['TEXT']				= 'Klicken Sie HIER um zur Startseite zu gelangen';
+$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Entfernte Adresse';
 
 ?>
\ No newline at end of file
Index: trunk/wb/modules/menu_link/install.php
===================================================================
--- trunk/wb/modules/menu_link/install.php	(revision 697)
+++ trunk/wb/modules/menu_link/install.php	(revision 698)
@@ -37,6 +37,7 @@
 		`page_id` INT(11) NOT NULL DEFAULT '0',
 		`target_page_id` INT(11) NOT NULL DEFAULT '0',
 		`anchor` VARCHAR(255) NOT NULL DEFAULT '0' ,
+		`extern` VARCHAR(255) NOT NULL DEFAULT '' ,
 		PRIMARY KEY (`section_id`)
 	)
 ");
Index: trunk/wb/modules/menu_link/modify.php
===================================================================
--- trunk/wb/modules/menu_link/modify.php	(revision 697)
+++ trunk/wb/modules/menu_link/modify.php	(revision 698)
@@ -25,12 +25,22 @@
 
 // Must include code to stop this file being accessed directly
 if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+// check if module language file exists for the language set by the user (e.g. DE, EN)
+if(!file_exists(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php')) {
+	// no module language file exists for the language set by the user, include default module language file EN.php
+	require_once(WB_PATH .'/modules/menu_link/languages/EN.php');
+} else {
+	// a module language file exists for the language defined by the user, load it
+	require_once(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php');
+}
 
 // get target page_id
 $table = TABLE_PREFIX.'mod_menu_link';
 $sql_result = $database->query("SELECT * FROM $table WHERE section_id = '$section_id'");
 $sql_row = $sql_result->fetchRow();
-$target_page_id = $sql_row['target_page_id'];
+$target_page_id = $sql_row['target_page_id'];
+$extern = $sql_row['extern'];
 $anchor = $sql_row['anchor'];
 $sel = ' selected';
 
@@ -84,13 +94,14 @@
 // script for target-select-box
 ?>
 <script type="text/javascript">
-	function populate()
-	{
+	function populate() {
 		o=document.getElementById('page_link');
-		d=document.getElementById('page_target');
+		d=document.getElementById('page_target');
+		e=document.getElementById('extern');
 		if(!d){return;}			
 		var mitems=new Array();
 		mitems['0']=[' ','0'];
+		mitems['-1']=[' ','0'];
 		<?php
 		foreach($links AS $pid=>$link) {
 			$str="mitems['$pid']=[";
@@ -116,11 +127,17 @@
 		{
 			d.options[j].text=cur[i];
 			d.options[j++].value=cur[i+1];
-		}
-	}
+		}
+		
+		if(o.value=='-1') {
+			e.disabled = false;
+		} else {
+			e.disabled = true;
+		}
+	}
 </script>
 
-<form action="<?php echo WB_URL ?>/modules/menu_link/save.php" method="post">
+<form name="menulink" action="<?php echo WB_URL ?>/modules/menu_link/save.php" method="post">
 <input type="hidden" name="page_id" value="<?php echo $page_id ?>" />
 <input type="hidden" name="section_id" value="<?php echo $section_id ?>" />
 <table cellpadding="0" cellspacing="0" border="0" width="100%">
@@ -130,11 +147,14 @@
 	</td>
 	<td>
 		<select name="page_link" id="page_link" onchange="populate()" style="width:250px;" />
-			<option value="0"<?php echo $target_page_id=='0'?$sel:''?>><?php echo $TEXT['PLEASE_SELECT']; ?></option>
+			<option value="0"<?php echo $target_page_id=='0'?$sel:''?>><?php echo $TEXT['PLEASE_SELECT']; ?></option>
+			<option value="-1"<?php echo $target_page_id=='-1'?$sel:''?>><?php echo $MOD_MENU_LINK['EXTERNAL_LINK']; ?></option>
 			<?php foreach($links AS $pid=>$link) {
 				echo "<option value=\"$pid\" ".($target_page_id==$pid?$sel:'').">$link</option>";
 			} ?>
-		</select>
+		</select>
+		&nbsp;
+		<input type="text" name="extern" id="extern" value="<?php echo $extern; ?>" style="width:250px;" <?php if($target_page_id!='-1') echo 'disabled="disabled"'; ?> />
 	</td>
 </tr>
 <tr>
Index: trunk/wb/modules/menu_link/add.php
===================================================================
--- trunk/wb/modules/menu_link/add.php	(revision 697)
+++ trunk/wb/modules/menu_link/add.php	(revision 698)
@@ -29,6 +29,6 @@
 }
 
 $table = TABLE_PREFIX ."mod_menu_link";
-$database->query("INSERT INTO `$table` (`page_id`, `section_id`, target_page_id, anchor) VALUES ('$page_id', '$section_id', '0', '0')");
+$database->query("INSERT INTO `$table` (`page_id`, `section_id`, `target_page_id`, `type`, `anchor`, `extern`) VALUES ('$page_id', '$section_id', '0', '0', '0', '')");
 
 ?>
