function import_new_notice_suite() { global $dbh; global $notice_id, $info_856, $info_959; global $index_sujets; global $pmb_keyword_sep; global $info_600_a, $info_600_j, $info_600_x, $info_600_y, $info_600_z; global $info_601_a, $info_601_j, $info_601_x, $info_601_y, $info_601_z; global $info_602_a, $info_602_j, $info_602_x, $info_602_y, $info_602_z; global $info_605_a, $info_605_j, $info_605_x, $info_605_y, $info_605_z; global $info_606_a, $info_606_j, $info_606_x, $info_606_y, $info_606_z; global $info_607_a, $info_607_j, $info_607_x, $info_607_y, $info_607_z; if (is_array($index_sujets)) { $mots_cles = implode(" {$pmb_keyword_sep} ", $index_sujets); } else { $mots_cles = $index_sujets; } for ($a = 0; $a < sizeof($info_600_a); $a++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_600_a[$a][0]; for ($j = 0; $j < sizeof($info_600_j[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_600_j[$a][$j]; } for ($j = 0; $j < sizeof($info_600_x[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_600_x[$a][$j]; } for ($j = 0; $j < sizeof($info_600_y[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_600_y[$a][$j]; } for ($j = 0; $j < sizeof($info_600_z[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_600_z[$a][$j]; } } for ($a = 0; $a < sizeof($info_601_a); $a++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_601_a[$a][0]; for ($j = 0; $j < sizeof($info_601_j[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_601_j[$a][$j]; } for ($j = 0; $j < sizeof($info_601_x[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_601_x[$a][$j]; } for ($j = 0; $j < sizeof($info_601_y[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_601_y[$a][$j]; } for ($j = 0; $j < sizeof($info_601_z[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_601_z[$a][$j]; } } for ($a = 0; $a < sizeof($info_602_a); $a++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_602_a[$a][0]; for ($j = 0; $j < sizeof($info_602_j[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_602_j[$a][$j]; } for ($j = 0; $j < sizeof($info_602_x[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_602_x[$a][$j]; } for ($j = 0; $j < sizeof($info_602_y[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_602_y[$a][$j]; } for ($j = 0; $j < sizeof($info_602_z[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_602_z[$a][$j]; } } for ($a = 0; $a < sizeof($info_605_a); $a++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_605_a[$a][0]; for ($j = 0; $j < sizeof($info_605_j[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_605_j[$a][$j]; } for ($j = 0; $j < sizeof($info_605_x[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_605_x[$a][$j]; } for ($j = 0; $j < sizeof($info_605_y[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_605_y[$a][$j]; } for ($j = 0; $j < sizeof($info_605_z[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_605_z[$a][$j]; } } for ($a = 0; $a < sizeof($info_606_a); $a++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_606_a[$a][0]; for ($j = 0; $j < sizeof($info_606_j[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_606_j[$a][$j]; } for ($j = 0; $j < sizeof($info_606_x[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_606_x[$a][$j]; } for ($j = 0; $j < sizeof($info_606_y[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_606_y[$a][$j]; } for ($j = 0; $j < sizeof($info_606_z[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_606_z[$a][$j]; } } for ($a = 0; $a < sizeof($info_607_a); $a++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_607_a[$a][0]; for ($j = 0; $j < sizeof($info_607_j[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_607_j[$a][$j]; } for ($j = 0; $j < sizeof($info_607_x[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_607_x[$a][$j]; } for ($j = 0; $j < sizeof($info_607_y[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_607_y[$a][$j]; } for ($j = 0; $j < sizeof($info_607_z[$a]); $j++) { $mots_cles .= " {$pmb_keyword_sep} " . $info_607_z[$a][$j]; } } $mots_cles ? $index_matieres = strip_empty_words($mots_cles) : ($index_matieres = ''); $rqt_maj = "update notices set index_l='" . addslashes($mots_cles) . "', index_matieres=' " . addslashes($index_matieres) . " ' where notice_id='{$notice_id}' "; pmb_mysql_query($rqt_maj, $dbh); //Url image if ($tmp = trim($info_959[0])) { $requete = "UPDATE notices SET thumbnail_url='" . addslashes($tmp) . "' WHERE notice_id='" . $notice_id . "'"; if (!pmb_mysql_query($requete)) { affiche_mes_erreurs("requete echoué : " . $requete); } } //Doc numérique Gam if (count($info_856)) { foreach ($info_856 as $value) { if ($tmp = trim($value["u"])) { $libelle = trim($value["z"]); if (!$libelle) { $libelle = $tmp; } $rqt_maj = "insert into explnum set explnum_notice='{$notice_id}', explnum_nom='" . addslashes($libelle) . "', explnum_mimetype='URL', explnum_url='" . addslashes($tmp) . "'"; if (!pmb_mysql_query($rqt_maj)) { affiche_mes_erreurs("requete echoué : " . $rqt_maj); } } } } }
function traite_exemplaires() { global $nb_expl_ignores, $bulletin_ex; global $prix, $notice_id, $info_996_9, $info_999, $typdoc_995, $tdoc_codage, $book_lender_id, $section_995, $sdoc_codage, $book_statut_id, $codstatdoc_995, $statisdoc_codage, $cote_mandatory, $book_location_id; global $suffix; // lu en 010$d de la notice $price = $prix[0]; $exemplaires = array(); for ($i = 0; $i < count($info_996_9); $i++) { foreach ($info_996_9[$i] as $value) { if (preg_match("/^(.*?):(.*)\$/", $value, $matches)) { $exemplaires[$i][$matches[1]] = $matches[2]; } } } // la zone 995 est répétable for ($nb_expl = 0; $nb_expl < sizeof($exemplaires); $nb_expl++) { /* RAZ expl */ $expl = array(); $data = array(); /*if(!$info_996[$nb_expl]['a'])$info_996[$nb_expl]['a'] ="Indéterminé"; $data['lender_libelle']=$info_996[$nb_expl]['a']; $book_lender_id=lender::import($data);*/ //Propriétaire if ($tmp = trim($exemplaires[$nb_expl]["lender_libelle"])) { $requete = "SELECT idlender FROM lenders WHERE lender_libelle LIKE '" . addslashes($tmp) . "'"; $res = mysql_query($requete); if (mysql_num_rows($res) && ($id = mysql_result($res, 0, 0))) { $local_book_lender_id = $id; } else { $local_book_lender_id = $book_lender_id; } } else { $local_book_lender_id = $book_lender_id; } /* préparation du tableau à passer à la méthode */ $cbarre = $exemplaires[$nb_expl]["expl_cb"]; if (!$cbarre) { $mon_msg = "ERREUR : J'ai un exemplaire sans code barres il ne sera donc pas créé"; affiche_mes_erreurs($mon_msg); continue; } $pb = 1; $num_login = 1; $expl['cb'] = $cbarre; while ($pb == 1) { $q = "SELECT expl_cb FROM exemplaires WHERE expl_cb='" . addslashes($expl['cb']) . "' LIMIT 1 "; $r = mysql_query($q); $nb = mysql_num_rows($r); if ($nb) { $expl['cb'] = $cbarre . "-" . $num_login; $num_login++; } else { $pb = 0; } } if ($cbarre != $expl['cb']) { $mon_msg = "ERREUR : l'exemplaire avec le code barres : " . $cbarre . " existe déjà donc il ne sera pas créé"; affiche_mes_erreurs($mon_msg); continue; } if ($bulletin_ex) { $expl['bulletin'] = $bulletin_ex; $expl['notice'] = 0; } else { $expl['notice'] = $notice_id; $expl['bulletin'] = 0; } //Support exemplaire $data_doc = array(); $data_doc['tdoc_libelle'] = $exemplaires[$nb_expl]["tdoc_libelle"]; //if (!$data_doc['tdoc_libelle']) $data_doc['tdoc_libelle'] = "Indéterminé" ; $requete = "SELECT idtyp_doc FROM docs_type WHERE tdoc_libelle LIKE '" . addslashes($data_doc['tdoc_libelle']) . "'"; $res = mysql_query($requete); if ($data_doc['tdoc_libelle'] && mysql_num_rows($res) && ($id = mysql_result($res, 0, 0))) { $expl['typdoc'] = $id; } else { $data_doc['duree_pret'] = 0; /* valeur par défaut */ $data_doc['tdoc_codage_import'] = $exemplaires[$nb_expl]["tdoc_codage_import"]; if ($tdoc_codage) { $data_doc['tdoc_owner'] = $local_book_lender_id; } else { $data_doc['tdoc_owner'] = 0; } $expl['typdoc'] = docs_type::import($data_doc); } $expl['cote'] = $exemplaires[$nb_expl]["expl_cote"]; //Section $data_doc = array(); $data_doc['section_libelle'] = $exemplaires[$nb_expl]["section_libelle"]; $requete = "SELECT idsection FROM docs_section WHERE section_libelle LIKE '" . addslashes($data_doc['section_libelle']) . "'"; $res = mysql_query($requete); if ($data_doc['section_libelle'] && mysql_num_rows($res) && ($id = mysql_result($res, 0, 0))) { $expl['section'] = $id; } else { $data_doc['sdoc_codage_import'] = $exemplaires[$nb_expl]["sdoc_codage_import"]; if ($sdoc_codage) { $data_doc['sdoc_owner'] = $local_book_lender_id; } else { $data_doc['sdoc_owner'] = 0; } $expl['section'] = docs_section::import($data_doc); } //Statut $data_doc = array(); $data_doc['statut_libelle'] = $exemplaires[$nb_expl]["statut_libelle"]; $requete = "SELECT idstatut FROM docs_statut WHERE statut_libelle LIKE '" . addslashes($data_doc['statut_libelle']) . "'"; $res = mysql_query($requete); if ($data_doc['statut_libelle'] && mysql_num_rows($res) && ($id = mysql_result($res, 0, 0))) { $expl['statut'] = $id; } elseif ($exemplaires[$nb_expl]["statusdoc_codage_import"]) { $data_doc['pret_flag'] = 1; $data_doc['statusdoc_codage_import'] = $exemplaires[$nb_expl]["statusdoc_codage_import"]; if ($sdoc_codage) { $data_doc['statusdoc_owner'] = $local_book_lender_id; } else { $data_doc['statusdoc_owner'] = 0; } $expl['statut'] = docs_statut::import($data_doc); } else { $expl['statut'] = $book_statut_id; } //Localisation $requete = "SELECT idlocation FROM docs_location WHERE location_libelle LIKE '" . addslashes($exemplaires[$nb_expl]["location_libelle"]) . "'"; $res = mysql_query($requete); if (mysql_num_rows($res) && ($id = mysql_result($res, 0, 0))) { $expl['location'] = $id; } else { $expl['location'] = $book_location_id; } //Code stat $data_doc = array(); $data_doc['codestat_libelle'] = $exemplaires[$nb_expl]["codestat_libelle"]; $requete = "SELECT idcode FROM docs_codestat WHERE codestat_libelle LIKE '" . addslashes($data_doc['codestat_libelle']) . "'"; $res = mysql_query($requete); if ($data_doc['codestat_libelle'] && mysql_num_rows($res) && ($id = mysql_result($res, 0, 0))) { $expl['codestat'] = $id; } else { $data_doc['statisdoc_codage_import'] = $exemplaires[$nb_expl]["statisdoc_codage_import"]; if ($statisdoc_codage) { $data_doc['statisdoc_owner'] = $local_book_lender_id; } else { $data_doc['statisdoc_owner'] = 0; } $expl['codestat'] = docs_codestat::import($data_doc); } $expl['creation'] = $exemplaires[$nb_expl]["create_date"]; $expl['note'] = $exemplaires[$nb_expl]["expl_note"]; $expl['comment'] = $exemplaires[$nb_expl]["expl_comment"]; $expl['prix'] = $exemplaires[$nb_expl]["expl_prix"]; $expl['expl_owner'] = $local_book_lender_id; $expl['cote_mandatory'] = $cote_mandatory; $expl['date_depot'] = $exemplaires[$nb_expl]["date_depot"]; $expl['date_retour'] = $exemplaires[$nb_expl]["date_retour"]; // quoi_faire $expl['quoi_faire'] = 2; $expl_id = exemplaire::import($expl); if ($expl_id == 0) { $nb_expl_ignores++; } else { //Champ perso d'exemplaire //echo "Passe ici<br>"; foreach ($info_999 as $key => $value) { if ($value["f"] == $cbarre) { //Je suis bien sur un cp de cet exemplaire if (!renseigne_cp($value, $expl_id, "expl")) { $mon_msg = "La valeur : " . $value["a"] . " n'a pas été reprise dans le champ personnalisé : " . $value["n"] . " car le champ n'existe pas"; affiche_mes_erreurs($mon_msg); } else { unset($info_999[$key]); } } } } } // fin for }