Documentation du code de SPIP et de ses plugins

Forum

Documentation

Table of Contents

Packages

Application
SPIP

Constants

_CNIL_PERIODE  = 3600 * 24 * 31 * 4
_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
balise_FORMULAIRE_FORUM()  : Champ
Compile la balise `#FORMULAIRE_FORUM` qui affiche un formulaire d'ajout de commentaire
balise_FORMULAIRE_FORUM_stat()  : array<string|int, mixed>|bool
Chercher l'objet/id_objet et la configuration du forum
balise_forum_retrouve_objet()  : array<string|int, mixed>|bool
Retrouve l'objet et id_objet d'un forum
balise_FORMULAIRE_FORUM_PRIVE()  : Champ
Compile la balise `#FORMULAIRE_FORUM_PRIVE` qui affiche un formulaire d'ajout de commentaire pour l'espace privé
balise_FORMULAIRE_FORUM_PRIVE_stat()  : array<string|int, mixed>|bool
Chercher l'objet/id_objet et la configuration du forum
forum_declarer_tables_interfaces()  : array<string|int, mixed>
Interfaces de la table forum pour le compilateur
forum_declarer_tables_objets_sql()  : array<string|int, mixed>
Déclaration de la table spip_forum et de l'objet forum
get_forums_publics()  : bool
Récupérer le réglage des forums publics d'un objet
formulaires_activer_forums_objet_charger_dist()  : array<string|int, mixed>
Charger
formulaires_activer_forums_objet_traiter_dist()  : array<string|int, mixed>
Traiter
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
forum_upgrade()  : mixed
Installation/maj des tables forum
forum_vider_tables()  : mixed
Désinstallation/suppression des tables forum
forum_autoriser()  : mixed
Fonction d'appel pour le pipeline
autoriser_foruminternesuivi_menu_dist()  : bool
Autorisation de voir l'élément «forums internes» dans le menu
autoriser_forumreactions_menu_dist()  : bool
Autorisation de voir l'élément «suivi des forums» dans le menu
autoriser_modererforum_dist()  : bool
Autorisation de modérer un message de forum
autoriser_forum_instituer_dist()  : bool
Autorisation de changer le statut d'un message de forum
autoriser_forum_moderer_dist()  : bool
Autorisation par défaut de modérer un message de forum
autoriser_forum_modifier_dist()  : bool
Autorisation de modifier un message de forum
autoriser_forum_admin_dist()  : bool
Autorisation de consulter le forum des administrateurs
autoriser_forum_autoassocierdocument_dist()  : bool
Autorisation d'auto-association de documents sur des forum
autoriser_forum_associerdocuments_dist()  : bool
Autorisation d'association de documents sur des forum
autoriser_forum_dissocierdocuments_dist()  : bool
Autorisation de dissociation de documents sur des forum
autoriser_forumadmin_participer_dist()  : bool
Autorisation de participer au forum des admins
autoriser_participerforumprive_dist()  : bool
Autorisation de participer au forum privé d'un objet quelconque
autoriser_configurerforum_menu_dist()  : bool
Autorisation de voir le menu configurer_forum
filtre_url_reponse_forum()  : string
Un filtre appliqué à `#PARAMETRES_FORUM`, qui donne l'adresse de la page de réponse
filtre_url_rss_forum()  : string
Un filtre qui, étant donné un `#PARAMETRES_FORUM`, retourne une URL de suivi rss dudit forum
interdit_html()  : string
Empêche l'exécution de code HTML
forum_ieconfig_metas()  : array<string|int, mixed>
Ajoute les metas sauvegardables de Forum pour le plugin IEConfig
forum_accueil_encours()  : string
Bloc sur les encours editoriaux en page d'accueil
forum_accueil_informations()  : string
Bloc sur les informations generales concernant chaque type d'objet
forum_afficher_fiche_objet()  : array<string|int, mixed>
Affichage de la fiche complete des articles et rubriques
forum_afficher_config_objet()  : array<string|int, mixed>
Boite de configuration des objets articles
forum_afficher_message_statut_objet()  : array<string|int, mixed>
Message d'information relatif au statut d'un objet
forum_boite_infos()  : array<string|int, mixed>
Nombre de forums d'un secteur dans la boite d'info
forum_compter_contributions_auteur()  : array<string|int, mixed>
Compter et afficher les contributions d'un visiteur pour affichage dans la page auteurs
forum_configurer_liste_metas()  : array<string|int, mixed>
Definir les meta de configuration liee aux forums
forum_optimiser_base_disparus()  : array<string|int, mixed>
Optimiser la base de donnée en supprimant les forums orphelins
forum_pre_insertion()  : array<string|int, mixed>
Remplissage des champs a la creation d'objet
forum_prepare_recherche()  : array<string|int, mixed>
Regrouper les resultats de recherche par threads sauf si {plat} est present
forum_rubrique_encours()  : array<string|int, mixed>
Bloc en sur les encours d'une rubrique (page naviguer)
forum_trig_supprimer_objets_lies()  : array<string|int, mixed>
Supprimer les forums lies aux objets du core lors de leur suppression
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
notifications_forumposte_dist()  : mixed
Cette notification s'exécute quand un message est posté
notifications_forumvalide_dist()  : mixed
Cette notification s'exécute quand on valide un message 'prop'osé.
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

balise_FORMULAIRE_FORUM()

Compile la balise `#FORMULAIRE_FORUM` qui affiche un formulaire d'ajout de commentaire

balise_FORMULAIRE_FORUM(Champ $p) : Champ

Signature : #FORMULAIRE_FORUM{[redirection[, objet, id_objet]]}

Particularité du contexte du formulaire pour permettre une saisie de mots-clés dans les forums : si la variable de personnalisation $afficher_groupe[] est définie dans le fichier d'appel, et si la table de référence est OK, la liste des mots-clés est alors proposée.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

Balise #FORMULAIRE_FORUM

link

Les formulaires

example
#FORMULAIRE_FORUM seul calcule (objet, id_objet) depuis la boucle parente
#FORMULAIRE_FORUM{#SELF} pour forcer l'url de retour
#FORMULAIRE_FORUM{#SELF, article, 3} pour forcer l'objet et son identifiant
Return values
Champ

Pile complétée par le code à générer

balise_FORMULAIRE_FORUM_stat()

Chercher l'objet/id_objet et la configuration du forum

balise_FORMULAIRE_FORUM_stat(array<string|int, mixed> $args, array<string|int, mixed> $context_compil) : array<string|int, mixed>|bool
Parameters
$args : array<string|int, mixed>
$context_compil : array<string|int, mixed>
Return values
array<string|int, mixed>|bool

balise_forum_retrouve_objet()

Retrouve l'objet et id_objet d'un forum

balise_forum_retrouve_objet(int $ido, int $id_forum, array<string|int, mixed> $args, array<string|int, mixed> $context_compil[, bool $objet_obligatoire = true ]) : array<string|int, mixed>|bool

S'il n'est pas transmis, on le prend dans la boucle englobante, sinon dans l'environnement, sinon on tente de le retrouver depuis un autre message de forum

Parameters
$ido : int
$id_forum : int
$args : array<string|int, mixed>
$context_compil : array<string|int, mixed>
$objet_obligatoire : bool = true
Return values
array<string|int, mixed>|bool

balise_FORMULAIRE_FORUM_PRIVE()

Compile la balise `#FORMULAIRE_FORUM_PRIVE` qui affiche un formulaire d'ajout de commentaire pour l'espace privé

balise_FORMULAIRE_FORUM_PRIVE(Champ $p) : Champ

Signature : #FORMULAIRE_FORUM_PRIVE{[redirection[, objet, id_objet]]}

Particularité du contexte du formulaire pour permettre une saisie de mots-clés dans les forums : si la variable de personnalisation $afficher_groupe[] est définie dans le fichier d'appel, et si la table de référence est OK, la liste des mots-clés est alors proposée.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_FORMULAIRE_FORUM()
example
#FORMULAIRE_FORUM_PRIVE seul calcule (objet, id_objet) depuis la boucle parente
#FORMULAIRE_FORUM_PRIVE{#SELF} pour forcer l'url de retour
#FORMULAIRE_FORUM_PRIVE{#SELF, article, 3} pour forcer l'objet et son identifiant
Return values
Champ

Pile complétée par le code à générer

balise_FORMULAIRE_FORUM_PRIVE_stat()

Chercher l'objet/id_objet et la configuration du forum

balise_FORMULAIRE_FORUM_PRIVE_stat(array<string|int, mixed> $args, array<string|int, mixed> $context_compil) : array<string|int, mixed>|bool
Parameters
$args : array<string|int, mixed>
$context_compil : array<string|int, mixed>
Return values
array<string|int, mixed>|bool

forum_declarer_tables_interfaces()

Interfaces de la table forum pour le compilateur

forum_declarer_tables_interfaces(array<string|int, mixed> $interfaces) : array<string|int, mixed>
Parameters
$interfaces : array<string|int, mixed>
Tags
pipeline

declarer_tables_interfaces

Return values
array<string|int, mixed>

$interfaces

forum_declarer_tables_objets_sql()

Déclaration de la table spip_forum et de l'objet forum

forum_declarer_tables_objets_sql(array<string|int, mixed> $tables) : array<string|int, mixed>
Parameters
$tables : array<string|int, mixed>

Tableau des objets déclarés

Tags
pipeline

declarer_tables_objets_sql

Return values
array<string|int, mixed>

$tables Tableau des objets complété

get_forums_publics()

Récupérer le réglage des forums publics d'un objet

get_forums_publics([int $id_objet = 0 ][, string $objet = 'article' ]) : bool
Parameters
$id_objet : int = 0
$objet : string = 'article'
Return values
bool

true si les forums publics sont autorisés, false sinon

formulaires_activer_forums_objet_charger_dist()

Charger

formulaires_activer_forums_objet_charger_dist(int $id_objet[, string $objet = 'article' ]) : array<string|int, mixed>
Parameters
$id_objet : int
$objet : string = 'article'
Return values
array<string|int, mixed>

Contexte du squelette du formulaire

formulaires_activer_forums_objet_traiter_dist()

Traiter

formulaires_activer_forums_objet_traiter_dist(int $id_objet[, string $objet = 'article' ]) : array<string|int, mixed>
Parameters
$id_objet : int
$objet : string = 'article'
Return values
array<string|int, mixed>

Retours des traitements

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 = ''

forum_upgrade()

Installation/maj des tables forum

forum_upgrade(string $nom_meta_base_version, string $version_cible) : mixed
Parameters
$nom_meta_base_version : string
$version_cible : string

forum_vider_tables()

Désinstallation/suppression des tables forum

forum_vider_tables(string $nom_meta_base_version) : mixed
Parameters
$nom_meta_base_version : string

forum_autoriser()

Fonction d'appel pour le pipeline

forum_autoriser() : mixed
Tags
pipeline

autoriser

autoriser_foruminternesuivi_menu_dist()

Autorisation de voir l'élément «forums internes» dans le menu

autoriser_foruminternesuivi_menu_dist(string $faire[, string $type = '' ][, int $id = 0 ][, array<string|int, mixed> $qui = null ][, array<string|int, mixed> $opt = null ]) : bool
Parameters
$faire : string

Action demandée

$type : string = ''

Type d'objet sur lequel appliquer l'action

$id : int = 0

Identifiant de l'objet

$qui : array<string|int, mixed> = null

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed> = null

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_forumreactions_menu_dist()

Autorisation de voir l'élément «suivi des forums» dans le menu

autoriser_forumreactions_menu_dist(string $faire[, string $type = '' ][, int $id = 0 ][, array<string|int, mixed> $qui = null ][, array<string|int, mixed> $opt = null ]) : bool
Parameters
$faire : string

Action demandée

$type : string = ''

Type d'objet sur lequel appliquer l'action

$id : int = 0

Identifiant de l'objet

$qui : array<string|int, mixed> = null

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed> = null

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_modererforum_dist()

Autorisation de modérer un message de forum

autoriser_modererforum_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut l'autorisation de modifier l'objet correspondant (si le forum est attaché à un objet), sinon avoir droits par défaut (être administrateur).

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser_forum_moderer_dist()
Return values
bool

true s'il a le droit, false sinon

autoriser_forum_instituer_dist()

Autorisation de changer le statut d'un message de forum

autoriser_forum_instituer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Seulement sur les objets qu'on a le droit de modérer.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_forum_moderer_dist()

Autorisation par défaut de modérer un message de forum

autoriser_forum_moderer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Si l'on connait l'objet, on délègue à modererforum, sinon il faut être administrateur

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser_modererforum_dist()
Return values
bool

true s'il a le droit, false sinon

autoriser_forum_modifier_dist()

Autorisation de modifier un message de forum

autoriser_forum_modifier_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Jamais

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_forum_admin_dist()

Autorisation de consulter le forum des administrateurs

autoriser_forum_admin_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur (y compris restreint)

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_forum_autoassocierdocument_dist()

Autorisation d'auto-association de documents sur des forum

autoriser_forum_autoassocierdocument_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Jamais

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_forum_associerdocuments_dist()

Autorisation d'association de documents sur des forum

autoriser_forum_associerdocuments_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Toujours

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_forum_dissocierdocuments_dist()

Autorisation de dissociation de documents sur des forum

autoriser_forum_dissocierdocuments_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Toujours

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_forumadmin_participer_dist()

Autorisation de participer au forum des admins

autoriser_forumadmin_participer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur (y compris restreint)

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_participerforumprive_dist()

Autorisation de participer au forum privé d'un objet quelconque

autoriser_participerforumprive_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Afin de rester compatible avec l'existant cette autorisation est toujours vraie.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_configurerforum_menu_dist()

Autorisation de voir le menu configurer_forum

autoriser_configurerforum_menu_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page configurer_forum

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de l'objet

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

filtre_url_reponse_forum()

Un filtre appliqué à `#PARAMETRES_FORUM`, qui donne l'adresse de la page de réponse

filtre_url_reponse_forum(string $parametres) : string
Parameters
$parametres : string
Tags
example
[<p class="repondre">
     <a href="(#PARAMETRES_FORUM|url_reponse_forum)">
     <:repondre_article:>
     </a>
 </p>]
filtre
see
balise_PARAMETRES_FORUM_dist()
Return values
string

URL de la page de réponse

filtre_url_rss_forum()

Un filtre qui, étant donné un `#PARAMETRES_FORUM`, retourne une URL de suivi rss dudit forum

filtre_url_rss_forum(string $param) : string

Attention : appliqué à un #PARAMETRES_FORUM complexe (id_article=x&id_forum=y) ça retourne une URL de suivi du thread y (que le thread existe ou non)

Parameters
$param : string
Tags
filtre
see
balise_PARAMETRES_FORUM_dist()
Return values
string

URL pour le suivi RSS

interdit_html()

Empêche l'exécution de code HTML

interdit_html(string $texte) : string

Permet si la constante _INTERDIRE_TEXTE_HTML est définie (ce n'est pas le cas par défaut) d'échapper les balises HTML d'un texte (de sorte qu'elles seront affichées et non traitées par le navigateur).

Parameters
$texte : string
Tags
see
forum_declarer_tables_interfaces()
Return values
string

forum_ieconfig_metas()

Ajoute les metas sauvegardables de Forum pour le plugin IEConfig

forum_ieconfig_metas(array<string|int, mixed> $table) : array<string|int, mixed>
Parameters
$table : array<string|int, mixed>

Déclaration des sauvegardes

Tags
pipeline

ieconfig_metas

Return values
array<string|int, mixed>

Déclaration des sauvegardes complétées

forum_accueil_encours()

Bloc sur les encours editoriaux en page d'accueil

forum_accueil_encours(string $texte) : string
Parameters
$texte : string
Return values
string

forum_accueil_informations()

Bloc sur les informations generales concernant chaque type d'objet

forum_accueil_informations(string $texte) : string
Parameters
$texte : string
Return values
string

forum_afficher_fiche_objet()

Affichage de la fiche complete des articles et rubriques

forum_afficher_fiche_objet(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_afficher_config_objet()

Boite de configuration des objets articles

forum_afficher_config_objet(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_afficher_message_statut_objet()

Message d'information relatif au statut d'un objet

forum_afficher_message_statut_objet(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_boite_infos()

Nombre de forums d'un secteur dans la boite d'info

forum_boite_infos(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_compter_contributions_auteur()

Compter et afficher les contributions d'un visiteur pour affichage dans la page auteurs

forum_compter_contributions_auteur(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_configurer_liste_metas()

Definir les meta de configuration liee aux forums

forum_configurer_liste_metas(array<string|int, mixed> $metas) : array<string|int, mixed>
Parameters
$metas : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_optimiser_base_disparus()

Optimiser la base de donnée en supprimant les forums orphelins

forum_optimiser_base_disparus(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_pre_insertion()

Remplissage des champs a la creation d'objet

forum_pre_insertion(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_prepare_recherche()

Regrouper les resultats de recherche par threads sauf si {plat} est present

forum_prepare_recherche(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_rubrique_encours()

Bloc en sur les encours d'une rubrique (page naviguer)

forum_rubrique_encours(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

forum_trig_supprimer_objets_lies()

Supprimer les forums lies aux objets du core lors de leur suppression

forum_trig_supprimer_objets_lies(array<string|int, mixed> $objets) : array<string|int, mixed>
Parameters
$objets : array<string|int, mixed>
Return values
array<string|int, 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

notifications_forumposte_dist()

Cette notification s'exécute quand un message est posté

notifications_forumposte_dist(string $quoi, int $id_forum, array<string|int, mixed> $options) : mixed
Parameters
$quoi : string
$id_forum : int
$options : array<string|int, mixed>

notifications_forumvalide_dist()

Cette notification s'exécute quand on valide un message 'prop'osé.

notifications_forumvalide_dist(string $quoi, int $id_forum, array<string|int, mixed> $options) : mixed

On va notifier ceux qui ne l'ont pas été à la notification forumposte (sachant que les deux peuvent se suivre si le forum est validé directement ('pos' ou 'abo')

Parameters
$quoi : string
$id_forum : int
$options : array<string|int, mixed>
Tags
pipeline_appel

notifications_destinataires

see

inc/forum_insert.php

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 = ''

Search results