Beispiel #1
0
 function delete_analysis()
 {
     global $dbh, $pmb_archive_warehouse;
     if ($this->bulletin_id) {
         $requete = "SELECT analysis_notice FROM analysis WHERE analysis_bulletin=" . $this->bulletin_id;
         $myQuery2 = pmb_mysql_query($requete, $dbh);
         while ($dep = pmb_mysql_fetch_object($myQuery2)) {
             $ana = new analysis($dep->analysis_notice);
             if ($pmb_archive_warehouse) {
                 analysis::save_to_agnostic_warehouse(array(0 => $dep->analysis_notice), $pmb_archive_warehouse);
             }
             $ana->analysis_delete();
         }
     }
 }
Beispiel #2
0
 function cleanSynchroRdfStore()
 {
     global $msg, $dbh, $charset, $PMBusername;
     if (SESSrights & ADMINISTRATION_AUTH) {
         $result .= "<h3>" . htmlentities($msg["nettoyage_synchrordfstore_reindexation"], ENT_QUOTES, $charset) . "</h3>";
         $synchro_rdf = new synchro_rdf();
         //remise a zero des tables de synchro rdf
         $synchro_rdf->truncateStore();
         //reindex
         $query = mysql_query("select notice_id from notices order by notice_id");
         if (mysql_num_rows($query)) {
             while ($mesNotices = mysql_fetch_assoc($query)) {
                 $synchro_rdf->addRdf($mesNotices['notice_id'], 0);
                 $notice = new notice($mesNotices['notice_id']);
                 $niveauB = strtolower($notice->biblio_level);
                 //Si c'est un article, il faut réindexer son bulletin
                 if ($niveauB == 'a') {
                     $bulletin = analysis::getBulletinIdFromAnalysisId($mesNotices['notice_id']);
                     $synchro_rdf->addRdf(0, $bulletin);
                 }
             }
             mysql_free_result($query);
         }
         $compte = 0;
         $q = "SELECT *\n\t\t\tWHERE {\n\t\t\t   FILTER (!regex(?p, rdf:type,'i')) .\n\t\t\t   ?s ?p ?o\n\t\t\t}";
         $r = $synchro_rdf->store->query($q);
         if (is_array($r['result']['rows'])) {
             $compte = count($r['result']['rows']);
         }
         $result .= $compte . " " . htmlentities($msg["nettoyage_synchrordfstore_reindex_total"], ENT_QUOTES, $charset);
     } else {
         $result .= sprintf($msg["planificateur_rights_bad_user_rights"], $PMBusername);
     }
     return $result;
 }
Beispiel #3
0
    public function pageanalysis()
    {
        $this->load->library('Analysis');
        $this->load->library('Extractor');
        $urlcheck = $this->input->post('urlcheck', TRUE);
        var_dump($urlcheck);
        if (empty($urlcheck)) {
            $this->template->title($this->module_details['name'])->append_css('module::style.css')->build('admin/pageanalysis');
        } else {
            define('GOOGLE_MAGIC', 0.0);
            if (strtolower($urlcheck) == "http://") {
            } else {
                if (!preg_match('/^(http|https|ftp):\\/\\/([A-Z0-9][A-Z0-9_-]*(?:\\.[A-Z0-9][A-Z0-9_-]*)+):?(\\d+)?\\/?/i', $urlcheck)) {
                    ?>
				<div class="errorurl" style="width: 395px">
				<strong class="redb">ERROR: Please Provide proper URL to index the page.</strong><br /><br />
				Kindly Provide a proper URL. <br /><br />The <b>Format of URL should be:</b> <br />http://www.example.com, or<br />http://www.example.com/sample-page.php, or<br />http://subdomain.example.com/sub-directory/sample-page.php,<br />or similar to the above formats.
				</div>
				<?php 
                } else {
                    $url = str_replace('http://', '', $urlcheck);
                    $url = 'http://' . $url;
                    $meta = new analysis();
                    $res = $meta->getValues($url);
                    $ext = new extractor($url);
                    $links = $ext->ExtractLinks('');
                    $res['links'] = $ext->links;
                }
            }
            $pch = url_exists($urlcheck);
            //			var_dump($pch);
            $this->template->title($this->module_details['name'])->append_css('module::style.css')->build('admin/pageanalysisresult');
        }
    }
    $state = floor($start / ($count / $jauge_size));
    $state .= "px";
    // mise à jour de l'affichage de la jauge
    print "<table border='0' align='center' width='{$jauge_size}' cellpadding='0'><tr><td class='jauge' width='100%'>";
    print "<img src='../../images/jauge.png' width='{$state}' height='16px'></td></tr></table>";
    // calcul pourcentage avancement
    $percent = floor($start / $count * 100);
    // affichage du % d'avancement et de l'état
    print "<div align='center'>{$percent}%</div>";
    while ($mesNotices = pmb_mysql_fetch_assoc($query)) {
        $synchro_rdf->addRdf($mesNotices['notice_id'], 0);
        $notice = new notice($mesNotices['notice_id']);
        $niveauB = strtolower($notice->biblio_level);
        //Si c'est un article, il faut réindexer son bulletin
        if ($niveauB == 'a') {
            $bulletin = analysis::getBulletinIdFromAnalysisId($mesNotices['notice_id']);
            $synchro_rdf->addRdf(0, $bulletin);
        }
    }
    pmb_mysql_free_result($query);
    $next = $start + $lot;
    print "\n\t<form class='form-{$current_module}' name='current_state' action='./clean.php' method='post'>\n\t<input type='hidden' name='v_state' value=\"" . urlencode($v_state) . "\">\n\t<input type='hidden' name='spec' value=\"{$spec}\">\n\t<input type='hidden' name='start' value=\"{$next}\">\n\t<input type='hidden' name='count' value=\"{$count}\">\n\t</form>\n\t<script type=\"text/javascript\"><!-- \n\tsetTimeout(\"document.forms['current_state'].submit()\",1000); \n\t-->\n\t</script>";
} else {
    $spec = $spec - INDEX_SYNCHRORDFSTORE;
    $compte = 0;
    $q = "SELECT *\n\t\t\tWHERE {\n\t\t\t   FILTER (!regex(?p, rdf:type,'i')) .\n\t\t\t   ?s ?p ?o\n\t\t\t}";
    $r = $synchro_rdf->store->query($q);
    if (is_array($r['result']['rows'])) {
        $compte = count($r['result']['rows']);
    }
    $v_state .= "<br /><img src=../../images/d.gif hspace=3>" . htmlentities($msg["nettoyage_synchrordfstore_reindexation"], ENT_QUOTES, $charset) . " :";
 function analysis_delete()
 {
     global $dbh;
     global $pmb_synchro_rdf, $pmb_notice_img_folder_id;
     //Suppression de la vignette de la notice si il y en a une d'uploadée
     if ($pmb_notice_img_folder_id) {
         $req = "select repertoire_path from upload_repertoire where repertoire_id ='" . $pmb_notice_img_folder_id . "'";
         $res = pmb_mysql_query($req, $dbh);
         if (pmb_mysql_num_rows($res)) {
             $rep = pmb_mysql_fetch_object($res);
             $img = $rep->repertoire_path . "img_" . $this->analysis_id;
             @unlink($img);
         }
     }
     //synchro rdf
     if ($pmb_synchro_rdf) {
         $synchro_rdf = new synchro_rdf();
         $synchro_rdf->delRdf($this->analysis_id, 0);
     }
     //elimination des docs numeriques
     $req_explNum = "select explnum_id from explnum where explnum_notice=" . $this->analysis_id . " ";
     $result_explNum = @pmb_mysql_query($req_explNum, $dbh);
     while ($explNum = pmb_mysql_fetch_object($result_explNum)) {
         $myExplNum = new explnum($explNum->explnum_id);
         $myExplNum->delete();
     }
     // suppression des entrees dans les caddies
     $query_caddie = "select caddie_id from caddie_content, caddie where type='NOTI' and object_id in ({$this->analysis_id}) and caddie_id=idcaddie ";
     $result_caddie = @pmb_mysql_query($query_caddie, $dbh);
     while ($cad = pmb_mysql_fetch_object($result_caddie)) {
         $req_suppr_caddie = "delete from caddie_content where caddie_id = '{$cad->caddie_id}' and object_id in ({$this->analysis_id}) ";
         @pmb_mysql_query($req_suppr_caddie, $dbh);
     }
     //elimination des champs persos
     $p_perso = new parametres_perso("notices");
     $p_perso->delete_values($this->analysis_id);
     // on supprime l'entree dans la table 'analysis'
     $requete = "DELETE FROM analysis WHERE analysis_notice=" . $this->analysis_id;
     pmb_mysql_query($requete, $dbh);
     $result = pmb_mysql_affected_rows($dbh);
     // on supprime la notice du dépouillement
     $requete = "DELETE FROM notices WHERE notice_id='" . $this->analysis_id . "' ";
     pmb_mysql_query($requete, $dbh);
     $result += pmb_mysql_affected_rows($dbh);
     //suppression des droits d'acces user_notice
     $requete = "delete from acces_res_1 where res_num=" . $this->analysis_id;
     @pmb_mysql_query($requete, $dbh);
     //suppression des droits d'acces empr_notice
     $requete = "delete from acces_res_2 where res_num=" . $this->analysis_id;
     @pmb_mysql_query($requete, $dbh);
     // suppression des audits
     audit::delete_audit(AUDIT_NOTICE, $this->analysis_id);
     // suppression des categories
     $rqt_del = "delete from notices_categories where notcateg_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($rqt_del, $dbh);
     // Clean des vedettes
     analysis::delete_vedette_links($this->analysis_id);
     // suppression des responsabilités
     $rqt_del = "delete from responsability where responsability_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($rqt_del, $dbh);
     // suppression des liens
     $rqt_del = "delete from notices_relations where num_notice='" . $this->analysis_id . "' OR linked_notice='" . $this->analysis_id . "'";
     @pmb_mysql_query($rqt_del, $dbh);
     // suppression des bannettes
     $rqt_del = "delete from bannette_contenu where num_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($rqt_del, $dbh);
     // suppression des tags
     $rqt_del = "delete from tags where num_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($rqt_del, $dbh);
     // suppression des avis
     $rqt_del = "delete from avis where num_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($rqt_del, $dbh);
     //suppression des langues
     $query = "delete from notices_langues where num_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($query, $dbh);
     // suppression index global
     $query = "delete from notices_global_index where num_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($query, $dbh);
     // suppression notices_mots_global_index
     $query = "delete from notices_mots_global_index where id_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($query, $dbh);
     // suppression notices_fields_global_index
     $query = "delete from notices_fields_global_index where id_notice='" . $this->analysis_id . "' ";
     @pmb_mysql_query($query, $dbh);
     //Suppression de la reference a la notice dans la table suggestions
     $query = "UPDATE suggestions set num_notice = 0 where num_notice=" . $this->analysis_id;
     @pmb_mysql_query($query, $dbh);
     //Suppression de la reference a la notice dans la table lignes_actes
     $requete = "UPDATE lignes_actes set num_produit=0, type_ligne=0 where num_produit='" . $this->analysis_id . "' and type_ligne in ('1','5') ";
     @pmb_mysql_query($requete, $dbh);
     //Suppression de la référence de la source si exitante..
     $query = "delete from notices_externes where num_notice=" . $this->analysis_id;
     @pmb_mysql_query($query, $dbh);
     //Suppression dans les listes de lecture partagées
     $requete = "SELECT id_liste, notices_associees from opac_liste_lecture";
     $res = pmb_mysql_query($requete, $dbh);
     $id_tab = array();
     while ($notices = pmb_mysql_fetch_object($res)) {
         $id_tab = explode(',', $notices->notices_associees);
         for ($i = 0; $i < sizeof($id_tab); $i++) {
             if ($id_tab[$i] == $this->analysis_id) {
                 unset($id_tab[$i]);
             }
         }
         $requete = "UPDATE opac_liste_lecture set notices_associees='" . addslashes(implode(',', $id_tab)) . "' where id_liste='" . $notices->id_liste . "'";
         pmb_mysql_query($requete, $dbh);
     }
     $req = "delete from notices_authperso where notice_authperso_notice_num=" . $id;
     pmb_mysql_query($req, $dbh);
     return $result;
 }
Beispiel #6
0
$acces_m = 1;
if ($gestion_acces_active == 1 && $gestion_acces_user_notice == 1) {
    require_once "{$class_path}/acces.class.php";
    $ac = new acces();
    $dom_1 = $ac->setDomain(1);
    $acces_j = $dom_1->getJoin($PMBuserid, 8, 'bulletin_notice');
    $q = "select count(1) from bulletins {$acces_j} where bulletin_id=" . $bul_id;
    $r = mysql_query($q, $dbh);
    if (mysql_result($r, 0, 0) == 0) {
        $acces_m = 0;
    }
}
if ($acces_m == 0) {
    error_message('', htmlentities($dom_1->getComment('mod_bull_error'), ENT_QUOTES, $charset), 1, '');
} else {
    // script de suppression d'un dépouillement de périodique
    // mise à jour de l'entête de page
    echo str_replace('!!page_title!!', $msg[4000] . $msg[1003] . $msg[4023], $serial_header);
    $myAnalysis = new analysis($analysis_id, $bul_id);
    if ($pmb_archive_warehouse) {
        analysis::save_to_agnostic_warehouse(array(0 => $analysis_id), $pmb_archive_warehouse);
    }
    $result = $myAnalysis->analysis_delete();
    if ($result) {
        $retour = "./catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=" . $myAnalysis->bulletin_id;
        print "<div class=\"row\"><div class=\"msg-perio\" size=\"+2\">" . $msg['catalog_notices_suppression'] . "</div></div>";
        print "\n\t\t\t<form class='form-{$current_module}' name=\"dummy\" method=\"post\" action=\"{$retour}\" style=\"display:none\">\n\t\t\t\t<input type=\"hidden\" name=\"id_form\" value=\"{$id_form}\">\n\t\t\t</form>\n\t\t\t<script type=\"text/javascript\">document.dummy.submit();</script>\n\t\t\t";
    } else {
        error_message($msg['catalog_serie_supp_depouill'], $msg['catalog_serie_supp_depouill_imp'], 1, "./catalog.php?categ=serials&sub=bulletinage&action=view&serial_id={$serial_id}&bul_id={$bul_id}");
    }
}
        echo str_replace('!!page_title!!', $msg['4000'] . $msg['1003'] . $msg['analysis_move'], $serial_header);
        // on instancie le truc
        $myAnalysis = new analysis($analysis_id, $bul_id);
        $myBul = new bulletinage($bul_id);
        // lien vers la notice chapeau
        $link_parent = "<a href=\"./catalog.php?categ=serials\">";
        $link_parent .= $msg[4010] . "</a>";
        $link_parent .= "<img src=\"./images/d.gif\" align=\"middle\" hspace=\"5\">";
        $link_parent .= "<a href=\"./catalog.php?categ=serials&sub=view&serial_id=";
        $link_parent .= $myBul->bulletin_notice . "\">" . $myBul->tit1 . '</a>';
        $link_parent .= "<img src=\"./images/d.gif\" align=\"middle\" hspace=\"5\">";
        $link_parent .= "<a href=\"./catalog.php?categ=serials&sub=bulletinage&action=view&bul_id={$bul_id}\">";
        if ($myBul->bulletin_numero) {
            $link_parent .= $myBul->bulletin_numero . " ";
        }
        if ($myBul->mention_date) {
            $link_parent .= " (" . $myBul->mention_date . ") ";
        }
        $link_parent .= "[" . $myBul->aff_date_date . "]";
        $link_parent .= "</a> <img src=\"./images/d.gif\" align=\"middle\" hspace=\"5\">";
        $link_parent .= "<h3>" . $myAnalysis->analysis_tit1 . "</h3>";
        print pmb_bidi("<div class='row'><div class='perio-barre'>" . $link_parent . "</div></div><br />");
        print "<div class='row'>" . $myAnalysis->move_form() . "</div>";
    } else {
        // routine de déplacmeent
        $myAnalysis = new analysis($analysis_id, $bul_id);
        $myAnalysis->move($to_bul);
        print pmb_bidi("<script type=\"text/javascript\">document.location='./catalog.php?categ=serials&sub=bulletinage&action=view&bul_id=" . $to_bul . "'</script>");
        //Redirection
    }
}
if ($acces_m == 0) {
    if (!$analysis_id) {
        error_message('', htmlentities($dom_1->getComment('mod_bull_error'), ENT_QUOTES, $charset), 1, '');
    } else {
        error_message('', htmlentities($dom_1->getComment('mod_depo_error'), ENT_QUOTES, $charset), 1, '');
    }
} else {
    // affichage d'un form pour création, modification d'un article de périodique
    if (!$analysis_id) {
        // pas d'id, c'est une création
        echo str_replace('!!page_title!!', $msg[4000] . $msg[1003] . $msg[4022], $serial_header);
    } else {
        echo str_replace('!!page_title!!', $msg[4000] . $msg[1003] . $msg[analysis_duplicate], $serial_header);
    }
    // on instancie le truc
    $myAnalysis = new analysis($analysis_id, $bul_id);
    $myAnalysis->analysis_id = 0;
    $myAnalysis->duplicate_from_id = $analysis_id;
    $myBul = new bulletinage($bul_id);
    // lien vers la notice chapeau
    $link_parent = "<a href=\"./catalog.php?categ=serials\">";
    $link_parent .= $msg[4010] . "</a>";
    $link_parent .= "<img src=\"./images/d.gif\" align=\"middle\" hspace=\"5\">";
    $link_parent .= "<a href=\"./catalog.php?categ=serials&sub=view&serial_id=";
    $link_parent .= $myBul->bulletin_notice . "\">" . $myBul->tit1 . '</a>';
    $link_parent .= "<img src=\"./images/d.gif\" align=\"middle\" hspace=\"5\">";
    $link_parent .= "<a href=\"./catalog.php?categ=serials&sub=bulletinage&action=view&bul_id={$bul_id}\">";
    if ($myBul->bulletin_numero) {
        $link_parent .= $myBul->bulletin_numero . " ";
    }
    if ($myBul->mention_date) {
Beispiel #9
0
                 $req_notice_date_is_new = ", notice_date_is_new =now() ";
             } else {
                 // raz date
                 $req_notice_date_is_new = ", notice_date_is_new ='' ";
             }
         }
     }
 } else {
     if ($f_notice_is_new) {
         // flag affecté comme new en création
         $req_notice_date_is_new = ", notice_date_is_new =now() ";
     }
 }
 $table['notice_is_new'] = $f_notice_is_new + 0;
 if (!$nberrors) {
     $myAnalysis = new analysis($analysis_id, $bul_id);
     $result = $myAnalysis->analysis_update($table, $req_notice_date_is_new);
 } else {
     error_message_history($msg["notice_champs_perso"], $p_perso->error_message, 1);
     exit;
 }
 if ($id_sug && $result) {
     $req_sug = "update suggestions set num_notice='" . $result . "' where id_suggestion='" . $id_sug . "'";
     pmb_mysql_query($req_sug, $dbh);
 }
 if ($result) {
     //Traitement des liens
     $requete = "DELETE FROM notices_relations WHERE num_notice='{$result}' OR linked_notice='{$result}'";
     pmb_mysql_query($requete);
     for ($i = 0; $i < $max_rel; $i++) {
         $f_rel = "f_rel_type_" . $i;
Beispiel #10
0
         $synchro_rdf->addRdf($serial_id, 0);
     }
 }
 //Bulletin
 if ($bull_type == 'insert_new' && !$bul_id) {
     $req = "insert into bulletins set bulletin_numero='" . $f_bull_new_num . "',\n\t\t\t  mention_date='" . $f_bull_new_mention . "',\n\t\t\t  date_date='" . $f_bull_new_date . "',\n\t\t\t  bulletin_titre='" . $f_bull_new_titre . "',\n\t\t\t  bulletin_notice='" . $serial_id . "'";
     mysql_query($req, $dbh);
     $bul_id = mysql_insert_id();
     if ($pmb_synchro_rdf) {
         $synchro_rdf->addRdf(0, $bul_id);
     }
 }
 $table['serial_id'] = $serial_id;
 $table['bul_id'] = $bul_id;
 if (!$nberrors) {
     $myAnalysis = new analysis($analysis_id, $bul_id);
     $result = $myAnalysis->analysis_update($table);
 } else {
     error_message_history($msg["notice_champs_perso"], $p_perso->error_message, 1);
     exit;
 }
 if ($id_sug && $result) {
     $req_sug = "update suggestions set num_notice='" . $result . "' where id_suggestion='" . $id_sug . "'";
     mysql_query($req_sug, $dbh);
 }
 if ($result) {
     //Traitement des liens
     $requete = "DELETE FROM notices_relations WHERE num_notice='{$result}' OR linked_notice='{$result}'";
     mysql_query($requete);
     for ($i = 0; $i < $max_rel; $i++) {
         $f_rel = "f_rel_type_" . $i;
Beispiel #11
0
function show_list_recept()
{
    global $msg, $charset, $dbh, $tab_bib;
    global $recept_search_form, $recept_list_form, $recept_search_form_suite, $recept_hrow_form, $recept_row_form, $sel_fou_form, $sel_dem_form, $sel_rub_form, $sel_date_form;
    global $bt_app, $bt_rel, $bt_chk, $link_not, $link_bull, $link_art, $link_sug, $bt_cat;
    global $user_userid;
    global $lgstat_filter, $deflt3lgstatcde;
    global $id_bibli, $id_exer;
    global $f_fou_code, $f_dem_code, $t_dem, $f_rub_code;
    global $cde_query, $all_query, $recept_query;
    global $chk_dev;
    global $lgstat_all, $comment_lg_all, $comment_lo_all;
    global $page, $nb_per_page, $nbr_lignes, $last_param;
    global $date_inf, $date_sup;
    //verifications
    if (!$id_bibli) {
        $id_bibli = entites::getSessionBibliID();
    }
    if (!$id_bibli) {
        $id_bibli = $tab_bib[0][0];
    }
    entites::setSessionBibliId($id_bibli);
    $id_exer = exercices::getSessionExerciceId($id_bibli, $id_exer);
    //Affichage form de recherche
    $titre = htmlentities($msg['recherche'] . ' : ' . $msg['acquisition_recept'], ENT_QUOTES, $charset);
    $recept_form = $recept_search_form;
    $recept_form = str_replace('!!form_title!!', $titre, $recept_form);
    $serialized_search = rawurlencode(serialize(array('id_bibli' => $id_bibli, 'id_exer' => $id_exer, 'f_fou_code' => $f_fou_code, 'f_dem_code' => $f_dem_code, 't_dem' => $t_dem, 'f_rub_code' => $f_rub_code, 'cde_query' => stripslashes($cde_query), 'all_query' => stripslashes($all_query), 'chk_dev' => $chk_dev, 'lgstat_filter' => $lgstat_filter)));
    $recept_form = str_replace('!!serialized_search!!', $serialized_search, $recept_form);
    //Affichage selecteur etablissement
    $sel_bibli = entites::getBibliHtmlSelect(SESSuserid, $id_bibli, FALSE, array('class' => 'saisie-50em', 'id' => 'id_bibli', 'name' => 'id_bibli', 'onChange' => 'submit();'));
    $recept_form = str_replace('<!-- sel_bibli -->', $sel_bibli, $recept_form);
    //Affichage selecteur exercice
    $sel_exer = exercices::getHtmlSelect($id_bibli, $id_exer, FALSE, array('id' => 'id_exer', 'name' => 'id_exer', 'onChange' => 'submit();'));
    $recept_form = str_replace('<!-- sel_exer -->', $sel_exer, $recept_form);
    //Affichage fournisseurs
    $i = 0;
    $tab_fou2 = array();
    if (is_array($f_fou_code) && count($f_fou_code)) {
        $tab_fou = entites::getRaisonSociale($f_fou_code, $id_bibli);
        foreach ($f_fou_code as $v) {
            if ($v && $tab_fou[$v]) {
                $tab_fou2[$v] = $tab_fou[$v];
                if ($i > 0) {
                    $recept_form = str_replace('<!-- sel_fou -->', $sel_fou_form . '<!-- sel_fou -->', $recept_form);
                    $recept_form = str_replace('!!i!!', $i, $recept_form);
                }
                $recept_form = str_replace('!!f_fou_code!!', $v, $recept_form);
                $recept_form = str_replace('!!f_fou!!', htmlentities($tab_fou[$v], ENT_QUOTES, $charset), $recept_form);
                $i++;
            }
        }
        $recept_form = str_replace('!!max_fou!!', $i > 0 ? $i : '1', $recept_form);
    }
    if (!$i) {
        $recept_form = str_replace('!!f_fou_code!!', '0', $recept_form);
        $recept_form = str_replace('!!f_fou!!', '', $recept_form);
        $recept_form = str_replace('!!max_fou!!', '1', $recept_form);
    }
    //Affichage demandeurs
    $i = 0;
    $tab_empr = array();
    $tab_user = array();
    if (is_array($f_dem_code) && count($f_dem_code) && is_array($t_dem) && count($t_dem)) {
        foreach ($f_dem_code as $k => $v) {
            if ($t_dem[$k]) {
                $tab_empr[] = $v;
            } else {
                $tab_user[] = $v;
            }
        }
        $tab_empr = emprunteur::getName($tab_empr);
        $tab_user = getUserName($tab_user);
        foreach ($f_dem_code as $k => $v) {
            if ($v && ($t_dem[$k] === '0' && $tab_user[$v] || $t_dem[$k] === '1' && $tab_empr[$v])) {
                if ($i > 0) {
                    $recept_form = str_replace('<!-- sel_dem -->', $sel_dem_form . '<!-- sel_dem -->', $recept_form);
                    $recept_form = str_replace('!!i!!', $i, $recept_form);
                }
                $recept_form = str_replace('!!f_dem_code!!', $v, $recept_form);
                $recept_form = str_replace('!!t_dem!!', $t_dem[$k], $recept_form);
                if ($t_dem[$k]) {
                    $recept_form = str_replace('!!f_dem!!', htmlentities($tab_empr[$v], ENT_QUOTES, $charset), $recept_form);
                } else {
                    $recept_form = str_replace('!!f_dem!!', htmlentities($tab_user[$v], ENT_QUOTES, $charset), $recept_form);
                }
                $i++;
            }
        }
        $recept_form = str_replace('!!max_dem!!', $i > 0 ? $i : '1', $recept_form);
    }
    if (!$i) {
        $recept_form = str_replace('!!f_dem_code!!', '0', $recept_form);
        $recept_form = str_replace('!!t_dem!!', '0', $recept_form);
        $recept_form = str_replace('!!f_dem!!', '', $recept_form);
        $recept_form = str_replace('!!max_dem!!', '1', $recept_form);
    }
    //Affichage rubriques budgetaires
    $i = 0;
    $tab_rub2 = array();
    if (is_array($f_rub_code) && count($f_rub_code)) {
        $tab_rub = rubriques::getLibelle($f_rub_code, $id_bibli, $id_exer, SESSuserid);
        foreach ($f_rub_code as $v) {
            if ($v && $tab_rub[$v]) {
                $tab_rub2[$v] = $tab_rub[$v];
                if ($i > 0) {
                    $recept_form = str_replace('<!-- sel_rub -->', $sel_rub_form . '<!-- sel_rub -->', $recept_form);
                    $recept_form = str_replace('!!i!!', $i, $recept_form);
                }
                $recept_form = str_replace('!!f_rub_code!!', $v, $recept_form);
                $recept_form = str_replace('!!f_rub!!', htmlentities($tab_rub[$v], ENT_QUOTES, $charset), $recept_form);
                $i++;
            }
        }
        $recept_form = str_replace('!!max_rub!!', $i > 0 ? $i : '1', $recept_form);
    }
    if (!$i) {
        $recept_form = str_replace('!!f_rub_code!!', '0', $recept_form);
        $recept_form = str_replace('!!f_rub!!', '', $recept_form);
        $recept_form = str_replace('!!max_rub!!', '1', $recept_form);
    }
    //Affichage zone commande
    if (!isset($chk_dev)) {
        $chk_dev = TYP_ACT_CDE;
    }
    if ($chk_dev) {
        $recept_form = str_replace('!!dev_checked!!', "checked='checked'", $recept_form);
        $recept_form = str_replace('!!cde_checked!!', '', $recept_form);
    } else {
        $recept_form = str_replace('!!dev_checked!!', '', $recept_form);
        $recept_form = str_replace('!!cde_checked!!', "checked='checked'", $recept_form);
    }
    $recept_form = str_replace('!!cde_query!!', htmlentities(stripslashes($cde_query), ENT_QUOTES, $charset), $recept_form);
    //Affichage selecteur dates
    $sel_date_form[0] = str_replace('!!msg!!', htmlentities($msg['acquisition_recept_date'], ENT_QUOTES, $charset), $sel_date_form[0]);
    if ($date_inf) {
        $date_inf_lib = formatdate($date_inf);
    } else {
        $date_inf_lib = $msg['parperso_nodate'];
    }
    $sel_date_form[1] = str_replace('!!date_inf!!', $date_inf, $sel_date_form[1]);
    $sel_date_form[1] = str_replace('!!date_inf_lib!!', $date_inf_lib, $sel_date_form[1]);
    if ($date_sup) {
        $date_sup_lib = formatdate($date_sup);
    } else {
        $date_sup_lib = $msg['parperso_nodate'];
    }
    $sel_date_form[2] = str_replace('!!date_sup!!', $date_sup, $sel_date_form[2]);
    $sel_date_form[2] = str_replace('!!date_sup_lib!!', $date_sup_lib, $sel_date_form[2]);
    $sel_date_form[0] = sprintf($sel_date_form[0], $sel_date_form[1], $sel_date_form[2]);
    $recept_form = str_replace('<!-- sel_date -->', $sel_date_form[0], $recept_form);
    //Creation selecteur statut de lignes de commandes
    if (!(is_array($lgstat_filter) && count($lgstat_filter))) {
        $lgstat_filter = array(0 => $deflt3lgstatcde);
    }
    $sel_lgstat = lgstat::getHtmlSelect($lgstat_filter, FALSE, array('id' => 'lgstat_filter[]', 'name' => 'lgstat_filter[]', 'multiple' => 'multiple', 'size' => '5'));
    $recept_form = str_replace('<!-- sel_lgstat -->', $sel_lgstat, $recept_form);
    //Affichage zone tous les champs
    $recept_form = str_replace('!!all_query!!', htmlentities(stripslashes($all_query), ENT_QUOTES, $charset), $recept_form);
    //Prise en compte du formulaire de recherche
    // nombre de références par pages
    if (!$nb_per_page) {
        $nb_per_page = 10;
    }
    if (!$page) {
        $page = 1;
    }
    $debut = ($page - 1) * $nb_per_page;
    //La recherche ici
    $recept = new receptions($id_bibli, $id_exer);
    //filtre
    $filtres = $recept->setFiltres(array_keys($tab_fou2), array_keys($tab_empr), array_keys($tab_user), array_keys($tab_rub2), $chk_dev, $cde_query, $lgstat_filter, $date_inf, $date_sup);
    // comptage
    if (!$nbr_lignes) {
        $nbr_lignes = $recept->calcNbLignes($all_query);
        $err = $recept->getError();
    }
    // liste
    if ($nbr_lignes) {
        $t_list = $recept->getLignes();
        //Affichage des lignes
        $recept_form .= $recept_list_form;
        //Affichage zone de reception
        $recept_form = str_replace('!!recept_query!!', htmlentities(stripslashes($recept_query), ENT_QUOTES, $charset), $recept_form);
        $tab_aff = array();
        $lgstat_form = lgstat::getHtmlSelect(array(0 => 0), FALSE, array('id' => 'sel_lgstat_!!id_lig!!', 'onchange' => 'recept_upd_lgstat(this.getAttribute("id"));'));
        $act_form = '';
        $i = 1;
        foreach ($t_list as $id_acte => $t_row) {
            //Affichage lignes à recevoir
            foreach ($t_row as $id_ligne => $row) {
                if (!in_array($id_acte, $tab_aff)) {
                    array_push($tab_aff, $id_acte);
                    $recept_form = str_replace('<!-- actes -->', $act_form . '<!-- actes -->', $recept_form);
                    $act_form = str_replace('!!lib_acte!!', htmlentities($msg['acquisition_recept_fou'], ENT_QUOTES, $charset) . "&nbsp;<a href=\"./acquisition.php?categ=ach&sub=fourn&action=modif&id_bibli=" . $id_bibli . '&id=' . $row['num_fournisseur'] . "\">" . htmlentities($row['raison_sociale'], ENT_QUOTES, $charset) . "</a>" . '&nbsp;' . (htmlentities($row['type_acte'] ? $msg['acquisition_act_num_dev'] : $msg['acquisition_act_num_cde'], ENT_QUOTES, $charset) . "<a href=\"./acquisition.php?categ=ach&sub=" . ($row['type_acte'] ? 'devi' : 'cmde') . "&action=modif&id_bibli=" . $id_bibli . ($row['type_acte'] ? '&id_dev=' : '&id_cde=') . $id_acte . "\">" . htmlentities($row['numero'], ENT_QUOTES, $charset) . "</a>") . '&nbsp;' . htmlentities($msg['653'], ENT_QUOTES, $charset) . '&nbsp;' . formatdate($row['date_acte']), $recept_hrow_form);
                }
                $row_form = $recept_row_form;
                $row_form = str_replace('!!code!!', htmlentities($row['code'], ENT_QUOTES, $charset), $row_form);
                $row_form = str_replace('!!lib!!', nl2br(htmlentities($row['libelle'], ENT_QUOTES, $charset)), $row_form);
                $row_form = str_replace('!!qte_cde!!', $row['nb_cde'], $row_form);
                $row_form = str_replace('!!qte_liv!!', $row['nb_liv'], $row_form);
                $row_form = str_replace('!!qte_sol!!', $row['nb_sol'], $row_form);
                $lgstat_row_form = str_replace("value='" . $row['statut'] . "'", "value='" . $row['statut'] . "' selected='selected' ", $lgstat_form);
                $row_form = str_replace('!!lgstat!!', $lgstat_row_form, $row_form);
                $row_form = str_replace('!!comment_lg!!', nl2br(htmlentities($row['commentaires_gestion'], ENT_QUOTES, $charset)), $row_form);
                $row_form = str_replace('!!comment_lo!!', nl2br(htmlentities($row['commentaires_opac'], ENT_QUOTES, $charset)), $row_form);
                $row_form = str_replace('!!id_lig!!', $id_ligne, $row_form);
                $row_form = str_replace('!!typ_lig!!', $row['type_ligne'], $row_form);
                if ($row['num_produit']) {
                    switch ($row['type_ligne']) {
                        case '1':
                            //notice
                            $row_form = str_replace('<!-- link_cat -->', $link_not, $row_form);
                            break;
                        case '2':
                            //bulletin
                            $row_form = str_replace('<!-- link_cat -->', $link_bull, $row_form);
                            break;
                        case '5':
                            //article
                            $id_bull = analysis::getBulletinIdFromAnalysisId($row['num_produit']);
                            if ($id_bull) {
                                $row_form = str_replace('<!-- link_cat -->', $link_art, $row_form);
                                $row_form = str_replace('!!id_bull!!', $id_bull, $row_form);
                            }
                            break;
                        default:
                            break;
                    }
                } else {
                    $tmp_bt_cat = str_replace('!!id_lig!!', $id_ligne, $bt_cat);
                    $row_form = str_replace('<!-- bt_cat -->', $tmp_bt_cat, $row_form);
                }
                if ($row['num_acquisition']) {
                    $row_form = str_replace('<!-- link_sug -->', $link_sug, $row_form);
                    $row_form = str_replace('!!id_sug!!', $row['num_acquisition'], $row_form);
                }
                $row_form = str_replace('!!id_prod!!', $row['num_produit'], $row_form);
                $row_form = str_replace('!!no!!', $i, $row_form);
                $tab_rel = array();
                $tab_rel = lignes_actes::getRelances($id_ligne);
                $row_form = str_replace('!!nb_relances!!', htmlentities(sprintf($msg['acquisition_recept_hist'], count($tab_rel)), ENT_QUOTES, $charset), $row_form);
                if (count($tab_rel)) {
                    $row_form = str_replace('<!-- relances -->', implode('&nbsp;-&nbsp; ', $tab_rel), $row_form);
                }
                $act_form = str_replace('<!-- lignes -->', $row_form . '<!-- lignes -->', $act_form);
                $i++;
            }
        }
        $recept_form = str_replace('<!-- actes -->', $act_form . '<!-- actes -->', $recept_form);
        $recept_form = str_replace('!!max_no!!', $i * 1 - 1, $recept_form);
        //Affichage commentaires
        $recept_form = str_replace('!!comment_lg_all!!', htmlentities(stripslashes($comment_lg_all), ENT_QUOTES, $charset), $recept_form);
        $recept_form = str_replace('!!comment_lo_all!!', htmlentities(stripslashes($comment_lo_all), ENT_QUOTES, $charset), $recept_form);
        //boutons
        $lgstat_all = lgstat::getHtmlSelect(array(0 => 0), $msg['acquisition_recept_lgstat_none'], array('id' => 'sel_lgstat_all', 'name' => 'sel_lgstat_all'));
        $recept_form = str_replace('<!-- sel_lgstat_all -->', $lgstat_all, $recept_form);
        $recept_form = str_replace('<!-- bt_app -->', $bt_app, $recept_form);
        $recept_form = str_replace('<!-- bt_rel -->', $bt_rel, $recept_form);
        $recept_form = str_replace('<!-- bt_chk -->', $bt_chk, $recept_form);
        //Barre de navigation
        /*
        if (!$last_param) {
        	$nav_bar = aff_pagination ($url_base, $nbr_lignes, $nb_per_page, $page, 10, true, true) ;
        	    } else {
        	    	$nav_bar = "";
        	    }
        	    $recept_form=str_replace('<!-- nav_bar -->', $nav_bar,$recept_form);
        */
        $recept_form .= $recept_search_form_suite;
        print $recept_form;
    } elseif ($err) {
        //erreur dans la recherche
        $recept_form .= $recept_search_form_suite;
        print $recept_form;
        print $err;
    } else {
        // pas de resultat
        $recept_form .= $recept_search_form_suite;
        print $recept_form;
        $cle = array();
        if ($cde_query) {
            $cle[] = htmlentities($msg['acquisition_recept_act_search'] . ' ' . stripslashes($cde_query), ENT_QUOTES, $charset);
        }
        if ($all_query) {
            $cle[] = htmlentities($msg['acquisition_recept_global_search'] . ' ' . stripslashes($all_query), ENT_QUOTES, $charset);
        }
        error_message($msg['acquisition_recept_rech'], str_replace('!!cle!!', implode(',', $cle), $msg['acquisition_recept_rech_error']), 0);
    }
}