/**
 * Chercher l'objet/id_objet et la configuration du forum
 *
 * @param array $args
 * @param array $context_compil
 * @return array|bool
 */
function balise_FORMULAIRE_FORUM_PRIVE_stat($args, $context_compil)
{
    // un arg peut contenir l'url sur lequel faire le retour
    // exemple dans un squelette article.html : [(#FORMULAIRE_FORUM_PRIVE{#SELF})]
    // recuperer les donnees du forum auquel on repond.
    // deux autres a la suite pour forcer objet et id_objet
    // [(#FORMULAIRE_FORUM_PRIVE{#SELF, article, 8})]
    //
    // $args = (obtenir) + (ids) + (url, objet, id_objet)
    $ido = array_shift($args);
    $id_forum = intval(array_shift($args));
    $forcer_previsu = array_shift($args);
    $statut = array_shift($args);
    include_spip('balise/formulaire_forum');
    // si statut privrac ou privadm, pas besoin d'objet !
    $r = balise_forum_retrouve_objet($ido, $id_forum, $args, $context_compil, !in_array($statut, array('privrac', 'privadm')));
    if (!$r) {
        return false;
    }
    list($objet, $id_objet, $retour) = $r;
    return array($objet, $id_objet, $id_forum, $forcer_previsu, $statut, $retour);
}
Exemple #2
0
/**
 * Chercher l'objet/id_objet et la configuration du forum
 *
 * http://code.spip.net/@balise_FORMULAIRE_FORUM_stat
 *
 * @param array $args
 * @param array $context_compil
 * @return array|bool
 */
function balise_FORMULAIRE_FORUM_stat($args, $context_compil)
{
    // un arg peut contenir l'url sur lequel faire le retour
    // exemple dans un squelette article.html : [(#FORMULAIRE_FORUM{#SELF})]
    // recuperer les donnees du forum auquel on repond.
    // deux autres a la suite pour forcer objet et id_objet
    // [(#FORMULAIRE_FORUM{#SELF, article, 8})]
    //
    // $args = (obtenir) + (ids) + (url, objet, id_objet)
    $ido = array_shift($args);
    $id_forum = intval(array_shift($args));
    $ajouter_mot = array_shift($args);
    $ajouter_groupe = array_shift($args);
    $afficher_texte = array_shift($args);
    $r = balise_forum_retrouve_objet($ido, $id_forum, $args, $context_compil);
    if (!$r) {
        return false;
    }
    list($objet, $id_objet, $retour) = $r;
    // on verifie ici si on a le droit de poster sur ce forum
    // doublonne le test dans le formulaire, mais permet d'utiliser la balise
    // pour conditionner l'affichage d'un titre le precedant
    // (ie compatibilite)
    $accepter_forum = controler_forum($objet, $id_objet);
    if ($accepter_forum == 'non') {
        return false;
    }
    return array($objet, $id_objet, $id_forum, $ajouter_mot, $ajouter_groupe, $afficher_texte, $retour);
}