Fichier ecrire/inc/utils.php

Utilitaires indispensables autour du serveur Http.

Source

Proposer une amélioration

Liste des constantes

Valeur

  • '.htaccess'

Package

Valeur

  • (isset($_SERVER['HTTP_X_REQUESTED_WITH']) or !empty($_REQUEST['var_ajax_redir']) or !empty($_REQUEST['var_ajaxcharset']) or !empty($_REQUEST['var_ajax'])) and empty($_REQUEST['var_noajax'])

Package

Valeur

  • '.htpasswd'

Package

Valeur

  • _DIR_CACHE . "chemin.txt"

Package

Valeur

  • _DIR_CACHE . "charger_pipelines.php"

Package

Valeur

  • _DIR_CACHE . "charger_plugins_fonctions.php"

Package

Valeur

  • _DIR_CACHE . "charger_plugins_options.php"

Package

Valeur

  • _DIR_CACHE . "charger_plugins_chemins.php"

Package

Valeur

  • 33554432

Package

Valeur

  • _DIR_CACHE . "aide/"

Utilisé par

Package

Valeur

  • $ti . "cache/"

Package

Valeur

  • _DIR_CACHE . "xml/"

Package

Valeur

  • $pi

Package

Valeur

  • $pi

Package

Valeur

  • $ti . "dump/"

Package

Valeur

  • $pi

Package

Valeur

  • _DIR_LOGOS . "icones/"

Package

Valeur

  • _DIR_RACINE . "lib/"

Package

Valeur

  • _DIR_TMP . 'log/'

Package

Valeur

  • $pa

Package

Valeur

  • _DIR_RACINE . "plugins/"

Package

Valeur

  • _DIR_RACINE . "plugins-dist/"

Package

Valeur

  • $ti . "sessions/"

Package

Valeur

  • _DIR_CACHE . "skel/"

Package

Valeur

  • $ti

Utilisé par

Package

Valeur

  • $ti . "upload/"

Utilisé par

Package

Valeur

  • $ta

Package

Valeur

  • true

Package

Valeur

  • 'html'

Utilisé par

Package

Valeur

  • @is_readable($f = _DIR_CHMOD . _FILE_CHMOD_INS . '.php') ? $f : false

Package

Valeur

  • 'chmod'

Package

Valeur

  • _DIR_CHMOD . _FILE_CHMOD_INS . _FILE_TMP_SUFFIX

Package

Valeur

  • @is_readable($f = _DIR_CONNECT . _FILE_CONNECT_INS . '.php') ? $f : (@is_readable($f = _DIR_RESTREINT . 'inc_connect.php') ? $f : false)

Package

Valeur

  • 'connect'

Package

Valeur

  • _DIR_CONNECT . _FILE_CONNECT_INS . _FILE_TMP_SUFFIX

Package

Valeur

  • 'ldap.php'

Package

Valeur

  • 'spip'

Package

Valeur

  • '.log'

Package

Valeur

  • $ti . 'meta_cache.php'

Package

Valeur

  • '.tmp.php'

Package

Valeur

  • _IMG_QUALITE

Package

Valeur

  • (isset($GLOBALS['meta']['max_taille_vignettes']) and $GLOBALS['meta']['max_taille_vignettes']) ? $GLOBALS['meta']['max_taille_vignettes'] : 0

Package

Valeur

  • _IMG_QUALITE

Package

Valeur

  • 85

Package

Valeur

  • _DIR_TMP . "job_queue_next.txt"

Package

Valeur

  • 'fr'

Package

Valeur

  • 100

Package

Valeur

  • ''

Package

Valeur

  • '80'

Package

Valeur

  • '443'

Package

Valeur

  • 'http|https|ftp|mailto|webcal'

Package

Valeur

  • 12 * 3600

Package

Valeur

  • _ROOT_RACINE . "plugins/"

Package

Valeur

  • _ROOT_RACINE . "plugins-dist/"

Package

Valeur

  • _ROOT_RACINE . str_replace(_DIR_RACINE, '', _DIR_PLUGINS_SUPPL)

Package

Valeur

  • true

Package

Valeur

  • !isset($_COOKIE['spip_accepte_ajax']) ? 1 : ($_COOKIE['spip_accepte_ajax'] != -1 ? 1 : 0)

Package

Valeur

  • 511

Package

Valeur

  • 'dump@nom_site@@stamp@.xml'

Package

Valeur

  • empty($_SERVER['SERVER_SOFTWARE']) ? '' : preg_match(',IIS|thttpd,', $_SERVER['SERVER_SOFTWARE']) ? 'index.php' : ''

Package

Valeur

  • 'spip'

Package

Valeur

  • true

Package

Valeur

  • true

Package

Valeur

  • true

Package

Valeur

  • true

Package

Valeur

  • true

Package

Liste des fonctions

APIs

mixed | null _request( string $var , boolean | array $c = false )

Paramètres

  1. string $var

    Clé souhaitée

  2. boolean | array $c = false

    Tableau transmis (sinon cherche dans GET ou POST)

Retour

  • mixed | null
    • null si la clé n'a pas été trouvée
    • la valeur de la clé sinon.

API

Package

Proposer une amélioration

Traduit une clé de traduction en l'obtenant dans les fichiers de langues.

string _T( string $texte , array $args = array() , array $options = array() )

Paramètres

  1. string $texte

    Clé de traduction

  2. array $args = array()

    Couples (variable => valeur) pour passer des variables à la chaîne traduite. la variable spip_lang permet de forcer la langue

  3. array $options = array()
    • string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
    • bool force : forcer un retour meme si la chaine n'a pas de traduction
    • bool sanitize : nettoyer le html suspect dans les arguments

Retour

  • string

    Texte

API

Exemples

  • _T('bouton_enregistrer')
    _T('medias:image_tourner_droite')
    _T('medias:erreurs', array('nb'=>3))
    _T("email_sujet", array('spip_lang'=>$lang_usager))

Package

Proposer une amélioration

Charge un fichier (suivant les chemins connus) et retourne si elle existe le nom de la fonction homonyme $dir_$nom, ou suffixé $dir_$nom_dist

Peut être appelé plusieurs fois, donc optimisé.

string charger_fonction( string $nom , string $dossier = 'exec' , boolean $continue = false )

Paramètres

  1. string $nom

    Nom de la fonction (et du fichier)

  2. string $dossier = 'exec'

    Nom du dossier conteneur

  3. boolean $continue = false

    true pour ne pas râler si la fonction n'est pas trouvée

Retour

  • string

    Nom de la fonction, ou false.

API

Exemples

  • $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
    $envoyer_mail($email, $sujet, $texte);

Utilisé par

Package

Proposer une amélioration

Pour un nom de fichier donné, ne retourne que le premier qui sera trouvé par un find_in_path()

array find_all_in_path( string $dir , string $pattern , boolean $recurs = false )

Paramètres

  1. string $dir
  2. string $pattern
  3. boolean $recurs = false

Retour

  • array

API

Package

Proposer une amélioration

Retournera le premier fichier trouvé (ayant la plus haute priorité donc), suivant l'ordre des chemins connus de SPIP.

string | boolean find_in_path( string $file , string $dirname = '' , boolean | string $include = false )

Paramètres

  1. string $file

    Fichier recherché

  2. string $dirname = ''

    Répertoire éventuel de recherche (est aussi extrait automatiquement de $file)

  3. boolean | string $include = false
    • false : ne fait rien de plus
    • true : inclut le fichier (include_once)
    • 'require' : idem, mais tue le script avec une erreur si le fichier n'est pas trouvé.

Retour

  • string | boolean
    • string : chemin du fichier trouvé
    • false : fichier introuvable

API

Exemples

  • $f = find_in_path('css/perso.css');
    $f = find_in_path('perso.css', 'css');

Voir également

Package

Proposer une amélioration
string | array generer_url_entite( string $id = '' , string $entite = '' , string $args = '' , string $ancre = '' , boolean | string $public = null , string $type = null )

Paramètres

  1. string $id = ''

    numero de la cle primaire si nombre, URL a decoder si pas numerique

  2. string $entite = ''

    surnom de la table SQL (donne acces au nom de cle primaire)

  3. string $args = ''

    query_string a placer apres cle=$id&....

  4. string $ancre = ''

    ancre a mettre a la fin de l'URL a produire

  5. boolean | string $public = null

    produire l'URL publique ou privee (par defaut: selon espace) si string : serveur de base de donnee (nom du connect)

  6. string $type = null

    fichier dans le repertoire ecrire/urls determinant l'apparence

Retour

  • string | array

    url codee ou fonction de decodage array : derogatoire, la fonction d'url retourne (objet,id_objet) utilises par nettoyer_raccourcis_typo() pour generer un lien titre (cas des raccourcis personalises [->spip20] : il faut implementer une fonction generer_url_spip et une fonction generer_url_ecrire_spip)

API

Package

Proposer une amélioration
string | boolean include_spip( string $f , boolean $include = true )

Paramètres

  1. string $f

    Nom du fichier (sans l'extension)

  2. boolean $include = true
    • true pour inclure le fichier,
    • false ne fait que le chercher

Retour

  • string | boolean
    • false : fichier introuvable
    • string : chemin du fichier trouvé

API

Exemples

  • include_spip('inc/texte');

Utilise

Utilisé par

Package

Proposer une amélioration

La fonction de base de SPIP : un squelette + un contexte => une page. $fond peut etre un nom de squelette, ou une liste de squelette au format array. Dans ce dernier cas, les squelettes sont tous evalues et mis bout a bout $options permet de selectionner les options suivantes :

  • trim => true (valeur par defaut) permet de ne rien renvoyer si le fond ne produit que des espaces ;
  • raw => true permet de recuperer la strucure $page complete avec entetes et invalideurs pour chaque $fond fourni.
string | array recuperer_fond( $fond , array $contexte = array() , array $options = array() , string $connect = '' )

Paramètres

  1. $fond
  2. array $contexte = array()
    • Informations de contexte envoyées au squelette, {@example array('id_rubrique' => 8)}
    • La langue est transmise automatiquement (sauf option étoile).
  3. array $options = array()

    Options complémentaires :

    - trim   : applique un trim sur le résultat (true par défaut)
    - raw    : retourne un tableau d'information sur le squelette (false par défaut)
    - etoile : ne pas transmettre la langue au contexte automatiquement (false par défaut),
               équivalent de INCLURE*
    
    - ajax   : gere les liens internes du squelette en ajax (équivalent du paramètre {ajax})
  4. string $connect = ''

    Non du connecteur de bdd a utiliser

Retour

  • string | array
    • Contenu du squelette calculé
    • ou tableau d'information sur le squelette.

API

Package

Proposer une amélioration

Signature : spip_log(message[,niveau|type|type.niveau])

Le niveau de log par défaut est la valeur de la constante _LOG_INFO

Les différents niveaux possibles sont :

  • _LOG_HS : écrira 'HS' au début de la ligne logguée
  • _LOG_ALERTE_ROUGE : 'ALERTE'
  • _LOG_CRITIQUE : 'CRITIQUE'
  • _LOG_ERREUR : 'ERREUR'
  • _LOG_AVERTISSEMENT : 'WARNING'
  • _LOG_INFO_IMPORTANTE : '!INFO'
  • _LOG_INFO : 'info'
  • _LOG_DEBUG : 'debug'
void spip_log( string $message = null , string | integer $name = null )

Paramètres

  1. string $message = null

    Message à loger

  2. string | integer $name = null
    • int indique le niveau de log, tel que _LOG_DEBUG
    • string indique le type de log
    • string.int indique les 2 éléments. Cette dernière notation est controversée mais le 3ème paramètre est planté pour cause de compatibilité ascendante.

API

Exemples

  •   spip_log($message)
    spip_log($message, 'recherche')
    spip_log($message, _LOG_DEBUG)
    spip_log($message, 'recherche.'._LOG_DEBUG)

Utilise

Package

Proposer une amélioration

Internes

Empile de nouveaux chemins (à la suite de ceux déjà présents, mais avant le répertoire squelettes ou les dossiers squelettes), si un répertoire (ou liste de répertoires séparés par :) lui est passé en paramètre.

Ainsi, si l'argument est de la forme dir1:dir2:dir3, ces 3 chemins sont placés en tête du path, dans cet ordre (hormis squelettes & la globale $dossier_squelette si définie qui resteront devant)

Retourne dans tous les cas la liste des chemins.

array _chemin( string $dir_path = null )

Paramètres

  1. string $dir_path = null
    • Répertoire(s) à empiler au path
    • '' provoque un recalcul des chemins.

Retour

  • array

    Liste des chemins, par ordre de priorité.

Utilisé par

Package

Note

  • Cette fonction est appelée à plusieurs endroits et crée une liste de chemins finale à peu près de la sorte :
    - dossiers squelettes (si globale précisée)
    - squelettes/
    - plugins (en fonction de leurs dépendances) : ceux qui dépendent
      d'un plugin sont devant eux (ils peuvent surcharger leurs fichiers)
    
    - racine du site
    - squelettes-dist/
    - prive/
    - ecrire/
Proposer une amélioration

..@` par leur valeur dans une chaîne de langue.

Cette fonction est également appelée dans le code source de SPIP quand une chaîne n'est pas encore dans les fichiers de langue.

string _L( string $text , array $args = array() , array $options = array() )

Paramètres

  1. string $text

    Texte

  2. array $args = array()

    Couples (variable => valeur) à transformer dans le texte

  3. array $options = array()
    • string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
    • bool sanitize : nettoyer le html suspect dans les arguments

Retour

  • string

    Texte

Exemples

  • _L('Texte avec @nb@ ...', array('nb'=>3)

Voir également

Utilisé par

Package

Proposer une amélioration

Aide, aussi depuis l'espace privé à présent. Surchargeable mais pas d'erreur fatale si indisponible.

\Lien aider( string $aide = '' , boolean $distante = false )

Paramètres

  1. string $aide = ''

    Cle d'identification de l'aide desiree

  2. boolean $distante = false

    Generer une url locale (par defaut) ou une url distante [directement sur spip.net]

Retour

  • \Lien

    sur une icone d'aide

Package

Proposer une amélioration

L’ancre est nettoyée : on translitère, vire les non alphanum du début, et on remplace ceux à l'interieur ou au bout par -

string ancre_url( string $url , string $ancre )

Paramètres

  1. string $url
  2. string $ancre

Retour

  • string

Exemples

    • `$url = ancre_url($url, 'navigation'); // => mettra l’ancre #navigation
    • `$url = ancre_url($url, ''); // => enlèvera une éventuelle ancre

Package

Proposer une amélioration

Optionally, you may provide an $indexKey to index the values in the returned array by the values from the $indexKey column in the input array.

array array_column( array $input = null , mixed $columnKey = null , mixed $indexKey = null )

Paramètres

  1. array $input = null

    A multi-dimensional array (record set) from which to pull a column of values.

  2. mixed $columnKey = null

    The column of values to return. This value may be the integer key of the column you wish to retrieve, or it may be the string key name for an associative array.

  3. mixed $indexKey = null

    (Optional.) The column to use as the index/keys for the returned array. This value may be the integer key of the column, or it may be the string key name.

Retour

  • array

Package

Proposer une amélioration
boolean charger_php_extension( string $module )

Paramètres

  1. string $module

    Nom du module à charger

Retour

  • boolean

    true si le module est chargé

Exemples

  • $ok = charger_php_extension('sqlite');

Package

Deprected

  • Utiliser directement la fonction native extension_loaded($module)
Proposer une amélioration

Cherche en priorité dans les thèmes d'image (prive/themes/X/images) et si la fonction n'en trouve pas, gère le renommage des icones (ex: 'supprimer' => 'del') de facon temporaire le temps de la migration, et cherche de nouveau.

Si l'image n'est toujours pas trouvée, on la cherche dans les chemins, dans le répertoire défini par la constante _NOM_IMG_PACK

string chemin_image( string $icone )

Paramètres

  1. string $icone

    Nom de l'icone cherchée

Retour

  • string

    Chemin complet de l'icone depuis la racine si l'icone est trouée, sinon chaîne vide.

Package

Proposer une amélioration

Recalcule la liste si le nom ou liste de dossier squelettes a changé.

array creer_chemin( )

Retour

  • array

    Liste de chemins

Utilise

Package

Proposer une amélioration
boolean cron( array $taches = array() , array $taches_old = array() )

Paramètres

  1. array $taches = array()

    Tâches forcées

  2. array $taches_old = array()

    Tâches forcées, pour compat avec ancienne syntaxe

Retour

  • boolean

    True si la tache a pu être effectuée

Utilisé par

Package

Proposer une amélioration

Génère une erreur de squelette qui sera bien visible par un administrateur authentifié lors d'une visite de la page en erreur

null | string erreur_squelette( boolean | string | array $message = '' , string | array | object $lieu = '' )

Paramètres

  1. boolean | string | array $message = ''
    • Message d'erreur (string|array)
    • false pour retourner le texte des messages d'erreurs
    • vide pour afficher les messages d'erreurs
  2. string | array | object $lieu = ''

    Lieu d'origine de l'erreur

Retour

  • null | string
    • Rien dans la plupart des cas
    • string si $message à false.

Package

Proposer une amélioration
void find_in_theme( $file , $subdir = '' , $include = false )

Paramètres

  1. $file
  2. $subdir = ''
  3. $include = false

Utilisé par

Package

Proposer une amélioration

Attention, JS/Ajax n'aime pas le melange de param GET/POST On n'applique pas la recommandation ci-dessus pour les scripts publics qui ne sont pas destines a etre mis en signets

string generer_form_action( string $script , string $corps , string $atts = '' , boolean $public = false )

Paramètres

  1. string $script
  2. string $corps
  3. string $atts = ''
  4. boolean $public = false

Retour

  • string

Package

Proposer une amélioration
string generer_form_ecrire( string $script , string $corps , string $atts = '' , string $submit = '' )

Paramètres

  1. string $script

    Nom de la page exec

  2. string $corps

    Contenu du formulaire

  3. string $atts = ''

    Si présent, remplace les arguments par défaut (method=post) par ceux indiqués

  4. string $submit = ''

    Si indiqué, un bouton de soumission est créé avec texte sa valeur.

Retour

  • string

    Code HTML du formulaire

Package

Proposer une amélioration
string generer_url_action( string $script , string $args = "" , boolean $no_entities = false , boolean $public = false )

Paramètres

  1. string $script

    Nom du script à exécuter

  2. string $args = ""

    Arguments à transmettre a l'URL sous la forme arg1=yy&arg2=zz

  3. boolean $no_entities = false

    Si false : transforme les & en &

  4. boolean $public = false

    URL relative ? false : l’URL sera complète et contiendra l’URL du site. true : l’URL sera relative.

Retour

  • string

    URL

Package

Proposer une amélioration
string generer_url_ecrire( string $script = '' , string $args = "" , boolean $no_entities = false , boolean | string $rel = false )

Paramètres

  1. string $script = ''

    Nom de la page privée (xx dans exec=xx)

  2. string $args = ""

    Arguments à transmettre, tel que arg1=yy&arg2=zz

  3. boolean $no_entities = false

    Si false : transforme les & en &

  4. boolean | string $rel = false

    URL relative ?

    - false : l’URL sera complète et contiendra l’URL du site
    - true : l’URL sera relavive.
    - string : on transmet l'url à la fonction

Retour

  • string

    URL

Exemples

  • generer_url_ecrire('admin_plugin')

Package

Proposer une amélioration
void generer_url_ecrire_entite_edit( $id , $entite , $args = '' , $ancre = '' )

Paramètres

  1. $id
  2. $entite
  3. $args = ''
  4. $ancre = ''

Package

Proposer une amélioration
void generer_url_entite_absolue( $id = '' , $entite = '' , $args = '' , $ancre = '' , $connect = null )

Paramètres

  1. $id = ''
  2. $entite = ''
  3. $args = ''
  4. $ancre = ''
  5. $connect = null

Package

Proposer une amélioration
void generer_url_prive( $script , $args = "" , $no_entities = false )

Paramètres

  1. $script
  2. $args = ""
  3. $no_entities = false

Package

Proposer une amélioration
string generer_url_public( string $script = '' , string | array $args = "" , boolean $no_entities = false , boolean $rel = true , string $action = '' )

Paramètres

  1. string $script = ''

    Nom de la page

  2. string | array $args = ""

    Arguments à transmettre a l'URL, soit sous la forme d'un string tel que arg1=yy&arg2=zz soit sous la forme d'un array tel que array( arg1 => yy, arg2 => zz )

  3. boolean $no_entities = false

    Si false : transforme les & en &

  4. boolean $rel = true

    URL relative ?

    - false : l’URL sera complète et contiendra l’URL du site
    - true : l’URL sera relavive.
  5. string $action = ''
    • Fichier d'exécution public (spip.php par défaut)

Retour

  • string

    URL

Exemples

  • generer_url_public("rubrique","id_rubrique=$id_rubrique")

Package

Proposer une amélioration
string get_spip_script( string $default = '' )

Paramètres

  1. string $default = ''

    Script par défaut

Retour

  • string

    Nom du fichier (constante _SPIP_SCRIPT), sinon nom par défaut

Voir également

Package

Note

  • Detecter le fichier de base, a la racine, comme etant spip.php ou '' dans le cas de '', un $default = './' peut servir (comme dans urls/page.php)
Proposer une amélioration
boolean html5_permis( )

Retour

  • boolean

    true si et seulement si la configuration autorise le code HTML5 sur le site public

Utilisé par

Package

Proposer une amélioration
string http_script( string $script , string $src = '' , string $noscript = '' )

Paramètres

  1. string $script

    Code source du script

  2. string $src = ''

    Permet de faire appel à un fichier javascript distant

  3. string $noscript = ''

    Contenu de la balise <noscript>

Retour

  • string

    Balise HTML <script> et son contenu

Exemples

  • echo http_script('alert("ok");');
    echo http_script('','js/jquery.js');

Package

Proposer une amélioration

Le paramètre d'URL var_mode permet de modifier la pérennité du cache, recalculer des urls ou d'autres petit caches (trouver_table, css et js compactes ...), d'afficher un écran de débug ou des traductions non réalisées.

En fonction de ces paramètres dans l'URL appelante, on définit da constante _VAR_MODE qui servira ensuite à SPIP.

Le paramètre var_mode accepte ces valeurs :

  • calcul : force un calcul du cache de la page (sans forcément recompiler les squelettes)
  • recalcul : force un calcul du cache de la page en recompilant au préabable les squelettes
  • inclure : modifie l'affichage en ajoutant visuellement le nom de toutes les inclusions qu'elle contient
  • debug : modifie l'affichage activant le mode "debug"
  • preview : modifie l'affichage en ajoutant aux boucles les éléments prévisualisables
  • traduction : modifie l'affichage en affichant des informations sur les chaînes de langues utilisées
  • urls : permet de recalculer les URLs des objets appelés dans la page par les balises #URL_xx
  • images : permet de recalculer les filtres d'images utilisés dans la page

En dehors des modes calcul et recalcul, une autorisation 'previsualiser' ou 'debug' est testée.

void init_var_mode( )

Package

Note

  • Il éxiste également le paramètre var_profile qui modifie l'affichage pour incruster le nombre de requêtes SQL utilisées dans la page, qui peut se compléter avec le paramètre var_mode (calcul ou recalcul).
Proposer une amélioration
integer job_queue_add( string $function , string $description , array $arguments = array() , string $file = '' , boolean $no_duplicate = false , integer $time , integer $priority )

Paramètres

  1. string $function

    Le nom de la fonction PHP qui doit être appelée.

  2. string $description

    Une description humainement compréhensible de ce que fait la tâche (essentiellement pour l’affichage dans la page de suivi de l’espace privé)

  3. array $arguments = array()

    Facultatif, vide par défaut : les arguments qui seront passés à la fonction, sous forme de tableau PHP

  4. string $file = ''

    Facultatif, vide par défaut : nom du fichier à inclure, via include_spip($file) exemple : 'inc/mail' : il ne faut pas indiquer .php Si le nom finit par un '/' alors on considère que c’est un répertoire et SPIP fera un charger_fonction($function, $file)

  5. boolean $no_duplicate = false

    Facultatif, false par défaut

    - si `true` la tâche ne sera pas ajoutée si elle existe déjà en file d’attente avec la même fonction et les mêmes arguments.
    - si `function_only` la tâche ne sera pas ajoutée si elle existe déjà en file d’attente avec la même fonction indépendamment de ses arguments
  6. integer $time

    Facultatif, 0 par défaut : indique la date sous forme de timestamp à laquelle la tâche doit être programmée. Si 0 ou une date passée, la tâche sera exécutée aussitôt que possible (en général en fin hit, en asynchrone).

  7. integer $priority

    Facultatif, 0 par défaut : indique un niveau de priorité entre -10 et +10. Les tâches sont exécutées par ordre de priorité décroissante, une fois leur date d’exécution passée. La priorité est surtout utilisée quand une tâche cron indique qu’elle n’a pas fini et doit être relancée : dans ce cas SPIP réduit sa priorité pour être sûr que celle tâche ne monopolise pas la file d’attente.

Retour

  • integer

    Le numéro de travail ajouté ou 0 si aucun travail n’a été ajouté.

Package

Proposer une amélioration
boolean job_queue_remove( integer $id_job )

Paramètres

  1. integer $id_job

    id of jonb to delete

Retour

  • boolean

Package

Proposer une amélioration

Pour afficher ecrire/action/ au lieu de action/ dans les messages ou tmp/ au lieu de ../tmp/

string joli_repertoire( \stirng $rep )

Paramètres

  1. \stirng $rep

    Chemin d’un répertoire

Retour

  • string

Package

Proposer une amélioration
void journal( string $phrase , array $opt = array() )

Paramètres

  1. string $phrase

    Texte du journal

  2. array $opt = array()

    Tableau d'options

Package

Proposer une amélioration

Restaure l'ancienne langue si appellée sans argument.

string lang_select( null | string $lang = null )

Paramètres

  1. null | string $lang = null
    • string : Langue à appliquer,
    • null : Pour restituer la dernière langue mémorisée.

Retour

  • string
    • string Langue utilisée.

Utilisé par

Package

Note

  • On pourrait économiser l'empilement en cas de non changemnt et lui faire retourner False pour prevenir l'appelant Le noyau de Spip sait le faire, mais pour assurer la compatibilité cette fonction retourne toujours non False
Proposer une amélioration

Un pipeline est lie a une action et une valeur chaque element du pipeline est autorise a modifier la valeur le pipeline execute les elements disponibles pour cette action, les uns apres les autres, et retourne la valeur finale

Cf. compose_filtres dans references.php, qui est la version compilee de cette fonctionnalite appel unitaire d'une fonction du pipeline utilisee dans le script pipeline precompile

on passe $val par reference pour limiter les allocations memoire

string | array minipipe( string $fonc , string | array & $val )

Paramètres

  1. string $fonc

    Nom de la fonction appelée par le pipeline

  2. string | array & $val

    Les paramètres du pipeline, son environnement

Retour

  • string | array

    $val Les paramètres du pipeline modifiés

Package

Proposer une amélioration
string nettoyer_uri( string | null $reset = null )

Paramètres

  1. string | null $reset = null

Retour

  • string

Package

Proposer une amélioration
string nettoyer_uri_var( $request_uri )

Paramètres

  1. $request_uri

Retour

  • string

Package

Proposer une amélioration
string parametre_url( string $url , string $c , string | array | null $v = null , string $sep = '&amp;' )

Paramètres

  1. string $url

    URL

  2. string $c

    Nom du paramètre

  3. string | array | null $v = null

    Valeur du paramètre

  4. string $sep = '&amp;'

    Séparateur entre les paramètres

Retour

  • string

    URL

Exemples

  • [(#SELF|parametre_url{suite,18})] (ajout)
    [(#SELF|parametre_url{suite,''})] (supprime)
    [(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)

Package

Filtre

  • parametre_url
Proposer une amélioration

Exécute le pipeline souhaité, éventuellement avec des données initiales. Chaque plugin qui a demandé à voir ce pipeline vera sa fonction spécifique appelée. Les fonctions (des plugins) appelées peuvent modifier à leur guise le contenu.

Deux types de retours. Si $val est un tableau de 2 éléments, avec une clé data on retourne uniquement ce contenu ($val['data']) sinon on retourne tout $val.

mixed | null pipeline( string $action , null | string | array $val = null )

Paramètres

  1. string $action

    Nom du pipeline

  2. null | string | array $val = null

    Données à l’entrée du pipeline

Retour

  • mixed | null

    Résultat

Exemples

  • Appel du pipeline pre_insertion
    $champs = pipeline('pre_insertion', array(
        'args' => array('table' => 'spip_articles'),
        'data' => $champs
    ));

Package

Proposer une amélioration
integer queue_sleep_time_to_next_job( integer | boolean $force = null )

Paramètres

  1. integer | boolean $force = null

    Utilisée par queue_set_next_job_time() pour mettre à jour la valeur :

    • si true, force la relecture depuis le fichier
    • si int, affecte la static directement avec la valeur

Retour

  • integer
    • 0 si un job est à traiter
    • null si la queue n'est pas encore initialisée

Voir également

Package

Staticvar

  • int $queue_next_job_time
Proposer une amélioration
string quote_amp( string $u )

Paramètres

  1. string $u

Retour

  • string

Traversée par le pipeline

Package

Proposer une amélioration
string | boolean require_spip( string $f )

Paramètres

  1. string $f

    Nom du fichier (sans l'extension)

Retour

  • string | boolean
    • false : fichier introuvable
    • string : chemin du fichier trouvé

Exemples

  • require_spip('inc/texte');

Voir également

Utilise

Package

Proposer une amélioration
string self( string $amp = '&amp;' , boolean $root = false )

Paramètres

  1. string $amp = '&amp;'

    Style des esperluettes

  2. boolean $root = false

Retour

  • string

    URL vers soi-même

Package

Proposer une amélioration
array | boolean set_request( string $var , string $val = null , boolean | array $c = false )

Paramètres

  1. string $var

    Nom de la clé

  2. string $val = null

    Valeur à affecter

  3. boolean | array $c = false

    Tableau de données (sinon utilise $_GET et $_POST)

Retour

  • array | boolean
    • array $c complété si un $c est transmis,
    • false sinon

Package

Note

  • Attention au cas ou l'on fait set_request('truc', NULL);
Proposer une amélioration
void spip_desinfecte( & $t , $deep = true )

Paramètres

  1. & $t
  2. $deep = true

Package

Proposer une amélioration
void spip_initialisation( string $pi = null , string $pa = null , string $ti = null , string $ta = null )

Paramètres

  1. string $pi = null

    Répertoire permanent inaccessible

  2. string $pa = null

    Répertoire permanent accessible

  3. string $ti = null

    Répertoire temporaire inaccessible

  4. string $ta = null

    Répertoire temporaire accessible

Package

Proposer une amélioration

Elle définit les répertoires et fichiers non partageables et indique dans $test_dirs ceux devant être accessibles en écriture mais ne touche pas à cette variable si elle est déjà définie afin que mes_options.php puisse en spécifier d'autres.

Elle définit ensuite les noms des fichiers et les droits. Puis simule un register_global=on sécurisé.

void spip_initialisation_core( string $pi = null , string $pa = null , string $ti = null , string $ta = null )

Paramètres

  1. string $pi = null

    Répertoire permanent inaccessible

  2. string $pa = null

    Répertoire permanent accessible

  3. string $ti = null

    Répertoire temporaire inaccessible

  4. string $ta = null

    Répertoire temporaire accessible

Package

Proposer une amélioration

Permet de savoir si on peut utiliser un cache enregistré pour cette session. Cette chaîne est courte (8 cars) pour pouvoir être utilisée dans un nom de fichier cache.

string spip_session( boolean $force = false )

Paramètres

  1. boolean $force = false

Retour

  • string

    Identifiant de la session

Utilisé par

Appelle le pipeline

Package

Proposer une amélioration

On exécute 2 fois la fonction, la première fois pour démarrer le chrono, la seconde fois pour l’arrêter et récupérer la valeur

float | integer | string | void spip_timer( string $t = 'rien' , boolean $raw = false )

Paramètres

  1. string $t = 'rien'

    Nom du chronomètre

  2. boolean $raw = false
    • false : retour en texte humainement lisible
    • true : retour en millisecondes

Retour

  • float | integer | string | void

Exemples

  • spip_timer('papoter');
    // actions
    $duree = spip_timer('papoter');

Package

Proposer une amélioration
void spip_touch( $fichier , $duree , $touch = true )

Paramètres

  1. $fichier
  2. $duree
  3. $touch = true

Package

Proposer une amélioration
boolean test_espace_prive( )

Retour

  • boolean

    true si c'est le cas, false sinon.

Package

Proposer une amélioration
boolean test_plugin_actif( string $plugin )

Paramètres

  1. string $plugin

Retour

  • boolean

Package

Proposer une amélioration

Sur certains serveurs, la valeur 'Off' tient lieu de false dans certaines variables d'environnement comme $_SERVER['HTTPS'] ou ini_get('display_errors')

boolean test_valeur_serveur( string | boolean $truc )

Paramètres

  1. string | boolean $truc

    La valeur de la variable d'environnement

Retour

  • boolean

    true si la valeur est considérée active ; false sinon.

Package

Proposer une amélioration

On est sur le web, on exclut certains protocoles, notamment 'file://', 'php://' et d'autres…

boolean tester_url_absolue( string $url )

Paramètres

  1. string $url

Retour

  • boolean

Utilisé par

Package

Proposer une amélioration

Dans ce cas, on retourne la fonction d'exécution correspondante à utiliser (du répertoire ecrire/exec). Deux cas particuliers et prioritaires : fond ou fond_monobloc sont retournés si des squelettes existent.

  • fond : pour des squelettes de prive/squelettes/contenu ou pour des objets éditoriaux dont les suqelettes seront échaffaudés

  • fond_monobloc (compatibilité avec SPIP 2.1) : pour des squelettes de prive/exec
string tester_url_ecrire( string $nom )

Paramètres

  1. string $nom

    Nom de la page

Retour

  • string

    Nom de l'exec, sinon chaîne vide.

Package

Proposer une amélioration

Transforme n'importe quel texte en une chaîne utilisable en PHP ou Javascript en toute sécurité, à l'intérieur d'apostrophes simples (' uniquement ; pas ")

Utile particulièrement en filtre dans un squelettes pour écrire un contenu dans une variable JS ou PHP.

Échappe les apostrophes (') du contenu transmis.

string texte_script( string $texte )

Paramètres

  1. string $texte

    Texte à échapper

Retour

  • string

    Texte échappé

Exemples

  • PHP dans un squelette
    
        $x = '[(#TEXTE|texte_script)]';
    
    JS dans un squelette (transmettre une chaîne de langue)
    
        $x = '<:afficher_calendrier|texte_script:>';

Package

Filtre

  • texte_script
Proposer une amélioration
array | string trouver_fond( string $nom , string $dir = '' , boolean $pathinfo = false )

Paramètres

  1. string $nom
  2. string $dir = ''
  3. boolean $pathinfo = false

Retour

  • array | string

Package

Proposer une amélioration
string url_de_( string $http , string $host , string $request , integer $prof )

Paramètres

  1. string $http
  2. string $host
  3. string $request
  4. integer $prof

Retour

  • string

Package

Proposer une amélioration

Calcule l'URL de base du site, en priorité sans se fier à la méta (adresse_site) qui peut être fausse (sites avec plusieurs noms d’hôtes, déplacements, erreurs). En dernier recours, lorsqu'on ne trouve rien, on utilise adresse_site comme fallback.

string | array url_de_base( integer | \boo | array $profondeur = null )

Paramètres

  1. integer | \boo | array $profondeur = null
    • si non renseignée : retourne l'url pour la profondeur $GLOBALS['profondeur_url']
    • si int : indique que l'on veut l'url pour la profondeur indiquée
    • si bool : retourne le tableau static complet
    • si array : réinitialise le tableau static complet avec la valeur fournie

Retour

  • string | array

Utilisé par

Package

Note

  • La globale $profondeur_url doit être initialisée de manière à indiquer le nombre de sous-répertoires de l'url courante par rapport à la racine de SPIP : par exemple, sur ecrire/ elle vaut 1, sur sedna/ 1, et à la racine 0. Sur url/perso/ elle vaut 2
Proposer une amélioration
void urls_connect_dist( $i , & $entite , $args = '' , $ancre = '' , $public = null )

Paramètres

  1. $i
  2. & $entite
  3. $args = ''
  4. $ancre = ''
  5. $public = null

Package

Proposer une amélioration

Dépréciées

mixed lire_meta( string $nom )

Paramètres

  1. string $nom

    Clé de meta à lire

Retour

  • mixed

    Valeur de la meta.

Voir également

Package

Deprecated

  • Utiliser $GLOBALS['meta'][$nom] ou lire_config('nom')
Proposer une amélioration

Liste des erreurs

GravitéLigneDescription
Erreur 949
  • No summary for function \spip_touch()
  • Argument $touch is missing from the Docblock of spip_touch
  • Argument $duree is missing from the Docblock of spip_touch
  • Argument $fichier is missing from the Docblock of spip_touch
Erreur 1352
  • No summary for function \lister_themes_prives()
Erreur 1381
  • No summary for function \find_in_theme()
  • Argument $include is missing from the Docblock of find_in_theme
  • Argument $subdir is missing from the Docblock of find_in_theme
  • Argument $file is missing from the Docblock of find_in_theme
Erreur 1553
  • No summary for function \clear_path_cache()
Erreur 1558
  • No summary for function \load_path_cache()
Erreur 1588
  • No summary for function \save_path_cache()
Erreur 1746
  • Argument $ancre is missing from the Docblock of generer_url_ecrire_entite_edit
  • No summary for function \generer_url_ecrire_entite_edit()
  • Argument $args is missing from the Docblock of generer_url_ecrire_entite_edit
  • Argument $entite is missing from the Docblock of generer_url_ecrire_entite_edit
  • Argument $id is missing from the Docblock of generer_url_ecrire_entite_edit
Erreur 1762
  • Argument $public is missing from the Docblock of urls_connect_dist
  • No summary for function \urls_connect_dist()
  • Argument $ancre is missing from the Docblock of urls_connect_dist
  • Argument $entite is missing from the Docblock of urls_connect_dist
  • Argument $args is missing from the Docblock of urls_connect_dist
  • Argument $i is missing from the Docblock of urls_connect_dist
Erreur 1795
  • Argument $connect is missing from the Docblock of generer_url_entite_absolue
  • Argument $ancre is missing from the Docblock of generer_url_entite_absolue
  • No summary for function \generer_url_entite_absolue()
  • Argument $id is missing from the Docblock of generer_url_entite_absolue
  • Argument $entite is missing from the Docblock of generer_url_entite_absolue
  • Argument $args is missing from the Docblock of generer_url_entite_absolue
Erreur 2098
  • No summary for function \generer_url_prive()
  • Argument $no_entities is missing from the Docblock of generer_url_prive
  • Argument $args is missing from the Docblock of generer_url_prive
  • Argument $script is missing from the Docblock of generer_url_prive
Erreur 2883
  • No summary for function \spip_desinfecte()
  • Argument $t is missing from the Docblock of spip_desinfecte
  • Argument $deep is missing from the Docblock of spip_desinfecte
Erreur 2907
  • No summary for function \verifier_visiteur()