<?php
/**
- * headermenu plugin
+ * headermenu plugin : addLink action
*
- * Copyright 2012, Franck Villaume - TrivialDev
+ * Copyright 2012-2013, Franck Villaume - TrivialDev
* http://fusionforge.org
*
* This file is part of FusionForge. FusionForge is free software;
*/
global $headermenu;
+global $group_id;
-session_require_global_perm('forge_admin');
$link = getStringFromRequest('link');
-$description = getStringFromRequest('description');
-$name = getStringFromRequest('name');
+$description = strip_tags(getStringFromRequest('description'));
+$name = strip_tags(getStringFromRequest('name'));
+$linkmenu = getStringFromRequest('linkmenu');
+$htmlcode = getStringFromRequest('htmlcode');
+$type = getStringFromRequest('type');
+$iframed = getIntFromRequest('iframeview');
-if (!empty($link) && !empty($name)) {
- if (util_check_url($link)) {
- if ($headermenu->addLink($link, $name, $description)) {
- $feedback = _('Task succeeded.');
- session_redirect('plugins/'.$headermenu->name.'/?type=globaladmin&feedback='.urlencode($feedback));
+$redirect_url = 'plugins/'.$headermenu->name.'/?type='.$type;
+if (isset($group_id) && $group_id) {
+ $redirect_url .= '&group_id='.$group_id;
+}
+
+if (!empty($name) && !empty($linkmenu)) {
+ switch ($linkmenu) {
+ case 'headermenu': {
+ if (!empty($link)) {
+ if (util_check_url($link)) {
+ if ($headermenu->addLink($link, $name, $description, $linkmenu)) {
+ $feedback = _('Task succeeded.');
+ session_redirect($redirect_url.'&feedback='.urlencode($feedback));
+ }
+ $error_msg = _('Task failed');
+ session_redirect($redirect_url.'&error_msg='.urlencode($error_msg));
+ } else {
+ $error_msg = _('Provided Link is not a valid URL.');
+ session_redirect($redirect_url.'&error_msg='.urlencode($error_msg));
+ }
+ }
+ $warning_msg = _('Missing Link URL.');
+ session_redirect($redirect_url.'&warning_msg='.urlencode($warning_msg));
+ break;
+ }
+ case 'outermenu':
+ case 'groupmenu': {
+ if (!empty($link)) {
+ if (util_check_url($link)) {
+ $linktype = 'url';
+ if ($iframed) {
+ $linktype = 'iframe';
+ }
+ if ($headermenu->addLink($link, $name, $description, $linkmenu, $linktype)) {
+ $feedback = _('Task succeeded.');
+ session_redirect($redirect_url.'&feedback='.urlencode($feedback));
+ }
+ $error_msg = _('Task failed');
+ session_redirect($redirect_url.'&error_msg='.urlencode($error_msg));
+ } else {
+ $error_msg = _('Provided Link is not a valid URL.');
+ session_redirect($redirect_url.'&error_msg='.urlencode($error_msg));
+ }
+ }
+ if (!empty($htmlcode)) {
+ if ($headermenu->addLink('', $name, $description, $linkmenu, 'htmlcode', $htmlcode)) {
+ $feedback = _('Task succeeded.');
+ session_redirect($redirect_url.'&feedback='.urlencode($feedback));
+ }
+ $error_msg = _('Task failed');
+ session_redirect($redirect_url.'&error_msg='.urlencode($error_msg));
+ }
+ $warning_msg = _('Missing Link URL or Html Code.');
+ session_redirect($redirect_url.'&warning_msg='.urlencode($warning_msg));
}
- $error_msg = _('Task failed');
- session_redirect('plugins/'.$headermenu->name.'/?type=globaladmin&error_msg='.urlencode($error_msg));
- } else {
- $error_msg = _('Provided Link is not a valid URL.');
- session_redirect('plugins/'.$headermenu->name.'/?type=globaladmin&error_msg='.urlencode($error_msg));
}
}
-$warning_msg = _('Missing Link URL or name.');
-session_redirect('plugins/'.$headermenu->name.'/?type=globaladmin&warning_msg='.urlencode($warning_msg));
-
-?>
\ No newline at end of file
+$warning_msg = _('No link to create or name missing.');
+session_redirect($redirect_url.'&warning_msg='.urlencode($warning_msg));