Exemple #1
0
function formulaires_gestion_forum_traiter_dist($id_forum = '', $id_rubrique = '', $id_article = '', $id_breve = '', $id_syndic = '', $id_message = '', $id_auteur = '', $auteur = '', $email_auteur = '', $ip = '')
{
    $retour = array();
    $retour['message_ok'] = 'rien a faire';
    if (!($forum_ids = _request('forum_ids'))) {
        $forum_ids = array();
    }
    $select_type = _request('select_type');
    $select_statut = _request('select_statut');
    $pagination = _request('pagination');
    $pagination_ancien = _request('pagination_ancien');
    set_request('select_type', $select_type);
    set_request('voir_statut', $select_statut);
    if ($pagination != $pagination_ancien) {
        set_request('debut_forum', '');
    }
    if (_request('valider')) {
        $statut = 'publie';
        $retour['message_ok'] = 'messages publies';
    }
    if (_request('bruler')) {
        $statut = 'spam';
        $retour['message_ok'] = 'messages marquees comme spam';
    }
    if (_request('supprimer')) {
        $statut = 'off';
        $retour['message_ok'] = 'messages supprimes';
    }
    include_spip('action/instituer_forum');
    foreach ($forum_ids as $id) {
        $row = sql_fetsel("*", "spip_forum", "id_forum={$id}");
        instituer_un_forum($statut, $row);
    }
    return $retour;
}
Exemple #2
0
function action_instituer_forum_dist() {

	$securiser_action = charger_fonction('securiser_action', 'inc');
	$arg = $securiser_action();

	list($id_forum, $statut) = preg_split('/\W/', $arg);
	$id_forum = intval($id_forum);
	$row = sql_fetsel("*", "spip_forum", "id_forum=$id_forum");
	if (!$row) return;

	instituer_un_forum($statut,$row);
}
function action_instituer_forum_dist($arg = null)
{
    if (is_null($arg)) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $arg = $securiser_action();
    }
    list($id_forum, $statut) = preg_split('/\\W/', $arg);
    $id_forum = intval($id_forum);
    $row = sql_fetsel("*", "spip_forum", "id_forum={$id_forum}");
    if (!$row) {
        return;
    }
    instituer_un_forum($statut, $row);
}
function action_instituer_lot_forum_dist($arg = null)
{
    if (is_null($arg)) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $arg = $securiser_action();
    }
    // verifier les droits
    if (autoriser('instituer', 'forum', 0)) {
        /**
         * Cas 1 : les arguments sont explicites
         * statut-ip/email/id_auteur/auteur
         *
         */
        if (preg_match(",^(\\w+)-,", $arg, $match) and in_array($statut = $match[1], array('publie', 'off', 'spam'))) {
            $arg = substr($arg, strlen($statut) + 1);
            $arg = explode('/', $arg);
            $ip = array_shift($arg);
            $email_auteur = array_shift($arg);
            $id_auteur = intval(array_shift($arg));
            $auteur = implode('/', $arg);
            $where = array();
            // pas de moderation par lot sur les forum prives
            $where[] = sql_in('statut', array('privadm', 'prive', 'privrac'), 'NOT');
            if ($ip) {
                $where[] = "ip=" . sql_quote($ip);
            }
            if ($email_auteur) {
                $where[] = "email_auteur=" . sql_quote($email_auteur);
            }
            if ($id_auteur) {
                $where[] = "id_auteur=" . intval($id_auteur);
            }
            if ($auteur) {
                $where[] = "auteur=" . sql_quote($auteur);
            }
            $rows = sql_allfetsel("*", "spip_forum", $where);
            if (!count($rows)) {
                return;
            }
            include_spip('action/instituer_forum');
            foreach ($rows as $row) {
                instituer_un_forum($statut, $row);
            }
        } elseif (preg_match(",^(\\w+)\$,", $arg, $match) and in_array($statut = $match[1], array('publie', 'off', 'spam')) and $id = _request('ids') and is_array($id)) {
            $ids = array_map('intval', $id);
            $where = array();
            // pas de moderation par lot sur les forum prives
            $where[] = sql_in('statut', array('privadm', 'prive', 'privrac'), 'NOT');
            $where[] = sql_in('id_forum', $ids);
            $rows = sql_allfetsel("*", "spip_forum", $where);
            if (!count($rows)) {
                return;
            }
            include_spip('action/instituer_forum');
            foreach ($rows as $row) {
                instituer_un_forum($statut, $row);
            }
        }
    } else {
        spip_log("instituer_lot_forum interdit pour auteur " . $GLOBALS['visiteur_session']['id_auteur'], _LOG_ERREUR);
    }
}