mirror of
https://github.com/e107inc/e107.git
synced 2025-07-31 03:40:37 +02:00
Issue: #2398 e_menu now supports tabs.
This commit is contained in:
@@ -192,7 +192,7 @@ TEMPL;
|
|||||||
var target = window.parent.$('#e-save-form').attr('action');
|
var target = window.parent.$('#e-save-form').attr('action');
|
||||||
var data = window.parent.$('#e-save-form').serialize();
|
var data = window.parent.$('#e-save-form').serialize();
|
||||||
|
|
||||||
// alert(data);
|
// alert(data);
|
||||||
// alert(target);
|
// alert(target);
|
||||||
$.post(target, data ,function(ret)
|
$.post(target, data ,function(ret)
|
||||||
{
|
{
|
||||||
|
@@ -6223,7 +6223,7 @@ class e_form
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$triggers = vartrue($fdata['triggers'], 'auto');
|
$triggers = (empty($fdata['triggers']) && $fdata['triggers'] !== false) ? 'auto' : $fdata['triggers']; // vartrue($fdata['triggers'], 'auto');
|
||||||
if(is_string($triggers) && 'auto' === $triggers)
|
if(is_string($triggers) && 'auto' === $triggers)
|
||||||
{
|
{
|
||||||
$triggers = array();
|
$triggers = array();
|
||||||
@@ -6238,42 +6238,45 @@ class e_form
|
|||||||
$triggers['cancel'] = array(LAN_CANCEL, 'cancel');
|
$triggers['cancel'] = array(LAN_CANCEL, 'cancel');
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($triggers as $trigger => $tdata)
|
if(!empty($triggers))
|
||||||
{
|
{
|
||||||
$text .= ($trigger == 'submit') ? "<div class=' btn-group'>" : "";
|
foreach ($triggers as $trigger => $tdata)
|
||||||
$text .= $this->admin_button('etrigger_'.$trigger, $tdata[1], $tdata[1], $tdata[0]);
|
|
||||||
|
|
||||||
if($trigger == 'submit' && $submitopt)
|
|
||||||
{
|
{
|
||||||
|
$text .= ($trigger == 'submit') ? "<div class=' btn-group'>" : "";
|
||||||
$text .=
|
$text .= $this->admin_button('etrigger_'.$trigger, $tdata[1], $tdata[1], $tdata[0]);
|
||||||
'<button class="btn btn-success dropdown-toggle left" data-toggle="dropdown">
|
|
||||||
<span class="caret"></span>
|
if($trigger == 'submit' && $submitopt)
|
||||||
</button>
|
|
||||||
<ul class="dropdown-menu col-selection">
|
|
||||||
<li class="dropdown-header nav-header">'.LAN_EFORM_016.'</li>
|
|
||||||
';
|
|
||||||
|
|
||||||
foreach($submitopt as $k=>$v)
|
|
||||||
{
|
{
|
||||||
$text .= "<li class='after-submit'>".$this->radio('__after_submit_action', $k, $selected == $k, "label=".$v)."</li>";
|
|
||||||
|
$text .=
|
||||||
|
'<button class="btn btn-success dropdown-toggle left" data-toggle="dropdown">
|
||||||
|
<span class="caret"></span>
|
||||||
|
</button>
|
||||||
|
<ul class="dropdown-menu col-selection">
|
||||||
|
<li class="dropdown-header nav-header">'.LAN_EFORM_016.'</li>
|
||||||
|
';
|
||||||
|
|
||||||
|
foreach($submitopt as $k=>$v)
|
||||||
|
{
|
||||||
|
$text .= "<li class='after-submit'>".$this->radio('__after_submit_action', $k, $selected == $k, "label=".$v)."</li>";
|
||||||
|
}
|
||||||
|
|
||||||
|
//$text .= '
|
||||||
|
// <li role="menuitem">
|
||||||
|
// <div class="options left" style="padding:5px">
|
||||||
|
// '.$this->radio_multi('__after_submit_action', $submitopt, $selected, true).'
|
||||||
|
// </div></li>';
|
||||||
|
|
||||||
|
|
||||||
|
$text .= '</ul>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$text .= ($trigger == 'submit') ?"</div>" : "";
|
||||||
|
|
||||||
|
if(isset($tdata[2]))
|
||||||
|
{
|
||||||
|
$text .= $this->hidden($trigger.'_value', $tdata[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//$text .= '
|
|
||||||
// <li role="menuitem">
|
|
||||||
// <div class="options left" style="padding:5px">
|
|
||||||
// '.$this->radio_multi('__after_submit_action', $submitopt, $selected, true).'
|
|
||||||
// </div></li>';
|
|
||||||
|
|
||||||
|
|
||||||
$text .= '</ul>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$text .= ($trigger == 'submit') ?"</div>" : "";
|
|
||||||
|
|
||||||
if(isset($tdata[2]))
|
|
||||||
{
|
|
||||||
$text .= $this->hidden($trigger.'_value', $tdata[2]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -582,6 +582,43 @@ class e_menuManager {
|
|||||||
return $link_class;
|
return $link_class;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function menuParamForm($id, $fields,$tabs, e_form $ui, $values=array())
|
||||||
|
{
|
||||||
|
$fields['menu_id'] = array('type'=>'hidden', 'writeParms'=>array('value'=>$id));
|
||||||
|
$fields['mode'] = array('type'=>'hidden', 'writeParms'=>array('value'=>'parms'));
|
||||||
|
|
||||||
|
$forms = $models = array();
|
||||||
|
$forms[] = array(
|
||||||
|
'id' => 'e-save',
|
||||||
|
'header' => '',
|
||||||
|
'footer' => '',
|
||||||
|
'url' => e_SELF,
|
||||||
|
'query' => "lay=".$this->curLayout,
|
||||||
|
'fieldsets' => array(
|
||||||
|
'create' => array(
|
||||||
|
'tabs' => $tabs, //used within a single form.
|
||||||
|
'legend' => '',
|
||||||
|
'fields' => $fields, //see e_admin_ui::$fields
|
||||||
|
'header' => '', //XXX Unused?
|
||||||
|
'footer' => '',
|
||||||
|
'after_submit_options' => '', // or true for default redirect options
|
||||||
|
'after_submit_default' => '', // or true for default redirect options
|
||||||
|
'triggers' => false, // standard create/update-cancel triggers
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// $models[] = $controller->getModel();
|
||||||
|
$models[] = e107::getModel()->setData($values);
|
||||||
|
|
||||||
|
return $ui->renderCreateForm($forms, $models, e_AJAX_REQUEST);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This one will be greatly extended, allowing menus to offer UI and us
|
* This one will be greatly extended, allowing menus to offer UI and us
|
||||||
* settings per instance later ($parm variable available for menus - same as shortcode's $parm)
|
* settings per instance later ($parm variable available for menus - same as shortcode's $parm)
|
||||||
@@ -596,10 +633,12 @@ class e_menuManager {
|
|||||||
if(!$sql->select("menus", "*", "menu_id=".$id))
|
if(!$sql->select("menus", "*", "menu_id=".$id))
|
||||||
{
|
{
|
||||||
$this->menuAddMessage("Couldn't Load Menu",E_MESSAGE_ERROR);
|
$this->menuAddMessage("Couldn't Load Menu",E_MESSAGE_ERROR);
|
||||||
return;
|
return null;
|
||||||
};
|
};
|
||||||
$row = $sql->fetch();
|
$row = $sql->fetch();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$text = "<div style='text-align:center;'>
|
$text = "<div style='text-align:center;'>
|
||||||
<form id='e-save-form' method='post' action='".e_SELF."?lay=".$this->curLayout."'>
|
<form id='e-save-form' method='post' action='".e_SELF."?lay=".$this->curLayout."'>
|
||||||
<fieldset id='core-menus-parametersform'>
|
<fieldset id='core-menus-parametersform'>
|
||||||
@@ -617,6 +656,9 @@ class e_menuManager {
|
|||||||
$plug = rtrim($row['menu_path'],'/');
|
$plug = rtrim($row['menu_path'],'/');
|
||||||
$obj = e107::getAddon($plug,'e_menu');
|
$obj = e107::getAddon($plug,'e_menu');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(!is_object($obj))
|
if(!is_object($obj))
|
||||||
{
|
{
|
||||||
$text .= "<tr><td colspan='2' class='alert alert-danger'>".e107::getParser()->lanVars(MENLAN_46, $plug)."</td></tr>";
|
$text .= "<tr><td colspan='2' class='alert alert-danger'>".e107::getParser()->lanVars(MENLAN_46, $plug)."</td></tr>";
|
||||||
@@ -628,16 +670,27 @@ class e_menuManager {
|
|||||||
|
|
||||||
$menuName = varset($menuName);
|
$menuName = varset($menuName);
|
||||||
$fields = e107::callMethod($obj,'config',$menuName);
|
$fields = e107::callMethod($obj,'config',$menuName);
|
||||||
|
$tabs = isset($obj->tabs) ? $obj->tabs : array(LAN_CONFIGURE);
|
||||||
|
|
||||||
|
|
||||||
if(!$form = e107::getAddon($plug,'e_menu',$plug."_menu_form"))
|
if(!$form = e107::getAddon($plug,'e_menu',$plug."_menu_form"))
|
||||||
{
|
{
|
||||||
$form = $frm;
|
$form = $frm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$value = e107::unserialize($row['menu_parms']);
|
$value = e107::unserialize($row['menu_parms']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(!empty($fields))
|
if(!empty($fields))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
return $this->menuParamForm($id, $fields,$tabs,$form,$value);
|
||||||
|
/*
|
||||||
|
|
||||||
foreach($fields as $k=>$v)
|
foreach($fields as $k=>$v)
|
||||||
{
|
{
|
||||||
$text .= "<tr><td class='text-left'>".$v['title']."</td>";
|
$text .= "<tr><td class='text-left'>".$v['title']."</td>";
|
||||||
@@ -654,16 +707,20 @@ class e_menuManager {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($v['help']))
|
|
||||||
{
|
|
||||||
$v['writeParms']['title'] = e107::getParser()->toAttribute($v['help']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$text .= "<td class='text-left'>".$form->renderElement($i, $value[$k], $v);
|
$text .= "<td class='text-left'>".$form->renderElement($i, $value[$k], $v);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(!empty($v['help']))
|
||||||
|
{
|
||||||
|
//$v['writeParms']['title'] = e107::getParser()->toAttribute($v['help']);
|
||||||
|
$text .= "<div class='field-help'>".$v['help']."</div>";
|
||||||
|
}
|
||||||
|
|
||||||
$text .= "</td></tr>";
|
$text .= "</td></tr>";
|
||||||
}
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user