objets.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Functions
- array_set_merge() : mixed
- Merge dans un tableau une de ses clés avec une valeur
- lister_tables_objets_sql() : array<string|int, mixed>|string
- Lister les infos de toutes les tables sql declarées
- base_serial() : mixed
- Déclare les tables principales du Core
- base_auxiliaires() : mixed
- Déclare les tables auxiliaires du Core
- renseigner_table_objet_sql() : array<string|int, mixed>
- Auto remplissage des informations non explicites sur un objet d'une table sql
- renseigner_table_objet_interfaces() : array<string|int, mixed>
- Renseigner les infos d'interface compilateur pour les tables objets complete la declaration precedente
- lister_tables_principales() : array<string|int, mixed>
- Retourne la liste des tables principales et leurs descriptions
- lister_tables_auxiliaires() : array<string|int, mixed>
- Retourne la liste des tables auxiliaires et leurs descriptions
- lister_tables_objets_surnoms() : array<string|int, mixed>
- Recenser les surnoms de table_objet
- lister_types_surnoms() : array<string|int, mixed>
- Recenser les surnoms de table_objet
- lister_tables_spip() : array<string|int, mixed>
- Retourne la liste des tables SQL qui concernent SPIP
- lister_toutes_tables() : array<string|int, mixed>
- Retourne la liste des tables SQL, Spip ou autres
- table_objet() : string
- Retrouve le nom d'objet à partir de la table
- table_objet_sql() : string
- Retrouve la table sql à partir de l'objet ou du type
- id_table_objet() : string|null
- Retrouve la clé primaire à partir du nom d'objet ou de table
- objet_type() : string|null
- Retrouve le type d'objet à partir du nom d'objet ou de table
- objet_test_si_publie() : bool
- Determiner si un objet est publie ou non
- objet_lister_parents() : array<string|int, mixed>
- Cherche les contenus parent d'un contenu précis.
- objet_lister_parents_par_type() : array<string|int, mixed>
- Fonction helper qui permet de récupérer une liste simplifiée des parents, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
- objet_lister_enfants() : array<string|int, mixed>
- Cherche tous les contenus enfants d'un contenu précis
- objet_lister_enfants_par_type() : array<string|int, mixed>
- Fonction helper qui permet de récupérer une liste simplifiée des enfants, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
- objet_type_decrire_infos_parents() : array<string|int, mixed>|false
- Donne les informations de parenté directe d'un type d'objet si on en trouve
- objet_type_decrire_infos_enfants() : array<string|int, mixed>
- Donne les informations des enfants directs d'un type d'objet si on en trouve
Functions
array_set_merge()
Merge dans un tableau une de ses clés avec une valeur
array_set_merge(array<string|int, mixed> &$table, string $index, array<string|int, mixed> $valeur) : mixed
Parameters
- $table : array<string|int, mixed>
-
Tableau dont on veut compléter une clé
- $index : string
-
Clé du tableau que l'on souhaite compléter
- $valeur : array<string|int, mixed>
-
Sous tableau à merger dans la clé.
lister_tables_objets_sql()
Lister les infos de toutes les tables sql declarées
lister_tables_objets_sql([string|null $table_sql = null ][, array<string|int, mixed> $desc = [] ]) : array<string|int, mixed>|string
Si un argument est fourni, on ne renvoie que les infos de cette table. Elle est auto-declarée si inconnue jusqu'alors.
Parameters
- $table_sql : string|null = null
-
table_sql demandee explicitement
- $desc : array<string|int, mixed> = []
-
description connue de la table sql demandee
Return values
array<string|int, mixed>|string —- array : description de la table ou des tables
- string (interne) si table '::md5' retourne un hash
base_serial()
Déclare les tables principales du Core
base_serial(array<string|int, mixed> &$tables_principales) : mixed
Tables principales, hors objets éditoriaux.
Parameters
- $tables_principales : array<string|int, mixed>
-
Description des tables principales déjà déclarées
base_auxiliaires()
Déclare les tables auxiliaires du Core
base_auxiliaires(array<string|int, mixed> &$tables_auxiliaires) : mixed
Parameters
- $tables_auxiliaires : array<string|int, mixed>
-
Description des tables auxiliaires déjà déclarées
renseigner_table_objet_sql()
Auto remplissage des informations non explicites sur un objet d'une table sql
renseigner_table_objet_sql(string $table_sql, array<string|int, mixed> &$infos) : array<string|int, mixed>
-
table_objet
-
table_objet_surnoms
-
type
-
type_surnoms
-
url_voir
-
url_edit
-
icone_objet
-
texte_retour
-
texte_modifier
-
texte_creer
-
texte_creer_associer
-
texte_ajouter
-
texte_objets
-
texte_objet
-
info_aucun_objet
-
info_1_objet
-
info_nb_objets
-
texte_logo_objet
-
texte_langue_objet
-
texte_definir_comme_traduction_objet
-
principale
-
champs_contenu : utlisé pour générer l'affichage par défaut du contenu
-
editable
-
champs_editables : utilisé pour prendre en compte le post lors de l'édition
-
champs_versionnes
L'objet doit définir de lui même ces champs pour gérer des statuts : - statut - statut_images - statut_titres - statut_textes_instituer - texte_changer_statut - aide_changer_statut
- modeles : permet de declarer les modeles associes a cet objet
Les infos non renseignées sont auto-déduites par conventions ou laissées vides
Parameters
- $table_sql : string
- $infos : array<string|int, mixed>
Return values
array<string|int, mixed>renseigner_table_objet_interfaces()
Renseigner les infos d'interface compilateur pour les tables objets complete la declaration precedente
renseigner_table_objet_interfaces(string $table_sql, array<string|int, mixed> &$infos) : array<string|int, mixed>
titre date statut tables_jointures
Parameters
- $table_sql : string
- $infos : array<string|int, mixed>
Return values
array<string|int, mixed>lister_tables_principales()
Retourne la liste des tables principales et leurs descriptions
lister_tables_principales() : array<string|int, mixed>
Return values
array<string|int, mixed> —Liste et descriptions des tables principales
lister_tables_auxiliaires()
Retourne la liste des tables auxiliaires et leurs descriptions
lister_tables_auxiliaires() : array<string|int, mixed>
Return values
array<string|int, mixed> —Liste et descriptions des tables auxiliaires
lister_tables_objets_surnoms()
Recenser les surnoms de table_objet
lister_tables_objets_surnoms() : array<string|int, mixed>
Return values
array<string|int, mixed>lister_types_surnoms()
Recenser les surnoms de table_objet
lister_types_surnoms() : array<string|int, mixed>
Return values
array<string|int, mixed>lister_tables_spip()
Retourne la liste des tables SQL qui concernent SPIP
lister_tables_spip([string $serveur = '' ]) : array<string|int, mixed>
Cette liste n'est calculée qu'une fois par serveur pour l'ensemble du hit
Parameters
- $serveur : string = ''
-
Nom du fichier de connexion à la base de données
Return values
array<string|int, mixed> —Couples (nom de la table SQL => même nom, sans 'spip_' devant)
lister_toutes_tables()
Retourne la liste des tables SQL, Spip ou autres
lister_toutes_tables(string $serveur) : array<string|int, mixed>
Cette liste n'est calculée qu'une fois par serveur pour l'ensemble du hit
Parameters
- $serveur : string
-
Nom du fichier de connexion à la base de données
Return values
array<string|int, mixed> —Couples (nom de la table SQL => même nom)
table_objet()
Retrouve le nom d'objet à partir de la table
table_objet(string $type[, string|false $serveur = '' ]) : string
- spip_articles -> articles
- id_article -> articles
- article -> articles
Parameters
- $type : string
-
Nom de la table SQL (le plus souvent) Tolère un nom de clé primaire.
- $serveur : string|false = ''
-
- string: Nom du connecteur
- false: Pas de recherche en bdd
Return values
string —Nom de l'objet
table_objet_sql()
Retrouve la table sql à partir de l'objet ou du type
table_objet_sql(string $type[, string|false $serveur = '' ]) : string
- articles -> spip_articles
- article -> spip_articles
- id_article -> spip_articles
Parameters
- $type : string
-
Nom ou type de l'objet Tolère un nom de clé primaire.
- $serveur : string|false = ''
-
- string: Nom du connecteur
- false: Pas de recherche en bdd
Return values
string —Nom de la table SQL
id_table_objet()
Retrouve la clé primaire à partir du nom d'objet ou de table
id_table_objet(string $type[, string $serveur = '' ]) : string|null
- articles -> id_article
- article -> id_article
- spip_articles -> id_article
Parameters
- $type : string
-
Nom de la table SQL ou de l'objet
- $serveur : string = ''
-
Nom du connecteur
Return values
string|null —Nom de la clé primaire
objet_type()
Retrouve le type d'objet à partir du nom d'objet ou de table
objet_type(string $table_objet[, string|false $serveur = '' ]) : string|null
- articles -> article
- spip_articles -> article
- id_article -> article
Parameters
- $table_objet : string
-
Nom de l'objet ou de la table SQL
- $serveur : string|false = ''
-
- string: Nom du connecteur
- false: Pas de recherche en bdd
Return values
string|null —Type de l'objet
objet_test_si_publie()
Determiner si un objet est publie ou non
objet_test_si_publie(string $objet, int $id_objet[, string $serveur = '' ]) : bool
On se base pour cela sur sa declaration de statut pour des cas particuliers non declarables, on permet de fournir une fonction base_xxxx_test_si_publie qui sera appele par la fonction
Parameters
- $objet : string
- $id_objet : int
- $serveur : string = ''
Return values
boolobjet_lister_parents()
Cherche les contenus parent d'un contenu précis.
objet_lister_parents(string $objet, int $id_objet[, bool $parent_direct_seulement = false ]) : array<string|int, mixed>
comme :
$tables['spip_auteurs']['parent'] = array(
'type' => 'organisation',
'champ' => 'id_organisation',
'table' => 'spip_organisations_liens',
'table_condition' => 'role="parent"',
'source_champ' => 'id_objet',
'champ_type' => 'objet'
);
La fonction retourne un tableau de parents, chacun de la forme ['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...'] Si la table utilisée pour trouver le parent est une table de liens (finissant par _liens), le tableau contient en plus en entrée 'lien' qui contient les informations complètes du lien (rang, role...)
Parameters
- $objet : string
-
Type de l'objet dont on cherche les parent
- $id_objet : int
-
Identifiant de l'objet dont on cherche les parent
- $parent_direct_seulement : bool = false
-
ne considerer que les relations directes et non via table de liens
Return values
array<string|int, mixed> —Retourne un tableau décrivant les parents trouvés
objet_lister_parents_par_type()
Fonction helper qui permet de récupérer une liste simplifiée des parents, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
objet_lister_parents_par_type(string $objet, int $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int
Return values
array<string|int, mixed>objet_lister_enfants()
Cherche tous les contenus enfants d'un contenu précis
objet_lister_enfants(string $objet, int $id_objet) : array<string|int, mixed>
comme :
$tables['spip_auteurs']['parent'] = array(
'type' => 'organisation',
'champ' => 'id_organisation',
'table' => 'spip_organisations_liens',
'table_condition' => 'role="parent"',
'source_champ' => 'id_objet',
'champ_type' => 'objet'
);
La fonction retourne un tableau des enfants, chacun de la forme ['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...'] Si la table utilisée pour trouver l'eenfant est une table de liens (finissant par _liens), le tableau contient en plus en entrée 'lien' qui contient les informations complètes du lien (rang, role...)
Parameters
- $objet : string
-
Type de l'objet dont on cherche les enfants
- $id_objet : int
-
Identifiant de l'objet dont on cherche les enfants
Return values
array<string|int, mixed> —Retourne un tableau de tableaux, avec comme clés les types des objets, et dans chacun un tableau des identifiants trouvés
objet_lister_enfants_par_type()
Fonction helper qui permet de récupérer une liste simplifiée des enfants, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
objet_lister_enfants_par_type(string $objet, int $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int
Return values
array<string|int, mixed>objet_type_decrire_infos_parents()
Donne les informations de parenté directe d'un type d'objet si on en trouve
objet_type_decrire_infos_parents(string $objet) : array<string|int, mixed>|false
Parameters
- $objet : string
-
Type de l'objet dont on cherche les informations de parent
Return values
array<string|int, mixed>|false —Retourne un tableau de tableau contenant les informations de type et de champ pour trouver le parent ou false sinon
objet_type_decrire_infos_enfants()
Donne les informations des enfants directs d'un type d'objet si on en trouve
objet_type_decrire_infos_enfants(string $objet) : array<string|int, mixed>
Parameters
- $objet : string
-
Type de l'objet dont on cherche les informations des enfants
Return values
array<string|int, mixed> —Retourne un tableau de tableaux contenant chacun les informations d'un type d'enfant