예제 #1
0
function list_ed($cb, $empr_list, $nav_bar)
{
    global $ed_list_tmpl;
    $ed_list_tmpl = str_replace("!!cle!!", $cb, $ed_list_tmpl);
    $ed_list_tmpl = str_replace("!!list!!", $empr_list, $ed_list_tmpl);
    $ed_list_tmpl = str_replace("!!nav_bar!!", $nav_bar, $ed_list_tmpl);
    editeur::search_form();
    print pmb_bidi($ed_list_tmpl);
}
예제 #2
0
 static function check_if_exists($data)
 {
     global $dbh;
     //si on a pas d'id, on peut avoir les infos de l'éditeur
     if (!$data['parent']) {
         if ($data['publisher']) {
             //on les a, on crée l'éditeur
             $data['parent'] = editeur::check_if_exists($data['publisher']);
         }
     }
     // préparation de la requête
     $key0 = addslashes($data['name']);
     $key1 = $data['parent'];
     $key2 = addslashes($data['issn']);
     /* vérification que la collection existe */
     $query = "SELECT collection_id FROM collections WHERE collection_name='{$key0}' AND collection_parent='{$key1}' LIMIT 1 ";
     $result = @pmb_mysql_query($query, $dbh);
     if (!$result) {
         die("can't SELECT collections " . $query);
     }
     $collection = pmb_mysql_fetch_object($result);
     /* la collection existe, on retourne l'ID */
     if ($collection->collection_id) {
         return $collection->collection_id;
     }
     return 0;
 }
예제 #3
0
function import_new_notice_suite()
{
    global $dbh, $q;
    global $notice_id, $bulletin_ex;
    global $thesaurus_defaut;
    global $info_503, $info_503_j, $info_503_d, $info_305;
    global $info_999, $info_001, $info_994_x, $info_994_y, $info_901, $editor, $info_905, $info_906, $editor;
    $bulletin_ex = 0;
    global $info_600_a, $info_600_j, $info_600_x, $info_600_y, $info_600_z, $info_600_f, $info_600_b, $info_600_3;
    global $info_601_a, $info_601_j, $info_601_x, $info_601_y, $info_601_z, $info_601_3;
    global $info_606_a, $info_606_j, $info_606_x, $info_606_y, $info_606_z, $info_606_3;
    global $info_607_a, $info_607_j, $info_607_x, $info_607_y, $info_607_z, $info_607_3;
    global $info_608_a, $info_608_j, $info_608_x, $info_608_y, $info_608_z, $info_608_3;
    //Indexation
    global $pmb_keyword_sep;
    if (!$pmb_keyword_sep) {
        $pmb_keyword_sep = " ; ";
    }
    $champ_rameau = "";
    for ($a = 0; $a < sizeof($info_600_a); $a++) {
        $libelle_final = "";
        $libelle_j = "";
        for ($j = 0; $j < sizeof($info_600_j[$a]); $j++) {
            if (!$libelle_j) {
                $libelle_j .= trim($info_600_j[$a][$j]);
            } else {
                $libelle_j .= " ** " . trim($info_600_j[$a][$j]);
            }
        }
        if ($info_600_b[$a][0]) {
            $libelle_final .= " " . trim($info_600_b[$a][0]);
        }
        if ($info_600_f[$a][0]) {
            $libelle_final .= " (" . trim($info_600_f[$a][0]) . ")";
        }
        if (!$libelle_j) {
            $libelle_final = trim($info_600_a[$a][0]) . $libelle_final;
        } else {
            $libelle_final = trim($info_600_a[$a][0]) . $libelle_final . " ** " . $libelle_j;
        }
        if (!$libelle_final) {
            break;
        }
        for ($j = 0; $j < sizeof($info_600_x[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_600_x[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_600_y[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_600_y[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_600_z[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_600_z[$a][$j]);
        }
        //if($info_600_3[$a][0])$libelle_final.=" @@3 ".trim($info_600_3[$a][0]);
        if ($champ_rameau) {
            $champ_rameau .= $pmb_keyword_sep;
        }
        $champ_rameau .= $libelle_final;
    }
    for ($a = 0; $a < sizeof($info_601_a); $a++) {
        $libelle_final = "";
        $libelle_j = "";
        for ($j = 0; $j < sizeof($info_601_j[$a]); $j++) {
            if (!$libelle_j) {
                $libelle_j .= trim($info_601_j[$a][$j]);
            } else {
                $libelle_j .= " ** " . trim($info_601_j[$a][$j]);
            }
        }
        if (!$libelle_j) {
            $libelle_final = trim($info_601_a[$a][0]);
        } else {
            $libelle_final = trim($info_601_a[$a][0]) . " ** " . $libelle_j;
        }
        if (!$libelle_final) {
            break;
        }
        for ($j = 0; $j < sizeof($info_601_x[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_601_x[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_601_y[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_601_y[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_601_z[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_601_z[$a][$j]);
        }
        //if($info_601_3[$a][0])$libelle_final.=" @@3 ".trim($info_601_3[$a][0]);
        if ($champ_rameau) {
            $champ_rameau .= $pmb_keyword_sep;
        }
        $champ_rameau .= $libelle_final;
    }
    for ($a = 0; $a < sizeof($info_606_a); $a++) {
        $libelle_final = "";
        $libelle_j = "";
        for ($j = 0; $j < sizeof($info_606_j[$a]); $j++) {
            if (!$libelle_j) {
                $libelle_j .= trim($info_606_j[$a][$j]);
            } else {
                $libelle_j .= " ** " . trim($info_606_j[$a][$j]);
            }
        }
        if (!$libelle_j) {
            $libelle_final = trim($info_606_a[$a][0]);
        } else {
            $libelle_final = trim($info_606_a[$a][0]) . " ** " . $libelle_j;
        }
        if (!$libelle_final) {
            break;
        }
        for ($j = 0; $j < sizeof($info_606_x[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_606_x[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_606_y[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_606_y[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_606_z[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_606_z[$a][$j]);
        }
        //if($info_606_3[$a][0])$libelle_final.=" @@3 ".trim($info_606_3[$a][0]);
        if ($champ_rameau) {
            $champ_rameau .= $pmb_keyword_sep;
        }
        $champ_rameau .= $libelle_final;
    }
    for ($a = 0; $a < sizeof($info_607_a); $a++) {
        $libelle_final = "";
        $libelle_j = "";
        for ($j = 0; $j < sizeof($info_607_j[$a]); $j++) {
            if (!$libelle_j) {
                $libelle_j .= trim($info_607_j[$a][$j]);
            } else {
                $libelle_j .= " ** " . trim($info_607_j[$a][$j]);
            }
        }
        if (!$libelle_j) {
            $libelle_final = trim($info_607_a[$a][0]);
        } else {
            $libelle_final = trim($info_607_a[$a][0]) . " ** " . $libelle_j;
        }
        if (!$libelle_final) {
            break;
        }
        for ($j = 0; $j < sizeof($info_607_x[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_607_x[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_607_y[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_607_y[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_607_z[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_607_z[$a][$j]);
        }
        //if($info_607_3[$a][0])$libelle_final.=" @@3 ".trim($info_607_3[$a][0]);
        if ($champ_rameau) {
            $champ_rameau .= $pmb_keyword_sep;
        }
        $champ_rameau .= $libelle_final;
    }
    for ($a = 0; $a < sizeof($info_608_a); $a++) {
        $libelle_final = "";
        $libelle_j = "";
        for ($j = 0; $j < sizeof($info_608_j[$a]); $j++) {
            if (!$libelle_j) {
                $libelle_j .= trim($info_608_j[$a][$j]);
            } else {
                $libelle_j .= " ** " . trim($info_608_j[$a][$j]);
            }
        }
        if (!$libelle_j) {
            $libelle_final = trim($info_608_a[$a][0]);
        } else {
            $libelle_final = trim($info_608_a[$a][0]) . " ** " . $libelle_j;
        }
        if (!$libelle_final) {
            break;
        }
        for ($j = 0; $j < sizeof($info_608_x[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_608_x[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_608_y[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_608_y[$a][$j]);
        }
        for ($j = 0; $j < sizeof($info_608_z[$a]); $j++) {
            $libelle_final .= " -- " . trim($info_608_z[$a][$j]);
        }
        //if($info_608_3[$a][0])$libelle_final.=" @@3 ".trim($info_608_3[$a][0]);
        if ($champ_rameau) {
            $champ_rameau .= $pmb_keyword_sep;
        }
        $champ_rameau .= $libelle_final;
    }
    //A mettre en note
    if (count($info_305)) {
        $n_gen = implode("\n", $info_305);
        $requete = "update notices set n_gen=IF(TRIM(n_gen) != '', CONCAT(n_gen,'\n','" . addslashes($n_gen) . "'),'" . addslashes($n_gen) . "') WHERE notice_id='" . $notice_id . "' ";
        if (!pmb_mysql_query($requete)) {
            echo "Requete echoué : " . $requete . "<br>";
        }
    }
    if ($champ_rameau) {
        //echo "valeur : ".$champ_rameau."<br>";
        $requete = "SELECT index_l FROM notices WHERE notice_id='" . $notice_id . "' ";
        $res = pmb_mysql_query($requete);
        if (pmb_mysql_num_rows($res)) {
            $ind = pmb_mysql_result($res, 0, 0);
            if ($ind) {
                $requete = "UPDATE notices SET index_l='" . addslashes(trim($ind . $pmb_keyword_sep . $champ_rameau)) . "' WHERE notice_id='" . $notice_id . "'";
                if (!pmb_mysql_query($requete)) {
                    echo "Requete echoué : " . $requete . "<br>";
                }
            } else {
                $requete = "UPDATE notices SET index_l='" . addslashes(trim($champ_rameau)) . "' WHERE notice_id='" . $notice_id . "'";
                if (!pmb_mysql_query($requete)) {
                    echo "Requete echoué : " . $requete . "<br>";
                }
            }
        } else {
            $requete = "UPDATE notices SET index_l='" . addslashes(trim($champ_rameau)) . "' WHERE notice_id='" . $notice_id . "'";
            if (!pmb_mysql_query($requete)) {
                echo "Requete echoué : " . $requete . "<br>";
            }
        }
    }
    //echo "Valeur <br>";
    //echo $champ_rameau."<br>";
    /*$ligne=explode("@@@",$champ_rameau);
    	for($i=0;$i<count($ligne);$i++){
    		$data=explode("@@3",$ligne[$i]);
    		if(trim($data[0])){
    			$descripteur=trim($data[0]);
    			$thes = new thesaurus($thesaurus_defaut);
    			$id_categorie = categories::searchLibelle(addslashes($descripteur),$thesaurus_defaut,'fr_FR',$thes->num_noeud_racine);
    			if(!$id_categorie){
    				$n=new noeuds();
    				$n->num_parent=$thes->num_noeud_racine;
    				$n->num_thesaurus=$thesaurus_defaut;
    				$n->autorite = trim($data[1]);
    				$n->save();
    				$id_n=$n->id_noeud;
    				$c=new categories($id_n, 'fr_FR');
    				$c->libelle_categorie=$descripteur;
    				$c->index_categorie=" ".strip_empty_words($descripteur)." ";
    				$c->save();
    				$id_categorie = categories::searchLibelle(addslashes($descripteur),$thesaurus_defaut,'fr_FR',$thes->num_noeud_racine);
    			}
    			$requete = "INSERT INTO notices_categories (notcateg_notice,num_noeud,ordre_categorie) VALUES($notice_id,$id_categorie,$i)"; // Je fait le lien entre ma notice et la catégorie
    			pmb_mysql_query($requete);
    		}
    	}*/
    //Champs perso
    if (count($editor) > 2) {
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='autre_editeur'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            for ($i = 2; $i < count($editor); $i++) {
                $ed['name'] = clean_string($editor[$i]['c']);
                $ed['ville'] = clean_string($editor[$i]['a']);
                $ed1_id = editeur::import($ed);
                $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values('" . $id_champ . "','" . $notice_id . "','" . $ed1_id . "')";
                if (!pmb_mysql_query($requete)) {
                    echo "requete echoué : " . $requete . "<br>";
                }
            }
        }
    }
    //Ancien num
    if ($info_001[0]) {
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='ancien_num'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes($info_001[0]) . "')";
            if (!pmb_mysql_query($requete)) {
                echo "requete echoué : " . $requete . "<br>";
            }
        }
    }
    //Titre de forme
    $tab_non_rep = array();
    if (count($info_503)) {
        for ($i = 0; $i < count($info_503); $i++) {
            if ($info_503[$i]["a"] && !$tab_non_rep["titre"]) {
                $rqt = "SELECT idchamp FROM notices_custom WHERE name='t_d_f_titre'";
                $res = pmb_mysql_query($rqt);
                if (pmb_mysql_num_rows($res) > 0) {
                    $id_champ = pmb_mysql_result($res, 0);
                    $requete = "select notices_custom_list_value from notices_custom_lists where notices_custom_list_lib='" . addslashes(trim($info_503[$i]["a"])) . "' and notices_custom_champ='" . $id_champ . "'";
                    $resultat = pmb_mysql_query($requete);
                    if (pmb_mysql_num_rows($resultat)) {
                        $value = pmb_mysql_result($resultat, 0, 0);
                    } else {
                        $requete = "select max(notices_custom_list_value*1) from notices_custom_lists where notices_custom_champ='" . $id_champ . "'";
                        $resultat = pmb_mysql_query($requete);
                        $max = @pmb_mysql_result($resultat, 0, 0);
                        $n = $max + 1;
                        $requete = "insert into notices_custom_lists (notices_custom_champ,notices_custom_list_value,notices_custom_list_lib) values('" . $id_champ . "',{$n},'" . addslashes(trim($info_503[$i]["a"])) . "')";
                        pmb_mysql_query($requete);
                        $value = $n;
                    }
                    $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_integer) values('" . $id_champ . "',{$notice_id},{$value})";
                    $tab_non_rep["titre"] = 1;
                    if (!pmb_mysql_query($requete)) {
                        echo "requete echoué : " . $requete . "<br>";
                    }
                }
            }
            if ($info_503[$i]["e"] && !$tab_non_rep["nom"]) {
                $rqt = "SELECT idchamp FROM notices_custom WHERE name='t_d_f_nom'";
                $res = pmb_mysql_query($rqt);
                if (pmb_mysql_num_rows($res) > 0) {
                    $id_champ = pmb_mysql_result($res, 0);
                    $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes(trim($info_503[$i]["e"])) . "')";
                    $tab_non_rep["nom"] = 1;
                    if (!pmb_mysql_query($requete)) {
                        echo "requete echoué : " . $requete . "<br>";
                    }
                }
            }
            if ($info_503[$i]["f"] && !$tab_non_rep["prenom"]) {
                $rqt = "SELECT idchamp FROM notices_custom WHERE name='t_d_f_prenom'";
                $res = pmb_mysql_query($rqt);
                if (pmb_mysql_num_rows($res) > 0) {
                    $id_champ = pmb_mysql_result($res, 0);
                    $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes(trim($info_503[$i]["f"])) . "')";
                    $tab_non_rep["prenom"] = 1;
                    if (!pmb_mysql_query($requete)) {
                        echo "requete echoué : " . $requete . "<br>";
                    }
                }
            }
            if ($info_503[$i]["h"] && !$tab_non_rep["qual"]) {
                $rqt = "SELECT idchamp FROM notices_custom WHERE name='t_d_f_qualificatif'";
                $res = pmb_mysql_query($rqt);
                if (pmb_mysql_num_rows($res) > 0) {
                    $id_champ = pmb_mysql_result($res, 0);
                    $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes(trim($info_503[$i]["h"])) . "')";
                    $tab_non_rep["qual"] = 1;
                    if (!pmb_mysql_query($requete)) {
                        echo "requete echoué : " . $requete . "<br>";
                    }
                }
            }
            if (count($info_503_j[$i]) && !$tab_non_rep["date"]) {
                $rqt = "SELECT idchamp FROM notices_custom WHERE name='t_d_f_date'";
                $res = pmb_mysql_query($rqt);
                if (pmb_mysql_num_rows($res) > 0) {
                    $date = "";
                    for ($p = 0; $p < count($info_503_j[$i]); $p++) {
                        if (trim($info_503_j[$i][$p])) {
                            $jm = trim($info_503_d[$i][$p]);
                            if ($jm) {
                                //Si j'ai aussi le mois et le jour
                                if (strlen($jm) == 4) {
                                    if ($date) {
                                        $date .= " - " . substr($jm, 2, 2) . "/" . substr($jm, 0, 2) . "/" . trim($info_503_j[$i][$p]);
                                    } else {
                                        $date = substr($jm, 2, 2) . "/" . substr($jm, 0, 2) . "/" . trim($info_503_j[$i][$p]);
                                    }
                                } else {
                                    if ($date) {
                                        $date .= " - " . $jm . " " . trim($info_503_j[$i][$p]);
                                    } else {
                                        $date = $jm . " " . trim($info_503_j[$i][$p]);
                                    }
                                }
                            } else {
                                if ($date) {
                                    $date .= " - " . trim($info_503_j[$i][$p]);
                                } else {
                                    $date = trim($info_503_j[$i][$p]);
                                }
                            }
                        }
                    }
                    if ($date) {
                        $id_champ = pmb_mysql_result($res, 0);
                        $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes($date) . "')";
                        $tab_non_rep["date"] = 1;
                        if (!pmb_mysql_query($requete)) {
                            echo "requete echoué : " . $requete . "<br>";
                        }
                    }
                }
            }
            $lieu_etabl = "";
            if (trim($info_503[$i]["m"]) and trim($info_503[$i]["n"])) {
                $lieu_etabl = trim($info_503[$i]["m"]) . ", " . trim($info_503[$i]["n"]);
            } elseif (trim($info_503[$i]["m"])) {
                $lieu_etabl = trim($info_503[$i]["m"]);
            } elseif (trim($info_503[$i]["m"]) and trim($info_503[$i]["n"])) {
                $lieu_etabl = trim($info_503[$i]["n"]);
            }
            if ($lieu_etabl) {
                $rqt = "SELECT idchamp FROM notices_custom WHERE name='t_d_f_lieu_etabl'";
                $res = pmb_mysql_query($rqt);
                if (pmb_mysql_num_rows($res) > 0) {
                    $id_champ = pmb_mysql_result($res, 0);
                    $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes($lieu_etabl) . "')";
                    if (!pmb_mysql_query($requete)) {
                        echo "requete echoué : " . $requete . "<br>";
                    }
                }
            }
        }
    }
    //Autre isbn
    if (count($info_901)) {
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='autre_isbn'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            for ($i = 0; $i < count($info_901); $i++) {
                $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes($info_901[$i]) . "')";
                if (!pmb_mysql_query($requete)) {
                    echo "requete echoué : " . $requete . "<br>";
                }
            }
        }
    }
    //Anomalie
    if ($info_999[0]) {
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='pb_fiche'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes($info_999[0]) . "')";
            if (!pmb_mysql_query($requete)) {
                echo "requete echoué : " . $requete . "<br>";
            }
        }
    }
    //Donnée codées monographie
    if ($info_905[0]) {
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='dc_mono'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes($info_905[0]) . "')";
            if (!pmb_mysql_query($requete)) {
                echo "requete echoué : " . $requete . "<br>";
            }
        }
    }
    //Donnée codées description physique
    if ($info_906[0]) {
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='dc_phys'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_small_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes($info_906[0]) . "')";
            if (!pmb_mysql_query($requete)) {
                echo "requete echoué : " . $requete . "<br>";
            }
        }
    }
    //oeuvre du musée reproduite
    if (count($info_994_x)) {
        $val = implode(" ; ", $info_994_x);
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='oeuvre_reproduite'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes(trim($val)) . "')";
            if (!pmb_mysql_query($requete)) {
                echo "requete echoué : " . $requete . "<br>";
            }
        }
    }
    //oeuvre du musée citéé
    if (count($info_994_y)) {
        $val = implode(" ; ", $info_994_y);
        $rqt = "SELECT idchamp FROM notices_custom WHERE name='oeuvre_citee'";
        $res = pmb_mysql_query($rqt);
        if (pmb_mysql_num_rows($res) > 0) {
            $id_champ = pmb_mysql_result($res, 0);
            $requete = "insert into notices_custom_values (notices_custom_champ,notices_custom_origine,notices_custom_text) values('" . $id_champ . "','" . $notice_id . "','" . addslashes(trim($val)) . "')";
            if (!pmb_mysql_query($requete)) {
                echo "requete echoué : " . $requete . "<br>";
            }
        }
    }
}
예제 #4
0
 function update_in_database($id_notice = 0)
 {
     global $dbh;
     global $pmb_synchro_rdf;
     $new_notice = 2;
     $notice_retour = $id_notice;
     if (!$id_notice) {
         $retour = array(2, 0);
         return $retour;
     }
     //synchro_rdf
     if ($pmb_synchro_rdf) {
         $synchro_rdf = new synchro_rdf();
         $synchro_rdf->delRdf($notice_retour, 0);
     }
     // traitement des titres uniformes
     global $pmb_use_uniform_title;
     if ($pmb_use_uniform_title) {
         if (count($this->titres_uniformes)) {
             $ntu = new tu_notice($id_notice);
             $ntu->update($this->titres_uniformes);
         }
     }
     for ($i = 0; $i < 2; $i++) {
         if ($this->editors[$i]['id']) {
             $editor_ids[$i] = $this->editors[$i]['id'];
         } else {
             $editor_ids[$i] = editeur::import($this->editors[$i]);
         }
     }
     if ($this->collection["id"]) {
         $collection_id = $this->collection["id"];
     } else {
         $this->collection['parent'] = $editor_ids[0];
         $collection_id = collection::import($this->collection);
     }
     if ($this->subcollection["id"]) {
         $subcollection_id = $this->subcollection["id"];
     } else {
         $this->subcollection['coll_parent'] = $collection_id;
         $subcollection_id = subcollection::import($this->subcollection);
         $serie_id = serie::import(stripslashes($this->serie));
     }
     /* traitement de Dewey */
     if (!$this->internal_index) {
         if (!$this->dewey["new_comment"]) {
             $this->dewey["new_comment"] = "";
         }
         if (!$this->dewey["new_pclass"]) {
             $this->dewey["new_pclass"] = "";
         }
         $this->internal_index = indexint::import(clean_string($this->dewey[0]), clean_string($this->dewey["new_comment"]), clean_string($this->dewey["new_pclass"]));
     }
     $date_parution_z3950 = notice::get_date_parution($this->year);
     /* Origine de la notice */
     $this->orinot_id = origine_notice::import($this->origine_notice);
     if ($this->orinot_id == 0) {
         $this->orinot_id = 1;
     }
     $sql_ins = "update notices set\n\t\t\ttypdoc           \t='" . $this->document_type . "',\n\t\t\tcode        \t        ='" . $this->isbn . "',\t            \n\t\t\ttit1                    ='" . $this->titles[0] . "',             \n\t\t\ttit2                    ='" . $this->titles[1] . "',             \n\t\t\ttit3                    ='" . $this->titles[2] . "',             \n\t\t\ttit4                    ='" . $this->titles[3] . "',             \n\t\t\ttparent_id              ='" . $serie_id . "',                    \n\t\t\ttnvol                   ='" . $this->nbr_in_serie . "',          \n\t\t\ted1_id                  =" . $editor_ids[0] . " ,                \n\t\t\ted2_id                  =" . $editor_ids[1] . " ,                \n\t\t\tyear                    ='" . $this->year . "',                  \n\t\t\tnpages                  ='" . $this->page_nbr . "',              \n\t\t\till                     ='" . $this->illustration . "',          \n\t\t\tsize                    ='" . $this->size . "',                  \n\t\t\taccomp                  ='" . $this->accompagnement . "',        \n\t\t\tcoll_id                 =" . $collection_id . " ,                \n\t\t\tsubcoll_id              =" . $subcollection_id . " ,             \n\t\t\tnocoll                  ='" . $this->nbr_in_collection . "',     \n\t\t\tmention_edition         ='" . $this->mention_edition . "',       \n\t\t\tn_gen                   ='" . $this->general_note . "',          \n\t\t\tn_contenu               ='" . $this->content_note . "',          \n\t\t\tn_resume                ='" . $this->abstract_note . "',         \n\t\t\tindexint                ='" . $this->internal_index . "',          \n\t\t\tstatut\t\t\t\t\t='" . $this->statut . "',\n\t\t\tcommentaire_gestion\t\t='" . $this->commentaire_gestion . "',\n\t\t\tindexation_lang\t\t\t='" . $this->indexation_lang . "',\n\t\t\tthumbnail_url\t\t\t='" . $this->thumbnail_url . "',\n\t\t\tindex_l                 ='" . clean_tags($this->free_index) . "',                \n\t\t\tniveau_biblio           ='" . $this->bibliographic_level . "',   \n\t\t\tniveau_hierar           ='" . $this->hierarchic_level . "',      \n\t\t\tlien                    ='" . $this->link_url . "',              \n\t\t\teformat                 ='" . $this->link_format . "',           \n\t\t\torigine_catalogage      ='" . $this->orinot_id . "',             \n\t\t\tprix                    ='" . $this->prix . "',\n\t\t\tdate_parution \t\t\t='" . $date_parution_z3950 . "'             \n\t\t\twhere notice_id='{$id_notice}' ";
     //echo "<pre>";
     //print_r($this->aut_array);
     //echo "</pre>";
     //echo $sql_ins."<br />";
     //echo "<pre>";
     //print_r($this->categories);
     //echo "</pre>";
     //exit;
     $sql_result_ins = pmb_mysql_query($sql_ins) or die("Couldn't update notices : " . $sql_ins);
     $notice_retour = $id_notice;
     audit::insert_modif(AUDIT_NOTICE, $id_notice);
     // purge de la base des responsabilités de la notice intégrée...
     if ($notice_retour) {
         $rqt_del = "delete from responsability where responsability_notice='{$notice_retour}'";
         $sql_result_del = pmb_mysql_query($rqt_del) or die("Couldn't purge table responsability : " . $rqt_del);
     }
     $rqt_ins = "insert into responsability (responsability_author, responsability_notice, responsability_fonction, responsability_type, responsability_ordre) VALUES ";
     for ($i = 0; $i < sizeof($this->aut_array); $i++) {
         $aut['id'] = clean_string($this->aut_array[$i]['id']);
         $aut['name'] = clean_string($this->aut_array[$i]['entree']);
         $aut['rejete'] = clean_string($this->aut_array[$i]['rejete']);
         $aut['date'] = clean_string($this->aut_array[$i]['date']);
         $aut['type'] = $this->aut_array[$i]['type_auteur'];
         $aut['subdivision'] = clean_string($this->aut_array[$i]['subdivision']);
         $aut['numero'] = clean_string($this->aut_array[$i]['numero']);
         $aut['lieu'] = clean_string($this->aut_array[$i]['lieu']);
         $aut['ville'] = clean_string($this->aut_array[$i]['ville']);
         $aut['pays'] = clean_string($this->aut_array[$i]['pays']);
         $aut['web'] = clean_string($this->aut_array[$i]['web']);
         $aut['author_comment'] = clean_string($this->aut_array[$i]['author_comment']);
         $aut['authority_number'] = clean_string($this->aut_array[$i]['authority_number']);
         /* Origine de l'autorité : on reprend les infos d'origine de la notice pour les attribuées aux origines des autorités */
         $id_origine_auth = 0;
         $id_origine_auth = origin_authorities::import($this->origine_notice);
         if ($id_origine_auth == 0) {
             $id_origine_auth = 1;
         }
         // import de l'autorité auteur si elle n'existe pas et conservation des infos sur l'origine de l'autorité
         if ($aut['authority_number'] != '' && $id_origine_auth) {
             $this->aut_array[$i]["id"] = $this->insert_authority_infos($aut['authority_number'], "author", $id_origine_auth, $aut);
         }
         if (!$this->aut_array[$i]["id"]) {
             $this->aut_array[$i]["id"] = auteur::import($aut);
         }
         if ($this->aut_array[$i]["id"]) {
             $rqt = $rqt_ins . " (" . $this->aut_array[$i]["id"] . "," . $notice_retour . ",'" . $this->aut_array[$i]['fonction'] . "'," . $this->aut_array[$i]['responsabilite'] . "," . $i . ") ";
             $res_ins = pmb_mysql_query($rqt, $dbh);
         }
     }
     // traitement des categories
     if ($this->categorisation_type == "categorisation_auto") {
         traite_categories_enreg($notice_retour, $this->categories);
     } else {
         $rqt_del = "delete from notices_categories where notcateg_notice='{$notice_retour}' ";
         $res_del = @pmb_mysql_query($rqt_del, $dbh);
         $rqt_ins = "insert into notices_categories (notcateg_notice, num_noeud, ordre_categorie) VALUES ";
         $rqt_ins_values = array();
         foreach ($this->categories as $i => $category) {
             $id_categ = $category['categ_id'];
             if ($id_categ) {
                 $rqt_ins_values[] = " ('{$notice_retour}','{$id_categ}', {$i}) ";
             }
         }
         $rqt_ins .= implode(",", $rqt_ins_values);
         $res_ins = @pmb_mysql_query($rqt_ins, $dbh);
     }
     // traitement des langues
     // langues de la publication
     $rqt_del = "delete from notices_langues where num_notice='{$notice_retour}' ";
     $res_del = pmb_mysql_query($rqt_del, $dbh);
     if (is_array($this->language_code) && count($this->language_code)) {
         $rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES ";
         foreach ($this->language_code as $ordre_lang => $code_lang) {
             if ($code_lang) {
                 $rqt = $rqt_ins . " ('{$notice_retour}',0, '{$code_lang}', {$ordre_lang}) ";
                 $res_ins = @pmb_mysql_query($rqt, $dbh);
             }
         }
     }
     // langues originales
     if (is_array($this->original_language_code) && count($this->original_language_code)) {
         $rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES ";
         foreach ($this->original_language_code as $ordre_lang => $code_lang) {
             if ($code_lang) {
                 $rqt = $rqt_ins . " ('{$notice_retour}',1, '{$code_lang}', {$ordre_lang}) ";
                 $res_ins = @pmb_mysql_query($rqt, $dbh);
             }
         }
     }
     //Traitement des champs personnalisés (du formulaire !!!)
     $p_perso = new parametres_perso("notices");
     $nberrors = $p_perso->check_submited_fields();
     $p_perso->rec_fields_perso($notice_retour);
     //Traitement import perso
     global $notice_id, $notice_org, $notice_type_org;
     if (function_exists('z_recup_noticeunimarc_suite') && function_exists('recup_noticeunimarc_suite')) {
         //Suppression des champs persos
         $requete = "delete from notices_custom_values where notices_custom_origine=" . $notice_retour;
         @pmb_mysql_query($requete);
         $notice_id = $notice_retour;
         z_recup_noticeunimarc_suite($notice_org);
         z_import_new_notice_suite();
     }
     // Mise à jour des index de la notice
     notice::majNotices($notice_retour);
     // Mise à jour de la table notices_global_index
     notice::majNoticesGlobalIndex($notice_retour);
     // Mise à jour de la table notices_mots_global_index
     notice::majNoticesMotsGlobalIndex($notice_retour);
     //Documents numériques
     foreach ($this->doc_nums as $doc_num) {
         if (!$doc_num["a"]) {
             continue;
         }
         explnum_add_from_url($notice_retour, $this->bull_id, $doc_num["b"], $doc_num["a"], false, $this->source_id, $doc_num["f"], '', $doc_num["s"]);
     }
     //synchro_rdf
     if ($pmb_synchro_rdf) {
         $synchro_rdf->addRdf($notice_retour, 0);
     }
     $retour = array($new_notice, $notice_retour);
     return $retour;
 }
예제 #5
0
파일: editor.class.php 프로젝트: hogsim/PMB
 function update($value)
 {
     global $dbh;
     global $msg;
     global $include_path;
     global $pmb_synchro_rdf;
     global $thesaurus_concepts_active;
     if (!$value['name']) {
         return false;
     }
     // nettoyage des valeurs en entree
     $value[name] = clean_string($value[name]);
     $value[adr1] = clean_string($value[adr1]);
     $value[adr2] = clean_string($value[adr2]);
     $value[cp] = clean_string($value[cp]);
     $value[ville] = clean_string($value[ville]);
     $value[pays] = clean_string($value[pays]);
     $value[web] = clean_string($value[web]);
     // construction de la requete
     $requete = "SET ed_name='{$value['name']}', ";
     $requete .= "ed_adr1='{$value['adr1']}', ";
     $requete .= "ed_adr2='{$value['adr2']}', ";
     $requete .= "ed_cp='{$value['cp']}', ";
     $requete .= "ed_ville='{$value['ville']}', ";
     $requete .= "ed_pays='{$value['pays']}', ";
     $requete .= "ed_web='{$value['web']}', ";
     $requete .= "ed_comment='{$value['ed_comment']}', ";
     $requete .= "index_publisher=' " . strip_empty_chars($value[name] . " " . $value[ville] . " " . $value[pays]) . " '";
     if ($this->id) {
         // update
         $requete = 'UPDATE publishers ' . $requete;
         $requete .= ' WHERE ed_id=' . $this->id . ' LIMIT 1;';
         if (pmb_mysql_query($requete, $dbh)) {
             $aut_link = new aut_link(AUT_TABLE_PUBLISHERS, $this->id);
             $aut_link->save_form();
             $aut_pperso = new aut_pperso("publisher", $this->id);
             $aut_pperso->save_form();
             editeur::update_index($this->id);
             audit::insert_modif(AUDIT_PUBLISHER, $this->id);
             //mise à jour de l'éditeur dans la base rdf
             if ($pmb_synchro_rdf) {
                 $synchro_rdf = new synchro_rdf();
                 $synchro_rdf->updateAuthority($this->id, 'editeur');
             }
         } else {
             require_once "{$include_path}/user_error.inc.php";
             warning($msg[145], $msg[150]);
             return FALSE;
         }
     } else {
         // s'assurer que l'editeur n'existe pas deja
         // on teste sur le nom et la ville seulement. voir a l'usage si necessaire de tester plus
         if (editeur::check_if_exists($value)) {
             require_once "{$include_path}/user_error.inc.php";
             warning($msg[145], $msg[149] . " ({$value['name']}).");
             return FALSE;
         }
         $requete = 'INSERT INTO publishers ' . $requete . ';';
         if (pmb_mysql_query($requete, $dbh)) {
             $this->id = pmb_mysql_insert_id();
             $aut_link = new aut_link(AUT_TABLE_PUBLISHERS, $this->id);
             $aut_link->save_form();
             $aut_pperso = new aut_pperso("publisher", $this->id);
             $aut_pperso->save_form();
             audit::insert_creation(AUDIT_PUBLISHER, $this->id);
         } else {
             require_once "{$include_path}/user_error.inc.php";
             warning($msg[145], $msg[151]);
             return FALSE;
         }
     }
     if ($thesaurus_concepts_active == 1) {
         $index_concept = new index_concept($this->id, TYPE_PUBLISHER);
         $index_concept->save();
     }
     // Mise à jour des vedettes composées contenant cette autorité
     vedette_composee::update_vedettes_built_with_element($this->id, "publisher");
     return TRUE;
 }
예제 #6
0
if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) {
    die("no access");
}
require_once "{$class_path}/editor.class.php";
// la taille d'un paquet de notices
$lot = PUBLISHER_PAQUET_SIZE;
// defini dans ./params.inc.php
// taille de la jauge pour affichage
$jauge_size = GAUGE_SIZE;
// initialisation de la borne de départ
if (!isset($start)) {
    $start = 0;
}
$v_state = urldecode($v_state);
print "<br /><br /><h2 align='center'>" . htmlentities($msg["nettoyage_suppr_editeurs"], ENT_QUOTES, $charset) . "</h2>";
$requete = "SELECT DISTINCT ed_id FROM publishers LEFT JOIN notices n1 ON n1.ed1_id=ed_id LEFT JOIN notices n2 ON n2.ed2_id=ed_id LEFT JOIN collections ON ed_id=collection_parent WHERE n1.notice_id IS NULL AND  n2.notice_id IS NULL AND collection_id IS NULL";
$res = pmb_mysql_query($requete);
$affected = 0;
if ($affected = pmb_mysql_num_rows($res)) {
    while ($ligne = pmb_mysql_fetch_object($res)) {
        $editeur = new editeur($ligne->ed_id);
        $editeur->delete();
    }
}
$spec = $spec - CLEAN_PUBLISHERS;
$v_state .= "<br /><img src=../../images/d.gif hspace=3>" . htmlentities($msg["nettoyage_suppr_editeurs"], ENT_QUOTES, $charset) . " : ";
$v_state .= $affected . " " . htmlentities($msg["nettoyage_res_suppr_editeurs"], ENT_QUOTES, $charset);
$opt = pmb_mysql_query('OPTIMIZE TABLE publishers');
// mise à jour de l'affichage de la jauge
print "<table border='0' align='center' width='{$table_size}' cellpadding='0'><tr><td class='jauge'>\n  \t\t\t<img src='../../images/jauge.png' width='{$jauge_size}' height='16'></td></tr></table>\n \t\t\t<div align='center'>100%</div>";
print "\n\t<form class='form-{$current_module}' name='process_state' action='./clean.php' method='post'>\n\t\t<input type='hidden' name='v_state' value=\"" . urlencode($v_state) . "\">\n\t\t<input type='hidden' name='spec' value=\"{$spec}\">\n\t</form>\n\t<script type=\"text/javascript\"><!--\n\t\tdocument.forms['process_state'].submit();\n\t\t-->\n\t\t</script>";
예제 #7
0
function import_new_notice()
{
    global $dbh;
    global $notice_id;
    global $bulletin_ex;
    //Identifiant du bulletin
    $bulletin_ex = 0;
    global $id_unimarc;
    global $notices_crees;
    global $bulletins_crees;
    global $notices_a_creer;
    global $bulletins_a_creer;
    global $base_path;
    global $pmb_keyword_sep;
    global $link_generate;
    global $doc_type;
    global $hierarchic_level;
    global $bibliographic_level;
    global $isbn_OK;
    global $prix;
    global $prix_cd;
    global $cb;
    global $tit_200a;
    global $tit_200c;
    global $tit_200d;
    global $tit_200e;
    global $tit_200v;
    global $serie_200;
    global $editor;
    global $editeur_lieu;
    global $editeur_adr;
    global $editeur_nom;
    global $editeur_date;
    global $editeur_pays;
    global $editeur_pmbfields;
    global $no_edition;
    global $npages;
    global $ill;
    global $size;
    global $accomp;
    global $collection_225;
    global $n_contenu;
    global $n_resume;
    global $n_gen;
    global $EAN;
    global $collection_410;
    global $collection_411;
    global $tu_500;
    global $tu_500_r;
    global $tu_500_s;
    global $tu_500_j;
    global $serie;
    global $index_sujets;
    global $dewey;
    global $dewey_l;
    global $aut_700;
    global $aut_701;
    global $aut_702;
    global $aut_710;
    global $aut_711;
    global $aut_712;
    global $origine_notice;
    global $lien;
    global $eformat;
    global $analytique;
    global $statutnot;
    global $indicateur;
    global $add_explnum;
    global $info_686;
    global $authorities_notices;
    global $authorities_default_origin;
    $origin_authority = $authorities_default_origin;
    $add_explnum = FALSE;
    /* traitement des éditeurs */
    $coll_id = 0;
    $subcoll_id = 0;
    $serie_id = 0;
    $tnvol_ins = "";
    $ed1_id = 0;
    $ed2_id = 0;
    $year = "";
    $date_parution = "0000-00-00";
    //On récupère le tableau des notices créées à partir du fichier temporaire (rechargement d'iframe)
    if ($link_generate && !isset($notices_crees)) {
        $tabimport_id = file_get_contents("{$base_path}/temp/liste_id" . SESSid . ".txt");
        if ($tabimport_id) {
            $tabimport_id = unserialize($tabimport_id);
            $notices_crees = $tabimport_id['notices_existantes'];
            $notices_a_creer = $tabimport_id['notices_a_creer'];
            $bulletins_crees = $tabimport_id['bulletins_crees'];
            $bulletins_a_creer = $tabimport_id['bulletins_a_creer'];
        }
    }
    if (!is_array($notices_crees)) {
        $notices_crees = array();
    }
    //Pour le cas ou on est sur une notice (bidon) d'article juste pour les exemplaires de bulletin
    if ($bibliographic_level == "a" && $tit_200d[0] == "Article_expl_bulletin") {
        //On importe rien
        return;
    } elseif ($tit_200d[0] == "Article_expl_bulletin") {
        //Pour le cas ou on import sans les liens un fichier exporter avec les exemplaires et les liens
        $tit_200d[0] = "";
    }
    if ($bibliographic_level != "a" && $bibliographic_level != "b") {
        //Pour les articles et les bulletins on ne garde pas les informations suivantes
        $year = clean_string($editeur_date[0]);
        $date_parution = notice::get_date_parution($year);
        //traitement des éditeurs
        $editor = array();
        foreach ($editeur_nom as $key_nom1 => $nom1) {
            foreach ($nom1 as $key_nom2 => $nom2) {
                $mon_ed = array();
                $mon_ed["c"] = $nom2;
                if ($editeur_adr[$key_nom1][$key_nom2]) {
                    $mon_ed["b"] = $editeur_adr[$key_nom1][$key_nom2];
                }
                if ($editeur_lieu[$key_nom1][$key_nom2]) {
                    $mon_ed["a"] = $editeur_lieu[$key_nom1][$key_nom2];
                }
                if ($editeur_pays[$key_nom1][$key_nom2]) {
                    $mon_ed["z"] = $editeur_pays[$key_nom1][$key_nom2];
                }
                if ($editeur_pmbfields[$key_nom1][$key_nom2]) {
                    //Si j'ai ces informations c'est un export PMB donc je n'ai pas deux editeurs dans le même 210
                    foreach ($editeur_pmbfields[$key_nom1] as $val9) {
                        if (preg_match("/^(.+?):(.+)\$/", $val9, $matches)) {
                            $mon_ed[trim($matches[1])] = $matches[2];
                        }
                    }
                }
                $editor[] = $mon_ed;
            }
        }
        $ed = array();
        $ed['name'] = clean_string($editor[0]['c']);
        $ed['adr'] = clean_string($editor[0]['b']);
        if ($editor[0]['adr1']) {
            $ed['adr'] = clean_string($editor[0]['adr1']);
        }
        //Si cela vient de PMB dans $b j'ai un concat
        $ed['ville'] = clean_string($editor[0]['a']);
        $ed['adr2'] = clean_string($editor[0]['adr2']);
        $ed['cp'] = clean_string($editor[0]['cp']);
        $ed['pays'] = clean_string($editor[0]['z']);
        $ed['web'] = clean_string($editor[0]['web']);
        $ed['ed_comment'] = clean_string($editor[0]['comment']);
        $ed1_id = editeur::import($ed);
        $ed = array();
        $ed['name'] = clean_string($editor[1]['c']);
        $ed['adr'] = clean_string($editor[1]['b']);
        if ($editor[1]['adr1']) {
            $ed['adr'] = clean_string($editor[1]['adr1']);
        }
        //Si cela vient de PMB dans $b j'ai un concat
        $ed['ville'] = clean_string($editor[1]['a']);
        $ed['adr2'] = clean_string($editor[1]['adr2']);
        $ed['cp'] = clean_string($editor[1]['cp']);
        $ed['pays'] = clean_string($editor[1]['z']);
        $ed['web'] = clean_string($editor[1]['web']);
        $ed['ed_comment'] = clean_string($editor[1]['comment']);
        $ed2_id = editeur::import($ed);
        if ($bibliographic_level != "s") {
            //Pour les periodiques on ne garde pas les informations suivantes
            /* traitement des collections */
            $coll_name = "";
            $subcoll_name = "";
            $coll_issn = "";
            $subcoll_issn = "";
            $nocoll_ins = "";
            /* traitement de 225$a, si rien alors 410$t pour la collection */
            if ($collection_225[0]['a'] != "") {
                $coll_name = $collection_225[0]['a'];
                $coll_issn = $collection_225[0]['x'];
            } elseif ($collection_410[0]['t'] != "") {
                $coll_name = $collection_410[0]['t'];
                $coll_issn = $collection_410[0]['x'];
                $coll_aut_number = $collection_410[0]['3'];
            }
            /* traitement de 225$i, si rien alors 411$t pour la sous-collection */
            if ($collection_225[0]['i'] != "") {
                $subcoll_name = $collection_225[0]['i'];
                $subcoll_issn = $collection_225[1]['x'];
            } elseif ($collection_411[0]['t'] != "") {
                $subcoll_name = $collection_411[0]['t'];
                $subcoll_issn = $collection_411[0]['x'];
                $coll_aut_number = $collection_411[0]['3'];
            }
            /* gaffe au nocoll, en principe en 225$v selon FL  sinon en 410$v ou 411$v*/
            if ($collection_225[0]['v'] != "") {
                $nocoll_ins = $collection_225[0]['v'];
            } elseif ($collection_410[0]['v'] != "") {
                $nocoll_ins = $collection_410[0]['v'];
            } elseif ($collection_411[0]['v'] != "") {
                $nocoll_ins = $collection_411[0]['v'];
            } else {
                $nocoll_ins = "";
            }
            $collec['name'] = clean_string($coll_name);
            $collec['parent'] = $ed1_id;
            $collec['issn'] = clean_string($coll_issn);
            $collec['authority_number'] = $coll_aut_number;
            if ($collec['authority_number']) {
                $coll_id = keep_authority_infos($collec['authority_number'], "collection", $origin_authority, 0, $collec);
            } else {
                $coll_id = collection::import($collec);
            }
            /* sous collection */
            $subcollec['name'] = clean_string($subcoll_name);
            $subcollec['coll_parent'] = $coll_id;
            $subcollec['issn'] = clean_string($subcoll_issn);
            $subcollec['authority_number'] = $subcoll_aut_number;
            if ($subcollec['authority_number']) {
                $subcoll_id = keep_authority_infos($subcollec['authority_number'], "subcollection", $origin_authority, 0, $subcollec);
            } else {
                $subcoll_id = collection::import($subcollec);
            }
            $subcoll_id = subcollection::import($subcollec);
            /* traitement des séries */
            $serie_id = serie::import(clean_string($serie[0]['t']));
            $tnvol_ins = $serie[0]['v'];
            if (!$serie_id) {
                $serie_id = serie::import(clean_string($serie_200[0]['i']));
                $serie[0]['t'] = $serie_200[0]['i'];
                //$tnvol_ins=$serie_200[0]['h'];
            }
            if (!$tnvol_ins) {
                $tnvol_ins = $serie_200[0]['h'];
            }
        }
    }
    /* traitement de Dewey */
    $indexint_id = indexint::import(clean_string($dewey[0]), $dewey_l[0]);
    if (!$indexint_id and count($info_686)) {
        $indexint_id = indexint::import(clean_string($info_686[0]["a"]), $info_686[0]["l"], 99);
    }
    /* Traitement des notes */
    $n_resume_total = "";
    $n_gen_total = "";
    $n_contenu_total = "";
    if (!$n_resume) {
        $n_resume = array();
    }
    $n_resume_total = implode("\n", $n_resume);
    if (!$n_gen) {
        $n_gen = array();
    }
    $n_gen_total = implode("\n", $n_gen);
    if (!$n_contenu) {
        $n_contenu = array();
    }
    $n_contenu_total = implode("\n", $n_contenu);
    // ajout : les 464$a sont ajouté aux notes de contenu à déporter éventuellement dans func_bdp41 si besoin
    for ($i = 0; $i < count($analytique); $i++) {
        $ana = array();
        for ($j = 0; $j < count($analytique[$i]); $j++) {
            $ana[$analytique[$i][$j]["label"]][] = $analytique[$i][$j]["content"];
        }
        if (count($ana["a"]) == 1) {
            //Selon la norme le $a n'est pas répétable dans le même champ 4XX
            $n_contenu_total .= $ana["a"][0] . (count($ana["e"]) ? " ; " . implode(" ; ", $ana["e"]) : "") . (count($ana["f"]) ? " / " . implode(" / ", $ana["f"]) : "") . (count($ana["g"]) ? " / " . implode(" / ", $ana["g"]) : "") . "\n";
        } else {
            //Au cas où
            for ($j = 0; $j < count($ana["a"]); $j++) {
                $n_contenu_total .= $ana["a"][$j] . ($ana["e"][$j] ? " ; " . $ana["e"][$j] : "") . ($ana["f"][$j] ? " / " . $ana["f"][$j] : "") . ($ana["g"][$j] ? " / " . $ana["g"][$j] : "") . "\n";
            }
        }
    }
    // Préparation des titres
    $tit[0]['a'] = implode(" ; ", $tit_200a);
    if ($bibliographic_level != "a" && $bibliographic_level != "b" && $bibliographic_level != "s") {
        //Pour les articles et les bulletins on ne garde pas les informations suivantes
        $tit[0]['c'] = implode(" ; ", $tit_200c);
    } else {
        $tit[0]['c'] = "";
    }
    $tit[0]['d'] = implode(" ; ", $tit_200d);
    $tit[0]['e'] = implode(" ; ", $tit_200e);
    if (is_array($index_sujets)) {
        $index_l = implode(' ' . $pmb_keyword_sep . ' ', $index_sujets);
    } else {
        $index_l = $index_sujets;
    }
    // if (trim($n_resume_total)=="") $n_resume_total = $n_gen_total." ".$n_contenu_total ;
    /* Origine de la notice */
    $origine_not['nom'] = clean_string($origine_notice[0]['b']);
    $origine_not['pays'] = clean_string($origine_notice[0]['a']);
    $orinot_id = origine_notice::import($origine_not);
    if ($orinot_id == 0) {
        $orinot_id = 1;
    }
    if ($bibliographic_level != "a" && $bibliographic_level != "s") {
        //Pour les articles et les periodiques on ne garde pas les informations suivantes
        // prix
        $price = $prix[0];
        //Pour les CDs
        if (!$price) {
            $price = $prix_cd[0];
        }
        $illustration = implode(" : ", $ill);
        $taille = implode(" ; ", $size);
        $mat_accomp = implode(" + ", $accomp);
        if ($bibliographic_level != "b") {
            $mention_edit = implode(", ", $no_edition);
        } else {
            $mention_edit = "";
        }
    } else {
        $illustration = "";
        $taille = "";
        $mat_accomp = "";
    }
    if ($bibliographic_level != "s") {
        //Pour les periodiques on ne garde pas les informations suivantes
        $nbpages = implode(" - ", $npages);
    } else {
        $nbpages = "";
    }
    /* and at least, the insertion in notices table */
    $sql_ins = "insert into notices (\n\t\t\t\t\t\ttypdoc\t\t\t,\n\t\t\t\t\t\tcode        \t,\n\t\t\t\t\t\tstatut\t\t\t,\n\t\t                tit1            ,\n\t\t                tit2            ,\n\t\t                tit3            ,\n\t\t                tit4            ,\n\t\t                tparent_id      ,\n\t\t                tnvol           ,\n\t\t                ed1_id          ,\n\t\t                ed2_id          ,\n\t\t                year            ,\n\t\t                npages          ,\n\t\t                ill             ,\n\t\t                size            ,\n\t\t                accomp          ,\n\t\t                coll_id         ,\n\t\t                subcoll_id      ,\n\t\t                nocoll          ,\n\t\t                mention_edition\t,\n\t\t                n_gen           ,\n\t\t                n_contenu       ,\n\t\t                n_resume        ,\n\t\t                index_l,\n\t\t                indexint,\n\t\t                niveau_biblio,\n\t\t                niveau_hierar,\n\t\t                lien,\n\t\t                eformat,\n\t\t                origine_catalogage,\n\t\t                prix,\n\t\t\t\t\t\tcreate_date,\n\t\t\t\t\t\tdate_parution\n\t\t\t\t) values (\n\t\t\t\t\t\t'" . $doc_type . "',\t\n\t\t\t\t\t\t'" . addslashes($isbn_OK) . "',\t\n\t\t\t\t\t\t'" . $statutnot . "',\n\t\t                '" . addslashes(clean_string($tit[0]['a'])) . "',\n\t\t                '" . addslashes(clean_string($tit[0]['c'])) . "',\n\t\t                '" . addslashes(clean_string($tit[0]['d'])) . "',\n\t\t                '" . addslashes(clean_string($tit[0]['e'])) . "',\n\t\t                '" . $serie_id . "',\n\t\t                '" . addslashes($tnvol_ins) . "',\n\t\t                 " . $ed1_id . " ,\n\t\t                 " . $ed2_id . " ,\n\t\t                '" . addslashes($year) . "',\n\t\t                '" . addslashes($nbpages) . "',\n\t\t                '" . addslashes($illustration) . "',\n\t\t                '" . addslashes($taille) . "',\n\t\t                '" . addslashes($mat_accomp) . "',\n\t\t                 " . $coll_id . " ,\n\t\t                 " . $subcoll_id . " ,\n\t\t                '" . addslashes($nocoll_ins) . "',\n\t\t                '" . addslashes($mention_edit) . "',\n\t\t                '" . addslashes($n_gen_total) . "',\n\t\t             \t'" . addslashes($n_contenu_total) . "',\n\t\t             \t'" . addslashes($n_resume_total) . "',\n\t\t                '" . addslashes($index_l) . "',\n\t\t                '" . $indexint_id . "',\n\t\t                '" . $bibliographic_level . "',\n\t\t                '" . $hierarchic_level . "',\n\t\t                '" . addslashes($lien[0]) . "',\n\t\t                '" . addslashes($eformat[0]) . "',\n\t\t                '" . $orinot_id . "',\n\t\t                '" . addslashes($price) . "',\n\t\t\t\t\t\tsysdate(),\n\t\t\t\t\t\t'" . addslashes($date_parution) . "'\n\t\t\t\t\t\t)";
    mysql_query($sql_ins, $dbh) or die("Couldn't insert into notices ! = " . $sql_ins);
    $notice_id = mysql_insert_id($dbh);
    notice::majNotices($notice_id);
    audit::insert_creation(AUDIT_NOTICE, $notice_id);
    //calcul des droits d'accès s'ils sont activés
    calc_notice_acces_rights($notice_id);
    // on devait attendre que la notice soit intégrée pour faire l'association avec la notice..;
    if ($collec['authority_number']) {
        keep_authority_infos($collec['authority_number'], "scollection", $origin_authority, $notice_id, $collec);
    }
    if ($subcollec['authority_number']) {
        keep_authority_infos($subcollec['authority_number'], "subcollection", $origin_authority, $notice_id, $subcollec);
    }
    /* INSERT de la notice OK, on va traiter les auteurs
    		70# : personnal : type auteur 70                71# : collectivités : type auteur 71
    		1 seul en 700                                   idem pour les déclinaisons          
    		n en 701 n en 702
    		les 7#0 tombent en auteur principal : responsability_type = 0
    		les 7#1 tombent en autre auteur : responsability_type = 1
    		les 7#2 tombent en auteur secondaire : responsability_type = 2
    		*/
    $aut_array = array();
    /* on compte tout de suite le nbre d'enreg dans les répétables */
    $nb_repet_701 = sizeof($aut_701);
    $nb_repet_711 = sizeof($aut_711);
    $nb_repet_702 = sizeof($aut_702);
    $nb_repet_712 = sizeof($aut_712);
    //indicateur["710"];
    /* renseignement de aut0 */
    if ($aut_700[0][a] != "") {
        /* auteur principal en 700 ? */
        $aut_array[] = array("entree" => $aut_700[0]['a'], "rejete" => $aut_700[0]['b'], "author_comment" => $aut_700[0]['c'] . " " . $aut_700[0]['d'], "date" => $aut_700[0]['f'], "type_auteur" => "70", "fonction" => $aut_700[0][4], "id" => 0, "responsabilite" => 0, "ordre" => 0, 'authority_number' => $aut_700[0][3]);
    } elseif ($aut_710[0]['a'] != "") {
        /* auteur principal en 710 ? */
        if (substr($indicateur["710"][0], 0, 1) == "1") {
            $type_auteur = "72";
        } else {
            $type_auteur = "71";
        }
        $lieu = $aut_710[0]['e'];
        if (!$lieu) {
            $lieu = $aut_710[0]['k'];
        }
        $aut_array[] = array("entree" => $aut_710[0]['a'], "rejete" => $aut_710[0]['g'], "subdivision" => $aut_710[0]['b'], "author_comment" => $aut_710[0]['c'], "numero" => $aut_710[0]['d'], "lieu" => $lieu, "ville" => $aut_710[0]['l'], "pays" => $aut_710[0]['m'], "web" => $aut_710[0]['n'], "date" => $aut_710[0]['f'], "type_auteur" => $type_auteur, "fonction" => $aut_710[0][4], "id" => 0, "responsabilite" => 0, "ordre" => 0, 'authority_number' => $aut_710[0][3]);
    }
    /* renseignement de aut1 */
    for ($i = 0; $i < $nb_repet_701; $i++) {
        $aut_array[] = array("entree" => $aut_701[$i]['a'], "rejete" => $aut_701[$i]['b'], "author_comment" => $aut_701[$i]['c'] . " " . $aut_701[$i]['d'], "date" => $aut_701[$i]['f'], "type_auteur" => "70", "fonction" => $aut_701[$i][4], "id" => 0, "responsabilite" => 1, "ordre" => $i + 1, 'authority_number' => $aut_701[$i][3]);
    }
    for ($i = 0; $i < $nb_repet_711; $i++) {
        if (substr($indicateur["711"][$i], 0, 1) == "1") {
            $type_auteur = "72";
        } else {
            $type_auteur = "71";
        }
        $lieu = $aut_711[$i]['e'];
        if (!$lieu) {
            $lieu = $aut_711[$i]['k'];
        }
        $aut_array[] = array("entree" => $aut_711[$i]['a'], "rejete" => $aut_711[$i]['g'], "subdivision" => $aut_711[$i]['b'], "author_comment" => $aut_711[$i]['c'], "numero" => $aut_711[$i]['d'], "lieu" => $lieu, "ville" => $aut_711[$i]['l'], "pays" => $aut_711[$i]['m'], "web" => $aut_711[$i]['n'], "date" => $aut_711[$i]['f'], "type_auteur" => $type_auteur, "fonction" => $aut_711[$i][4], "id" => 0, "responsabilite" => 1, "ordre" => $i + 1, 'authority_number' => $aut_711[$i][3]);
    }
    /* renseignement de aut2 */
    for ($i = 0; $i < $nb_repet_702; $i++) {
        $aut_array[] = array("entree" => $aut_702[$i]['a'], "rejete" => $aut_702[$i]['b'], "author_comment" => $aut_702[$i]['c'] . " " . $aut_702[$i]['d'], "date" => $aut_702[$i]['f'], "type_auteur" => "70", "fonction" => $aut_702[$i][4], "id" => 0, "responsabilite" => 2, "ordre" => $i + 1, 'authority_number' => $aut_702[$i][3]);
    }
    for ($i = 0; $i < $nb_repet_712; $i++) {
        if (substr($indicateur["712"][$i], 0, 1) == "1") {
            $type_auteur = "72";
        } else {
            $type_auteur = "71";
        }
        $lieu = $aut_712[$i]['e'];
        if (!$lieu) {
            $lieu = $aut_712[$i]['k'];
        }
        $aut_array[] = array("entree" => $aut_712[$i]['a'], "rejete" => $aut_712[$i]['g'], "subdivision" => $aut_712[$i]['b'], "author_comment" => $aut_712[$i]['c'], "numero" => $aut_712[$i]['d'], "lieu" => $lieu, "ville" => $aut_712[$i]['l'], "pays" => $aut_712[$i]['m'], "web" => $aut_712[$i]['n'], "date" => $aut_712[$i]['f'], "type_auteur" => $type_auteur, "fonction" => $aut_712[$i][4], "id" => 0, "responsabilite" => 2, "ordre" => $i + 1, 'authority_number' => $aut_712[$i][3]);
    }
    // récup des infos auteurs et mise en tableau :
    // appel de la fonction membre d'importation et insertion en table
    $rqt_ins = "insert into responsability (responsability_author, responsability_notice, responsability_fonction, responsability_type, responsability_ordre) VALUES ";
    $values = "";
    if (count($aut_array)) {
        for ($i = 0; $i < sizeof($aut_array); $i++) {
            $aut = array();
            $aut['name'] = clean_string($aut_array[$i]['entree']);
            $aut['rejete'] = clean_string($aut_array[$i]['rejete']);
            $aut['type'] = $aut_array[$i]['type_auteur'];
            $aut['date'] = clean_string($aut_array[$i]['date']);
            $aut['subdivision'] = clean_string($aut_array[$i]['subdivision']);
            $aut['numero'] = clean_string($aut_array[$i]['numero']);
            $aut['lieu'] = clean_string($aut_array[$i]['lieu']);
            $aut['ville'] = clean_string($aut_array[$i]['ville']);
            $aut['pays'] = clean_string($aut_array[$i]['pays']);
            $aut['web'] = clean_string($aut_array[$i]['web']);
            $aut['author_comment'] = clean_string($aut_array[$i]['author_comment']);
            $aut['authority_number'] = clean_string($aut_array[$i]['authority_number']);
            //si on à demander la prise en compte des numéro d'autorités
            if ($authorities_notices && $aut['authority_number'] != "") {
                $aut_array[$i]["id"] = keep_authority_infos($aut['authority_number'], "author", $origin_authority, $notice_id, $aut);
            }
            if (!$aut_array[$i]["id"]) {
                $aut_array[$i]["id"] = auteur::import($aut);
            }
            $aut_array[$i]['fonction'] = trim($aut_array[$i]['fonction']);
            if ($aut_array[$i]["id"]) {
                if ($values != "") {
                    $values .= ",";
                }
                $values .= " ('" . $aut_array[$i]["id"] . "','" . $notice_id . "','" . addslashes($aut_array[$i]['fonction']) . "','" . $aut_array[$i]['responsabilite'] . "','" . $aut_array[$i]['ordre'] . "') ";
                //				$rqt = $rqt_ins . " ('".$aut_array[$i]["id"]."','".$notice_id."','".addslashes($aut_array[$i]['fonction'])."','".$aut_array[$i]['responsabilite']."','".$aut_array[$i]['ordre']."') " ;
                //				@mysql_query($rqt, $dbh);
            }
        }
        @mysql_query($rqt_ins . $values);
    }
    // Titres uniformes
    global $pmb_use_uniform_title;
    if ($pmb_use_uniform_title) {
        $nb_tu = sizeof($tu_500);
        for ($i = 0; $i < $nb_tu; $i++) {
            $value_tu[$i]['name'] = $tu_500[$i]['a'];
            $value_tu[$i]['tonalite'] = $tu_500[$i]['u'];
            $value_tu[$i]['comment'] = $tu_500[$i]['n'];
            $value_tu[$i]['authority_number'] = $tu_500[$i]['3'];
            for ($j = 0; $j < count($tu_500_r[$i]); $j++) {
                $value_tu[$i]['distrib'][$j] = $tu_500_r[$i][$j];
            }
            for ($j = 0; $j < count($tu_500_s[$i]); $j++) {
                $value_tu[$i]['ref'][$j] = $tu_500_s[$i][$j];
            }
            for ($j = 0; $j < count($tu_500_j[$i]); $j++) {
                $value_tu[$i]['subdiv'][$j] = $tu_500_j[$i][$j];
            }
            if ($authorities_notices && $aut['authority_number'] != "") {
                $tu_id = keep_authority_infos($value_tu[$i]['authority_number'], "uniform_title", $origin_authority, $notice_id, $value_tu[$i]);
            } else {
                $tu_id = titre_uniforme::import($value_tu[$i]);
            }
            if ($tu_id) {
                $requete = "INSERT INTO notices_titres_uniformes SET \n\t\t\t\t\tntu_num_notice='{$notice_id}', \n\t\t\t\t\tntu_num_tu='{$tu_id}', \n\t\t\t\t\tntu_titre='" . addslashes($tu_500[$i]['i']) . "', \n\t\t\t\t\tntu_date='" . addslashes($tu_500[$i]['k']) . "', \n\t\t\t\t\tntu_sous_vedette='" . addslashes($tu_500[$i]['l']) . "', \n\t\t\t\t\tntu_langue='" . addslashes($tu_500[$i]['m']) . "', \n\t\t\t\t\tntu_version='" . addslashes($tu_500[$i]['q']) . "', \n\t\t\t\t\tntu_mention='" . addslashes($tu_500[$i]['w']) . "',\n\t\t\t\t\tntu_ordre={$i} \t\t\t\t\n\t\t\t\t\t";
                mysql_query($requete, $dbh);
            }
        }
    }
    global $lang_code;
    global $org_lang_code;
    $rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue, ordre_langue) VALUES ";
    $values = "";
    for ($i = 0; $i < count($lang_code); $i++) {
        $lang_code[$i] = trim($lang_code[$i]);
        if ($values != "") {
            $values .= ",";
        }
        $values .= "('{$notice_id}',0, '" . addslashes($lang_code[$i]) . "','{$i}') ";
        //$rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue) VALUES ('$notice_id',0, '".addslashes($lang_code[$i])."') " ;
        //@mysql_query($rqt_ins, $dbh);
    }
    for ($i = 0; $i < count($org_lang_code); $i++) {
        $org_lang_code[$i] = trim($org_lang_code[$i]);
        if ($values != "") {
            $values .= ",";
        }
        $values .= "('{$notice_id}',1, '" . addslashes($org_lang_code[$i]) . "','" . $i . "') ";
        //$rqt_ins = "insert into notices_langues (num_notice, type_langue, code_langue) VALUES ('$notice_id',1, '".addslashes($org_lang_code[$i])."') " ;
        // 			@mysql_query($rqt_ins, $dbh);
    }
    @mysql_query($rqt_ins . $values, $dbh);
    //Import des catégories
    category_auto::save_info_categ();
    //Calcule de la signature
    $sign = new notice_doublon();
    $val = $sign->gen_signature($notice_id);
    mysql_query("update notices set signature='{$val}' where notice_id=" . $notice_id, $dbh);
    //Si on a un id de notice et qu'il n'est pas dans le tableau des notices créées, on l'ajoute
    if ($link_generate && trim($id_unimarc) !== "" && !$notices_crees[$id_unimarc]) {
        $notices_crees[$id_unimarc] = $notice_id;
    } elseif ($link_generate && trim($id_unimarc) !== "" && $notices_crees[$id_unimarc]) {
        //Si la notice a déjà été créé (Export des liens dans les notices liées) on remplace celle précédemment par celle en cour de traitement
        $niveau_biblio = $bibliographic_level . $hierarchic_level;
        switch ($niveau_biblio) {
            case 'm0':
                //On a une notice de monographie
                $notice_a_supp = $notices_crees[$id_unimarc];
                //On garde les liens
                $requete = "UPDATE notices_relations SET num_notice='" . $notice_id . "' WHERE num_notice='" . $notice_a_supp . "' ";
                @mysql_query($requete, $dbh);
                $requete = "UPDATE notices_relations SET linked_notice='" . $notice_id . "' WHERE linked_notice='" . $notice_a_supp . "' ";
                @mysql_query($requete, $dbh);
                $ma_notice = new notice($notice_a_supp);
                $ma_notice->replace($notice_id);
                break;
            case 's1':
                //On a une notice de periodique
                $notice_a_supp = $notices_crees[$id_unimarc];
                $ma_notice = new serial($notice_a_supp);
                $ma_notice->replace($notice_id);
                break;
            case 'b2':
                //On a une notice de bulletin
                $notice_a_supp = $notices_crees[$id_unimarc];
                //Dans les bulletins
                $requete = "update bulletins set num_notice='" . $notice_id . "' where num_notice='" . $notice_a_supp . "' ";
                mysql_query($requete, $dbh);
                //Dans les relations entre notice
                $requete = "update notices_relations set num_notice='" . $notice_id . "' where num_notice='" . $notice_a_supp . "'";
                mysql_query($requete, $dbh);
                $requete = "update notices_relations set linked_notice='" . $notice_id . "' where linked_notice='" . $notice_a_supp . "'";
                mysql_query($requete, $dbh);
                notice::del_notice($notice_a_supp);
                break;
            case 'a2':
                //On a une notice d'article
                $notice_a_supp = $notices_crees[$id_unimarc];
                //Dans les bulletins
                $requete = "update analysis set analysis_notice='" . $notice_id . "' where analysis_notice='" . $notice_a_supp . "' ";
                mysql_query($requete, $dbh);
                //Dans les relations entre notice
                $requete = "update notices_relations set num_notice='" . $notice_id . "' where num_notice='" . $notice_a_supp . "'";
                mysql_query($requete, $dbh);
                $requete = "update notices_relations set linked_notice='" . $notice_id . "' where linked_notice='" . $notice_a_supp . "'";
                mysql_query($requete, $dbh);
                notice::del_notice($notice_a_supp);
                break;
        }
        $notices_crees[$id_unimarc] = $notice_id;
    }
}
예제 #8
0
}
// affichage des membres de la page
switch ($action) {
    case 'add':
        $publisher_form = str_replace("!!deb_saisie!!", htmlentities(stripslashes($f_user_input), ENT_QUOTES, $charset), $publisher_form);
        print $publisher_form;
        break;
    case 'update':
        $value['name'] = $ed_nom;
        $value['adr1'] = $ed_adr1;
        $value['adr2'] = $ed_adr2;
        $value['cp'] = $ed_cp;
        $value['ville'] = $ed_ville;
        $value['pays'] = $ed_pays;
        $value['web'] = $ed_web;
        $editeur = new editeur();
        $editeur->update($value);
        $sel_search_form = str_replace("!!bouton_ajouter!!", $bouton_ajouter, $sel_search_form);
        $sel_search_form = str_replace("!!deb_rech!!", htmlentities(stripslashes($f_user_input), ENT_QUOTES, $charset), $sel_search_form);
        print $sel_search_form;
        print $jscript;
        show_results($dbh, $ed_nom, 0, 0, $editeur->id);
        break;
    default:
        $sel_search_form = str_replace("!!bouton_ajouter!!", $bouton_ajouter, $sel_search_form);
        $sel_search_form = str_replace("!!deb_rech!!", htmlentities(stripslashes($f_user_input), ENT_QUOTES, $charset), $sel_search_form);
        print $sel_search_form;
        print $jscript;
        show_results($dbh, $user_input, $nbr_lignes, $page);
        break;
}
예제 #9
0
 protected function create_notice()
 {
     global $pmb_keyword_sep;
     global $pmb_type_audit;
     global $webdav_current_user_name, $webdav_current_user_id;
     if ($this->data['publisher']) {
         $ed_1 = \editeur::import(array('name' => $this->data['publisher']));
     } else {
         $ed_1 = 0;
     }
     $ind_wew = $this->data['tit1'] . " " . $this->data['tit4'];
     $ind_sew = \strip_empty_words($ind_wew);
     $query = "insert into notices set\n\t\t\t\ttit1 = '" . addslashes($this->data['tit1']) . "'," . ($this->data['code'] ? "code='" . $this->data['code'] . "'," : "") . "ed1_id = '" . $ed_1 . "'," . ($this->data['tit4'] ? "tit4 = '" . addslashes($this->data['tit4']) . "'," : "") . ($this->data['npages'] ? "npages = '" . addslashes($this->data['npages']) . "'," : "") . ($this->data['index_l'] ? "index_l = '" . addslashes($this->data['index_l']) . "'," : "") . "\n\t\t\t\tyear = '" . $this->data['year'] . "',\n\t\t\t\tniveau_biblio='m',\n\t\t\t\tniveau_hierar='0',\n\t\t\t\tstatut = '" . $this->config['default_statut'] . "',\n\t\t\t\tindex_wew = '" . $ind_wew . "',\n\t\t\t\tindex_sew = '" . $ind_sew . "',\n\t\t\t\tn_resume = '" . addslashes($this->data['n_resume']) . "',\n\t\t\t\tlien = '" . addslashes($url) . "',\n\t\t\t\tindex_n_resume = '" . \strip_empty_words($this->data['n_resume']) . "'," . ($this->data['thumbnail_content'] ? "thumbnail_url = 'data:image/png;base64," . base64_encode($this->data['thumbnail_content']) . "'," : "") . "create_date = sysdate(),\n\t\t\t\tupdate_date = sysdate()";
     pmb_mysql_query($query);
     $notice_id = pmb_mysql_insert_id();
     //traitement audit
     if ($pmb_type_audit) {
         $query = "INSERT INTO audit SET ";
         $query .= "type_obj='1', ";
         $query .= "object_id='{$notice_id}', ";
         $query .= "user_id='{$webdav_current_user_id}', ";
         $query .= "user_name='{$webdav_current_user_name}', ";
         $query .= "type_modif=1 ";
         $result = @pmb_mysql_query($query);
     }
     if (count($this->data['authors'])) {
         $i = 0;
         foreach ($this->data['authors'] as $author) {
             $aut = array();
             if ($author['file-as']) {
                 $infos = explode(",", $author['file-as']);
                 $aut = array('name' => $infos[0], 'rejete' => $infos[1], 'type' => 70);
             }
             if (!$aut['name']) {
                 $aut = array('name' => $author['value'], 'type' => 70);
             }
             $aut_id = \auteur::import($aut);
             if ($aut_id) {
                 $query = "insert into responsability set\n\t\t\t\t\t\t\tresponsability_author = '" . $aut_id . "',\n\t\t\t\t\t\t\tresponsability_notice = '" . $notice_id . "',\n\t\t\t\t\t\t\tresponsability_type = '0'";
                 pmb_mysql_query($query);
                 $i++;
             }
         }
     }
     if (count($this->data['co_authors'])) {
         foreach ($this->data['co_authors'] as $author) {
             $aut = array();
             if ($author['file-as']) {
                 $infos = explode(",", $author['file-as']);
                 $aut = array('name' => $infos[0], 'rejete' => $infos[1], 'type' => 70);
             }
             if (!$aut['name']) {
                 $aut = array('name' => $author['value'], 'type' => 70);
             }
             $aut_id = \auteur::import($aut);
             if ($aut_id) {
                 $query = "insert into responsability set\n\t\t\t\t\t\t\tresponsability_author = '" . $aut_id . "',\n\t\t\t\t\t\t\tresponsability_notice = '" . $notice_id . "',\n\t\t\t\t\t\t\tresponsability_type = '0',\n\t\t\t\t\t\t\trepsonsability_ordre = '" . $i . "'";
                 pmb_mysql_query($query);
                 $i++;
             }
         }
     }
     return $notice_id;
 }
예제 #10
0
 static function import($data)
 {
     global $dbh;
     // check sur le type de  la variable passee en parametre
     if (!sizeof($data) || !is_array($data)) {
         // si ce n'est pas un tableau ou un tableau vide, on retourne 0
         return 0;
     }
     // tentative de recuperer l'id associee dans la base (implique que l'autorite existe)
     // preparation de la requeªte
     $long_maxi = pmb_mysql_field_len(pmb_mysql_query("SELECT ed_name FROM publishers limit 1"), 0);
     $key = addslashes(rtrim(substr(preg_replace('/\\[|\\]/', '', rtrim(ltrim($data['name']))), 0, $long_maxi)));
     $ville = addslashes(trim($data['ville']));
     $adr = addslashes(trim($data['adr']));
     $adr2 = addslashes(trim($data['adr2']));
     $cp = addslashes(trim($data['cp']));
     $pays = addslashes(trim($data['pays']));
     $web = addslashes(trim($data['web']));
     $ed_comment = addslashes(trim($data['ed_comment']));
     if ($key == "") {
         return 0;
     }
     /* on laisse tomber les editeurs sans nom !!! exact. FL*/
     $query = "SELECT ed_id FROM publishers WHERE ed_name='{$key}' and ed_ville = '{$ville}' ";
     $result = @pmb_mysql_query($query, $dbh);
     if (!$result) {
         die("can't SELECT publisher " . $query);
     }
     // resultat
     // recuperation du resultat de la recherche
     $tediteur = pmb_mysql_fetch_object($result);
     // et recuperation eventuelle de l'id
     if ($tediteur->ed_id) {
         return $tediteur->ed_id;
     }
     // id non-recuperee, il faut creer la forme.
     $query = 'INSERT INTO publishers SET ed_name="' . $key . '", ed_ville = "' . $ville . '", ed_adr1 = "' . $adr . '", ed_comment="' . $ed_comment . '", ed_adr2="' . $adr2 . '", ed_cp="' . $cp . '", ed_pays="' . $pays . '", ed_web="' . $web . '", index_publisher=" ' . strip_empty_chars($key) . ' " ';
     $result = @pmb_mysql_query($query, $dbh);
     if (!$result) {
         die("can't INSERT into publisher : " . $query);
     }
     $id = pmb_mysql_insert_id($dbh);
     audit::insert_creation(AUDIT_PUBLISHER, $id);
     //update authority informations
     $authority = new authority(0, $id, AUT_TABLE_PUBLISHERS);
     $authority->set_num_statut($data['statut']);
     $authority->update();
     editeur::update_index($id);
     return $id;
 }
예제 #11
0
     // mettre à jour éditeur id
     // mise à jour d'un éditeur
     $ed = array('name' => $ed_nom, 'adr1' => $ed_adr1, 'adr2' => $ed_adr2, 'cp' => $ed_cp, 'ville' => $ed_ville, 'pays' => $ed_pays, 'ed_comment' => $ed_comment, 'web' => $ed_web);
     $editeur = new editeur($id);
     $editeur->update($ed);
     include './autorites/publishers/publishers_list.inc.php';
     break;
 case 'editeur_form':
     // création d'un éditeur
     if (!$id) {
         // affichage du form pour création
         $editeur = new editeur(0);
         $editeur->show_form();
     } else {
         // affichage du form pour modification
         $editeur = new editeur($id);
         $editeur->show_form($id);
     }
     break;
 case 'editeur_last':
     $last_param = 1;
     $tri_param = "order by ed_id desc ";
     $limit_param = "limit 0, {$pmb_nb_lastautorities} ";
     $clef = "";
     $nbr_lignes = 0;
     include './autorites/publishers/publishers_list.inc.php';
     break;
 default:
     // affichage du début de la liste (par défaut)
     include './autorites/publishers/publishers_list.inc.php';
     break;
예제 #12
0
     // mettre à jour éditeur id
     // mise à jour d'un éditeur
     $ed = array('name' => $ed_nom, 'adr1' => $ed_adr1, 'adr2' => $ed_adr2, 'cp' => $ed_cp, 'ville' => $ed_ville, 'pays' => $ed_pays, 'ed_comment' => $ed_comment, 'statut' => $authority_statut, 'web' => $ed_web);
     $editeur = new editeur($id);
     $editeur->update($ed);
     include './autorites/publishers/publishers_list.inc.php';
     break;
 case 'editeur_form':
     // création d'un éditeur
     if (!$id) {
         // affichage du form pour création
         $editeur = new editeur(0);
         $editeur->show_form();
     } else {
         // affichage du form pour modification
         $editeur = new editeur($id);
         $editeur->show_form();
     }
     break;
 case 'editeur_last':
     $last_param = 1;
     $tri_param = "order by ed_id desc ";
     $limit_param = "limit 0, {$pmb_nb_lastautorities} ";
     $clef = "";
     $nbr_lignes = 0;
     include './autorites/publishers/publishers_list.inc.php';
     break;
 default:
     // affichage du début de la liste (par défaut)
     include './autorites/publishers/publishers_list.inc.php';
     break;
예제 #13
0
파일: RootNode.php 프로젝트: bouchra012/PMB
    /**
     * @param array $entry le tableau $entry généré par la fonction buildEntry()
     * 
     * Fonction d'import d'une notice formaté par la fonction buildEntry()
     * Ajoute les informations d'audit
     * Ajoute les champs personnalisés
     * Ajoute les tables annexes [responsability], [notices_categories] et [notices_langues]
     * Met à jours l'indexation de la notice
     */
    static function buildNotice(&$entry)
    {
        global $pmb_type_audit;
        global $webdav_current_user_name, $webdav_current_user_id;
        //la notice existe déjà ? si oui, on renvoi l'id trouvé
        if ($entry['niveau_biblio'] . $entry['niveau_hierar'] == 'a2') {
            $query = '
			SELECT n1.* FROM notices AS n1
			JOIN analysis ON n1.notice_id=analysis_notice
			JOIN bulletins ON bulletin_id=analysis_bulletin
			JOIN notices AS n2 ON n2.notice_id=bulletin_notice
			WHERE n1.tit1="' . addslashes($entry['tit1']) . '" 
			AND n1.niveau_biblio="' . addslashes($entry['niveau_biblio']) . '" 
			AND n1.niveau_hierar="' . addslashes($entry['niveau_hierar']) . '"
			AND bulletin_numero="' . addslashes($entry['bulletin']['bulletin_numero']) . '"
			AND mention_date="' . addslashes($entry['bulletin']['mention_date']) . '"
			AND date_date="' . addslashes($entry['bulletin']['date_date']) . '"
			AND n2.tit1="' . addslashes($entry['periodique']['tit1']) . '" 
			AND n2.niveau_biblio="' . addslashes($entry['periodique']['niveau_biblio']) . '" 
			AND n2.niveau_hierar="' . addslashes($entry['periodique']['niveau_hierar']) . '"
			';
            $result = mysql_query($query);
        } else {
            $query = 'SELECT * FROM notices WHERE tit1="' . addslashes($entry['tit1']) . '" AND niveau_biblio="' . addslashes($entry['niveau_biblio']) . '" AND niveau_hierar="' . addslashes($entry['niveau_hierar']) . '"';
            $result = mysql_query($query);
        }
        if (mysql_num_rows($result)) {
            // La notice existe
            $entry = array_merge(mysql_fetch_array($result, MYSQL_ASSOC), $entry);
            //TODO : A vérifier
            $first = true;
            $query = 'UPDATE notices SET ';
            foreach (array_keys($entry) as $fieldName) {
                if (!is_array($entry[$fieldName]) && $entry[$fieldName] != '' && $fieldName != 'ancien_num_name') {
                    if (!$first) {
                        $query .= ',';
                    }
                    $query .= $fieldName . '="' . addslashes($entry[$fieldName]) . '"';
                    $first = false;
                }
            }
            $query .= ' WHERE notice_id="' . addslashes($entry['notice_id']) . '"';
            mysql_query($query) or die('echec de la requete : ' . $query . '<br/>' . mysql_error() . "\n");
        } else {
            //les éditeurs
            if (sizeof($entry['publishers'])) {
                foreach ($entry['publishers'] as $id => $publisher) {
                    if ($id < 2) {
                        if ($id === 0) {
                            $entry['ed1_id'] = \editeur::import($publisher);
                        } elseif ($id === 1) {
                            $entry['ed2_id'] = \editeur::import($publisher);
                        }
                    }
                }
            }
            //la collection
            if (sizeof($entry['collections']) && $entry['ed1_id']) {
                $entry['collections']['parent'] = $entry['ed1_id'];
                $entry['coll_id'] = \collection::import($entry['collections']);
            }
            $first = true;
            $query = 'INSERT INTO notices SET ';
            foreach ($entry as $fieldName => $value) {
                if (!is_array($value) && $value != '') {
                    if (!$first) {
                        $query .= ',';
                    }
                    $query .= $fieldName . '="' . addslashes(trim($value)) . '"';
                    $first = false;
                }
            }
            mysql_query($query) or die('Echec d\'execution de la requete ' . $query . '  : ' . mysql_error());
            $entry['notice_id'] = mysql_insert_id();
            if ($pmb_type_audit && ($webdav_current_user_id || $webdav_current_user_name) && $entry['create_date']) {
                //ajout des informations d'audit
                $query = 'INSERT INTO audit (type_obj,object_id,user_id,user_name,type_modif,quand) VALUES (1,' . $entry['notice_id'] . ',' . $webdav_current_user_id . ',"' . addslashes($webdav_current_user_name) . '",1,"' . $entry['create_date'] . '")';
                mysql_query($query) or die('Echec d\'execution de la requete ' . $query . '  : ' . mysql_error());
            }
        }
        //les champs persos
        if (sizeof($entry['cp'])) {
            foreach ($entry['cp'] as $cp) {
                \parametres_perso::import($entry['notice_id'], $cp['field'], $cp['value'], 'notices');
            }
        }
        //ajout dans les tables annexes a la notice
        if (sizeof($entry['annexes'])) {
            foreach ($entry['annexes'] as $typeAnnexe => $annexes) {
                foreach ($annexes as $id => $annexe) {
                    switch ($typeAnnexe) {
                        case 'responsability':
                            //Import et récupération des identifiants auteurs
                            $entry['annexes'][$typeAnnexe][$id]['responsability_author'] = \auteur::import($entry['annexes'][$typeAnnexe][$id]['authors']);
                            $entry['annexes'][$typeAnnexe][$id]['responsability_notice'] = $entry['notice_id'];
                            break;
                        case 'notices_categories':
                            //Import et récupération des identifiants catégories
                            $query = 'SELECT num_noeud FROM categories WHERE libelle_categorie="' . addslashes(trim($entry['annexes'][$typeAnnexe][$id]['categories']['libelle_categorie'])) . '" AND num_thesaurus=' . $entry['annexes'][$typeAnnexe][$id]['categories']['num_thesaurus'] . ' AND langue="' . $entry['annexes'][$typeAnnexe][$id]['categories']['langue'] . '"';
                            $result = mysql_query($query) or die('Echec d\'execution de la requete ' . $query . '  : ' . mysql_error());
                            if (mysql_num_rows($result)) {
                                //le noeud existe déjà
                                $entry['annexes'][$typeAnnexe][$id]['num_noeud'] = mysql_result($result, 0, 0);
                            } else {
                                //le noeud n'existe pas, on cherche le parent non classé
                                $query = 'SELECT id_noeud FROM noeuds WHERE autorite="NONCLASSES" AND num_thesaurus=' . $entry['annexes'][$typeAnnexe][$id]['categories']['num_thesaurus'];
                                $result = mysql_query($query) or die('Echec d\'execution de la requete ' . $query . '  : ' . mysql_error());
                                if (mysql_num_rows($result)) {
                                    //on ajoute le noeud
                                    $query = 'INSERT INTO noeuds SET num_parent=' . mysql_result($result, 0, 0) . ', visible=1, num_thesaurus=' . $entry['annexes'][$typeAnnexe][$id]['categories']['num_thesaurus'];
                                    mysql_query($query) or die('Echec d\'execution de la requete ' . $query . '  : ' . mysql_error());
                                    $entry['annexes']['notices_categories'][$id]['num_noeud'] = mysql_insert_id();
                                    //on ajoute la catégorie
                                    $categorie = new \categories($entry['annexes'][$typeAnnexe][$id]['num_noeud'], $entry['annexes'][$typeAnnexe][$id]['categories']['langue']);
                                    $categorie->libelle_categorie = trim($entry['annexes'][$typeAnnexe][$id]['categories']['libelle_categorie']);
                                    $categorie->save();
                                }
                            }
                            $entry['annexes'][$typeAnnexe][$id]['notcateg_notice'] = $entry['notice_id'];
                            break;
                        case 'notices_langues':
                            $entry['annexes'][$typeAnnexe][$id]['num_notice'] = $entry['notice_id'];
                            break;
                        case 'notices_authorities_sources':
                            $entry['annexes'][$typeAnnexe][$id]['num_notice'] = $entry['notice_id'];
                            break;
                        case 'notices_relations':
                            $entry['annexes'][$typeAnnexe][$id]['num_notice'] = $entry['notice_id'];
                            break;
                        case 'notices_titres_uniformes':
                            $entry['annexes'][$typeAnnexe][$id]['ntu_num_notice'] = $entry['notice_id'];
                            break;
                    }
                    $first = true;
                    $query = 'INSERT IGNORE INTO ' . $typeAnnexe . ' SET ';
                    foreach ($entry['annexes'][$typeAnnexe][$id] as $fieldName => $value) {
                        if (!is_array($value) && $value != '') {
                            if (!$first) {
                                $query .= ',';
                            }
                            $query .= $fieldName . '="' . addslashes(trim($value)) . '"';
                            $first = false;
                        }
                    }
                    mysql_query($query) or die('Echec d\'execution de la requete ' . $query . '  : ' . mysql_error());
                }
            }
        }
        \notice::majNoticesTotal($entry['notice_id']);
    }
예제 #14
0
 function get_notice_by_meta($name, $filename)
 {
     global $pmb_keyword_sep;
     global $pmb_type_audit;
     global $webdav_current_user_name, $webdav_current_user_id;
     \create_tableau_mimetype();
     $mimetype = \trouve_mimetype($filename, extension_fichier($name));
     $notice_id = 0;
     $title = $cplt = $code = $pages = $year = $keywords = $url = $thumbnail_content = "";
     //on commence avec la gymnatisque des métas...
     if ($mimetype == "application/epub+zip") {
         //pour les ebook, on gère ca directement ici !
         $epub = new \epubData(realpath($filename));
         $title = $epub->metas['title'][0];
         $authors = $epub->metas['creator'];
         $co_authors = $epub->metas['contributor'];
         if ($epub->metas['identifier']['isbn']) {
             $code = \formatISBN($epub->metas['identifier']['isbn'], 13);
         } else {
             if ($epub->metas['identifier']['ean']) {
                 $code = \EANtoISBN($epub->metas['identifier']['ean']);
                 $code = \formatISBN($code, 13);
             }
         }
         if ($epub->metas['identifier']['uri']) {
             $url = \clean_string($epub->metas['identifier']['uri']);
         }
         $publisher = $epub->metas['publisher'][0];
         $year = $epub->metas['date'][0]['value'];
         if (strlen($year) && strlen($year) != 4) {
             $year = \formatdate(detectFormatDate($year));
         }
         $lang = $epub->metas['language'];
         $resume = implode("\n", $epub->metas['description']);
         $keywords = implode($pmb_keyword_sep, $epub->metas['subject']);
         //jouons à et si on trouvait a vignette...
         $img = imagecreatefromstring($epub->getCoverContent());
         $file = tempnam(sys_get_temp_dir(), "vign");
         imagepng($img, $file);
         $thumbnail_content = file_get_contents($file);
         unlink($file);
     } else {
         $metas = \extract_metas(realpath($filename), $mimetype);
         if ($metas['Title'] && $metas['Author'] && $metas['Subject']) {
             $title = $metas['Title'];
             $author = $metas['Author'];
             $cplt = $metas['Subject'];
         } else {
             // métas non fiable, on regarde avec le titre...
             $title = $name;
         }
         //date de création...
         if ($metas["CreateDate"]) {
             $year = substr($metas["CreateDate"], 0, 4);
         }
         //pages
         if ($metas['PageCount']) {
             $pages = $metas['PageCount'];
         }
         //keywords
         if ($metas['Keywords']) {
             foreach ($metas['Keywords'] as $keyword) {
                 if ($keywords != "") {
                     $keywords .= $pmb_keyword_sep;
                 }
                 $keywords .= $keyword;
             }
         }
     }
     $query = "select notice_id from notices where tit1 = '" . addslashes($title) . "'";
     $result = mysql_query($query);
     if (mysql_num_rows($result)) {
         $notice_id = mysql_result($result, 0, 0);
     }
     if (!$notice_id) {
         //en cas d'une leture moyenne des infos, on s'assure d'avoir au moins un titre....
         if (!$title) {
             $title = $name;
         }
         if ($publisher) {
             $ed_1 = \editeur::import(array('name' => $publisher));
         } else {
             $ed_1 = 0;
         }
         $ind_wew = $title . " " . $cplt;
         $ind_sew = \strip_empty_words($ind_wew);
         $query = "insert into notices set \n\t\t\t\ttit1 = '" . addslashes($title) . "'," . ($code ? "code='" . $code . "'," : "") . "ed1_id = '" . $ed_1 . "'," . ($cplt ? "tit4 = '" . addslashes($cplt) . "'," : "") . ($pages ? "npages = '" . addslashes($pages) . "'," : "") . ($keywords ? "index_l = '" . addslashes($keywords) . "'," : "") . "\n\t\t\t\tyear = '" . $year . "',\n\t\t\t\tniveau_biblio='m', \n\t\t\t\tniveau_hierar='0',\n\t\t\t\tstatut = '" . $this->config['default_statut'] . "',\n\t\t\t\tindex_wew = '" . $ind_wew . "',\n\t\t\t\tindex_sew = '" . $ind_sew . "',\n\t\t\t\tn_resume = '" . addslashes($resume) . "',\n\t\t\t\tlien = '" . addslashes($url) . "',\n\t\t\t\tindex_n_resume = '" . \strip_empty_words($resume) . "'," . ($thumbnail_content ? "thumbnail_url = 'data:image/png;base64," . base64_encode($thumbnail_content) . "'," : "") . "create_date = sysdate(), \n\t\t\t\tupdate_date = sysdate()";
         mysql_query($query);
         $notice_id = mysql_insert_id();
         $sign = new \notice_doublon();
         mysql_query("update notices set signature = '" . $sign->gen_signature($notice_id) . "' where notice_id = " . $notice_id);
         //traitement audit
         if ($pmb_type_audit) {
             $query = "INSERT INTO audit SET ";
             $query .= "type_obj='1', ";
             $query .= "object_id='{$notice_id}', ";
             $query .= "user_id='{$webdav_current_user_id}', ";
             $query .= "user_name='{$webdav_current_user_name}', ";
             $query .= "type_modif=1 ";
             $result = @mysql_query($query);
         }
         if (count($authors)) {
             $i = 0;
             foreach ($authors as $author) {
                 $aut = array();
                 if ($author['file-as']) {
                     $infos = explode(",", $author['file-as']);
                     $aut = array('name' => $infos[0], 'rejete' => $infos[1], 'type' => 70);
                 }
                 if (!$aut['name']) {
                     $aut = array('name' => $author['value'], 'type' => 70);
                 }
                 $aut_id = \auteur::import($aut);
                 if ($aut_id) {
                     $query = "insert into responsability set \n\t\t\t\t\t\t\tresponsability_author = '" . $aut_id . "',\n\t\t\t\t\t\t\tresponsability_notice = '" . $notice_id . "',\n\t\t\t\t\t\t\tresponsability_type = '0'";
                     mysql_query($query);
                     $i++;
                 }
             }
         }
         if (count($co_authors)) {
             foreach ($co_authors as $author) {
                 $aut = array();
                 if ($author['file-as']) {
                     $infos = explode(",", $author['file-as']);
                     $aut = array('name' => $infos[0], 'rejete' => $infos[1], 'type' => 70);
                 }
                 if (!$aut['name']) {
                     $aut = array('name' => $author['value'], 'type' => 70);
                 }
                 $aut_id = \auteur::import($aut);
                 if ($aut_id) {
                     $query = "insert into responsability set \n\t\t\t\t\t\t\tresponsability_author = '" . $aut_id . "',\n\t\t\t\t\t\t\tresponsability_notice = '" . $notice_id . "',\n\t\t\t\t\t\t\tresponsability_type = '0',\n\t\t\t\t\t\t\trepsonsability_ordre = '" . $i . "'";
                     mysql_query($query);
                     $i++;
                 }
             }
         }
     }
     return $notice_id;
 }