$value){
if ($key != 'cat'
and $key != 'old_cat'
and $key != 'onglet'
and $key != 'old_onglet'
and $key != 'SUBMIT_FORM'
and !in_array($key ,$name_field) ){
$tab_hidden[$key]=$value;
}
}
return $tab_hidden;
}
function list_status($allactif=1){
$sql_service="select id,name,lbl,actif FROM downloadwk_statut_request";
if ($allactif==1){
$sql_service.=" WHERE (ACTIF is null or ACTIF=1)";
}
//echo $sql_id_STATUS;
$resultSERV = mysql2_query_secure($sql_service, $_SESSION['OCS']["readServer"]);
$List_stat[]='';
while($item = mysql_fetch_object($resultSERV)){
$id[]=$item->id;
$List_stat[$item->id]=$item->name.'('.$item->lbl.')';
$List_stat_bis[$item->id]=$item->lbl;
if ($item->actif == ''){
$act=1;
}else
$act=$item->actif;
$actif[$item->id]=$act;
$niv[$item->id]=$item->name;
$niv_bis[$item->name]=$item->name.'('.$item->lbl.')';
//$niv_ter[$item->id]=$item->name.'('.$item->lbl.')';
}
return array('STAT'=>$List_stat,'ACTIF'=>$actif,'NIV'=>$niv,'NIV_BIS'=>$niv_bis,'STAT_BIS'=>$List_stat_bis,'ID_TAB'=>$id);
}
function define_lbl($LBL,$DEFAULT_FIELD){
global $l;
if ($DEFAULT_FIELD == 1)
$lbl=$l->g($LBL);
else
$lbl=$LBL;
return $lbl;
}
function find_dde_by_status($status){
global $l;
//echo $status;
$status_array=list_status(false);
if (in_array($status,$status_array['NIV'])){
$status=array_search($status, $status_array['NIV']);
$id_status=find_id_field();
$sql="select id from downloadwk_pack where fields_".$id_status['STATUS']->id."='".$status."'";
$result = mysql_query($sql, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
while ($item_values = mysql_fetch_object($result))
$list_id_dde[]=$item_values->id;
//echo $sql;
return $list_id_dde;
}elseif ($_SESSION['OCS']['DEBUG'])
msg_error($l->g(1076));
}
function info_dde($id_dde){
if (is_array($id_dde)){
$list_dde=implode("','",$id_dde);
$sql="select * FROM downloadwk_pack where id in ('".$list_dde."')";
// echo $sql;
$result = mysql_query($sql, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
while ($item_values = mysql_fetch_object($result)){
// print_r($item_values);
$tab_info_dde[$item_values->ID]=$item_values;
}
// print_r($tab_info_dde);
return $tab_info_dde;
}
if (is_numeric($id_dde)){
$sql="select * FROM downloadwk_pack where id='".$id_dde."'";
$result = mysql_query($sql, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
$item_values = mysql_fetch_object($result);
return $item_values;
}else
return false;
}
function find_id_field($name_field=array('STATUS'),$list_fields='id'){
$sql_id_="select ".$list_fields.",FIELD from downloadwk_fields where FIELD in ('".implode("','",$name_field)."')";
$result_id_ = mysql_query($sql_id_, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
while ($item_id_ = mysql_fetch_object($result_id_))
$return[$item_id_->FIELD]=$item_id_;
return $return;
}
function dde_form($form_name){
global $l,$protectedPost,$protectedGet,$pages_refs;
//cas of dde modification
if (isset($protectedPost['MODIF'])){
$item_modif_values=info_dde($protectedPost['MODIF']);
if (is_object($item_modif_values)){
foreach ($item_modif_values as $key=>$value){
if (substr_count($key, 'fields_')){
if (substr_count($value,'**&&&**')){
$array_value=explode('**&&&**',$value);
foreach ($array_value as $nb=>$value_tab){
//if this field is readonly
//we sow all values
$value_list[substr($key,7)].=$value_tab.". ";
$protectedPost[substr($key,7).'_'.$nb]=$value_tab;
}
}elseif (substr_count($value,'**check&check**')){
$array_value=explode('**check&check**',$value);
foreach ($array_value as $nb=>$value_tab){
//if this field is readonly
//we sow all values
$value_list[substr($key,7)].=$value_tab.". ";
$protectedPost[substr($key,7).'_'.$value_tab]='on';
}
}else
$protectedPost[substr($key,7)]=$value;
}elseif ($key == 'ID'){
$protectedPost['OLD_MODIF']=$value;
}elseif ($key == 'STATUT'){
$protectedPost['STATUS']=$value;
}elseif ($key == 'LOGIN_USER'){
$protectedPost['LOGIN_USER']=$value;
}
}
unset($protectedPost['MODIF']);
}
if ($protectedPost['LOGIN_USER'] != $_SESSION['OCS']['loggeduser'] and is_array($value_list)){
foreach ($value_list as $key => $value){
$protectedPost[$key]=$value;
}
}
}
//search all tab of this form
$sql_TAB="select VALUE,LBL,ID,DEFAULT_FIELD from downloadwk_tab_values where FIELD = 'TAB'";
$result_TAB = mysql_query($sql_TAB, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
while($item = mysql_fetch_object($result_TAB)){
if (!isset($protectedPost['cat']) or $protectedPost['cat'] == ''){
$protectedPost['cat']=$item->ID;
}
$lbl=define_lbl($item->LBL,$item->DEFAULT_FIELD);
$cat_value[$item->ID]=$lbl;
}
//show all tab
onglet($cat_value,$form_name,"cat",5);
//search all fields of the form
$sql_fields="select TAB,FIELD,TYPE,LBL,MUST_COMPLETED,ID,VALUE,DEFAULT_FIELD,RESTRICTED,LINK_STATUS from downloadwk_fields";
$result_fields = mysql_query($sql_fields, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
while($item = mysql_fetch_object($result_fields)){
unset($value);
if (($item->RESTRICTED == 1 and $_SESSION['OCS']['RESTRICTION']['TELEDIFF_WK_FIELDS'] == 'YES')
or (isset($protectedPost['OLD_MODIF'])
and $item->TYPE != 8 and $item->TYPE != 10
and $protectedPost['LOGIN_USER'] != $_SESSION['OCS']['loggeduser']
)
){
$grise=3;
//cas of status
if ($item->FIELD == "STATUS"){
//It's the only field witch admin can modify when request is create by someone else
if ($_SESSION['OCS']['RESTRICTION']['TELEDIFF_WK_FIELDS'] == 'YES'){
$val_field=$item->VALUE;
$sql_service="select id, lbl as value from downloadwk_statut_request where id='".$val_field."'";
$resultSERV = mysql_query($sql_service, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
$item_conf_values = mysql_fetch_object($resultSERV);
$value=$item_conf_values->value;
}else
$grise=$item->TYPE;
}else{
//cas of list and checkbox
if (isset($protectedPost[$item->ID])){
$list_id=explode('.',$protectedPost[$item->ID]);
$p=0;
$ok_num=true;
while ($list_id[$p]){
if (!is_numeric($list_id[$p]) and trim($list_id[$p]) != "")
$ok_num=false;
if (trim($list_id[$p]) == ""){
unset($list_id[$p]);
}
$p++;
}
if ($ok_num and implode(',',$list_id)){
$sql_service="select field, value from downloadwk_conf_values where id in (%s)";
$arg_service=array(implode(',',$list_id));
$resultSERV = mysql2_query_secure($sql_service, $_SESSION['OCS']["readServer"],$arg_service);
$value="";
while ($item_conf_values = mysql_fetch_object($resultSERV)){
$value.=$item_conf_values->value.' ';
}
}
// echo $value;
}
if(!isset($value) or $value == "")
$value=$protectedPost[$item->ID];
if ($value == ""){
$value=$value_list[$item->ID];
}
/*$val_field=$item->ID;
$sql_service="select field, value from downloadwk_conf_values where field='".$val_field."'";
echo $sql_service." ";
$resultSERV = mysql_query($sql_service, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
$item_conf_values = mysql_fetch_object($resultSERV);
if (isset($item_conf_values))
$value=$item_conf_values->value;*/
}
}//cas ou on ne peut pas ajouter des fichiers à une demande
elseif(isset($protectedPost['OLD_MODIF']) and $item->TYPE == 8
and $protectedPost['LOGIN_USER'] != $_SESSION['OCS']['loggeduser']){
$grise=9;
}else
$grise=$item->TYPE;
//echo $item->FIELD."=>".$grise." ";
// print_r($item);
//si le champs n'est pas restraint, on l'affiche
//$item->LINK_STATUS
if (!(is_numeric($item->LINK_STATUS) and $protectedPost['STATUS']!= $item->LINK_STATUS and $item->LINK_STATUS != 0)){
$lbl=define_lbl($item->LBL,$item->DEFAULT_FIELD);
$name_field[$item->TAB][$item->ID]=$item->ID;
$oblig_field[$item->TAB][$item->ID]=$item->MUST_COMPLETED;
$tab_name[$item->TAB][$item->ID]=$lbl;
$type_field[$item->TAB][$item->ID]=$grise;
$type_field_temp[$item->ID]=$grise;
$restricted_field[$item->TAB][$item->ID]=$item->RESTRICTED;
$link_status[$item->TAB][$item->ID]=$item->LINK_STATUS;
//si une valeur par défaut est donnée au champ
//mais que l'on n'est dans un champ type multi lignes
if (!isset($value)){
if ($item->VALUE != '' and $grise != 6){
if (isset($_SESSION['OCS'][$item->VALUE])){
$value=$_SESSION['OCS'][$item->VALUE];
}
else
$value=$item->VALUE;
}else
$value=$protectedPost[$item->ID];
}
//cas du champ multi ligne => on récupère le nbre de champ a afficher
if ($grise == 6 ){
if (!is_numeric($item->VALUE))
$nb_fields[$item->TAB][$item->ID]=6;
else
$nb_fields[$item->TAB][$item->ID]=$item->VALUE;
//ajout des champs a prendre en compte quand on passe d'onglet en onglet
$k=0;
while ($k<$nb_fields[$item->TAB][$item->ID]){
$name_field[$item->TAB][$item->ID.'_'.$k]=$item->ID.'_'.$k;
$k++;
}
}
//unset($value_field[$item->TAB][$item->ID]);
if ($grise == 2 or $grise == 5){
//echo $item->FIELD." ";
//GESTION DU STATUT DE LA DEMANDE
if ($item->FIELD == "STATUS"){
$list_status=list_status();
$sql_service="select id, lbl as value from downloadwk_statut_request where id in (".implode(',',$list_status['ID_TAB']).")";
}else{
$add_values_admin[$item->TAB][$item->ID]=$item->ID;
$sql_service="select field,value,id,default_field FROM downloadwk_conf_values where field=".$item->ID;
}
//echo $item->FIELD." ";
$resultSERV = mysql_query($sql_service, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
while($item_conf_values = mysql_fetch_object($resultSERV)){
if (!isset($List[$item_conf_values->field]) and $grise == 2){
$value_field[$item->TAB][$item->ID]['']='';
}
if ($grise == 5){
$name_field[$item->TAB][$item->ID.'_'.$item_conf_values->id]=$item->ID.'_'.$item_conf_values->id;
}
$value_field[$item->TAB][$item->ID][$item_conf_values->id]=$item_conf_values->value;
//echo $value_field[$item->TAB][$item->ID][$item_conf_values->id]." ";
}
}
/*elseif ($grise == 7){
echo "toto";
$value_field[$item->TAB][$item->ID]=8;
}*/
elseif ($grise == 9){
$sql_files="select id,file_name from temp_files where fields_name='fields_".$item->ID."' and id_dde='".$protectedPost['OLD_MODIF']."'";
$result_files= mysql_query($sql_files, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
while($item_files = mysql_fetch_object($result_files)){
$value_field[$item->TAB][$item->ID][$item_files->id]=$item_files->file_name;
}
}
elseif ($grise == 8){
$nb_dde[$item->TAB][$item->ID]=$protectedPost['OLD_MODIF'];
}else{
$value_field[$item->TAB][$item->ID]=$value;
}
}
}
/*********************END initialisation***********************/
//echo "
";
//DDE POST
if ($protectedPost['SUBMIT_FORM'] == "SUBMIT_FORM" ){
foreach($oblig_field as $key=>$array_value){
foreach($array_value as $id=>$value){
//les champs en lecture seule ne sont pas à mettre à jour
if ($type_field[$key][$id] != 3){
//si on est à l'insertion de fichier dans la demande
if ($type_field[$key][$id] == 8 or $type_field[$key][$id] == 9){
// //recherche des fichiers disponibles pour ce champ
$sql="select id from temp_files where fields_name = 'fields_".$id."'
and AUTHOR='".$_SESSION['OCS']['loggeduser']."'
and (ID_DDE is null or ID_DDE='".$protectedPost['OLD_MODIF']."')";
$result = mysql_query($sql, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
unset($id_files_value);
while ($item_values = mysql_fetch_object($result)){
$id_files_value[]=$item_values->id;
$list_id_files_to_update[]=$item_values->id;
}
//on ajoute les id des fichiers aux posts pour les insérer en base
if (isset($id_files_value)){
$protectedPost[$id]=implode(',',$id_files_value);
}
}
//si le post n'existe pas ou qu'il est vide mais que ce champ est obligatoire
if ((!isset($protectedPost[$id]) or $protectedPost[$id] == '')
and $value == 1){
//cas of checkbox
unset($check);
if ($type_field[$key][$id] == 5){
foreach($name_field[$key] as $id_check){
if ($protectedPost[$id_check])
$check=true;
}
}
//traitement des multi listes
if ($type_field[$key][$id] == 6){
foreach ($protectedPost as $key2=>$value2){
if (strstr($key2,$id.'_') and $value2 != ''){
$value_list[$id].=$value2.'**&&&**';
$check=true;
}
}
}
if (!isset($check)){
$msg_empty.=$tab_name[$key][$id]." ";
}
}
//si le champ est en lecture seule, on ne prend pas en compte la valeur
//du post
/*if ($type_field[$key][$id] == 3)
unset($protectedPost[$id]); */
}
}
}
// $msg_empty="STOP";
//print_r($type_field_temp);
if (isset($msg_empty)){
msg_error($l->g(684) . ": " . $msg_empty);
unset($protectedPost['SUBMIT_FORM']);
}else{
//on récupère l'id du champ status
$item_id_STATUS =find_id_field();
if (isset($item_id_STATUS['STATUS']->id) and $item_id_STATUS['STATUS']->id != ''){
foreach ($protectedPost as $key=>$value){
//cas of checkbox
$checkbox=explode('_',$key);
if ($type_field_temp[$key] != 9){
if ((isset($protectedPost['OLD_MODIF']) and is_numeric($protectedPost['OLD_MODIF'])
and $type_field_temp[$key] != 3 and $type_field_temp[$checkbox[0]] != 3)
or !isset($protectedPost['OLD_MODIF'])){
//echo $key."=>".$type_field_temp[$key]." ";
if (is_numeric($checkbox[0]) and is_numeric($checkbox[1]) and !isset($value_list[$checkbox[0]])){
$check_on[$checkbox[0]].=$checkbox[1]."**check&check**";
}elseif (isset($value_list[$checkbox[0]]) and $value_list[$checkbox[0]]!=''){
$array_fields_form[]= "fields_".$checkbox[0];
$array_value_form[]= $value_list[$checkbox[0]];
$value_list[$checkbox[0]]='';
}
if (is_numeric($key)){
$array_fields_form[]= "fields_".$key;
//gestion du statut. La demande est faite => statut=2
if (($item_id_STATUS['STATUS']->id == $key and $value == '') or($item_id_STATUS['STATUS']->id == $key and !is_numeric($value)))
$array_value_form[]= "2";
else
$array_value_form[]= $value;
}
}
}
}
if (isset($check_on)){
foreach ($check_on as $key=>$value){
$array_fields_form[]= "fields_".$key;
$array_value_form[]= $value;
}
}
if (isset($protectedPost['OLD_MODIF']) and is_numeric($protectedPost['OLD_MODIF'])){
//search old parameters
$sql_old_param="select * from downloadwk_pack where id = '%s'";
$arg=array($protectedPost['OLD_MODIF']);
$result_old_param = mysql2_query_secure($sql_old_param, $_SESSION['OCS']["readServer"],$arg);
$item_old_param = mysql_fetch_object($result_old_param);
$sql_wk_dde="UPDATE downloadwk_pack set ";
$i=0;
$arg=array();
while ($array_fields_form[$i]){
$sql_wk_dde.=$array_fields_form[$i]."='%s', ";
$arg_wk_dde[]=$array_value_form[$i];
if ($item_old_param ->$array_fields_form[$i] != $array_value_form[$i]){
$id_field=explode('_',$array_fields_form[$i]);
$sql_fields_modif="select lbl from downloadwk_fields where id = '%s'";
$arg_lbl=array($id_field[1]);
$result_fields_modif = mysql2_query_secure($sql_fields_modif, $_SESSION['OCS']["readServer"],$arg_lbl);
$item_fields_modif = mysql_fetch_object($result_fields_modif);
if (is_numeric($item_fields_modif->lbl))
$modif_field=$l->g($item_fields_modif->lbl);
else
$modif_field=$item_fields_modif->lbl;
$list_fields_modif[]=$modif_field;
}
$i++;
}
$sql_wk_dde= substr($sql_wk_dde, 0, -2)." WHERE ID='%s'";
$arg_wk_dde[]=$protectedPost['OLD_MODIF'];
$subjet_mail=$l->g(1053) . ": " . $protectedPost['OLD_MODIF'];
$body=$_SESSION['OCS']['loggeduser'] . $l->g(1090) . $protectedPost['OLD_MODIF'];
//LOGS MODIF
if (isset($list_fields_modif) and is_array($list_fields_modif)){
$sql_log_modif="INSERT INTO downloadwk_history (ID_DDE,AUTHOR,DATE,ACTION)
VALUES ('%s','%s',sysdate(),'%s')";
$arg=array($protectedPost['OLD_MODIF'],$_SESSION['OCS']['loggeduser'],implode(',',$list_fields_modif));
mysql2_query_secure($sql_log_modif, $_SESSION['OCS']["writeServer"],$arg);
$body.="Champs modifiés: " . implode(' ',$list_fields_modif);
}
$msg_popup=$l->g(1053);
}else{
$sql_wk_dde="INSERT INTO downloadwk_pack (LOGIN_USER,GROUP_USER,Q_DATE,";
$sql_wk_dde.= implode(",",$array_fields_form);
$sql_wk_dde.= ") VALUES ('%s','%s',UNIX_TIMESTAMP(),";
$arg_wk_dde=array($_SESSION['OCS']['loggeduser'],$_SESSION['OCS']['user_group']);
foreach ($array_value_form as $key_form=>$value_form){
$sql_wk_dde.="'%s',";
$arg_wk_dde[]=$value_form;
}
$sql_wk_dde= substr($sql_wk_dde, 0, -1).")";
$msg_popup=$l->g(1054);
$subjet_mail=$l->g(1091);
$body=$_SESSION['OCS']['loggeduser'] . $l->g(1092);
}
/*echo " ";
echo $sql_wk_dde;
echo " ";*/
//print_r($array_value_form);
//$sql_insert= substr($sql_insert,0,-1);
//$list_value= substr($list_value,0,-2);
mysql2_query_secure($sql_wk_dde, $_SESSION['OCS']["writeServer"],$arg_wk_dde);
//mise à jour des blobs insérés
if (isset($list_id_files_to_update)){
if (mysql_insert_id($_SESSION['OCS']["writeServer"]))
$id_dde=mysql_insert_id($_SESSION['OCS']["writeServer"]);
elseif (isset($protectedPost['OLD_MODIF']))
$id_dde=$protectedPost['OLD_MODIF'];
if (isset($id_dde)){
$sql_up="update temp_files
set ID_DDE='%s'
where ID in (%s)";
$arg=array($id_dde,implode(",",$list_id_files_to_update));
mysql2_query_secure($sql_up, $_SESSION['OCS']["writeServer"],$arg);
}
}
$tab=$protectedPost['cat'];
unset($protectedPost);
$protectedPost['cat']=$tab;
msg_success($msg_popup);
//TODO: envoi de mail au group admin + soit à l'utilisateur soit à son groupe (voir la conf du profil)
$mail_active=option_conf_activate('IT_SET_MAIL');
if ($mail_active){
//mail for admin of workflow
$group_admin_mail=look_config_default_values(array('IT_SET_MAIL_ADMIN'));
if (isset($group_admin_mail['ivalue']['IT_SET_MAIL_ADMIN'])){
$sql_mail="select email
from operators
where user_group='%s'";
$arg=array($group_admin_mail['ivalue']['IT_SET_MAIL_ADMIN']);
$result_mail = mysql2_query_secure($sql_mail, $_SESSION['OCS']["readServer"],$arg);
$mail_list=array();
while($item_mail = mysql_fetch_object($result_mail)){
if (VerifyMailadd($item_mail->email)){
$mail_list[]=$item_mail->email;
}
}
}
//mail for other
$sql_mail="select email,user_group
from operators
where ID='%s'";
$arg=array($_SESSION['OCS']['loggeduser']);
$result_mail = mysql2_query_secure($sql_mail, $_SESSION['OCS']["readServer"],$arg);
$item_mail = mysql_fetch_object($result_mail);
if (!VerifyMailadd($item_mail->email))
msg_error($l->g(1055)." ".$l->g(1056));
if ($_SESSION['OCS']['TELEDIFF_WK'] == 'LOGIN'){
if (VerifyMailadd($item_mail->email))
$mail_list[]=$item_mail->email;
}elseif ($_SESSION['OCS']['TELEDIFF_WK'] == 'USER_GROUP'){
$sql_mail_group="select email from operators
where USER_GROUP='%s'";
$arg=array($item_mail->user_group);
$result_mail_group = mysql2_query_secure($sql_mail_group, $_SESSION['OCS']["readServer"],$arg);
while ($item_mail_group = mysql_fetch_object($result_mail_group)){
if (VerifyMailadd($item_mail_group->email))
$mail_list[]=$item_mail_group->email;
}
}
if (isset($mail_list[0])){
send_mail($mail_list,$subjet,$body);
}else
msg_error($l->g(1058));
}
unset($_SESSION['OCS']['DATA_CACHE'],$_SESSION['OCS']['NUM_ROW']);
}else{
msg_error( $l->g(1093) . ". " . $l->g(1094) );
unset($protectedPost['SUBMIT_FORM']);
}
}
}
/***************BEGIN Show fields*************/
if ($name_field[$protectedPost['cat']]){
//print_r($type_field[$protectedPost['cat']]);
$tab_typ_champ=show_field($name_field[$protectedPost['cat']],$type_field[$protectedPost['cat']],$value_field[$protectedPost['cat']]);
if (isset($nb_fields[$protectedPost['cat']])){
foreach ($nb_fields[$protectedPost['cat']] as $key=>$value){
$tab_typ_champ[$key]['CONFIG']['NB_FIELD']=$value;
}
}
if (isset($nb_dde[$protectedPost['cat']])){
foreach ($nb_dde[$protectedPost['cat']] as $key=>$value){
$tab_typ_champ[$key]['CONFIG']['DDE']=$value;
}
}
//add * before the lbl if this field must be completed
foreach ($tab_name[$protectedPost['cat']] as $key=>$value){
if ($oblig_field[$protectedPost['cat']][$key] == 1){
$tab_name[$protectedPost['cat']][$key]='*'.$value;
}
}
ksort($tab_name[$protectedPost['cat']]);
//print_r($add_values[$protectedPost['cat']]);
if ($_SESSION['OCS']['CONFIGURATION']['TELEDIFF_WK'] == 'YES'){
if (isset($add_values_admin[$protectedPost['cat']])){
foreach($add_values_admin[$protectedPost['cat']] as $key=>$value)
$tab_typ_champ[$value]['COMMENT_BEHING']="";
}
}
}else
echo "NOT DEFINE";
/***************END Show fields*************/
if (isset($msg))
msg_success($msg);
if (isset($tab_typ_champ)){
//print_r($name_field);
$tab_hidden= hidden($protectedPost,$name_field[$protectedPost['cat']]);
tab_modif_values($tab_name[$protectedPost['cat']],$tab_typ_champ,$tab_hidden,$title="",$comment="",$name_button="modif",$showbutton=false,'NO_FORM');
if (isset($protectedPost['OLD_MODIF']))
$lbl=$l->g(115);
else
$lbl=$l->g(114);
echo "";
echo "";
}
}
function dde_conf($form_name){
global $l,$protectedPost,$protectedGet,$pages_refs,$infos_status;
if ($_SESSION['OCS']['CONFIGURATION']['TELEDIFF_WK'] == 'YES'){
//sous onglets
if ($infos_status['NIV_BIS'] != ''){
$conf_value['GENERAL']=$l->g(107);
$conf_value['GUI']=$l->g(84);
}
$conf_value['STATUS']=$l->g(1095);;
//$conf_value['ADMIN']='Administration';
onglet($conf_value,$form_name,"conf",7);
if ($protectedPost['Valid'] == $l->g(103)){
$etat=verif_champ();
if ($etat == "")
$MAJ=update_default_value($protectedPost); //function in function_config_generale.php
else{
$msg="";
foreach ($etat as $name=>$value){
$msg.=$name." ".$l->g(759)." ".$value." ";
}
msg_error($msg);
}
}
if (!isset($protectedPost['conf']) or $protectedPost['conf']=="GENERAL")
pageTELEDIFF_WK($form_name);
if ($protectedPost['conf']=="GUI"){
//mise a jour des données demandée par l'utilisateur
if( $protectedPost['Valid_fields_x'] != "" ) {
//si la mise a jour est limitée à certain champs
if (isset($protectedPost['DEFAULT_FIELD'])){
$fields=explode(',',$protectedPost['DEFAULT_FIELD']);
}else{
$fields=array('type','field','lbl','must_completed','value','restricted','link_status');
//si le type est TEXTAREA, il faut aussi changer le type de la colonne en longtext
if ($protectedPost['type'] == 1){
$type_modif="longtext";
}else
$type_modif="varchar(255)";
$sql_modify_type='ALTER TABLE downloadwk_pack change
fields_%1$s
fields_%1$s '.$type_modif.' default null;';
$arg=array($protectedPost['FIELDS']);
mysql2_query_secure($sql_modify_type,$_SESSION['OCS']["writeServer"],$arg);
//echo $sql_modify_type;
}
//création de la requête
$sql_update='UPDATE downloadwk_fields
set ';
$arg=array();
foreach ($fields as $key=>$value){
$sql_update.= $value."='%s' ,";
$arg[]= $protectedPost[$value];
}
$sql_update=substr($sql_update,0,-1)."where id='%s'";
$arg[]=$protectedPost['FIELDS'];
mysql2_query_secure($sql_update,$_SESSION['OCS']["writeServer"],$arg);
//print_r
//echo $sql_update;
}
$sql_service="select id,field,value,lbl,default_field
FROM downloadwk_tab_values";
$resultSERV = mysql2_query_secure($sql_service, $_SESSION['OCS']["readServer"]);
$List_tab[]='';
while($item = mysql_fetch_object($resultSERV)){
$lbl=define_lbl($item->lbl,$item->default_field);
$List_tab[$item->id]=$lbl;
}
$name_field= array("TAB");
//$oblig_field['INFO_VALID']=$name_field['INFO_VALID'];
$tab_name= array($l->g(1097) . ":");
$type_field= array(2);
$value_field=array($List_tab);
if (isset($protectedPost['TAB']) and $protectedPost['TAB'] != 0){
$sql_service="select id,lbl,default_field
FROM downloadwk_fields
where TAB='%s'";
$arg=array($protectedPost['TAB']);
$resultSERV = mysql2_query_secure($sql_service, $_SESSION['OCS']["readServer"],$arg);
$List_fields[]='';
while($item = mysql_fetch_object($resultSERV)){
$lbl=define_lbl($item->lbl,$item->default_field);
$List_fields[$item->id]=$lbl;
$default_field[$item->id]=$item->default_field;
}
array_push($name_field,"FIELDS");
array_push($tab_name,$l->g(1096) . ":");
array_push($type_field,2);
array_push($value_field,$List_fields);
}
$tab_typ_champ=show_field($name_field,$type_field,$value_field);
$tab_typ_champ[0]['COMMENT_BEHING']="";
$tab_typ_champ[0]['RELOAD']=$form_name;
$tab_typ_champ[1]['RELOAD']=$form_name;
$tab_typ_champ[1]['COMMENT_BEHING']="";
tab_modif_values($tab_name,$tab_typ_champ,$tab_hidden,$title="",$comment="",$name_button="modif",$showbutton=false,$form_name='NO_FORM');
if (isset($protectedPost['FIELDS']) and $protectedPost['FIELDS'] != 0){
echo " ";
$sql_status="SELECT id,lbl FROM downloadwk_statut_request";
$res_status = mysql2_query_secure( $sql_status, $_SESSION['OCS']["readServer"] );
$status['0']= $l->g(454);
while ($val_status = mysql_fetch_array( $res_status ))
$status[$val_status['id']]=$val_status['lbl'];
//print_r($status);
$list_type=array('TEXT','TEXTAREA','SELECT',
'SHOW DATA','PASSWORD',
'CHECKBOX','LIST','HIDDEN',
'BLOB (FILE)','LINK LIST','TABLE');
$yes_no=array($l->g(454),$l->g(455));
$sql_detailField="select type,field,lbl,must_completed,
value,restricted,link_status
FROM downloadwk_fields
where id='%s' and tab='%s' ";
$arg=array($protectedPost['FIELDS'],$protectedPost['TAB']);
$result_detailField = mysql2_query_secure($sql_detailField, $_SESSION['OCS']["readServer"],$arg);
$item_detailField = mysql_fetch_object($result_detailField);
//if there is no result or more than 1, don't show update table
$num_row=mysql_numrows($result_detailField);
if ($num_row == 1){
$protectedPost['type']=$item_detailField->type;
$protectedPost['must_completed']=$item_detailField->must_completed;
$protectedPost['restricted']=$item_detailField->restricted;
$protectedPost['link_status']=$item_detailField->link_status;
$name_field=array('type','field','lbl','must_completed','value','restricted','link_status');
$tab_name= array($l->g(1071) . ':',$l->g(1098) . ':',$l->g(1063) . ':',$l->g(1064) . ':',$l->g(1099) . ':',$l->g(1065) . ':',$l->g(1066) . ':');
if ($default_field[$protectedPost['FIELDS']]) {
$title= $l->g(1101);
//$showbutton=false;
$type_field= array(3,3,3,3,0,3,3,7);
$value_field=array($list_type[$item_detailField->type],
$item_detailField->field,
$l->g($item_detailField->lbl),
$yes_no[$item_detailField->must_completed],
$item_detailField->value,
$yes_no[$item_detailField->restricted],
$status[$item_detailField->link_status],'value');
if ($item_detailField->field == "STATUS"){
$type_field[4]= 2;
unset($status[0]);
$value_field[4]=$status;
$protectedPost['value']=$item_detailField->value;
}
$name_field[7]='DEFAULT_FIELD';
$tab_name[7]='';
}else{
$title="";
//$showbutton=true;
$type_field= array(2,0,0,2,0,2,2);
$value_field=array($list_type,
$item_detailField->field,
$item_detailField->lbl,
$yes_no,
$item_detailField->value,
$yes_no,
$status);
}
$tab_typ_champ=show_field($name_field,$type_field,$value_field);
tab_modif_values($tab_name,$tab_typ_champ,$tab_hidden,$title,$comment="",$name_button="fields",$showbutton=true,$form_name='NO_FORM');
}
}
}elseif($protectedPost['conf']=="STATUS"){
//mise à jour des valeurs de statuts
if ($protectedPost['Valid_fields_x'] != ''){
if (trim ($protectedPost['lbl']) != ''){
$sql_update="UPDATE downloadwk_statut_request
set LBL='%s' , ACTIF='%s'
where ID='%s'";
$arg=array($protectedPost['lbl'],
$protectedPost['actif'],
$protectedPost['id']);
mysql2_query_secure($sql_update,$_SESSION['OCS']["writeServer"],$arg);
msg_success($l->g(1121));
}else
msg_error($l->g(988));
}
$infos_status=list_status(false);
$name_field= array("STATUS");
$tab_name= array($l->g(1100) . ":");
$type_field= array(2);
$value_field=array($infos_status['STAT']);
if (isset($protectedPost['STATUS']) and $protectedPost['STATUS'] != 0){
//delete old post if you change status
if (isset($protectedPost['OLD_STATUS']) and $protectedPost['OLD_STATUS'] != $protectedPost['STATUS'])
unset($protectedPost['actif'],$protectedPost['lbl'],$protectedPost['name']);
$yes_no=array($l->g(454),$l->g(455));
if (!isset($protectedPost['actif']))
$protectedPost['actif']=$infos_status['ACTIF'][$protectedPost['STATUS']];
if (!isset($protectedPost['lbl']))
$protectedPost['lbl']=$infos_status['STAT_BIS'][$protectedPost['STATUS']];
if (!isset($protectedPost['name']))
$protectedPost['name']=$infos_status['NIV'][$protectedPost['STATUS']];
$protectedPost['id']=$protectedPost['STATUS'];
array_push($name_field,'actif','id','lbl','name','OLD_STATUS');
array_push($tab_name,$l->g(1102) . ':',$l->g(1103) . ':',$l->g(1063) . ':',$l->g(1064) . ':','');
array_push($type_field,2,3,0,3,7);
array_push($value_field,$yes_no,$protectedPost['id'],$protectedPost['lbl'],$protectedPost['name'],$protectedPost['STATUS']);
$showbutton=true;
}else
$showbutton=false;
$tab_typ_champ=show_field($name_field,$type_field,$value_field);
$tab_typ_champ[0]['RELOAD']=$form_name;
tab_modif_values($tab_name,$tab_typ_champ,$tab_hidden,$title,$comment="",$name_button="fields",$showbutton,$form_name='NO_FORM');
}
}
}
function dde_show($form_name){
global $l,$protectedPost,$protectedGet,$pages_refs;
//suppression d'une demande
if(isset($protectedPost['SUP_PROF']) and is_numeric($protectedPost['SUP_PROF'])) {
//on récupère l'id du champ status
$item_id_STATUS =find_id_field();
$sql="UPDATE downloadwk_pack
set FIELDS_%s='1'
where ID='%s'";
$arg=array($item_id_STATUS['STATUS']->id,$protectedPost['SUP_PROF']);
mysql2_query_secure($sql,$_SESSION['OCS']["writeServer"],$arg);
$tab_options['CACHE']='RESET';
}
$table_name='LIST_DDE';
//recherche des champs qui ont été créés
$sql_fields="select lbl,id,type,field from downloadwk_fields ";
$resultfields=mysql2_query_secure($sql_fields,$_SESSION['OCS']["readServer"]);
//$resultfields = mysql_query($sql_fields, $_SESSION['OCS']["readServer"]) or mysql_error($_SESSION['OCS']["readServer"]);
$id_field1=0;
$id_field2=0;
$default_fields=array();
while($item = mysql_fetch_object($resultfields)){
$name_field[$item->id]=$item->field;
$field='fields_'.$item->id;
if ($item->field == "STATUS")
$id_status=$field;
if (($item->type == '2' or $item->type == '5') and $item->field != "STATUS"){
$array_value_fields[$id_field1]=$field.".VALUE as ".$field;
$array_fields[$id_field1]=$field;
$id_field1++;
}else{
$else_fields[$id_field2]="downloadwk_pack.".$field;
$id_field2++;
}
if (count($default_fields)<5)
$default_fields[$field]=$field;
if ($l->g($item->lbl))
$tab_options['LBL'][$field]=$l->g($item->lbl);
else
$tab_options['LBL'][$field]=$item->lbl;
$list_fields[$field]=$field;
}
// print_r($tab_options['LBL']);
//recherche des valeurs des différents statuts
$sql_statut="select id,lbl from downloadwk_statut_request";
$resultfields = mysql2_query_secure($sql_statut,$_SESSION['OCS']["readServer"]);
while($item = mysql_fetch_object($resultfields)){
$statut[$item->id]=$item->lbl;
}
$tab_options['REPLACE_VALUE'][$id_status]=$statut;
$list_col_cant_del[$id_status]=$id_status;
$default_fields[$id_status]=$id_status;
$list_fields[$id_status]=$id_status;
$list_col_cant_del['Q_DATE']='Q_DATE';
$default_fields['Q_DATE']='Q_DATE';
$list_fields['Q_DATE']='Q_DATE';
$list_col_cant_del['SUP']='SUP';
$default_fields['SUP']='SUP';
$list_fields['SUP']='ID';
$list_fields['MODIF']='ID';
$default_fields['MODIF']='MODIF';
$list_col_cant_del['MODIF']='MODIF';
$tab_options['LBL']['Q_DATE']="Date dde";
$sql="select downloadwk_pack.ID,FROM_UNIXTIME(Q_DATE) as Q_DATE,";
if (isset($array_value_fields)){
$sql.=implode(', ',$array_value_fields);
$bool_select=true;
}
// print_r($else_fields);
if (isset($else_fields)){
if ($bool_select)
$sql.=", ";
$sql.=implode(', ',$else_fields);
$bool_normal=true;
}
if (!$bool_normal and !$bool_select)
$sql.=" * ";
$sql.=" from downloadwk_pack ";
$i=0;
while ($array_fields[$i]){
$sql.= " left join downloadwk_conf_values ".$array_fields[$i]." on downloadwk_pack.".$array_fields[$i]."=".$array_fields[$i].".ID ";
$i++;
}
$sql.=" WHERE ".$id_status."!= (Select id from downloadwk_statut_request where name='NIV0')";
if ($_SESSION['OCS']['RESTRICTION']['TELEDIFF_WK'] == 'LOGIN')
$sql.=" and LOGIN_USER='".$_SESSION['OCS']['loggeduser']."' ";
elseif ($_SESSION['OCS']['RESTRICTION']['TELEDIFF_WK'] == 'USER_GROUP')
$sql.=" and GROUP_USER='".$_SESSION['OCS']['user_group']."' ";
tab_req($table_name,$list_fields,$default_fields,$list_col_cant_del,$sql,$form_name,100,$tab_options);
}
?>