Fichier ecrire/base/objets.php

Fonctions relatives aux objets éditoriaux et SQL

Source

Liste des fonctions

APIs

  • articles -> id_article
  • article -> id_article
  • spip_articles -> id_article
string id_table_objet( string $type , string $serveur = '' )

Paramètres

  1. string $type

    Nom de la table SQL ou de l'objet

  2. string $serveur = ''

    Nom du connecteur

Retour

  • string

    Nom de la clé primaire

API

Package

array lister_tables_auxiliaires( )

Retour

  • array

    Liste et descriptions des tables auxiliaires

API

Package

Si un argument est fourni, on ne renvoie que les infos de cette table. Elle est auto-declarée si inconnue jusqu'alors.

array | boolean lister_tables_objets_sql( string $table_sql = null , array $desc = array() )

Paramètres

  1. string $table_sql = null

    table_sql demandee explicitement

  2. array $desc = array()

    description connue de la table sql demandee

Retour

  • array | boolean

API

Package

array lister_tables_principales( )

Retour

  • array

    Liste et descriptions des tables principales

API

Package

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...)

array objet_lister_enfants( $objet , $id_objet )

Paramètres

  1. $objet

    Type de l'objet dont on cherche les enfants

  2. $id_objet

    Identifiant de l'objet dont on cherche les enfants

Retour

  • array

    Retourne un tableau de tableaux, avec comme clés les types des objets, et dans chacun un tableau des identifiants trouvés

API

Package

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...)

array objet_lister_parents( string $objet , integer $id_objet , boolean $parent_direct_seulement = false )

Paramètres

  1. string $objet

    Type de l'objet dont on cherche les parent

  2. integer $id_objet

    Identifiant de l'objet dont on cherche les parent

  3. boolean $parent_direct_seulement = false

    ne considerer que les relations directes et non via table de liens

Retour

  • array

    Retourne un tableau décrivant les parents trouvés

API

Package

  • articles -> article
  • spip_articles -> article
  • id_article -> article
string objet_type( string $table_objet , string $serveur = '' )

Paramètres

  1. string $table_objet

    Nom de l'objet ou de la table SQL

  2. string $serveur = ''

    Nom du connecteur

Retour

  • string

    Type de l'objet

API

Package

  • spip_articles -> articles
  • id_article -> articles
  • article -> articles
string table_objet( string $type , string $serveur = '' )

Paramètres

  1. string $type

    Nom de la table SQL (le plus souvent) Tolère un nom de clé primaire.

  2. string $serveur = ''

    Nom du connecteur

Retour

  • string

    Nom de l'objet

API

Package

  • articles -> spip_articles
  • article -> spip_articles
  • id_article -> spip_articles
string table_objet_sql( string $type , string $serveur = '' )

Paramètres

  1. string $type

    Nom ou type de l'objet Tolère un nom de clé primaire.

  2. string $serveur = ''

    Nom du connecteur

Retour

  • string

    Nom de la table SQL

API

Package

Internes

void array_set_merge( array & $table , string $index , array $valeur )

Paramètres

  1. array & $table

    Tableau dont on veut compléter une clé

  2. string $index

    Clé du tableau que l'on souhaite compléter

  3. array $valeur

    Sous tableau à merger dans la clé.

Retour

  • void

Package

void base_auxiliaires( array & $tables_auxiliaires )

Paramètres

  1. array & $tables_auxiliaires

    Description des tables auxiliaires déjà déclarées

Retour

  • void

Package

Tables principales, hors objets éditoriaux.

void base_serial( array & $tables_principales )

Paramètres

  1. array & $tables_principales

    Description des tables principales déjà déclarées

Retour

  • void

Package

array lister_tables_objets_surnoms( )

Retour

  • array

Package

Cette liste n'est calculée qu'une fois par serveur pour l'ensemble du hit

array lister_tables_spip( string $serveur = '' )

Paramètres

  1. string $serveur = ''

    Nom du fichier de connexion à la base de données

Retour

  • array

    Couples (nom de la table SQL => même nom, sans 'spip_' devant)

Package

Cette liste n'est calculée qu'une fois par serveur pour l'ensemble du hit

array lister_toutes_tables( string $serveur )

Paramètres

  1. string $serveur

    Nom du fichier de connexion à la base de données

Retour

  • array

    Couples (nom de la table SQL => même nom)

Package

array lister_types_surnoms( )

Retour

  • array

Package

..], 'objet2' => [ids...] ]

array objet_lister_enfants_par_type( $objet , $id_objet )

Paramètres

  1. $objet
  2. $id_objet

Retour

  • array

Package

..], 'objet2' => [ids...] ]

array objet_lister_parents_par_type( $objet , $id_objet )

Paramètres

  1. $objet
  2. $id_objet

Retour

  • array

Package

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

boolean objet_test_si_publie( string $objet , integer $id_objet , string $serveur = '' )

Paramètres

  1. string $objet
  2. integer $id_objet
  3. string $serveur = ''

Retour

  • boolean

Package

array objet_type_decrire_infos_enfants( $objet )

Paramètres

  1. $objet

    Type de l'objet dont on cherche les informations des enfants

Retour

  • array

    Retourne un tableau de tableaux contenant chacun les informations d'un type d'enfant

Package

array | false objet_type_decrire_infos_parents( $objet )

Paramètres

  1. $objet

    Type de l'objet dont on cherche les informations de parent

Retour

  • array | false

    Retourne un tableau de tableau contenant les informations de type et de champ pour trouver le parent ou false sinon

Package

titre date statut tables_jointures

array renseigner_table_objet_interfaces( $table_sql , & $infos )

Paramètres

  1. $table_sql
  2. & $infos

Retour

  • array

Package

  • 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

array renseigner_table_objet_sql( string $table_sql , array & $infos )

Paramètres

  1. string $table_sql
  2. array & $infos

Retour

  • array

Package