Documentation du code de SPIP et de ses plugins

SPIP

initialization.php

Table of Contents

Constants

_ACCESS_FILE_NAME  = '.htaccess'
_AJAX  = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) || !empty($_REQUEST['var_ajax_redir']) || !empty($_REQUEST['var_ajaxcharset']) || !empty($_REQUEST['var_ajax'])) && empty($_REQUEST['var_noajax'])
_AUTH_USER_FILE  = '.htpasswd'
_CACHE_CONTEXTES_AJAX_SUR_LONGUEUR  = 2000
Basculer les contextes ajax en fichier si la longueur d’url est trop grande
_CACHE_RUBRIQUES  = _DIR_TMP . 'menu-rubriques-cache.txt'
Fichier cache pour le navigateur de rubrique du bandeau
_CACHE_RUBRIQUES_MAX  = 500
Nombre maxi de rubriques enfants affichées pour chaque rubrique du navigateur de rubrique du bandeau
_COPIE_LOCALE_MAX_SIZE  = 33554432
_DEFAULT_CHARSET  = 'utf-8'
Le charset par défaut lors de l'installation
_DOCTYPE_AIDE  = "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>"
Définit le doctype de l’aide en ligne
_DOCTYPE_ECRIRE  = "<!DOCTYPE html>\n"
Définit le doctype de l’espace privé
_DUREE_COOKIE_ADMIN  = 14 * 24 * 3600
_EXTENSION_SQUELETTES  = 'html'
_FILE_CHMOD  = @is_readable($f = _DIR_CHMOD . _FILE_CHMOD_INS . '.php') ? $f : false
_FILE_CHMOD_INS  = 'chmod'
_FILE_CHMOD_TMP  = _DIR_CHMOD . _FILE_CHMOD_INS . _FILE_TMP_SUFFIX
_FILE_CONNECT  = @is_readable($f = _DIR_CONNECT . _FILE_CONNECT_INS . '.php') ? $f : false
_FILE_CONNECT_INS  = 'connect'
_FILE_CONNECT_TMP  = _DIR_CONNECT . _FILE_CONNECT_INS . _FILE_TMP_SUFFIX
_FILE_LDAP  = 'ldap.php'
_FILE_TMP_SUFFIX  = '.tmp.php'
_IMG_ADMIN_MAX_WIDTH  = 768
_IMG_GD_MAX_PIXELS  = isset($GLOBALS['meta']['max_taille_vignettes']) && $GLOBALS['meta']['max_taille_vignettes'] ? $GLOBALS['meta']['max_taille_vignettes'] : 0
_IMG_GD_QUALITE  = _IMG_QUALITE
_IMG_QUALITE  = 85
_LANGUE_PAR_DEFAUT  = 'fr'
_LOGIN_TROP_COURT  = 4
_MAX_LOG  = 100
_PASS_LONGUEUR_MINI  = 6
_PROTOCOLES_STD  = 'http|https|ftp|mailto|webcal'
_RENOUVELLE_ALEA  = 12 * 3600
_SPIP_AJAX  = !isset($_COOKIE['spip_accepte_ajax']) ? 1 : ($_COOKIE['spip_accepte_ajax'] != -1 ? 1 : 0)
_SPIP_CHMOD  = 0777
_SPIP_DUMP  = 'dump@nom_site@@stamp@.xml'
_SPIP_ECRIRE_SCRIPT  = ''
_SPIP_PAGE  = 'page'
Argument page, personalisable en cas de conflit avec un autre script
_SPIP_SCRIPT  = 'spip.php'
L'adresse de base du site ; on peut mettre '' si la racine est gerée par le script de l'espace public, alias index.php
_VAR_IMAGES  = true
_VAR_INCLURE  = true
_VAR_MODE  = false
Indique le mode de calcul ou d'affichage de la page.
_VAR_NOCACHE  = true
_VAR_PREVIEW  = true
_VAR_URLS  = true

Functions

spip_initialisation()  : mixed
Initialisation groupée (compatibilité ascendante) : core puis suite.
spip_initialisation_core()  : mixed
Pré-initialisation CRITIQUE (non surchargeable par les plugins).
spip_initialisation_suite()  : mixed
Initialisation RUNTIME surchargeable par les plugins (via mes_options, options.php).
init_var_mode()  : mixed
Repérer les variables d'URL spéciales `var_mode` qui conditionnent la validité du cache ou certains affichages spéciaux.

Constants

_AJAX

public mixed _AJAX = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) || !empty($_REQUEST['var_ajax_redir']) || !empty($_REQUEST['var_ajaxcharset']) || !empty($_REQUEST['var_ajax'])) && empty($_REQUEST['var_noajax'])

_CACHE_CONTEXTES_AJAX_SUR_LONGUEUR

Basculer les contextes ajax en fichier si la longueur d’url est trop grande

public mixed _CACHE_CONTEXTES_AJAX_SUR_LONGUEUR = 2000
Tags
const

int Nombre de caractères

_CACHE_RUBRIQUES

Fichier cache pour le navigateur de rubrique du bandeau

public mixed _CACHE_RUBRIQUES = _DIR_TMP . 'menu-rubriques-cache.txt'

_CACHE_RUBRIQUES_MAX

Nombre maxi de rubriques enfants affichées pour chaque rubrique du navigateur de rubrique du bandeau

public mixed _CACHE_RUBRIQUES_MAX = 500

_DEFAULT_CHARSET

Le charset par défaut lors de l'installation

public mixed _DEFAULT_CHARSET = 'utf-8'

_DOCTYPE_AIDE

Définit le doctype de l’aide en ligne

public mixed _DOCTYPE_AIDE = "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>"

_DOCTYPE_ECRIRE

Définit le doctype de l’espace privé

public mixed _DOCTYPE_ECRIRE = "<!DOCTYPE html>\n"

_FILE_CHMOD

public mixed _FILE_CHMOD = @is_readable($f = _DIR_CHMOD . _FILE_CHMOD_INS . '.php') ? $f : false

_FILE_CHMOD_TMP

public mixed _FILE_CHMOD_TMP = _DIR_CHMOD . _FILE_CHMOD_INS . _FILE_TMP_SUFFIX

_FILE_CONNECT

public mixed _FILE_CONNECT = @is_readable($f = _DIR_CONNECT . _FILE_CONNECT_INS . '.php') ? $f : false

_FILE_CONNECT_TMP

public mixed _FILE_CONNECT_TMP = _DIR_CONNECT . _FILE_CONNECT_INS . _FILE_TMP_SUFFIX

_IMG_GD_MAX_PIXELS

public mixed _IMG_GD_MAX_PIXELS = isset($GLOBALS['meta']['max_taille_vignettes']) && $GLOBALS['meta']['max_taille_vignettes'] ? $GLOBALS['meta']['max_taille_vignettes'] : 0

_SPIP_AJAX

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

_SPIP_PAGE

Argument page, personalisable en cas de conflit avec un autre script

public mixed _SPIP_PAGE = 'page'

_SPIP_SCRIPT

L'adresse de base du site ; on peut mettre '' si la racine est gerée par le script de l'espace public, alias index.php

public mixed _SPIP_SCRIPT = 'spip.php'

Functions

spip_initialisation()

Initialisation groupée (compatibilité ascendante) : core puis suite.

spip_initialisation([string $pi = null ][, string $pa = null ][, string $ti = null ][, string $ta = null ]) : mixed
Parameters
$pi : string = null

Répertoire permanent inaccessible

$pa : string = null

Répertoire permanent accessible

$ti : string = null

Répertoire temporaire inaccessible

$ta : string = null

Répertoire temporaire accessible

spip_initialisation_core()

Pré-initialisation CRITIQUE (non surchargeable par les plugins).

spip_initialisation_core([string $pi = null ][, string $pa = null ][, string $ti = null ][, string $ta = null ]) : mixed

Appelée une seule fois par hit, avant le chargement des plugins (inc_version). Ne doit pas dépendre des options.php ni recompiler le conteneur.

Phases :

  1. Chemins _DIR_* / caches boot : figés au pré-boot (LegacyDirectoryBootstrapper)
  2. Fichiers système (connexion, chmod, droits d'écriture)
  3. Environnement d'exécution (OS, langue, …)
  4. Chemins plugins précompilés (boot/chemins.php) si déjà présents
  5. Méta (config site), cookie_prefix, profondeur d'URL, session visiteur
Parameters
$pi : string = null

Répertoire permanent inaccessible

$pa : string = null

Répertoire permanent accessible

$ti : string = null

Répertoire temporaire inaccessible

$ta : string = null

Répertoire temporaire accessible

Tags
see
spip_initialisation_suite()

pour l'init runtime surchargeable (constantes UI, var_mode, …)

see
PluginBootCache

pour le chargement / recompilation des caches plugins (inc_version)

spip_initialisation_suite()

Initialisation RUNTIME surchargeable par les plugins (via mes_options, options.php).

spip_initialisation_suite() : mixed

Définit des constantes et comportements d'affichage / requête (login, images, var_mode, ajax…). Invoquée une seule fois par hit, après le chargement des options.php (SpipBootSuite dans inc_version.php).

Tags
see
spip_initialisation_core()

pour la pré-init critique (répertoires, méta, …)

init_var_mode()

Repérer les variables d'URL spéciales `var_mode` qui conditionnent la validité du cache ou certains affichages spéciaux.

init_var_mode() : mixed

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.

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


        
On this page

Search results