|
|
|
@ -15,16 +15,16 @@ function trim_value(&$value){$value = trim($value);}
|
|
|
|
|
function dupliquer_article($id_article,$rubrique){ |
|
|
|
|
include_spip('action/editer_article'); |
|
|
|
|
include_spip('inc/config'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// On lit l'article qui va etre dupliqué |
|
|
|
|
$infos = sql_fetsel("*", 'spip_articles', "id_article=".intval($id_article)); |
|
|
|
|
|
|
|
|
|
// On choisi les champs que l'on veut conserver |
|
|
|
|
$champs_dupliques = explode(",", lire_config('duplicator/config/art_champs')); |
|
|
|
|
array_walk($champs_dupliques, 'trim_value'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($champs_dupliques[0]==''){ $champs_dupliques = array( 'surtitre','titre','soustitre','descriptif','chapo','texte','ps','accepter_forum','lang','langue_choisie','nom_site','url_site' ); } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Si le plugin composition est présent |
|
|
|
|
if (test_plugin_actif('compositions')) { |
|
|
|
|
$champs_dupliques[] = 'composition'; |
|
|
|
@ -46,7 +46,7 @@ function dupliquer_article($id_article,$rubrique){
|
|
|
|
|
// On le clone avec les champs choisis ci-dessus, il sera NON publié par défaut |
|
|
|
|
$id_article = insert_article($rubrique); |
|
|
|
|
revision_article($id_article, $infos_de_l_article); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Suivant la configuration, on lui rend son statut ou on le laisse en brouillon |
|
|
|
|
if (strcmp(lire_config('duplicator/config/duplic_article_etat_pub'),"oui") == 0) { |
|
|
|
|
$c = array('statut' => $infos['statut']); |
|
|
|
@ -55,11 +55,11 @@ function dupliquer_article($id_article,$rubrique){
|
|
|
|
|
|
|
|
|
|
// On lui remet ses mots clefs |
|
|
|
|
remettre_les_mots_clefs($mots_clefs_de_l_article,$id_article,'article'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// On lui copie ses logos |
|
|
|
|
dupliquer_logo($id_article_ori,$id_article,'article',false); |
|
|
|
|
dupliquer_logo($id_article_ori,$id_article,'article',true); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//On verifie qu'on a bien associé les documents |
|
|
|
|
$n = 0; |
|
|
|
|
if($docs = sql_select("*", "spip_documents_liens", "objet = 'article' AND id_objet = ".intval($id_article_ori))){ //Documents liés à l'article d'origine |
|
|
|
@ -71,12 +71,12 @@ function dupliquer_article($id_article,$rubrique){
|
|
|
|
|
$id_document = sql_insertq('spip_documents_liens', array('id_document'=> $doc['id_document'], 'id_objet' => $id_article, 'objet' => 'article', 'vu' => $doc['vu'])); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
///////////////////////////////////// |
|
|
|
|
// Duplication des url dans spip_url |
|
|
|
|
///////////////////////////////////// |
|
|
|
|
$where = array( |
|
|
|
|
$where = array( |
|
|
|
|
"id_objet=".intval($id_article), |
|
|
|
|
"type='article'", |
|
|
|
|
); |
|
|
|
@ -103,7 +103,7 @@ function dupliquer_article($id_article,$rubrique){
|
|
|
|
|
* - Conserve le contenu de la rubrique source |
|
|
|
|
* - Conserve les mots clefs de la rubrique source |
|
|
|
|
* - Conserve les articles de la rubrique source |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* @param int $id_rubrique |
|
|
|
|
* Identifiant numérique de la rubrique à dupliquer |
|
|
|
|
* @param int $cible null |
|
|
|
@ -116,23 +116,23 @@ 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 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('titre','descriptif','texte','lang','langue_choisie'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Si le plugin composition est présent |
|
|
|
|
if (test_plugin_actif('compositions')) { |
|
|
|
|
$champs_dupliques[] = 'composition'; |
|
|
|
|
$champs_dupliques[] = 'composition_lock'; |
|
|
|
|
$champs_dupliques[] = 'composition_branche_lock'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)); |
|
|
|
|
|
|
|
|
@ -140,10 +140,10 @@ function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles
|
|
|
|
|
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'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// On cherche ses sous-rubriques |
|
|
|
|
$rubriques_de_la_rubrique = sql_allfetsel('id_rubrique', 'spip_rubriques', "id_parent=".intval($id_rubrique)); |
|
|
|
|
|
|
|
|
@ -153,7 +153,7 @@ function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles
|
|
|
|
|
$id_nouvelle_rubrique = rubrique_inserer($cible); |
|
|
|
|
rubrique_modifier($id_nouvelle_rubrique,$infos_de_la_rubrique); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//On verifie qu'on a bien associé les documents |
|
|
|
|
$n = 0; |
|
|
|
|
if($docs = sql_select("*", "spip_documents_liens", "objet = 'rubrique' AND id_objet = ".intval($id_rubrique))){ //Documents liés à la rubrique d'origine |
|
|
|
@ -165,16 +165,16 @@ function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles
|
|
|
|
|
$id_document = sql_insertq('spip_documents_liens', array('id_document'=> $doc['id_document'], 'id_objet' => $id_nouvelle_rubrique, 'objet' => 'rubrique', 'vu' => $doc['vu'])); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
///////////////////////////////////// |
|
|
|
|
// Duplication des url dans spip_url |
|
|
|
|
///////////////////////////////////// |
|
|
|
|
$where = array( |
|
|
|
|
$where = array( |
|
|
|
|
"id_objet=".intval($id_rubrique), |
|
|
|
|
"type='rubrique'", |
|
|
|
|
); |
|
|
|
|
$infos_url = sql_fetsel('*', 'spip_urls', $where, 'date', 'date DESC'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$infos_url['id_objet'] = $id_nouvelle_rubrique; |
|
|
|
|
$url = $infos_url['url']; |
|
|
|
|
//$infos_url['url'] |
|
|
|
@ -182,7 +182,7 @@ function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles
|
|
|
|
|
if ($c == 0) $infos_url['url'] = $url.'-'.$id_nouvelle_rubrique; // Ajoute le numéro de l'article |
|
|
|
|
else $infos_url['url'] = $u.'-'.$id_nouvelle_rubrique; |
|
|
|
|
sql_insertq('spip_urls', $infos_url); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// On lui remet ses mots clefs |
|
|
|
|
remettre_les_mots_clefs($mots_clefs_de_la_rubrique,$id_nouvelle_rubrique,'rubrique'); |
|
|
|
|
|
|
|
|
@ -205,19 +205,19 @@ function dupliquer_rubrique($id_rubrique,$cible=null,$titre=' (copie)',$articles
|
|
|
|
|
$id_rubrique = $valeur['id_rubrique']; |
|
|
|
|
$nouvelle_sous_rubrique = dupliquer_rubrique($id_rubrique,$id_nouvelle_rubrique,'',$articles); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $id_nouvelle_rubrique; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function lire_les_mots_clefs($id,$type){ |
|
|
|
|
$champs = array('id_mot'); |
|
|
|
|
$from = 'spip_mots_liens'; |
|
|
|
|
$where = array( |
|
|
|
|
$where = array( |
|
|
|
|
"id_objet=".intval($id), |
|
|
|
|
"objet=".sql_quote($type) |
|
|
|
|
); |
|
|
|
|
$mots_clefs = sql_allfetsel($champs, $from, $where); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $mots_clefs; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -232,7 +232,7 @@ function remettre_les_mots_clefs($mots = array(),$id,$type){
|
|
|
|
|
) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -245,7 +245,7 @@ function dupliquer_logo($id_source, $id_destination, $type='article', $bsurvol =
|
|
|
|
|
|
|
|
|
|
if ( $bsurvol == true ){ |
|
|
|
|
$logo_type = 'off'; // logo survol |
|
|
|
|
} else $logo_type = 'on'; // logo |
|
|
|
|
} else $logo_type = 'on'; // logo |
|
|
|
|
|
|
|
|
|
$chercher_logo = charger_fonction('chercher_logo', 'inc'); |
|
|
|
|
|
|
|
|
|