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; }
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); } }