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_CHEMIN  = _DIR_CACHE . 'chemin.txt'
_CACHE_CONTEXTES_AJAX_SUR_LONGUEUR  = 2000
Basculer les contextes ajax en fichier si la longueur d’url est trop grande
_CACHE_PIPELINES  = _DIR_CACHE . 'charger_pipelines.php'
_CACHE_PLUGINS_FCT  = _DIR_CACHE . 'charger_plugins_fonctions.php'
_CACHE_PLUGINS_OPT  = _DIR_CACHE . 'charger_plugins_options.php'
_CACHE_PLUGINS_PATH  = _DIR_CACHE . 'charger_plugins_chemins.php'
_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
_DIR_AIDE  = _DIR_CACHE . 'aide/'
_DIR_CACHE  = $ti . 'cache/'
_DIR_CACHE_XML  = _DIR_CACHE . 'xml/'
_DIR_CHMOD  = $pi
_DIR_CONNECT  = $pi
_DIR_DUMP  = $ti . 'dump/'
_DIR_ETC  = $pi
_DIR_IMG  = $pa
_DIR_IMG_ICONES  = _DIR_LOGOS . 'icones/'
_DIR_LIB  = _DIR_RACINE . 'lib/'
_DIR_LOG  = _DIR_TMP . 'log/'
_DIR_LOGOS  = $pa
_DIR_PLUGINS  = _DIR_RACINE . 'plugins/'
_DIR_PLUGINS_DIST  = _DIR_RACINE . 'plugins-dist/'
_DIR_SESSIONS  = $ti . 'sessions/'
_DIR_SKELS  = _DIR_CACHE . 'skel/'
_DIR_TMP  = $ti
_DIR_TRANSFERT  = $ti . 'upload/'
_DIR_VAR  = $ta
_DIR_VENDOR  = _DIR_RACINE . 'vendor/'
_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_LOG  = 'spip'
_FILE_LOG_SUFFIX  = '.log'
_FILE_META  = $ti . 'meta_cache.php'
_FILE_TMP_SUFFIX  = '.tmp.php'
_IMG_ADMIN_MAX_WIDTH  = 768
_IMG_CONVERT_QUALITE  = _IMG_QUALITE
_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_IMAGICK_QUALITE  = 75
_IMG_QUALITE  = 85
_LANGUE_PAR_DEFAUT  = 'fr'
_LOGIN_TROP_COURT  = 4
_MAX_LOG  = 100
_OS_SERVEUR  = ''
_PASS_LONGUEUR_MINI  = 6
_PROTOCOLES_STD  = 'http|https|ftp|mailto|webcal'
_RENOUVELLE_ALEA  = 12 * 3600
_ROOT_PLUGINS  = _ROOT_RACINE . 'plugins' . DIRECTORY_SEPARATOR
_ROOT_PLUGINS_DIST  = _ROOT_RACINE . 'plugins-dist' . DIRECTORY_SEPARATOR
_ROOT_PLUGINS_SUPPL  = _ROOT_RACINE . str_replace(_DIR_RACINE, '', _DIR_PLUGINS_SUPPL)
_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_LOCK_MODE  = 1
_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
Fonction d'initialisation groupée pour compatibilité ascendante
spip_initialisation_core()  : mixed
Fonction d'initialisation, appellée dans inc_version ou mes_options
spip_initialisation_suite()  : mixed
Complements d'initialisation non critiques pouvant etre realises par les plugins
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 int _CACHE_CONTEXTES_AJAX_SUR_LONGUEUR = 2000

Nombre de caractères

_CACHE_PLUGINS_FCT

public mixed _CACHE_PLUGINS_FCT = _DIR_CACHE . 'charger_plugins_fonctions.php'

_CACHE_PLUGINS_OPT

public mixed _CACHE_PLUGINS_OPT = _DIR_CACHE . 'charger_plugins_options.php'

_CACHE_PLUGINS_PATH

public mixed _CACHE_PLUGINS_PATH = _DIR_CACHE . 'charger_plugins_chemins.php'

_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

_ROOT_PLUGINS

public mixed _ROOT_PLUGINS = _ROOT_RACINE . 'plugins' . DIRECTORY_SEPARATOR

_ROOT_PLUGINS_DIST

public mixed _ROOT_PLUGINS_DIST = _ROOT_RACINE . 'plugins-dist' . DIRECTORY_SEPARATOR

_ROOT_PLUGINS_SUPPL

public mixed _ROOT_PLUGINS_SUPPL = _ROOT_RACINE . str_replace(_DIR_RACINE, '', _DIR_PLUGINS_SUPPL)

_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()

Fonction d'initialisation groupée pour compatibilité ascendante

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

Fonction d'initialisation, appellée dans inc_version ou mes_options

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

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

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_suite()

Complements d'initialisation non critiques pouvant etre realises par les plugins

spip_initialisation_suite() : mixed

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