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