diff --git a/root/language/de/mods/portal/portal_links_module.php b/root/language/de/mods/portal/portal_links_module.php
index 5e73f644..ff7027e4 100644
--- a/root/language/de/mods/portal/portal_links_module.php
+++ b/root/language/de/mods/portal/portal_links_module.php
@@ -48,4 +48,5 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_LINK_URL_EXP' => 'Externe Links: Alle Links sollten mit einem http:// eingegeben werden.
Interne Links: Gebe nur die PHP Datei als Link URL ein, z.B. index.php?style=4.',
'ACP_PORTAL_LINK_PERMISSION' => 'Link Berechtigungen',
'ACP_PORTAL_LINK_PERMISSION_EXP'=> 'Wähle die Gruppen aus die berechtigt sein sollen den Link zu sehen. Falls alle Benutzer den Link sehen sollen, dann wähle nichts aus. Wähle mehrere Gruppen aus/ab indem du STRG gedrückt hältst und klickst.',
+ 'ACP_PORTAL_LINKS_NEW_WINDOW' => 'Öffne externe Verknüpfungen in einem neuen Fenster',
));
diff --git a/root/language/de/mods/portal/portal_main_menu_module.php b/root/language/de/mods/portal/portal_main_menu_module.php
index 89c14180..657ea66c 100644
--- a/root/language/de/mods/portal/portal_main_menu_module.php
+++ b/root/language/de/mods/portal/portal_main_menu_module.php
@@ -61,4 +61,5 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_MENU_URL_EXP' => 'Externe Links: Alle Links sollten mit einem http:// eingegeben werden.
Interne Links: Gebe nur die PHP Datei als Link URL ein, z.B. index.php?style=4.',
'ACP_PORTAL_MENU_PERMISSION' => 'Link Berechtigungen',
'ACP_PORTAL_MENU_PERMISSION_EXP'=> 'Wähle die Gruppen aus die berechtigt sein sollen den Link zu sehen. Falls alle Benutzer den Link sehen sollen, dann wähle nichts aus. Wähle mehrere Gruppen aus/ab indem du STRG gedrückt hältst und klickst.',
+ 'ACP_PORTAL_MENU_EXT_NEW_WINDOW'=> 'Öffne externe Verknüpfungen in einem neuen Fenster',
));
diff --git a/root/language/en/mods/portal/portal_links_module.php b/root/language/en/mods/portal/portal_links_module.php
index f7ed7555..1fa764a1 100644
--- a/root/language/en/mods/portal/portal_links_module.php
+++ b/root/language/en/mods/portal/portal_links_module.php
@@ -48,4 +48,5 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_LINK_URL_EXP' => 'External links: All links should be entered with a http://
Internal links: Only enter the php file as link url, i.e. index.php?style=4.',
'ACP_PORTAL_LINK_PERMISSION' => 'Link permissions',
'ACP_PORTAL_LINK_PERMISSION_EXP'=> 'Select the groups that should be authorized to view the link. If you want all users to be able to view the link, don’t select anything. Select/Deselect multiple groups by holding CTRL and clicking.',
+ 'ACP_PORTAL_LINKS_NEW_WINDOW' => 'Open external links in a new window',
));
diff --git a/root/language/en/mods/portal/portal_main_menu_module.php b/root/language/en/mods/portal/portal_main_menu_module.php
index e7dd7b4e..1a3753eb 100644
--- a/root/language/en/mods/portal/portal_main_menu_module.php
+++ b/root/language/en/mods/portal/portal_main_menu_module.php
@@ -61,4 +61,5 @@ $lang = array_merge($lang, array(
'ACP_PORTAL_MENU_URL_EXP' => 'External links: All links should be entered with a http://
Internal links: Only enter the php file as link url, i.e. index.php?style=4.',
'ACP_PORTAL_MENU_PERMISSION' => 'Link permissions',
'ACP_PORTAL_MENU_PERMISSION_EXP'=> 'Select the groups that should be authorized to view the link. If you want all users to be able to view the link, don’t select anything. Select/Deselect multiple groups by holding CTRL and clicking.',
+ 'ACP_PORTAL_MENU_EXT_NEW_WINDOW'=> 'Open external links in a new window',
));
diff --git a/root/portal/includes/functions.php b/root/portal/includes/functions.php
index 999b8472..d30e3703 100644
--- a/root/portal/includes/functions.php
+++ b/root/portal/includes/functions.php
@@ -936,6 +936,9 @@ function board3_basic_install($mode = 'install', $purge_modules = true, $u_actio
$c_class->install($db->sql_nextid());
}
+
+ // Make sure we get rid of old data
+ $cache->destroy('portal_modules');
if ($mode == 'update')
{
diff --git a/root/portal/modules/portal_links.php b/root/portal/modules/portal_links.php
index 171581a6..932eac83 100644
--- a/root/portal/modules/portal_links.php
+++ b/root/portal/modules/portal_links.php
@@ -102,6 +102,7 @@ class portal_links_module
'LINK_TITLE' => (isset($user->lang[$links[$i]['title']])) ? $user->lang[$links[$i]['title']] : $links[$i]['title'],
'LINK_URL' => $cur_url,
'MODULE_ID' => $module_id,
+ 'NEW_WINDOW' => ($links[$i]['type'] != self::LINK_INT && $config['board3_links_url_new_window_' . $module_id]) ? true : false,
));
}
}
@@ -115,8 +116,9 @@ class portal_links_module
return array(
'title' => 'ACP_PORTAL_LINKS',
'vars' => array(
- 'legend1' => 'ACP_PORTAL_MENU',
+ 'legend1' => 'ACP_PORTAL_LINKS',
'board3_links_' . $module_id => array('lang' => 'ACP_PORTAL_MENU_MANAGE', 'validate' => 'string', 'type' => 'custom', 'explain' => true, 'method' => 'manage_links', 'submit' => 'update_links'),
+ 'board3_links_url_new_window_' . $module_id => array('lang' => 'ACP_PORTAL_LINKS_NEW_WINDOW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
),
);
}
@@ -163,6 +165,7 @@ class portal_links_module
$board3_menu_array = serialize($links);
set_portal_config('board3_links_array_' . $module_id, $board3_menu_array);
set_config('board3_links_' . $module_id, '');
+ set_config('board3_links_url_new_window_' . $module_id, 0);
return true;
}
@@ -181,6 +184,7 @@ class portal_links_module
$del_config = array(
'board3_links_' . $module_id,
+ 'board3_links_url_new_window_' . $module_id
);
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
diff --git a/root/portal/modules/portal_main_menu.php b/root/portal/modules/portal_main_menu.php
index 378249d9..755d350a 100644
--- a/root/portal/modules/portal_main_menu.php
+++ b/root/portal/modules/portal_main_menu.php
@@ -111,6 +111,7 @@ class portal_main_menu_module
$template->assign_block_vars('portalmenu.links', array(
'LINK_TITLE' => (isset($user->lang[$links[$i]['title']])) ? $user->lang[$links[$i]['title']] : $links[$i]['title'],
'LINK_URL' => $cur_url,
+ 'NEW_WINDOW' => ($links[$i]['type'] != self::LINK_INT && $config['board3_menu_url_new_window_' . $module_id]) ? true : false,
));
}
}
@@ -127,6 +128,7 @@ class portal_main_menu_module
'vars' => array(
'legend1' => 'ACP_PORTAL_MENU',
'board3_menu_' . $module_id => array('lang' => 'ACP_PORTAL_MENU_MANAGE', 'validate' => 'string', 'type' => 'custom', 'explain' => true, 'method' => 'manage_links', 'submit' => 'update_links'),
+ 'board3_menu_url_new_window_' . $module_id => array('lang' => 'ACP_PORTAL_MENU_EXT_NEW_WINDOW', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
),
);
}
@@ -219,6 +221,7 @@ class portal_main_menu_module
$board3_menu_array = serialize($links);
set_portal_config('board3_menu_array_' . $module_id, $board3_menu_array);
set_config('board3_menu_' . $module_id, '');
+ set_config('board3_menu_url_new_window_' . $module_id, 0);
return true;
}
@@ -237,6 +240,7 @@ class portal_main_menu_module
$del_config = array(
'board3_menu_' . $module_id,
+ 'board3_menu_url_new_window_' . $module_id,
);
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
diff --git a/root/styles/prosilver/template/portal/modules/links_side.html b/root/styles/prosilver/template/portal/modules/links_side.html
index fa97c07e..52588784 100644
--- a/root/styles/prosilver/template/portal/modules/links_side.html
+++ b/root/styles/prosilver/template/portal/modules/links_side.html
@@ -2,7 +2,7 @@