Documentation du code de SPIP et de ses plugins

Forum

Application

Table of Contents

Constants

_TRACER_ERREUR_FORUM  = false

Functions

forum_inserer()  : bool|string
Inserer en base un message de forum
revision_forum()  : mixed
action_instituer_forum_dist()  : mixed
instituer_un_forum()  : mixed
action_instituer_lot_forum_dist()  : mixed
formulaires_configurer_forums_contenu_charger_dist()  : mixed
formulaires_configurer_forums_contenu_verifier_dist()  : mixed
formulaires_configurer_forums_contenu_traiter_dist()  : mixed
formulaires_configurer_forums_notifications_charger_dist()  : mixed
formulaires_configurer_forums_notifications_traiter_dist()  : mixed
formulaires_configurer_forums_participants_charger_dist()  : mixed
formulaires_configurer_forums_participants_traiter_dist()  : mixed
formulaires_configurer_forums_prives_charger_dist()  : mixed
formulaires_configurer_forums_prives_traiter_dist()  : mixed
formulaires_forum_identifier_dist()  : array<string|int, mixed>
Identification du formulaire poste : ne pas tenir compte de la previsu et du retour
formulaires_forum_charger_dist()  : array<string|int, mixed>|bool
Charger l'env du squelette de #FORMULAIRE_FORUM
forum_fichier_tmp()  : int
Une securite qui nous protege contre : - les doubles validations de forums (derapages humains ou des brouteurs) - les abus visant a mettre des forums malgre nous sur un article (??) On installe un fichier temporaire dans _DIR_TMP (et pas _DIR_CACHE afin de ne pas bugguer quand on vide le cache) Le lock est leve au moment de l'insertion en base (inc-messforum) Ce systeme n'est pas fonctionnel pour les forums sans previsu (notamment si $forcer_previsu = 'non')
formulaires_forum_verifier_dist()  : array<string|int, mixed>|bool
Verifier la saisie de #FORMULAIRE_FORUM
forum_documents_acceptes()  : array<string|int, mixed>
Lister les formats de documents joints acceptes dans les forum
inclure_previsu()  : string
Preparer la previsu d'un message de forum
formulaires_forum_traiter_dist()  : array<string|int, mixed>|bool
Traiter la saisie de #FORMULAIRE_FORUM tout est delegue a inc_forum_insert()
formulaires_forum_prive_identifier_dist()  : array<string|int, mixed>
Identification du formulaire poste : ne pas tenir compte du retour
formulaires_forum_prive_charger_dist()  : mixed
formulaires_forum_prive_verifier_dist()  : mixed
inclure_forum_prive_previsu()  : mixed
formulaires_forum_prive_traiter_dist()  : mixed
inc_article_accepter_forums_publics_dist()  : string
Moderation des forums specifique a un article
inc_email_notification_forum_dist()  : string
Construitre l'email personalise de notification d'un forum
critere_statut_controle_forum()  : array<string|int, mixed>
recuperer le critere SQL qui selectionne nos forums
calcul_index_forum()  : mixed
calculer_threads()  : mixed
racine_forum()  : mixed
parent_forum()  : mixed
generer_url_forum_dist()  : unknown
Pour compatibilite : remplacer les appels par son contenu
generer_url_forum_parent()  : mixed
conserver_original()  : mixed
enregistre_et_modifie_forum()  : mixed
forum_recuperer_titre_dist()  : bool|string
Trouver le titre d'un objet publie
controler_forum()  : string
Retourne pour un couple objet/id_objet donne de quelle maniere les forums sont acceptes dessus non: pas de forum pos: a posteriori, acceptes et eventuellements moderes ensuite pri: a priori, doivent etre valides par un admin abo: les personnes doivent au prealable etre identifiees
forum_insert_noprevisu()  : bool
Verifier la presence du jeton de secu post previsu
forum_get_objets_depuis_env()  : array<string|int, mixed>
recuperer tous les objets dont on veut pouvoir obtenir l'identifiant directement dans l'environnement
reduce_strlen()  : mixed
mots_du_forum()  : mixed
tracer_erreur_forum()  : mixed
inc_forum_insert_dist()  : bool
Un parametre permet de forcer le statut (exemple: plugin antispam)
forum_insert_base()  : mixed
forum_insert_statut()  : mixed
forum_compte_messages_from()  : mixed
forum_titre_lien_repondre_a()  : string
Titre du lien "Répondre à ce ..."
boucle_FORUMS_dist()  : mixed
critere_FORUMS_meme_parent_dist()  : mixed
critere_FORUMS_compter_reponses()  : void
Compile le critère `{compter_reponses}`
balise_FORUM_NOMBRE_REPONSES_dist()  : Champ
Retourne le nombre de vote sur un objet de SPIP.
public_critere_secteur_forums_dist()  : mixed|string
Faute de copie du champ id_secteur dans la table des forums, faut le retrouver par jointure Pour chaque Row il faudrait tester si le forum est d'article, de breve, de rubrique, ou de syndication.
balise_PARAMETRES_FORUM_dist()  : mixed
calcul_parametres_forum()  : mixed
quete_accepter_forum()  : mixed
lang_parametres_forum()  : mixed
code_invalideur_forums_dist()  : mixed
urls_generer_url_ecrire_forum_dist()  : mixed
urls_generer_url_forum_dist()  : mixed

Constants

Functions

forum_inserer()

Inserer en base un message de forum

forum_inserer([int $id_parent = null ][, null $set = null ]) : bool|string
Parameters
$id_parent : int = null
$set : null = null
Return values
bool|string

revision_forum()

revision_forum(mixed $id_forum[, mixed $c = false ]) : mixed
Parameters
$id_forum : mixed
$c : mixed = false

action_instituer_forum_dist()

action_instituer_forum_dist([mixed $arg = null ]) : mixed
Parameters
$arg : mixed = null

instituer_un_forum()

instituer_un_forum(mixed $statut, mixed $row) : mixed
Parameters
$statut : mixed
$row : mixed

action_instituer_lot_forum_dist()

action_instituer_lot_forum_dist([mixed $arg = null ]) : mixed
Parameters
$arg : mixed = null

formulaires_forum_identifier_dist()

Identification du formulaire poste : ne pas tenir compte de la previsu et du retour

formulaires_forum_identifier_dist( $objet,  $id_objet,  $id_forum,  $ajouter_mot,  $ajouter_groupe,  $afficher_previsu,  $retour) : array<string|int, mixed>
Parameters
$objet :
$id_objet :
$id_forum :
$ajouter_mot :
$ajouter_groupe :
$afficher_previsu :
$retour :
Return values
array<string|int, mixed>

formulaires_forum_charger_dist()

Charger l'env du squelette de #FORMULAIRE_FORUM

formulaires_forum_charger_dist(string $objet, int $id_objet, int $id_forum, int|array<string|int, mixed> $ajouter_mot,  $ajouter_groupe,  $forcer_previsu,  $retour) : array<string|int, mixed>|bool
Parameters
$objet : string
$id_objet : int
$id_forum : int
$ajouter_mot : int|array<string|int, mixed>

mots ajoutés cochés par defaut

$ajouter_groupe :

groupes ajoutables

$forcer_previsu :

forcer la previsualisation du message oui ou non

$retour :

url de retour

Return values
array<string|int, mixed>|bool

forum_fichier_tmp()

Une securite qui nous protege contre : - les doubles validations de forums (derapages humains ou des brouteurs) - les abus visant a mettre des forums malgre nous sur un article (??) On installe un fichier temporaire dans _DIR_TMP (et pas _DIR_CACHE afin de ne pas bugguer quand on vide le cache) Le lock est leve au moment de l'insertion en base (inc-messforum) Ce systeme n'est pas fonctionnel pour les forums sans previsu (notamment si $forcer_previsu = 'non')

forum_fichier_tmp( $arg) : int
Parameters
$arg :
Return values
int

formulaires_forum_verifier_dist()

Verifier la saisie de #FORMULAIRE_FORUM

formulaires_forum_verifier_dist(string $objet, int $id_objet, int $id_forum, int|array<string|int, mixed> $ajouter_mot,  $ajouter_groupe,  $forcer_previsu,  $retour) : array<string|int, mixed>|bool
Parameters
$objet : string
$id_objet : int
$id_forum : int
$ajouter_mot : int|array<string|int, mixed>

mots ajoutés cochés par defaut

$ajouter_groupe :

groupes ajoutables

$forcer_previsu :

forcer la previsualisation du message oui ou non

$retour :

url de retour

Return values
array<string|int, mixed>|bool

forum_documents_acceptes()

Lister les formats de documents joints acceptes dans les forum

forum_documents_acceptes() : array<string|int, mixed>
Return values
array<string|int, mixed>

inclure_previsu()

Preparer la previsu d'un message de forum

inclure_previsu(string $texte, string $titre, string $url_site, string $nom_site, array<string|int, mixed> $ajouter_mot, array<string|int, mixed> $doc, string $objet, int $id_objet, int $id_forum) : string
Parameters
$texte : string
$titre : string
$url_site : string
$nom_site : string
$ajouter_mot : array<string|int, mixed>
$doc : array<string|int, mixed>
$objet : string
$id_objet : int
$id_forum : int
Return values
string

formulaires_forum_traiter_dist()

Traiter la saisie de #FORMULAIRE_FORUM tout est delegue a inc_forum_insert()

formulaires_forum_traiter_dist(string $objet, int $id_objet, int $id_forum, int|array<string|int, mixed> $ajouter_mot,  $ajouter_groupe,  $forcer_previsu,  $retour) : array<string|int, mixed>|bool
Parameters
$objet : string
$id_objet : int
$id_forum : int
$ajouter_mot : int|array<string|int, mixed>

mots ajoutes coches par defaut

$ajouter_groupe :

groupes ajoutables

$forcer_previsu :

forcer la previsualisation du message oui ou non

$retour :

url de retour

Return values
array<string|int, mixed>|bool

formulaires_forum_prive_identifier_dist()

Identification du formulaire poste : ne pas tenir compte du retour

formulaires_forum_prive_identifier_dist( $objet,  $id_objet,  $id_forum,  $forcer_previsu,  $statut) : array<string|int, mixed>
Parameters
$objet :
$id_objet :
$id_forum :
$forcer_previsu :
$statut :
Return values
array<string|int, mixed>

formulaires_forum_prive_charger_dist()

formulaires_forum_prive_charger_dist(mixed $objet, mixed $id_objet, mixed $id_forum, mixed $forcer_previsu, mixed $statut[, mixed $retour = '' ]) : mixed
Parameters
$objet : mixed
$id_objet : mixed
$id_forum : mixed
$forcer_previsu : mixed
$statut : mixed
$retour : mixed = ''

formulaires_forum_prive_verifier_dist()

formulaires_forum_prive_verifier_dist(mixed $objet, mixed $id_objet, mixed $id_forum, mixed $forcer_previsu, mixed $statut[, mixed $retour = '' ]) : mixed
Parameters
$objet : mixed
$id_objet : mixed
$id_forum : mixed
$forcer_previsu : mixed
$statut : mixed
$retour : mixed = ''

inclure_forum_prive_previsu()

inclure_forum_prive_previsu(mixed $texte, mixed $titre, mixed $url_site, mixed $nom_site, mixed $ajouter_mot[, mixed $doc = '' ]) : mixed
Parameters
$texte : mixed
$titre : mixed
$url_site : mixed
$nom_site : mixed
$ajouter_mot : mixed
$doc : mixed = ''

formulaires_forum_prive_traiter_dist()

formulaires_forum_prive_traiter_dist(mixed $objet, mixed $id_objet, mixed $id_forum, mixed $forcer_previsu, mixed $statut[, mixed $retour = '' ]) : mixed
Parameters
$objet : mixed
$id_objet : mixed
$id_forum : mixed
$forcer_previsu : mixed
$statut : mixed
$retour : mixed = ''

inc_article_accepter_forums_publics_dist()

Moderation des forums specifique a un article

inc_article_accepter_forums_publics_dist(int $id_objet) : string
Parameters
$id_objet : int

identifiant de l'article

Return values
string

: "non", "pos"(teriori), "pri"(ori), "abo"(nnement)

inc_email_notification_forum_dist()

Construitre l'email personalise de notification d'un forum

inc_email_notification_forum_dist(array<string|int, mixed> $t, string $email[, array<string|int, mixed> $contexte = [] ]) : string
Parameters
$t : array<string|int, mixed>
$email : string
$contexte : array<string|int, mixed> = []
Return values
string

critere_statut_controle_forum()

recuperer le critere SQL qui selectionne nos forums

critere_statut_controle_forum(string $type[, int|array<string|int, mixed> $id_secteur = 0 ][, string $recherche = '' ]) : array<string|int, mixed>
Parameters
$type : string
$id_secteur : int|array<string|int, mixed> = 0
$recherche : string = ''
Return values
array<string|int, mixed>

calcul_index_forum()

calcul_index_forum(mixed $objet, mixed $id_objet) : mixed
Parameters
$objet : mixed
$id_objet : mixed

racine_forum()

racine_forum(mixed $id_forum) : mixed
Parameters
$id_forum : mixed

parent_forum()

parent_forum(mixed $id_forum) : mixed
Parameters
$id_forum : mixed

generer_url_forum_dist()

Pour compatibilite : remplacer les appels par son contenu

generer_url_forum_dist(unknown_type $id_forum[, unknown_type $args = '' ][, unknown_type $ancre = '' ]) : unknown
Parameters
$id_forum : unknown_type
$args : unknown_type = ''
$ancre : unknown_type = ''
Return values
unknown

generer_url_forum_parent()

generer_url_forum_parent(mixed $id_forum) : mixed
Parameters
$id_forum : mixed

conserver_original()

conserver_original(mixed $id_forum) : mixed
Parameters
$id_forum : mixed

enregistre_et_modifie_forum()

enregistre_et_modifie_forum(mixed $id_forum[, mixed $c = false ]) : mixed
Parameters
$id_forum : mixed
$c : mixed = false

forum_recuperer_titre_dist()

Trouver le titre d'un objet publie

forum_recuperer_titre_dist(string $objet, int $id_objet[, int $id_forum = 0 ][, bool $publie = true ]) : bool|string
Parameters
$objet : string
$id_objet : int
$id_forum : int = 0
$publie : bool = true
Return values
bool|string

controler_forum()

Retourne pour un couple objet/id_objet donne de quelle maniere les forums sont acceptes dessus non: pas de forum pos: a posteriori, acceptes et eventuellements moderes ensuite pri: a priori, doivent etre valides par un admin abo: les personnes doivent au prealable etre identifiees

controler_forum(string $objet, int $id_objet) : string
Parameters
$objet : string

objet a tester

$id_objet : int

identifiant de l'objet

Return values
string

chaine de 3 caractere parmi 'non','pos','pri','abo'

forum_insert_noprevisu()

Verifier la presence du jeton de secu post previsu

forum_insert_noprevisu() : bool
Return values
bool

forum_get_objets_depuis_env()

recuperer tous les objets dont on veut pouvoir obtenir l'identifiant directement dans l'environnement

forum_get_objets_depuis_env() : array<string|int, mixed>
Return values
array<string|int, mixed>

reduce_strlen()

reduce_strlen(mixed $n, mixed $c) : mixed
Parameters
$n : mixed
$c : mixed

mots_du_forum()

mots_du_forum(mixed $ajouter_mot, mixed $id_message) : mixed
Parameters
$ajouter_mot : mixed
$id_message : mixed

tracer_erreur_forum()

tracer_erreur_forum([mixed $type = '' ]) : mixed
Parameters
$type : mixed = ''

inc_forum_insert_dist()

Un parametre permet de forcer le statut (exemple: plugin antispam)

inc_forum_insert_dist( $objet,  $id_objet,  $id_forum[, null $force_statut = null ]) : bool
Parameters
$objet :
$id_objet :
$id_forum :

en reponse a

$force_statut : null = null
Return values
bool

forum_insert_base()

forum_insert_base(mixed $c, mixed $id_forum, mixed $objet, mixed $id_objet, mixed $statut[, mixed $ajouter_mot = false ]) : mixed
Parameters
$c : mixed
$id_forum : mixed
$objet : mixed
$id_objet : mixed
$statut : mixed
$ajouter_mot : mixed = false

forum_insert_statut()

forum_insert_statut(mixed $champs[, mixed $forcer_statut = null ]) : mixed
Parameters
$champs : mixed
$forcer_statut : mixed = null

forum_compte_messages_from()

forum_compte_messages_from(mixed $email, mixed $id_forum) : mixed
Parameters
$email : mixed
$id_forum : mixed

forum_titre_lien_repondre_a()

Titre du lien "Répondre à ce ..."

forum_titre_lien_repondre_a( $objet) : string
Parameters
$objet :
Return values
string

boucle_FORUMS_dist()

boucle_FORUMS_dist(mixed $id_boucle, mixed &$boucles) : mixed
Parameters
$id_boucle : mixed
$boucles : mixed

critere_FORUMS_meme_parent_dist()

critere_FORUMS_meme_parent_dist(mixed $idb, mixed &$boucles, mixed $crit) : mixed
Parameters
$idb : mixed
$boucles : mixed
$crit : mixed

critere_FORUMS_compter_reponses()

Compile le critère `{compter_reponses}`

critere_FORUMS_compter_reponses(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Ce critère compte le nombre de messages en réponse à un message donné. Il stocke l’information dans le champ nombre_reponses. On peut le récupérer en squelette avec #FORUM_NOMBRE_REPONSES

Le calcul se fait par une jointure LEFT : les éléments avec aucune réponse sont retournés.

On peut passer un opérateur optionnel tel que : {compter_reponses nombre_reponses = 0} Ce qui fera un test sur le résultat du calcul (HAVING).

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example
<BOUCLE_(FORUMS){!par date_thread}{compter_reponses}> #FORUM_NOMBRE_REPONSES ...
<BOUCLE_(FORUMS){compter_reponses}{!par nombre_reponse}> les plus commentés ...
<BOUCLE_(FORUMS){!par date_thread}{compter_reponses nombre_reponse = 0}> sans réponse ...
<BOUCLE_(FORUMS){!par date_thread}{compter_reponses nombre_reponse > 10}> + de 10 réponses ...

balise_FORUM_NOMBRE_REPONSES_dist()

Retourne le nombre de vote sur un objet de SPIP.

balise_FORUM_NOMBRE_REPONSES_dist(Champ $p) : Champ

Nécessite le critere {compter_reponses} sur la boucle FORUMS

<BOUCLE_(FORUMS){compter_reponses}>#FORUM_NOMBRE_REPONSES ...

Parameters
$p : Champ
Return values
Champ

public_critere_secteur_forums_dist()

Faute de copie du champ id_secteur dans la table des forums, faut le retrouver par jointure Pour chaque Row il faudrait tester si le forum est d'article, de breve, de rubrique, ou de syndication.

public_critere_secteur_forums_dist(string $idb, object &$boucles,  $val,  $crit) : mixed|string

Pour le moment on ne traite que les articles, les 3 autres cas ne marcheront donc pas: ca ferait 4 jointures qu'il faut traiter optimalement ou alors pas du tout.

Parameters
$idb : string
$boucles : object
$val :
$crit :
Return values
mixed|string

balise_PARAMETRES_FORUM_dist()

balise_PARAMETRES_FORUM_dist(mixed $p) : mixed
Parameters
$p : mixed

calcul_parametres_forum()

calcul_parametres_forum(mixed &$env, mixed $reponse, mixed $type, mixed $primary) : mixed
Parameters
$env : mixed
$reponse : mixed
$type : mixed
$primary : mixed

quete_accepter_forum()

quete_accepter_forum(mixed $id_article) : mixed
Parameters
$id_article : mixed

lang_parametres_forum()

lang_parametres_forum(mixed $qs, mixed $lang) : mixed
Parameters
$qs : mixed
$lang : mixed

code_invalideur_forums_dist()

code_invalideur_forums_dist(mixed $p, mixed $code) : mixed
Parameters
$p : mixed
$code : mixed

urls_generer_url_ecrire_forum_dist()

urls_generer_url_ecrire_forum_dist(mixed $id[, mixed $args = '' ][, mixed $ancre = '' ][, mixed $public = null ][, mixed $connect = '' ]) : mixed
Parameters
$id : mixed
$args : mixed = ''
$ancre : mixed = ''
$public : mixed = null
$connect : mixed = ''

urls_generer_url_forum_dist()

urls_generer_url_forum_dist(mixed $id_forum[, mixed $args = '' ][, mixed $ancre = '' ]) : mixed
Parameters
$id_forum : mixed
$args : mixed = ''
$ancre : mixed = ''

        
On this page

Search results