~ubuntu-branches/debian/squeeze/spip/squeeze

« back to all changes in this revision

Viewing changes to ecrire/action/reorganiser.php

  • Committer: Bazaar Package Importer
  • Author(s): Romain Beauxis
  • Date: 2009-03-06 20:06:46 UTC
  • Revision ID: james.westby@ubuntu.com-20090306200646-263me7r27w305lk3
Tags: upstream-2.0.5
ImportĀ upstreamĀ versionĀ 2.0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
/***************************************************************************\
 
4
 *  SPIP, Systeme de publication pour l'internet                           *
 
5
 *                                                                         *
 
6
 *  Copyright (c) 2001-2009                                                *
 
7
 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
 
8
 *                                                                         *
 
9
 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
 
10
 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 
11
\***************************************************************************/
 
12
 
 
13
if (!defined("_ECRIRE_INC_VERSION")) return;
 
14
 
 
15
include_spip('inc/autoriser');
 
16
 
 
17
// http://doc.spip.org/@gerer_deplacements
 
18
function gerer_deplacements($deplacements){
 
19
        foreach(explode("\n",$deplacements) as $dep){
 
20
                $mouvement=explode(":",$dep);
 
21
                list($quoi,$id_quoi) = explode("-",$mouvement[0]);
 
22
                list($cible, $id_cible) =explode("-",$mouvement[1]);
 
23
                $f = 'reorganiser_' . $quoi . '_' . $cible;
 
24
                if (function_exists($f))
 
25
                        $f(intval($id_quoi), intval($id_cible));
 
26
                else spip_log("reorganiser $dep: incompris");
 
27
        }
 
28
}
 
29
 
 
30
// http://doc.spip.org/@reorganiser_article_rubrique
 
31
function reorganiser_article_rubrique($id_article, $id_rubrique)
 
32
{
 
33
        if ($id_rubrique
 
34
        AND autoriser('modifier','rubrique',$id_rubrique)
 
35
        AND autoriser('modifier','article',$id_article)) {
 
36
 
 
37
                include_spip('action/editer_article');
 
38
                include_spip('inc/rubriques');
 
39
                $s = sql_fetsel("statut, id_rubrique", "spip_articles", "id_article=$id_article");
 
40
                editer_article_heritage($id_article,
 
41
                                        $s['id_rubrique'], 
 
42
                                        $s['statut'],
 
43
                                        array('id_rubrique' => $id_rubrique));
 
44
        }
 
45
}
 
46
 
 
47
// http://doc.spip.org/@reorganiser_rubrique_rubrique
 
48
function reorganiser_rubrique_rubrique($id_quoi, $id_cible)
 
49
{
 
50
        if (($id_quoi != $id_cible)
 
51
        AND autoriser('modifier','rubrique',$id_cible)
 
52
        AND autoriser('modifier','rubrique',$id_quoi)) {
 
53
                if (!$id_cible)
 
54
                        $id_secteur = $id_quoi;
 
55
                else {
 
56
                        $id_secteur = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=$id_cible");
 
57
                }
 
58
 
 
59
                $s = sql_fetsel("statut, id_parent", "spip_rubriques", "id_rubrique=$id_quoi");
 
60
 
 
61
                sql_updateq('spip_rubriques', array('id_parent' => $id_cible, 'id_secteur'=>$id_secteur),  "id_rubrique=".sql_quote($id_quoi));
 
62
 
 
63
                if ($s['statut'] == 'publie') {
 
64
                        include_spip('inc/rubriques');
 
65
                        calculer_rubriques_if($s['id_parent'],
 
66
                                              array('id_rubrique' => $id_cible),
 
67
                                              'publie');
 
68
                }
 
69
        }
 
70
}
 
71
 
 
72
// http://doc.spip.org/@action_reorganiser_dist
 
73
function action_reorganiser_dist(){
 
74
 
 
75
        $securiser_action = charger_fonction('securiser_action', 'inc');
 
76
        $securiser_action();
 
77
 
 
78
        if (_request('deplacements')!==NULL)
 
79
                  gerer_deplacements(_request('deplacements'));
 
80
 
 
81
        $redirect = _request('redirect');
 
82
        if ($redirect==NULL) $redirect="";
 
83
 
 
84
        redirige_par_entete(str_replace("&amp;","&",urldecode($redirect)));
 
85
}
 
86
 
 
87
 
 
88
?>