CFGMENU let add new menu or modify them
This commit is contained in:
parent
e297a14336
commit
f4bb98135f
9 changed files with 247 additions and 27 deletions
|
|
@ -532,6 +532,12 @@ EOF;
|
|||
require_once('ajax_anc_search.php');
|
||||
break;
|
||||
case 'autoanc':
|
||||
require_once('ajax_auto_anc_card.php');
|
||||
require_once 'ajax_auto_anc_card.php' ;
|
||||
break;
|
||||
case 'create_menu';
|
||||
require_once 'ajax_create_menu.php';
|
||||
break;
|
||||
case 'add_menu';
|
||||
require_once 'ajax_mod_menu.php';
|
||||
break;
|
||||
}
|
||||
|
|
@ -1242,7 +1242,7 @@ function add_plugin(p_dossier)
|
|||
onSuccess:function(req){
|
||||
try{
|
||||
remove_waiting_box();
|
||||
var pos=fixed_position(250,150)+";width:30%";;
|
||||
var pos=fixed_position(250,150)+";width:30%";
|
||||
add_div({id:"divplugin",drag:1,cssclass:"inner_box",style:pos});
|
||||
$('divplugin').innerHTML=req.responseText;
|
||||
} catch(e){alert(e.message);}
|
||||
|
|
@ -1273,7 +1273,65 @@ function mod_plugin(p_dossier,me_code)
|
|||
}
|
||||
);
|
||||
}
|
||||
function create_menu(p_dossier)
|
||||
{
|
||||
waiting_box();
|
||||
removeDiv('divmenu');
|
||||
var qs="op=create_menu&gDossier="+p_dossier+"&ctl=divmenu";
|
||||
|
||||
var action=new Ajax.Request ( 'ajax_misc.php',
|
||||
{
|
||||
method:'get',
|
||||
parameters:qs,
|
||||
onFailure:null,
|
||||
onSuccess:function(req){
|
||||
try{
|
||||
remove_waiting_box();
|
||||
var pos=fixed_position(250,150)+";width:30%";
|
||||
add_div({
|
||||
id:"divmenu",
|
||||
drag:1,
|
||||
cssclass:"inner_box",
|
||||
style:pos
|
||||
});
|
||||
$('divmenu').innerHTML=req.responseText;
|
||||
} catch(e){
|
||||
alert(e.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
function mod_menu(p_dossier,me_code)
|
||||
{
|
||||
waiting_box();
|
||||
removeDiv('divmenu');
|
||||
var qs="op=mod_menu&gDossier="+p_dossier+"&ctl=divmenu&me_code="+me_code;
|
||||
|
||||
var action=new Ajax.Request ( 'ajax_misc.php',
|
||||
{
|
||||
method:'get',
|
||||
parameters:qs,
|
||||
onFailure:null,
|
||||
onSuccess:function(req){
|
||||
try{
|
||||
remove_waiting_box();
|
||||
var pos=fixed_position(250,150)+";width:30%";
|
||||
add_div({
|
||||
id:"divmenu",
|
||||
drag:1,
|
||||
cssclass:"inner_box",
|
||||
style:pos
|
||||
});
|
||||
$('divmenu').innerHTML=req.responseText;
|
||||
|
||||
} catch(e){
|
||||
alert(e.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
function get_properties(obj)
|
||||
{
|
||||
var a_array=[];
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ $ame_code_dep=$cn->make_array("
|
|||
UNION ALL
|
||||
select me_code,me_code||' '||me_menu||' '||coalesce(me_description,'') from menu_ref
|
||||
where
|
||||
me_code='EXTENSION'
|
||||
me_code='EXT'
|
||||
order by 1
|
||||
",1);
|
||||
$ame_code=$cn->make_array("
|
||||
|
|
|
|||
10
include/ajax_create_menu.php
Normal file
10
include/ajax_create_menu.php
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
require_once 'class_menu_ref.php';
|
||||
$msg="Création";
|
||||
$m=new Menu_Ref($cn);
|
||||
echo '<form method="POST">';
|
||||
require_once 'template/menu_detail.php';
|
||||
echo HtmlInput::submit('create_menu','Sauver');
|
||||
echo HtmlInput::button_close('divmenu');
|
||||
echo '</form>';
|
||||
?>
|
||||
|
|
@ -35,7 +35,7 @@ $a_value_null=$cn->make_array("select me_code,me_code||' '||me_menu||' '||coales
|
|||
UNION ALL
|
||||
select me_code,me_code||' '||me_menu||' '||coalesce(me_description,'') from menu_ref
|
||||
where
|
||||
me_code='EXTENSION'",1);
|
||||
me_code='EXT'",1);
|
||||
$a_type=$cn->make_array("select pm_type,pm_desc from profile_menu_type",1);
|
||||
|
||||
$array=$cn->get_array("select p_id,pm_id,me_code,me_code_dep,p_order,p_type_display,pm_default
|
||||
|
|
|
|||
11
include/ajax_mod_menu.php
Normal file
11
include/ajax_mod_menu.php
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
require_once 'class_menu_ref.php';
|
||||
$m=new Menu_Ref($cn,$me_code);
|
||||
$msg="Modification ".$m->me_code.h($m->menu);
|
||||
echo '<form method="POST">';
|
||||
require_once 'template/menu_detail.php';
|
||||
|
||||
echo HtmlInput::submit('mod_menu','Sauver');
|
||||
echo HtmlInput::button_close('divmenu');
|
||||
echo '</form>';
|
||||
?>
|
||||
38
include/class_menu_ref.php
Normal file
38
include/class_menu_ref.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
/**
|
||||
*@file
|
||||
*@brief Menu_Ref let you manage the available menu
|
||||
*/
|
||||
require_once 'class_menu_ref_sql.php';
|
||||
class Menu_Ref extends Menu_Ref_sql
|
||||
{
|
||||
function format_code()
|
||||
{
|
||||
$this->me_code=strtoupper($this->me_code);
|
||||
$this->me_code=trim($this->me_code);
|
||||
$this->me_code=str_replace('<','',$this->me_code);
|
||||
$this->me_code=str_replace('>','',$this->me_code);
|
||||
}
|
||||
function verify()
|
||||
{
|
||||
parent::verify();
|
||||
if ( $this->me_code == -1)
|
||||
{
|
||||
$this->format_code();
|
||||
if ( $this->cn->get_value("select count(*) from menu_ref where me_code=$1",array($this->me_code)) > 0)
|
||||
return -1;
|
||||
if (trim($this->me_code)=='')
|
||||
return -2;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
* \brief Show the table menu and let you add your own
|
||||
*
|
||||
*/
|
||||
require_once 'class_menu_ref_sql.php';
|
||||
require_once 'class_menu_ref.php';
|
||||
require_once 'class_sort_table.php';
|
||||
require_once 'class_extension.php';
|
||||
|
||||
|
|
@ -68,6 +68,29 @@ if (isset($_POST['mod_plugin']))
|
|||
$plugin->remove_plugin();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* if post save then we save a new one
|
||||
*/
|
||||
if ( isset($_POST['create_menu'])|| isset($_POST['mod_menu']))
|
||||
{
|
||||
extract($_POST);
|
||||
$menu_ref=new Menu_Ref($cn);
|
||||
$menu_ref->me_code=$me_code;
|
||||
$menu_ref->me_menu=$me_menu;
|
||||
$menu_ref->me_file=$me_file;
|
||||
$menu_ref->me_description=$me_description;
|
||||
$menu_ref->me_parameter=$me_parameter;
|
||||
$menu_ref->me_url=$me_url;
|
||||
$menu_ref->me_javascript=$me_javascript;
|
||||
$menu_ref->me_type='ME';
|
||||
if ( isset($_POST['create_menu']))
|
||||
{
|
||||
if ( $menu_ref->verify() == 0) $menu_ref->insert();
|
||||
}elseif (isset ($_POST['mod_menu']))
|
||||
{
|
||||
if ( $menu_ref->verify() == 0)$menu_ref->update();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* if delete then delete
|
||||
*/
|
||||
|
|
@ -131,6 +154,7 @@ $ret=$menu->seek($sql.$order);
|
|||
<?
|
||||
$gDossier=Dossier::id();
|
||||
echo HtmlInput::button("Add_plugin", "Ajout d'un plugin", "onclick=add_plugin($gDossier)");
|
||||
echo HtmlInput::button("Add_menu", "Ajout d'un menu", "onclick=create_menu($gDossier)");
|
||||
echo '<table class="result">';
|
||||
echo '<tr>';
|
||||
echo '<th>'.$table->get_header(0).'</th>';
|
||||
|
|
@ -143,29 +167,30 @@ echo '<th>'.$table->get_header(6).'</th>';
|
|||
echo '<th>'.$table->get_header(7).'</th>';
|
||||
echo '</tr>';
|
||||
|
||||
for ($i=0;$i<Database::num_row($ret);$i++)
|
||||
for ($i = 0; $i < Database::num_row($ret); $i++)
|
||||
{
|
||||
$row=$menu->get_object($ret, $i);
|
||||
$js=$row->me_code;
|
||||
switch ($row->me_type)
|
||||
{
|
||||
case 'PL':
|
||||
$js=sprintf('<A class="line" href="javascript:void(0)" onclick="mod_plugin(\'%s\',\'%s\')">%s</A>',
|
||||
$gDossier,$row->me_code,$row->me_code);
|
||||
break;
|
||||
|
||||
}
|
||||
$class= ( $i%2 == 0)?$class=' class="odd"':$class=' class="even"';
|
||||
echo "<tr $class>";
|
||||
echo td($js);
|
||||
echo td($row->me_menu);
|
||||
echo td($row->me_description);
|
||||
echo td($row->me_file);
|
||||
echo td($row->me_url);
|
||||
echo td($row->me_parameter);
|
||||
echo td($row->me_javascript);
|
||||
echo td($row->me_type);
|
||||
echo '</tr>';
|
||||
$row = $menu->get_object($ret, $i);
|
||||
$js = $row->me_code;
|
||||
switch ($row->me_type)
|
||||
{
|
||||
case 'PL':
|
||||
$js = sprintf('<A class="line" href="javascript:void(0)" onclick="mod_plugin(\'%s\',\'%s\')">%s</A>', $gDossier, $row->me_code, $row->me_code);
|
||||
break;
|
||||
case 'ME':
|
||||
$js = sprintf('<A class="line" href="javascript:void(0)" onclick="mod_menu(\'%s\',\'%s\')">%s</A>', $gDossier, $row->me_code, $row->me_code);
|
||||
break;
|
||||
}
|
||||
$class = ( $i % 2 == 0) ? $class = ' class="odd"' : $class = ' class="even"';
|
||||
echo "<tr $class>";
|
||||
echo td($js);
|
||||
echo td($row->me_menu);
|
||||
echo td($row->me_description);
|
||||
echo td($row->me_file);
|
||||
echo td($row->me_url);
|
||||
echo td($row->me_parameter);
|
||||
echo td($row->me_javascript);
|
||||
echo td($row->me_type);
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</table>';
|
||||
|
||||
|
|
|
|||
72
include/template/menu_detail.php
Normal file
72
include/template/menu_detail.php
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<?php
|
||||
require_once 'class_html_input.php';
|
||||
require_once 'class_itext.php';
|
||||
echo HtmlInput::title($msg,"divmenu");
|
||||
$str_code=new IText('me_code',$m->me_code);
|
||||
if ( $m->me_code != -1) $str_code->setReadOnly (true);
|
||||
|
||||
$str_menu=new IText('me_menu',$m->me_menu);
|
||||
$str_desc=new IText('me_description',$m->me_description);
|
||||
$str_file=new IText('me_file',$m->me_file);
|
||||
$str_url=new IText('me_url',$m->me_url);
|
||||
$str_js=new IText('me_javascript',$m->me_javascript);
|
||||
|
||||
?>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Code du menu
|
||||
</td>
|
||||
<td>
|
||||
<?=$str_code->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Libellé du menu
|
||||
</td>
|
||||
<td>
|
||||
<?=$str_menu->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Description
|
||||
</td>
|
||||
<td>
|
||||
<?=$str_desc->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Fichier à inclure (depuis le répertoire include)
|
||||
</td>
|
||||
<td>
|
||||
<?=$str_file->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
URL
|
||||
</td>
|
||||
<td>
|
||||
<?=$str_url->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Paramèttre
|
||||
</td>
|
||||
<td>
|
||||
<?=$str_parameter->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Javascript
|
||||
</td>
|
||||
<td>
|
||||
<?=$str_js->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
Loading…
Add table
Add a link
Reference in a new issue