Revision 1696
Added by Luisehahne about 13 years ago
| branches/2.8.x/wb/upgrade-script.php | ||
|---|---|---|
| 473 | 473 |
} |
| 474 | 474 |
/********************************************************** |
| 475 | 475 |
* - Add field "redirect_type" to table "mod_menu_link" |
| 476 |
* has to be moved later to upgrade.php in modul menu_link, because modul can be removed |
|
| 476 | 477 |
*/ |
| 477 | 478 |
$table_name = TABLE_PREFIX.'mod_menu_link'; |
| 478 | 479 |
$field_name = 'redirect_type'; |
| 479 |
$description = "INT NOT NULL DEFAULT '302' AFTER `target_page_id`";
|
|
| 480 |
$description = "INT NOT NULL DEFAULT '301' AFTER `target_page_id`";
|
|
| 480 | 481 |
if(!$database->field_exists($table_name,$field_name)) {
|
| 481 | 482 |
echo "<br />Adding field redirect_type to mod_menu_link table"; |
| 482 | 483 |
echo ($database->field_add($table_name, $field_name, $description) ? " $OK<br />" : " $FAIL!<br />"); |
| 483 | 484 | |
| branches/2.8.x/wb/index.php | ||
|---|---|---|
| 4 | 4 |
* @category frontend |
| 5 | 5 |
* @package page |
| 6 | 6 |
* @author WebsiteBaker Project |
| 7 |
* @copyright 2009-, Website Baker Org. e.V.
|
|
| 7 |
* @copyright 2009-, WebsiteBaker Org. e.V. |
|
| 8 | 8 |
* @link http://www.websitebaker2.org/ |
| 9 | 9 |
* @license http://www.gnu.org/licenses/gpl.html |
| 10 | 10 |
* @platform WebsiteBaker 2.8.x |
| ... | ... | |
| 60 | 60 |
require(WB_PATH.'/framework/frontend.functions.php'); |
| 61 | 61 |
|
| 62 | 62 |
// redirect menu-link |
| 63 |
$this_page_id = PAGE_ID; |
|
| 63 |
/** |
|
| 64 |
* |
|
| 65 |
* Removed the extra handling of menu links in index.php |
|
| 66 |
* Moved it to the view.php of module menu links. |
|
| 67 |
* Now the extra functionality of this module is seperated from the |
|
| 68 |
* core and you can uninstall it if you like. |
|
| 69 |
* Freeing the core from unnecessary code. |
|
| 70 |
* |
|
| 71 |
* |
|
| 72 |
*/ |
|
| 64 | 73 |
|
| 65 |
$php43 = version_compare(phpversion(), '4.3', '>='); |
|
| 66 |
|
|
| 67 |
$sql = 'SELECT `module`, `block` FROM `'.TABLE_PREFIX.'sections` '; |
|
| 68 |
$sql .= 'WHERE `page_id` = '.(int)$this_page_id.' AND `module` = "menu_link"'; |
|
| 69 |
$query_this_module = $database->query($sql); |
|
| 70 |
if($query_this_module->numRows() == 1) // This is a menu_link. Get link of target-page and redirect |
|
| 71 |
{
|
|
| 72 |
// get target_page_id |
|
| 73 |
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'mod_menu_link` WHERE `page_id` = '.(int)$this_page_id; |
|
| 74 |
$query_tpid = $database->query($sql); |
|
| 75 |
if($query_tpid->numRows() == 1) |
|
| 76 |
{
|
|
| 77 |
$res = $query_tpid->fetchRow(); |
|
| 78 |
$target_page_id = $res['target_page_id']; |
|
| 79 |
$redirect_type = $res['redirect_type']; |
|
| 80 |
$anchor = ($res['anchor'] != '0' ? '#'.(string)$res['anchor'] : ''); |
|
| 81 |
$extern = $res['extern']; |
|
| 82 |
// set redirect-type |
|
| 83 |
if($redirect_type == 301) |
|
| 84 |
{
|
|
| 85 |
if($php43) |
|
| 86 |
{
|
|
| 87 |
@header('HTTP/1.1 301 Moved Permanently', TRUE, 301);
|
|
| 88 |
} |
|
| 89 |
else |
|
| 90 |
{
|
|
| 91 |
@header('HTTP/1.1 301 Moved Permanently');
|
|
| 92 |
} |
|
| 93 |
} |
|
| 94 |
if($target_page_id == -1) |
|
| 95 |
{
|
|
| 96 |
if($extern != '') |
|
| 97 |
{
|
|
| 98 |
$target_url = $extern.$anchor; |
|
| 99 |
header('Location: '.$target_url);
|
|
| 100 |
exit; |
|
| 101 |
} |
|
| 102 |
} |
|
| 103 |
else |
|
| 104 |
{
|
|
| 105 |
// get link of target-page |
|
| 106 |
$sql = 'SELECT `link` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$target_page_id; |
|
| 107 |
$target_page_link = $database->get_one($sql); |
|
| 108 |
if($target_page_link != null) |
|
| 109 |
{
|
|
| 110 |
$target_url = WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.$anchor; |
|
| 111 |
header('Location: '.$target_url);
|
|
| 112 |
exit; |
|
| 113 |
} |
|
| 114 |
} |
|
| 115 |
} |
|
| 116 |
} |
|
| 117 |
//Get pagecontent in buffer for Droplets and/or Filter operations |
|
| 118 | 74 |
ob_start(); |
| 119 | 75 |
require(WB_PATH.'/templates/'.TEMPLATE.'/index.php'); |
| 120 | 76 |
$output = ob_get_contents(); |
| branches/2.8.x/wb/modules/menu_link/view.php | ||
|---|---|---|
| 3 | 3 |
* |
| 4 | 4 |
* @category modules |
| 5 | 5 |
* @package Menu Link |
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2004-2009, Ryan Djurovich |
|
| 8 |
* @copyright 2009-2011, Website Baker Org. e.V. |
|
| 6 |
* @author Ryan Djurovich, WebsiteBaker Project, Norbert Heimsath |
|
| 7 |
* @copyright 2009-2012, Website Baker Org. e.V. |
|
| 9 | 8 |
* @link http://www.websitebaker2.org/ |
| 10 | 9 |
* @license http://www.gnu.org/licenses/gpl.html |
| 11 | 10 |
* @platform WebsiteBaker 2.8.x |
| 12 | 11 |
* @requirements PHP 5.2.2 and higher |
| 13 | 12 |
* @version $Id$ |
| 14 |
* @filesource $HeadURL: http://svn.websitebaker2.org/branches/2.8.x/wb/modules/wysiwyg/modify.php $
|
|
| 15 |
* @lastmodified $Date: 2011-01-11 20:29:52 +0100 (Di, 11 Jan 2011) $
|
|
| 13 |
* @filesource $HeadURL$ |
|
| 14 |
* @lastmodified $Date$ |
|
| 16 | 15 |
* |
| 17 | 16 |
*/ |
| 18 | 17 |
|
| 19 | 18 |
// Must include code to stop this file being access directly |
| 20 |
if(defined('WB_PATH') == false) { die("Cannot access this file directly"); }
|
|
| 19 |
/* -------------------------------------------------------- */ |
|
| 20 |
if(defined('WB_PATH') == false)
|
|
| 21 |
{
|
|
| 22 |
// Stop this file being access directly |
|
| 23 |
die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
|
|
| 24 |
} |
|
| 25 |
/* -------------------------------------------------------- */ |
|
| 21 | 26 |
|
| 22 | 27 |
// check if module language file exists for the language set by the user (e.g. DE, EN) |
| 23 | 28 |
if(!file_exists(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php')) {
|
| ... | ... | |
| 28 | 33 |
require_once(WB_PATH .'/modules/menu_link/languages/'.LANGUAGE .'.php'); |
| 29 | 34 |
} |
| 30 | 35 |
|
| 36 |
|
|
| 37 |
// redirect menu-link |
|
| 38 |
$this_page_id = PAGE_ID; |
|
| 39 |
|
|
| 40 |
$php43 = version_compare(phpversion(), '4.3', '>='); |
|
| 41 |
|
|
| 42 |
$sql = 'SELECT `module`, `block` FROM `'.TABLE_PREFIX.'sections` '; |
|
| 43 |
$sql .= 'WHERE `page_id` = '.(int)$this_page_id.' AND `module` = "menu_link"'; |
|
| 44 |
$query_this_module = $database->query($sql); |
|
| 45 |
if($query_this_module->numRows() == 1) // This is a menu_link. Get link of target-page and redirect |
|
| 46 |
{
|
|
| 47 |
// get target_page_id |
|
| 48 |
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'mod_menu_link` WHERE `page_id` = '.(int)$this_page_id; |
|
| 49 |
$query_tpid = $database->query($sql); |
|
| 50 |
if($query_tpid->numRows() == 1) |
|
| 51 |
{
|
|
| 52 |
$res = $query_tpid->fetchRow(); |
|
| 53 |
$target_page_id = $res['target_page_id']; |
|
| 54 |
$redirect_type = $res['redirect_type']; |
|
| 55 |
$anchor = ($res['anchor'] != '0' ? '#'.(string)$res['anchor'] : ''); |
|
| 56 |
$extern = $res['extern']; |
|
| 57 |
// set redirect-type |
|
| 58 |
if($redirect_type == 301) |
|
| 59 |
{
|
|
| 60 |
if($php43) |
|
| 61 |
{
|
|
| 62 |
@header('HTTP/1.1 301 Moved Permanently', TRUE, 301);
|
|
| 63 |
} |
|
| 64 |
else |
|
| 65 |
{
|
|
| 66 |
@header('HTTP/1.1 301 Moved Permanently');
|
|
| 67 |
} |
|
| 68 |
} |
|
| 69 |
if($target_page_id == -1) |
|
| 70 |
{
|
|
| 71 |
if($extern != '') |
|
| 72 |
{
|
|
| 73 |
$target_url = $extern.$anchor; |
|
| 74 |
header('Location: '.$target_url);
|
|
| 75 |
exit; |
|
| 76 |
} |
|
| 77 |
} |
|
| 78 |
else |
|
| 79 |
{
|
|
| 80 |
// get link of target-page |
|
| 81 |
$sql = 'SELECT `link` FROM `'.TABLE_PREFIX.'pages` WHERE `page_id` = '.$target_page_id; |
|
| 82 |
$target_page_link = $database->get_one($sql); |
|
| 83 |
if($target_page_link != null) |
|
| 84 |
{
|
|
| 85 |
$target_url = WB_URL.PAGES_DIRECTORY.$target_page_link.PAGE_EXTENSION.$anchor; |
|
| 86 |
header('Location: '.$target_url);
|
|
| 87 |
exit; |
|
| 88 |
} |
|
| 89 |
} |
|
| 90 |
} |
|
| 91 |
} else {
|
|
| 92 |
|
|
| 31 | 93 |
?> |
| 94 |
|
|
| 32 | 95 |
<a href="<?php echo WB_URL; ?>"> |
| 33 | 96 |
<?php echo $MOD_MENU_LINK['TEXT']; ?> |
| 34 | 97 |
</a> |
| 98 |
<?php } |
|
| 35 | 99 | |
| branches/2.8.x/wb/modules/menu_link/install.php | ||
|---|---|---|
| 3 | 3 |
* |
| 4 | 4 |
* @category modules |
| 5 | 5 |
* @package menu_link |
| 6 |
* @author WebsiteBaker Project |
|
| 7 |
* @copyright 2004-2009, Ryan Djurovich |
|
| 8 |
* @copyright 2009-2011, Website Baker Org. e.V. |
|
| 6 |
* @author Ryan Djurovich, WebsiteBaker Project |
|
| 7 |
* @copyright 2009-2012, Website Baker Org. e.V. |
|
| 9 | 8 |
* @link http://www.websitebaker2.org/ |
| 10 | 9 |
* @license http://www.gnu.org/licenses/gpl.html |
| 11 | 10 |
* @platform WebsiteBaker 2.8.x |
| ... | ... | |
| 21 | 20 |
if(defined('WB_PATH') == false)
|
| 22 | 21 |
{
|
| 23 | 22 |
// Stop this file being access directly |
| 24 |
die('<head><title>Access denied</title></head><body><h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2></body></html>');
|
|
| 23 |
die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
|
|
| 25 | 24 |
} |
| 26 | 25 |
/* -------------------------------------------------------- */ |
| 27 | 26 |
|
| ... | ... | |
| 33 | 32 |
`section_id` INT(11) NOT NULL DEFAULT '0', |
| 34 | 33 |
`page_id` INT(11) NOT NULL DEFAULT '0', |
| 35 | 34 |
`target_page_id` INT(11) NOT NULL DEFAULT '0', |
| 36 |
`redirect_type` INT NOT NULL DEFAULT '302',
|
|
| 35 |
`redirect_type` INT NOT NULL DEFAULT '301',
|
|
| 37 | 36 |
`anchor` VARCHAR(255) NOT NULL DEFAULT '0' , |
| 38 | 37 |
`extern` VARCHAR(255) NOT NULL DEFAULT '' , |
| 39 | 38 |
PRIMARY KEY (`section_id`) |
| 40 | 39 | |
Also available in: Unified diff
move extra handling of menu links in index.php to the view.php of module menu links {Tks to NorHei)