Revision 698
Added by thorn almost 17 years ago
trunk/CHANGELOG | ||
---|---|---|
12 | 12 |
|
13 | 13 |
------------------------------------- 2.7.0 ------------------------------------- |
14 | 14 |
13-Feb-2008 Thomas Hornik |
15 |
+ allow externl links in menulink-module |
|
15 | 16 |
# fixed an highlighting-issue: highlighting a page with more than one sections mangled umlauts in the second to last section. |
16 | 17 |
10-Feb-2008 Matthias Gallas |
17 | 18 |
# fixed some errors in standard german language file |
trunk/wb/index.php | ||
---|---|---|
59 | 59 |
if($query_this_module->numRows() == 1) { // This is a menu_link. Get link of target-page and redirect |
60 | 60 |
// get target_page_id |
61 | 61 |
$table = TABLE_PREFIX.'mod_menu_link'; |
62 |
$query_tpid = $database->query("SELECT target_page_id, anchor FROM $table WHERE page_id = '$this_page_id'"); |
|
62 |
$query_tpid = $database->query("SELECT target_page_id, anchor, extern FROM $table WHERE page_id = '$this_page_id'");
|
|
63 | 63 |
if($query_tpid->numRows() == 1) { |
64 | 64 |
$res=$query_tpid->fetchRow(); |
65 | 65 |
$target_page_id = $res['target_page_id']; |
66 | 66 |
$anchor = $res['anchor']; |
67 |
$extern = $res['extern']; |
|
67 | 68 |
if($anchor != '0') $anchor = ''.$anchor; |
68 | 69 |
else $anchor = FALSE; |
69 |
// get link of target-page |
|
70 |
$table = TABLE_PREFIX.'pages'; |
|
71 |
$query_link = $database->query("SELECT link FROM $table WHERE page_id = '$target_page_id'"); |
|
72 |
if($query_link->numRows() == 1) { |
|
73 |
$res=$query_link->fetchRow(); |
|
74 |
$target_page_link = $res['link']; |
|
75 |
// redirect |
|
76 |
header('Location: '.WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.($anchor?'#'.$anchor:'')); |
|
77 |
exit; |
|
70 |
if($target_page_id == -1) { |
|
71 |
if($extern!='') { |
|
72 |
$extern=rtrim($extern, '/'); |
|
73 |
header("Location: $extern/".($anchor?'#'.$anchor:'')); |
|
74 |
} |
|
75 |
} else { |
|
76 |
// get link of target-page |
|
77 |
$table = TABLE_PREFIX.'pages'; |
|
78 |
$query_link = $database->query("SELECT link FROM $table WHERE page_id = '$target_page_id'"); |
|
79 |
if($query_link->numRows() == 1) { |
|
80 |
$res=$query_link->fetchRow(); |
|
81 |
$target_page_link = $res['link']; |
|
82 |
// redirect |
|
83 |
header('Location: '.WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.($anchor?'#'.$anchor:'')); |
|
84 |
exit; |
|
85 |
} |
|
78 | 86 |
} |
79 | 87 |
} |
80 | 88 |
} |
trunk/wb/modules/menu_link/save.php | ||
---|---|---|
34 | 34 |
$foreign_page_id = $admin->add_slashes($_POST['page_link']); |
35 | 35 |
$page_target = $admin->add_slashes($_POST['page_target']); |
36 | 36 |
$url_target = $admin->add_slashes($_POST['target']); |
37 |
if(isset($_POST['extern'])) |
|
38 |
$extern = $admin->add_slashes($_POST['extern']); |
|
39 |
else |
|
40 |
$extern=''; |
|
37 | 41 |
|
38 | 42 |
$table_pages = TABLE_PREFIX.'pages'; |
39 | 43 |
$table_mod = TABLE_PREFIX.'mod_menu_link'; |
40 | 44 |
$database->query("UPDATE $table_pages SET target = '$url_target' WHERE page_id = '$page_id'"); |
41 |
$database->query("UPDATE $table_mod SET target_page_id = '$foreign_page_id', anchor = '$page_target' WHERE page_id = '$page_id'"); |
|
45 |
$database->query("UPDATE $table_mod SET target_page_id = '$foreign_page_id', anchor = '$page_target', extern = '$extern' WHERE page_id = '$page_id'");
|
|
42 | 46 |
} |
43 | 47 |
|
44 | 48 |
// Check if there is a database error, otherwise say successful |
trunk/wb/modules/menu_link/languages/DE_du.php | ||
---|---|---|
31 | 31 |
|
32 | 32 |
// Ueberschriften und Textausgaben |
33 | 33 |
$MOD_MENU_LINK['TEXT'] = 'Klicke HIER um zur Startseite zu gelangen'; |
34 |
$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Entfernte Adresse'; |
|
34 | 35 |
|
35 | 36 |
?> |
trunk/wb/modules/menu_link/languages/EN.php | ||
---|---|---|
28 | 28 |
|
29 | 29 |
// Headings and text outputs |
30 | 30 |
$MOD_MENU_LINK['TEXT'] = 'Click HERE to go to the main page'; |
31 |
$MOD_MENU_LINK['EXTERNAL_LINK'] = 'External Link'; |
|
31 | 32 |
|
32 | 33 |
?> |
trunk/wb/modules/menu_link/languages/DE.php | ||
---|---|---|
31 | 31 |
|
32 | 32 |
// Ueberschriften und Textausgaben |
33 | 33 |
$MOD_MENU_LINK['TEXT'] = 'Klicken Sie HIER um zur Startseite zu gelangen'; |
34 |
$MOD_MENU_LINK['EXTERNAL_LINK'] = 'Entfernte Adresse'; |
|
34 | 35 |
|
35 | 36 |
?> |
trunk/wb/modules/menu_link/install.php | ||
---|---|---|
37 | 37 |
`page_id` INT(11) NOT NULL DEFAULT '0', |
38 | 38 |
`target_page_id` INT(11) NOT NULL DEFAULT '0', |
39 | 39 |
`anchor` VARCHAR(255) NOT NULL DEFAULT '0' , |
40 |
`extern` VARCHAR(255) NOT NULL DEFAULT '' , |
|
40 | 41 |
PRIMARY KEY (`section_id`) |
41 | 42 |
) |
42 | 43 |
"); |
trunk/wb/modules/menu_link/modify.php | ||
---|---|---|
25 | 25 |
|
26 | 26 |
// Must include code to stop this file being accessed directly |
27 | 27 |
if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); } |
28 |
|
|
29 |
// check if module language file exists for the language set by the user (e.g. DE, EN) |
|
30 |
if(!file_exists(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php')) { |
|
31 |
// no module language file exists for the language set by the user, include default module language file EN.php |
|
32 |
require_once(WB_PATH .'/modules/menu_link/languages/EN.php'); |
|
33 |
} else { |
|
34 |
// a module language file exists for the language defined by the user, load it |
|
35 |
require_once(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php'); |
|
36 |
} |
|
28 | 37 |
|
29 | 38 |
// get target page_id |
30 | 39 |
$table = TABLE_PREFIX.'mod_menu_link'; |
31 | 40 |
$sql_result = $database->query("SELECT * FROM $table WHERE section_id = '$section_id'"); |
32 | 41 |
$sql_row = $sql_result->fetchRow(); |
33 |
$target_page_id = $sql_row['target_page_id']; |
|
42 |
$target_page_id = $sql_row['target_page_id']; |
|
43 |
$extern = $sql_row['extern']; |
|
34 | 44 |
$anchor = $sql_row['anchor']; |
35 | 45 |
$sel = ' selected'; |
36 | 46 |
|
... | ... | |
84 | 94 |
// script for target-select-box |
85 | 95 |
?> |
86 | 96 |
<script type="text/javascript"> |
87 |
function populate() |
|
88 |
{ |
|
97 |
function populate() { |
|
89 | 98 |
o=document.getElementById('page_link'); |
90 |
d=document.getElementById('page_target'); |
|
99 |
d=document.getElementById('page_target'); |
|
100 |
e=document.getElementById('extern'); |
|
91 | 101 |
if(!d){return;} |
92 | 102 |
var mitems=new Array(); |
93 | 103 |
mitems['0']=[' ','0']; |
104 |
mitems['-1']=[' ','0']; |
|
94 | 105 |
<?php |
95 | 106 |
foreach($links AS $pid=>$link) { |
96 | 107 |
$str="mitems['$pid']=["; |
... | ... | |
116 | 127 |
{ |
117 | 128 |
d.options[j].text=cur[i]; |
118 | 129 |
d.options[j++].value=cur[i+1]; |
119 |
} |
|
120 |
} |
|
130 |
} |
|
131 |
|
|
132 |
if(o.value=='-1') { |
|
133 |
e.disabled = false; |
|
134 |
} else { |
|
135 |
e.disabled = true; |
|
136 |
} |
|
137 |
} |
|
121 | 138 |
</script> |
122 | 139 |
|
123 |
<form action="<?php echo WB_URL ?>/modules/menu_link/save.php" method="post"> |
|
140 |
<form name="menulink" action="<?php echo WB_URL ?>/modules/menu_link/save.php" method="post">
|
|
124 | 141 |
<input type="hidden" name="page_id" value="<?php echo $page_id ?>" /> |
125 | 142 |
<input type="hidden" name="section_id" value="<?php echo $section_id ?>" /> |
126 | 143 |
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
... | ... | |
130 | 147 |
</td> |
131 | 148 |
<td> |
132 | 149 |
<select name="page_link" id="page_link" onchange="populate()" style="width:250px;" /> |
133 |
<option value="0"<?php echo $target_page_id=='0'?$sel:''?>><?php echo $TEXT['PLEASE_SELECT']; ?></option> |
|
150 |
<option value="0"<?php echo $target_page_id=='0'?$sel:''?>><?php echo $TEXT['PLEASE_SELECT']; ?></option> |
|
151 |
<option value="-1"<?php echo $target_page_id=='-1'?$sel:''?>><?php echo $MOD_MENU_LINK['EXTERNAL_LINK']; ?></option> |
|
134 | 152 |
<?php foreach($links AS $pid=>$link) { |
135 | 153 |
echo "<option value=\"$pid\" ".($target_page_id==$pid?$sel:'').">$link</option>"; |
136 | 154 |
} ?> |
137 |
</select> |
|
155 |
</select> |
|
156 |
|
|
157 |
<input type="text" name="extern" id="extern" value="<?php echo $extern; ?>" style="width:250px;" <?php if($target_page_id!='-1') echo 'disabled="disabled"'; ?> /> |
|
138 | 158 |
</td> |
139 | 159 |
</tr> |
140 | 160 |
<tr> |
trunk/wb/modules/menu_link/add.php | ||
---|---|---|
29 | 29 |
} |
30 | 30 |
|
31 | 31 |
$table = TABLE_PREFIX ."mod_menu_link"; |
32 |
$database->query("INSERT INTO `$table` (`page_id`, `section_id`, target_page_id, anchor) VALUES ('$page_id', '$section_id', '0', '0')");
|
|
32 |
$database->query("INSERT INTO `$table` (`page_id`, `section_id`, `target_page_id`, `type`, `anchor`, `extern`) VALUES ('$page_id', '$section_id', '0', '0', '0', '')");
|
|
33 | 33 |
|
34 | 34 |
?> |
Also available in: Unified diff
allow external links in menulink-module