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(); }
} $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 + $start_2) / $count * 100); if ($percent > 100) { $percent = 50; } // affichage du % d'avancement et de l'état print "<div align='center'>{$percent}%</div>"; while ($row = mysql_fetch_assoc($query)) { // permet de charger la bonne langue, mot vide... $article = new cms_article($row['id_article']); $info = $article->maj_indexation(); } 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='start_2' value=\"{$start_2}\">\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 { $query = mysql_query("select id_section from cms_sections order by id_section LIMIT {$start_2}, {$lot}"); if (mysql_num_rows($query)) { // définition de l'état de la jauge $state = floor(($start + $start_2) / ($count / $jauge_size)); if ($start + $start_2 > $count) { $state = floor($count / 2 / ($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%'>";
function cleanCMS() { global $msg, $dbh, $charset, $PMBusername; if (SESSrights & ADMINISTRATION_AUTH) { $result .= "<h3>" . htmlentities($msg["nettoyage_reindex_cms"], ENT_QUOTES, $charset) . "</h3>"; //remise a zero de la table au début pmb_mysql_query("TRUNCATE cms_editorial_words_global_index", $dbh); pmb_mysql_query("ALTER TABLE cms_editorial_words_global_index DISABLE KEYS", $dbh); pmb_mysql_query("TRUNCATE cms_editorial_fields_global_index", $dbh); pmb_mysql_query("ALTER TABLE cms_editorial_fields_global_index DISABLE KEYS", $dbh); $query = "select id_article from cms_articles order by id_article"; $articles = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($articles)) { while ($row = pmb_mysql_fetch_object($articles)) { $article = new cms_article($row->id_article); $article->maj_indexation(); } } $query = "select id_section from cms_sections order by id_section"; $sections = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($sections)) { while ($row = pmb_mysql_fetch_object($sections)) { $section = new cms_section($row->id_section); $section->maj_indexation(); } } pmb_mysql_query("ALTER TABLE cms_editorial_words_global_index ENABLE KEYS", $dbh); pmb_mysql_query("ALTER TABLE cms_editorial_fields_global_index ENABLE KEYS", $dbh); $articles = pmb_mysql_query("SELECT count(1) FROM cms_articles", $dbh); $count = pmb_mysql_result($articles, 0, 0); $sections = pmb_mysql_query("SELECT count(1) FROM cms_sections", $dbh); $count += pmb_mysql_result($sections, 0, 0); $result .= $count . " " . htmlentities($msg['nettoyage_res_reindex_cms'], ENT_QUOTES, $charset); } else { $result .= sprintf($msg["planificateur_rights_bad_user_rights"], $PMBusername); } return $result; }