source: spip-zone/_plugins_/notation/trunk/formulaires/activer_notes_objet.php @ 54123

Last change on this file since 54123 was 54123, checked in by cedric@…, 10 years ago

separer les fonctions de lecture des fonction d'edition des notes, que l'on deplace dans action/editer_notation,
avec support des pipelines usuels pre/post_insertion et pre/post_edition

File size: 1.9 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5// Recuperer le reglage des forums publics de l'article x
6// http://doc.spip.org/@get_forums_publics
7function get_notes_publics($id_objet=0, $objet='article') {
8        if ($objet=='article' AND $id_objet) {
9                $obj = sql_fetsel("accepter_note", "spip_articles", "id_article=".intval($id_objet));
10
11                if (in_array($obj,array('oui','non'))) return $obj['accepter_note'];
12        } else { // dans ce contexte, inutile
13                return $GLOBALS['meta']["notations_publics"];
14        }
15        return $GLOBALS['meta']["notations_publics"];
16}
17
18/**
19 * Charger
20 *
21 * @param int $id_article
22 * @return array
23 */
24function formulaires_activer_notes_objet_charger_dist($id_objet, $objet='article'){
25        if (!autoriser('moderernote', $objet, $id_objet))
26                return false;
27
28        include_spip('inc/presentation');
29        include_spip('base/abstract_sql');
30        $nb_forums = sql_countsel("spip_forum", "objet=".sql_quote($objet)." AND id_objet=".intval($id_objet));
31        spip_log(get_notes_publics($id_objet, $objet),'notation');
32        return array(
33                'editable' => ($objet=='article')?true:false,
34                'objet' => $objet,
35                'id_objet' => $id_objet,
36                'accepter_note' => get_notes_publics($id_objet, $objet),
37                '_suivi_notes' => $nb_notes?_T('icone_suivi_notes', array('nb_notes' => $nb_notes)):"",
38        );
39       
40}
41
42/**
43 * Traiter
44 *
45 * @param int $id_objet
46 * @param string $objet
47 * @return array
48 */
49function formulaires_activer_notes_objet_traiter_dist($id_objet, $objet='article'){
50        include_spip('inc/autoriser');
51        if ($objet=='article' AND autoriser('moderernote', $objet, $id_objet)){
52                $statut = _request('accepter_note');
53                include_spip('base/abstract_sql');
54                sql_updateq("spip_articles", array("accepter_note" => $statut), "id_article=". intval($id_objet));
55               
56                include_spip('inc/invalideur');
57                suivre_invalideur("$objet/$id_objet");
58        }
59               
60        return array('message_ok'=>_T('config_info_enregistree'),'editable'=>true);
61}
62
63?>
Note: See TracBrowser for help on using the repository browser.