From 9bb57606b332c6ba74cf81d387dae91c37855274 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 11 May 2011 14:09:33 +0200 Subject: [PATCH] Added "open links in new window" to main menu and links module Added cache destroy when for portal_modules when installing portal --- root/adm/style/portal/acp_portal_links.html | 18 ++++++++++++++++++ root/adm/style/portal/acp_portal_menu.html | 18 ++++++++++++++++++ .../de/mods/portal/portal_links_module.php | 1 + .../de/mods/portal/portal_main_menu_module.php | 1 + .../en/mods/portal/portal_links_module.php | 1 + .../en/mods/portal/portal_main_menu_module.php | 1 + root/portal/includes/functions.php | 3 +++ root/portal/modules/portal_links.php | 6 +++++- root/portal/modules/portal_main_menu.php | 4 ++++ .../template/portal/modules/links_side.html | 2 +- .../portal/modules/main_menu_side.html | 2 +- .../template/portal/modules/links_side.html | 2 +- .../portal/modules/main_menu_side.html | 2 +- 13 files changed, 56 insertions(+), 5 deletions(-) diff --git a/root/adm/style/portal/acp_portal_links.html b/root/adm/style/portal/acp_portal_links.html index d4ac0432..c3db8dcd 100644 --- a/root/adm/style/portal/acp_portal_links.html +++ b/root/adm/style/portal/acp_portal_links.html @@ -111,7 +111,24 @@ + + + + + +
+ {options.LEGEND} + +
+

{options.TITLE_EXPLAIN}
+
{options.CONTENT}
+
+ + + +
+
{L_ACP_PORTAL_LINKS} @@ -151,6 +168,7 @@

{S_FORM_TOKEN}
+
diff --git a/root/adm/style/portal/acp_portal_menu.html b/root/adm/style/portal/acp_portal_menu.html index cb2d230a..687d3d9c 100644 --- a/root/adm/style/portal/acp_portal_menu.html +++ b/root/adm/style/portal/acp_portal_menu.html @@ -118,7 +118,24 @@
+ + + + + +
+ {options.LEGEND} + +
+

{options.TITLE_EXPLAIN}
+
{options.CONTENT}
+
+ + + +
+
{L_ACP_PORTAL_LINKS} @@ -158,6 +175,7 @@

{S_FORM_TOKEN}
+
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 @@