source: spip-zone/_plugins_/rang/trunk/action/trier_items.php @ 110292

Last change on this file since 110292 was 110292, checked in by peetdu@…, 2 years ago

Mise en conformité du plugin avec la version 1.3.2 de Declarer_parent
+ modif des surcharges de squelettes pour conformité avec la doc
+ mise au format markdown de la todo

  • Property svn:executable set to *
File size: 1.6 KB
Line 
1<?php
2/**
3 * Fonctions utiles au plugin Rang
4 *
5 * @plugin     Rang
6 * @copyright  2016
7 * @author     Peetdu
8 * @licence    GNU/GPL
9 * @package    SPIP\Rang\Fonctions
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16/**
17 * réordonner les rangs de la liste suite à un nouveau classement
18 *
19 * @param array $tab
20 *     tableau des items de la liste suite à une modification du classement
21 * @param string $page
22 *              quelle pagination
23 * @param string $objet
24 *     sur quel objet faire le classement
25 * @param string $id_parent
26 *     id_parent dans lequel faire le classement
27 *
28**/
29function action_trier_items_dist() {
30
31        include_spip('base/objets');
32        include_spip('base/objets_parents');
33
34        $tab            = _request('trier');
35        $page           = _request('debut_liste');
36        $objet          = _request('objet');
37        $id_parent      = _request('id_parent');
38
39        $table          = table_objet_sql($objet);
40        $id_objet       = id_table_objet($objet);
41        $objet_type = objet_type($objet);
42        if ($id_parent != 'rien') {
43                $parent = type_objet_info_parent($objet_type);
44                $parent_champ = $parent['champ'];
45        }
46
47        spip_log("objet : ".$objet."\n id_parent : ".$id_parent."\nparent : ".$parent_champ, 'rang.' . _LOG_DEBUG);
48
49        // reclassement !
50        foreach ($tab as $key => $value) {
51                $rang   = $page + $key + 1; // le classement commence à 1, pas à 0
52                $id             = intval($value);
53                if ($id_parent == 'rien') {
54                        $where = "$id_objet=$id";
55                }
56                else {
57                        $where = "$id_objet=$id AND $parent_champ=$id_parent";
58                }
59                $res = sql_updateq($table, array('rang' => $rang), $where);
60                spip_log($res, 'rang.' . _LOG_DEBUG);
61        }
62
63        include_spip('inc/invalideur');
64        suivre_invalideur("rang");
65
66}
Note: See TracBrowser for help on using the repository browser.