analyser(); $clang = $langues->table; $combo = ""; return $combo; } // affichage de la liste lecteurs pour selection function list_empr($cb, $empr_list, $nav_bar, $nb_total=0, $where_intitule="") { global $empr_list_tmpl,$empr_search_cle_tmpl; if ($cb != "") { if ($nb_total>0) $empr_search_cle_tmpl = str_replace("", "(".$nb_total.")", $empr_search_cle_tmpl); $empr_search_cle_tmpl = str_replace("!!cle!!", $cb, $empr_search_cle_tmpl); $empr_search_cle_tmpl = str_replace("!!where_intitule!!", $where_intitule, $empr_search_cle_tmpl); $empr_list_tmpl = str_replace("!!empr_search_cle_tmpl!!", $empr_search_cle_tmpl, $empr_list_tmpl); } else { $empr_list_tmpl = str_replace("!!empr_search_cle_tmpl!!", "", $empr_list_tmpl); } $empr_list_tmpl = str_replace("!!list!!", $empr_list, $empr_list_tmpl); $empr_list_tmpl = str_replace("!!nav_bar!!", $nav_bar, $empr_list_tmpl); print pmb_bidi($empr_list_tmpl); } // form de saisie cb emprunteur function get_cb($title, $message, $title_form, $form_action, $check=0, $cb_initial="", $creation=0) { global $empr_cb_tmpl; global $empr_cb_tmpl_create; global $script1; global $script2; global $deflt2docs_location, $pmb_lecteurs_localises, $empr_location_id, $param_allloc ; if ($cb_initial===0) $cb_initial="" ; if ($creation==1) $empr_cb_tmpl = $empr_cb_tmpl_create; switch ($check) { case '1': // script javascript 1 : checke seulement si le champ contient des trucs $empr_cb_tmpl = str_replace("!!script!!", $script1, $empr_cb_tmpl); break ; case '2': // script javascript 2 : checke si le champ ne contient que de l'alpha $empr_cb_tmpl = str_replace("!!script!!", $script2, $empr_cb_tmpl); break ; case '0': default: // aucun test $empr_cb_tmpl = str_replace("!!script!!", "", $empr_cb_tmpl); break ; } $empr_cb_tmpl = str_replace("!!titre_formulaire!!", $title_form, $empr_cb_tmpl); $empr_cb_tmpl = str_replace("!!form_action!!", $form_action, $empr_cb_tmpl); $empr_cb_tmpl = str_replace("!!title!!", $title, $empr_cb_tmpl); $empr_cb_tmpl = str_replace("!!message!!", $message, $empr_cb_tmpl); $empr_cb_tmpl = str_replace("!!cb_initial!!", (string)$cb_initial, $empr_cb_tmpl); if ($pmb_lecteurs_localises) { if ($empr_location_id) $deflt2docs_location=$empr_location_id; elseif ($param_allloc) $deflt2docs_location=0; $empr_cb_tmpl = str_replace("!!restrict_location!!", docs_location::gen_combo_box_empr($deflt2docs_location), $empr_cb_tmpl); } else $empr_cb_tmpl = str_replace("!!restrict_location!!", "", $empr_cb_tmpl); print pmb_bidi($empr_cb_tmpl); } // form de saisie cb emprunteur function get_login_empr_pret($title, $message, $title_form, $form_action, $check=0, $cb_initial="") { global $login_empr_pret_tmpl; global $script1; global $script2; if ($cb_initial===0) $cb_initial="" ; $login_empr_pret_tmpl = str_replace("!!titre_formulaire!!", $title_form, $login_empr_pret_tmpl); $login_empr_pret_tmpl = str_replace("!!form_action!!", $form_action, $login_empr_pret_tmpl); $login_empr_pret_tmpl = str_replace("!!title!!", $title, $login_empr_pret_tmpl); $login_empr_pret_tmpl = str_replace("!!message!!", $message, $login_empr_pret_tmpl); $login_empr_pret_tmpl = str_replace("!!cb_initial!!", (string)$cb_initial, $login_empr_pret_tmpl); print pmb_bidi($login_empr_pret_tmpl); } // affichage du form emprunteurs (gere modif et creation). function show_empr_form($form_action, $form_cancel, $link, $id, $cb,$duplicate_empr_from_id="") { global $empr_form; global $dbh,$msg,$charset; global $biblio_email; global $aff_list_empr; global $deflt2docs_location; global $pmb_lecteurs_localises ; global $pmb_gestion_abonnement,$pmb_gestion_financiere,$empr_abonnement_default_debit; global $empr_prolong_calc_date_adhes_depassee; global $database_window_title ; global $lang; global $pmb_rfid_activate, $pmb_rfid_serveur_url; global $pmb_opac_view_activate; // si $id est fourni, il s'agit d'une modification. on recupere les donnees dans $link if($id) { // modification echo window_title($database_window_title.$msg[55]); $entete=$msg[55]; if ($pmb_rfid_activate==1 && $pmb_rfid_serveur_url) { $script_rfid_encode="if(script_rfid_encode()==false) return false;"; } else $script_rfid_encode=''; $empr_form = str_replace("!!questionrfid!!", $script_rfid_encode, $empr_form); $requete = "SELECT * FROM empr WHERE id_empr='$id' "; $res = mysql_query($requete, $link); if($res) { $empr = mysql_fetch_object($res); } else { error_message( $msg[53], $msg[54], 0); } } else { // création $empr = new stdClass(); $entete=$msg[15]; $empr_form = str_replace("!!questionrfid!!", '' , $empr_form); } if ($duplicate_empr_from_id) { $empr_form = str_replace("!!id!!", "", $empr_form); $empr_form = str_replace("!!entete!!", $msg["empr_duplicate"], $empr_form); } else { $empr_form = str_replace("!!id!!", $id, $empr_form); $empr_form = str_replace("!!entete!!", $entete, $empr_form); } $empr_form = str_replace("!!form_action!!", $form_action, $empr_form); if($empr->empr_cb) { //Si il y a un code lecteur if (!$duplicate_empr_from_id) $empr_form = str_replace("!!cb!!", $empr->empr_cb, $empr_form); else $empr_form = str_replace("!!cb!!", $cb, $empr_form); $date_adhesion = (!$duplicate_empr_from_id ? $empr->empr_date_adhesion : date('Y-m-d')); $date_clic = "onClick=\"openPopUp('./select.php?what=calendrier&caller=empr_form&date_caller=".preg_replace('/-/', '', $date_adhesion)."¶m1=form_adhesion¶m2=form_adhesion_lib&auto_submit=NO&date_anterieure=YES', 'date_adhesion', 250, 300, -2, -2, 'toolbar=no, dependent=yes, resizable=yes')\" "; $adhesion = " "; $empr_form = str_replace("!!adhesion!!", $adhesion, $empr_form); $date_clic = "onClick=\"openPopUp('./select.php?what=calendrier&caller=empr_form&date_caller=".preg_replace('/-/', '', $empr->empr_date_expiration)."¶m1=form_expiration¶m2=form_expiration_lib&auto_submit=NO&date_anterieure=YES', 'date_adhesion', 205, 300, -2, -2, 'toolbar=no, dependent=yes, resizable=yes')\" "; $expiration = " empr_date_expiration)."' /> "; $empr_form = str_replace("!!expiration!!", $expiration, $empr_form); // ajout ici des trucs sur la relance adhésion $empr_temp = new emprunteur($id, '', FALSE, 0) ; $aff_relance = ""; if ($empr_temp->adhesion_renouv_proche() || $empr_temp->adhesion_depassee()) { if ($empr_temp->adhesion_depassee()) $mess_relance = $msg[empr_date_depassee]; else $mess_relance = $msg[empr_date_renouv_proche]; $rqt="select duree_adhesion from empr_categ where id_categ_empr='$empr_temp->categ'"; $res_dur_adhesion = mysql_query($rqt, $dbh); $row = mysql_fetch_row($res_dur_adhesion); $nb_jour_adhesion_categ = $row[0]; if ($empr_prolong_calc_date_adhes_depassee && $empr_temp->adhesion_depassee()) { $rqt_date = "select date_add(curdate(),INTERVAL 1 DAY) as nouv_date_debut, date_add(curdate(),INTERVAL $nb_jour_adhesion_categ DAY) as nouv_date_fin "; } else { $rqt_date = "select date_add('$empr_temp->date_expiration',INTERVAL 1 DAY) as nouv_date_debut, date_add('$empr_temp->date_expiration',INTERVAL $nb_jour_adhesion_categ DAY) as nouv_date_fin "; } $resultatdate=mysql_query($rqt_date) or die ("
$rqt_date ".mysql_error()); $resdate=mysql_fetch_object($resultatdate); $nouv_date_debut = $resdate->nouv_date_debut ; $nouv_date_fin = $resdate->nouv_date_fin ; $nouv_date_debut_formatee = formatdate($nouv_date_debut) ; $nouv_date_fin_formatee = formatdate($nouv_date_fin) ; // on conserve la date d'adhésion initiale $action_prolonger = "this.form.form_expiration.value = '$nouv_date_fin'; this.form.form_expiration_lib.value = '$nouv_date_fin_formatee'; "; $action_relance_courrier = "openPopUp('./pdf.php?pdfdoc=lettre_relance_adhesion&id_empr=$id', 'lettre', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes'); return(false) "; $aff_relance = "
$mess_relance
  "; if ($empr_temp->mail && $biblio_email ) { $action_relance_mail = "if (confirm('".$msg["mail_retard_confirm"]."')) {openPopUp('./mail.php?type_mail=mail_relance_adhesion&id_empr=$id', 'mail', 600, 500, -2, -2, 'toolbar=no, dependent=yes, resizable=yes, scrollbars=yes'); } return(false) "; $aff_relance .= " "; } $aff_relance .= "
"; if (($pmb_gestion_financiere)&&($pmb_gestion_abonnement)) { $aff_relance.="
 "; $aff_relance.=" "; if ($pmb_gestion_abonnement==2) $aff_relance.=""; $aff_relance.="
"; } } $empr_form = str_replace("!!adhesion_proche_depassee!!", $aff_relance, $empr_form); //Liste des types d'abonnement $list_type_abt=""; if (($pmb_gestion_abonnement==2)&&($pmb_gestion_financiere)) { $requete="select * from type_abts order by type_abt_libelle "; $resultat_abt=mysql_query($requete); $user_loc=$deflt2docs_location; $t_type_abt=array(); while ($res_abt=mysql_fetch_object($resultat_abt)) { $locs=explode(",",$res_abt->localisations); $as=array_search($user_loc,$locs); if ((($as!==false)&&($as!==null))||(!$res_abt->localisations)) { $t_type_abt[]=$res_abt; } } if (count($t_type_abt)) { $list_type_abt="
\n
\n
\n
"; } } $empr_form = str_replace("!!typ_abonnement!!",$list_type_abt,$empr_form); } else { // création de lecteur $empr->empr_date_adhesion = today() ; $empr_form = str_replace('!!cb!!',$cb,$empr_form); $date_clic = "onClick=\"openPopUp('./select.php?what=calendrier&caller=empr_form&date_caller=".preg_replace('/-/', '', $empr->empr_date_adhesion)."¶m1=form_adhesion¶m2=form_adhesion_lib&auto_submit=NO&date_anterieure=YES', 'date_adhesion', 250, 260, -2, -2, 'toolbar=no, dependent=yes, resizable=yes')\" "; $adhesion = "$msg[1401]$msg[1901] empr_date_adhesion)."'> "; $empr_form = str_replace("!!adhesion!!", $adhesion, $empr_form); $empr_form = str_replace("!!adhesion_proche_depassee!!", "", $empr_form); $empr_form = str_replace("!!expiration!!", "", $empr_form); //Liste des types d'abonnement $list_type_abt=""; if (($pmb_gestion_abonnement==2)&&($pmb_gestion_financiere)) { $requete="select * from type_abts"; $resultat_abt=mysql_query($requete); $user_loc=$deflt2docs_location; $t_type_abt=array(); while ($res_abt=mysql_fetch_object($resultat_abt)) { $locs=explode(",",$res_abt->localisations); $as=array_search($user_loc,$locs); if ((($as!==false)&&($as!==null))||(!$res_abt->localisations)) { $t_type_abt[]=$res_abt; } } if (count($t_type_abt)) { $list_type_abt="
\n
\n
\n
"; } } $empr_form = str_replace("!!typ_abonnement!!",$list_type_abt,$empr_form); } $empr_form = str_replace("!!nom!!", htmlentities($empr->empr_nom ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!prenom!!", htmlentities($empr->empr_prenom ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!adr1!!", htmlentities($empr->empr_adr1 ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!adr2!!", htmlentities($empr->empr_adr2 ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!cp!!", htmlentities($empr->empr_cp ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!ville!!", htmlentities($empr->empr_ville ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!pays!!", htmlentities($empr->empr_pays ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!mail!!", htmlentities($empr->empr_mail ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!tel1!!", htmlentities($empr->empr_tel1 ,ENT_QUOTES, $charset), $empr_form); if(!$empr->empr_sms) $empr_sms_chk=''; else $empr_sms_chk="checked='checked'"; $empr_form = str_replace('!!sms!!', $empr_sms_chk, $empr_form); $empr_form = str_replace("!!tel2!!", htmlentities($empr->empr_tel2 ,ENT_QUOTES, $charset), $empr_form); $empr_form = str_replace("!!prof!!", htmlentities($empr->empr_prof ,ENT_QUOTES, $charset), $empr_form); if ($empr->empr_year != 0) $empr_form = str_replace("!!year!!", htmlentities($empr->empr_year ,ENT_QUOTES, $charset), $empr_form); else $empr_form = str_replace("!!year!!", "", $empr_form); if (!$empr->empr_lang) $empr->empr_lang=$lang; $empr_form = str_replace('!!combo_empr_lang!!', make_empr_lang_combo($empr->empr_lang), $empr_form); if (!$duplicate_empr_from_id) { $empr_form = str_replace('!!empr_login!!', $empr->empr_login, $empr_form); $empr_form = str_replace("!!empr_msg!!", htmlentities($empr->empr_msg ,ENT_QUOTES, $charset), $empr_form); } else { $empr_form = str_replace('!!empr_login!!', "", $empr_form); $empr_form = str_replace("!!empr_msg!!", "", $empr_form); } // on récupère le select catégorie $requete = "SELECT id_categ_empr, libelle, duree_adhesion FROM empr_categ ORDER BY libelle "; $res = mysql_query($requete, $link); $nbr_lignes = mysql_num_rows($res); $categ_content=''; $empr_grille_categ="'; $empr_form = str_replace("!!categ!!", $categ_content, $empr_form); // Ajout des categories et localisations pour edition des grilles $empr_form = str_replace("", $empr_grille_categ, $empr_form); if ($pmb_lecteurs_localises) { $empr_grille_location = docs_location::get_html_select(array(0),array('id'=>0,'msg'=>$msg['all_locations_empr']),array('id'=>'empr_grille_location','class'=>'saisie-20em','style'=>'display:none;')); } else { $empr_grille_location=""; } $empr_form = str_replace("", $empr_grille_location, $empr_form); $requete = "SELECT id_categ_empr, libelle, duree_adhesion FROM empr_categ ORDER BY libelle "; $res = mysql_query($requete, $link); $grille_categ=""; $grille_categ.=""; } $empr_form = str_replace("!!categ!!", $categ_content, $empr_form); // on récupère le select statut $requete = "SELECT idstatut, statut_libelle FROM empr_statut ORDER BY statut_libelle "; //Si il n'y a pas de statut on prend celui définit pour l'utilisateur if(!$empr->empr_statut){ global $deflt_empr_statut; $empr->empr_statut=$deflt_empr_statut; } $res = mysql_query($requete, $link); $nbr_lignes = mysql_num_rows($res); for($i=0; $i < $nbr_lignes; $i++) { $row = mysql_fetch_row($res); $statut_content .= ""; } $empr_form = str_replace("!!statut!!", $statut_content, $empr_form); // et le select code stat // on récupère le select cod stat $requete = "SELECT idcode, libelle FROM empr_codestat ORDER BY libelle "; $res = mysql_query($requete, $link); $nbr_lignes = mysql_num_rows($res); for($i=0; $i < $nbr_lignes; $i++) { $row = mysql_fetch_row($res); $cstat_content .= ""; } // mise à jour du sexe switch($empr->empr_sexe) { case 1: $empr_form = str_replace("sexe_select_1", 'selected', $empr_form); break; case 2: $empr_form = str_replace("sexe_select_2", 'selected', $empr_form); break; default: $empr_form = str_replace("sexe_select_0", 'selected', $empr_form); break; } $empr_form = preg_replace("/sexe_select_[0-2]/m", '', $empr_form); $empr_form = str_replace("!!cstat!!", $cstat_content, $empr_form); // mise à jour du groupe if($id){ $requete = "SELECT id_groupe, libelle_groupe, ifnull(empr_id,0) as inscription FROM groupe left join empr_groupe on (id_groupe=groupe_id and empr_id=".$id.") ORDER BY libelle_groupe"; }else{ $requete = "SELECT id_groupe, libelle_groupe, 0 as inscription FROM groupe ORDER BY libelle_groupe"; } $groupe_form_aff = gen_liste_multiple ($requete, "id_groupe", "libelle_groupe", "inscription", "id_grp[]", "", $id, 0, $msg[empr_form_aucungroupe], 0,$msg[empr_form_nogroupe], 5) ; $empr_form = str_replace("!!groupe_ajout!!", $groupe_form_aff, $empr_form); $empr_form = str_replace('!!cancel!!',$form_cancel,$empr_form); // ldap MaxMan if ($empr->empr_ldap){ $form_ldap="checked" ; }else{ $form_ldap=""; } //$empr_form = str_replace('!!empr_password!!', $empr_password, $empr_form); $empr_form = str_replace("!!ldap!!",$form_ldap,$empr_form); $empr_form = str_replace('!!empr_password!!', '', $empr_form); if (!$empr->empr_location) $empr->empr_location=$deflt2docs_location ; if ($pmb_lecteurs_localises) { $loc = "
!!localisation!!
"; //$loc = str_replace('!!localisation!!', docs_location::gen_combo_box_empr($empr->empr_location, 0), $loc); $loc = str_replace('!!localisation!!', docs_location::get_html_select(array($empr->empr_location),array(),array('id'=>'empr_location_id','name'=>'empr_location_id')), $loc); } else { $loc = "" ; $empr_form = str_replace('', $loc, $empr_form); } $empr_form = str_replace('', $loc, $empr_form); if($pmb_opac_view_activate ){ $opac_view_tpl = "
!!opac_view!!
"; $opac_view = new opac_view(0,$id); $opac_view_tpl=str_replace("!!opac_view!!",gen_plus("opac_view",$msg["empr_form_opac_view"],$opac_view->do_sel_list(),0),$opac_view_tpl); } $empr_form = str_replace('', $opac_view_tpl, $empr_form); //Champs persos $p_perso=new parametres_perso("empr"); $perso_=$p_perso->show_editable_fields($id); if (count($perso_["FIELDS"])) $perso = "
" ; else $perso=""; $class="colonne2"; for ($i=0; $i"; $perso.="
\n"; $perso.="
"; $perso.=$p["AFF"]."
"; $perso.=""; if ($class=="colonne2") $class="colonne_suite"; else $class="colonne2"; } if ($class=="colonne_suite") $perso.="
 
"; $perso.=$perso_["CHECK_SCRIPTS"]; $empr_form=str_replace("!!champs_perso!!",$perso,$empr_form); $empr_form = str_replace('!!empr_notice_override!!',get_rights_form($id),$empr_form); print pmb_bidi($empr_form); } //creation formulaire surcharge des droits d'accès emprunteurs-notices function get_rights_form($empr_id=0) { global $dbh,$msg,$charset; global $gestion_acces_active,$gestion_acces_empr_notice; global $class_path; $form = ''; if (!$empr_id) return $form; if ($gestion_acces_active==1 && $gestion_acces_empr_notice==1 ) { require_once($class_path.'/acces.class.php'); $ac = new acces(); $dom_2 = $ac->setDomain(2); //Role utilisateur $def_usr_prf=$dom_2->getComment('user_prf_def_lib'); $cur_usr_prf=$dom_2->getUserProfile($empr_id); //Recuperation des droits generiques du domaine pour avoir les droits utilisateurs globaux $global_rights = $dom_2->getDomainRights(0,0); //Recuperation profils ressources $t_r=array(); $t_r[0]= $dom_2->getComment('res_prf_def_lib'); //profile ressource par defaut $q_r=$dom_2->loadUsedResourceProfiles(); $r_r=mysql_query($q_r, $dbh); if (mysql_num_rows($r_r)) { while(($row=mysql_fetch_object($r_r))) { $t_r[$row->prf_id]= $row->prf_name; } } //Recuperation des controles dependants de l'utilisateur $t_ctl=$dom_2->getControls(0); //recuperation des droits du domaine pour un utilisateur $t_rights = $dom_2->get_user_rights($empr_id, $cur_usr_prf); $r_form = ''; if (($global_rights & 512)) { $r_form = " "; } $r_form.= "
"; if (count($t_r)) { $h_tab = "
"; foreach($t_r as $k=>$v) { $h_tab.= ""; } $h_tab.="
".htmlentities($v, ENT_QUOTES, $charset)."
"; $c_tab = ''; foreach($t_r as $k=>$v) { $c_tab.= "
"; $t_rows = ""; foreach($t_ctl as $k2=>$v2) { $t_rows.=" "; } $c_tab = str_replace('', $t_rows, $c_tab); } $c_tab.= ""; } $h_tab = str_replace('', $c_tab, $h_tab);; $r_form=str_replace('', $h_tab, $r_form); $form.= $r_form; } return $form; }