Server : Apache System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64 User : hednacluml ( 122243) PHP Version : 8.3.9 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/hednacluml/france/plugins-dist/forum/formulaires/ |
<?php /***************************************************************************\ * SPIP, Système de publication pour l'internet * * * * Copyright © avec tendresse depuis 2001 * * Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribué sous licence GNU/GPL. * \***************************************************************************/ /** * Gestion du formulaire de configuration indiquant où les forums peuvent * être activés * * @package SPIP\Forum\Formulaires **/ if (!defined('_ECRIRE_INC_VERSION')) { return; } /** * Récupérer le réglage des forums publics d'un objet * * @param int $id_objet * @param string $objet * @return bool * true si les forums publics sont autorisés, false sinon **/ function get_forums_publics($id_objet = 0, $objet = 'article') { if ($objet == 'article' and $id_objet) { $obj = sql_fetsel('accepter_forum', 'spip_articles', 'id_article=' . intval($id_objet)); if ($obj) { return $obj['accepter_forum']; } } else { // dans ce contexte, inutile return substr($GLOBALS['meta']['forums_publics'], 0, 3); } return $GLOBALS['meta']['forums_publics']; } /** * Charger * * @param int $id_objet * @param string $objet * @return array * Contexte du squelette du formulaire */ function formulaires_activer_forums_objet_charger_dist($id_objet, $objet = 'article') { if (!autoriser('modererforum', $objet, $id_objet)) { return false; } include_spip('inc/presentation'); include_spip('base/abstract_sql'); $nb_forums = sql_countsel( 'spip_forum', 'objet=' . sql_quote($objet) . ' AND id_objet=' . intval($id_objet) . " AND statut IN ('publie', 'off', 'prop', 'spam')" ); $editable = ($objet == 'article') ? true : false; if (!$editable and !$nb_forums) { return false; } return [ 'editable' => $editable, 'objet' => $objet, 'id_objet' => $id_objet, 'accepter_forum' => get_forums_publics($id_objet, $objet), '_suivi_forums' => $nb_forums ? _T('forum:icone_suivi_forum', ['nb_forums' => $nb_forums]) : '', ]; } /** * Traiter * * @param int $id_objet * @param string $objet * @return array * Retours des traitements */ function formulaires_activer_forums_objet_traiter_dist($id_objet, $objet = 'article') { include_spip('inc/autoriser'); if ($objet == 'article' and autoriser('modererforum', $objet, $id_objet)) { $statut = _request('accepter_forum'); include_spip('base/abstract_sql'); sql_updateq('spip_articles', ['accepter_forum' => $statut], 'id_article=' . intval($id_objet)); if ($statut == 'abo') { ecrire_meta('accepter_visiteurs', 'oui'); } include_spip('inc/invalideur'); suivre_invalideur("id='$objet/$id_objet'"); } return ['message_ok' => _T('config_info_enregistree'), 'editable' => true]; }