source: spip-zone/_plugins_/selection_articles/trunk/action/selection_interface.php @ 103944

Last change on this file since 103944 was 103944, checked in by marcimat@…, 3 years ago

Petite notice PHP de moins

File size: 3.7 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5function action_selection_interface() {
6        $id_rubrique = _request("id_rubrique");
7        if (!autoriser('modifier','rubrique', $id_rubrique)) die ("Interdit");
8
9
10        // Bouton REMONTER
11        if ($_GET["remonter_ordre"] > 0) {
12       
13                $remonter = _request("remonter_ordre");
14                $result = sql_select("*", "spip_pb_selection", "id_rubrique=$id_rubrique", "", "ordre");
15               
16                while ($row = sql_fetch($result)) {
17                        $article = $row["id_article"];
18                        $ordre = $row["ordre"];
19                       
20                       
21                        if ($article == $remonter) break;
22                        else {
23                                $ordre_prec = $ordre;
24                                $art_prec = $article;
25                        }
26                }
27                sql_updateq("spip_pb_selection", array("ordre" => $ordre_prec), "id_rubrique = '$id_rubrique' AND id_article='$remonter'");
28                sql_updateq("spip_pb_selection", array("ordre" => $ordre), "id_rubrique = '$id_rubrique' AND id_article='$art_prec'");
29        }
30       
31
32
33
34        if ($_GET["descendre_ordre"] > 0) {
35                $descendre = _request("descendre_ordre");
36       
37                if (!autoriser('modifier','rubrique', $id_rubrique)) die ("Interdit");
38       
39                $result = sql_select("ordre", "spip_pb_selection", "id_rubrique=$id_rubrique AND id_article=$descendre", "", "ordre");
40               
41                if ($row = sql_fetch($result)) {
42                        $ordre = $row["ordre"];
43                       
44                        $result2 = sql_select("*", "spip_pb_selection", "id_rubrique=$id_rubrique AND ordre>$ordre", "ordre LIMIT 0,1");
45                        if ($row2 = sql_fetch($result2)) {
46                                $ordre_suiv = $row2["ordre"];
47                                $art_suiv = $row2["id_article"];
48       
49                                sql_updateq("spip_pb_selection", array("ordre" => $ordre_suiv), "id_rubrique = '$id_rubrique' AND id_article='$descendre'");
50                                sql_updateq("spip_pb_selection", array("ordre" => $ordre), "id_rubrique = '$id_rubrique' AND id_article='$art_suiv'");
51       
52                        }
53               
54                }
55       
56        }
57
58        if ($_GET["ajouter_selection"] > 0) {
59                $ajouter = _request("ajouter_selection");
60
61                if (!autoriser('modifier','rubrique', $id_rubrique)) die ("Interdit");
62       
63                $result = sql_select("id_article", "spip_articles", "id_article=$ajouter");
64                if ($row = sql_fetch($result)) {
65                        $result_test = sql_select("id_article", "spip_pb_selection", "id_rubrique=$id_rubrique AND id_article=$ajouter");
66                        if ($row_test = sql_fetch($result_test)) {
67                                echo "Cet article est déjà sélectionné.";
68                        } else {
69                                // Pas moyen de faire fonctionner le LIMIT 0,1 et l'ordre inverse avec sqlite
70                                $result_num = sql_select("ordre", "spip_pb_selection", "id_rubrique=$id_rubrique", "ordre");
71                                $ordre = 0;
72                                while ($row_num = sql_fetch($result_num)) {
73                                        $ordre = $row_num["ordre"];
74                                }
75                                $ordre ++;
76                                sql_insertq("spip_pb_selection", array('id_rubrique' => $id_rubrique, 'id_article'=>$ajouter, 'ordre'=>$ordre));
77                               
78                        }
79       
80                } else {
81                        echo "Cet article n'existe pas.";
82                }
83       
84       
85        }
86
87        if ($_GET["supprimer_ordre"] > 0) {
88                $supprimer = _request("supprimer_ordre");
89               
90                if (!autoriser('modifier','rubrique', $id_rubrique)) die ("Interdit");
91                sql_delete("spip_pb_selection", "id_rubrique=$id_rubrique AND id_article=$supprimer");
92       
93        }
94
95        if ($_GET["nouvel_ordre"]) {
96                $nouvel_ordre = explode(",", $_GET["nouvel_ordre"]);
97                if (count($nouvel_ordre) > 0) {
98                        sql_delete("spip_pb_selection", "id_rubrique=$id_rubrique");
99                        $ordre = 0;
100                        foreach($nouvel_ordre AS $id_article) {
101                                $ordre++;
102                                $id_article = substr($id_article, 9, 1000);
103                                        sql_insertq(
104                                                "spip_pb_selection", 
105                                                array(
106                                                        'id_rubrique' => $id_rubrique, 
107                                                        'id_article'=>$id_article, 
108                                                        'ordre'=>$ordre)
109                                                );
110                        }
111                }
112        }
113
114        include_spip("inc/utils");
115        include_spip("public/assembler");
116        $contexte = array('id_rubrique'=>$_GET["id_rubrique"]);
117
118        $p = evaluer_fond("selection_interface", $contexte);
119        echo $p["texte"];
120}
Note: See TracBrowser for help on using the repository browser.