X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fbalise%2Fformulaire_forum.php;fp=www%2Fecrire%2Fbalise%2Fformulaire_forum.php;h=cdbd6b0c318572b046e007f4b665eee823a576f5;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/ecrire/balise/formulaire_forum.php b/www/ecrire/balise/formulaire_forum.php new file mode 100644 index 0000000..cdbd6b0 --- /dev/null +++ b/www/ecrire/balise/formulaire_forum.php @@ -0,0 +1,106 @@ +code = $i($p, $p->code); + + return $p; +} + +// +// Chercher le titre et la configuration d'un forum +// valeurs possibles : 'pos'teriori, 'pri'ori, 'abo'nnement +// Donner aussi la table de reference pour afficher_groupes[] + +// http://doc.spip.org/@balise_FORMULAIRE_FORUM_stat +function balise_FORMULAIRE_FORUM_stat($args, $context_compil) { + + // le denier 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. + list ($idr, $idf, $ida, $idb, $ids, $am, $ag, $af, $url) = $args; + $idr = intval($idr); + $idf = intval($idf); + $ida = intval($ida); + $idb = intval($idb); + $ids = intval($ids); + + $type = substr($GLOBALS['meta']["forums_publics"],0,3); + + if ($ida) { + $titre = sql_fetsel('accepter_forum AS type, titre', 'spip_articles', "statut = 'publie' AND id_article = $ida"); + if ($titre) { + if ($titre['type']) $type = $titre['type']; + $table = "articles"; + } + if ($type == 'non') return false; + } else { + if ($type == 'non') return false; + if ($idb) { + $titre = sql_fetsel('titre', 'spip_breves', "statut = 'publie' AND id_breve = $idb"); + $table = "breves"; + } else if ($ids) { + $titre = sql_fetsel('nom_site AS titre', 'spip_syndic', "statut = 'publie' AND id_syndic = $ids"); + $table = "syndic"; + } else if ($idr) { + $titre = sql_fetsel('titre', 'spip_rubriques', "statut = 'publie' AND id_rubrique = $idr"); + $table = "rubriques"; + } + } + + if (!$titre) return false; // inexistant ou non public + + if ($idf>0) { + $titre_m = sql_fetsel('titre', 'spip_forum', "id_forum = $idf"); + if (!$titre_m) return false; // URL fabriquee + $titre = $titre_m; + } + + if ($GLOBALS['meta']["mots_cles_forums"] != "oui") + $table = ''; + + $titre = supprimer_numero($titre['titre']); + + // Sur quelle adresse va-t-on "boucler" pour la previsualisation ? + // si vide : self() + $script = ''; + + return + array($titre, $table, $type, $script, + $idr, $idf, $ida, $idb, $ids, $am, $ag, $af, $url); +} + +?>