public function duplicate($num_parent = 0) { global $dbh; if (!$num_parent) { $num_parent = $this->num_parent; } //on place le nouvel article à la fin par défaut $query = "SELECT id_article FROM cms_articles WHERE num_section=" . addslashes($num_parent); $result = pmb_mysql_query($query); if ($result) { $order = ",article_order = '" . (pmb_mysql_num_rows($result) + 1) . "' "; } else { $order = ",article_order = 1"; } $insert = "insert into cms_articles set \n\t\tarticle_title = '" . addslashes($this->title) . "', \n\t\tarticle_resume = '" . addslashes($this->resume) . "', \n\t\tarticle_contenu = '" . addslashes($this->contenu) . "',\n\t\tarticle_logo = '" . addslashes($this->logo->data) . "',\n\t\tarticle_publication_state ='" . addslashes($this->publication_state) . "', \n\t\tarticle_start_date = '" . addslashes($this->start_date) . "', \n\t\tarticle_end_date = '" . addslashes($this->end_date) . "', \n\t\tnum_section = '" . addslashes($num_parent) . "', \n\t\tarticle_num_type = '" . $this->num_type . "',\n\t\tarticle_creation_date=sysdate() " . $order; pmb_mysql_query($insert, $dbh); $id = pmb_mysql_insert_id(); //au tour des descripteurs... for ($i = 0; $i < count($this->descriptors); $i++) { $rqt = "insert into cms_articles_descriptors set num_article = '" . $id . "', num_noeud = '" . $this->descriptors[$i] . "',article_descriptor_order='" . $i . "'"; pmb_mysql_query($rqt, $dbh); } //on crée la nouvelle instance $new_article = new cms_article($id); //enfin les éléments du type de contenu $types = new cms_editorial_types("article"); $types->duplicate_type_form($this->num_type, $id, $this->id); $new_article->maj_indexation(); $new_article->documents_linked = $this->documents_linked; $new_article->save_documents(); }