function replace($by, $del_article = 0) { global $msg; global $dbh; global $pmb_synchro_rdf; global $keep_categories; // traitement des dépouillements du bulletin if ($del_article) { // suppression des notices de dépouillement $this->delete_analysis(); } else { // sinon on ratache les dépouillements existants $requete = "UPDATE analysis SET analysis_bulletin={$by} where analysis_bulletin=" . $this->bulletin_id; @pmb_mysql_query($requete, $dbh); } // traitement des catégories (si conservation cochée) if ($keep_categories) { update_notice_categories_from_form(0, $by); } // ratachement des exemplaires $requete = "UPDATE exemplaires SET expl_bulletin={$by} WHERE expl_bulletin=" . $this->bulletin_id; @pmb_mysql_query($requete, $dbh); // élimination des docs numériques $requete = "UPDATE explnum SET explnum_bulletin={$by} WHERE explnum_bulletin=" . $this->bulletin_id; @pmb_mysql_query($requete, $dbh); //Mise à jour des articles reliés if ($pmb_synchro_rdf) { $synchro_rdf = new synchro_rdf(); $requete = "SELECT analysis_notice FROM analysis WHERE analysis_bulletin='{$by}' "; $result = pmb_mysql_query($requete, $dbh); while ($row = pmb_mysql_fetch_object($result)) { $synchro_rdf->delRdf($row->analysis_notice, 0); $synchro_rdf->addRdf($row->analysis_notice, 0); } } $this->delete(); return false; }
function replace($by, $supp_notice = true) { global $msg; global $dbh; global $keep_categories; if ($this->id == $by) { return $msg[223]; } if ($this->id == $by || !$this->id) { return $msg[223]; } $by_notice = new notice($by); if ($this->biblio_level != $by_notice->biblio_level || $this->hierar_level != $by_notice->hierar_level) { return $msg[catal_rep_not_err1]; } // traitement des catégories (si conservation cochée) if ($keep_categories) { update_notice_categories_from_form($by); } // remplacement dans les exemplaires numériques $requete = "UPDATE explnum SET explnum_notice='{$by}' WHERE explnum_notice='{$this->id}' "; pmb_mysql_query($requete, $dbh); // remplacement dans les exemplaires $requete = "UPDATE exemplaires SET expl_notice='{$by}' WHERE expl_notice='{$this->id}' "; pmb_mysql_query($requete, $dbh); // remplacement dans les depouillements $requete = "UPDATE analysis SET analysis_notice='{$by}' WHERE analysis_notice='{$this->id}' "; pmb_mysql_query($requete, $dbh); // remplacement dans les bulletins $requete = "UPDATE bulletins SET bulletin_notice='{$by}' WHERE bulletin_notice='{$this->id}' "; pmb_mysql_query($requete, $dbh); // remplacement dans les notices filles /*$requete = "UPDATE notices_relations SET num_notice='$by' WHERE num_notice='$this->id' "; @pmb_mysql_query($requete, $dbh); $requete = "UPDATE notices_relations SET linked_notice='$by' WHERE linked_notice='$this->id' "; @pmb_mysql_query($requete, $dbh);*/ // remplacement dans les resas $requete = "UPDATE resa SET resa_idnotice='{$by}' WHERE resa_idnotice='{$this->id}' "; pmb_mysql_query($requete, $dbh); $req = "UPDATE notices_authperso SET notice_authperso_notice_num='{$by}' where notice_authperso_notice_num='{$this->id}' "; pmb_mysql_query($req, $dbh); //Suppression de la notice if ($supp_notice) { notice::del_notice($this->id); } return FALSE; }