Browse Source

Améliorations et optimisations

On utilise le fonctions de SPIP 3.0 (il reste des choses à améliorer au niveau des mots clés notamment)

Protection au niveau des id_objet
v1
kent1@arscenic.info 9 years ago
parent
commit
65e3ce8364
  1. 27
      inc/duplicator.php

27
inc/duplicator.php

@ -93,15 +93,12 @@ function dupliquer_article($id_article,$rubrique){
function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles = true){
include_spip('action/editer_rubrique');
include_spip('inc/config');
// On lit la rubrique qui va etre dupliquée
$infos = sql_fetsel('*', 'spip_rubriques', "id_rubrique=".intval($id_rubrique));
// On choisi les champs que l'on veut conserver
$champs_dupliques = explode(",", lire_config('duplicator/config/rub_champs'));
array_walk($champs_dupliques, 'trim_value');
if ($champs_dupliques[0]=="") $champs_dupliques = array('id_parent','titre','descriptif','texte','lang','langue_choisie');
if ($champs_dupliques[0]=="") $champs_dupliques = array('titre','descriptif','texte','lang','langue_choisie');
// Si le plugin composition est présent
if (test_plugin_actif('compositions')) {
@ -110,13 +107,17 @@ function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles
$champs_dupliques[] = 'composition_branche_lock';
}
foreach ($champs_dupliques as $key => $value) {
$infos_de_la_rubrique[$value] = $infos[$value];
}
if(isset($champs_dupliques['id_parent']))
unset($champs_dupliques['id_parent']);
// On lit la rubrique qui va etre dupliquée
$infos_de_la_rubrique = sql_fetsel($champs_dupliques, 'spip_rubriques', "id_rubrique=".intval($id_rubrique));
// Si une cible est spécifiée, on ecrase le champ id_parent
if($cible) $infos_de_la_rubrique['id_parent'] = $cible;
$infos_de_la_rubrique['titre'] .= $titre;
if(!$cible) $cible = 0;
$infos_de_la_rubrique['titre'] .= $titre;
// On cherche ses mots clefs
$mots_clefs_de_la_rubrique = lire_les_mots_clefs($id_rubrique,'rubrique');
@ -126,10 +127,8 @@ function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles
//////////////
// ON DUPLIQUE
//////////////
$id_nouvelle_rubrique = insert_rubrique($infos_de_la_rubrique['id_parent']);
revisions_rubriques($id_nouvelle_rubrique,$infos_de_la_rubrique);
// On la publie (pour activer l'aperçu)
$maj_statut_rubrique = sql_updateq("spip_rubriques", array('statut' => 'publie'), "id_rubrique=".$id_nouvelle_rubrique);
$id_nouvelle_rubrique = rubrique_inserer($cible);
rubrique_modifier($id_nouvelle_rubrique,$infos_de_la_rubrique);
/////////////////////////////////////
// Duplication des url dans spip_url

Loading…
Cancel
Save