source: spip-zone/_core_/plugins/forum/formulaires/activer_forums_objet.php @ 93640

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

Meilleure compatibilité avec PSR-2 et nos règles d'écriture, en appliquant
différents fix avec php-cs-fixers. Fixers appliqués ici :

'encoding', utf8
'eof_ending',
un saut de ligne en fin de fichier
'elseif', elseif plutôt que else if
'function_call_space',
espaces sur fonctions
'function_declaration', espaces sur fonctions
'function_typehint_space',
espaces sur fonctions
'linefeed', sauts de ligne \n uniquement
'lowercase_constants',
true, false, null en munuscule
'lowercase_keywords', mots clés PHP en lowercase
'method_argument_space',
espaces sur appels de fonctions
'multiple_use', use unique sur fonctions anonymes
'newline_after_open_tag',
ouverture de php… et c'est tout sur cette ligne
'operators_spaces', espaces de part et d'autres des opérateurs binaires
'parenthesis',
pas d'espace juste après parenthèse ouvrante, ou avant parenthèse fermante
'php_closing_tag', pas de fermeture de php
'short_tag',
tag PHP corrects
'trailing_spaces', pas d'espace qui traîne en fin de ligne
'visibility',
déclarer 'public / private / protected' sur les méthodes

File size: 3.1 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2014                                                *
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/**
14 * Gestion du formulaire de configuration indiquant où les forums peuvent
15 * être activés
16 *
17 * @package SPIP\Forum\Formulaires
18 **/
19if (!defined("_ECRIRE_INC_VERSION")) {
20        return;
21}
22
23/**
24 * Récupérer le réglage des forums publics d'un objet
25 *
26 * @param int $id_objet
27 * @param string $objet
28 * @return bool
29 *     true si les forums publics sont autorisés, false sinon
30 **/
31function get_forums_publics($id_objet = 0, $objet = 'article') {
32
33        if ($objet == 'article' and $id_objet) {
34                $obj = sql_fetsel("accepter_forum", "spip_articles", "id_article=" . intval($id_objet));
35
36                if ($obj) {
37                        return $obj['accepter_forum'];
38                }
39        } else { // dans ce contexte, inutile
40                return substr($GLOBALS['meta']["forums_publics"], 0, 3);
41        }
42
43        return $GLOBALS['meta']["forums_publics"];
44}
45
46/**
47 * Charger
48 *
49 * @param int $id_objet
50 * @param string $objet
51 * @return array
52 *     Contexte du squelette du formulaire
53 */
54function formulaires_activer_forums_objet_charger_dist($id_objet, $objet = 'article') {
55        if (!autoriser('modererforum', $objet, $id_objet)) {
56                return false;
57        }
58
59        include_spip('inc/presentation');
60        include_spip('base/abstract_sql');
61        $nb_forums = sql_countsel("spip_forum",
62                "objet=" . sql_quote($objet) . " AND id_objet=" . intval($id_objet) . " AND statut IN ('publie', 'off', 'prop', 'spam')");
63        $editable = ($objet == 'article') ? true : false;
64        if (!$editable and !$nb_forums) {
65                return false;
66        }
67
68        return array(
69                'editable' => $editable,
70                'objet' => $objet,
71                'id_objet' => $id_objet,
72                'accepter_forum' => get_forums_publics($id_objet, $objet),
73                '_suivi_forums' => $nb_forums ? _T('forum:icone_suivi_forum', array('nb_forums' => $nb_forums)) : "",
74        );
75
76}
77
78/**
79 * Traiter
80 *
81 * @param int $id_objet
82 * @param string $objet
83 * @return array
84 *     Retours des traitements
85 */
86function formulaires_activer_forums_objet_traiter_dist($id_objet, $objet = 'article') {
87        include_spip('inc/autoriser');
88        if ($objet == 'article' and autoriser('modererforum', $objet, $id_objet)) {
89                $statut = _request('accepter_forum');
90                include_spip('base/abstract_sql');
91                sql_updateq("spip_articles", array("accepter_forum" => $statut), "id_article=" . intval($id_objet));
92
93                if ($statut == 'abo') {
94                        ecrire_meta('accepter_visiteurs', 'oui');
95                }
96                include_spip('inc/invalideur');
97                suivre_invalideur("id='$objet/$id_objet'");
98        }
99
100        return array('message_ok' => _T('config_info_enregistree'), 'editable' => true);
101}
Note: See TracBrowser for help on using the repository browser.