Fichier fabrique_fonctions.php

Fonctions utiles pour les squelettes de la fabrique

Source

Liste des fonctions

array _tableau_option_presente( string $func , array $tableau , string $option , string $type = '' )

Paramètres

  1. string $func

    Nom de la fonction à appeler, tel que

    • champ_option_presente
    • option_presente
    • ...
  2. array $tableau

    Tableau de descriptions (descriptions d'objet ou descriptions de champ d'objet)

  3. string $option

    Nom de l'option dont on teste la présence

  4. string $type = ''

    Information de retour désiré :

    • vide pour toute la description
    • clé dans la description pour obtenir uniquement ces descriptions

Retour

  • array

    Liste des descriptions correspondant à l'option demandée

Package

array _tableau_options_presentes( string $func , array $tableau , array $options , string $type = '' )

Paramètres

  1. string $func

    Nom de la fonction à appeler, tel que

    • champ_option_presente
    • option_presente
    • ...
  2. array $tableau

    Tableau de descriptions (descriptions d'objet ou descriptions de champ d'objet)

  3. array $options

    Nom des l'options dont on teste leur présence

  4. string $type = ''

    Information de retour désiré :

    • vide pour toute la description
    • clé dans la description pour obtenir uniquement ces descriptions

Retour

  • array

    Liste des descriptions correspondant aux options demandées

Package

boolean autorisation_presente( array $objet , string $recherche )

Paramètres

  1. array $objet

    Description d'un objet de la Fabrique

  2. string $recherche

    Le type d'autorisation recherché

Retour

  • boolean

Package

Fait écrire '<?php' sans que ce php soit executé par SPIP !

\Champ balise_PHP_dist( \Champ $p )

Paramètres

  1. \Champ $p

    Pile au niveau de la balise

Retour

  • \Champ

    Pile complétée du code à produire

Package

Balise

  • PHP

Permet d'insérer un texte comme valeur d'une clé de langue, lorsqu'on crée un fichier de langue avec la fabrique.

Transforme les caractères &# et échappe les apostrophes :

  • &#xxx => le bon caractère
  • ' => \'
string chaine_de_langue( string $texte )

Paramètres

  1. string $texte

    Le texte à écrire dans la chaîne de langue

Retour

  • string

    Le texte transformé

Exemples

  • '#ENV{prefixe}_description' => '[(#ENV{paquet/description}|chaine_de_langue)]',

Package

string champ_option_presente( array $champ , string $option )

Paramètres

  1. array $champ

    Description d'un champ SQL d'un objet créé avec la fabrique

  2. string $option

    Option testée

Retour

  • string

    Même retour que le filtre |oui :

    • Un espace si l'option est présente dans le champ de l'objet
    • Chaîne vide sinon

Package

Champ, au sens de colonne SQL

string champ_present( array $objet , string $champ )

Paramètres

  1. array $objet

    Descrption de l'objet

  2. string $champ

    Nom du champ SQL à tester

Retour

  • string

    Même retour que le filtre |oui :

    • Un espace si le champ SQL exsitera dans l'objet
    • Chaîne vide sinon

Package

string champ_saisie_presente( array $champ , string $saisie )

Paramètres

  1. array $champ

    Description d'un champ SQL d'un objet créé avec la fabrique

  2. string $saisie

    Saisie testée

Retour

  • string

    Même retour que le filtre |oui :

    • Un espace si l'option est présente dans le champ de l'objet
    • Chaîne vide sinon

Package

array champs_option_presente( array $champs , string $option , string $type = '' )

Paramètres

  1. array $champs

    Liste des descriptions de champs d'un objet créé avec la fabrique

  2. string $option

    Type d'option sélectionnée

  3. string $type = ''

    Information de retour désiré :

    • vide pour toute la description du champ
    • clé dans la description du champ pour obtenir uniquement ces descriptions

Retour

  • array
    • tableau de description des champs sélectionnés (si type non défini)
    • tableau les valeurs du type demandé dans les champs sélectionnés (si type défini)

Exemples

    • #CHAMPS|champs_option_presente{editable}
    • #CHAMPS|champs_option_presente{versionne}

Package

array champs_options_presentes( array $champs , array $options , string $type = '' )

Paramètres

  1. array $champs

    Liste des descriptions de champs d'un objet créé avec la fabrique

  2. array $options

    Liste de type d'options à sélectionner

  3. string $type = ''

    Information de retour désiré :

    • vide pour toute la description du champ
    • clé dans la description du champ pour obtenir uniquement ces descriptions

Retour

  • array
    • tableau de description des champs sélectionnés (si type non défini)
    • tableau les valeurs du type demandé dans les champs sélectionnés (si type défini)

Exemples

  • #CHAMPS|champs_options_presentes{#LISTE{obligatoire,saisie}}

Package

array champs_saisie_presente( array $champs , string $saisie , string $type = '' )

Paramètres

  1. array $champs

    Liste des descriptions de champs d'un objet créé avec la fabrique

  2. string $saisie

    Type de saisie sélectionnée

  3. string $type = ''

    Information de retour désiré :

    • vide pour toute la description du champ
    • clé dans la description du champ pour obtenir uniquement ces descriptions

Retour

  • array
    • tableau de description des champs sélectionnés (si type non défini)
    • tableau les valeurs du type demandé dans les champs sélectionnés (si type défini)

Exemples

  • #CHAMPS|champs_saisie_presente{date}

Package

Remplace 'objets' par le nom de l'objet, et 'objet' par le type d'objet, mais ne touche pas à '\objets' ou '\objet'.

string cle_de_langue( string $cle , array $desc_objet )

Paramètres

  1. string $cle

    La clé à transformer

  2. array $desc_objet

    Couples d'information sur l'objet en cours, avec les index 'objet' et 'type' définis

Retour

  • string

    La clé transformée

Exemples

  • cle_de_langue('titre_objets') => titre_chats
    cle_de_langue('icone_creer_objet') => icone_creer_chat
    cle_de_langue('prive/\objets/infos/objet.html') => prive/objets/infos/chat.html

Package

Note

  • Cette fonction ne sert pas uniquement à définir des clés pour les fichiers de chaînes de langue, et pourrait être renommée

Tous les champs déclarés commençant par id_x sont retournés sous forme d'une écriture de critère, tel que {id_parent?}{id_documentation?}

La clé primaire est également ajoutée, sauf contre indication.

Les champs indirects {B_liens.id_B ?} sont aussi ajoutés s'ils sont déclarés dans la Fabrique en même temps.

string criteres_champs_id( array $objet , array $objets , boolean $avec_cle_primaire = true )

Paramètres

  1. array $objet

    Description de l'objet dans la fabrique

  2. array $objets

    Description de tous les objets dans la fabrique

  3. boolean $avec_cle_primaire = true

    Ajouter la clé primaire de la table également

Retour

  • string

    L'écriture des critères de boucle

Package

Fonction un peu équivalente à var_export()

string ecrire_tableau( array $tableau , boolean $quote = false , string $defaut = "array()" )

Paramètres

  1. array $tableau

    Le tableau dont on veut obtenir le code de création array( ... )

  2. boolean $quote = false

    Appliquer sql_quote() sur chaque valeur (dans le code retourne)

  3. string $defaut = "array()"

    Si $tableau est vide ou n'est pas une chaîne, la fonction retourne cette valeur

Retour

  • string
    • Le code de création du tableau, avec éventuellement le code pour appliquer sql_quote.
    • $defaut si le tableau est vide

Package

Identique à ecrire_tableau() mais ne retourne rien si le tableau est vide

string ecrire_tableau_sinon_rien( array $tableau , boolean $quote = false )

Paramètres

  1. array $tableau

    Le tableau dont on veut obtenir le code de création array( ... )

  2. boolean $quote = false

    Appliquer sql_quote() sur chaque valeur (dans le code retourne)

Retour

  • string
    • Le code de création du tableau, avec éventuellement le code pour appliquer sql_quote.
    • Chaîne vide si le tableau est vide

Voir également

Package

Fonction un peu equivalente à str_pad() mais avec une valeur par défaut définie par la constante _FABRIQUE_ESPACER

\Texte espacer( string $texte , integer $taille )

Paramètres

  1. string $texte

    Texte à compléter

  2. integer $taille

    Taille spécifique, utilisée à la place de la constante si renseignée

Retour

  • \Texte

    complété des espaces de fin

Package

array fabrique_array_map( array $tableau , string $fonction , array $objets )

Paramètres

  1. array $tableau
  2. string $fonction
  3. array $objets

Retour

  • array

Package

string fabrique_autorisation_defaut( string $autorisation )

Paramètres

  1. string $autorisation

    Nom de l'autorisation (objet et objets remplacent le veritable type et nom d'objet)

Retour

  • string

    Type d'autorisation par defaut (jamais, toujours, redacteur, ...)

Package

string fabrique_code_autorisation( string $type , string $prefixe , array $objet )

Paramètres

  1. string $type

    Quel type d'autorisation est voulue

  2. string $prefixe

    Préfixe du plugin généré

  3. array $objet

    Description de l'objet dans la Fabrique

Retour

  • string

    Code de test de l'autorisation

Package

string fabrique_code_autorisation_defaut( array $autorisations , string $autorisation , string $prefixe , array $objet )

Paramètres

  1. array $autorisations

    Les autorisations renseignees par l'interface pour un objet

  2. string $autorisation

    Le nom de l'autorisation souhaitee

  3. string $prefixe

    Préfixe du plugin généré

  4. array $objet

    Description le l'objet dans la Fabrique

Retour

  • string

    Code de l'autorisation

Package

array fabrique_description_roles( array $objet )

Paramètres

  1. array $objet

    Descrption de l'objet

Retour

  • array

    Description des rôles. 4 index :

    • roles_colonne : la colonne utilisée, toujours 'role'
    • roles_titre : couples clé du role, clé de langue du role
    • roles_objets : tableau objet => liste des clés de roles
    • roles_trads : couples clé de langue => Texte
    • roles_defaut : la clé du role par défaut

Package

Dans :

  • plugins/fabrique_auto si possible, sinon dans
  • tmp/cache/fabrique
string fabrique_destination( )

Retour

  • string

    Le chemin de destination depuis la racine de SPIP.

Package

D'abord en cherchant dans les déclaration de la Fabrique, sinon en cherchant dans les objets actifs sur ce SPIP.

string fabrique_id_table_objet( string $table , array $objets )

Paramètres

  1. string $table

    Table SQL

  2. array $objets

    Description des objets générés par la Fabrique.

Retour

  • string

Package

string | boolean fabrique_implode_recursif( array $tableau , string $glue = '' )

Paramètres

  1. array $tableau

    Tableau à transformer

  2. string $glue = ''

    Chaine insérée entre les valeurs

Retour

  • string | boolean
    • False si pas un tableau
    • Chaine concaténée sinon

Package

Champs déclarés complétés des champs spéciaux (editable, versionne, obligatoire)

array fabrique_lister_objet_champs( array $objet , string $option )

Paramètres

  1. array $objet

    Description de l'objet concerné

  2. string $option

    Option souhaitée.

Retour

  • array

    Liste des champs concernés

Package

array fabrique_lister_tables( array $objets , string $quoi = 'tout' )

Paramètres

  1. array $objets

    Liste des descriptions d'objets créés avec la fabrique

  2. string $quoi = 'tout'

    Choix du retour désiré :

    • 'tout' => toutes les tables (par défaut)
    • 'objets' => les tables d'objet (spip_xx, spip_yy)
    • 'liens' => les tables de liens (spip_xx_liens, spip_yy_liens)

Retour

  • array

    Liste des tables

Package

string fabrique_mb_strtolower( string $str )

Paramètres

  1. string $str

    La chaine à passer en minuscule

Retour

  • string

    La chaine en minuscule

Package

string fabrique_mb_strtoupper( string $str )

Paramètres

  1. string $str

    La chaine à passer en majuscule

Retour

  • string

    La chaine en majuscule

Package

array fabrique_necessite_pipeline( array $objets , string $pipeline )

Paramètres

  1. array $objets

    Liste des descriptions d'objets créés avec la fabrique

  2. string $pipeline

    Nom du pipeline

Retour

  • array

    Liste des objets (descriptions) utilisant le pipeline

Package

D'abord en cherchant dans les déclaration de la Fabrique, sinon en cherchant dans les objets actifs sur ce SPIP.

string fabrique_objet_type( string $table , array $objets )

Paramètres

  1. string $table

    Table SQL

  2. array $objets

    Description des objets générés par la Fabrique.

Retour

  • string

Package

fabrique_objets_enfants_directs( array $objet , array $objets )

Paramètres

  1. array $objet

    Description de l'objet dans la fabrique

  2. array $objets

    Description de tous les objets dans la fabrique

Retour

Package

array fabrique_parent( array $objet , array $objets )

Paramètres

  1. array $objet

    Déclaration d'un objet dans la Fabrique

  2. array $objets

    Déclaration de tous les objets dans la Fabrique

Retour

  • array

    Description du parent

Package

D'abord en cherchant dans les déclaration de la Fabrique, sinon en cherchant dans les objets actifs sur ce SPIP.

string fabrique_table_objet( string $table , array $objets )

Paramètres

  1. string $table

    Table SQL

  2. array $objets

    Description des objets générés par la Fabrique.

Retour

  • string

Package

string fabrique_tabulations( string $texte , integer $nb_tabulations )

Paramètres

  1. string $texte

    Un texte, qui peut avoir plusieurs lignes

  2. integer $nb_tabulations

    Nombre de tabulations à appliquer à gauche de chaque ligne

Retour

  • string

    Texte indenté du nombre de tabulations indiqué

Package

string fabrique_type_autorisation( string $type )

Paramètres

  1. string $type

    Type ou objet

Retour

  • string

    Type pour le nom d'autorisation

Package

array fabriquer_tableau_chaines( array $objet )

Paramètres

  1. array $objet

    Description de l'objet dans la fabrique

Retour

  • array

    Couples (clé de langue => Texte)

Package

array filtre_fabrique_lister_objets_editoriaux( array $objets_fabrique , array $inclus = array() , array $exclus = array() )

Paramètres

  1. array $objets_fabrique

    Déclaration d'objets de la fabrique

  2. array $inclus = array()

    Liste de tables SQL que l'on veut forcement presentes meme si l'objet n'est pas declare

  3. array $exclus = array()

    Liste de tables SQL que l'on veut forcement exclues meme si l'objet n'est pas declare

Retour

  • array

    Tableau table_sql => Nom

Package

Filtre

  • fabrique_lister_objets_editoriaux

Cela évite un |array_shift qui ne passe pas en PHP 5.4

Attention à bien rafraîchir l'image réduite lorsqu'on change de logo.

string filtre_fabrique_miniature_image( string $fichier , integer $taille = 256 )

Paramètres

  1. string $fichier

    Chemin du fichier

  2. integer $taille = 256

    Taille de réduction de l'image

Retour

  • string

    Balise HTML IMG de l'image réduite et à jour

Exemples

  • #URL_IMAGE|fabrique_miniature_image{128} Applique l'équivalent de :
    #URL_IMAGE
        |image_reduire{128}|extraire_attribut{src}
        |explode{?}|array_shift|timestamp|balise_img

Package

Filtre

  • fabrique_miniature_image
void filtre_svp_categories_fallback_dist( )

Package

Filtre

  • svp_categories_fallback
boolean objets_autorisation_presente( array $objets , string $recherche )

Paramètres

  1. array $objets

    Descriptions des objets de la Fabrique

  2. string $recherche

    Le type d'autorisation recherché

Retour

  • boolean

Package

boolean objets_autorisations_presentes( array $objets , array<mixed,string> $recherches )

Paramètres

  1. array $objets

    Descriptions des objets de la Fabrique

  2. array<mixed,string> $recherches

    Les types d'autorisations recherchés

Retour

  • boolean

Package

Cela simplifie des boucles DATA

array objets_champ_present( array $objets , string $champ , string $type = '' )

Paramètres

  1. array $objets

    Liste des descriptions d'objets créés avec la fabrique

  2. string $champ

    Type de champ sélectionné

  3. string $type = ''

    Information de retour désiré :

    • vide pour toute la description de l'objet
    • clé dans la description de l'objet pour obtenir uniquement ces descriptions

Retour

  • array
    • tableau de description des objets sélectionnés (si type non défini)
    • tableau les valeurs du type demandé dans les objets sélectionnés (si type défini)

Exemples

    • #OBJETS|objets_champ_present{id_rubrique}
    • On peut ne retourner qu'une liste de type de valeur (objet, type, id_objet) #OBJETS|objets_champ_present{id_rubrique, objet} // chats,souris

Package

Option au sens des clés du formulaire de configuration de l'objet

array objets_option_presente( array $objets , string $option , string $type = '' )

Paramètres

  1. array $objets

    Liste des descriptions d'objets créés avec la fabrique

  2. string $option

    Type d'option sélectionnée

  3. string $type = ''

    Information de retour désiré :

    • vide pour toute la description de l'objet
    • clé dans la description de l'objet pour obtenir uniquement ces descriptions

Retour

  • array
    • tableau de description des objets sélectionnés (si type non défini)
    • tableau les valeurs du type demandé dans les objets sélectionnés (si type défini)

Exemples

    • #OBJETS|objets_option_presente{vue_rubrique}
    • #OBJETS|objets_option_presente{auteurs_liens}
    • On peut ne retourner qu'une liste de type de valeur (objet, type, id_objet) #OBJETS|objets_option_presente{auteurs_liens, objet} // chats,souris

Package

Option au sens des clés du formulaire de configuration de l'objet

array objets_options_presentes( array $objets , array $options , string $type = '' )

Paramètres

  1. array $objets

    Liste des descriptions d'objets créés avec la fabrique

  2. array $options

    Liste de type d'option à sélectionner

  3. string $type = ''

    Information de retour désiré :

    • vide pour toute la description de l'objet
    • clé dans la description de l'objet pour obtenir uniquement ces descriptions

Retour

  • array
    • tableau de description des objets sélectionnés (si type non défini)
    • tableau les valeurs du type demandé dans les objets sélectionnés (si type défini)

Exemples

    • #OBJETS|objets_options_presentes{#LISTE{table_liens,vue_liens}}
    • On peut ne retourner qu'une liste de type de valeur (objet, type, id_objet) #OBJETS|objets_options_presentes{#LISTE{table_liens,vue_liens}, objet} // chats,souris

Package

array objets_saisie_presente( array $objets , string $saisie , string $type = '' )

Paramètres

  1. array $objets

    Liste des descriptions d'objets créés avec la fabrique

  2. string $saisie

    Type de saisie sélectionnée

  3. string $type = ''

    Information de retour désiré :

    • vide pour toute la description de l'objet
    • clé dans la description de l'objet pour obtenir uniquement ces descriptions

Retour

  • array
    • tableau de description des objets sélectionnés (si type non défini)
    • tableau les valeurs du type demandé dans les objets sélectionnés (si type défini)

Exemples

    • #OBJETS|objets_saisie_presente{date}
    • On peut ne retourner qu'une liste de type de valeur (objet, type, id_objet) #OBJETS|objets_saisie_presente{date, objet} // chats,souris

Package

Option au sens de clé de configuration, pas un nom de champ SQL

string option_presente( array $objet , string $champ )

Paramètres

  1. array $objet

    Descrption de l'objet

  2. string $champ

    Nom de l'option à tester

Retour

  • string

    Même retour que le filtre |oui :

    • Un espace si l'option est présente dans l'objet
    • Chaîne vide sinon

Package

Option au sens de clé de configuration, pas un nom de champ SQL

string options_presentes( array $objet , array $champs )

Paramètres

  1. array $objet

    Descrption de l'objet

  2. array $champs

    Liste de nom d'options à tester

Retour

  • string

    Même retour que le filtre |oui :

    • Un espace si toutes les options sont présentes dans l'objet
    • Chaîne vide sinon

Package

string saisie_presente( array $objet , array $saisie )

Paramètres

  1. array $objet

    Descrption de l'objet

  2. array $saisie

    Nom de la saisie à tester

Retour

  • string

    Même retour que le filtre |oui :

    • Un espace si l'option est présente dans l'objet
    • Chaîne vide sinon

Package

Crée tous les répertoires manquants dans une arborescence donnée. Les répertoires sont séparés par des '/'

void sous_repertoire_complet( string $arbo )

Paramètres

  1. string $arbo

    Arborescence, tel que 'prive/squelettes/contenu'

Retour

  • void

Exemples

  • sous_repertoire_complet('a/b/c/d'); appelle sous_repertoire() autant de fois que nécéssaire.

Package

array tab_cle_de_langue( array $tableau , array $desc_objet )

Paramètres

  1. array $tableau

    Tableau dont on veut transformer les valeurs

  2. array $desc_objet

    Couples d'information sur l'objet en cours, avec les index 'objet' et 'type' définis

Retour

  • array

    Tableau avec les valeurs transformées

Voir également

Package

array tab_cle_traduite_ajoute_dans_valeur( array $tableau , string $prefixe_cle = "" , string $sep = "&nbsp;: " )

Paramètres

  1. array $tableau

    Couples (clé => texte)

  2. string $prefixe_cle = ""

    Préfixe ajouté aux clés pour chercher les trads

  3. string $sep = "&nbsp;: "

    Séparateur entre l'ancienne valeur et la concaténation de traduction

Retour

  • array

    Couples (clé => texte complété de la traduction si elle existe)

Package

array tab_wrap( array $tableau , string $balise )

Paramètres

  1. array $tableau

    Tableau cle => texte

  2. string $balise

    Balise qui encapsule

Retour

  • array

    $tableau Tableau clé => texte

Package

Liste des erreurs

GravitéLigneDescription
Erreur 15
  • No summary for function \filtre_svp_categories_fallback_dist()
Notice 957
  • Parameter $objets could not be found in \fabrique_lister_objet_champs()