*/
global $headermenu;
+global $type;
+global $group_id;
-session_require_global_perm('forge_admin');
$idLink = getIntFromRequest('linkid');
$linkStatus = getIntFromRequest('linkstatus');
+$redirect_url = 'plugins/'.$headermenu->name.'/?type='.$type;
+if (isset($group_id) && $group_id) {
+ $redirect_url .= '&group_id='.$group_id;
+}
if (!empty($idLink)) {
if ($headermenu->updateLinkStatus($idLink, $linkStatus)) {
$feedback = _('Link Status updated');
- session_redirect('plugins/'.$headermenu->name.'/?type=globaladmin&feedback='.urlencode($feedback));
+ session_redirect($redirect_url.'&feedback='.urlencode($feedback));
}
$error_msg = _('Task failed');
- session_redirect('plugins/'.$headermenu->name.'/?type=globaladmin&error_msg='.urlencode($error_msg));
+ session_redirect($redirect_url.'&error_msg='.urlencode($error_msg));
}
$warning_msg = _('Missing Link or status to be updated.');
-session_redirect('plugins/'.$headermenu->name.'/?type=globaladmin&warning_msg='.urlencode($warning_msg));
+session_redirect($redirect_url.'&warning_msg='.urlencode($warning_msg));
}
case 'projectadmin': {
html_use_jquery();
+ use_javascript('scripts/HeaderMenuController.js');
use_javascript('/js/sortable.js');
site_header(array('title'=>_('Project Menu Admin'), 'toptab' => ''));
$returned = true;
?>
+<script language="Javascript" type="text/javascript">//<![CDATA[
+var controllerGroupMenu;
+
+jQuery(document).ready(function() {
+ controllerGroupMenu = new GroupMenuController({
+ inputHtmlCode: jQuery('#typemenu_htmlcode'),
+ inputURL: jQuery('#typemenu_url'),
+ trHtmlCode: jQuery('#htmlcode'),
+ trUrlCode: jQuery('#urlcode')
+ });
+});
+
+//]]></script>
+
<?php
$linksArray = $headermenu->getAvailableLinks('groupmenu');
if (sizeof($linksArray)) {
echo '</tr><tr>';
echo '<td>'._('Description').'</td><td><input name="description" type="text" maxsize="255" /></td>';
echo '</tr><tr>';
-echo '<tr id="urlcode" >';
+echo '<td>'._('Menu Type').'</td><td>';
+$texts = array('URL', 'New Page');
+$vals = array('url', 'htmlcode');
+$select_name = 'typemenu';
+echo html_build_radio_buttons_from_arrays($vals, $texts, $select_name, 'url', false);
+echo '</td>';
+echo '</tr><tr id="htmlcode" style="display:none">';
+echo '<td>'._('Your HTML Code.').'</td><td>';
+$GLOBALS['editor_was_set_up'] = false;
+$body = _('Just paste your code here...');
+$params['name'] = 'htmlcode';
+$params['body'] = $body;
+$params['width'] = "800";
+$params['height'] = "500";
+$params['user_id'] = user_getid();
+plugin_hook("text_editor", $params);
+if (!$GLOBALS['editor_was_set_up']) {
+ echo '<textarea name="htmlcode" rows="5" cols="80">'.$body.'</textarea>';
+}
+unset($GLOBALS['editor_was_set_up']);
+echo '</td></tr><tr id="urlcode" >';
echo '<td>'._('URL').'</td><td><input name="link" type="text" maxsize="255" /></td>';
echo '</tr><tr>';
echo '<td>';
this.initializeView();
};
+GroupMenuController = function(params) {
+ this.params = params;
+ this.bindControls();
+ this.initializeView();
+};
+
HeaderMenuController.prototype =
{
bindControls: function() {
}
};
+GroupMenuController.prototype =
+{
+ bindControls: function() {
+ this.params.inputHtmlCode.click(jQuery.proxy(this, "htmlCodeView"));
+ this.params.inputURL.click(jQuery.proxy(this, "htmlUrlView"));
+ },
+
+ initializeView: function() {
+ this.params.trHtmlCode.hide();
+ this.params.trUrlCode.show();
+ this.params.inputURL.attr('checked', 'checked');
+ },
+
+ htmlCodeView: function() {
+ this.params.trHtmlCode.show();
+ this.params.trUrlCode.hide();
+ },
+
+ htmlUrlView: function() {
+ this.params.trHtmlCode.hide();
+ this.params.trUrlCode.show();
+ },
+
+ inputHtmlCodeView: function() {
+ this.params.inputHtmlCode.prop('disabled', false);
+ }
+};
+
EditHeaderMenuController.prototype =
{
bindControls: function() {