"aff_text_empr",
"list" => "aff_list_empr",
"query_list" => "aff_query_list_empr",
"query_auth" => "aff_query_auth_empr",
"date_box" => "aff_date_box_empr",
"comment" => "aff_comment_empr",
"external" => "aff_external_empr",
"url" => "aff_url_empr",
"resolve" => "aff_resolve_empr",
"marclist" => "aff_marclist_empr",
"html" => "aff_html_empr",
"text_i18n" => "aff_text_i18n_empr",
"q_txt_i18n" => "aff_q_txt_i18n_empr",
"date_inter" => "aff_date_inter_empr",
"date_flot" => "aff_date_flottante_empr"
);
global $aff_list_empr_search;
$aff_list_empr_search = array(
"text" => "aff_text_empr_search",
"list" => "aff_list_empr_search",
"query_list" => "aff_query_list_empr_search",
"query_auth" => "aff_query_auth_empr_search",
"date_box" => "aff_date_box_empr_search",
"comment" => "aff_comment_empr_search",
"external" => "aff_external_empr_search",
"url" => "aff_url_empr_search",
"resolve" => "aff_resolve_empr_search",
"marclist" => "aff_marclist_empr_search",
"html" => "aff_comment_empr_search",
"text_i18n" => "aff_text_i18n_empr_search",
"q_txt_i18n" => "aff_q_txt_i18n_empr_search",
"date_inter" => "aff_date_inter_empr_search",
"date_flot" => "aff_date_flottante_empr_search"
);
$aff_filter_list_empr = array(
"text" => "aff_filter_text_empr",
"list" => "aff_filter_list_empr",
"query_list" => "aff_filter_query_list_empr",
"query_auth" => "aff_filter_query_auth_empr",
"date_box" => "aff_filter_date_box_empr",
"comment" => "aff_filter_comment_empr",
"external" => "aff_filter_external_empr",
"url" => "aff_filter_resolve_empr",
"resolve" => "aff_filter_resolve_empr",
"marclist" => "aff_filter_marclist_empr",
"html" => "aff_filter_comment_empr",
"text_i18n" => "aff_filter_text_i18n_empr",
"q_txt_i18n" => "aff_filter_q_txt_i18n_empr",
"date_inter" => "aff_filter_date_inter_empr",
"date_flot" => "aff_filter_date_flottante_empr"
);
global $chk_list_empr;
$chk_list_empr = array(
"text" => "chk_text_empr",
"list" => "chk_list_empr",
"query_list" => "chk_query_list_empr",
"query_auth" => "chk_query_auth_empr",
"date_box" => "chk_date_box_empr",
"comment" => "chk_comment_empr",
"external" => "chk_external_empr",
"url" => "chk_url_empr",
"resolve" => "chk_resolve_empr",
"marclist" => "chk_marclist_empr",
"html" => "chk_comment_empr",
"text_i18n" => "chk_text_i18n_empr",
"q_txt_i18n" => "chk_q_txt_i18n_empr",
"date_inter" => "chk_date_inter_empr",
"date_flot" => "chk_date_flottante_empr"
);
global $val_list_empr;
$val_list_empr = array(
"text" => "val_text_empr",
"list" => "val_list_empr",
"query_list" => "val_query_list_empr",
"query_auth" => "val_query_auth_empr",
"date_box" => "val_date_box_empr",
"comment" => "val_comment_empr",
"external" => "val_external_empr",
"url" => "val_url_empr",
"resolve" => "val_resolve_empr",
"marclist" => "val_marclist_empr",
"html" => "val_html_empr",
"text_i18n" => "val_text_i18n_empr",
"q_txt_i18n" => "val_q_txt_i18n_empr",
"date_inter" => "val_date_inter_empr",
"date_flot" => "val_date_flottante_empr"
);
global $type_list_empr;
$type_list_empr = array(
"text" => $msg["parperso_text"],
"list" => $msg["parperso_choice_list"],
"query_list" => $msg["parperso_query_choice_list"],
"query_auth" => $msg["parperso_authorities"],
"date_box" => $msg["parperso_date"],
"comment" => $msg["parperso_comment"],
"external" => $msg["parperso_external"],
"url" => $msg["parperso_url"],
"resolve" => $msg["parperso_resolve"],
"marclist" => $msg["parperso_marclist"],
"html" => $msg["parperso_html"],
"text_i18n" => $msg["parperso_text_i18n"],
"q_txt_i18n" => $msg["parperso_q_txt_i18n"],
"date_inter" => $msg["parperso_date_inter"],
"date_flot" => $msg["parperso_date_flottante"]
);
global $options_list_empr;
$options_list_empr = array(
"text" => "options_text.php",
"list" => "options_list.php",
"query_list" => "options_query_list.php",
"query_auth" => "options_query_authorities.php",
"date_box" => "options_date_box.php",
"comment" => "options_comment.php",
"external" => "options_external.php",
"url" => "options_url.php",
"resolve" => "options_resolve.php",
"marclist" => "options_marclist.php",
"html" => "options_html.php",
"text_i18n" => "options_text_i18n.php",
"q_txt_i18n" => "options_q_txt_i18n.php",
"date_inter" => "options_date_inter.php",
"date_flot" => "options_date_flottante.php"
);
// formulaire de saisie des param perso des autorités
function aff_query_auth_empr($field,&$check_scripts,$script="") {
global $charset;
global $_custom_prefixe_;
global $msg,$lang;
global $ajax_js_already_included;
global $base_path;
global $include_path;
$id_thes_unique=$field["OPTIONS"][0]["ID_THES"]["0"]["value"];
$att_id_filter= $params = $element = "";
$selection_parameters = get_authority_selection_parameters($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]);
$what = $selection_parameters['what'];
$completion = $selection_parameters['completion'];
switch($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]) {
case 2:
$att_id_filter= $id_thes_unique;
break;//categories
case 9:
$element="&element=concept¶m1=".$field["NAME"]."¶m2=f_".$field["NAME"];
if(isset($field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value']) && $field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value'] != -1){
//concept_scheme;
$params = " param1='".$field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value']."'";
$element.="&return_concept_id=1&unique_scheme=1&concept_scheme=".$field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value'];
}
$att_id_filter= "http://www.w3.org/2004/02/skos/core#Concept";
break;
}
$values=$field['VALUES'];
$options=$field['OPTIONS'][0];
if ($values=="") $values=array();
$caller = get_form_name();
$n=count($values);
$ret = "";
if(empty($ajax_js_already_included)){
$ajax_js_already_included = true;
$ret.="";
}
if (($n==0)||($options['MULTIPLE'][0]['value']!="yes")) $n=1;
if ($options['MULTIPLE'][0]['value']=="yes") {
$readonly='';
$ret.= get_custom_dnd_on_add();
$ret.="
";
}
$ret.=" \n
";
$readonly='';
for ($i=0; $i<$n; $i++) {
if(!isset($values[$i])) $values[$i] = '';
$id=$values[$i];
$val_dyn=3;
$isbd="";
if($id) {
$isbd=get_authority_isbd_from_field($field, $id);
}
switch($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]) {
case 9:// concept
$element="&element=concept¶m1=".$field["NAME"]."¶m2=f_".$field["NAME"];
if(isset($field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value']) && $field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value'] != -1){
$element.="&return_concept_id=1&unique_scheme=1&concept_scheme=".$field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value'];
}
break;
default:
if($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]>1000){
// autperso
$element="¶m1=".$field["NAME"]."¶m2=f_".$field["NAME"];
$val_dyn=4;
}
break;
}
if (($i==0)) {
if ($options['MULTIPLE'][0]['value']=="yes") {
$ret .= get_js_function_dnd('query_auth', $field['NAME']);
$ret.=" ";
$ret.=" ";
}else {
$ret.=" ";
}
}
$display_temp =" \n";
$display_temp.=" ";
$display_temp.=" \n";
if ($options['MULTIPLE'][0]['value']=="yes") {
$ret.=get_block_dnd('query_auth', $field['NAME'], $i, $display_temp, $isbd);
} else {
$ret.=$display_temp." ";
}
}
$ret.="
";
return $ret;
}
function aff_query_auth_empr_search($field,&$check_scripts,$varname) {
global $msg,$lang, $categ,$charset;
global $_custom_prefixe_, $caller;
global $ajax_js_already_included;
global $base_path;
if(!empty($field['NUMBER'])) {
$field_name = $field['NAME']."_".$field['NUMBER'];
} else {
$field_name = $field['NAME'];
}
if($field["OPTIONS"][0]["METHOD"]["0"]["value"]==1) {
$hidden_name=$field_name;
} else {
$hidden_name=$field_name."_id";
}
$id=(isset($field['VALUES'][0]) ? $field['VALUES'][0] : '');
$selection_parameters = get_authority_selection_parameters($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]);
$what = $selection_parameters['what'];
$completion = $selection_parameters['completion'];
$params = $att_id_filter= "";
$fnamevar_id = '';
$id_thesaurus = '';
$id_thes_unique=0;
$element="";
switch($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]) {
case 2:
//Pour n'appeler que le thésaurus choisi en champ perso
if(isset($field["OPTIONS"][0]["ID_THES"]["0"]["value"])){
$fnamevar_id = "linkfield=\"fieldvar_".substr($varname, 6)."_id_thesaurus\"";
$id_thesaurus=" ";
$id_thes_unique=$field["OPTIONS"][0]["ID_THES"]["0"]["value"];
$att_id_filter = $id_thes_unique;
}
break;//categories
case 9:
$element="&element=concept¶m1=".$field_name."¶m2=f_".$field_name;
if(isset($field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value']) && $field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value'] != -1){
$params = "param1='".$field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value']."'";
$element.="&return_concept_id=1&unique_scheme=1&concept_scheme=".$field['OPTIONS'][0]['ID_SCHEME_CONCEP'][0]['value'];
}
$att_id_filter= "http://www.w3.org/2004/02/skos/core#Concept";
break;
}
$libelle="";
if($id){
$libelle = get_authority_isbd_from_field($field, $id);
}
$ret = "";
if(empty($ajax_js_already_included)){
$ajax_js_already_included = true;
$ret = "";
}
$val_dyn=3;
$ret.=" \n";
$ret.=" ";
$ret.=" ";
$ret.=" $id_thesaurus";
return $ret;
}
// Sauvegarde du formulaire
function chk_query_auth_empr($field,&$check_message) {
global $charset;
global $msg;
$name=$field['NAME'];
$options=$field['OPTIONS'][0];
global ${$name};
$val=array();
$tmp_values=${$name};
if(is_array($tmp_values)) {
foreach ($tmp_values as $k=>$v) {
if ($v!="") {
$val[]=$v;
}
}
}
if ($field['MANDATORY']==1) {
if ((!count($val))||((count($val)==1)&&($val[0]==""))) {
$check_message=sprintf($msg["parperso_field_is_needed"],$field['ALIAS']);
return 0;
}
}
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_query_auth_empr($field,$val) {
global $lang,$pmb_perso_sep,$charset;
$name=$field['NAME'];
$options=$field['OPTIONS'][0];
$isbd_s=array();
$isbd_without=array();
$details=array();
if(!$val)return "";
foreach($val as $id){
if($id) {
$isbd = get_authority_isbd_from_field($field, $id);
$isbd_s[] = htmlentities($isbd, ENT_QUOTES, $charset);
$isbd_without[] = $isbd;
$details[] = get_authority_details_from_field($field, $id);
}
}
return array("ishtml" => true, "value"=>implode($pmb_perso_sep,$isbd_s), "withoutHTML" =>implode($pmb_perso_sep,$isbd_without), "details" => $details);
}
function chk_datatype($field,$values,&$check_datatype_message) {
global $chk_type_list;
global $msg;
if (((!count($values))||((count($values)==1)&&($values[0]=="")))&&($field['MANDATORY']!=1)) return $values;
for ($i=0; $i=20) {
$pos=strrpos(substr($valeur,0,20)," ");
if ($pos) {
$valeur=substr($valeur,0,$pos+1)."...";
} else $valeur=substr($valeur,0,20)."...";
}
return $valeur;
}
function aff_date_box_empr($field,&$check_scripts) {
global $charset;
global $msg;
global $base_path;
$values = ($field['VALUES'] ? $field['VALUES'] : array(""));
$options = $field['OPTIONS'][0];
$afield_name = $field["ID"];
$count = 0;
$ret = "";
foreach ($values as $value) {
$d=explode("-",$value);
if ((!@checkdate($d[1],$d[2],$d[0]))&&(!isset($options["DEFAULT_TODAY"][0]["value"]) || !$options["DEFAULT_TODAY"][0]["value"])) {
$val=date("Y-m-d",time());
$val_popup=date("Ymd",time());
} else if ((!@checkdate($d[1],$d[2],$d[0]))&&(isset($options["DEFAULT_TODAY"][0]["value"]) && $options["DEFAULT_TODAY"][0]["value"])) {
$val_popup="";
$val="";
} else {
$val_popup=$d[0].$d[1].$d[2];
$val=$value;
}
$ret .= "
";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value'] && !$count)
$ret .= ' ';
$ret .= '
';
$count++;
}
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret .= ' ';
$ret .= '
';
$ret .= get_custom_dnd_on_add();
$ret .= "";
}
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function aff_date_box_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
$values=$field['VALUES'];
$ret="
";
if(!isset($field['OP'])) $field['OP'] = '';
switch ($field['OP']) {
case 'LESS_THAN_DAYS':
case 'MORE_THAN_DAYS':
$ret.=" ".htmlentities($msg['days'], ENT_QUOTES, $charset);
break;
default:
$d=explode("-",$values[0]);
if (!@checkdate($d[1],$d[2],$d[0])) {
$val='';
} else {
$val=$values[0];
}
$ret.=" ";
break;
}
$ret.="
";
$values=$field['VALUES1'];
$d=explode("-",$values[0]);
if (!@checkdate($d[1],$d[2],$d[0])) {
$val='';
} else {
$val=$values[0];
}
$ret.="
-
";
return $ret;
}
function chk_date_box_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name};
$val=${$name};
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_date_box_empr($field,$value) {
global $charset, $pmb_perso_sep;
$return = "";
$format_value = format_output($field,$value);
if (!$value) $value = array();
foreach ($value as $key => $val) {
if ($val == "0000-00-00") $val = "";
if ($val) {
if ($return) $return .= $pmb_perso_sep;
$return .= $format_value[$key];
}
}
return $return;
}
function aff_text_empr($field,&$check_scripts) {
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values = array();
if(!isset($field['VALUES'][0])) $values[0] = '';
else $values=$field['VALUES'];
$ret=" ";
if ($field['MANDATORY']==1) $check_scripts.="if (document.forms[0].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
return $ret;
}
function aff_text_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if(!isset($values[0])) $values[0] = '';
$ret=" ";
return $ret;
}
function chk_text_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name};
$val=${$name};
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_text_empr($field,$value) {
global $charset,$pmb_perso_sep;
$value=format_output($field,$value);
if (!$value) $value=array();
if(!isset($field["OPTIONS"][0]["ISHTML"][0]["value"])) $field["OPTIONS"][0]["ISHTML"][0]["value"] = '';
if($field["OPTIONS"][0]["ISHTML"][0]["value"]){
return array("ishtml" => true, "value"=>implode($pmb_perso_sep,$value), "withoutHTML" =>implode($pmb_perso_sep,$value));
}else{
return implode($pmb_perso_sep,$value);
}
}
function aff_comment_empr($field,&$check_scripts) {
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if(!isset($values[0])) $values[0] = '';
$ret="";
if ($field['MANDATORY']==1) $check_scripts.="if (document.forms[0].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
return $ret;
}
function aff_comment_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if(!isset($values[0])) $values[0] = '';
$ret="";
return $ret;
}
function chk_comment_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name};
$val=${$name};
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_comment_empr($field,$value) {
global $charset,$pmb_perso_sep;
$value=format_output($field,$value);
if (!$value) $value=array();
if(!isset($field["OPTIONS"][0]["ISHTML"][0]["value"])) $field["OPTIONS"][0]["ISHTML"][0]["value"] = '';
if($field["OPTIONS"][0]["ISHTML"][0]["value"]){
return array("ishtml" => true, "value"=>implode($pmb_perso_sep,$value), "withoutHTML" =>implode($pmb_perso_sep,$value));
}else{
return implode($pmb_perso_sep,$value);
}
}
function val_html_empr($field,$value) {
global $charset,$pmb_perso_sep;
$value=format_output($field,$value);
if (!$value) $value=array();
return array("ishtml" => true, "value"=>implode($pmb_perso_sep,$value), "withoutHTML" =>implode($pmb_perso_sep,$value));
}
function aff_list_empr($field,&$check_scripts,$script="") {
global $charset;
global $_custom_prefixe_;
global $base_path;
$ret = '';
$_custom_prefixe_=$field["PREFIX"];
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if ($values=="") $values=array();
if ($options["AUTORITE"][0]["value"]!="yes") {
if ($options["CHECKBOX"][0]["value"]=="yes"){
if ($options['MULTIPLE'][0]['value']=="yes") $type = "checkbox";
else $type = "radio";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")&&($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.= " ".$options['UNSELECT_ITEM'][0]['value']." ";
}
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
if ($resultat) {
$i=0;
$limit = (isset($options['CHECKBOX_NB_ON_LINE'][0]['value']) ? $options['CHECKBOX_NB_ON_LINE'][0]['value'] : 4);
while ($r=pmb_mysql_fetch_array($resultat)) {
if($limit && $i>0 && $i%$limit == 0) $ret.=" ";
$ret.= " ".$r[$_custom_prefixe_."_custom_list_lib"]." ";
$i++;
}
}
}else{
$ret.="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
if ($resultat) {
$i=0;
while ($r=pmb_mysql_fetch_array($resultat)) {
$options['ITEMS'][0]['ITEM'][$i]['VALUE']=$r[$_custom_prefixe_."_custom_list_value"];
$options['ITEMS'][0]['ITEM'][$i]['value']=$r[$_custom_prefixe_."_custom_list_lib"];
$i++;
}
}
for ($i=0; $i".htmlentities($options['ITEMS'][0]['ITEM'][$i]['value'],ENT_QUOTES,$charset)."\n";
}
$ret.= " \n";
}
}else {
$libelles=array();
$caller = get_form_name();
if ($values) {
$values_received=$values;
$values=array();
$list_values=array();
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
while ($r=pmb_mysql_fetch_array($resultat)) {
$list_values[$r[$_custom_prefixe_."_custom_list_value"]] = $r[$_custom_prefixe_."_custom_list_lib"];
}
foreach ($values_received as $value_received) {
if (array_key_exists($value_received, $list_values)) {
$values[]=$value_received;
$libelles[]=$list_values[$value_received];
}
}
} else {
//Recherche de la valeur par défaut
if ($options['DEFAULT_VALUE'][0]['value']) {
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." and ".$_custom_prefixe_."_custom_list_value='".$options['DEFAULT_VALUE'][0]['value']."' order by ordre";
$resultat=pmb_mysql_query($requete);
while ($r=pmb_mysql_fetch_array($resultat)) {
$values[0]=$r[$_custom_prefixe_."_custom_list_value"];
$libelles[0]=$r[$_custom_prefixe_."_custom_list_lib"];
}
}
}
$readonly='';
$n=count($values);
if(($options['MULTIPLE'][0]['value']=="yes") ) $val_dyn=1;
else $val_dyn=0;
if ($n==0) {
$n=1;
$libelles[0] = '';
$values[0] = '';
}
if ($options['MULTIPLE'][0]['value']=="yes") {
$readonly='';
$ret.=get_custom_dnd_on_add();
$ret.="
";
}
$ret.=" \n";
$readonly='';
for ($i=0; $i<$n; $i++) {
$ret.=" \n";
$ret.=" ";
// $ret.="
$ret.=" \n";
if (($i==0)&&($options['MULTIPLE'][0]['value']=="yes")) {
$ret.=" ";
}
$ret.=" ";
}
$ret.="
";
}
return $ret;
}
function aff_list_empr_search($field,&$check_scripts,$varname,$script="") {
global $charset;
global $base_path;
if(!empty($field['NUMBER'])) {
$field_name = $field['NAME']."_".$field['NUMBER'];
} else {
$field_name = $field['NAME'];
}
$_custom_prefixe_=$field["PREFIX"];
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if ($values=="") $values=array();
if ($options["AUTORITE"][0]["value"]!="yes") {
if ($options["CHECKBOX"][0]["value"]=="yes"){
$ret = "";
if ($options['MULTIPLE'][0]['value']=="yes") $type = "checkbox";
else $type = "radio";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")&&($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.= " ".$options['UNSELECT_ITEM'][0]['value']." ";
}
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
if ($resultat) {
$i=0;
$limit = (isset($options['CHECKBOX_NB_ON_LINE'][0]['value']) ? $options['CHECKBOX_NB_ON_LINE'][0]['value'] : 4);
while ($r=pmb_mysql_fetch_array($resultat)) {
if($limit && $i>0 && $i%$limit == 0) $ret.=" ";
$ret.= " ".$r[$_custom_prefixe_."_custom_list_lib"]." ";
$i++;
}
}
} else {
$ret="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")) {
$requete="select * from ".$_custom_prefixe_."_custom_values where ".$_custom_prefixe_."_custom_champ=".$field['ID']." and ".$_custom_prefixe_."_custom_".$field['DATATYPE']."='".$options['UNSELECT_ITEM'][0]['VALUE']."'";
$resultat=pmb_mysql_query($requete);
if (pmb_mysql_num_rows($resultat)) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
}
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
if ($resultat) {
$i=0;
while ($r=pmb_mysql_fetch_array($resultat)) {
$options['ITEMS'][0]['ITEM'][$i]['VALUE']=$r[$_custom_prefixe_."_custom_list_value"];
$options['ITEMS'][0]['ITEM'][$i]['value']=$r[$_custom_prefixe_."_custom_list_lib"];
$i++;
}
}
for ($i=0; $i".htmlentities($options['ITEMS'][0]['ITEM'][$i]['value'],ENT_QUOTES,$charset)."\n";
}
$ret.= " \n";
}
} else {
$ret="
";
$libelles=array();
if (count($values)) {
$values_received=$values;
$values=array();
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
$i=0;
while ($r=pmb_mysql_fetch_array($resultat)) {
$as=array_search($r[$_custom_prefixe_."_custom_list_value"],$values_received);
if (($as!==null)&&($as!==false)) {
$values[$i]=$r[$_custom_prefixe_."_custom_list_value"];
$libelles[$i]=$r[$_custom_prefixe_."_custom_list_lib"];
$i++;
}
}
}
$nb_values=count($values);
if(!$nb_values){
//Création de la ligne
$nb_values=1;
$libelles[0] = '';
$values[0] = '';
}
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.="";
}
return $ret;
}
function aff_empr_search($field) {
$table = array();
$table['label'] = $field['TITRE'];
$table['name'] = $field['NAME'];
$table['type'] =$field['DATATYPE'];
$_custom_prefixe_=$field['PREFIX'];
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
if ($resultat) {
while ($r=pmb_mysql_fetch_array($resultat)) {
$value['value_id']=$r[$_custom_prefixe_."_custom_list_value"];
$value['value_caption']=$r[$_custom_prefixe_."_custom_list_lib"];
$table['values'][]=$value;
}
}else{
$table['values'] = array();
}
return $table;
}
function chk_list_empr($field,&$check_message) {
global $charset;
global $msg;
$name=$field['NAME'];
global ${$name};
$val=${$name};
if ($field['MANDATORY']==1) {
if ((!count($val))||((count($val)==1)&&($val[0]==""))) {
$check_message=sprintf($msg["parperso_field_is_needed"],$field['ALIAS']);
return 0;
}
}
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_list_empr($field,$val) {
global $charset,$pmb_perso_sep;
global $options_;
$_custom_prefixe_=$field['PREFIX'];
if ($val=='') return '';
if (!isset($options_[$_custom_prefixe_][$field['ID']]) || !$options_[$_custom_prefixe_][$field['ID']]) {
$options_[$_custom_prefixe_][$field['ID']] = array();
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
if ($resultat) {
while ($r=pmb_mysql_fetch_array($resultat)) {
$options_[$_custom_prefixe_][$field['ID']][$r[$_custom_prefixe_.'_custom_list_value']]=$r[$_custom_prefixe_.'_custom_list_lib'];
}
}
}
if (!is_array($options_[$_custom_prefixe_][$field['ID']])) return '';
if(!isset($val[0])) $val[0] = '';
if($val[0] != null){
$val_r=array_flip($val);
if ($field["OPTIONS"][0]["AUTORITE"][0]["value"]!="yes") {
$val_c=array_intersect_key($options_[$_custom_prefixe_][$field['ID']],$val_r);
} else {
// CP de type "Autorité", nous conservons l'ordre de saisie
$val_c=array();
foreach ($val_r as $key_r=>$value_r) {
if(!empty($options_[$_custom_prefixe_][$field['ID']][$key_r])) {
$val_c[$key_r] = $options_[$_custom_prefixe_][$field['ID']][$key_r];
}
}
}
if ($val_c=='') {
$val_c=array();
}
$val_=implode($pmb_perso_sep,$val_c);
}else{
$val_ = '';
}
return $val_;
}
function aff_query_list_empr($field,&$check_scripts,$script="") {
global $charset;
global $_custom_prefixe_;
global $base_path;
global $lang;
$ret = '';
$values=$field['VALUES'];
$options=$field['OPTIONS'][0];
if ($values=="") $values=array();
if ($options["AUTORITE"][0]["value"]!="yes") {
if ($options["CHECKBOX"][0]["value"]=="yes"){
if ($options['MULTIPLE'][0]['value']=="yes") $type = "checkbox";
else $type = "radio";
//on rajoute la langue si besoin dans le requete
$query = str_replace('$lang', $lang, $options['QUERY'][0]['value']);
$resultat=pmb_mysql_query($query);
if ($resultat) {
$i=0;
$ret="";
}
} else {
$options=$field['OPTIONS'][0];
$ret="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
//on rajoute la langue si besoin dans le requete
$query = str_replace('$lang', $lang, $options['QUERY'][0]['value']);
$resultat=pmb_mysql_query($query);
while ($r=pmb_mysql_fetch_row($resultat)) {
$ret.="".htmlentities($r[1],ENT_QUOTES,$charset)." \n";
}
$ret.= " \n";
}
} else {
$caller = get_form_name();
$libelles=array();
if ($values) {
$values_received=$values;
$values_received_bis=$values;
$values=array();
//on rajoute la langue si besoin dans le requete
$query = str_replace('$lang', $lang, $options['QUERY'][0]['value']);
$resultat=pmb_mysql_query($query);
$query_options = array();
while ($r=pmb_mysql_fetch_row($resultat)) {
$query_options[$r[0]] = $r[1];
}
$i=0;
foreach ($values_received as $key=>$value_received) {
if (!empty($query_options[$value_received])) {
$values[$i]=$value_received;
$libelles[$i]=$query_options[$value_received];
$i++;
unset($values_received_bis[$key]);
}
}
if ($options["INSERTAUTHORIZED"][0]["value"]=="yes") {
foreach ($values_received_bis as $key=>$val) {
$values[$i]="";
$libelles[$i]=$val;
$i++;
}
}
}
$n=count($values);
if(($options['MULTIPLE'][0]['value']=="yes") ) $val_dyn=1;
else $val_dyn=0;
if ($n==0) {
$n=1;
$libelles[0] = '';
$values[0] = '';
}
if ($options['MULTIPLE'][0]['value']=="yes") {
// $readonly="f_perso.setAttribute('readonly','');";
// if($options["INSERTAUTHORIZED"][0]["value"]=="yes"){
// $readonly="";
// }
$readonly='';
$ret.=get_custom_dnd_on_add();
$ret.="
";
}
$ret.=" \n";
// $readonly="readonly";
// if($options["INSERTAUTHORIZED"][0]["value"]=="yes"){
// $readonly="";
// }
$readonly='';
for ($i=0; $i<$n; $i++) {
$ret.=" \n";
$ret.=" ";
// $ret.="
$ret.=" \n";
if (($i==0)&&($options['MULTIPLE'][0]['value']=="yes")) {
$ret.=" ";
}
$ret.=" ";
}
$ret.="
";
}
return $ret;
}
function aff_query_list_empr_search($field,&$check_scripts,$varname,$script="") {
global $charset;
global $base_path;
$_custom_prefixe_=$field["PREFIX"];
$values=$field['VALUES'];
if ($values=="") $values=array();
$options=$field['OPTIONS'][0];
if ($options["AUTORITE"][0]["value"]!="yes") {
$ret="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$resultat=pmb_mysql_query($options['QUERY'][0]['value']);
while ($r=pmb_mysql_fetch_row($resultat)) {
$ret.="".htmlentities($r[1],ENT_QUOTES,$charset)." \n";
}
$ret.= " \n";
} else {
$ret="
";
$libelles=array();
if (count($values)) {
$values_received=$values;
$values=array();
$resultat=pmb_mysql_query($options['QUERY'][0]['value']);
$i=0;
while ($r=pmb_mysql_fetch_array($resultat)) {
$as=array_search($r[0],$values_received);
if (($as!==null)&&($as!==false)) {
$values[$i]=$r[0];
$libelles[$i]=$r[1];
$i++;
}
}
}
$nb_values=count($values);
if(!$nb_values){
//Création de la ligne
$nb_values=1;
$libelles[0] = '';
$values[0] = '';
}
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.="";
}
return $ret;
}
function chk_query_list_empr($field,&$check_message) {
global $charset;
global $msg;
$name=$field['NAME'];
global ${$name};
$val=${$name};
if ($field['MANDATORY']==1) {
if ((!count($val))||((count($val)==1)&&($val[0]==""))) {
$check_message=sprintf($msg["parperso_field_is_needed"],$field['ALIAS']);
return 0;
}
}
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_query_list_empr($field, $val) {
global $charset, $pmb_perso_sep;
if ($val == "") return "";
$val_c = [];
$options_ = [];
if (($field["OPTIONS"][0]["FIELD0"][0]["value"]) && ($field["OPTIONS"][0]["FIELD1"][0]["value"]) && ($field["OPTIONS"][0]["OPTIMIZE_QUERY"][0]["value"] == "yes")) {
if (is_array($val) && count($val)) {
$val_ads = array_map("addslashes",$val);
$requete = "select * from (".$field['OPTIONS'][0]['QUERY'][0]['value'].") as sub1 where ".$field["OPTIONS"][0]["FIELD0"][0]["value"]." in (BINARY '".implode("',BINARY '",$val_ads)."')";
$resultat = pmb_mysql_query($requete);
if ($resultat && pmb_mysql_num_rows($resultat)) {
while ($r = pmb_mysql_fetch_row($resultat)) {
$val_c[] = $r[1];
}
}
}
} else {
$resultat = pmb_mysql_query($field['OPTIONS'][0]['QUERY'][0]['value']);
if ($resultat && pmb_mysql_num_rows($resultat)) {
while ($r = pmb_mysql_fetch_row($resultat)) {
$options_[$r[0]] = $r[1];
}
}
for ($i = 0; $i < count($val); $i++) {
if (isset($options_[$val[$i]])) {
$val_c[] = $options_[$val[$i]];
}
}
}
$val_ = implode($pmb_perso_sep, $val_c);
return $val_;
}
function aff_text_i18n_empr($field,&$check_scripts) {
global $charset, $base_path;
global $msg;
$langue_doc = get_langue_doc();
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
$afield_name = $field["ID"];
$ret = "";
$count = 0;
if (!$values) {
if(isset($options['DEFAULT_LANG'][0]['value']) && $options['DEFAULT_LANG'][0]['value']) {
$values = array("|||".$options['DEFAULT_LANG'][0]['value']);
} else {
$values = array("");
}
}
if(isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret .= get_js_function_dnd('text_i18n', $field['NAME']);
$ret.=' ';
}
foreach ($values as $value) {
$exploded_value = explode("|||", $value);
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.=" ";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value'] && !$count)
$ret.=' ';
$ret.=" ";
$count++;
}
if(isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret.=' ';
$ret .= '
';
$ret .= get_custom_dnd_on_add();
$ret.="";
}
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function aff_text_i18n_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
global $base_path;
$langue_doc = get_langue_doc();
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if(!is_array($values)) {
$values = array(
'text' => '',
'lang' => ''
);
}
$ret=" ";
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.=" ";
return $ret;
}
function chk_text_i18n_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name}, ${$name."_langs"};
$val=${$name};
$langs = (${$name."_langs"});
$final_value = array();
if (isset($val) && is_array($val)) {
foreach ($val as $key => $value) {
if ($value) {
$final_value[] = $value."|||".($langs[$key] ? $langs[$key] : '');
}
}
}
$check_datatype_message="";
$val_1=chk_datatype($field,$final_value,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_text_i18n_empr($field,$value) {
global $charset,$pmb_perso_sep;
$langue_doc = get_langue_doc();
$value=format_output($field,$value);
if (!$value) $value=array();
$formatted_values = array();
foreach ($value as $val) {
$exploded_val = explode("|||", $val);
$formatted_values[] = $exploded_val[0]." ".($exploded_val[1] ? "(".$langue_doc[$exploded_val[1]].")" : '');
}
if(!isset($field["OPTIONS"][0]["ISHTML"][0]["value"])) $field["OPTIONS"][0]["ISHTML"][0]["value"] = '';
if($field["OPTIONS"][0]["ISHTML"][0]["value"]){
return array("ishtml" => true, "value"=>implode($pmb_perso_sep,$formatted_values), "withoutHTML" =>implode($pmb_perso_sep,$formatted_values));
}else{
return implode($pmb_perso_sep,$formatted_values);
}
}
function aff_filter_comment_empr($field,$varname,$multiple) {
global $charset;
global $msg;
$ret="\n";
$values=$field['VALUES'];
if ($values=="") $values=array();
$options=$field['OPTIONS'][0];
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$resultat=pmb_mysql_query($options['QUERY'][0]['value']);
while ($r=pmb_mysql_fetch_row($resultat)) {
$ret.="".htmlentities(cutlongwords($r[0]),ENT_QUOTES,$charset)." \n";
}
$ret.= " \n";
return $ret;
}
function aff_filter_date_box_empr($field,$varname,$multiple) {
global $charset;
global $msg;
$ret="\n";
$values=$field['VALUES'];
if ($values=="") $values=array();
$options=$field['OPTIONS'][0];
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$resultat=pmb_mysql_query($options['QUERY'][0]['value']);
while ($r=pmb_mysql_fetch_row($resultat)) {
$ret.="".htmlentities(formatdate($r[0]),ENT_QUOTES,$charset)." \n";
}
$ret.= " \n";
return $ret;
}
function aff_filter_text_empr($field,$varname,$multiple) {
global $charset;
global $msg;
$ret="\n";
$values=$field['VALUES'];
if ($values=="") $values=array();
$options=$field['OPTIONS'][0];
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$resultat=pmb_mysql_query($options['QUERY'][0]['value']);
while ($r=pmb_mysql_fetch_row($resultat)) {
$ret.="".htmlentities(cutlongwords($r[0]),ENT_QUOTES,$charset)." \n";
}
$ret.= " \n";
return $ret;
}
function aff_filter_query_list_empr($field,$varname,$multiple) {
global $charset;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if ($values=="") $values=array();
$ret="\n";
if ($options["AUTORITE"][0]["value"]!="yes") {
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$resultat=pmb_mysql_query($options['QUERY'][0]['value']);
while ($r=pmb_mysql_fetch_row($resultat)) {
$ret.="".htmlentities($r[1],ENT_QUOTES,$charset)." \n";
}
} else {
}
$ret.= " \n";
}
function aff_filter_list_empr($field,$varname,$multiple) {
global $charset;
global $msg;
$_custom_prefixe_=$field["PREFIX"];
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if ($values=="") $values=array();
$ret="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
if ($resultat) {
$i=0;
while ($r=pmb_mysql_fetch_array($resultat)) {
$options['ITEMS'][0]['ITEM'][$i]['VALUE']=$r[$_custom_prefixe_."_custom_list_value"];
$options['ITEMS'][0]['ITEM'][$i]['value']=$r[$_custom_prefixe_."_custom_list_lib"];
$i++;
}
}
for ($i=0; $i".htmlentities($options['ITEMS'][0]['ITEM'][$i]['value'],ENT_QUOTES,$charset)."\n";
}
$ret.= " \n";
return $ret;
}
function aff_external_empr($field,&$check_scripts) {
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
//Recherche du libellé
$vallib=$values[0];
if ($options["QUERY"][0]["value"]) {
$rvalues=pmb_mysql_query(str_replace("!!id!!",$values[0],$options["QUERY"][0]["value"]));
if ($rvalues) {
$vallib=@pmb_mysql_result($rvalues,0,0);
}
}
$ret=" ";
if (!$options["HIDE"][0]["value"]) {
$ret.=" ";
}
$ret.=" ";
if ($options["DELETE"][0]["value"]) $ret.=" ";
if ($field["MANDATORY"]==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field["NAME"]."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field["ALIAS"])."\");\n";
}
return $ret;
}
function aff_external_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
//Recherche du libellé
$vallib=$values[0];
if ($options["QUERY"][0]["value"]) {
$rvalues=pmb_mysql_query(str_replace("!!id!!",$values[0],$options["QUERY"][0]["value"]));
if ($rvalues) {
$vallib=@pmb_mysql_result($rvalues,0,0);
}
}
$ret=" ";
$ret.=" ";
$ret.=" ";
return $ret;
}
function chk_external_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name};
$val=${$name};
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_external_empr($field,$value) {
global $charset;
$options=$field['OPTIONS'][0];
$value=format_output($field,$value);
//Calcul du libelle
if ($options["QUERY"][0]["value"]) {
$rvalues=pmb_mysql_query(str_replace("!!id!!",$value[0],$options["QUERY"][0]["value"]));
if ($rvalues) {
return @pmb_mysql_result($rvalues,0,0);
}
}
return $value[0];
}
function aff_url_empr($field,&$check_scripts){
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
$afield_name = $field["ID"];
$ret = "";
$count = 0;
if (!$values) {
$linktarget_default_checked = (isset($options['LINKTARGET'][0]['value']) && $options['LINKTARGET'][0]['value'] ? 1 : 0);
$values = array("||".$linktarget_default_checked);
}
if(isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret .= get_js_function_dnd('url', $field['NAME']);
$ret.=" ";
}
foreach ($values as $avalues) {
$avalues = explode("|",$avalues);
$ret.="
";
$ret.= $msg['persofield_url_link']." ";
$ret.=" ";
//$ret.=" ";
$ret.=" ".$msg['persofield_url_linklabel']." ";
$target_checked = 'checked="checked"';
if (isset($avalues[2]) && ($avalues[2] == 0)) {
$target_checked = '';
}
$ret.=" ".$msg['persofield_url_linktarget']." ";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value'] && !$count)
$ret.=" ";
$ret.=" ";
$count++;
}
$ret.= "
";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret.=' ';
//$ret.=' ';
$ret .= '
';
$ret.=get_custom_dnd_on_add();
$ret.="";
}
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function aff_url_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if(!isset($values[0])) $values[0] = '';
$ret=" ";
return $ret;
}
function chk_url_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name};
$val=${$name};
$value = array();
for($i=0;$i $cut ? substr($val[0],0,$cut)."[...]" : $val[0] );
if( $ret != "") $ret.= $pmb_perso_sep;
$target = '_blank';
if (isset($val[2]) && ($val[2] == 0)) {
$target = '_self';
}
$ret .= "".htmlentities($lib, ENT_QUOTES, $charset)." ";
if( $without != "") $without.= $pmb_perso_sep;
$without .= $lib;
$details[] = array('url' => $val[0], 'label' => $lib, 'target' => $target);
}
return array("ishtml" => true, "value"=>$ret, "withoutHTML" =>$without, "details" => $details);
}
function aff_resolve_empr($field,&$check_scripts){
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
$afield_name = $field["ID"];
$ret = "";
$count = 0;
if (!$values) {
$values = array("|");
}
if(isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret .= get_js_function_dnd('resolve', $field['NAME']);
if(!isset($options['MAXSIZE'][0]['value'])) $options['MAXSIZE'][0]['value'] = '';
$ret.=' ';
}
foreach ($values as $avalues) {
$avalues = explode("|",$avalues);
$ret.=" ";
$ret.=" ";
foreach($options['RESOLVE'] as $elem){
$ret.= "
".htmlentities($elem['LABEL'],ENT_QUOTES,$charset)." ";
}
$ret.="
";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value'] && !$count)
$ret.=' ';
$ret.=" ";
$count++;
}
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret.=' ';
//$ret.=' ';
$ret .= '
';
$ret.=get_custom_dnd_on_add();
$ret.="";
}
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[id][]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function chk_resolve_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name};
$val=${$name};
$value = array();
if(isset($val['id'])) {
for($i=0;$i1){
$id =$val[0];
foreach ($options['RESOLVE'] as $res){
if($res['ID'] == $val[1]){
$label = $res['LABEL'];
$url= $res['value'];
break;
}
}
$link = str_replace("!!id!!",$id,$url);
if( $ret != "") $ret.= " / ";
//$ret.= "".htmlentities($link,ENT_QUOTES,$charset)." ";
if (!$use_opac_url_base) $ret.= htmlentities($label,ENT_QUOTES,$charset)." : $id ";
else $ret.= htmlentities($label,ENT_QUOTES,$charset)." : $id ";
if($without)$without.=$pmb_perso_sep;
$without.=$link;
}else{
if($without)$without.=$pmb_perso_sep;
$without.=implode($pmb_perso_sep,$value);
}
}
return array("ishtml" => true, "value"=>$ret,"withoutHTML"=> $without);
}
function aff_resolve_empr_search($field,&$check_scripts,$varname){
global $charset;
global $msg;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if(!isset($values[0])) $values[0] = '';
$ret=" ";
return $ret;
}
function aff_html_empr($field,&$check_scripts) {
global $charset;
global $msg;
global $cms_dojo_plugins_editor;
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
$ret="
".$values[0]."
";
$check_scripts.= "
if(document.forms[0].elements['".$field['NAME']."[]']) document.forms[0].elements['".$field['NAME']."[]'].value = dijit.byId('".$field['NAME']."').get('value');";
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function aff_marclist_empr($field,&$check_scripts,$script="") {
global $charset;
global $base_path;
$_custom_prefixe_=$field["PREFIX"];
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if ($values=="") $values=array();
$ret = "";
switch($options['DATA_TYPE'][0]['value']){
case 'lang' : $completion='langue';
break;
case 'function' : $completion='fonction';
break;
default:
$completion=$options['DATA_TYPE'][0]['value'];
break;
}
$marclist_type = marc_list_collection::get_instance($options['DATA_TYPE'][0]['value']);
if ($options["AUTORITE"][0]["value"]!="yes") {
$ret="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
if (($options['METHOD_SORT_VALUE'][0]['value']=="2") && ($options['METHOD_SORT_ASC'][0]['value']=="1")) {
asort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="1") && ($options['METHOD_SORT_ASC'][0]['value']=="1")) {
ksort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="2") && ($options['METHOD_SORT_ASC'][0]['value']=="2")) {
arsort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="1") && ($options['METHOD_SORT_ASC'][0]['value']=="2")) {
krsort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="3") && ($options['METHOD_SORT_ASC'][0]['value']=="2")) {
$marclist_type->table = array_reverse($marclist_type->table, true);
}
// Sinon on ne fait rien, le tableau est déjà trié avec l'attribut order
reset($marclist_type->table);
if (count($marclist_type->table)) {
foreach ($marclist_type->table as $code=>$label) {
$ret .= "";
}
}
$ret.= " \n";
} else {
$libelles=array();
$caller = get_form_name();
if (count($values)) {
$values_received=$values;
$values=array();
$i=0;
foreach ($values_received as $id=>$value) {
$as=array_key_exists($value,$marclist_type->table);
if (($as!==null)&&($as!==false)) {
$values[$i]=$value;
$libelles[$i]=$marclist_type->table[$value];
$i++;
}
}
}
$readonly='';
$n=count($values);
if(($options['MULTIPLE'][0]['value']=="yes") ) $val_dyn=1;
else $val_dyn=0;
if ($n==0) {
$n=1;
$libelles[0] = '';
$values[0] = '';
}
if ($options['MULTIPLE'][0]['value']=="yes") {
$readonly='';
$ret.= get_custom_dnd_on_add();
$ret.="
";
}
$ret.=" \n";
$readonly='';
for ($i=0; $i<$n; $i++) {
$ret.=" \n";
$ret.=" ";
$ret.="
\n";
if (($i==0)&&($options['MULTIPLE'][0]['value']=="yes")) {
$ret.=" ";
}
$ret.=" ";
}
$ret.="
";
}
return $ret;
}
function chk_marclist_empr($field,&$check_message) {
global $charset;
global $msg;
$name=$field['NAME'];
$options=$field['OPTIONS'][0];
global ${$name};
if ($options["AUTORITE"][0]["value"]!="yes") {
$val=${$name};
} else {
$val=array();
$nn="n_".$name;
global ${$nn};
$n=${$nn};
for ($i=0; $i<$n; $i++) {
$v=$field["NAME"]."_".$i;
global ${$v};
if (${$v}!="") {
$val[]=${$v};
}
}
if (count($val)==0) unset($val);
}
if ($field['MANDATORY']==1) {
if ((!count($val))||((count($val)==1)&&($val[0]==""))) {
$check_message=sprintf($msg["parperso_field_is_needed"],$field['ALIAS']);
return 0;
}
}
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_marclist_empr($field,$value) {
global $charset,$pmb_perso_sep;
$options=$field['OPTIONS'][0];
$values=format_output($field,$value);
$ret = "";
if (count($values)) {
$marclist_type = marc_list_collection::get_instance($options['DATA_TYPE'][0]['value']);
if($ret)$ret.=$pmb_perso_sep;
foreach($values as $id=>$value) {
if(isset($marclist_type->table[$value])) {
if($ret)$ret.=$pmb_perso_sep;
$ret.= $marclist_type->table[$value];
}
}
}
return $ret;
}
function aff_marclist_empr_search($field,&$check_scripts,$varname){
global $charset;
global $base_path;
$_custom_prefixe_=$field["PREFIX"];
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
if ($values=="") $values=array();
$marclist_type = marc_list_collection::get_instance($options['DATA_TYPE'][0]['value']);
if ($options["AUTORITE"][0]["value"]!="yes") {
$ret="\n";
if (($options['METHOD_SORT_VALUE'][0]['value']=="2") && ($options['METHOD_SORT_ASC'][0]['value']=="1")) {
asort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="1") && ($options['METHOD_SORT_ASC'][0]['value']=="1")) {
ksort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="2") && ($options['METHOD_SORT_ASC'][0]['value']=="2")) {
arsort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="1") && ($options['METHOD_SORT_ASC'][0]['value']=="2")) {
krsort($marclist_type->table);
} elseif (($options['METHOD_SORT_VALUE'][0]['value']=="3") && ($options['METHOD_SORT_ASC'][0]['value']=="2")) {
$marclist_type->table = array_reverse($marclist_type->table, true);
}
// Sinon on ne fait rien, le tableau est déjà trié avec l'attribut order
reset($marclist_type->table);
if (count($marclist_type->table)) {
foreach ($marclist_type->table as $code=>$label) {
$ret .= "";
}
}
$ret.= " \n";
} else {
$ret="
";
$libelles=array();
if (count($values)) {
$values_received=$values;
$values=array();
foreach ($values_received as $i=>$value_received) {
$values[$i]=$value_received;
$libelles[$i]=$marclist_type->table[$value_received];
}
}
$nb_values=count($values);
if(!$nb_values){
//Création de la ligne
$nb_values=1;
$libelles[0] = '';
$values[0] = '';
}
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.="";
}
return $ret;
}
function aff_q_txt_i18n_empr($field,&$check_scripts) {
global $charset, $base_path;
global $msg;
$langue_doc = get_langue_doc();
$datatype = $field['DATATYPE'];
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
$afield_name = $field["ID"];
$_custom_prefixe_=$field["PREFIX"];
$ret = "";
$count = 0;
if (!$values) {
if(isset($options['DEFAULT_LANG'][0]['value']) && $options['DEFAULT_LANG'][0]['value']) {
$values = array("|||".$options['DEFAULT_LANG'][0]['value']."|||");
} else {
$values = array("");
}
}
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
$options['ITEMS'] = array();
if ($resultat) {
$i=0;
while ($r=pmb_mysql_fetch_array($resultat)) {
$options['ITEMS'][$i]['value']=$r[$_custom_prefixe_."_custom_list_value"];
$options['ITEMS'][$i]['label']=$r[$_custom_prefixe_."_custom_list_lib"];
$i++;
}
}
if(isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret .= get_js_function_dnd('q_txt_i18n', $field['NAME']);
$ret.=' ';
}
foreach ($values as $value) {
$exploded_value = explode("|||", $value);
if(count($options['ITEMS']) == 1) {
$type = "checkbox";
$ret.= " ".$options['ITEMS'][0]['label']." ";
} else {
$ret.="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
for ($i=0; $i".htmlentities($options['ITEMS'][$i]['label'],ENT_QUOTES,$charset)."\n";
}
$ret.= " \n";
}
$maxlength = $options['MAXSIZE'][0]['value'];
if ($options['TYPE'][0]['value'] == "textarea") {
if ($datatype == "small_text" && $maxlength > 200) {
/**
* si le datatype choisie est small_text,
* on force le maxlength à 200 pour pouvoir enregistrer
* la qualification et la langue.
*/
$maxlength = 200;
}
$ret = "";
} else {
$ret = " ";
}
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.=" ";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value'] && !$count)
$ret.=' ';
$ret.=" ";
$count++;
}
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret.=' ';
$ret.= '
';
$ret.= get_custom_dnd_on_add();
$ret.="";
}
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function aff_q_txt_i18n_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
global $base_path;
$langue_doc = get_langue_doc();
$options=$field['OPTIONS'][0];
$values=$field['VALUES'];
$_custom_prefixe_=$field["PREFIX"];
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
$options['ITEMS'] = array();
if ($resultat) {
$i=0;
while ($r=pmb_mysql_fetch_array($resultat)) {
$options['ITEMS'][$i]['value']=$r[$_custom_prefixe_."_custom_list_value"];
$options['ITEMS'][$i]['label']=$r[$_custom_prefixe_."_custom_list_lib"];
$i++;
}
}
$ret=" ";
if(count($options['ITEMS']) == 1) {
$type = "checkbox";
$ret.= " ".$options['ITEMS'][0]['label']." ";
} else {
$ret.="\n";
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
for ($i=0; $i".htmlentities($options['ITEMS'][$i]['label'],ENT_QUOTES,$charset)."\n";
}
$ret.= " ";
}
$ret.=" ";
$ret.=" ";
$ret.=" ";
$ret.=" ";
return $ret;
}
function chk_q_txt_i18n_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name}, ${$name."_langs"}, ${$name."_qualifications"};
$val=${$name};
$langs = (${$name."_langs"});
$qualifications = (${$name."_qualifications"});
$final_value = array();
if(is_array($val)) {
foreach ($val as $key => $value) {
if ($value) {
$final_value[] = $value."|||".($langs[$key] ? $langs[$key] : '')."|||".$qualifications[$key];
}
}
}
$check_datatype_message="";
$val_1=chk_datatype($field,$final_value,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_q_txt_i18n_empr($field,$value) {
global $charset,$pmb_perso_sep;
$langue_doc = get_langue_doc();
$_custom_prefixe_ = $field['PREFIX'];
$requete="select ".$_custom_prefixe_."_custom_list_value, ".$_custom_prefixe_."_custom_list_lib from ".$_custom_prefixe_."_custom_lists where ".$_custom_prefixe_."_custom_champ=".$field['ID']." order by ordre";
$resultat=pmb_mysql_query($requete);
$items = array();
if ($resultat) {
while ($r=pmb_mysql_fetch_array($resultat)) {
$items[$r[$_custom_prefixe_."_custom_list_value"]] = $r[$_custom_prefixe_."_custom_list_lib"];
}
}
$value=format_output($field,$value);
if (!$value) $value=array();
$formatted_values = array();
if(is_array($value)) {
foreach ($value as $val) {
$exploded_val = explode("|||", $val);
$formatted_values[] = (isset($exploded_val[2]) && $exploded_val[2] ? "[".$items[$exploded_val[2]]."] " : "").$exploded_val[0]." ".(isset($exploded_val[1]) && $exploded_val[1] ? "(".$langue_doc[$exploded_val[1]].")" : "");
}
}
if(!isset($field["OPTIONS"][0]["ISHTML"][0]["value"])) $field["OPTIONS"][0]["ISHTML"][0]["value"] = '';
if($field["OPTIONS"][0]["ISHTML"][0]["value"]){
return array("ishtml" => true, "value"=>implode($pmb_perso_sep,$formatted_values), "withoutHTML" =>implode($pmb_perso_sep,$formatted_values));
}else{
return implode($pmb_perso_sep,$formatted_values);
}
}
function aff_date_inter_empr($field,&$check_scripts) {
global $charset;
global $msg;
global $base_path;
$values = ($field['VALUES'] ? $field['VALUES'] : array(""));
$options=$field['OPTIONS'][0];
$afield_name = $field["ID"];
$count = 0;
$ret = "";
foreach ($values as $value) {
$timestamp_begin = '';
$timestamp_end = '';
$dates = explode("|",$value);
if (isset($dates[0])) $timestamp_begin = $dates[0];
if (isset($dates[1])) $timestamp_end = $dates[1];
if (!$timestamp_begin && !$timestamp_end && !$options["DEFAULT_TODAY"][0]["value"]) {
$time = time();
$date_begin = date("Y-m-d",$time);
$date_end = date("Y-m-d",$time);
$time_begin = "null";
$time_end = "null";
} else if (!$timestamp_begin && !$timestamp_end && $options["DEFAULT_TODAY"][0]["value"]) {
$date_begin = "null";
$date_end = "null";
$time_begin = "null";
$time_end = "null";
} else {
$date_begin = date("Y-m-d",$timestamp_begin);
$date_end = date("Y-m-d",$timestamp_end);
$time_begin = "T".date("H:i",$timestamp_begin);
$time_end = "T".date("H:i",$timestamp_end);
}
$ret .= "
".$msg['resa_planning_date_debut']."
".$msg['resa_planning_date_fin']."
";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value'] && !$count) {
$ret .= ' ';
}
$ret .= '
';
$count++;
}
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret .= ' ';
$ret .= '
';
$ret .= get_custom_dnd_on_add();
$ret .= "";
}
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function aff_date_inter_empr_search($field,&$check_scripts,$varname) {
global $charset;
global $msg;
$timestamp_begin = '';
$timestamp_end = '';
$values=$field['VALUES'];
if(!empty($values[0])) {
$dates = explode("|",$values[0]);
if (isset($dates[0])) $timestamp_begin = $dates[0];
if (isset($dates[1])) $timestamp_end = $dates[1];
}
if (!$timestamp_begin && !$timestamp_end) {
$time = time();
$date_begin = date("Y-m-d",$time);
$date_end = date("Y-m-d",$time);
$time_begin = date("H:i",$time);
$time_end = date("H:i",$time);
} else {
$date_begin = date("Y-m-d",$timestamp_begin);
$date_end = date("Y-m-d",$timestamp_end);
$time_begin = date("H:i",$timestamp_begin);
$time_end = date("H:i",$timestamp_end);
}
$ret = "
".$msg['resa_planning_date_debut']."
".$msg['resa_planning_date_fin']."
";
return $ret;
}
function aff_filter_date_inter_empr($field,$varname,$multiple) {
global $charset;
global $msg;
$ret="\n";
$values = $field['VALUES'];
if ($values=="") {
$values=array();
}
$options = $field['OPTIONS'][0];
if (($options['UNSELECT_ITEM'][0]['VALUE']!="")||($options['UNSELECT_ITEM'][0]['value']!="")) {
$ret.="".htmlentities($options['UNSELECT_ITEM'][0]['value'],ENT_QUOTES,$charset)." \n";
}
$resultat=pmb_mysql_query($options['QUERY'][0]['value']);
while ($r=pmb_mysql_fetch_row($resultat)) {
$ret.="".htmlentities(formatdate($r[0]),ENT_QUOTES,$charset)." \n";
}
$ret.= " \n";
return $ret;
}
function chk_date_inter_empr($field,&$check_message) {
$name=$field['NAME'];
global ${$name};
$val=${$name};
$value = array();
if (is_array($val)) {
foreach($val as $interval){
if(!$interval['time_begin']) {
$interval['time_begin'] = '00:00';
}
if(!$interval['time_end']) {
$interval['time_end'] = '23:59';
}
if($interval['date_begin'] && $interval['date_end']) {
$timestamp_begin = strtotime($interval['date_begin'] . ' ' . $interval['time_begin']);
$timestamp_end = strtotime($interval['date_end'] . ' ' . $interval['time_end']);
if ($timestamp_begin > $timestamp_end) {
$value[] = $timestamp_end."|".$timestamp_begin;
} else {
$value[] = $timestamp_begin."|".$timestamp_end;
}
}
}
}
$val = $value;
$check_datatype_message="";
$val_1=chk_datatype($field,$val,$check_datatype_message);
if ($check_datatype_message) {
$check_message=$check_datatype_message;
return 0;
}
${$name}=$val_1;
return 1;
}
function val_date_inter_empr($field,$value) {
global $charset,$pmb_perso_sep, $msg;
$without="";
$options=$field['OPTIONS'][0];
$values=format_output($field,$value);
$return = "";
for ($i=0;$i";
$customfield_drop_already_included = true;
}
return $return."
";
}
function get_block_dnd($field_type, $field_name, $count, $html, $avalues='') {
global $charset;
return "
".$html."
";
}
function get_custom_dnd_on_add() {
global $charset;
return "
";
}
function get_authority_isbd_from_field($field, $id=0) {
global $charset;
global $lang;
$isbd = '';
switch($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]) {
case 1:// auteur
$aut = authorities_collection::get_authority('author', $id);
$isbd .= html_entity_decode($aut->get_isbd(),ENT_QUOTES, $charset);
break;
case 2:// categories
if (isset($field["OPTIONS"][0]["CATEG_SHOW"]["0"]["value"]) && $field["OPTIONS"][0]["CATEG_SHOW"]["0"]["value"]==1) {
$isbd .= html_entity_decode(categories::getLibelle($id,$lang),ENT_QUOTES, $charset);
} else {
$isbd .= html_entity_decode(categories::listAncestorNames($id,$lang),ENT_QUOTES, $charset);
}
break;
case 3:// Editeur
$aut = authorities_collection::get_authority('publisher', $id);
$isbd .= html_entity_decode($aut->get_isbd(),ENT_QUOTES, $charset);
break;
case 4:// collection
$aut = authorities_collection::get_authority('collection', $id);
$isbd .= html_entity_decode($aut->get_isbd(),ENT_QUOTES, $charset);
break;
case 5:// subcollection
$aut = authorities_collection::get_authority('subcollection', $id);
$isbd .= html_entity_decode($aut->get_isbd(),ENT_QUOTES, $charset);
break;
case 6:// Titre de serie
$aut = authorities_collection::get_authority('serie', $id);
$isbd .= html_entity_decode($aut->get_isbd(),ENT_QUOTES, $charset);
break;
case 7:// Indexation decimale
$aut = authorities_collection::get_authority('indexint', $id);
$isbd .= html_entity_decode($aut->get_isbd(),ENT_QUOTES, $charset);
break;
case 8:// titre uniforme
$aut = authorities_collection::get_authority('titre_uniforme', $id);
$isbd .= html_entity_decode($aut->get_isbd(),ENT_QUOTES, $charset);
break;
case 9://Concept
if(!is_numeric($id)){
$id = onto_common_uri::get_id($id);
}
if(!$id) break;
$aut = authorities_collection::get_authority('concept', $id);
$isbd .= html_entity_decode($aut->get_display_label(),ENT_QUOTES, $charset);
break;
default:
if ($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"] > 1000) {
// autperso
$aut = new authperso_data($id);
$isbd .= html_entity_decode($aut->get_isbd(), ENT_QUOTES, $charset);
}
break;
}
return $isbd;
}
function get_authority_selection_parameters($authority_type) {
$what = '';
$completion = '';
switch($authority_type) {
case 1://auteurs
$what="auteur";
$completion='authors';
break;
case 2://categories
$what="categorie";
$completion="categories";
break;
case 3://Editeurs
$what="editeur";
$completion="publishers";
break;
case 4://collection
$what="collection";
$completion="collections";
break;
case 5:// subcollection
$what="subcollection";
$completion="subcollections";
break;
case 6://Titre de serie
$what="serie";
$completion="serie";
break;
case 7:// Indexation decimale
$what="indexint";
$completion="indexint";
break;
case 8:// titre uniforme
$what="titre_uniforme";
$completion="titre_uniforme";
break;
case 9:
$what="ontology";
$completion="onto";
break;
default:
if($authority_type>1000){
$what="authperso&authperso_id=".($authority_type-1000);
$completion="authperso_".($authority_type-1000);
}
break;
}
return array(
'what' => $what,
'completion' => $completion
);
}
function get_authority_details_from_field($field, $id=0) {
switch($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"]) {
case 1:// auteur
return authorities_collection::get_authority('author', $id);
case 2:// categories
return authorities_collection::get_authority('category', $id);
case 3:// Editeur
return authorities_collection::get_authority('publisher', $id);
case 4:// collection
return authorities_collection::get_authority('collection', $id);
case 5:// subcollection
return authorities_collection::get_authority('subcollection', $id);
case 6:// Titre de serie
return authorities_collection::get_authority('serie', $id);
case 7:// Indexation decimale
return authorities_collection::get_authority('indexint', $id);
case 8:// titre uniforme
return authorities_collection::get_authority('titre_uniforme', $id);
case 9://Concept
if(!is_numeric($id)){
$id = onto_common_uri::get_id($id);
}
if(!$id) break;
return authorities_collection::get_authority('concept', $id);
default:
if ($field["OPTIONS"][0]["DATA_TYPE"]["0"]["value"] > 1000) {
// autperso
return new authperso_data($id);
}
break;
}
return null;
}
function aff_date_flottante_empr($field, &$check_scripts) {
global $charset;
global $msg;
global $base_path;
$values = ($field['VALUES'] ? $field['VALUES'] : array(""));
$options = $field['OPTIONS'][0];
$afield_name = $field["ID"];
$count = 0;
$ret = "";
$ret .= "
";
foreach ($values as $value) {
// value: type (vers: 0, avant: 1, après: 2, date précise: 3, interval date: 4)
// 1ere date
// 2eme date
// zone commentaire
// exemple: 1|||1950|||1960|||commentaires
$data = explode("|||", $value);
$date_type = (!empty($data[0]) ? $data[0] : "");
$date_begin = (!empty($data[1]) ? $data[1] : "");
$date_end = (!empty($data[2]) ? $data[2] : "");
$comment = (!empty($data[3]) ? $data[3] : "");
if (!$date_begin && !$date_end && !$options["DEFAULT_TODAY"][0]["value"]) {
$time = time();
$date_begin = date("Y-m-d", $time);
$date_end = date("Y-m-d", $time);
} elseif (!$date_begin && !$date_end && $options["DEFAULT_TODAY"][0]["value"]) {
$date_begin = "";
$date_end = "";
} else {
//$date_begin = date("Y-m-d", $date_begin);
//$date_end = date("Y-m-d", $date_end);
}
$ret .= "
" . $msg['parperso_option_duration_type0'] . "
" . $msg['parperso_option_duration_type1'] . "
" . $msg['parperso_option_duration_type2'] . "
" . $msg['parperso_option_duration_type3'] . "
" . $msg['parperso_option_duration_type4'] . "
" . $msg['parperso_option_duration_begin'] . "
" . $msg['parperso_option_duration_end'] . "
" . $msg['parperso_option_duration_comment'] . "
";
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value'] && !$count) {
$ret .= ' ';
}
$ret .= "
";
$count++;
}
/*
if (isset($options['REPEATABLE'][0]['value']) && $options['REPEATABLE'][0]['value']) {
$ret .= ' ';
$ret .= '
';
$ret .= get_custom_dnd_on_add();
$ret .= "
";
}
*/
if ($field['MANDATORY']==1) {
$caller = get_form_name();
$check_scripts.="if (document.forms[\"".$caller."\"].elements[\"".$field['NAME']."[]\"].value==\"\") return cancel_submit(\"".sprintf($msg["parperso_field_is_needed"],$field['ALIAS'])."\");\n";
}
return $ret;
}
function aff_date_flottante_empr_search($field, &$check_scripts, $varname) {
global $charset;
global $msg;
$date_begin = '';
$date_end = '';
if (!empty($field['VALUES'][0])) $date_begin = $field['VALUES'][0];
if (!empty($field['VALUES1'][0])) $date_end = $field['VALUES1'][0];
$return = "
" . htmlentities($msg['resa_planning_date_debut'], ENT_QUOTES, $charset) . "
" . $msg['resa_planning_date_fin'] . "
";
return $return;
}
function aff_filter_date_flottante_empr($field, $varname, $multiple) {
global $charset;
global $msg;
$return = "\n";
}
$resultat = pmb_mysql_query($options['QUERY'][0]['value']);
while ($r = pmb_mysql_fetch_row($resultat)) {
$return .= "\n";
}
$return .= " \n";
return $return;
}
function chk_date_flottante_empr($field, &$check_message) {
$name = $field['NAME'];
global ${$name};
$val = ${$name};
$value = array();
if (is_array($val)) {
foreach ($val as $interval) {
if (isset($interval['date_type']) && ($interval['date_begin'] || $interval['date_end'])) {
$value[] = $interval['date_type'] . "|||" . $interval['date_begin'] . "|||" . $interval['date_end'] . "|||" . $interval['comment'];
}
}
}
$val = $value;
$check_datatype_message = "";
$val_1 = chk_datatype($field, $val, $check_datatype_message);
if ($check_datatype_message) {
$check_message = $check_datatype_message;
return 0;
}
${$name} = $val_1;
return 1;
}
function val_date_flottante_empr($field, $value) {
global $charset, $pmb_perso_sep, $msg;
$without = "";
$options = $field['OPTIONS'][0];
$values = format_output($field, $value);
$return = "";
for ($i = 0; $i < count($values); $i++) {
$interval = explode("|||", $values[$i]);
if ($return) {
$return .= " " . $pmb_perso_sep . " ";
}
switch ($interval[0]) {
case '4': // interval date
$return .= $msg['parperso_option_duration_entre']." " . $interval[1] . " ".$msg['parperso_option_duration_et']." " . $interval[2];
break;
case '0': // vers
case '1': // avant
case '2': // après
case '3': // date précise
$return .= $msg['parperso_option_duration_type'.$interval[0]];
$return .= " " . $interval[1];
break;
case '4': // interval date
$return .= $msg['parperso_option_duration_entre']." " . $interval[1] . " ".$msg['parperso_option_duration_et']." " . $interval[2];
break;
// Pour l'human query de la recherche, BETWEEN, NEAR, =, <=, >= ...
case 'BETWEEN':
$return .= $msg['parperso_option_duration_entre']." " . $interval[1] . " ".$msg['parperso_option_duration_et']." " . $interval[2];
break;
default:
if (!empty($interval[1])) $return .= $interval[1];
break;
}
// Commentaire
if (!empty($interval[3])) {
$return .= " (" . $interval[3] . ")";
}
}
return $return;
}
function get_langue_doc() {
global $langue_doc;
if (!isset($langue_doc) || !count($langue_doc)) {
$langue_doc = marc_list_collection::get_instance('lang');
$langue_doc = $langue_doc->table;
}
return $langue_doc;
}