$sug_map = new suggestions_map();
$sug_form = "<h3>" . htmlentities($msg["empr_make_sugg"], ENT_QUOTES, $charset) . "</h3>\n";
// Contrôle des données saisies
if ($tit != "" && ($aut != "" || $edi != "" || $code != "" || $_FILES['piece_jointe_sug']['name'] != "")) {
    //Les données minimun ont été saisies
    $userid = $_SESSION["id_empr_session"];
    if (!$userid) {
        $type = '2';
        //Visiteur non authentifié
        $userid = $mail;
    } else {
        $type = '1';
        //Abonné
    }
    //On évite de saisir 2 fois la même suggestion
    if ($id_sug || !suggestions::exists($userid, $tit, $aut, $edi, $code)) {
        $su = new suggestions($id_sug);
        $su->titre = stripslashes($tit);
        $su->editeur = stripslashes($edi);
        $su->auteur = stripslashes($aut);
        $su->code = stripslashes($code);
        $prix = str_replace(',', '.', $prix);
        if (is_numeric($prix)) {
            $su->prix = $prix;
        }
        $su->nb = (int) $nb ? (int) $nb : "1";
        $su->statut = $sug_map->getFirstStateId();
        $su->url_suggestion = stripslashes($url_sug);
        $su->commentaires = stripslashes($comment);
        $su->date_creation = today();
        $su->date_publi = stripslashes($date_publi);
function update_sug()
{
    global $id_bibli, $id_sug, $id_notice;
    global $tit, $edi, $aut, $cod, $pri, $com, $com_gestion, $date_publi;
    global $statut, $orig, $typ, $url_sug, $sug_src;
    global $sug_map;
    global $acquisition_sugg_categ, $acquisition_sugg_categ_default;
    global $num_categ;
    global $sugg_location_id;
    global $nombre_expl;
    global $creator_orig_id;
    global $dbh;
    if (!$id_sug && suggestions::exists($orig, $tit, $aut, $edi, $cod)) {
        return;
    }
    $sug = new suggestions($id_sug);
    $sug->titre = stripslashes($tit);
    $sug->editeur = stripslashes($edi);
    $sug->auteur = stripslashes($aut);
    $sug->code = stripslashes($cod);
    $sug->num_notice = $id_notice;
    $pri = str_replace(',', '.', $pri);
    if (is_numeric($pri)) {
        $sug->prix = $pri;
    }
    $sug->url_suggestion = stripslashes($url_sug);
    $sug->commentaires = stripslashes($com);
    $sug->commentaires_gestion = stripslashes($com_gestion);
    $sug->nb = $nombre_expl;
    $sug->date_publi = $date_publi;
    $sug->sugg_src = $sug_src;
    $q = "select count(1) from docs_location where idlocation = '" . $sugg_location_id . "' ";
    $r = mysql_query($q);
    if ($sugg_location_id && mysql_result($r, 0, 0)) {
        $sug->sugg_location = $sugg_location_id;
    } else {
        $sug->sugg_location = 0;
    }
    // chargement de la PJ
    $explnum_doc = "";
    if ($_FILES['piece_jointe_sug']['name']) {
        $explnum_doc = new explnum_doc();
        $explnum_doc->load_file($_FILES['piece_jointe_sug']);
        $explnum_doc->analyse_file();
    }
    if (!$id_sug) {
        $sug->statut = $sug_map->getFirstStateId();
        $sug->date_creation = today();
        if ($num_categ && suggestions_categ::exists($num_categ)) {
            $sug->num_categ = $num_categ;
        } else {
            $sug->num_categ = '1';
        }
        $sug->save($explnum_doc);
        $sug_orig = new suggestions_origine($orig, $sug->id_suggestion);
        $sug_orig->type_origine = $typ;
        $sug_orig->save();
    } else {
        if ($num_categ && suggestions_categ::exists($num_categ)) {
            $sug->num_categ = $num_categ;
        }
        $sug->save($explnum_doc);
        if ($creator_orig_id) {
            $sug_orig = new suggestions_origine($creator_orig_id, $sug->id_suggestion);
            $sug_orig->type_origine = $typ;
            $sug_orig->save();
        }
    }
}
 function save()
 {
     global $dbh, $max_nblignes, $msg, $id_empr, $empr_location, $num_categ;
     for ($i = 0; $i < $max_nblignes; $i++) {
         $tit = "sugg_tit_" . $i;
         $aut = "sugg_aut_" . $i;
         $edi = "sugg_edi_" . $i;
         $code = "sugg_code_" . $i;
         $prix = "sugg_prix_" . $i;
         $com = "sugg_com_" . $i;
         $url = "sugg_url_" . $i;
         $qte = "sugg_qte_" . $i;
         $src = "sugg_src_" . $i;
         $date = "sugg_date_" . $i;
         $unimarc = "id_unimarc_" . $i;
         $notice = "id_notice_" . $i;
         global $sug_tr, ${$tit}, ${$aut}, ${$edi}, ${$code}, ${$com}, ${$prix}, ${$url}, ${$qte}, ${$src}, ${$date}, ${$unimarc}, ${$notice};
         if (isset(${$tit})) {
             if (!is_numeric(${$qte})) {
                 print "<strong>" . $msg[empr_sugg_qte_error] . "<strong>";
                 return;
             } else {
                 if (!${$tit} || !${$edi} && !${$aut} && !${$code}) {
                     print "<strong>" . str_replace('\\n', '<br />', $msg['empr_sugg_ko']) . "<strong>";
                     return;
                 } else {
                     if (!suggestions::exists($id_empr, ${$tit}, ${$aut}, ${$edi}, ${$code})) {
                         ${$prix} = str_replace(',', '.', ${$prix});
                         $req = "insert into suggestions set \n\t\t\t\t\t\t\ttitre='" . ${$tit} . "',\n\t\t\t\t\t\t\tauteur='" . ${$aut} . "',\n\t\t\t\t\t\t\tediteur='" . ${$edi} . "',\n\t\t\t\t\t\t\tcode='" . ${$code} . "',\n\t\t\t\t\t\t\tprix='" . ${$prix} . "',\n\t\t\t\t\t\t\tcommentaires='" . ${$com} . "',\n\t\t\t\t\t\t\turl_suggestion='" . ${$url} . "',\n\t\t\t\t\t\t\tnb='" . ${$qte} . "',\n\t\t\t\t\t\t\tsugg_source='" . ${$src} . "',\n\t\t\t\t\t\t\tstatut=1,\n\t\t\t\t\t\t\tdate_publication='" . ${$date} . "',\n\t\t\t\t\t\t\tdate_creation='" . date("Y-m-d") . "',\n\t\t\t\t\t\t\tsugg_location='" . $empr_location . "',\n\t\t\t\t\t\t\tnum_categ='" . $num_categ . "'\n\t\t\t\t\t\t\t";
                         if (${$unimarc}) {
                             $uni = new suggestions_unimarc(${$unimarc});
                             $req .= ", notice_unimarc ='" . addslashes($uni->sugg_uni_notice) . "'";
                         }
                         if (${$notice}) {
                             $req .= ", num_notice ='" . ${$notice} . "'";
                         }
                         pmb_mysql_query($req, $dbh);
                         $idSugg = pmb_mysql_insert_id();
                         if (is_object($uni)) {
                             $uni->delete();
                         }
                         $sug_orig = new suggestions_origine($id_empr, $idSugg);
                         $sug_orig->type_origine = 1;
                         $sug_orig->save();
                         //Envoi mail
                         $su = new suggestions($idSugg);
                         suggestions::alert_mail_sugg_users_pmb(1, $id_empr, $su->get_table(), $su->sugg_location);
                         print $msg['empr_sugg_ok'];
                     } else {
                         print $msg['empr_sugg_already_exist'];
                     }
                 }
             }
         }
     }
 }
 function add_suggestion2($session_id, $suggestion)
 {
     global $dbh, $msg;
     if (!$session_id) {
         return 0;
     }
     $title = $suggestion['sugg_title'];
     $author = $suggestion['sugg_author'];
     $editor = $suggestion['sugg_editor'];
     $isbn_or_ean = $suggestion['sugg_barcode'];
     $price = $suggestion['sugg_price'];
     $url = $suggestion['sugg_url'];
     $comment = $suggestion['sugg_comment'];
     $sugg_categ = $suggestion['sugg_category'];
     $sugg_source = $suggestion['sugg_source'];
     $sugg_location = $suggestion['sugg_location'];
     global $charset;
     if ($this->proxy_parent->input_charset != 'utf-8' && $charset == 'utf-8') {
         $title = utf8_encode($suggestion['sugg_title']);
         $author = utf8_encode($suggestion['sugg_author']);
         $editor = utf8_encode($suggestion['sugg_editor']);
         $isbn_or_ean = utf8_encode($suggestion['sugg_barcode']);
         $price = utf8_encode($suggestion['sugg_price']);
         $url = utf8_encode($suggestion['sugg_url']);
         $comment = utf8_encode($suggestion['sugg_comment']);
         $sugg_categ = utf8_encode($suggestion['sugg_category']);
         $sugg_source = utf8_encode($suggestion['sugg_source']);
         $sugg_location = utf8_encode($suggestion['sugg_location']);
     } else {
         if ($this->proxy_parent->input_charset == 'utf-8' && $charset != 'utf-8') {
             $title = utf8_decode($suggestion['sugg_title']);
             $author = utf8_decode($suggestion['sugg_author']);
             $editor = utf8_decode($suggestion['sugg_editor']);
             $isbn_or_ean = utf8_decode($suggestion['sugg_barcode']);
             $price = utf8_decode($suggestion['sugg_price']);
             $url = utf8_decode($suggestion['sugg_url']);
             $comment = utf8_decode($suggestion['sugg_comment']);
             $sugg_categ = utf8_decode($suggestion['sugg_category']);
             $sugg_source = utf8_decode($suggestion['sugg_source']);
             $sugg_location = utf8_decode($suggestion['sugg_location']);
         }
     }
     $session_info = $this->retrieve_session_information($session_id);
     $empr_id = $session_info["empr_id"];
     if (!$empr_id) {
         return 0;
     }
     $sug_map = new suggestions_map();
     global $opac_sugg_categ, $opac_sugg_categ_default;
     //copié de /opac_css/empr/make_sugg.inc.php
     //On évite de saisir 2 fois la même suggestion
     if (!suggestions::exists($empr_id, $title, $author, $editor, $isbn_or_ean)) {
         $su = new suggestions();
         $su->titre = $title;
         $su->editeur = $editor;
         $su->auteur = $author;
         $su->code = $isbn_or_ean;
         $price = str_replace(',', '.', $price);
         if (is_numeric($price)) {
             $su->prix = $price;
         }
         $su->nb = 1;
         $su->statut = $sug_map->getFirstStateId();
         $su->url_suggestion = $url;
         $su->commentaires = $comment;
         $su->date_creation = today();
         $su->sugg_src = $sugg_source;
         if ($opac_sugg_categ == '1') {
             if (!suggestions_categ::exists($sugg_categ)) {
                 $sugg_categ = $opac_sugg_categ_default;
             }
             if (!suggestions_categ::exists($sugg_categ)) {
                 $sugg_categ = '1';
             }
             $su->num_categ = $sugg_categ;
         }
         $su->sugg_location = $sugg_location;
         $su->save();
         $orig = new suggestions_origine($empr_id, $su->id_suggestion);
         $orig->type_origine = 1;
         $orig->save();
         return true;
     }
     return 0;
 }