X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fexec%2Fcontrole_forum.php;fp=www%2Fecrire%2Fexec%2Fcontrole_forum.php;h=f22a28a0f2799b894bf94638ef91f9efdd46fe15;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c
diff --git a/www/ecrire/exec/controle_forum.php b/www/ecrire/exec/controle_forum.php
new file mode 100644
index 0000000..f22a28a
--- /dev/null
+++ b/www/ecrire/exec/controle_forum.php
@@ -0,0 +1,298 @@
+ 0) {
+ $row=sql_fetsel("id_article, titre, statut", "spip_articles", "id_article=$forum_id_article");
+ $id_article = $row['id_article'];
+ $titre = $row['titre'];
+ $statut = $row['statut'];
+ if ($forum_stat == "prive" OR $forum_stat == "privoff") {
+ return array('pref' => _T('item_reponse_article'),
+ 'url' => generer_url_ecrire("articles","id_article=$id_article"),
+ 'type' => 'id_article',
+ 'valeur' => $id_article,
+ 'titre' => $titre);
+ } else {
+ $ancre = "forum$id_forum" ;
+ return array('pref' => _T('lien_reponse_article'),
+ 'url' => generer_url_entite($id_article,'article', '',$ancre, true),
+ 'type' => 'id_article',
+ 'valeur' => $id_article,
+ 'titre' => $titre,
+ 'avant' => ""._T('lien_forum_public'). "
");
+ }
+ }
+ else if ($forum_id_rubrique > 0) {
+ $row = sql_fetsel("*", "spip_rubriques", "id_rubrique=$forum_id_rubrique");
+ $id_rubrique = $row['id_rubrique'];
+ $titre = $row['titre'];
+ return array('pref' => _T('lien_reponse_rubrique'),
+ 'url' => generer_url_entite($id_rubrique,'rubrique','','',true),
+ 'type' => 'id_rubrique',
+ 'valeur' => $id_rubrique,
+ 'titre' => $titre);
+ }
+ else if ($forum_id_syndic > 0) {
+ $row = sql_fetsel("*", "spip_syndic", "id_syndic=$forum_id_syndic");
+ $id_syndic = $row['id_syndic'];
+ $titre = $row['nom_site'];
+ $statut = $row['statut'];
+ return array('pref' => _T('lien_reponse_site_reference'),
+ 'url' => generer_url_ecrire("sites","id_syndic=$id_syndic"),
+ 'type' => 'id_syndic',
+ 'valeur' => $id_syndic,
+ 'titre' => $titre);
+ }
+ else if ($forum_id_breve > 0) {
+ $row = sql_fetsel("*", "spip_breves", "id_breve=$forum_id_breve");
+ $id_breve = $row['id_breve'];
+ $date_heure = $row['date_heure'];
+ $titre = $row['titre'];
+ if ($forum_stat == "prive") {
+ return array('pref' => _T('lien_reponse_breve'),
+ 'url' => generer_url_ecrire("breves_voir","id_breve=$id_breve"),
+ 'type' => 'id_breve',
+ 'valeur' => $id_breve,
+ 'titre' => $titre);
+ } else {
+ return array('pref' => _T('lien_reponse_breve_2'),
+ 'url' => generer_url_entite($id_breve, 'breve','','',true),
+ 'type' => 'id_breve',
+ 'valeur' => $id_breve,
+ 'titre' => $titre);
+ }
+ }
+ else if ($forum_stat == "privadm") {
+ $retour = forum_parent($forum_id_parent);
+ if ($retour) return $retour;
+ else return array('pref' => _T('info_message'),
+ 'url' => generer_url_ecrire('forum_admin'),
+ 'titre' => _T('info_forum_administrateur'));
+ }
+ else {
+ $retour = forum_parent($forum_id_parent);
+ if ($retour) return $retour;
+ else return array('pref' => _T('info_message'),
+ 'url' => generer_url_ecrire('forum'),
+ 'titre' => _T('info_forum_interne'));
+ }
+}
+
+// http://doc.spip.org/@controle_forum_boucle
+function controle_forum_boucle($row, $args) {
+
+ $id_forum = $row['id_forum'];
+ $forum_id_parent = $row['id_parent'];
+ $forum_id_rubrique = $row['id_rubrique'];
+ $forum_id_article = $row['id_article'];
+ $forum_id_breve = $row['id_breve'];
+ $forum_date_heure = $row['date_heure'];
+ $forum_titre = echapper_tags($row['titre']);
+ $forum_texte = $row['texte'];
+ $forum_auteur = echapper_tags(extraire_multi($row['auteur']));
+ $forum_email_auteur = echapper_tags($row['email_auteur']);
+ $forum_nom_site = echapper_tags($row['nom_site']);
+ $forum_url_site = echapper_tags($row['url_site']);
+ $forum_stat = $row['statut'];
+ $forum_ip = $row['ip'];
+ $forum_id_auteur = $row["id_auteur"];
+
+ $r = forum_parent($id_forum);
+ $avant = $r['avant'];
+ $url = $r['url'];
+ $titre = $r['titre'];
+ $type = $r['type'];
+ $valeur = $r['valeur'];
+ $pref = $r['pref'];
+
+ if ($documents = sql_allfetsel('doc.id_document, doc.fichier AS fichier', 'spip_documents AS doc LEFT JOIN spip_documents_liens AS lien ON doc.id_document=lien.id_document', 'lien.id_objet='.intval($id_forum)." AND objet='forum'")) {
+ include_spip('inc/documents');
+ foreach ($documents as $k => $t) {
+ $h = generer_url_entite($t['id_document'], 'document');
+ $documents[$k] = "".basename($t['fichier'])."";
+ }
+ }
+
+ switch($forum_stat) {
+ case 'off':
+ case 'privoff':
+ $style = " style='border: 2px #ff0000 dashed;'";
+ break;
+ case 'prop':
+ $style = " style='border: 2px yellow solid; background-color: white;'";
+ break;
+ case 'spam':
+ $style = " style='border: 2px black dotted;'";
+ break;
+ default:
+ $style = "";
+ break;
+ }
+
+ if ($forum_email_auteur) {
+ if (email_valide($forum_email_auteur))
+ $forum_email_auteur = "".$forum_email_auteur
+ ."";
+ $forum_auteur .= " — $forum_email_auteur";
+ }
+
+ $suite = "\n
$avant$pref\n$titre"
+ . "