Documentation du code de SPIP et de ses plugins

SPIP

Application

Table of Contents

Classes

Bouton
Classe définissant un bouton dans la barre du haut de l'interface privée ou dans un de ses sous menus
AbstractPage
Présentation des pages simplifiées
Admin
Présentation des pages simplifiées d’admin pour envoyer un message à un utilisateur
Installation
Présentation des pages simplifiées pour installer SPIP
Page
Présentation des pages simplifiées publiques pour envoyer un message à un utilisateur
Chiffrement
Chiffrement / déchiffrement symétrique.
Cles
Conteneur de clés (chiffrement, authentification)
Password
Vérification et hachage de mot de passe
SpipCles
Gestion des clés d’authentification / chiffrement de SPIP
AbstractIterateur
Condition
Iterateur CONDITION pour itérer sur des données.
Data
Itérateur DATA.
Decorator
Factory
Fabrique d'iterateur permet de charger n'importe quel iterateur IterateurXXX fourni dans le fichier iterateurs/xxx.php.
Sql
Itérateur SQL.
Boucle
Description d'une boucle
Champ
Description d'un Champ (une Balise).
Contexte
Description d'un contexte de compilation
Critere
Description d'un critère de boucle.
Idiome
Description d'une chaîne de langue
Inclure
Description d'une inclusion de squelette.
Polyglotte
Description d'un texte polyglotte.
Texte
Description d'un texte.
Description
PDOStatement
Pouvoir retrouver le PDO utilisé pour générer un résultat de requête.
Requeteur
Sqlite
Gère l'envoi et la réception de requêtes à SQLite, qui peuvent être encadrées de transactions.
Traducteur
Cette classe est presente essentiellement pour un preg_replace_callback avec des parametres dans la fonction appelee que l'on souhaite incrementer (fonction pour proteger les textes)
AbstractCollecteur
HtmlTag
Collecter de balises html `<xx> ... </xx>` d'un texte
Idiomes
Extrait une langue des extraits idiomes (`<:module:cle_de_langue:>`)
Liens
Collecte les raccourcis liens [titre->url] de SPIP
Modeles
traite les modeles (dans la fonction typo), en remplacant le raccourci <modeleN|parametres> par la page calculee a partir du squelette modeles/modele.html Le nom du modele doit faire au moins trois caracteres (evite <h2>) Si $doublons==true, on repere les documents sans calculer les modeles mais on renvoie les params (pour l'indexation par le moteur de recherche)
Multis
Extrait une langue des extraits polyglottes (`<multi>`)
IndenteurXML
DTC
Document Type Compilation
ValidateurXML
Validateur XML en deux passes, fondé sur SAX pour la première

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'])
_AJAX  = false
_AUTH_USER_FILE  = '.htpasswd'
_AUTO_SELECTION_RUBRIQUE  = \false
_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
_CODE_QUOTE  = ",^(\n//[^\n]*\n)? *'(.*)' *\$,"
Une Regexp repérant une chaine produite par le compilateur, souvent utilisée pour faire de la concaténation lors de la compilation plutôt qu'à l'exécution, i.e. pour remplacer 'x'.'y' par 'xy'
_CONTEXTE_IGNORE_LISTE_VARIABLES  = ['^var_', '^PHPSESSID$', '^fbclid$', '^utm_']
_COPIE_LOCALE_MAX_SIZE  = 33554432
_DATA_SOURCE_MAX_SIZE  = 2 * 1048576
_DEBUG_BLOCK_QUEUE  = true
_debut_urls_page  = \get_spip_script('./') . '?'
_DECLARER_ADRESSE_DB  = $adresse_db
_DECLARER_CHOIX_DB  = $choix_db
_DECLARER_LOGIN_DB  = $login_db
_DECLARER_NOM_CONNECT  = $nom_connect
_DECLARER_PASS_DB  = $pass_db
_DECLARER_SERVEUR_DB  = $serveur_db
_DEFAULT_CHARSET  = 'utf-8'
Le charset par défaut lors de l'installation
_DELAI_RECUPERER_URL_CACHE  = 3600
_DIR_AIDE  = _DIR_CACHE . 'aide/'
_DIR_CACHE  = $ti . 'cache/'
_DIR_CACHE_XML  = _DIR_CACHE . 'xml/'
_DIR_CHMOD  = $pi
_DIR_CONNECT  = $pi
_DIR_DB  = _DIR_ETC . 'bases/'
_DIR_DUMP  = $ti . 'dump/'
_DIR_ETC  = $pi
_DIR_IMG  = $pa
_DIR_IMG_ICONES  = _DIR_LOGOS . 'icones/'
_DIR_IMG_PACK  = \_DIR_RACINE . 'prive/' . \_NOM_IMG_PACK
le chemin http (relatif) vers les images standard
_DIR_JAVASCRIPT  = \_DIR_RACINE . 'prive/' . \_JAVASCRIPT
le nom du repertoire des bibliotheques JavaScript du prive
_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_RACINE  = \_DIR_RESTREINT ? '' : '../'
Chemin relatif pour aller à la racine
_DIR_RESTREINT  = \is_dir(\_DIR_RESTREINT_ABS) ? \_DIR_RESTREINT_ABS : ''
Chemin relatif pour aller dans ecrire vide si on est dans ecrire, 'ecrire/' sinon
_DIR_RESTREINT_ABS  = 'ecrire/'
le nom du repertoire ecrire/
_DIR_RESTREINT_ABS  = 'ecrire/'
_DIR_SESSIONS  = $ti . 'sessions/'
_DIR_SKELS  = _DIR_CACHE . 'skel/'
_DIR_TMP  = $ti
_DIR_TRANSFERT  = $ti . 'upload/'
_DIR_VAR  = $ta
_DIR_VENDOR  = _DIR_RACINE . 'vendor/'
_DIRECT_CRON_FORCE  = true
_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é
_DOCTYPE_RSS  = 'http://www.rssboard.org/rss-0.91.dtd'
_DUREE_CACHE_DEFAUT  = 24 * 3600
_DUREE_COOKIE_ADMIN  = 14 * 24 * 3600
_ECRIRE_INC_VERSION  = '1'
Indique que SPIP est chargé
_ECRIRE_INSTALL  = 1
_EXTENSION_SQUELETTES  = 'html'
_EXTRAIRE_LIEN  = ',^\\s*(?:' . \_PROTOCOLES_STD . '):?/?/?\\s*$,iS'
_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_OPTIONS  = ''
_FILE_TMP_SUFFIX  = '.tmp.php'
_HEADER_COMPOSED_BY  = 'Composed-By: SPIP'
_HEADER_VARY  = 'Vary: Cookie, Accept-Encoding'
_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
_INC_DISTANT_CONNECT_TIMEOUT  = 10
_INC_DISTANT_CONTENT_ENCODING  = 'gzip'
_INC_DISTANT_MAX_SIZE  = 2097152
_INC_DISTANT_USER_AGENT  = 'SPIP-' . $GLOBALS['spip_version_affichee'] . ' (' . $GLOBALS['home_server'] . ')'
_INC_DISTANT_VERSION_HTTP  = 'HTTP/1.0'
_IS_BOT  = isset($_SERVER['HTTP_USER_AGENT']) && \preg_match( // mots generiques ',bot|slurp|crawler|spider|webvac|yandex|' . 'MSIE 6\\.0|' . '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|facebook|flipboard|hootsuite|FunWebProducts|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|MetaURI|Moreover|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti' . ',i', (string) $_SERVER['HTTP_USER_AGENT'] )
_IS_CLI  = !isset($_SERVER['HTTP_HOST']) && !\strlen((string) $_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['argv']) && empty($_SERVER['REQUEST_METHOD'])
_JAVASCRIPT  = 'javascript/'
Nom du repertoire des bibliotheques JavaScript
_JQ_NEXT_JOB_TIME_FILENAME  = _DIR_TMP . 'job_queue_next.txt'
_LANGUE_PAR_DEFAUT  = 'fr'
_LOG_ALERTE_ROUGE  = 1
_LOG_AVERTISSEMENT  = 4
_LOG_CRITIQUE  = 2
_LOG_DEBUG  = 7
_LOG_ERREUR  = 3
_LOG_FILTRE_GRAVITE  = \Psr\Log\LogLevel::NOTICE
Niveau maxi d'enregistrement des logs
_LOG_HS  = 0
_LOG_INFO  = 6
_LOG_INFO_IMPORTANTE  = 5
_LOGIN_TROP_COURT  = 4
_LOGIN_TROP_COURT  = 4
_MAX_LOG  = 100
_MESSAGE_DOCTYPE  = '<!-- SPIP CORRIGE -->'
_NOM_CONFIG  = 'mes_options'
_NOM_IMG_PACK  = 'images/'
Nom du dossier images
_NOM_PERMANENTS_ACCESSIBLES  = 'IMG/'
Nom du repertoire des fichiers Permanents Accessibles par http://
_NOM_PERMANENTS_INACCESSIBLES  = 'config/'
Nom du repertoire des fichiers Permanents Inaccessibles par http://
_NOM_TEMPORAIRES_ACCESSIBLES  = 'local/'
Nom du repertoire des fichiers Temporaires Accessibles par http://
_NOM_TEMPORAIRES_INACCESSIBLES  = 'tmp/'
Nom du repertoire des fichiers Temporaires Inaccessibles par http://
_OS_SERVEUR  = ''
_OUTILS_DEVELOPPEURS  = \false
Activer des outils pour développeurs ?
_PASS_LONGUEUR_MINI  = 6
_PASS_LONGUEUR_MINI  = 6
_PHP_MAX  = '8.4.99'
_PHP_MIN  = '8.2.0'
version PHP minimum exigee (cf. inc/utils)
_PORT_HTTP_STANDARD  = '80'
_PORT_HTTPS_STANDARD  = '443'
_PROTOCOLES_STD  = 'http|https|ftp|mailto|webcal'
_RACCOURCI_CHAPO  = '/^(\\W*)(\\W*)(\\w*\\d+([?#].*)?)$/'
_RACCOURCI_URL  = '/^\\s*(\\w*?)\\s*(\\d+)(\\?(.*?))?(#([^\\s]*))?\\s*$/S'
_REGEXP_CONCAT_NON_VIDE  = "/^(.*)[.]\\s*'[^']+'\\s*\$/"
_REGEXP_COND_NONVIDE_VIDE  = "/^[(](.*)[?]\\s*('[^']+')\\s*:\\s*''\\s*[)]\$/"
_REGEXP_COND_VIDE_NONVIDE  = "/^[(](.*)[?]\\s*''\\s*:\\s*('[^']+')\\s*[)]\$/"
_REGEXP_COPIE_LOCALE  = ',' . \preg_replace('@^https?:@', 'https?:', $GLOBALS['meta']['adresse_site'] ?? '') . '/?spip.php[?]action=acceder_document.*file=(.*)$,'
_REGEXP_DOCTYPE  = '/^((?:<\\001?[?][^>]*>\\s*)*(?:<!--.*?-->\\s*)*)*<!DOCTYPE\\s+(\\w+)\\s+(\\w+)\\s*([^>]*)>\\s*/s'
_REGEXP_ENTITY_DECL  = '/^<!ENTITY\\s+(%?)\\s*(' . \_SUB_REGEXP_SYMBOL . '+;?)\\s+(' . \_REGEXP_TYPE_XML . ')?\\s*(' . "('([^']*)')" . '|("([^"]*)")' . '|\\s*(%' . \_SUB_REGEXP_SYMBOL . '+;)\\s*' . ')\\s*(--.*?--)?("([^"]*)")?\\s*>\\s*(.*)$/s'
_REGEXP_ENTITY_DEF  = '/^%(' . \_SUB_REGEXP_SYMBOL . '+);/'
_REGEXP_ENTITY_USE  = '/%(' . \_SUB_REGEXP_SYMBOL . '+);/'
_REGEXP_ID  = '/^[A-Za-z_:]' . \_SUB_REGEXP_SYMBOL . '*$/'
_REGEXP_INCLUDE_USE  = '/^<!\\[\\s*%\\s*([^;]*);\\s*\\[\\s*(.*)$/s'
_REGEXP_NMTOKEN  = '/^' . \_SUB_REGEXP_SYMBOL . '+$/'
_REGEXP_NMTOKENS  = '/^(' . \_SUB_REGEXP_SYMBOL . '+\\s*)*$/'
_REGEXP_TYPE_XML  = 'PUBLIC|SYSTEM|INCLUDE|IGNORE|CDATA'
_REGEXP_XML  = '/^(\\s*(?:<[?][^x>][^>]*>\\s*)?(?:<[?]xml[^>]*>)?\\s*(?:<!--.*?-->\\s*)*)<(\\w+)/s'
_RENOUVELLE_ALEA  = 12 * 3600
_ROOT_CWD  = \getcwd() . \DIRECTORY_SEPARATOR
chemin absolu vers le repertoire de travail
_ROOT_IMG_PACK  = \dirname(__DIR__, 3) . \DIRECTORY_SEPARATOR . 'prive' . \DIRECTORY_SEPARATOR . \_NOM_IMG_PACK
le chemin php (absolu) vers les images standard (pour hebergement centralise)
_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)
_ROOT_RACINE  = \dirname(__DIR__, 3) . \DIRECTORY_SEPARATOR
chemin absolu vers la racine
_ROOT_RESTREINT  = \_ROOT_CWD . \_DIR_RESTREINT
chemin absolu vers ecrire
_separateur_urls_page  = ''
_SET_HTML_BASE  = true
_SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT  = 20
_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_EXTRA_VERSION  = '-dev'
_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
_SPIP_THEME_PRIVE  = 'spip'
_SPIP_VERSION_ID  = 50000
_SQLITE_CHMOD  = _SPIP_CHMOD
_SQLITE_RE_SHOW_TABLE  = '/^[^(),]*\\(((?:[^()]*\\((?:[^()]*\\([^()]*\\))?[^()]*\\)[^()]*)*[^()]*)\\)[^()]*$/'
_SUB_REGEXP_SYMBOL  = '[\\w_:.-]'
_TAGS_NOM_AUTEUR  = ''
_terminaison_urls_page  = ''
_TEST_DIRS  = '1'
_TYPO_BALISE  = ',</?[a-z!][^<>]*[' . \preg_quote(\_TYPO_PROTEGER) . '][^<>]*>,imsS'
_TYPO_PROTECTEUR  = "\x01\x02\x03\x04\x05\x06\x07\x08"
_TYPO_PROTEGER  = "!':;?~%-"
_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
_VERSION_ARCHIVE  = '1.3'
BALISE_ALT_BOUCLE  = '<//B'
Fin de la partie alternative après d'une boucle
BALISE_BOUCLE  = '<BOUCLE'
Début de la partie principale d'une boucle
BALISE_FIN_BOUCLE  = '</BOUCLE'
Fin de la partie principale d'une boucle
BALISE_IDIOMES  = ',<:(([a-z0-9_]+):)?([a-z0-9_]*)({([^\\|=>]*=[^\\|>]*)})?((\\|[^>]*)?:/?>),iS'
BALISE_IDIOMES_ARGS  = '@^\\s*([^= ]*)\\s*=\\s*((' . \NOM_DE_CHAMP . '[{][^}]*})?[^,]*)\\s*,?\\s*@s'
BALISE_INCLURE  = '/<INCLU[DR]E[[:space:]]*(\\(([^)]*)\\))?/S'
BALISE_POLYGLOTTE  = ',<multi>(.*)</multi>,Uims'
BALISE_POSTAFF_BOUCLE  = '</BB'
Fin de la partie après non optionnelle d'une boucle (toujours affichee)
BALISE_POSTCOND_BOUCLE  = '</B'
Fin de la partie optionnelle après d'une boucle
BALISE_PREAFF_BOUCLE  = '<BB'
Début de la partie avant non optionnelle d'une boucle (toujours affichee)
BALISE_PRECOND_BOUCLE  = '<B'
Début de la partie optionnelle avant d'une boucle
CHAMP_ETENDU  = '/\\[([^\\[]*?)\\(' . \NOM_DE_CHAMP . '([^)]*\\)[^]]*)\\]/S'
Balise complète [...(#TOTO) ... ]
CHAMP_SQL_PLUS_FONC  = '`?([A-Z_\\/][A-Z_\\/0-9.]*)' . \SQL_ARGS . '?`?'
Fonction SQL sur un champ ex: SUM(visites)
CODE_COMMENTE  = \true
Indique s'il faut commenter le code produit
CODE_CORPS_BOUCLE  = '%s if (defined("_BOUCLE_PROFILER")) $timer = time()+(float)microtime(); $t0 = ""; // REQUETE $iter = Spip\\Compilateur\\Iterateur\\Factory::create( "%s", %s, array(%s) ); if (!$iter->err()) { %s%s$SP++; // RESULTATS %s %s$iter->free(); }%s if (defined("_BOUCLE_PROFILER") AND 1000*($timer = (time()+(float)microtime())-$timer) > _BOUCLE_PROFILER) spip_logger("profiler")->warning(intval(1000*$timer)."ms %s"); return $t0;'
Compilation d'une boucle non recursive.
CODE_EXECUTER_BALISE  = "executer_balise_dynamique('%s',\n\tarray(%s%s),\n\tarray(%s%s))"
Code PHP d'exécution d'une balise dynamique
CODE_EXECUTER_BALISE_MODELE  = "executer_balise_dynamique_dans_un_modele('%s',\n\tarray(%s%s),\n\tarray(%s%s))"
CODE_INCLURE_BALISE  = '<' . '?php include_once("%s"); if ($lang_select = "%s") $lang_select = lang_select($lang_select); inserer_balise_dynamique(balise_%s_dyn(%s), array(%s)); if ($lang_select) lang_select(); ?' . '>'
Code PHP pour inclure une balise dynamique à l'exécution d'une page
CODE_MONOTONE  = ",^(\n//[^\n]*\n)?\\(?'([^'])*'\\)?\$,"
Repérer un code ne calculant rien, meme avec commentaire
CODE_PAGINATION  = '%s($Numrows["%s"]["grand_total"], %s, isset($Pile[0][%4$s])?$Pile[0][%4$s]:intval(_request(%4$s)), %5$s, %6$s, %7$s, %8$s, array(%9$s))'
Code de compilation pour la balise `#PAGINATION`
CODE_RECUPERER_FOND  = 'recuperer_fond(%s, %s, array(%s), %s)'
Code d'appel à un <INCLURE()>
MODULES_IDIOMES  = 'public|spip|ecrire'
Modules par défaut pour la traduction.
NOM_DE_BOUCLE  = '[0-9]+|[-_][-_.a-zA-Z0-9]*'
Expression pour trouver un identifiant de boucle
NOM_DE_CHAMP  = '#((' . \NOM_DE_BOUCLE . "):)?(([A-F]*[G-Z_][A-Z_0-9]*)|[A-Z_]+)\\b(\\*{0,2})"
Nom d'une balise #TOTO
SPEC_BOUCLE  = '/\\s*\\(\\s*([^\\s?)]+)(\\s*[^)?]*)([?]?)\\)/'
Expression pour trouver le type de boucle (TABLE autre_table ?)
SPIP_ERREUR_REPORT  = \E_ALL ^ \E_NOTICE ^ \E_DEPRECATED
Masquer les warning
SPIP_SQLITE3_ASSOC  = PDO::FETCH_ASSOC
SPIP_SQLITE3_BOTH  = PDO::FETCH_BOTH
SPIP_SQLITE3_NUM  = PDO::FETCH_NUM
SQL_ARGS  = '(\\([^)]*\\))'
Champ sql dans parenthèse ex: (id_article)
TYPE_RECURSIF  = 'boucle'
Indique un début de boucle récursive

Functions

spip_sha256()  : string
Main routine called from an application using this include.
base_dump_meta_name()  : string
Retourne un nom de meta pour une rubrique et l'auteur connecté.
base_dump_dir()  : string
Crée un répertoire recevant la sauvegarde de la base de données et retourne son chemin.
base_lister_toutes_tables()  : array<string|int, mixed>
Lister toutes les tables d'un serveur en excluant eventuellement une liste fournie
base_prefixe_tables()  : string
Retrouver le prefixe des tables
base_saisie_tables()  : array<string|int, mixed>
Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)
lister_tables_noexport()  : array<string|int, mixed>
Lister les tables non exportables par defaut (liste completable par le pipeline lister_tables_noexport
lister_tables_noimport()  : array<string|int, mixed>
Lister les tables non importables par defaut (liste completable par le pipeline lister_tables_noimport
lister_tables_noerase()  : array<string|int, mixed>
Lister les tables a ne pas effacer (liste completable par le pipeline lister_tables_noerase
base_liste_table_for_dump()  : array<string|int, mixed>
construction de la liste des tables pour le dump : toutes les tables principales + toutes les tables auxiliaires hors relations + les tables relations dont les deux tables liees sont dans la liste
base_vider_tables_destination_copie()  : mixed
Vider les tables de la base de destination pour la copie dans une base
base_conserver_copieur()  : void
Conserver le copieur si besoin
base_detruire_copieur_si_besoin()  : mixed
Effacement de la bidouille ci-dessus Toutefois si la table des auteurs ne contient plus qu'elle c'est que la copie etait incomplete et on restaure le compte pour garder la connection au site
base_preparer_table_dest()  : array<string|int, mixed>
Preparer la table dans la base de destination : la droper si elle existe (sauf si auteurs ou meta sur le serveur principal) la creer si necessaire, ou ajouter simplement les champs manquants
base_copier_tables()  : bool
Copier de base a base
base_inserer_copie()  : int
fonction d'insertion en base lors de la copie de base a base
array_set_merge()  : void
Merge dans un tableau une de ses clés avec une valeur
lister_tables_objets_sql()  : array<string|int, mixed>|string
Lister les infos de toutes les tables sql declarées
base_serial()  : void
Déclare les tables principales du Core
base_auxiliaires()  : void
Déclare les tables auxiliaires du Core
renseigner_table_objet_sql()  : array<string|int, mixed>
Auto remplissage des informations non explicites sur un objet d'une table sql
renseigner_table_objet_interfaces()  : array<string|int, mixed>
Renseigner les infos d'interface compilateur pour les tables objets complete la declaration precedente
lister_tables_principales()  : array<string|int, mixed>
Retourne la liste des tables principales et leurs descriptions
lister_tables_auxiliaires()  : array<string|int, mixed>
Retourne la liste des tables auxiliaires et leurs descriptions
lister_tables_objets_surnoms()  : array<string|int, mixed>
Recenser les surnoms de table_objet
lister_types_surnoms()  : array<string|int, mixed>
Recenser les surnoms de table_objet
lister_tables_spip()  : array<string|int, mixed>
Retourne la liste des tables SQL qui concernent SPIP
lister_toutes_tables()  : array<string|int, mixed>
Retourne la liste des tables SQL, Spip ou autres
table_objet()  : string
Retrouve le nom d'objet à partir de la table
table_objet_sql()  : string
Retrouve la table sql à partir de l'objet ou du type
id_table_objet()  : string|null
Retrouve la clé primaire à partir du nom d'objet ou de table
objet_type()  : string|null
Retrouve le type d'objet à partir du nom d'objet ou de table
objet_test_si_publie()  : bool
Determiner si un objet est publie ou non
objet_lister_parents()  : array<string|int, mixed>
Cherche les contenus parent d'un contenu précis.
objet_lister_parents_par_type()  : array<string|int, mixed>
Fonction helper qui permet de récupérer une liste simplifiée des parents, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
objet_lister_enfants()  : array<string|int, mixed>
Cherche tous les contenus enfants d'un contenu précis
objet_lister_enfants_par_type()  : array<string|int, mixed>
Fonction helper qui permet de récupérer une liste simplifiée des enfants, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
objet_type_decrire_infos_parents()  : array<string|int, mixed>|false
Donne les informations de parenté directe d'un type d'objet si on en trouve
objet_type_decrire_infos_enfants()  : array<string|int, mixed>
Donne les informations des enfants directs d'un type d'objet si on en trouve
base_trouver_table_dist()  : array<string|int, mixed>|null
Retourne la description d'une table SQL
test_espace_prive()  : bool
Indique si on est dans l'espace prive
autoriser_sans_cookie()  : bool
Prédicat sur les scripts de ecrire qui n'authentifient pas par cookie et beneficient d'une exception
verifier_visiteur()  : string|0|false
Retourne le statut du visiteur s'il s'annonce.
spip_session()  : string
Renvoie une chaîne qui identifie la session courante
generer_form_ecrire()  : string
Retourne un formulaire (POST par défaut) vers un script exec de l’interface privée
generer_form_action()  : string
Générer un formulaire pour lancer une action vers $script
_T()  : string
Traduction des textes de SPIP
_L()  : string
Remplace les variables `@...@` par leur valeur dans une chaîne de langue.
lang_select()  : string
Sélectionne la langue donnée en argument et mémorise la courante
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.
action_cron()  : mixed
Action qui déclenche une tache de fond
cron()  : bool
Exécution des tâches de fond
job_queue_add()  : int
Ajout d'une tache dans la file d'attente
job_queue_remove()  : bool
Supprimer une tache de la file d'attente
job_queue_link()  : mixed
Associer une tache a un/des objets de SPIP
queue_sleep_time_to_next_job()  : int|null
Renvoyer le temps de repos restant jusqu'au prochain job
charger_fonction()  : string
Cherche une fonction surchargeable et en retourne le nom exact, après avoir chargé le fichier la contenant si nécessaire.
include_once_check()  : bool
Inclusion unique avec verification d'existence du fichier + log en crash sinon
include_spip()  : string|bool
Inclut un fichier PHP (en le cherchant dans les chemins)
require_spip()  : string|bool
Requiert un fichier PHP (en le cherchant dans les chemins)
include_fichiers_fonctions()  : mixed
Raccourci pour inclure mes_fonctions.php et tous les fichiers _fonctions.php des plugin quand on a besoin dans le PHP de filtres/fonctions qui y sont definis
charger_fonction_url()  : string
Charger la fonction de gestion des urls si elle existe
trouve_modele()  : string
Trouve un squelette dans le repertoire modeles/
trouver_fond()  : array<string|int, mixed>|string
Trouver un squelette dans le chemin on peut specifier un sous-dossier dans $dir si $pathinfo est a true, retourne un tableau avec les composantes du fichier trouve + le chemin complet sans son extension dans fond
aider()  : Lien
Retourne un lien vers une aide
tester_url_ecrire()  : string
Teste, pour un nom de page de l'espace privé, s'il est possible de générer son contenu.
spip_logger()  : LoggerInterface
Obtenir un logger compatible Psr\Log
spip_log()  : void
Enregistrement des événements
journal()  : mixed
Enregistrement des journaux
spip_paths()  : AggregatorInterface
Return unique Aggregator class
spip_paths_loader()  : Loader
_chemin()  : array<string|int, mixed>
Gestion des chemins (ou path) de recherche de fichiers par SPIP
creer_chemin()  : array<string|int, mixed>
Retourne la liste des chemins connus de SPIP, dans l'ordre de priorité
lister_themes_prives()  : array<string|int, string>
Retourne la liste des thèmes du privé utilisables pour cette session
find_in_theme()  : mixed
chemin_image()  : string
Cherche une image dans les dossiers d'images
find_in_path()  : string|bool
Recherche un fichier dans les chemins de SPIP (squelettes, plugins, core)
clear_path_cache()  : mixed
load_path_cache()  : mixed
save_path_cache()  : mixed
find_all_in_path()  : array<string|int, mixed>
Trouve tous les fichiers du path correspondants à un pattern
minipipe()  : string|array<string|int, mixed>
Exécute une fonction (appellée par un pipeline) avec la donnée transmise.
pipeline()  : mixed|null
Appel d’un pipeline
_request()  : mixed|null
Renvoie le `$_GET` ou le `$_POST` émis par l'utilisateur ou pioché dans un tableau transmis
set_request()  : array<string|int, mixed>|bool
Affecte une valeur à une clé (pour usage avec `_request()`)
spip_sanitize_from_request()  : array<string|int, mixed>|mixed|string
Sanitizer une valeur *SI* elle provient du GET ou POST Utile dans les squelettes pour les valeurs qu'on attrape dans le env, dont on veut permettre à un squelette de confiance appelant de fournir une valeur complexe mais qui doit etre nettoyee si elle provient de l'URL
spip_desinfecte()  : mixed
Supprimer les éventuels caracteres nuls %00, qui peuvent tromper la commande is_readable('chemin/vers/fichier/interdit%00truc_normal').
spip_sanitize_classname()  : string|array<string|int, string>
Nettoie une chaine pour servir comme classes CSS.
erreur_squelette()  : null|string
Génère une erreur de squelette
recuperer_fond()  : string|array<string|int, mixed>
Calcule un squelette avec un contexte et retourne son contenu
quote_amp()  : string
Transformation XML des `&` en `&amp;`
tester_url_absolue()  : bool
Tester si une URL est absolue
parametre_url()  : string
Prend une URL et lui ajoute/retire un paramètre
ancre_url()  : string
Ajoute (ou retire) une ancre sur une URL
nettoyer_uri()  : string
Pour le nom du cache, les `types_urls` et `self`
nettoyer_uri_var()  : string
Nettoie une URI de certains paramètres (var_xxx, utm_xxx, etc.)
self()  : string
Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles
generer_objet_url()  : string
Fonction codant les URLs des objets SQL mis en page par SPIP
generer_url_entite()  : mixed
generer_objet_url_ecrire_edit()  : string
Generer l'url vers la page d'edition dans ecrire/
generer_url_ecrire_entite_edit()  : mixed
urls_connect_dist()  : mixed
urlencode_1738()  : string
Transformer les caractères utf8 d'une URL (farsi par exemple) selon la RFC 1738
generer_objet_url_absolue()  : string
Generer l'url absolue vers un objet
generer_url_entite_absolue()  : mixed
url_de_base()  : string|array<string|int, mixed>
Calcule l'url de base du site
url_de_()  : string
fonction testable de construction d'une url appelee par url_de_base()
generer_url_ecrire()  : string
Crée une URL vers un script de l'espace privé
get_spip_script()  : string
Retourne le nom du fichier d'exécution de SPIP
generer_url_public()  : string
Crée une URL vers une page publique de SPIP
generer_url_prive()  : mixed
generer_url_action()  : string
Créer une URL
generer_url_api()  : string
Créer une URL
test_plugin_actif()  : bool
Vérifie la présence d'un plugin actif, identifié par son préfixe
joli_repertoire()  : string
Retourne un joli chemin de répertoire
spip_timer()  : float|int|string|void
Débute ou arrête un chronomètre et retourne sa valeur
spip_touch()  : mixed
http_script()  : string
Produit une balise `<script>` valide
texte_script()  : string
Sécurise du texte à écrire dans du PHP ou du Javascript.
test_valeur_serveur()  : bool
Tester qu'une variable d'environnement est active
exec_info_dist()  : mixed
Page `exec=info` : retourne le contenu de la fonction php `phpinfo()`
html5_permis()  : bool
Indique si le code HTML5 est permis sur le site public
formats_image_acceptables()  : array<string|int, mixed>
Lister les formats image acceptes par les lib et fonctions images
spip_getimagesize()  : array<string|int, mixed>|bool
Extension de la fonction getimagesize pour supporter aussi les images SVG
avertir_auteurs()  : mixed
Poser une alerte qui sera affiche aux auteurs de bon statut ('' = tous) au prochain passage dans l'espace prive chaque alerte doit avoir un nom pour eviter duplication a chaque hit les alertes affichees une fois sont effacees
spip_version_compare()  : int|bool
Compare 2 numéros de version entre elles.
definir_barre_contexte()  : array<string|int, mixed>
Calcule le contexte pour le menu du bandeau
definir_barre_boutons()  : array<string|int, mixed>
Définir la liste des boutons du haut et de ses sous-menus
trier_boutons_enfants_par_alpha()  : array<string|int, Bouton>
Trie les entrées des sous menus par ordre alhabétique
trier_boutons_enfants_par_favoris_alpha()  : array<string|int, Bouton>
Trie les entrées des sous menus par favoris (selon leur ordre) puis les autres par ordre alhabétique
bandeau_creer_url()  : string
Créer l'URL à partir de exec et args, sauf si c'est déjà une url formatée
inc_bandeau_dist()  : string
Construire tout le bandeau supérieur de l'espace privé
obtenir_menus_favoris()  : array<string|int, mixed>
Retourne la liste des noms d'entrées de menus favoris de l'auteur connecté
definir_barre_onglets()  : array<string|int, mixed>
Définir la liste des onglets dans une page de l'interface privée.
barre_onglets()  : string
Création de la barre d'onglets
cvtmulti_recuperer_post_precedents()  : array<string|int, mixed>|false
Reinjecter dans _request() les valeurs postees dans les etapes precedentes
cvtmulti_sauver_post()  : array<string|int, mixed>
Sauvegarder les valeurs postees dans une variable encodee pour les recuperer a la prochaine etape
cvtmulti_formulaire_charger_etapes()  : array<string|int, mixed>
Charger une etape du cvt multi
cvtmulti_formulaire_verifier_etapes()  : array<string|int, mixed>
Verifier les etapes de saisie
cvtmulti_styliser()  : array<string|int, mixed>
Selectionner le bon fond en fonction de l'etape L'etape 1 est sur le fond sans suffixe Les autres etapes x sont sur le fond _x
copie_locale()  : bool|string
Crée au besoin la copie locale d'un fichier distant
valider_url_distante()  : false|string
Valider qu'une URL d'un document distant est bien distante et pas une url localhost qui permet d'avoir des infos sur le serveur inspiree de https://core.trac.wordpress.org/browser/trunk/src/wp-includes/http.php?rev=36435#L500
prepare_donnees_post()  : array{: string, : string}
Preparer les donnes pour un POST si $donnees est une chaine - charge a l'envoyeur de la boundariser, de gerer le Content-Type, de séparer les entetes des données par une ligne vide etc... - on traite les retour ligne pour les mettre au bon format - on decoupe en entete/corps (separes par ligne vide) si $donnees est un tableau - structuration en chaine avec boundary si necessaire ou fournie et bon Content-Type
url_to_ascii()  : array<string|int, mixed>|string
Convertir une URL dont le host est en utf8 en ascii
recuperer_url()  : array<string|int, mixed>|bool
Récupère le contenu d'une URL au besoin encode son contenu dans le charset local
recuperer_url_cache()  : array<string|int, mixed>|bool|mixed
Récuperer une URL si on l'a pas déjà dans un cache fichier
recuperer_body()  : bool|int|string
Recuperer le contenu sur lequel pointe la resource passee en argument $taille_max permet de tronquer de l'url dont on a deja recupere les en-tetes
recuperer_entetes_complets()  : bool|array<string|int, mixed>
Lit les entetes de reponse HTTP sur la socket $handle et retourne false en cas d'echec, un tableau associatif en cas de succes, contenant : - le status - le tableau complet des headers - la date de derniere modif si connue - l'url de redirection si specifiee
nom_fichier_copie_locale()  : string
Calcule le nom canonique d'une copie local d'un fichier distant
fichier_copie_locale()  : string|null
Donne le nom de la copie locale de la source
recuperer_infos_distantes()  : array<string|int, mixed>|false
Récupérer les infos d'un document distant, sans trop le télécharger
distant_trouver_mime_type_selon_headers()  : string
Retrouver un mime type depuis les headers
distant_trouver_extension_selon_headers()  : false|string
Retrouver une extension de fichier depuis les headers
need_proxy()  : string
Tester si un host peut etre recuperer directement ou doit passer par un proxy
init_http()  : array<string|int, mixed>
Initialise une requete HTTP avec entetes
lance_requete()  : bool|resource
Lancer la requete proprement dite
charger_filtre()  : string
Charger un filtre depuis le php
filtre_identite_dist()  : string
Retourne le texte tel quel
chercher_filtre()  : string
Cherche un filtre
appliquer_filtre()  : string
Applique un filtre s'il existe, sinon retourne une chaîne vide
appliquer_si_filtre()  : string
Applique un filtre s'il existe, sinon retourne le contenu d'origine sans modification
spip_version()  : string
Retourne la version de SPIP
header_silencieux()  : string
Masque la version de SPIP si la globale spip_header_silencieux le demande.
version_vcs_courante()  : mixed
Retourne une courte description d’une révision VCS d’un répertoire
decrire_version_git()  : array<string|int, mixed>|null
Retrouve un numéro de révision Git d'un répertoire
filtrer()  : string
Charge et exécute un filtre (graphique ou non)
trouver_filtre_matrice()  : bool
Cherche un filtre spécial indiqué dans la globale `spip_matrice` et charge le fichier éventuellement associé contenant le filtre.
filtre_set()  : mixed
Filtre `set` qui sauve la valeur en entrée dans une variable
filtre_setenv()  : string|mixed
Filtre `setenv` qui enregistre une valeur dans l'environnement du squelette
filtre_sanitize_env()  : string
filtre_debug()  : mixed
Filtre `debug` qui affiche un debug de la valeur en entrée
image_filtrer()  : string
Exécute un filtre image
infos_image()  : array<string|int, mixed>
Retourne les informations d'une image
poids_image()  : array<string|int, mixed>
Retourne les dimensions d'une image
taille_image()  : mixed
largeur()  : int|null
Retourne la largeur d'une image
hauteur()  : int|null
Retourne la hauteur d'une image
corriger_entites_html()  : string
Échappement des entités HTML avec correction des entités « brutes »
corriger_toutes_entites_html()  : string
Échappement des entités HTML avec correction des entités « brutes » ainsi que les `&amp;eacute;` en `&eacute;`
proteger_amp()  : string
Échappe les `&` en `&amp;`
entites_html()  : mixed|string
Échappe en entités HTML certains caractères d'un texte
filtrer_entites()  : string
Convertit les caractères spéciaux HTML dans le charset du site.
filtre_filtrer_entites_dist()  : string
Version sécurisée de filtrer_entites
supprimer_caracteres_illegaux()  : string|array<string|int, mixed>
Supprime des caractères illégaux
corriger_caracteres()  : string|array<string|int, mixed>
Correction de caractères
texte_backend()  : string
Encode du HTML pour transmission XML notamment dans les flux RSS
texte_backendq()  : string
Encode et quote du HTML pour transmission XML notamment dans les flux RSS
supprimer_numero()  : string
Enlève un numéro préfixant un texte
recuperer_numero()  : string
Récupère un numéro préfixant un texte
supprimer_tags()  : string|array<string|int, mixed>
Suppression basique et brutale de tous les tags
echapper_tags()  : string
Convertit les chevrons de tag en version lisible en HTML
textebrut()  : string
Convertit un texte HTML en texte brut
liens_ouvrants()  : string
Remplace les liens SPIP en liens ouvrant dans une nouvelle fenetre (target=blank)
liens_nofollow()  : string
Ajouter un attribut rel="nofollow" sur tous les liens d'un texte
PtoBR()  : string
Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`
majuscules()  : string
Passe un texte en majuscules, y compris les accents, en HTML
taille_en_octets()  : string
Renvoie une taille de dossier ou de fichier humainement lisible en ajustant le format et l'unité.
attribut_html()  : string
Rend une chaine utilisable sans dommage comme attribut HTML
vider_url()  : string
Vider les URL nulles
antispam()  : string
Maquiller une adresse e-mail
filtre_securiser_acces_dist()  : bool
Vérifie un accès à faible sécurité
sinon()  : mixed
Retourne le second paramètre lorsque le premier est considere vide, sinon retourne le premier paramètre.
choixsivide()  : mixed
Filtre `|choixsivide{vide, pas vide}` alias de `|?{si oui, si non}` avec les arguments inversés
choixsiegal()  : mixed
Filtre `|choixsiegal{valeur, sioui, sinon}`
filtrer_ical()  : string
Adapte un texte pour être inséré dans une valeur d'un export ICAL
post_autobr()  : string
Transforme les sauts de ligne simples en sauts forcés avec `_ `
extraire_idiome()  : string
Extrait une langue des extraits idiomes (`<:module:cle_de_langue:>`)
extraire_multi()  : string
Extrait une langue des extraits polyglottes (`<multi>`)
filtre_initiale()  : string
Calculer l'initiale d'un nom
unique()  : string|int|array<string|int, mixed>|null|void
Retourne la donnée si c'est la première fois qu'il la voit
alterner()  : mixed
Filtre qui alterne des valeurs en fonction d'un compteur
extraire_attribut()  : string|array<string|int, mixed>|null
Récupérer un attribut d'une balise HTML
inserer_attribut()  : string
Insérer (ou modifier) un attribut html dans une balise
vider_attribut()  : string
Supprime un attribut HTML
modifier_class()  : string
Fonction support pour les filtres |ajouter_class |supprimer_class |commuter_class
ajouter_class()  : string
Ajoute une ou plusieurs classes sur une balise (si pas deja presentes)
supprimer_class()  : string
Supprime une ou plusieurs classes sur une balise (si presentes)
commuter_class()  : string
Bascule une ou plusieurs classes sur une balise : ajoutees si absentes, supprimees si presentes
tester_config()  : string
Un filtre pour déterminer le nom du statut des inscrits
floatstr()  : mixed
strize()  : mixed
plus()  : int
Additionne 2 nombres
strplus()  : mixed
moins()  : int
Soustrait 2 nombres
strmoins()  : mixed
mult()  : int
Multiplie 2 nombres
strmult()  : mixed
div()  : int
Divise 2 nombres
strdiv()  : mixed
modulo()  : int
Retourne le modulo 2 nombres
nom_acceptable()  : bool
Vérifie qu'un nom (d'auteur) ne comporte pas d'autres tags que <multi> et ceux volontairement spécifiés dans la constante
email_valide()  : bool|string|array<string|int, mixed>
Vérifier la conformité d'une ou plusieurs adresses email (suivant RFC 822)
afficher_enclosures()  : string
Permet d'afficher un symbole à côté des liens pointant vers les documents attachés d'un article (liens ayant `rel=enclosure`).
afficher_tags()  : string
Filtre des liens HTML `<a>` selon la valeur de leur attribut `rel` et ne retourne que ceux là.
enclosure2microformat()  : string
Convertir les médias fournis par un flux RSS (podcasts) en liens conformes aux microformats
microformat2enclosure()  : string
Convertir les liens conformes aux microformats en médias pour flux RSS, par exemple pour les podcasts
tags2dcsubject()  : string
Créer les éléments ATOM `<dc:subject>` à partir des tags
extraire_balise()  : string|array<string|int, mixed>
Retourne la premiere balise html du type demandé
extraire_balises()  : array<string|int, mixed>
Extrait toutes les balises html du type demandé
in_any()  : string
Indique si le premier argument est contenu dans le second
valeur_numerique()  : int
Retourne le résultat d'une expression mathématique simple
regledetrois()  : int
Retourne un calcul de règle de trois
form_hidden()  : string
Crée des tags HTML input hidden pour chaque paramètre et valeur d'une URL
filtre_reset()  : mixed|null|false
Retourne la première valeur d'un tableau
filtre_end()  : mixed|null|false
Retourne la dernière valeur d'un tableau
filtre_push()  : array<string|int, mixed>|string
Empile une valeur à la fin d'un tableau
filtre_find()  : bool
Indique si une valeur est contenue dans un tableau
urls_absolues_css()  : string
Passer les url relatives à la css d'origine en url absolues
direction_css()  : string
Inverse le code CSS (left <--> right) d'une feuille de style CSS
url_absolue_css()  : string
Transforme les urls relatives d'un fichier CSS en absolues
table_valeur()  : mixed
Récupère la valeur d'une clé donnée dans un tableau (ou un objet).
filtre_match_dist()  : bool|string
Retrouve un motif dans un texte à partir d'une expression régulière
replace()  : string
Remplacement de texte à base d'expression régulière
traiter_doublons_documents()  : string
Cherche les documents numerotés dans un texte traite par `propre()`
vide()  : string
Filtre vide qui ne renvoie rien
env_to_params()  : string
Écrit des balises HTML `<param...>` à partir d'un tableau de données tel que `#ENV`
env_to_attributs()  : string
Écrit des attributs HTML à partir d'un tableau de données tel que `#ENV`
concat()  : string
Concatène des chaînes
charge_scripts()  : string
Retourne le contenu d'un ou plusieurs fichiers
http_img_variante_svg_si_possible()  : string
Trouver la potentielle variante SVG -xx.svg d'une image -xx.png Cette fonction permet le support multi-version SPIP des plugins qui fournissent une icone PNG et sa variante SVG
http_img_pack()  : string
Produit une balise img avec un champ alt d'office si vide
http_style_background()  : string
Générer une directive `style='background:url()'` à partir d'un fichier image
helper_filtre_balise_img_svg_arguments()  : mixed
helper_filtre_balise_img_svg_size()  : mixed
filtre_balise_img_dist()  : string
Générer une balise HTML `img` à partir d'un nom de fichier et/ou renseigne son alt/class/width/height selon les arguments passés
filtre_balise_svg_dist()  : string
Inserer un svg inline http://www.accede-web.com/notices/html-css-javascript/6-images-icones/6-2-svg-images-vectorielles/
filtre_balise_img_svg_dist()  : string
Génère une balise HTML `img` ou un `svg` inline suivant le nom du fichier.
filtre_info_plugin_dist()  : array<string|int, mixed>|string|bool
Obtient des informations sur les plugins actifs
puce_changement_statut()  : string
Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
filtre_puce_statut_dist()  : string
Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
encoder_contexte_ajax()  : string
Encoder un contexte pour l'ajax
decoder_contexte_ajax()  : array<string|int, mixed>|string|bool
Décoder un hash de contexte pour l'ajax
_xor()  : string
Encrypte ou décrypte un message
url_reponse_forum()  : string
Retourne une URL de réponse de forum (aucune action ici)
url_rss_forum()  : string
retourne une URL de suivi rss d'un forum (aucune action ici)
lien_ou_expose()  : string
Génère des menus avec liens ou `<strong class='on'>` non clicable lorsque l'item est sélectionné Le parametre $on peut recevoir un selecteur simplifié de type 'a.active' 'strong.active.expose' pour préciser la balise (a, span ou strong uniquement) et la/les classes à utiliser quand on est expose
singulier_ou_pluriel()  : string
Afficher un message "un truc"/"N trucs" Les items sont à indiquer comme pour la fonction _T() sous la forme : "module:chaine"
prepare_icone_base()  : string
Fonction de base pour une icone dans un squelette.
icone_base()  : string
Crée un lien ayant une icone
filtre_icone_verticale_dist()  : string
Crée un lien précédé d'une icone au dessus du texte
filtre_icone_horizontale_dist()  : string
Crée un lien précédé d'une icone horizontale
filtre_bouton_action_horizontal_dist()  : string
Crée un bouton d'action intégrant une icone horizontale
filtre_explode_dist()  : array<string|int, mixed>
Explose un texte en tableau suivant un séparateur
filtre_implode_dist()  : string
Implose un tableau en chaine en liant avec un séparateur
bando_images_background()  : string
Produire les styles privés qui associent item de menu avec icone en background
bouton_action()  : string
Générer un bouton_action utilisé par #BOUTON_ACTION
generer_objet_info()  : string
Donner n'importe quelle information sur un objet de maniere generique.
generer_objet_introduction()  : string
Fonction privée pour donner l'introduction d'un objet de manière générique.
appliquer_traitement_champ()  : string
Appliquer a un champ SQL le traitement qui est configure pour la balise homonyme dans les squelettes
generer_objet_lien()  : string
Generer un lien (titre clicable vers url) vers un objet
wrap()  : string
Englobe (Wrap) un texte avec des balises
filtre_print_dist()  : array<string|int, mixed>|mixed|string
afficher proprement n'importe quoi On affiche in fine un pseudo-yaml qui premet de lire humainement les tableaux et de s'y reperer
objet_info()  : string|array<string|int, mixed>
Renvoyer l'info d'un objet telles que definies dans declarer_tables_objets_sql
objet_afficher_nb()  : mixed|string
Filtre pour afficher 'Aucun truc' ou '1 truc' ou 'N trucs' avec la bonne chaîne de langue en fonction de l'objet utilisé
objet_icone()  : string
Filtre pour afficher l'img icone d'un objet
objet_T()  : string
Renvoyer une traduction d'une chaine de langue contextuelle à un objet si elle existe, la traduction de la chaine generique
insert_head_css_conditionnel()  : string
Fonction de secours pour inserer le head_css de facon conditionnelle
produire_fond_statique()  : string
Produire un fichier statique à partir d'un squelette dynamique
timestamp()  : string
Ajouter un timestamp a une url de fichier [(#CHEMIN{monfichier}|timestamp)]
supprimer_timestamp()  : string
Supprimer le timestamp d'une url
filtre_nettoyer_titre_email_dist()  : string
Nettoyer le titre d'un email
filtre_chercher_rubrique_dist()  : string
Afficher le sélecteur de rubrique
sinon_interdire_acces()  : string|void
Rediriger une page suivant une autorisation, et ce, n'importe où dans un squelette, même dans les inclusions.
filtre_compacte_dist()  : string
Assurer le fonctionnement de |compacte meme sans l'extension compresseur
spip_affiche_mot_de_passe_masque()  : string
Afficher partiellement un mot de passe que l'on ne veut pas rendre lisible par un champ hidden
identifiant_slug()  : string
Cette fonction permet de transformer un texte clair en nom court pouvant servir d'identifiant, class, id, url... en ne conservant que des caracteres alphanumeriques et un separateur
label_nettoyer()  : string
Prépare un texte pour un affichage en label ou titre
label_ponctuer()  : string
Prépare un texte pour un affichage en label ou titre en ligne, systématiquement avec ' :' à la fin
helper_filtre_objet_lister_enfants_ou_parents()  : array<string|int, mixed>
Helper pour les filtres associés aux fonctions objet_lister_(parents|enfants)(_par_type)?
filtre_objet_lister_parents_dist()  : array<string|int, mixed>
Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents{#OBJET})]
filtre_objet_lister_parents_par_type_dist()  : array<string|int, mixed>
Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents_par_type{#OBJET})]
filtre_objet_lister_enfants_dist()  : array<string|int, mixed>
Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants{#OBJET})]
filtre_objet_lister_enfants_par_type_dist()  : array<string|int, mixed>
Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants_par_type{#OBJET})]
inc_genie_dist()  : mixed
Prévoit l'exécution de la tâche cron la plus urgente
taches_generales()  : mixed
genie_queue_watch_dist()  : int
Une tâche périodique pour surveiller les tâches crons et les relancer si besoin
queue_genie_replan_job()  : void
Replanifier une tache periodique
inc_icone_renommer_dist()  : mixed
importer_csv_importcharset()  : array<string|int, mixed>
Importer le charset d'une ligne
importer_csv_nettoie_key()  : string
enlever les accents des cles presentes dans le head, sinon ca pose des problemes .
inc_importer_csv_dist()  : false|array<string|int, mixed>
Lit un fichier csv et retourne un tableau si $head est true, la premiere ligne est utilisee en header pour generer un tableau associatif
inc_informer_dist()  : mixed
inc_journal_dist()  : mixed
cadre_depliable()  : string
Affiche un cadre complet muni d’un bouton pour le déplier.
block_parfois_visible()  : mixed
debut_block_depliable()  : mixed
fin_block()  : mixed
bouton_block_depliable()  : mixed
inc_lien_dist()  : string
Production de la balise a+href à partir des raccourcis `[xxx->url]` etc.
expanser_liens()  : mixed
nettoyer_raccourcis_typo()  : mixed
traiter_raccourci_lien_atts()  : mixed
virtuel_redirige()  : string
Retourne la valeur d'un champ de redirection (articles virtuels)
calculer_url()  : mixed
traiter_lien_explicite()  : mixed
liens_implicite_glose_dist()  : mixed
traiter_lien_implicite()  : array<string|int, mixed>|bool|string
Transformer un lien raccourci art23 en son URL Par defaut la fonction produit une url prive si on est dans le prive ou publique si on est dans le public.
typer_raccourci()  : mixed
traiter_raccourci_titre()  : array<string|int, mixed>
Retourne le titre et la langue d'un objet éditorial
traiter_raccourci_ancre()  : mixed
traiter_raccourci_glossaire()  : mixed
glossaire_std()  : mixed
inc_lien_court()  : mixed
inc_log_dist()  : mixed
produire_image_math()  : mixed
traiter_math()  : string
Active la recherche et l'affichage d'expressions mathématiques dans le texte transmis, dans tous les textes à l'intérieur d'une balise `<math>`.
install_debut_html()  : string
Retourne le début d'une page HTML minimale (de type installation)
install_fin_html()  : string
Retourne la fin d'une page HTML minimale (de type installation ou erreur)
minipres()  : string
Retourne une page HTML contenant, dans une présentation minimale, le contenu transmis dans `$titre` et `$corps`.
traiter_modeles()  : string
Traiter les modeles d'un texte
inc_plonger_dist()  : mixed
inc_preselectionner_parent_nouvel_objet_dist()  : string
Preselectionner la rubrique lors de la creation desactive par defaut suite a remontee utilisateur mais activable par define ou surchargeable
enfant_rub()  : array<string|int, mixed>
Crée l'affichage des listes de rubriques dans le privé
sous_enfant_rub()  : string
Affiche les enfants d'une sous rubrique dans un bloc dépliable (Utilisé dans les pages du privé)
afficher_enfant_rub()  : string
Affiche la liste des rubriques enfants d'une rubrique (Utilisé dans les pages du privé notamment ?exec=rubriques)
inc_recherche_to_array_dist()  : mixed
calculer_rubriques_if()  : void
Recalcule les statuts d'une rubrique
publier_branche_rubrique()  : bool
Publie une rubrique et sa hiérarchie de rubriques
depublier_branche_rubrique_if()  : bool
Dépublie si nécessaire des éléments d'une hiérarchie de rubriques
depublier_rubrique_if()  : bool
Dépublier une rubrique si aucun contenu publié connu n'est trouvé dedans
calculer_rubriques()  : void
Recalcule des héritages de rubriques
calculer_rubriques_publiees()  : void
Recalcule l'ensemble des données associées à l'arborescence des rubriques
propager_les_secteurs()  : void
Recalcule les secteurs et les profondeurs des rubriques (et articles)
calculer_langues_rubriques_etape()  : bool
Recalcule les langues héritées des sous-rubriques
calculer_langues_rubriques()  : void
Recalcule les langues des rubriques et articles
calculer_langues_utilisees()  : string
Calcule la liste des langues réellement utilisées dans le site public
calcul_branche_in()  : string
Calcul d'une branche de rubrique
calcul_hierarchie_in()  : string
Calcul d'une hiérarchie
inc_calcul_branche_in_dist()  : string
Calcul d'une branche de rubriques
inc_calcul_hierarchie_in_dist()  : string
Calcul d'une hiérarchie
calculer_prochain_postdate()  : void
Calcule la date du prochain article post-daté
creer_rubrique_nommee()  : int
Crée une arborescence de rubrique
inc_simplexml_to_array_dist()  : array<string|int, mixed>
Transforme un texte XML en tableau PHP
xmlObjToArr()  : array<string|int, mixed>
Transforme un objet SimpleXML en tableau PHP http://www.php.net/manual/pt_BR/book.simplexml.php#108688 xaviered at gmail dot com 17-May-2012 07:00
definir_raccourcis_alineas()  : array<string|int, mixed>
Raccourcis dépendant du sens de la langue
traiter_tableau()  : string
Traitement des raccourcis de tableaux
traiter_listes()  : string
Traitement des listes
traiter_raccourcis()  : string
Nettoie un texte, traite les raccourcis autre qu'URL, la typo, etc.
echappe_js()  : string
Échapper et affichier joliement les `<script` et `<iframe`.
interdire_scripts()  : string
Empêcher l'exécution de code PHP et JS
typo()  : string
Applique la typographie générale
corriger_typo()  : string
Corrige la typographie
paragrapher()  : string
Paragrapher seulement
traiter_retours_chariots()  : string
Harmonise les retours chariots et mange les paragraphes HTML
propre()  : string
Transforme les raccourcis SPIP, liens et modèles d'un texte en code HTML
definir_puce()  : string
Retourne une image d'une puce
spip_balisage_code()  : string
Preparer le markup html pour les extraits de code en ligne ou en bloc
code_echappement()  : string
Echapper les elements perilleux en les passant en base64
traiter_echap_html_dist()  : mixed
traiter_echap_pre_dist()  : mixed
traiter_echap_code_dist()  : mixed
traiter_echap_cadre_dist()  : mixed
traiter_echap_frame_dist()  : mixed
traiter_echap_script_dist()  : mixed
echappe_html()  : string|array<string|int, string>
pour $source voir commentaire infra (echappe_retour)
echappe_retour()  : array<string|int, mixed>|mixed|string|array<string|int, string>
Traitement final des echappements Rq: $source sert a faire des echappements "a soi" qui ne sont pas nettoyes par propre() : exemple dans multi et dans typo()
echappe_retour_modeles()  : mixed
couper()  : string
Coupe un texte à une certaine longueur.
protege_js_modeles()  : mixed
echapper_faux_tags()  : mixed
echapper_html_suspect()  : string
Si le html contenu dans un texte ne passe pas sans transformation a travers safehtml on l'echappe si safehtml ne renvoie pas la meme chose on echappe les < en &lt; pour montrer le contenu brut
safehtml()  : string
Sécurise un texte HTML
is_html_safe()  : bool
Detecter si un texte est "safe" ie non modifie significativement par safehtml()
supprime_img()  : string
Supprime les modèles d'image d'un texte
find_langs_in_path()  : array<string|int, mixed>
Rechercher tous les lang/file dans le path qui seront ensuite chargés dans l'ordre du path
chercher_module_lang()  : array<string|int, mixed>
Recherche le ou les fichiers de langue d'un module de langue
charger_langue()  : void
Charge en mémoire les couples cle/traduction d'un module de langue et une langue donnée
lire_fichier_langue()  : string
Retourne les entrées d’un fichier de langue
surcharger_langue()  : mixed
Surcharger le fichier de langue courant avec un ou plusieurs autres
inc_traduire_dist()  : string|Description
Traduire une chaine internationalisée
definir_details_traduction()  : Description
Modifie le texte de traduction pour indiquer des éléments servant au debug de celles-ci. (pour var_mode=traduction)
install_etape__dist()  : mixed
Affiche l'étape 0 d'installation : écran d'accueil.
install_etape_1_dist()  : mixed
Affichage de l'étape 1 d'installation : tests des répertoires et hébergement ; demande d'identifiants de connexion à la BDD
install_etape_2_dist()  : mixed
install_etape_2_bases()  : mixed
install_etape_2_form()  : mixed
install_bases()  : mixed
preparer_prefixe_tables()  : string
Préparer le préfixe des tables
install_propose_ldap()  : mixed
install_premier_auteur()  : mixed
install_etape_3_dist()  : mixed
install_etape_3b_dist()  : mixed
echouer_etape_3b()  : never
install_etape_4_dist()  : mixed
test_ecrire()  : mixed
install_etape_chmod_dist()  : mixed
install_etape_fin_dist()  : mixed
install_verifier_htaccess()  : mixed
install_etape_ldap1_dist()  : mixed
install_etape_ldap2_dist()  : mixed
install_etape_ldap3_dist()  : mixed
install_etape_ldap4_dist()  : mixed
liste_statuts_ldap()  : mixed
install_ldap_correspondances()  : mixed
install_etape_ldap5_dist()  : mixed
etape_ldap5_save()  : mixed
etape_ldap5_suite()  : mixed
iterateur_CONDITION_dist()  : Boucle
Créer une boucle sur un itérateur CONDITION
iterateur_DATA_dist()  : Boucle
Créer une boucle sur un itérateur DATA
inc_file_to_array_dist()  : array<string|int, mixed>
file -> tableau
inc_plugins_to_array_dist()  : array<string|int, mixed>
plugins -> tableau
inc_xml_to_array_dist()  : array<string|int, mixed>
xml -> tableau
inc_object_to_array()  : array<string|int, mixed>
object -> tableau
inc_sql_to_array_dist()  : array<string|int, mixed>|bool
sql -> tableau
inc_json_to_array_dist()  : array<string|int, mixed>|bool
json -> tableau
inc_csv_to_array_dist()  : array<string|int, mixed>|bool
csv -> tableau
inc_rss_to_array_dist()  : array<string|int, mixed>|bool
RSS -> tableau
inc_atom_to_array_dist()  : array<string|int, mixed>|bool
atom, alias de rss -> tableau
inc_glob_to_array_dist()  : array<string|int, mixed>|bool
glob -> tableau lister des fichiers selon un masque, pour la syntaxe cf php.net/glob
inc_yaml_to_array_dist()  : bool|array<string|int, mixed>
YAML -> tableau
inc_pregfiles_to_array_dist()  : array<string|int, mixed>|bool
pregfiles -> tableau lister des fichiers a partir d'un dossier de base et selon une regexp.
inc_ls_to_array_dist()  : array<string|int, mixed>|bool
ls -> tableau ls : lister des fichiers selon un masque glob et renvoyer aussi leurs donnees php.net/stat
XMLObjectToArray()  : array<string|int, mixed>|bool
Object -> tableau
iterateur_php_dist()  : Boucle
Créer une boucle sur un itérateur PHP
notifications_instituerarticle_dist()  : mixed
plugins_afficher_liste_dist()  : string
Afficher une liste de plugins dans l'interface
affiche_block_initiale()  : mixed
plugins_afficher_nom_plugin_dist()  : mixed
plugins_afficher_repertoires_dist()  : mixed
chemin_plug()  : mixed
tree_open_close_dir()  : mixed
plugins_extraire_boutons_dist()  : array<string|int, mixed>
Analyser un arbre xml et extraire les infos concernant les boutons et onglets
plugins_extraire_pipelines_dist()  : mixed
Extraire les infos de pipeline
plugins_infos_paquet()  : array<string|int, mixed>
lecture d'un texte conforme a la DTD paquet.dtd et conversion en tableau PHP identique a celui fourni par plugin.xml manque la description
paquet_readable_files()  : void
Verifier le presence des fichiers remarquables options/actions/administrations et le logo et peupler la description du plugin en consequence
paquet_debutElement()  : mixed
Appeler le validateur, qui memorise le texte dans le tableau "versions" On memorise en plus dans les index de numero de version de SPIP les attributs de la balise rencontree qu'on complete par des entrees nommees par les sous-balises de "paquet", et initialisees par un tableau vide, rempli a leur rencontre.
paquet_textElement()  : mixed
Appeler l'indenteur pour sa gestion de la profondeur, et memoriser les attributs dans le tableau avec l'oppose de la profondeur comme index, avec '' comme sous-index (les autres sont les attributs)
paquet_finElement()  : mixed
Si on sait deja que le texte n'est pas valide on ne fait rien.
info_paquet_licence()  : mixed
Cas particulier de la balise licence : transformer en lien sur url fournie dans l'attribut lien
info_paquet_chemin()  : mixed
Cas particulier de la balise chemin : stocker un tableau
info_paquet_auteur()  : mixed
Cas particulier de la balise auteur peupler le mail si besoin (en le protegeant, mais est-ce bien la place pour cela ?) et le lien vers le site de l'auteur si fournit
info_paquet_credit()  : mixed
Cas particulier de la balise credit peupler le lien vers le site externe si necessaire
info_paquet_copyright()  : mixed
Cas particulier de la balise copyright : transformer en lien sur url fournie dans l'attribut lien
info_paquet_paquet()  : mixed
Cas particulier de la balise paquet : Remplacer cet index qui ne sert a rien par un index balise=paquet et ajouter la reference a la dtd
info_paquet_traduire()  : mixed
Cas particulier sur la balise traduire : Elle n'a pas de 'nom'
info_paquet_spip()  : mixed
Cas particulier de la balise spip : Remplacer cet index qui ne sert a rien par un index balise=spip et ajouter la reference a la dtd
info_paquet_pipeline()  : mixed
Pipelines : plusieurs declarations possibles pour un meme pipeline
info_paquet_style()  : mixed
Style : plusieurs declarations possibles.
info_paquet_script()  : mixed
Script : plusieurs declarations possibles.
info_paquet_genie()  : mixed
Genie : plusieurs declarations possibles pour les crons
plugins_verifie_conformite_dist()  : mixed
securiser_redirect_action()  : string
traiter_appels_actions()  : mixed
refuser_traiter_formulaire_ajax()  : mixed
traiter_appels_inclusions_ajax()  : mixed
traiter_formulaires_dynamiques()  : mixed
interprete_argument_balise()  : string|null
Retourne le code PHP d'un argument de balise s'il est présent
balise_NOM_SITE_SPIP_dist()  : Champ
Compile la balise `#NOM_SITE_SPIP` retournant le nom du site
balise_EMAIL_WEBMASTER_dist()  : Champ
Compile la balise `#EMAIL_WEBMASTER` retournant l'adresse courriel du webmestre
balise_DESCRIPTIF_SITE_SPIP_dist()  : Champ
Compile la balise `#DESCRIPTIF_SITE_SPIP` qui retourne le descriptif du site !
balise_CHARSET_dist()  : Champ
Compile la balise `#CHARSET` qui retourne le nom du jeu de caractères utilisé par le site tel que `utf-8`
balise_LANG_LEFT_dist()  : Champ
Compile la balise `#LANG_LEFT` retournant 'left' si la langue s'écrit de gauche à droite, sinon 'right'
balise_LANG_RIGHT_dist()  : Champ
Compile la balise `#LANG_RIGHT` retournant 'right' si la langue s'écrit de gauche à droite, sinon 'left'
balise_LANG_DIR_dist()  : Champ
Compile la balise `#LANG_DIR` retournant 'ltr' si la langue s'écrit de gauche à droite, sinon 'rtl'
balise_PUCE_dist()  : Champ
Compile la balise `#PUCE` affichant une puce
balise_DATE_dist()  : Champ
Compile la balise `#DATE` qui retourne la date de mise en ligne
balise_DATE_REDAC_dist()  : Champ
Compile la balise `#DATE_REDAC` qui retourne la date de première publication
balise_DATE_MODIF_dist()  : Champ
Compile la balise `#DATE_MODIF` qui retourne la date de dernière modification
balise_DATE_NOUVEAUTES_dist()  : Champ
Compile la balise `#DATE_NOUVEAUTES` indiquant la date de dernier envoi du mail de nouveautés
balise_DOSSIER_SQUELETTE_dist()  : Champ
Compile la balise `#DOSSIER_SQUELETTE` retournant le chemin vers le répertoire du fichier squelette dans lequel elle est appelee (comme __DIR__ en php)
balise_SQUELETTE_dist()  : Champ
Compile la balise `#SQUELETTE` retournant le chemin du squelette courant
balise_SPIP_VERSION_dist()  : Champ
Compile la balise `#SPIP_VERSION` qui affiche la version de SPIP
balise_NOM_SITE_dist()  : Champ
Compile la balise `#NOM_SITE` qui affiche le nom du site.
balise_NOTES_dist()  : Champ
Compile la balise `#NOTE` qui affiche les notes de bas de page
balise_RECHERCHE_dist()  : Champ
Compile la balise `#RECHERCHE` qui retourne le terme de recherche demandé
balise_COMPTEUR_BOUCLE_dist()  : Champ|null
Compile la balise `#COMPTEUR_BOUCLE` qui retourne le numéro de l’itération actuelle de la boucle
balise_TOTAL_BOUCLE_dist()  : Champ
Compile la balise `#TOTAL_BOUCLE` qui retourne le nombre de résultats affichés par la boucle
balise_POINTS_dist()  : Champ
Compile la balise `#POINTS` qui affiche la pertinence des résultats
balise_POPULARITE_ABSOLUE_dist()  : Champ
Compile la balise `#POPULARITE_ABSOLUE` qui affiche la popularité absolue
balise_POPULARITE_SITE_dist()  : Champ
Compile la balise `#POPULARITE_SITE` qui affiche la popularité du site
balise_POPULARITE_MAX_dist()  : Champ
Compile la balise `#POPULARITE_MAX` qui affiche la popularité maximum parmis les popularités des articles
balise_VALEUR_dist()  : Champ
Compile la balise `#VALEUR` retournant le champ `valeur`
balise_EXPOSE_dist()  : Champ
Compile la balise `#EXPOSE` qui met en évidence l'élément sur lequel la page se trouve
calculer_balise_expose()  : Champ
Calcul de la balise expose
balise_INTRODUCTION_dist()  : Champ
Compile la balise `#INTRODUCTION`
balise_LANG_dist()  : Champ
Compile la balise `#LANG` qui affiche la langue de l'objet (ou d'une boucle supérieure), et à defaut la langue courante
balise_LESAUTEURS_dist()  : Champ
Compile la balise `#LESAUTEURS` chargée d'afficher la liste des auteurs d'un objet
balise_RANG_dist()  : Champ
Compile la balise `#RANG` chargée d'afficher le numéro de l'objet
balise_POPULARITE_dist()  : Champ
Compile la balise `#POPULARITE` qui affiche la popularité relative.
balise_PAGINATION_dist()  : Champ
Compile la balise `#PAGINATION` chargée d'afficher une pagination
balise_ANCRE_PAGINATION_dist()  : Champ
Compile la balise `#ANCRE_PAGINATION` chargée d'afficher l'ancre de la pagination
balise_GRAND_TOTAL_dist()  : Champ
Compile la balise `#GRAND_TOTAL` qui retourne le nombre total de résultats d'une boucle
balise_SELF_dist()  : Champ
Compile la balise `#SELF` qui retourne l’URL de la page appelée.
balise_CHEMIN_dist()  : Champ
Compile la balise `#CHEMIN` qui cherche un fichier dans les chemins connus de SPIP et retourne son chemin complet depuis la racine
balise_CHEMIN_IMAGE_dist()  : Champ
Compile la balise `#CHEMIN_IMAGE` qui cherche une image dans le thème de l'espace privé utilisé par SPIP et retourne son chemin complet depuis la racine
balise_ENV_dist()  : Champ
Compile la balise `#ENV` qui permet de récupérer le contexte d'environnement transmis à un squelette.
balise_CONFIG_dist()  : Champ
Compile la balise `#CONFIG` qui retourne une valeur de configuration
balise_CONNECT_dist()  : Champ
Compile la balise `#CONNECT` qui retourne le nom du connecteur de base de données
balise_SESSION_dist()  : Champ
Compile la balise `#SESSION` qui permet d’accéder aux informations liées au visiteur authentifié et de différencier automatiquement le cache en fonction du visiteur.
balise_SESSION_SET_dist()  : Champ
Compile la balise `#SESSION_SET` qui d’insérer dans la session des données supplémentaires
balise_EVAL_dist()  : Champ
Compile la balise `#EVAL` qui évalue un code PHP
balise_CHAMP_SQL_dist()  : Champ
Compile la balise `#CHAMP_SQL` qui renvoie la valeur d'un champ SQL
balise_VAL_dist()  : Champ
Compile la balise `#VAL` qui retourne simplement le premier argument qui lui est transmis
balise_REM_dist()  : Champ
Compile la balise `#REM` servant à commenter du texte
balise_NULL_dist()  : mixed
Une balise #NULL quand on a besoin de passer un argument null sur l'appel d'un filtre ou formulaire (evite un #EVAL{null})
balise_HTTP_HEADER_dist()  : Champ
Compile la balise `#HTTP_HEADER` envoyant des entêtes de retour HTTP
balise_FILTRE_dist()  : Champ|null
Compile la balise `#FILTRE` qui exécute un filtre à l'ensemble du squelette une fois calculé.
balise_CACHE_dist()  : Champ
Compile la balise `#CACHE` definissant la durée de validité du cache du squelette
balise_INSERT_HEAD_dist()  : Champ
Compile la balise `#INSERT_HEAD` permettant d'insérer du contenu dans le `<head>` d'une page HTML
balise_INSERT_HEAD_CSS_dist()  : Champ
Compile la balise `#INSERT_HEAD_CSS` homologue de `#INSERT_HEAD` pour les CSS
balise_INCLUDE_dist()  : Champ
Compile la balise `#INCLUDE` alias de `#INCLURE`
balise_INCLURE_dist()  : Champ
Compile la balise `#INCLURE` qui inclut un résultat de squelette
balise_MODELE_dist()  : Champ
Compile la balise `#MODELE` qui inclut un résultat de squelette de modèle
balise_SET_dist()  : Champ
Compile la balise `#SET` qui affecte une variable locale au squelette
balise_GET_dist()  : Champ
Compile la balise `#GET` qui récupère une variable locale au squelette
balise_DOUBLONS_dist()  : Champ
Compile la balise `#DOUBLONS` qui redonne les doublons enregistrés
balise_PIPELINE_dist()  : Champ
Compile la balise `#PIPELINE` pour permettre d'insérer des sorties de pipeline dans un squelette
balise_EDIT_dist()  : Champ
Compile la balise `#EDIT` qui ne fait rien dans SPIP
balise_TOTAL_UNIQUE_dist()  : Champ
Compile la balise `#TOTAL_UNIQUE` qui récupère le nombre d'éléments différents affichés par le filtre `unique`
balise_ARRAY_dist()  : Champ
Compile la balise `#ARRAY` créant un tableau PHP associatif
balise_LISTE_dist()  : Champ
Compile la balise `#LISTE` qui crée un tableau PHP avec les valeurs, sans préciser les clés
balise_AUTORISER_dist()  : Champ
Compile la balise `#AUTORISER` qui teste une autorisation
balise_PLUGIN_dist()  : Champ
Compile la balise `#PLUGIN` qui permet d’afficher les informations d'un plugin actif
balise_AIDER_dist()  : Champ
Compile la balise `#AIDER` qui permet d’afficher l’icone de l’aide au sein des squelettes.
balise_ACTION_FORMULAIRE()  : Champ
Compile la balise `#ACTION_FORMULAIRE` qui insère le contexte des formulaires charger / vérifier / traiter avec les hidden de l'URL d'action
balise_BOUTON_ACTION_dist()  : Champ
Compile la balise `#BOUTON_ACTION` qui génère un bouton d'action en post, ajaxable
balise_SLOGAN_SITE_SPIP_dist()  : Champ
Compile la balise `#SLOGAN_SITE_SPIP` qui retourne le slogan du site
balise_HTML5_dist()  : Champ
Compile la balise `#HTML5` indiquant si l'espace public peut utiliser du HTML5
balise_TRI_dist()  : Champ
Compile la balise `#TRI` permettant d'afficher un lien de changement d'ordre de tri d'une colonne de la boucle
balise_SAUTER_dist()  : Champ
Compile la balise `#SAUTER{n}` qui permet de sauter en avant n resultats dans une boucle
balise_PUBLIE_dist()  : Champ
Compile la balise `#PUBLIE` qui indique si un objet est publié ou non
balise_PRODUIRE_dist()  : Champ
Compile la balise `#PRODUIRE` qui génère un fichier statique à partir d'un squelette SPIP
balise_LARGEUR_ECRAN_dist()  : Champ
Compile la balise `#LARGEUR_ECRAN` qui définit la largeur d'écran dans l'espace privé
balise_CONST_dist()  : Champ
Compile la balise `#CONST` qui retourne la valeur de la constante passée en argument
cache_key()  : string
Returns a key cache (id) for this data
ecrire_cache()  : bool
Écrire le cache dans un casier
lire_cache()  : null|mixed
lire le cache depuis un casier
cache_signature()  : string
Signature du cache
gzip_page()  : array<string|int, mixed>
Faut-il compresser ce cache ?
gunzip_page()  : void
Faut-il decompresser ce cache ?
cache_valide()  : int
Gestion des delais d'expiration du cache... $page passee par reference pour accelerer
creer_cache()  : void
Creer le fichier cache
public_cacher_dist()  : string|void
Interface du gestionnaire de cache
argumenter_inclure()  : mixed
calculer_inclure()  : string
Compile une inclusion <INCLURE> ou #INCLURE
instituer_boucle()  : mixed
Gérer les statuts declarés pour cette table
calculer_boucle()  : string
Produit le corps PHP d'une boucle Spip.
calculer_boucle_nonrec()  : string
Compilation d'une boucle (non recursive).
calculer_requete_sql()  : string
Calcule le code PHP d'une boucle contenant les informations qui produiront une requête SQL
memoriser_contexte_compil()  : string
Retourne une chaîne des informations du contexte de compilation
reconstruire_contexte_compil()  : Contexte
Reconstruit un contexte de compilation
calculer_dec()  : array<string|int, mixed>
Calcule le code d'affectation d'une valeur à une commande de boucle
calculer_dump_array()  : string
Calcule l'expression PHP décrivant un tableau complexe (ou une chaîne)
calculer_dump_join()  : mixed
calculer_from()  : string
Calcule l'expression PHP décrivant les informations FROM d'une boucle
calculer_from_type()  : string
Calcule l'expression PHP décrivant des informations de type de jointure pour un alias de table connu dans le FROM
calculer_order()  : mixed
calculer_liste()  : mixed
compile_cas()  : array<string|int, mixed>|false
compile_concatene_parties_codes()  : string
Concatene 2 parties de code, en simplifiant si l'une des 2 est vides
compile_retour()  : mixed|string
production d'une expression conditionnelle ((v=EXP) ? (p . v .s) : a) mais si EXP est de la forme (t ? 'C' : '') on produit (t ? (p . C . s) : a) de meme si EXP est de la forme (t ? '' : 'C')
compile_inclure_doublons()  : mixed
public_compiler_dist()  : mixed
compiler_squelette()  : mixed
requeteur_php_dist()  : mixed
Requeteur pour les boucles (php:nom_iterateur)
requeteur_data_dist()  : mixed
Requeteur pour les boucles (data:type de donnee) note: (DATA) tout court ne passe pas par ici.
public_composer_dist()  : mixed
squelette_traduit()  : mixed
squelette_obsolete()  : mixed
invalideur_session()  : mixed
analyse_resultat_skel()  : mixed
synthetiser_balise_dynamique()  : string
Synthétise une balise dynamique : crée l'appel à l'inclusion en transmettant les arguments calculés et le contexte de compilation.
argumenter_squelette()  : string
Crée le code PHP pour transmettre des arguments (généralement pour une inclusion)
executer_balise_dynamique_dans_un_modele()  : string
Fonction proxy pour retarder le calcul d'un formulaire si on est au depart dans un modele
executer_balise_dynamique()  : string
Calcule et retourne le code PHP retourné par l'exécution d'une balise dynamique.
chercher_balise_generique()  : array<string|int, mixed>|null
Pour une balise "NOM" donné, cherche s'il existe une balise générique qui peut la traiter
lang_select_public()  : null
Selectionner la langue de l'objet dans la boucle
nettoyer_env_doublons()  : mixed
match_self()  : string|bool
Cherche la présence d'un opérateur SELF ou SUBSELECT
remplace_sous_requete()  : array<string|int, mixed>|string
Remplace une condition décrivant une sous requête par son code
trouver_sous_requetes()  : array<string|int, mixed>
Sépare les conditions de boucles simples de celles possédant des sous-requêtes.
calculer_select()  : mixed
preparer_calculer_select()  : array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}
Calcule une requête et l’exécute
executer_calculer_select()  : mixed
compter_calculer_select()  : int
calculer_where_to_string()  : string
Analogue a calculer_mysql_expression et autre (a unifier ?)
calculer_jointnul()  : mixed
reinjecte_joint()  : mixed
remplacer_jointnul()  : mixed
calculer_nom_fonction_squel()  : mixed
critere_racine_dist()  : void
Compile le critère {racine}
critere_exclus_dist()  : void|array<string|int, mixed>
Compile le critère {exclus}
critere_doublons_dist()  : void|array<string|int, mixed>
Compile le critère {doublons} ou {unique}
critere_lang_select_dist()  : void
Compile le critère {lang_select}
critere_debut_dist()  : void
Compile le critère {debut_xxx}
critere_pagination_dist()  : void
Compile le critère `pagination` qui demande à paginer une boucle.
critere_recherche_dist()  : void
Compile le critère `recherche` qui permet de sélectionner des résultats d'une recherche.
critere_traduction_dist()  : void
Compile le critère `traduction`
critere_origine_traduction_dist()  : void
Compile le critère {origine_traduction}
critere_meme_parent_dist()  : void|array<string|int, mixed>
Compile le critère {meme_parent}
critere_branche_dist()  : void
Compile le critère `branche` qui sélectionne dans une boucle les éléments appartenant à une branche d'une rubrique.
critere_logo_dist()  : void
Compile le critère `logo` qui liste les objets qui ont un logo
critere_groupby_dist()  : void|array<string|int, mixed>
Compile le critère `groupby` qui regroupe les éléments selon une colonne.
critere_groupby_supprimer_dist()  : void
Compile le critère `groupby_supprimer` qui supprime toutes les fusions qui le précèdent
critere_fusion_dist()  : void|array<string|int, mixed>
Compile le critère `fusion` qui regroupe les éléments selon une colonne.
critere_fusion_supprimer_dist()  : void
Compile le critère `fusion_supprimer` qui supprime toutes les fusions qui le précèdent
critere_collate_dist()  : void|array<string|int, mixed>
Compile le critère `{collate}` qui permet de spécifier l'interclassement à utiliser pour les tris de la boucle.
critere_collecte_dist()  : void|array<string|int, mixed>
Compile le critère `{collecte}` qui permet de spécifier l'interclassement à utiliser pour les tris de la boucle.
calculer_critere_arg_dynamique()  : mixed
critere_par_dist()  : mixed
Compile le critère `{par}` qui permet d'ordonner les résultats d'une boucle
critere_parinverse()  : mixed
Calculs pour le critère `{par}` ou `{inverse}` pour ordonner les résultats d'une boucle
calculer_critere_par_hasard()  : string
Calculs pour le critère `{par hasard}`
calculer_critere_par_expression_num()  : string|array<string|int, mixed>
Calculs pour le critère `{par num champ}` qui extrait le numéro préfixant un texte
calculer_critere_par_expression_sinum()  : string|array<string|int, mixed>
Calculs pour le critère `{par sinum champ}` qui ordonne les champs avec numéros en premier
calculer_critere_par_expression_multi()  : string|array<string|int, mixed>
Calculs pour le critère `{par multi champ}` qui extrait la langue en cours dans les textes ayant des balises `<multi>` (polyglottes)
calculer_critere_par_champ()  : array<string|int, mixed>|string
Retourne le champ de tri demandé en ajoutant éventuellement les jointures nécessaires à la boucle.
critere_inverse_dist()  : mixed
Compile le critère `{inverse}` qui inverse l'ordre utilisé par le précédent critère `{par}`
critere_par_ordre_liste_dist()  : void|array<string|int, mixed>
{par_ordre_liste champ,#LISTE{...}} pour trier selon une liste en retournant en premier les éléments de la liste
critere_agenda_dist()  : mixed
calculer_critere_parties()  : void
Compile les critères {i,j} et {i/j}
calculer_parties()  : void
Compile certains critères {i,j} et {i/j}
calculer_critere_parties_aux()  : array<string|int, mixed>
Analyse un des éléments des critères {a,b} ou {a/b}
calculer_criteres()  : string|array<string|int, mixed>
Compile les critères d'une boucle
kwote()  : string
Désemberlificote les guillements et échappe (ou fera échapper) le contenu... Madeleine de Proust, revision MIT-1958 sqq, revision CERN-1989 hum, c'est kwoi cette fonxion ? on va dire qu'elle desemberlificote les guillemets.
critere_IN_dist()  : void|array<string|int, mixed>
Compile un critère possédant l'opérateur IN : {xx IN yy}
critere_IN_cas()  : mixed
critere_where_dist()  : void
Compile le critère {where}
critere_having_dist()  : void
Compile le critère {having}
critere_id__dist()  : void
Compile le critère `{id_?}`
lister_champs_id_conditionnel()  : array<string|int, mixed>
Liste les champs qui peuvent servir de selection conditionnelle à une table SQL
critere_tri_dist()  : void
Compile le critère `{tri}` permettant le tri dynamique d'un champ
calculer_critere_DEFAUT_dist()  : void|array<string|int, mixed>
Compile un critère non déclaré explicitement
calculer_critere_DEFAUT_args()  : void
Compile un critère non déclaré explicitement, dont on reçoit une analyse
calculer_critere_infixe()  : array<string|int, mixed>|string
Décrit un critère non déclaré explicitement
calculer_critere_infixe_externe()  : array<string|int, mixed>|string
Décrit un critère non déclaré explicitement, sur un champ externe à la table
primary_doublee()  : array<string|int, string>
Calcule une condition WHERE entre un nom du champ et une valeur
calculer_critere_externe_init()  : string
Champ hors table, ça ne peut être qu'une jointure.
calculer_lien_externe_init()  : string
Générer directement une jointure via une table de lien spip_xxx_liens pour un critère {id_xxx}
trouver_champ()  : bool
Recherche la présence d'un champ dans une valeur de tableau
calculer_critere_infixe_ops()  : array<string|int, mixed>
Détermine l'operateur et les opérandes d'un critère non déclaré
calculer_vieux_in()  : mixed
calculer_critere_infixe_date()  : string|array<string|int, mixed>
Calcule les cas particuliers de critères de date
calculer_param_date()  : string
Calcule l'expression SQL permettant de trouver un nombre de jours écoulés.
critere_DATA_source_dist()  : mixed
Compile le critère {source} d'une boucle DATA
critere_DATA_datacache_dist()  : mixed
Compile le critère {datacache} d'une boucle DATA
critere_php_args_dist()  : mixed
Compile le critère {args} d'une boucle PHP
critere_DATA_liste_dist()  : mixed
Compile le critère {liste} d'une boucle DATA
critere_DATA_enum_dist()  : mixed
Compile le critère {enum} d'une boucle DATA
critere_DATA_datapath_dist()  : mixed
Compile le critère {datapath} d'une boucle DATA
critere_si_dist()  : mixed
Compile le critère {si}
critere_noeud_dist()  : mixed
Compile le critère {noeud}
critere_feuille_dist()  : mixed
Compile le critère {feuille}
public_debusquer_dist()  : null|string|array<string|int, mixed>|true|void
Point d'entrée pour les erreurs de compilation
debusquer_compose_message()  : mixed
debusquer_bandeau()  : mixed
debusquer_contexte()  : string
Affiche proprement dans un tableau le contexte d'environnement
debusquer_loger_erreur()  : mixed
debusquer_navigation()  : mixed
debusquer_requete()  : string|array<string|int, mixed>
Retourne le texte d'un message d'erreur de requête
trouve_boucle_debug()  : mixed
trouve_squelette_inclus()  : mixed
reference_boucle_debug()  : mixed
ancre_texte()  : mixed
debusquer_squelette()  : mixed
emboite_texte()  : mixed
count_occ()  : mixed
debusquer_format_millisecondes()  : mixed
debusquer_navigation_squelettes()  : mixed
debusquer_navigation_boucles()  : mixed
debusquer_source()  : mixed
debusquer_entete()  : mixed
decompiler_boucle()  : mixed
decompiler_include()  : mixed
decompiler_texte()  : mixed
decompiler_polyglotte()  : mixed
decompiler_idiome()  : mixed
decompiler_champ()  : mixed
decompiler_liste()  : mixed
decompiler_criteres()  : mixed
decompiler_()  : mixed
public_decompiler()  : mixed
format_boucle_html()  : mixed
format_inclure_html()  : mixed
format_polyglotte_html()  : mixed
format_idiome_html()  : mixed
format_champ_html()  : mixed
format_critere_html()  : mixed
format_liste_html()  : mixed
format_suite_html()  : mixed
format_texte_html()  : mixed
decompose_champ_id_objet()  : array<string|int, mixed>|string
Décomposer un champ id_truc en (id_objet,objet,truc)
trouver_champs_decomposes()  : array<string|int, mixed>
Mapping d'un champ d'une jointure en deux champs id_objet,objet si nécessaire
calculer_jointure()  : string
Calculer et construite une jointure entre $depart et $arrivee
fabrique_jointures()  : string
Fabriquer une jointure à l'aide d'une liste descriptive d'étapes
nogroupby_if()  : bool
Condition suffisante pour qu'un Group-By ne soit pas nécéssaire
liste_champs_jointures()  : array<string|int, mixed>
Lister les champs candidats a une jointure, sur une table si un join est fourni dans la description, c'est lui qui l'emporte sauf si cle primaire explicitement demandee par $primary
split_key()  : array<string|int, mixed>
Eclater une cle composee en plusieurs champs
calculer_chaine_jointures()  : array<string|int, mixed>
Constuire la chaine de jointures, de proche en proche
trouver_cles_table()  : array<string|int, mixed>
applatit les cles multiples redondance avec split_key() ? a mutualiser
chercher_champ_dans_tables()  : array<string|int, mixed>|false
Indique si une colonne (ou plusieurs colonnes) est présente dans l'une des tables indiquée.
trouver_champ_exterieur()  : array<string|int, mixed>|string
Cherche une colonne (ou plusieurs colonnes) dans les tables de jointures possibles indiquées.
trouver_jointure_champ()  : string
Cherche a ajouter la possibilite d'interroger un champ sql dans une boucle.
phraser_vieux_modele()  : mixed
phraser_vieux_inclu()  : mixed
normaliser_args_inclumodel()  : void
Accepte la syntaxe historique {arg1=val1}{arg2=val2}... dans les INCLURE au lieu de {arg1=val1,arg2=val2,...}
normaliser_inclure()  : void
Trim les arguments de <INCLURE> et repère l'argument spécial fond=
public_parametrer_dist()  : mixed
presenter_contexte()  : string
Retourne une présentation succincte du contexte pour les logs
tester_redirection()  : array<string|int, mixed>|bool
Si le champ virtuel est non vide c'est une redirection.
public_tester_redirection_dist()  : array<string|int, mixed>|bool
Si le champ virtuel est non vide c'est une redirection.
phraser_inclure()  : array<string|int, mixed>
Parser les <INCLURE> dans le texte
phraser_polyglotte()  : array<string|int, mixed>
Phraser les <multi>...</multi> on passe en dernier de toutes les analyses : a ce stade il ne reste que des morceaux de texte entre balises/boucles, donc une <multi> ne peut pas contenir de balises
phraser_idiomes()  : array<string|int, mixed>
Repérer les balises de traduction (idiomes)
phraser_champs()  : array<string|int, mixed>
Repère et phrase les balises SPIP tel que `#NOM` dans un texte
phraser_champs_etendus()  : array<string|int, mixed>
Phraser les champs etendus
phraser_args()  : array<string|int, mixed>
Analyse les filtres d'un champ etendu et affecte le resultat renvoie la liste des lexemes d'origine augmentee de ceux trouves dans les arguments des filtres (rare) sert aussi aux arguments des includes et aux criteres de boucles Tres chevelu
phraser_arg()  : mixed
phraser_champs_exterieurs()  : array<string|int, mixed>
Reconstruire un tableau de resultat ordonné selon l'ordre d'apparition dans le texte issu de phraser_champs_interieurs() et phraser les inclure sur les morceaux intermédiaires
phraser_champs_interieurs()  : array<string|int, mixed>
Parser un texte pour trouver toutes les balises complètes `[...(#TRUC)...]` en gérant les imbrications possibles
phraser_vieux()  : void
Gerer les derogations de syntaxe historiques Ne concerne plus que #MODELE et <INCLURE> / #INCLURE
phraser_criteres()  : void
Analyse les critères de boucle
phraser_critere_infixe()  : mixed
public_compte_ligne()  : int
Compter le nombre de lignes dans une partie texte
public_trouver_premiere_boucle()  : array<string|int, mixed>|null
Trouver la boucle qui commence en premier dans un texte On repere les boucles via <BOUCLE_xxx( et ensuite on regarde son vrai debut soit <B_xxx> soit <BB_xxx>
public_trouver_fin_boucle()  : array<string|int, mixed>
Trouver la fin de la boucle (balises </B <//B </BB) en faisant attention aux boucles anonymes qui ne peuvent etre imbriquees
phraser_boucle_placeholder()  : mixed
public_generer_boucle_placeholder()  : string
Generer une balise placeholder qui prend la place de la boucle pour continuer le parsing des balises
public_phraser_html_dist()  : array<string|int, mixed>
Analyseur syntaxique des squelettes HTML SPIP On commence par analyser les boucles, les mémoriser, et les remplacer dans le texte par des placeholder qui ne genent pas la suite de l'analyse des balises et autres
index_boucle()  : string
Retrouver l'index de la boucle d'une balise
index_boucle_mere()  : string
Retrouve la boucle mère d’une balise, sauf si son nom est explicité
index_pile()  : string
Retourne la position dans la pile d'un champ SQL
index_compose()  : string
Reconstuire la cascade de condition de recherche d'un champ
index_tables_en_pile()  : array<string|int, mixed>
Cherche un champ dans une boucle
index_exception()  : array<string|int, mixed>
Retrouve un alias d'un champ dans une boucle
champ_sql()  : string
Demande le champ '$champ' dans la pile
calculer_champ()  : string
Calcule et retourne le code PHP d'exécution d'une balise SPIP et des ses filtres
calculer_balise()  : Champ
Calcule et retourne le code PHP d'exécution d'une balise SPIP
calculer_balise_DEFAUT_dist()  : string
Calcule et retourne le code PHP d'exécution d'une balise SPIP non déclarée
calculer_balise_dynamique()  : Champ
Calcule le code PHP d'exécution d'une balise SPIP dynamique
collecter_balise_dynamique()  : array<string|int, mixed>
Construction du tableau des arguments d'une balise dynamique.
trouver_nom_serveur_distant()  : string
Récuperer le nom du serveur
balise_distante_interdite()  : bool
Teste si une balise est appliquée sur une base distante
champs_traitements()  : mixed
applique_filtres()  : mixed
compose_filtres()  : mixed
filtre_logique()  : mixed
compose_filtres_args()  : mixed
calculer_argument_precedent()  : mixed
Réserve les champs necessaires à la comparaison avec le contexte donné par la boucle parente.
rindex_pile()  : mixed
zbug_presenter_champ()  : string
Retourne le nom de la balise indiquée pour les messages d’erreurs
trace_query_start()  : mixed
trace_query_end()  : mixed
trace_query_chrono()  : mixed
chrono_requete()  : mixed
req_sqlite3_dist()  : mixed
spip_sqlite3_constantes()  : mixed
spip_versions_sqlite3()  : mixed
_sqlite_init_functions()  : false|void
Déclarer à SQLite des fonctions spécifiques utilisables dans les requêtes SQL
_sqlite_add_function()  : mixed
Déclare une fonction à SQLite
_sqlite_func_ceil()  : int
Mapping de `CEIL` pour SQLite
_sqlite_func_concat()  : string
Mapping de `CONCAT` pour SQLite
_sqlite_func_dayofmonth()  : string
Mapping de `DAYOFMONTH` pour SQLite
_sqlite_func_find_in_set()  : int
Mapping de `FIND_IN_SET` pour SQLite
_sqlite_func_floor()  : int
Mapping de `FLOOR` pour SQLite
_sqlite_func_if()  : mixed
Mapping de `IF` pour SQLite
_sqlite_func_insert()  : string
Mapping de `INSERT` pour SQLite
_sqlite_func_instr()  : int
Mapping de `INSTR` pour SQLite
_sqlite_func_least()  : int
Mapping de `LEAST` pour SQLite
_sqlite_func_greatest()  : int
Mapping de `GREATEST` pour SQLite
_sqlite_func_left()  : string
Mapping de `LEFT` pour SQLite
_sqlite_func_now()  : string
Mappnig de `NOW` pour SQLite
_sqlite_func_month()  : string
Mapping de `MONTH` pour SQLite
_sqlite_func_preg_replace()  : string
Mapping de `PREG_REPLACE` pour SQLite
_sqlite_func_extraire_multi()  : string
Mapping pour `EXTRAIRE_MULTI` de SPIP pour SQLite
_sqlite_func_rand()  : float
Mapping de `RAND` pour SQLite
_sqlite_func_right()  : string
Mapping de `RIGHT` pour SQLite
_sqlite_func_regexp_match()  : bool
Mapping de `REGEXP` pour SQLite
_sqlite_func_date_format()  : string
Mapping de `DATE_FORMAT` pour SQLite
_sqlite_func_strftime_format_converter()  : void
Convertit un format demandé pour DATE_FORMAT() de mysql en un format adapté à strftime() de php.
_sqlite_func_to_days()  : int
Mapping de `DAYS` pour SQLite
_sqlite_func_substring()  : string
Mapping de `SUBSTRING` pour SQLite
_sqlite_timestampdiff()  : int
Mapping de `TIMESTAMPDIFF` pour SQLite
_sqlite_func_unix_timestamp()  : int
Mapping de `UNIX_TIMESTAMP` pour SQLite
_sqlite_func_year()  : string
Mapping de `YEAR` pour SQLite
_sqlite_func_date()  : string
Version optimisée et memoizée de date() utilisé pour certains mapping SQLite
_sqlite_func_vide()  : void
Mapping de `VIDE()` de SPIP pour SQLite
req_sqlite_dist()  : array<string|int, mixed>|bool
Connecteur à une base SQLite
spip_sqlite_open()  : PDO
Ouvre une base SQLite avec PDO en spécifiant une classe spécifique pour les résultats
spip_sqlite_query()  : PDOStatement|bool|string|array<string|int, mixed>
Fonction de requete generale, munie d'une trace a la demande
spip_sqlite_alter()  : bool
Modifie une structure de table SQLite
spip_sqlite_create()  : array<string|int, mixed>|null|resource|string
Crée une table SQL
spip_sqlite_create_base()  : bool
Crée une base de données SQLite
spip_sqlite_create_view()  : bool|string
Crée une vue SQL nommée `$nom`
spip_sqlite_create_index()  : bool|string
Fonction de création d'un INDEX
spip_sqlite_count()  : int
Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
spip_sqlite_countsel()  : int|bool|string
Retourne le nombre de lignes d'une sélection
spip_sqlite_delete()  : bool|string
Supprime des enregistrements d'une table
spip_sqlite_drop_table()  : bool|string
Supprime une table SQL
spip_sqlite_drop_view()  : bool|string
Supprime une vue SQL
spip_sqlite_drop_index()  : bool
Fonction de suppression d'un INDEX
spip_sqlite_error()  : string
Retourne la dernière erreur generée
_sqlite_last_error_from_link()  : mixed
spip_sqlite_errno()  : int|string
Retourne le numero de la dernière erreur SQL
spip_sqlite_explain()  : array<string|int, mixed>|string|bool
Retourne une explication de requête (Explain) SQLite
spip_sqlite_fetch()  : array<string|int, mixed>|null|false
Rècupère une ligne de résultat
spip_sqlite_seek()  : bool
Place le pointeur de résultat sur la position indiquée
spip_sqlite_free()  : bool
Libère une ressource de résultat
spip_sqlite_get_charset()  : void
Teste si le charset indiqué est disponible sur le serveur SQL (aucune action ici)
spip_sqlite_hex()  : string
Prépare une chaîne hexadécimale
spip_sqlite_in()  : string
Retourne une expression IN pour le gestionnaire de base de données
spip_sqlite_insert()  : bool|string|int|array<string|int, mixed>
Insère une ligne dans une table
spip_sqlite_insertq()  : bool|string|int|array<string|int, mixed>
Insère une ligne dans une table, en protégeant chaque valeur
spip_sqlite_insertq_multi()  : bool|string
Insère plusieurs lignes d'un coup dans une table
spip_sqlite_preferer_transaction()  : bool
Retourne si le moteur SQL préfère utiliser des transactions.
spip_sqlite_demarrer_transaction()  : bool|string
Démarre une transaction
spip_sqlite_terminer_transaction()  : bool|string
Clôture une transaction
spip_sqlite_listdbs()  : array<string|int, mixed>
Liste les bases de données disponibles
spip_sqlite_multi()  : string
Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
spip_sqlite_optimize()  : bool|string
Optimise une table SQL
spip_sqlite_quote()  : string|number
Échapper une valeur selon son type mais pour SQLite avec ses spécificités
spip_sqlite_date_proche()  : string
Tester si une date est proche de la valeur d'un champ
spip_sqlite_repair()  : array<string|int, string>
Répare une table SQL
spip_sqlite_replace()  : bool|string
Insère où met à jour une entrée d’une table SQL
spip_sqlite_replace_multi()  : bool|string
Insère où met à jour des entrées d’une table SQL
spip_sqlite_select()  : array<string|int, mixed>|bool|resource|string
Exécute une requête de sélection avec SQLite
spip_sqlite_selectdb()  : bool|string
Sélectionne un fichier de base de données
spip_sqlite_set_charset()  : void
Définit un charset pour la connexion avec SQLite (aucune action ici)
spip_sqlite_showbase()  : PDOStatement|bool|string|array<string|int, mixed>
Retourne une ressource de la liste des tables de la base de données
spip_sqlite_table_exists()  : bool|string
Indique si une table existe dans la base de données
spip_sqlite_showtable()  : array<string|int, mixed>|string
Obtient la description d'une table ou vue SQLite
spip_sqlite_update()  : array<string|int, mixed>|bool|string
Met à jour des enregistrements d'une table SQL
spip_sqlite_updateq()  : array<string|int, mixed>|bool|string
Met à jour des enregistrements d'une table SQL et protège chaque valeur
_sqlite_init()  : void
Initialise la première connexion à un serveur SQLite
_sqlite_is_version()  : bool|int
Teste la version sqlite du link en cours
_sqlite_link()  : PDO|null
Retrouver un link d'une connexion SQLite
_sqlite_calculer_cite()  : string|number
Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
_sqlite_calculer_expression()  : string
Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
_sqlite_calculer_order()  : string
Prépare une clause order by
_sqlite_calculer_select_as()  : string
Renvoie des `nom AS alias`
_sqlite_calculer_where()  : string
Prépare une clause WHERE pour SQLite
_sqlite_charger_version()  : array<string|int, mixed>|bool
Charger les modules SQLite
_sqlite_modifier_table()  : bool
Gestion des requêtes ALTER non reconnues de SQLite
_sqlite_ref_fonctions()  : array<string|int, mixed>
Nom des fonctions
_sqlite_remplacements_definitions_table()  : mixed
Adapte les déclarations des champs pour SQLite
_sqlite_collate_ci()  : string
Definir la collation d'un champ en fonction de si une collation est deja explicite et du par defaut que l'on veut NOCASE
_sqlite_requete_create()  : bool|string
Creer la requete pour la creation d'une table retourne la requete pour utilisation par sql_create() et sql_alter()
_sqlite_ajouter_champs_timestamp()  : mixed
Retrouver les champs 'timestamp' pour les ajouter aux 'insert' ou 'replace' afin de simuler le fonctionnement de mysql
spip_versions_sqlite()  : array<string|int, mixed>|bool
Renvoyer la liste des versions sqlite disponibles sur le serveur
typographie_en_dist()  : mixed
typographie_fr_dist()  : mixed
urls_page_generer_url_objet_dist()  : string
Generer l'url d'un objet SPIP
urls_page_decoder_url_dist()  : array<string|int, mixed>
Decoder une url page retrouve le fond et les parametres d'une URL abregee le contexte deja existant est fourni dans args sous forme de tableau ou query string
charger_dtd()  : mixed
compilerRegle()  : mixed
analyser_dtd()  : mixed
analyser_dtd_comment()  : mixed
analyser_dtd_pi()  : mixed
analyser_dtd_lexeme()  : mixed
analyser_dtd_data()  : mixed
analyser_dtd_notation()  : mixed
analyser_dtd_entity()  : mixed
analyser_dtd_element()  : mixed
analyser_dtd_attlist()  : mixed
expanserEntite()  : string|array<string|int, mixed>
Remplace dans la chaîne `$val` les sous-chaines de forme `%NOM;` par leur definition dans le tableau `$macros`
xml_indenter_dist()  : mixed
xml_entites_html()  : string
Encoder les entites
xml_debutElement()  : mixed
xml_finElement()  : mixed
xml_textElement()  : mixed
xml_piElement()  : mixed
xml_defaultElement()  : mixed
xml_parsestring()  : mixed
coordonnees_erreur()  : mixed
xml_sax_dist()  : mixed
sax_bug()  : mixed
analyser_doctype()  : mixed
xml_valider_dist()  : mixed
Retourne une structure ValidateurXML, dont le champ "err" est un tableau ayant comme entrees des sous-tableaux [message, ligne, colonne]
deplacement_restreint()  : bool
Tester le deplacement restreint ou non de l'objet en fonction de son statut
formulaires_configurer_annonces_charger_dist()  : mixed
formulaires_configurer_annonces_verifier_dist()  : mixed
formulaires_configurer_annonces_traiter_dist()  : mixed
formulaires_configurer_articles_charger_dist()  : mixed
formulaires_configurer_articles_traiter_dist()  : mixed
formulaires_configurer_avertisseur_charger_dist()  : mixed
formulaires_configurer_avertisseur_traiter_dist()  : mixed
formulaires_configurer_ecran_connexion_data()  : array<string|int, mixed>
formulaires_configurer_ecran_connexion_charger_dist()  : mixed
formulaires_configurer_ecran_connexion_verifier_dist()  : mixed
formulaires_configurer_ecran_connexion_traiter_dist()  : mixed
formulaires_configurer_flux_charger_dist()  : mixed
formulaires_configurer_flux_traiter_dist()  : mixed
formulaires_configurer_identite_charger_dist()  : mixed
formulaires_configurer_identite_verifier_dist()  : mixed
formulaires_configurer_identite_traiter_dist()  : mixed
formulaires_configurer_langage_charger_dist()  : mixed
formulaires_configurer_langage_traiter_dist()  : mixed
afficher_langues_choix()  : mixed
formulaires_configurer_langue_charger_dist()  : mixed
formulaires_configurer_langue_traiter_dist()  : mixed
formulaires_configurer_logos_charger_dist()  : mixed
formulaires_configurer_logos_traiter_dist()  : mixed
formulaires_configurer_multilinguisme_charger_dist()  : mixed
formulaires_configurer_multilinguisme_traiter_dist()  : mixed
table_supporte_lang()  : string
Tester si une table supporte les langues (champ lang)
table_supporte_trad()  : string
Tester si une table supporte les traductions (champ id_trad)
saisie_langues_utiles()  : mixed
formulaires_configurer_previsualiseur_charger_dist()  : mixed
formulaires_configurer_previsualiseur_traiter_dist()  : mixed
formulaires_configurer_redacteurs_charger_dist()  : mixed
formulaires_configurer_redacteurs_traiter_dist()  : mixed
formulaires_configurer_relayeur_charger_dist()  : mixed
formulaires_configurer_relayeur_verifier_dist()  : mixed
formulaires_configurer_relayeur_traiter_dist()  : mixed
relayeur_saisie_ou_config()  : mixed
glue_url()  : mixed
no_password_proxy_url()  : mixed
formulaires_configurer_rubriques_charger_dist()  : mixed
formulaires_configurer_rubriques_traiter_dist()  : mixed
formulaires_configurer_transcodeur_charger_dist()  : mixed
formulaires_configurer_transcodeur_verifier_dist()  : mixed
formulaires_configurer_transcodeur_traiter_dist()  : mixed
formulaires_configurer_visiteurs_charger_dist()  : mixed
formulaires_configurer_visiteurs_traiter_dist()  : mixed
formulaires_declarer_bases_charger_dist()  : mixed
liste_serveurs()  : mixed
liste_bases()  : mixed
formulaires_declarer_bases_verifier_1_dist()  : mixed
formulaires_declarer_bases_verifier_2_dist()  : mixed
formulaires_declarer_bases_verifier_3_dist()  : mixed
formulaires_declarer_bases_traiter_dist()  : mixed
formulaires_inscription_charger_dist()  : array<string|int, mixed>|false
#FORMULAIRE_INSCRIPTION #FORMULAIRE_INSCRIPTION{6forum} #FORMULAIRE_INSCRIPTION{1comite,#ARRAY{id,#ENV{id_rubrique}}}
formulaires_inscription_verifier_dist()  : array<string|int, mixed>
Si inscriptions pas autorisees, retourner une chaine d'avertissement
formulaires_inscription_traiter_dist()  : array<string|int, mixed>
Si inscriptions pas autorisees, retourner une chaine d'avertissement
retrouve_auteur()  : mixed
formulaires_mot_de_passe_charger_dist()  : array<string|int, mixed>
Chargement de l'auteur qui peut changer son mot de passe.
formulaires_mot_de_passe_verifier_dist()  : mixed
Verification de la saisie du mot de passe.
formulaires_mot_de_passe_traiter_dist()  : mixed
Modification du mot de passe d'un auteur.
formulaires_oubli_charger_dist()  : mixed
message_oubli()  : mixed
formulaires_oubli_traiter_dist()  : mixed
test_oubli_dist()  : mixed
formulaires_oubli_verifier_dist()  : mixed
formulaires_oubli_mail()  : mixed
formulaires_rediriger_article_charger_dist()  : mixed
formulaires_rediriger_article_verifier_dist()  : mixed
formulaires_rediriger_article_traiter_dist()  : mixed
informer_auteur()  : string
Retrouve pour le formulaire de login les informations d'un login qui permettront de crypter le mot de passe saisi
defaut_tri_defined()  : mixed
defaut_tri_par()  : mixed
lister_traductions()  : mixed
job_queue_block_and_watch()  : mixed
job_queue_display_call()  : string
Prévisu d'un appel à une fonction avec ses arguments
inclure_liste_recherche_par_id()  : mixed
spip_generer_variables_css_typo()  : Collection
Génère les variables CSS relatif à la typo et langue pour l'espace privé
spip_generer_variables_css_couleurs_theme()  : Collection
Génère les variables CSS d'un thème de couleur pour l'espace privé
spip_generer_variables_css_couleurs()  : Collection
Génère les variables CSS de couleurs, dont celles dépendantes des couleurs du thème actif.
trier_rss()  : mixed

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

_CODE_QUOTE

Une Regexp repérant une chaine produite par le compilateur, souvent utilisée pour faire de la concaténation lors de la compilation plutôt qu'à l'exécution, i.e. pour remplacer 'x'.'y' par 'xy'

public mixed _CODE_QUOTE = ",^(\n//[^\n]*\n)? *'(.*)' *\$,"

_CONTEXTE_IGNORE_LISTE_VARIABLES

public array<string|int, string> _CONTEXTE_IGNORE_LISTE_VARIABLES = ['^var_', '^PHPSESSID$', '^fbclid$', '^utm_']

Liste (regexp) de noms de variables à ignorer d’une URI

_DATA_SOURCE_MAX_SIZE

public mixed _DATA_SOURCE_MAX_SIZE = 2 * 1048576

_debut_urls_page

public mixed _debut_urls_page = \get_spip_script('./') . '?'

_DEFAULT_CHARSET

Le charset par défaut lors de l'installation

public mixed _DEFAULT_CHARSET = 'utf-8'

_DELAI_RECUPERER_URL_CACHE

public mixed _DELAI_RECUPERER_URL_CACHE = 3600

_DIR_IMG_PACK

le chemin http (relatif) vers les images standard

public mixed _DIR_IMG_PACK = \_DIR_RACINE . 'prive/' . \_NOM_IMG_PACK

_DIR_JAVASCRIPT

le nom du repertoire des bibliotheques JavaScript du prive

public mixed _DIR_JAVASCRIPT = \_DIR_RACINE . 'prive/' . \_JAVASCRIPT

_DIR_RACINE

Chemin relatif pour aller à la racine

public mixed _DIR_RACINE = \_DIR_RESTREINT ? '' : '../'

_DIR_RESTREINT

Chemin relatif pour aller dans ecrire vide si on est dans ecrire, 'ecrire/' sinon

public mixed _DIR_RESTREINT = \is_dir(\_DIR_RESTREINT_ABS) ? \_DIR_RESTREINT_ABS : ''

_DIR_RESTREINT_ABS

le nom du repertoire ecrire/

public mixed _DIR_RESTREINT_ABS = 'ecrire/'

_DIR_RESTREINT_ABS

public mixed _DIR_RESTREINT_ABS = 'ecrire/'

_DIRECT_CRON_FORCE

public mixed _DIRECT_CRON_FORCE = true

_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"

_DOCTYPE_RSS

public mixed _DOCTYPE_RSS = 'http://www.rssboard.org/rss-0.91.dtd'

_DUREE_CACHE_DEFAUT

public mixed _DUREE_CACHE_DEFAUT = 24 * 3600

_ECRIRE_INC_VERSION

Indique que SPIP est chargé

public mixed _ECRIRE_INC_VERSION = '1'

Cela permet des tests de sécurités pour les fichiers PHP de SPIP et des plugins qui peuvent vérifier que SPIP est chargé et donc que les fichiers ne sont pas appelés en dehors de l'usage de SPIP

_EXTRAIRE_LIEN

public mixed _EXTRAIRE_LIEN = ',^\\s*(?:' . \_PROTOCOLES_STD . '):?/?/?\\s*$,iS'

_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

_HEADER_COMPOSED_BY

public mixed _HEADER_COMPOSED_BY = 'Composed-By: SPIP'

_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

_INC_DISTANT_CONNECT_TIMEOUT

public mixed _INC_DISTANT_CONNECT_TIMEOUT = 10

_INC_DISTANT_CONTENT_ENCODING

public mixed _INC_DISTANT_CONTENT_ENCODING = 'gzip'

_INC_DISTANT_MAX_SIZE

public mixed _INC_DISTANT_MAX_SIZE = 2097152

_INC_DISTANT_USER_AGENT

public mixed _INC_DISTANT_USER_AGENT = 'SPIP-' . $GLOBALS['spip_version_affichee'] . ' (' . $GLOBALS['home_server'] . ')'

_INC_DISTANT_VERSION_HTTP

public mixed _INC_DISTANT_VERSION_HTTP = 'HTTP/1.0'

_IS_BOT

public mixed _IS_BOT = isset($_SERVER['HTTP_USER_AGENT']) && \preg_match( // mots generiques ',bot|slurp|crawler|spider|webvac|yandex|' . 'MSIE 6\\.0|' . '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|facebook|flipboard|hootsuite|FunWebProducts|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|MetaURI|Moreover|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti' . ',i', (string) $_SERVER['HTTP_USER_AGENT'] )

_IS_CLI

public mixed _IS_CLI = !isset($_SERVER['HTTP_HOST']) && !\strlen((string) $_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['argv']) && empty($_SERVER['REQUEST_METHOD'])

_JAVASCRIPT

Nom du repertoire des bibliotheques JavaScript

public mixed _JAVASCRIPT = 'javascript/'

_JQ_NEXT_JOB_TIME_FILENAME

public mixed _JQ_NEXT_JOB_TIME_FILENAME = _DIR_TMP . 'job_queue_next.txt'

_LOG_ALERTE_ROUGE

public mixed _LOG_ALERTE_ROUGE = 1
Tags
deprecated
5.0

Utiliser spip_logger()->alert()

_LOG_AVERTISSEMENT

public mixed _LOG_AVERTISSEMENT = 4
Tags
deprecated
5.0

Utiliser spip_logger()->warning()

_LOG_CRITIQUE

public mixed _LOG_CRITIQUE = 2
Tags
deprecated
5.0

Utiliser spip_logger()->critical()

_LOG_DEBUG

public mixed _LOG_DEBUG = 7
Tags
deprecated
5.0

Utiliser spip_logger()->debug()

_LOG_ERREUR

public mixed _LOG_ERREUR = 3
Tags
deprecated
5.0

Utiliser spip_logger()->error()

_LOG_FILTRE_GRAVITE

Niveau maxi d'enregistrement des logs

public LogLevel::* _LOG_FILTRE_GRAVITE = \Psr\Log\LogLevel::NOTICE

_LOG_HS

public mixed _LOG_HS = 0
Tags
deprecated
5.0

Utiliser spip_logger()->emergency()

_LOG_INFO

public mixed _LOG_INFO = 6
Tags
deprecated
5.0

Utiliser spip_logger()->info()

_LOG_INFO_IMPORTANTE

public mixed _LOG_INFO_IMPORTANTE = 5
Tags
deprecated
5.0

Utiliser spip_logger()->notice()

_MESSAGE_DOCTYPE

public mixed _MESSAGE_DOCTYPE = '<!-- SPIP CORRIGE -->'

_NOM_IMG_PACK

Nom du dossier images

public mixed _NOM_IMG_PACK = 'images/'

_NOM_PERMANENTS_ACCESSIBLES

Nom du repertoire des fichiers Permanents Accessibles par http://

public mixed _NOM_PERMANENTS_ACCESSIBLES = 'IMG/'

_NOM_PERMANENTS_INACCESSIBLES

Nom du repertoire des fichiers Permanents Inaccessibles par http://

public mixed _NOM_PERMANENTS_INACCESSIBLES = 'config/'

_NOM_TEMPORAIRES_ACCESSIBLES

Nom du repertoire des fichiers Temporaires Accessibles par http://

public mixed _NOM_TEMPORAIRES_ACCESSIBLES = 'local/'

_NOM_TEMPORAIRES_INACCESSIBLES

Nom du repertoire des fichiers Temporaires Inaccessibles par http://

public mixed _NOM_TEMPORAIRES_INACCESSIBLES = 'tmp/'

_OUTILS_DEVELOPPEURS

Activer des outils pour développeurs ?

public mixed _OUTILS_DEVELOPPEURS = \false

_PHP_MIN

version PHP minimum exigee (cf. inc/utils)

public mixed _PHP_MIN = '8.2.0'

_PORT_HTTP_STANDARD

public mixed _PORT_HTTP_STANDARD = '80'

_PORT_HTTPS_STANDARD

public mixed _PORT_HTTPS_STANDARD = '443'

_RACCOURCI_CHAPO

public mixed _RACCOURCI_CHAPO = '/^(\\W*)(\\W*)(\\w*\\d+([?#].*)?)$/'

_RACCOURCI_URL

public mixed _RACCOURCI_URL = '/^\\s*(\\w*?)\\s*(\\d+)(\\?(.*?))?(#([^\\s]*))?\\s*$/S'

_REGEXP_CONCAT_NON_VIDE

public mixed _REGEXP_CONCAT_NON_VIDE = "/^(.*)[.]\\s*'[^']+'\\s*\$/"

_REGEXP_COND_NONVIDE_VIDE

public mixed _REGEXP_COND_NONVIDE_VIDE = "/^[(](.*)[?]\\s*('[^']+')\\s*:\\s*''\\s*[)]\$/"

_REGEXP_COND_VIDE_NONVIDE

public mixed _REGEXP_COND_VIDE_NONVIDE = "/^[(](.*)[?]\\s*''\\s*:\\s*('[^']+')\\s*[)]\$/"

_REGEXP_COPIE_LOCALE

public mixed _REGEXP_COPIE_LOCALE = ',' . \preg_replace('@^https?:@', 'https?:', $GLOBALS['meta']['adresse_site'] ?? '') . '/?spip.php[?]action=acceder_document.*file=(.*)$,'

_REGEXP_DOCTYPE

public mixed _REGEXP_DOCTYPE = '/^((?:<\\001?[?][^>]*>\\s*)*(?:<!--.*?-->\\s*)*)*<!DOCTYPE\\s+(\\w+)\\s+(\\w+)\\s*([^>]*)>\\s*/s'

_REGEXP_ENTITY_DECL

public mixed _REGEXP_ENTITY_DECL = '/^<!ENTITY\\s+(%?)\\s*(' . \_SUB_REGEXP_SYMBOL . '+;?)\\s+(' . \_REGEXP_TYPE_XML . ')?\\s*(' . "('([^']*)')" . '|("([^"]*)")' . '|\\s*(%' . \_SUB_REGEXP_SYMBOL . '+;)\\s*' . ')\\s*(--.*?--)?("([^"]*)")?\\s*>\\s*(.*)$/s'

_REGEXP_ENTITY_DEF

public mixed _REGEXP_ENTITY_DEF = '/^%(' . \_SUB_REGEXP_SYMBOL . '+);/'

_REGEXP_ENTITY_USE

public mixed _REGEXP_ENTITY_USE = '/%(' . \_SUB_REGEXP_SYMBOL . '+);/'

_REGEXP_ID

public mixed _REGEXP_ID = '/^[A-Za-z_:]' . \_SUB_REGEXP_SYMBOL . '*$/'

_REGEXP_INCLUDE_USE

public mixed _REGEXP_INCLUDE_USE = '/^<!\\[\\s*%\\s*([^;]*);\\s*\\[\\s*(.*)$/s'

_REGEXP_NMTOKEN

public mixed _REGEXP_NMTOKEN = '/^' . \_SUB_REGEXP_SYMBOL . '+$/'

_REGEXP_NMTOKENS

public mixed _REGEXP_NMTOKENS = '/^(' . \_SUB_REGEXP_SYMBOL . '+\\s*)*$/'

_REGEXP_TYPE_XML

public mixed _REGEXP_TYPE_XML = 'PUBLIC|SYSTEM|INCLUDE|IGNORE|CDATA'

_REGEXP_XML

public mixed _REGEXP_XML = '/^(\\s*(?:<[?][^x>][^>]*>\\s*)?(?:<[?]xml[^>]*>)?\\s*(?:<!--.*?-->\\s*)*)<(\\w+)/s'

_ROOT_CWD

chemin absolu vers le repertoire de travail

public mixed _ROOT_CWD = \getcwd() . \DIRECTORY_SEPARATOR

_ROOT_IMG_PACK

le chemin php (absolu) vers les images standard (pour hebergement centralise)

public mixed _ROOT_IMG_PACK = \dirname(__DIR__, 3) . \DIRECTORY_SEPARATOR . 'prive' . \DIRECTORY_SEPARATOR . \_NOM_IMG_PACK

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

_ROOT_RACINE

chemin absolu vers la racine

public mixed _ROOT_RACINE = \dirname(__DIR__, 3) . \DIRECTORY_SEPARATOR

_ROOT_RESTREINT

chemin absolu vers ecrire

public mixed _ROOT_RESTREINT = \_ROOT_CWD . \_DIR_RESTREINT

_separateur_urls_page

public mixed _separateur_urls_page = ''

_SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT

public mixed _SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT = 20

_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'

_SPIP_THEME_PRIVE

public mixed _SPIP_THEME_PRIVE = 'spip'

_SQLITE_RE_SHOW_TABLE

public mixed _SQLITE_RE_SHOW_TABLE = '/^[^(),]*\\(((?:[^()]*\\((?:[^()]*\\([^()]*\\))?[^()]*\\)[^()]*)*[^()]*)\\)[^()]*$/'

_terminaison_urls_page

public mixed _terminaison_urls_page = ''

_TYPO_BALISE

public mixed _TYPO_BALISE = ',</?[a-z!][^<>]*[' . \preg_quote(\_TYPO_PROTEGER) . '][^<>]*>,imsS'

_TYPO_PROTECTEUR

public mixed _TYPO_PROTECTEUR = "\x01\x02\x03\x04\x05\x06\x07\x08"

_TYPO_PROTEGER

public mixed _TYPO_PROTEGER = "!':;?~%-"

_VERSION_ARCHIVE

public mixed _VERSION_ARCHIVE = '1.3'

BALISE_ALT_BOUCLE

Fin de la partie alternative après d'une boucle

public mixed BALISE_ALT_BOUCLE = '<//B'

BALISE_BOUCLE

Début de la partie principale d'une boucle

public mixed BALISE_BOUCLE = '<BOUCLE'

BALISE_FIN_BOUCLE

Fin de la partie principale d'une boucle

public mixed BALISE_FIN_BOUCLE = '</BOUCLE'

BALISE_IDIOMES

public mixed BALISE_IDIOMES = ',<:(([a-z0-9_]+):)?([a-z0-9_]*)({([^\\|=>]*=[^\\|>]*)})?((\\|[^>]*)?:/?>),iS'

BALISE_IDIOMES_ARGS

public mixed BALISE_IDIOMES_ARGS = '@^\\s*([^= ]*)\\s*=\\s*((' . \NOM_DE_CHAMP . '[{][^}]*})?[^,]*)\\s*,?\\s*@s'

BALISE_INCLURE

public mixed BALISE_INCLURE = '/<INCLU[DR]E[[:space:]]*(\\(([^)]*)\\))?/S'

BALISE_POSTAFF_BOUCLE

Fin de la partie après non optionnelle d'une boucle (toujours affichee)

public mixed BALISE_POSTAFF_BOUCLE = '</BB'

BALISE_POSTCOND_BOUCLE

Fin de la partie optionnelle après d'une boucle

public mixed BALISE_POSTCOND_BOUCLE = '</B'

BALISE_PREAFF_BOUCLE

Début de la partie avant non optionnelle d'une boucle (toujours affichee)

public mixed BALISE_PREAFF_BOUCLE = '<BB'

BALISE_PRECOND_BOUCLE

Début de la partie optionnelle avant d'une boucle

public mixed BALISE_PRECOND_BOUCLE = '<B'

CHAMP_ETENDU

Balise complète [...(#TOTO) ... ]

public mixed CHAMP_ETENDU = '/\\[([^\\[]*?)\\(' . \NOM_DE_CHAMP . '([^)]*\\)[^]]*)\\]/S'

CHAMP_SQL_PLUS_FONC

Fonction SQL sur un champ ex: SUM(visites)

public mixed CHAMP_SQL_PLUS_FONC = '`?([A-Z_\\/][A-Z_\\/0-9.]*)' . \SQL_ARGS . '?`?'

CODE_COMMENTE

Indique s'il faut commenter le code produit

public mixed CODE_COMMENTE = \true

CODE_CORPS_BOUCLE

Compilation d'une boucle non recursive.

public mixed CODE_CORPS_BOUCLE = '%s if (defined("_BOUCLE_PROFILER")) $timer = time()+(float)microtime(); $t0 = ""; // REQUETE $iter = Spip\\Compilateur\\Iterateur\\Factory::create( "%s", %s, array(%s) ); if (!$iter->err()) { %s%s$SP++; // RESULTATS %s %s$iter->free(); }%s if (defined("_BOUCLE_PROFILER") AND 1000*($timer = (time()+(float)microtime())-$timer) > _BOUCLE_PROFILER) spip_logger("profiler")->warning(intval(1000*$timer)."ms %s"); return $t0;'

La constante donne le cadre systématique du code:

  • %s1: initialisation des arguments de calculer_select
  • %s2: appel de calculer_select en donnant un contexte pour les cas d'erreur
  • %s3: initialisation du sous-tableau Numrows[id_boucle]
  • %s4: sauvegarde de la langue et calcul des invariants de boucle sur elle
  • %s5: boucle while sql_fetch ou str_repeat si corps monotone
  • %s6: restauration de la langue
  • %s7: liberation de la ressource, en tenant compte du serveur SQL
  • %s8: code de trace eventuel avant le retour

CODE_EXECUTER_BALISE

Code PHP d'exécution d'une balise dynamique

public mixed CODE_EXECUTER_BALISE = "executer_balise_dynamique('%s',\n\tarray(%s%s),\n\tarray(%s%s))"

CODE_EXECUTER_BALISE_MODELE

public mixed CODE_EXECUTER_BALISE_MODELE = "executer_balise_dynamique_dans_un_modele('%s',\n\tarray(%s%s),\n\tarray(%s%s))"

CODE_INCLURE_BALISE

Code PHP pour inclure une balise dynamique à l'exécution d'une page

public mixed CODE_INCLURE_BALISE = '<' . '?php include_once("%s"); if ($lang_select = "%s") $lang_select = lang_select($lang_select); inserer_balise_dynamique(balise_%s_dyn(%s), array(%s)); if ($lang_select) lang_select(); ?' . '>'

CODE_MONOTONE

Repérer un code ne calculant rien, meme avec commentaire

public mixed CODE_MONOTONE = ",^(\n//[^\n]*\n)?\\(?'([^'])*'\\)?\$,"

CODE_PAGINATION

Code de compilation pour la balise `#PAGINATION`

public mixed CODE_PAGINATION = '%s($Numrows["%s"]["grand_total"], %s, isset($Pile[0][%4$s])?$Pile[0][%4$s]:intval(_request(%4$s)), %5$s, %6$s, %7$s, %8$s, array(%9$s))'

Le code produit est trompeur, car les modèles ne fournissent pas Pile[0]. On produit un appel à _request si on ne l'a pas, mais c'est inexact: l'absence peut-être due à une faute de frappe dans le contexte inclus.

CODE_RECUPERER_FOND

Code d'appel à un <INCLURE()>

public mixed CODE_RECUPERER_FOND = 'recuperer_fond(%s, %s, array(%s), %s)'

Code PHP pour un squelette (aussi pour #INCLURE, #MODELE #LES_AUTEURS)

MODULES_IDIOMES

Modules par défaut pour la traduction.

public mixed MODULES_IDIOMES = 'public|spip|ecrire'

Constante utilisée par le compilateur et le décompilateur sa valeur etant traitée par inc_traduire_dist

NOM_DE_BOUCLE

Expression pour trouver un identifiant de boucle

public mixed NOM_DE_BOUCLE = '[0-9]+|[-_][-_.a-zA-Z0-9]*'

NOM_DE_CHAMP

Nom d'une balise #TOTO

public mixed NOM_DE_CHAMP = '#((' . \NOM_DE_BOUCLE . "):)?(([A-F]*[G-Z_][A-Z_0-9]*)|[A-Z_]+)\\b(\\*{0,2})"

Écriture alambiquée pour rester compatible avec les hexadecimaux des vieux squelettes

SPEC_BOUCLE

Expression pour trouver le type de boucle (TABLE autre_table ?)

public mixed SPEC_BOUCLE = '/\\s*\\(\\s*([^\\s?)]+)(\\s*[^)?]*)([?]?)\\)/'

SPIP_ERREUR_REPORT

Masquer les warning

public mixed SPIP_ERREUR_REPORT = \E_ALL ^ \E_NOTICE ^ \E_DEPRECATED

SPIP_SQLITE3_ASSOC

public mixed SPIP_SQLITE3_ASSOC = PDO::FETCH_ASSOC

SPIP_SQLITE3_BOTH

public mixed SPIP_SQLITE3_BOTH = PDO::FETCH_BOTH

SPIP_SQLITE3_NUM

public mixed SPIP_SQLITE3_NUM = PDO::FETCH_NUM

SQL_ARGS

Champ sql dans parenthèse ex: (id_article)

public mixed SQL_ARGS = '(\\([^)]*\\))'

TYPE_RECURSIF

Indique un début de boucle récursive

public mixed TYPE_RECURSIF = 'boucle'

Functions

spip_sha256()

Main routine called from an application using this include.

spip_sha256(string $str) : string

General usage: require_once('sha256.inc.php'); $hashstr = spip_sha256('abc');

Parameters
$str : string

Chaîne dont on veut calculer le SHA

Tags
deprecated
5.0

Use hash('sha256', $str)

Return values
string

Le SHA de la chaîne

base_dump_meta_name()

Retourne un nom de meta pour une rubrique et l'auteur connecté.

base_dump_meta_name(int $rub) : string

Ce nom servira pour le stockage dans un fichier temporaire des informations sérialisées sur le statut de l'export.

Parameters
$rub : int
Return values
string

base_dump_dir()

Crée un répertoire recevant la sauvegarde de la base de données et retourne son chemin.

base_dump_dir(string $meta) : string
Parameters
$meta : string
Tags
note

Utilisé uniquement dans l'ancienne sauvegarde XML (plugin dump_xml) À supprimer ?

Return values
string

base_lister_toutes_tables()

Lister toutes les tables d'un serveur en excluant eventuellement une liste fournie

base_lister_toutes_tables([string $serveur = '' ][, array<string|int, mixed> $tables = [] ][, array<string|int, mixed> $exclude = [] ][, bool $affiche_vrai_prefixe = false ]) : array<string|int, mixed>
Parameters
$serveur : string = ''
$tables : array<string|int, mixed> = []
$exclude : array<string|int, mixed> = []
$affiche_vrai_prefixe : bool = false
Return values
array<string|int, mixed>

base_prefixe_tables()

Retrouver le prefixe des tables

base_prefixe_tables([string $serveur = '' ]) : string
Parameters
$serveur : string = ''
Return values
string

base_saisie_tables()

Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)

base_saisie_tables(string $name, array<string|int, mixed> $tables[, array<string|int, mixed> $exclude = [] ][, array<string|int, mixed>|null $post = null ][, string $serveur = '' ]) : array<string|int, mixed>
Parameters
$name : string
$tables : array<string|int, mixed>
$exclude : array<string|int, mixed> = []
$post : array<string|int, mixed>|null = null
$serveur : string = ''
Return values
array<string|int, mixed>

lister_tables_noexport()

Lister les tables non exportables par defaut (liste completable par le pipeline lister_tables_noexport

lister_tables_noexport() : array<string|int, mixed>
Tags
staticvar

array $EXPORT_tables_noexport

Return values
array<string|int, mixed>

lister_tables_noimport()

Lister les tables non importables par defaut (liste completable par le pipeline lister_tables_noimport

lister_tables_noimport() : array<string|int, mixed>
Tags
staticvar

array $IMPORT_tables_noimport

Return values
array<string|int, mixed>

lister_tables_noerase()

Lister les tables a ne pas effacer (liste completable par le pipeline lister_tables_noerase

lister_tables_noerase() : array<string|int, mixed>
Tags
staticvar

array $IMPORT_tables_noerase

Return values
array<string|int, mixed>

base_liste_table_for_dump()

construction de la liste des tables pour le dump : toutes les tables principales + toutes les tables auxiliaires hors relations + les tables relations dont les deux tables liees sont dans la liste

base_liste_table_for_dump([array<string|int, mixed> $exclude_tables = [] ]) : array<string|int, mixed>
Parameters
$exclude_tables : array<string|int, mixed> = []
Return values
array<string|int, mixed>

base_vider_tables_destination_copie()

Vider les tables de la base de destination pour la copie dans une base

base_vider_tables_destination_copie(array<string|int, mixed> $tables[, array<string|int, mixed> $exclure_tables = [] ][, string $serveur = '' ]) : mixed

peut etre utilise pour l'import depuis xml, ou la copie de base a base (mysql<->sqlite par exemple)

Parameters
$tables : array<string|int, mixed>
$exclure_tables : array<string|int, mixed> = []
$serveur : string = ''

base_conserver_copieur()

Conserver le copieur si besoin

base_conserver_copieur([bool $move = true ][, string $serveur = '' ]) : void
Parameters
$move : bool = true
$serveur : string = ''

base_detruire_copieur_si_besoin()

Effacement de la bidouille ci-dessus Toutefois si la table des auteurs ne contient plus qu'elle c'est que la copie etait incomplete et on restaure le compte pour garder la connection au site

base_detruire_copieur_si_besoin([string $serveur = '' ]) : mixed

(mais il doit pas etre bien beau et ca ne marche que si l'id_auteur est sur moins de 3 chiffres)

Parameters
$serveur : string = ''

base_preparer_table_dest()

Preparer la table dans la base de destination : la droper si elle existe (sauf si auteurs ou meta sur le serveur principal) la creer si necessaire, ou ajouter simplement les champs manquants

base_preparer_table_dest(string $table, array<string|int, mixed> $desc, string $serveur_dest[, bool $init = false ]) : array<string|int, mixed>
Parameters
$table : string
$desc : array<string|int, mixed>
$serveur_dest : string
$init : bool = false
Return values
array<string|int, mixed>

base_copier_tables()

Copier de base a base

base_copier_tables(string $status_file, array<string|int, mixed> $tables, string $serveur_source, string $serveur_dest[, array<string|int, mixed> $options = [] ]) : bool
Parameters
$status_file : string

nom avec chemin complet du fichier ou est stocke le status courant

$tables : array<string|int, mixed>

liste des tables a copier

$serveur_source : string
$serveur_dest : string
$options : array<string|int, mixed> = []

parametres optionnels sous forme de tableau : param string $callback_progression fonction a appeler pour afficher la progression, avec les arguments (compteur,total,table) param int $max_time limite de temps au dela de laquelle sortir de la fonction proprement (de la forme time()+15) param bool $drop_source vider les tables sources apres copie param array $no_erase_dest liste des tables a ne pas vider systematiquement (ne seront videes que si existent dans la base source) param array $where liste optionnelle de condition where de selection des donnees pour chaque table param string $racine_fonctions_dest racine utilisee pour charger_fonction() des operations elementaires sur la base de destination. Permet de deleguer vers une autre voie de communication. Par defaut on utilise 'base', ce qui route vers les fonctions de ce fichier. Concerne :

  • vider_tables_destination_copie
  • preparer_table_dest
  • detruire_copieur_si_besoin
  • inserer_copie param array $fonction_base_inserer fonction d'insertion en base. Par defaut "inserer_copie" qui fait un insertq a l'identique. Attention, la fonction appelee est prefixee par $racine_fonctions_dest via un charger_fonction() Peut etre personalisee pour filtrer, renumeroter.... param array $desc_tables_dest description des tables de destination a utiliser de preference a la description de la table source param int data_pool nombre de ko de donnees a envoyer d'un coup en insertion dans la table cible (par defaut 1) permet des envois groupes pour plus de rapidite, notamment si l'insertion est distante
Return values
bool

base_inserer_copie()

fonction d'insertion en base lors de la copie de base a base

base_inserer_copie(string $table, array<string|int, mixed> $rows, array<string|int, mixed> $desc_dest, string $serveur_dest) : int
Parameters
$table : string
$rows : array<string|int, mixed>
$desc_dest : array<string|int, mixed>
$serveur_dest : string
Return values
int

array_set_merge()

Merge dans un tableau une de ses clés avec une valeur

array_set_merge(array<string|int, mixed> &$table, string $index, array<string|int, mixed> $valeur) : void
Parameters
$table : array<string|int, mixed>

Tableau dont on veut compléter une clé

$index : string

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

$valeur : array<string|int, mixed>

Sous tableau à merger dans la clé.

lister_tables_objets_sql()

Lister les infos de toutes les tables sql declarées

lister_tables_objets_sql([string|null $table_sql = null ][, array<string|int, mixed> $desc = [] ]) : array<string|int, mixed>|string

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

Parameters
$table_sql : string|null = null

table_sql demandee explicitement

$desc : array<string|int, mixed> = []

description connue de la table sql demandee

Return values
array<string|int, mixed>|string
  • array : description de la table ou des tables
  • string (interne) si table '::md5' retourne un hash

base_serial()

Déclare les tables principales du Core

base_serial(array<string|int, mixed> &$tables_principales) : void

Tables principales, hors objets éditoriaux.

Parameters
$tables_principales : array<string|int, mixed>

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

base_auxiliaires()

Déclare les tables auxiliaires du Core

base_auxiliaires(array<string|int, mixed> &$tables_auxiliaires) : void
Parameters
$tables_auxiliaires : array<string|int, mixed>

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

renseigner_table_objet_sql()

Auto remplissage des informations non explicites sur un objet d'une table sql

renseigner_table_objet_sql(string $table_sql, array<string|int, mixed> &$infos) : array<string|int, mixed>
  • 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

Parameters
$table_sql : string
$infos : array<string|int, mixed>
Return values
array<string|int, mixed>

renseigner_table_objet_interfaces()

Renseigner les infos d'interface compilateur pour les tables objets complete la declaration precedente

renseigner_table_objet_interfaces(string $table_sql, array<string|int, mixed> &$infos) : array<string|int, mixed>

titre date statut tables_jointures

Parameters
$table_sql : string
$infos : array<string|int, mixed>
Return values
array<string|int, mixed>

lister_tables_principales()

Retourne la liste des tables principales et leurs descriptions

lister_tables_principales() : array<string|int, mixed>
Return values
array<string|int, mixed>

Liste et descriptions des tables principales

lister_tables_auxiliaires()

Retourne la liste des tables auxiliaires et leurs descriptions

lister_tables_auxiliaires() : array<string|int, mixed>
Return values
array<string|int, mixed>

Liste et descriptions des tables auxiliaires

lister_tables_objets_surnoms()

Recenser les surnoms de table_objet

lister_tables_objets_surnoms() : array<string|int, mixed>
Return values
array<string|int, mixed>

lister_types_surnoms()

Recenser les surnoms de table_objet

lister_types_surnoms() : array<string|int, mixed>
Return values
array<string|int, mixed>

lister_tables_spip()

Retourne la liste des tables SQL qui concernent SPIP

lister_tables_spip([string $serveur = '' ]) : array<string|int, mixed>

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

Parameters
$serveur : string = ''

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

Return values
array<string|int, mixed>

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

lister_toutes_tables()

Retourne la liste des tables SQL, Spip ou autres

lister_toutes_tables(string $serveur) : array<string|int, mixed>

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

Parameters
$serveur : string

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

Return values
array<string|int, mixed>

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

table_objet()

Retrouve le nom d'objet à partir de la table

table_objet(string $type[, string|false $serveur = '' ]) : string
  • spip_articles -> articles
  • id_article -> articles
  • article -> articles
Parameters
$type : string

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

$serveur : string|false = ''
  • string: Nom du connecteur
  • false: Pas de recherche en bdd
Return values
string

Nom de l'objet

table_objet_sql()

Retrouve la table sql à partir de l'objet ou du type

table_objet_sql(string $type[, string|false $serveur = '' ]) : string
  • articles -> spip_articles
  • article -> spip_articles
  • id_article -> spip_articles
Parameters
$type : string

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

$serveur : string|false = ''
  • string: Nom du connecteur
  • false: Pas de recherche en bdd
Return values
string

Nom de la table SQL

id_table_objet()

Retrouve la clé primaire à partir du nom d'objet ou de table

id_table_objet(string $type[, string $serveur = '' ]) : string|null
  • articles -> id_article
  • article -> id_article
  • spip_articles -> id_article
Parameters
$type : string

Nom de la table SQL ou de l'objet

$serveur : string = ''

Nom du connecteur

Return values
string|null

Nom de la clé primaire

objet_type()

Retrouve le type d'objet à partir du nom d'objet ou de table

objet_type(string $table_objet[, string|false $serveur = '' ]) : string|null
  • articles -> article
  • spip_articles -> article
  • id_article -> article
Parameters
$table_objet : string

Nom de l'objet ou de la table SQL

$serveur : string|false = ''
  • string: Nom du connecteur
  • false: Pas de recherche en bdd
Return values
string|null

Type de l'objet

objet_test_si_publie()

Determiner si un objet est publie ou non

objet_test_si_publie(string $objet, int $id_objet[, string $serveur = '' ]) : bool

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

Parameters
$objet : string
$id_objet : int
$serveur : string = ''
Return values
bool

objet_lister_parents()

Cherche les contenus parent d'un contenu précis.

objet_lister_parents(string $objet, int $id_objet[, bool $parent_direct_seulement = false ]) : array<string|int, mixed>

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

Parameters
$objet : string

Type de l'objet dont on cherche les parent

$id_objet : int

Identifiant de l'objet dont on cherche les parent

$parent_direct_seulement : bool = false

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

Return values
array<string|int, mixed>

Retourne un tableau décrivant les parents trouvés

objet_lister_parents_par_type()

Fonction helper qui permet de récupérer une liste simplifiée des parents, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]

objet_lister_parents_par_type(string $objet, int $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int
Return values
array<string|int, mixed>

objet_lister_enfants()

Cherche tous les contenus enfants d'un contenu précis

objet_lister_enfants(string $objet, int $id_objet) : array<string|int, mixed>

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

Parameters
$objet : string

Type de l'objet dont on cherche les enfants

$id_objet : int

Identifiant de l'objet dont on cherche les enfants

Return values
array<string|int, mixed>

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

objet_lister_enfants_par_type()

Fonction helper qui permet de récupérer une liste simplifiée des enfants, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]

objet_lister_enfants_par_type(string $objet, int $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int
Return values
array<string|int, mixed>

objet_type_decrire_infos_parents()

Donne les informations de parenté directe d'un type d'objet si on en trouve

objet_type_decrire_infos_parents(string $objet) : array<string|int, mixed>|false
Parameters
$objet : string

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

Return values
array<string|int, mixed>|false

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

objet_type_decrire_infos_enfants()

Donne les informations des enfants directs d'un type d'objet si on en trouve

objet_type_decrire_infos_enfants(string $objet) : array<string|int, mixed>
Parameters
$objet : string

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

Return values
array<string|int, mixed>

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

base_trouver_table_dist()

Retourne la description d'une table SQL

base_trouver_table_dist(string $nom[, string $serveur = '' ][, bool $table_spip = true ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|null

Cela sert notamment au moment de la compilation des boucles, critères et balise.

Les champs et clés de la tables sont retrouvés prioritairement via le gestionnaire de base de données. Les descriptions sont complétées, pour les tables éditoriales, des informations déclarées ou construites par la déclaration des objets éditoriaux.

Parameters
$nom : string

Nom de la table Vide '' demande de vider le cache des discriptions

$serveur : string = ''

Nom du connecteur

$table_spip : bool = true

Indique s'il faut transformer le préfixe de table

$options : array<string|int, mixed> = []
  • bool log_missing: true: (par défaut) pour écrire un log en cas de table absente. false: log uniquement en niveau debug.
Tags
example

$trouver_table = charger_fonction('trouver_table', 'base'); $desc = $trouver_table('spip_groupes_mots');

Cette fonction intervient à la compilation, mais aussi pour la balise contextuelle EXPOSE ou certains critères.

L'ensemble des descriptions de table d'un serveur est stocké dans un fichier cache/sql_desc.txt par soucis de performance. Un appel avec $nom vide est une demande explicite de vidange de ce cache

see
lister_tables_objets_sql()
Return values
array<string|int, mixed>|null

null si pas de connexion sql ou table introuvable tableau de description de la table sinon, en particulier :

  • field : tableau des colonnes SQL et leur description (comme dans serial.php ou objets.php)
  • key : tableau des KEY (comme dans serial.php ou objets.php)
  • table et table_sql : nom de la table (avec spip_ en préfixe)
  • id_table : nom SPIP de la table (type de boucle) le compilateur produit FROM $r['table'] AS $r['id_table']
  • Toutes les autres informations des objets éditoriaux si la table est l'un d'eux.

test_espace_prive()

Indique si on est dans l'espace prive

test_espace_prive() : bool
Return values
bool

true si c'est le cas, false sinon.

Prédicat sur les scripts de ecrire qui n'authentifient pas par cookie et beneficient d'une exception

autoriser_sans_cookie(string $nom[, bool $strict = false ]) : bool
Parameters
$nom : string
$strict : bool = false
Return values
bool

verifier_visiteur()

Retourne le statut du visiteur s'il s'annonce.

verifier_visiteur() : string|0|false

Pour que cette fonction marche depuis mes_options, il faut forcer l'init si ce n'est fait mais on risque de perturber des plugins en initialisant trop tot certaines constantes.

Return values
string|0|false

spip_session()

Renvoie une chaîne qui identifie la session courante

spip_session([bool $force = false ]) : string

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.

Parameters
$force : bool = false
Tags
pipeline_appel

definir_session

used-by
supprimer_sessions()
Return values
string

Identifiant de la session

generer_form_ecrire()

Retourne un formulaire (POST par défaut) vers un script exec de l’interface privée

generer_form_ecrire(string $script, string $corps[, string $atts = '' ][, string $submit = '' ]) : string
Parameters
$script : string

Nom de la page exec

$corps : string

Contenu du formulaire

$atts : string = ''

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

$submit : string = ''

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

Return values
string

Code HTML du formulaire

generer_form_action()

Générer un formulaire pour lancer une action vers $script

generer_form_action(string $script, string $corps[, string $atts = '' ][, bool $public = false ]) : string

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

Parameters
$script : string
$corps : string
$atts : string = ''
$public : bool = false
Return values
string

_T()

Traduction des textes de SPIP

_T(string $texte[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string

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

Parameters
$texte : string

Clé de traduction

$args : array<string|int, mixed> = []

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

$options : array<string|int, mixed> = []
  • 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
Tags
uses
inc_traduire_dist()
uses
_L()
example
_T('bouton_enregistrer')
_T('medias:image_tourner_droite')
_T('medias:erreurs', array('nb'=>3))
_T("email_sujet", array('spip_lang'=>$lang_usager))
Return values
string

texte

_L()

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

_L(string $text[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string

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.

Parameters
$text : string

texte

$args : array<string|int, mixed> = []

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

$options : array<string|int, mixed> = []
  • string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
  • bool sanitize : nettoyer le html suspect dans les arguments
Tags
see
_T()
example
_L('Texte avec @nb@ ...', array('nb'=>3)
used-by
_T()
Return values
string

texte

lang_select()

Sélectionne la langue donnée en argument et mémorise la courante

lang_select([null|string $lang = null ]) : string

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

Parameters
$lang : null|string = null
  • string : Langue à appliquer,
  • null : Pour restituer la dernière langue mémorisée.
Tags
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

uses
changer_langue()
used-by
menu_lang_pour_tous()
Return values
string
  • string Langue utilisée.

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

cron()

Exécution des tâches de fond

cron([array<string|int, mixed> $taches = [] ][, array<string|int, mixed> $taches_old = [] ]) : bool
Parameters
$taches : array<string|int, mixed> = []

Tâches forcées

$taches_old : array<string|int, mixed> = []

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

Tags
uses
inc_genie_dist()
used-by
action_cron()
Return values
bool

True si la tache a pu être effectuée

job_queue_add()

Ajout d'une tache dans la file d'attente

job_queue_add(string $function, string $description[, array<string|int, mixed> $arguments = [] ][, string $file = '' ][, bool $no_duplicate = false ][, int $time = 0 ][, int $priority = 0 ]) : int
Parameters
$function : string

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

$description : string

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

$arguments : array<string|int, mixed> = []

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

$file : string = ''

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)

$no_duplicate : bool = 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
$time : int = 0

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

$priority : int = 0

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.

Return values
int

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

job_queue_remove()

Supprimer une tache de la file d'attente

job_queue_remove(int $id_job) : bool
Parameters
$id_job : int

id of jonb to delete

Return values
bool

Associer une tache a un/des objets de SPIP

job_queue_link(int $id_job, array<string|int, mixed> $objets) : mixed
Parameters
$id_job : int

id of job to link

$objets : array<string|int, mixed>

can be a simple array('objet'=>'article', 'id_objet'=>23) or an array of simple array to link multiples objet in one time

queue_sleep_time_to_next_job()

Renvoyer le temps de repos restant jusqu'au prochain job

queue_sleep_time_to_next_job([int|bool $force = null ]) : int|null
Parameters
$force : int|bool = 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
Tags
staticvar

int $queue_next_job_time

see
queue_set_next_job_time()
used-by
f_queue()
used-by
queue_schedule()
used-by
queue_affichage_cron()
Return values
int|null
  • 0 si un job est à traiter
  • null si la queue n'est pas encore initialisée

charger_fonction()

Cherche une fonction surchargeable et en retourne le nom exact, après avoir chargé le fichier la contenant si nécessaire.

charger_fonction(string $nom[, string $dossier = 'exec' ][, bool $continue = false ]) : string

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

Parameters
$nom : string

Nom de la fonction (et du fichier)

$dossier : string = 'exec'

Nom du dossier conteneur

$continue : bool = false

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

Tags
uses
include_spip()

Pour charger le fichier

example
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
$envoyer_mail($email, $sujet, $texte);
used-by
auth_administrer()
Return values
string

Nom de la fonction, ou false.

include_once_check()

Inclusion unique avec verification d'existence du fichier + log en crash sinon

include_once_check(string $file) : bool
Parameters
$file : string
Return values
bool

include_spip()

Inclut un fichier PHP (en le cherchant dans les chemins)

include_spip(string $f[, bool $include = true ]) : string|bool
Parameters
$f : string

Nom du fichier (sans l'extension)

$include : bool = true
  • true pour inclure le fichier,
  • false ne fait que le chercher
Tags
uses
find_in_path()
example
include_spip('inc/texte');
used-by
charger_fonction()

Pour charger le fichier

Return values
string|bool
  • false : fichier introuvable
  • string : chemin du fichier trouvé

require_spip()

Requiert un fichier PHP (en le cherchant dans les chemins)

require_spip(string $f) : string|bool
Parameters
$f : string

Nom du fichier (sans l'extension)

Tags
uses
find_in_path()
see
include_spip()
example
require_spip('inc/texte');
Return values
string|bool
  • false : fichier introuvable
  • string : chemin du fichier trouvé

include_fichiers_fonctions()

Raccourci pour inclure mes_fonctions.php et tous les fichiers _fonctions.php des plugin quand on a besoin dans le PHP de filtres/fonctions qui y sont definis

include_fichiers_fonctions() : mixed

charger_fonction_url()

Charger la fonction de gestion des urls si elle existe

charger_fonction_url(string $quoi[, string $type = '' ]) : string
Parameters
$quoi : string

'page' 'objet' 'decoder' ou objet spip pour lequel on cherche la fonction url par defaut (si type==='defaut')

$type : string = ''

type des urls (par defaut la meta type_urls) ou 'defaut' pour trouver la fonction par defaut d'un type d'objet

Return values
string

trouve_modele()

Trouve un squelette dans le repertoire modeles/

trouve_modele( $nom) : string
Parameters
$nom :
Return values
string

trouver_fond()

Trouver un squelette dans le chemin on peut specifier un sous-dossier dans $dir si $pathinfo est a true, retourne un tableau avec les composantes du fichier trouve + le chemin complet sans son extension dans fond

trouver_fond(string $nom[, string $dir = '' ][, bool $pathinfo = false ]) : array<string|int, mixed>|string
Parameters
$nom : string
$dir : string = ''
$pathinfo : bool = false
Return values
array<string|int, mixed>|string

aider()

Retourne un lien vers une aide

aider([string $aide = '' ][, bool $distante = false ]) : Lien

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

Parameters
$aide : string = ''

Cle d'identification de l'aide desiree

$distante : bool = false

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

Return values
Lien

sur une icone d'aide

tester_url_ecrire()

Teste, pour un nom de page de l'espace privé, s'il est possible de générer son contenu.

tester_url_ecrire(string $nom) : string

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

  • fond : pour des squelettes de prive/squelettes/contenu ou pour des objets éditoriaux dont les squelettes seront échaffaudés
Parameters
$nom : string

Nom de la page

Return values
string

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

spip_logger()

Obtenir un logger compatible Psr\Log

spip_logger([string|null $name = null ]) : LoggerInterface
Parameters
$name : string|null = null
Tags
example
spip_logger()->notice('mon message');

$logger = spip_logger();
$logger->info('mon message');
$logger->debug('mon debug');

$logger = spip_logger('mysql');
$logger->info('mon message sur le canal mysql');
$logger->debug('mon debug sur le canal mysql');
Return values
LoggerInterface

spip_log()

Enregistrement des événements

spip_log(mixed $message[, int|string|null $name = null ]) : void

Signature : spip_log(message, ?name)

Parameters
$message : mixed

Message à consigner

$name : int|string|null = null

Nom du fichier de log, "spip" par défaut

Tags
example
# Les appels ci-dessous sont "deprecated" depuis 5.0
spip_log($message)
spip_log($message, 'recherche')
spip_log($message, _LOG_DEBUG)
spip_log($message, 'recherche.'._LOG_DEBUG)
link
https://programmer.spip.net/spip_log
see
spip_logger()
deprecated
5.0

Utiliser spip_logger()

journal()

Enregistrement des journaux

journal(string $phrase[, array<string|int, mixed> $opt = [] ]) : mixed
Parameters
$phrase : string

texte du journal

$opt : array<string|int, mixed> = []

Tableau d'options

Tags
uses
inc_journal_dist()

spip_paths()

Return unique Aggregator class

spip_paths([null|array<string|int, mixed> $add = null ]) : AggregatorInterface
Parameters
$add : null|array<string|int, mixed> = null

List of «plugins» directories to add

Return values
AggregatorInterface

spip_paths_loader()

spip_paths_loader() : Loader
Return values
Loader

_chemin()

Gestion des chemins (ou path) de recherche de fichiers par SPIP

_chemin([string|array<string|int, mixed>|null $dir_path = null ]) : array<string|int, mixed>

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.

Parameters
$dir_path : string|array<string|int, mixed>|null = null
  • Répertoire(s) à empiler au path
Tags
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/
Return values
array<string|int, mixed>

Liste des chemins, par ordre de priorité.

creer_chemin()

Retourne la liste des chemins connus de SPIP, dans l'ordre de priorité

creer_chemin() : array<string|int, mixed>
Return values
array<string|int, mixed>

Liste de chemins

lister_themes_prives()

Retourne la liste des thèmes du privé utilisables pour cette session

lister_themes_prives() : array<string|int, string>
Tags
see
inscription_nouveau()

pour une particularité historique du champ 'prefs'

Return values
array<string|int, string>

Nom des thèmes.

find_in_theme()

find_in_theme(mixed $file[, mixed $subdir = '' ][, mixed $include = false ]) : mixed
Parameters
$file : mixed
$subdir : mixed = ''
$include : mixed = false

chemin_image()

Cherche une image dans les dossiers d'images

chemin_image(string $icone) : string

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

Parameters
$icone : string

Nom de l'icone cherchée

Tags
see
find_in_theme()
see
inc_icone_renommer_dist()
Return values
string

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

find_in_path()

Recherche un fichier dans les chemins de SPIP (squelettes, plugins, core)

find_in_path(string $file[, string $dirname = '' ][, bool|string $include = false ]) : string|bool

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

Parameters
$file : string

Fichier recherché

$dirname : string = ''

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

$include : bool|string = 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é.
Tags
see
charger_fonction()
uses
creer_chemin()

Pour la liste des chemins.

example
$f = find_in_path('css/perso.css');
$f = find_in_path('perso.css', 'css');
used-by
include_spip()
used-by
require_spip()
Return values
string|bool
  • string : chemin du fichier trouvé
  • false : fichier introuvable

find_all_in_path()

Trouve tous les fichiers du path correspondants à un pattern

find_all_in_path(string $dir, string $pattern[, bool $recurs = false ][, bool $all_files = false ]) : array<string|int, mixed>

Pour un nom de fichier donné, ne retourne que le premier qui sera trouvé par un find_in_path(), sauf si l'option all_files est activée.

Parameters
$dir : string
$pattern : string
$recurs : bool = false
$all_files : bool = false
Tags
uses
creer_chemin()
uses
preg_files()
used-by
selecteur_lister_objets()
Return values
array<string|int, mixed>

minipipe()

Exécute une fonction (appellée par un pipeline) avec la donnée transmise.

minipipe(string $fonc, string|array<string|int, mixed> &$val) : string|array<string|int, mixed>

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

Parameters
$fonc : string

Nom de la fonction appelée par le pipeline

$val : string|array<string|int, mixed>

Les paramètres du pipeline, son environnement

Return values
string|array<string|int, mixed>

$val Les paramètres du pipeline modifiés

pipeline()

Appel d’un pipeline

pipeline(string $action[, mixed $val = null ]) : mixed|null

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.

Parameters
$action : string

Nom du pipeline

$val : mixed = null

Données à l’entrée du pipeline

Tags
example

Appel du pipeline pre_insertion

$champs = pipeline('pre_insertion', array(
    'args' => array('table' => 'spip_articles'),
    'data' => $champs
));
Return values
mixed|null

Résultat

_request()

Renvoie le `$_GET` ou le `$_POST` émis par l'utilisateur ou pioché dans un tableau transmis

_request(string $var[, bool|array<string|int, mixed> $c = false ]) : mixed|null
Parameters
$var : string

Clé souhaitée

$c : bool|array<string|int, mixed> = false

Tableau transmis (sinon cherche dans GET ou POST)

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

set_request()

Affecte une valeur à une clé (pour usage avec `_request()`)

set_request(string $var[, string $val = null ][, bool|array<string|int, mixed> $c = false ]) : array<string|int, mixed>|bool
Parameters
$var : string

Nom de la clé

$val : string = null

Valeur à affecter

$c : bool|array<string|int, mixed> = false

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

Tags
see
_request()

Pour obtenir la valeur

note

Attention au cas ou l'on fait set_request('truc', NULL);

Return values
array<string|int, mixed>|bool
  • array $c complété si un $c est transmis,
  • false sinon

spip_sanitize_from_request()

Sanitizer une valeur *SI* elle provient du GET ou POST Utile dans les squelettes pour les valeurs qu'on attrape dans le env, dont on veut permettre à un squelette de confiance appelant de fournir une valeur complexe mais qui doit etre nettoyee si elle provient de l'URL

spip_sanitize_from_request(string|array<string|int, mixed> $value, string|array<string|int, mixed> $key[, string $sanitize_function = 'entites_html' ]) : array<string|int, mixed>|mixed|string

On peut sanitizer

  • une valeur simple : $where = spip_sanitize_from_request($value, 'where')
  • un tableau en partie : $env = spip_sanitize_from_request($env, ['key1','key2'])
  • un tableau complet : $env = spip_sanitize_from_request($env, '*')
Parameters
$value : string|array<string|int, mixed>
$key : string|array<string|int, mixed>
$sanitize_function : string = 'entites_html'
Return values
array<string|int, mixed>|mixed|string

spip_desinfecte()

Supprimer les éventuels caracteres nuls %00, qui peuvent tromper la commande is_readable('chemin/vers/fichier/interdit%00truc_normal').

spip_desinfecte(array<string|int, mixed> &$t[, bool $deep = true ]) : mixed

Cette fonction est appliquée par SPIP à son initialisation sur GET/POST/COOKIES/GLOBALS

Parameters
$t : array<string|int, mixed>

le tableau ou la chaine à desinfecter (passage par référence)

$deep : bool = true

= true : appliquer récursivement

spip_sanitize_classname()

Nettoie une chaine pour servir comme classes CSS.

spip_sanitize_classname(string|array<string|int, string> $classes) : string|array<string|int, string>
Parameters
$classes : string|array<string|int, string>
Tags
note

les classes CSS acceptent théoriquement tous les caractères sauf NUL. Ici, on limite (enlève) les caractères autres qu’alphanumérique, espace, - + _ @

Return values
string|array<string|int, string>

erreur_squelette()

Génère une erreur de squelette

erreur_squelette([bool|string|array<string|int, mixed> $message = '' ][, string|array<string|int, mixed>|object $lieu = '' ]) : null|string

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

Parameters
$message : bool|string|array<string|int, mixed> = ''
  • Message d'erreur (string|array)
  • false pour retourner le texte des messages d'erreurs
  • vide pour afficher les messages d'erreurs
$lieu : string|array<string|int, mixed>|object = ''

Lieu d'origine de l'erreur

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

recuperer_fond()

Calcule un squelette avec un contexte et retourne son contenu

recuperer_fond(mixed $fond[, array<string|int, mixed> $contexte = [] ][, array<string|int, mixed> $options = [] ][, string $connect = '' ]) : string|array<string|int, mixed>

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.
Parameters
$fond : mixed
$contexte : array<string|int, mixed> = []
  • Informations de contexte envoyées au squelette, array('id_rubrique' => 8)
  • La langue est transmise automatiquement (sauf option étoile).
$options : array<string|int, mixed> = []

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})
$connect : string = ''

Non du connecteur de bdd a utiliser

Return values
string|array<string|int, mixed>
  • Contenu du squelette calculé
  • ou tableau d'information sur le squelette.

quote_amp()

Transformation XML des `&` en `&amp;`

quote_amp(string $u) : string
Parameters
$u : string
Tags
pipeline

post_typo

Return values
string

tester_url_absolue()

Tester si une URL est absolue

tester_url_absolue(string $url) : bool

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

Parameters
$url : string
Return values
bool

parametre_url()

Prend une URL et lui ajoute/retire un paramètre

parametre_url(string $url, string $c[, string|array<string|int, mixed>|null $v = null ][, string $sep = '&amp;' ]) : string
Parameters
$url : string

URL

$c : string

Nom du paramètre

$v : string|array<string|int, mixed>|null = null

Valeur du paramètre

$sep : string = '&amp;'

Séparateur entre les paramètres

Tags
filtre
link
https://www.spip.net/4255
example
[(#SELF|parametre_url{suite,18})] (ajout)
[(#SELF|parametre_url{suite,''})] (supprime)
[(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)
Return values
string

URL

ancre_url()

Ajoute (ou retire) une ancre sur une URL

ancre_url(string $url[, string|null $ancre = '' ]) : string

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 -

Parameters
$url : string
$ancre : string|null = ''
Tags
example
  • `$url = ancre_url($url, 'navigation'); // => mettra l’ancre #navigation
  • `$url = ancre_url($url, ''); // => enlèvera une éventuelle ancre
uses
translitteration()
Return values
string

nettoyer_uri()

Pour le nom du cache, les `types_urls` et `self`

nettoyer_uri([string|null $reset = null ]) : string
Parameters
$reset : string|null = null
Return values
string

nettoyer_uri_var()

Nettoie une URI de certains paramètres (var_xxx, utm_xxx, etc.)

nettoyer_uri_var(string $request_uri) : string

La regexp des paramètres nettoyés est calculée à partir de la constante _CONTEXTE_IGNORE_LISTE_VARIABLES (qui peut être redéfinie dans mes_options.php)

Parameters
$request_uri : string
Tags
uses
_CONTEXTE_IGNORE_LISTE_VARIABLES
Return values
string

self()

Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles

self([string $amp = '&amp;' ][, bool $root = false ]) : string
Parameters
$amp : string = '&amp;'

Style des esperluettes

$root : bool = false
Return values
string

URL vers soi-même

generer_objet_url()

Fonction codant les URLs des objets SQL mis en page par SPIP

generer_objet_url(int|string|null $id, string $entite[, string $args = '' ][, string $ancre = '' ][, bool|null $public = null ][, string $type = '' ][, string $connect = '' ]) : string
Parameters
$id : int|string|null

numero de la cle primaire si nombre

$entite : string

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

$args : string = ''

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

$ancre : string = ''

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

$public : bool|null = null

produire l'URL publique ou privee (par defaut: selon espace)

$type : string = ''

fichier dans le repertoire ecrire/urls determinant l'apparence

$connect : string = ''

serveur de base de donnee (nom du connect)

Return values
string

url codee ou fonction de decodage

generer_url_entite()

generer_url_entite([mixed $id = 0 ][, mixed $entite = '' ][, mixed $args = '' ][, mixed $ancre = '' ][, mixed $public = null ][, mixed $type = null ]) : mixed
Parameters
$id : mixed = 0
$entite : mixed = ''
$args : mixed = ''
$ancre : mixed = ''
$public : mixed = null
$type : mixed = null
Tags
deprecated
4.1
see
generer_objet_url

generer_objet_url_ecrire_edit()

Generer l'url vers la page d'edition dans ecrire/

generer_objet_url_ecrire_edit(int|string|null $id, string $entite[, string $args = '' ][, string $ancre = '' ]) : string
Parameters
$id : int|string|null
$entite : string
$args : string = ''
$ancre : string = ''
Return values
string

generer_url_ecrire_entite_edit()

generer_url_ecrire_entite_edit(mixed $id, mixed $entite[, mixed $args = '' ][, mixed $ancre = '' ]) : mixed
Parameters
$id : mixed
$entite : mixed
$args : mixed = ''
$ancre : mixed = ''
Tags
deprecated
4.1
see
generer_objet_url_ecrire_edit

urls_connect_dist()

urls_connect_dist(mixed $i, mixed &$entite[, mixed $args = '' ][, mixed $ancre = '' ][, mixed $public = null ]) : mixed
Parameters
$i : mixed
$entite : mixed
$args : mixed = ''
$ancre : mixed = ''
$public : mixed = null

urlencode_1738()

Transformer les caractères utf8 d'une URL (farsi par exemple) selon la RFC 1738

urlencode_1738(string $url) : string
Parameters
$url : string
Return values
string

generer_objet_url_absolue()

Generer l'url absolue vers un objet

generer_objet_url_absolue([int|string|null $id = 0 ][, string $entite = '' ][, string $args = '' ][, string $ancre = '' ][, bool|null $public = null ][, string $type = '' ][, string $connect = '' ]) : string
Parameters
$id : int|string|null = 0
$entite : string = ''
$args : string = ''
$ancre : string = ''
$public : bool|null = null
$type : string = ''
$connect : string = ''
Return values
string

generer_url_entite_absolue()

generer_url_entite_absolue([mixed $id = 0 ][, mixed $entite = '' ][, mixed $args = '' ][, mixed $ancre = '' ][, mixed $connect = null ]) : mixed
Parameters
$id : mixed = 0
$entite : mixed = ''
$args : mixed = ''
$ancre : mixed = ''
$connect : mixed = null
Tags
deprecated
4.1
see
generer_objet_url_absolue

url_de_base()

Calcule l'url de base du site

url_de_base([int|bool|array<string|int, mixed> $profondeur = null ]) : string|array<string|int, mixed>

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.

Parameters
$profondeur : int|bool|array<string|int, mixed> = 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
Tags
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

used-by
liste_metas()
Return values
string|array<string|int, mixed>

url_de_()

fonction testable de construction d'une url appelee par url_de_base()

url_de_(string $http, string $host, string $request[, int $prof = 0 ]) : string
Parameters
$http : string
$host : string
$request : string
$prof : int = 0
Return values
string

generer_url_ecrire()

Crée une URL vers un script de l'espace privé

generer_url_ecrire([string $script = '' ][, string $args = '' ][, bool $no_entities = false ][, bool|string $rel = false ]) : string
Parameters
$script : string = ''

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

$args : string = ''

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

$no_entities : bool = false

Si false : transforme les & en &amp;

$rel : bool|string = 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
Tags
example
generer_url_ecrire('admin_plugin')
Return values
string

URL

get_spip_script()

Retourne le nom du fichier d'exécution de SPIP

get_spip_script([string $default = '' ]) : string
Parameters
$default : string = ''

Script par défaut

Tags
see
_SPIP_SCRIPT
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)

Return values
string

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

generer_url_public()

Crée une URL vers une page publique de SPIP

generer_url_public([string $script = '' ][, string|array<string|int, mixed> $args = '' ][, bool $no_entities = false ][, bool $rel = true ][, string $action = '' ]) : string
Parameters
$script : string = ''

Nom de la page

$args : string|array<string|int, mixed> = ''

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 )

$no_entities : bool = false

Si false : transforme les & en &amp;

$rel : bool = true

URL relative ?

  • false : l’URL sera complète et contiendra l’URL du site
  • true : l’URL sera relavive.
$action : string = ''
  • Fichier d'exécution public (spip.php par défaut)
Tags
example
generer_url_public("rubrique","id_rubrique=$id_rubrique")
Return values
string

URL

generer_url_prive()

generer_url_prive(mixed $script[, mixed $args = '' ][, mixed $no_entities = false ]) : mixed
Parameters
$script : mixed
$args : mixed = ''
$no_entities : mixed = false

generer_url_action()

Créer une URL

generer_url_action(string $script[, string $args = '' ][, bool $no_entities = false ][, bool $public = false ]) : string
Parameters
$script : string

Nom du script à exécuter

$args : string = ''

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

$no_entities : bool = false

Si false : transforme les & en &

$public : bool = false

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

Return values
string

URL

generer_url_api()

Créer une URL

generer_url_api(string $script, string $path, string $args[, bool $no_entities = false ][, bool $public = null ]) : string
Parameters
$script : string

Nom du script à exécuter

$path : string
$args : string

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

$no_entities : bool = false

Si false : transforme les & en &

$public : bool = null

URL public ou relative a l'espace ou l'on est ?

Return values
string

URL

test_plugin_actif()

Vérifie la présence d'un plugin actif, identifié par son préfixe

test_plugin_actif(string $plugin) : bool
Parameters
$plugin : string
Return values
bool

joli_repertoire()

Retourne un joli chemin de répertoire

joli_repertoire(string $rep) : string

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

Parameters
$rep : string

Chemin d’un répertoire

Return values
string

spip_timer()

Débute ou arrête un chronomètre et retourne sa valeur

spip_timer([string $t = 'rien' ][, bool $raw = false ]) : float|int|string|void

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

Parameters
$t : string = 'rien'

Nom du chronomètre

$raw : bool = false
  • false : retour en texte humainement lisible
  • true : retour en millisecondes
Tags
example
spip_timer('papoter');
// actions
$duree = spip_timer('papoter');
Return values
float|int|string|void

spip_touch()

spip_touch(mixed $fichier[, mixed $duree = 0 ][, mixed $touch = true ]) : mixed
Parameters
$fichier : mixed
$duree : mixed = 0
$touch : mixed = true

http_script()

Produit une balise `<script>` valide

http_script(string $script[, string $src = '' ][, string $noscript = '' ]) : string
Parameters
$script : string

Code source du script

$src : string = ''

Permet de faire appel à un fichier javascript distant

$noscript : string = ''

Contenu de la balise <noscript>

Tags
example
echo http_script('alert("ok");');
echo http_script('','js/jquery.js');
Return values
string

Balise HTML <script> et son contenu

texte_script()

Sécurise du texte à écrire dans du PHP ou du Javascript.

texte_script(string|null $texte) : string

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.

Parameters
$texte : string|null

texte à échapper

Tags
link
https://www.spip.net/4281
example

PHP dans un squelette

$x = '[(#TEXTE|texte_script)]';

JS dans un squelette (transmettre une chaîne de langue)

$x = '<:afficher_calendrier|texte_script:>';
filtre
Return values
string

texte échappé

test_valeur_serveur()

Tester qu'une variable d'environnement est active

test_valeur_serveur(string|bool $truc) : bool

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

Parameters
$truc : string|bool

La valeur de la variable d'environnement

Return values
bool

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

exec_info_dist()

Page `exec=info` : retourne le contenu de la fonction php `phpinfo()`

exec_info_dist() : mixed

Si l’utiliseur est un webmestre.

html5_permis()

Indique si le code HTML5 est permis sur le site public

html5_permis() : bool
Return values
bool

true si la constante _VERSION_HTML n'est pas définie ou égale à html5

formats_image_acceptables()

Lister les formats image acceptes par les lib et fonctions images

formats_image_acceptables([bool|null $gd = null ][, bool $svg_allowed = true ]) : array<string|int, mixed>
Parameters
$gd : bool|null = null
$svg_allowed : bool = true
Return values
array<string|int, mixed>

spip_getimagesize()

Extension de la fonction getimagesize pour supporter aussi les images SVG

spip_getimagesize(string $fichier) : array<string|int, mixed>|bool
Parameters
$fichier : string
Return values
array<string|int, mixed>|bool

avertir_auteurs()

Poser une alerte qui sera affiche aux auteurs de bon statut ('' = tous) au prochain passage dans l'espace prive chaque alerte doit avoir un nom pour eviter duplication a chaque hit les alertes affichees une fois sont effacees

avertir_auteurs(string $nom, string $message[, string $statut = '' ]) : mixed
Parameters
$nom : string
$message : string
$statut : string = ''

spip_version_compare()

Compare 2 numéros de version entre elles.

spip_version_compare(string $v1, string $v2[, string $op = null ]) : int|bool

Cette fonction est identique (arguments et retours) a la fonction PHP version_compare() qu'elle appelle. Cependant, cette fonction reformate les numeros de versions pour ameliorer certains usages dans SPIP ou bugs dans PHP. On permet ainsi de comparer 3.0.4 à 3.0.* par exemple.

Parameters
$v1 : string

Numero de version servant de base a la comparaison. Ce numero ne peut pas comporter d'etoile.

$v2 : string

Numero de version a comparer. Il peut posseder des etoiles tel que 3.0.*

$op : string = null

Un operateur eventuel (<, >, <=, >=, =, == ...)

Return values
int|bool

Sans operateur : int. -1 pour inferieur, 0 pour egal, 1 pour superieur Avec operateur : bool.

definir_barre_contexte()

Calcule le contexte pour le menu du bandeau

definir_barre_contexte([null|array<string|int, mixed> $contexte = null ]) : array<string|int, mixed>

La fonction tente de retrouver la rubrique et le secteur d'appartenance à partir du nom du fichier exec, si celui ci correspond à un objet éditorial de SPIP (et qu'il possède ces champs), et dans ce cas, l'ajoute au contexte.

Parameters
$contexte : null|array<string|int, mixed> = null

contexte connu. S'il n'est pas transmis, on prend $_GET

Return values
array<string|int, mixed>

contexte

definir_barre_boutons()

Définir la liste des boutons du haut et de ses sous-menus

definir_barre_boutons([array<string|int, mixed> $contexte = [] ][, bool $icones = true ][, bool $autorise = true ]) : array<string|int, mixed>

On defini les boutons à mettre selon les droits de l'utilisateur puis on balance le tout au pipeline "ajouter_menus" pour que des plugins puissent y mettre leur grain de sel

Parameters
$contexte : array<string|int, mixed> = []
$icones : bool = true

Rechercher les icones

$autorise : bool = true

Ne renvoyer que les boutons autorisés

Return values
array<string|int, mixed>

trier_boutons_enfants_par_alpha()

Trie les entrées des sous menus par ordre alhabétique

trier_boutons_enfants_par_alpha(array<string|int, Bouton$menus[, bool $avec_favoris = false ]) : array<string|int, Bouton>
Parameters
$menus : array<string|int, Bouton>
$avec_favoris : bool = false

Si true, tri en premier les sous menus favoris, puis l'ordre alphabétique

Return values
array<string|int, Bouton>

trier_boutons_enfants_par_favoris_alpha()

Trie les entrées des sous menus par favoris (selon leur ordre) puis les autres par ordre alhabétique

trier_boutons_enfants_par_favoris_alpha(array<string|int, Bouton$menus) : array<string|int, Bouton>
Parameters
$menus : array<string|int, Bouton>
Tags
uses
trier_boutons_enfants_par_alpha()
Return values
array<string|int, Bouton>

bandeau_creer_url()

Créer l'URL à partir de exec et args, sauf si c'est déjà une url formatée

bandeau_creer_url(string $url[, string $args = '' ][, array<string|int, mixed>|null $contexte = null ]) : string
Parameters
$url : string
$args : string = ''
$contexte : array<string|int, mixed>|null = null
Return values
string

inc_bandeau_dist()

Construire tout le bandeau supérieur de l'espace privé

inc_bandeau_dist() : string
Return values
string

Code HTML du bandeau

obtenir_menus_favoris()

Retourne la liste des noms d'entrées de menus favoris de l'auteur connecté

obtenir_menus_favoris() : array<string|int, mixed>
Return values
array<string|int, mixed>

definir_barre_onglets()

Définir la liste des onglets dans une page de l'interface privée.

definir_barre_onglets(string $script) : array<string|int, mixed>

On passe la main au pipeline "ajouter_onglets".

Parameters
$script : string
Tags
see
plugin_ongletbouton()

qui crée la fonction onglets_plugins()

pipeline_appel

ajouter_onglets

used-by
barre_onglets()
Return values
array<string|int, mixed>

cvtmulti_recuperer_post_precedents()

Reinjecter dans _request() les valeurs postees dans les etapes precedentes

cvtmulti_recuperer_post_precedents(string $form) : array<string|int, mixed>|false
Parameters
$form : string
Return values
array<string|int, mixed>|false

cvtmulti_sauver_post()

Sauvegarder les valeurs postees dans une variable encodee pour les recuperer a la prochaine etape

cvtmulti_sauver_post(string $form, bool $je_suis_poste, array<string|int, mixed> &$valeurs) : array<string|int, mixed>
Parameters
$form : string
$je_suis_poste : bool
$valeurs : array<string|int, mixed>
Return values
array<string|int, mixed>

cvtmulti_formulaire_charger_etapes()

Charger une etape du cvt multi

cvtmulti_formulaire_charger_etapes(array<string|int, mixed> $args, array<string|int, mixed> $valeurs) : array<string|int, mixed>
Parameters
$args : array<string|int, mixed>
$valeurs : array<string|int, mixed>
Return values
array<string|int, mixed>

cvtmulti_formulaire_verifier_etapes()

Verifier les etapes de saisie

cvtmulti_formulaire_verifier_etapes(array<string|int, mixed> $args, array<string|int, mixed> $erreurs) : array<string|int, mixed>
Parameters
$args : array<string|int, mixed>
$erreurs : array<string|int, mixed>
Return values
array<string|int, mixed>

cvtmulti_styliser()

Selectionner le bon fond en fonction de l'etape L'etape 1 est sur le fond sans suffixe Les autres etapes x sont sur le fond _x

cvtmulti_styliser(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

copie_locale()

Crée au besoin la copie locale d'un fichier distant

copie_locale(string $source[, string $mode = 'auto' ][, string $local = null ][, int $taille_max = null ][, string $callback_valider_url = null ]) : bool|string

Prend en argument un chemin relatif au rep racine, ou une URL Renvoie un chemin relatif au rep racine, ou false

Parameters
$source : string
$mode : string = 'auto'
  • 'test' - ne faire que tester
  • 'auto' - charger au besoin
  • 'modif' - Si deja present, ne charger que si If-Modified-Since
  • 'force' - charger toujours (mettre a jour)
$local : string = null

permet de specifier le nom du fichier local (stockage d'un cache par exemple, et non document IMG)

$taille_max : int = null

taille maxi de la copie local, par defaut _COPIE_LOCALE_MAX_SIZE

$callback_valider_url : string = null

fonction de callback pour valider l'URL finale apres redirection eventuelle

Tags
link
https://www.spip.net/4155
pipeline_appel

post_edition

used-by
_image_valeurs_trans()

Si l'image est distante

Return values
bool|string

valider_url_distante()

Valider qu'une URL d'un document distant est bien distante et pas une url localhost qui permet d'avoir des infos sur le serveur inspiree de https://core.trac.wordpress.org/browser/trunk/src/wp-includes/http.php?rev=36435#L500

valider_url_distante(string $url[, array<string|int, mixed> $known_hosts = [] ]) : false|string
Parameters
$url : string
$known_hosts : array<string|int, mixed> = []

url/hosts externes connus et acceptes

Return values
false|string

url ou false en cas d'echec

prepare_donnees_post()

Preparer les donnes pour un POST si $donnees est une chaine - charge a l'envoyeur de la boundariser, de gerer le Content-Type, de séparer les entetes des données par une ligne vide etc... - on traite les retour ligne pour les mettre au bon format - on decoupe en entete/corps (separes par ligne vide) si $donnees est un tableau - structuration en chaine avec boundary si necessaire ou fournie et bon Content-Type

prepare_donnees_post(string|array<string|int, mixed> $donnees[, string $boundary = '' ]) : array{: string, : string}
Parameters
$donnees : string|array<string|int, mixed>
$boundary : string = ''
Return values
array{: string, : string}

entete,corps

url_to_ascii()

Convertir une URL dont le host est en utf8 en ascii

url_to_ascii(string $url_idn) : array<string|int, mixed>|string
Parameters
$url_idn : string
Return values
array<string|int, mixed>|string

recuperer_url()

Récupère le contenu d'une URL au besoin encode son contenu dans le charset local

recuperer_url(string $url[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|bool
Parameters
$url : string
$options : array<string|int, mixed> = []

bool transcoder : true si on veut transcoder la page dans le charset du site string methode : Type de requête HTTP à faire (HEAD, GET, POST, PUT, DELETE) int taille_max : Arrêter le contenu au-delà (0 = seulement les entetes ==> requête HEAD). Par defaut taille_max = 1Mo ou 16Mo si copie dans un fichier array headers : tableau associatif d'entetes https a envoyer string|array datas : Pour envoyer des donnees (array) et/ou entetes au complet, avec saut de ligne entre headers et donnees ( string @see prepare_donnees_post()) (force la methode POST si donnees non vide) string boundary : boundary pour formater les datas au format array bool refuser_gz : Pour forcer le refus de la compression (cas des serveurs orthographiques) int if_modified_since : Un timestamp unix pour arrêter la récuperation si la page distante n'a pas été modifiée depuis une date donnée string uri_referer : Pour préciser un référer différent string file : nom du fichier dans lequel copier le contenu int follow_location : nombre de redirections a suivre (0 pour ne rien suivre) string version_http : version du protocole HTTP a utiliser (par defaut defini par la constante _INC_DISTANT_VERSION_HTTP)

Tags
uses
init_http()
uses
recuperer_entetes_complets()
uses
recuperer_body()
uses
transcoder_page()
uses
prepare_donnees_post()
used-by
verifier_htaccess()
used-by
recuperer_url_cache()
used-by
url_absolue_css()

si l'URL source n'est pas sur le même site

Return values
array<string|int, mixed>|bool

false si echec array sinon : int status : le status de la page string headers : les entetes de la page string page : le contenu de la page (vide si copie dans un fichier) int last_modified : timestamp de derniere modification string location : url de redirection envoyee par la page string url : url reelle de la page recuperee int length : taille du contenu ou du fichier récupéré int content_length : (optionnel) taille annoncée par le serveur distant dans ses headers (si annoncée)

string file : nom du fichier si enregistre dans un fichier

recuperer_url_cache()

Récuperer une URL si on l'a pas déjà dans un cache fichier

recuperer_url_cache(string $url[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|bool|mixed

Le délai de cache est fourni par l'option delai_cache Les autres options et le format de retour sont identiques à la fonction recuperer_url

Parameters
$url : string
$options : array<string|int, mixed> = []

int delai_cache : anciennete acceptable pour le contenu (en seconde)

Tags
uses
recuperer_url()
Return values
array<string|int, mixed>|bool|mixed

recuperer_body()

Recuperer le contenu sur lequel pointe la resource passee en argument $taille_max permet de tronquer de l'url dont on a deja recupere les en-tetes

recuperer_body(resource $handle[, int $taille_max = _INC_DISTANT_MAX_SIZE ][, string $fichier = '' ]) : bool|int|string
Parameters
$handle : resource
$taille_max : int = _INC_DISTANT_MAX_SIZE
$fichier : string = ''

fichier dans lequel copier le contenu de la resource

Tags
used-by
recuperer_url()
Return values
bool|int|string

bool false si echec int taille du fichier si argument fichier fourni string contenu de la resource

recuperer_entetes_complets()

Lit les entetes de reponse HTTP sur la socket $handle et retourne false en cas d'echec, un tableau associatif en cas de succes, contenant : - le status - le tableau complet des headers - la date de derniere modif si connue - l'url de redirection si specifiee

recuperer_entetes_complets(resource $handle[, int|bool $if_modified_since = false ]) : bool|array<string|int, mixed>
Parameters
$handle : resource
$if_modified_since : int|bool = false
Tags
used-by
recuperer_url()
Return values
bool|array<string|int, mixed>

int status string headers int last_modified string location

nom_fichier_copie_locale()

Calcule le nom canonique d'une copie local d'un fichier distant

nom_fichier_copie_locale(string $source, string $extension) : string

Si on doit conserver une copie locale des fichiers distants, autant que ca soit à un endroit canonique

Parameters
$source : string

URL de la source

$extension : string

Extension du fichier

Tags
note

Si ca peut être bijectif c'est encore mieux, mais là tout de suite je ne trouve pas l'idee, étant donné les limitations des filesystems

used-by
fichier_copie_locale()
Return values
string

Nom du fichier pour copie locale

fichier_copie_locale()

Donne le nom de la copie locale de la source

fichier_copie_locale(string $source) : string|null

Soit obtient l'extension du fichier directement de l'URL de la source, soit tente de le calculer.

Parameters
$source : string

URL de la source distante

Tags
uses
nom_fichier_copie_locale()
uses
recuperer_infos_distantes()
Return values
string|null
  • string: Nom du fichier calculé
  • null: Copie locale impossible

recuperer_infos_distantes()

Récupérer les infos d'un document distant, sans trop le télécharger

recuperer_infos_distantes(string $source[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|false
Parameters
$source : string

URL de la source

$options : array<string|int, mixed> = []

int $taille_max : Taille maximum du fichier à télécharger bool $charger_si_petite_image : Pour télécharger le document s'il est petit string $callback_valider_url : callback pour valider l'URL finale du document apres redirection

Tags
used-by
fichier_copie_locale()
Return values
array<string|int, mixed>|false

Couples des informations obtenues parmis :

  • 'body' = chaine
  • 'type_image' = booleen
  • 'titre' = chaine
  • 'largeur' = intval
  • 'hauteur' = intval
  • 'taille' = intval
  • 'extension' = chaine
  • 'fichier' = chaine
  • 'mime_type' = chaine

distant_trouver_mime_type_selon_headers()

Retrouver un mime type depuis les headers

distant_trouver_mime_type_selon_headers(string $source, string $headers) : string
Parameters
$source : string
$headers : string
Return values
string

distant_trouver_extension_selon_headers()

Retrouver une extension de fichier depuis les headers

distant_trouver_extension_selon_headers(string $source, string $headers) : false|string
Parameters
$source : string
$headers : string
Return values
false|string

need_proxy()

Tester si un host peut etre recuperer directement ou doit passer par un proxy

need_proxy(string $host[, string $http_proxy = null ][, string $http_noproxy = null ]) : string

On peut passer en parametre le proxy et la liste des host exclus, pour les besoins des tests, lors de la configuration

Parameters
$host : string
$http_proxy : string = null
$http_noproxy : string = null
Return values
string

init_http()

Initialise une requete HTTP avec entetes

init_http(string $method, string $url[, bool $refuse_gz = false ][, string $referer = '' ][, string $datas = '' ][, string $vers = 'HTTP/1.0' ][, string $date = '' ]) : array<string|int, mixed>

Décompose l'url en son schema+host+path+port et lance la requete. Retourne le descripteur sur lequel lire la réponse.

Parameters
$method : string

HEAD, GET, POST

$url : string
$refuse_gz : bool = false
$referer : string = ''
$datas : string = ''
$vers : string = 'HTTP/1.0'
$date : string = ''
Tags
uses
lance_requete()
used-by
recuperer_url()
Return values
array<string|int, mixed>

lance_requete()

Lancer la requete proprement dite

lance_requete(string $method, string $scheme, array<string|int, mixed> $user, string $host, string $path, string $port, bool $noproxy[, bool $refuse_gz = false ][, string $referer = '' ][, string $datas = '' ][, string $vers = 'HTTP/1.0' ][, int|string $date = '' ]) : bool|resource
Parameters
$method : string

type de la requete (GET, HEAD, POST...)

$scheme : string

protocole (http, tls, ftp...)

$user : array<string|int, mixed>

couple (utilisateur, mot de passe) en cas d'authentification http

$host : string

nom de domaine

$path : string

chemin de la page cherchee

$port : string

port utilise pour la connexion

$noproxy : bool

protocole utilise si requete sans proxy

$refuse_gz : bool = false

refuser la compression GZ

$referer : string = ''

referer

$datas : string = ''

donnees postees

$vers : string = 'HTTP/1.0'

version HTTP

$date : int|string = ''

timestamp pour entente If-Modified-Since

Tags
used-by
init_http()
Return values
bool|resource

false|int si echec resource socket vers l'url demandee

charger_filtre()

Charger un filtre depuis le php

charger_filtre(string $fonc[, string $default = 'filtre_identite_dist' ]) : string
  • on inclue tous les fichiers fonctions des plugins et du skel
  • on appelle chercher_filtre

Pour éviter de perdre le texte si le filtre demandé est introuvable, on transmet filtre_identite_dist en filtre par défaut.

Parameters
$fonc : string

Nom du filtre

$default : string = 'filtre_identite_dist'

Filtre par défaut

Tags
uses
filtre_identite_dist()

Comme fonction par défaut

Return values
string

Fonction PHP correspondante du filtre

filtre_identite_dist()

Retourne le texte tel quel

filtre_identite_dist(string $texte) : string
Parameters
$texte : string

texte

Tags
used-by
charger_filtre()

Comme fonction par défaut

Return values
string

texte

chercher_filtre()

Cherche un filtre

chercher_filtre(string $fonc[, string|null $default = null ]) : string

Pour une filtre F retourne la première fonction trouvée parmis :

  • filtre_F
  • filtre_F_dist
  • F

Peut gérer des appels par des fonctions statiques de classes tel que Foo::Bar

En absence de fonction trouvée, retourne la fonction par défaut indiquée.

Parameters
$fonc : string

Nom du filtre

$default : string|null = null

Nom du filtre appliqué par défaut si celui demandé n'est pas trouvé

Return values
string

Fonction PHP correspondante du filtre demandé

appliquer_filtre()

Applique un filtre s'il existe, sinon retourne une chaîne vide

appliquer_filtre(mixed $arg, string $filtre) : string

Fonction générique qui prend en argument l’objet (texte, etc) à modifier et le nom du filtre.

  • À la différence de la fonction filtrer(), celle-ci ne lève pas d'erreur de squelettes si le filtre n'est pas trouvé.
  • À la différence de la fonction appliquer_si_filtre() le contenu d'origine n'est pas retourné si le filtre est absent.

Les arguments supplémentaires transmis à cette fonction sont utilisés comme arguments pour le filtre appelé.

Parameters
$arg : mixed

texte (le plus souvent) sur lequel appliquer le filtre

$filtre : string

Nom du filtre à appliquer

Tags
example
[(#BALISE|appliquer_filtre{nom_du_filtre})]
[(#BALISE|appliquer_filtre{nom_du_filtre, arg1, arg2, ...})]

// Applique le filtre minifier si on le trouve :
// - Ne retourne rien si le filtre 'minifier' n'est pas trouvé
[(#INCLURE{fichier.js}|appliquer_filtre{minifier, js})]

// - Retourne le contenu du fichier.js si le filtre n'est pas trouvé.
[(#INCLURE{fichier.js}|appliquer_si_filtre{minifier, js})]
filtre
see
filtrer()

Génère une erreur si le filtre est absent

see
appliquer_si_filtre()

Proche : retourne le texte d'origine si le filtre est absent

uses
appliquer_filtre_sinon()
Return values
string

texte traité par le filtre si le filtre existe, Chaîne vide sinon.

appliquer_si_filtre()

Applique un filtre s'il existe, sinon retourne le contenu d'origine sans modification

appliquer_si_filtre(mixed $arg, string $filtre) : string

Se référer à appliquer_filtre() pour les détails.

Parameters
$arg : mixed

texte (le plus souvent) sur lequel appliquer le filtre

$filtre : string

Nom du filtre à appliquer

Tags
example
[(#INCLURE{fichier.js}|appliquer_si_filtre{minifier, js})]
filtre
see
appliquer_filtre()

Proche : retourne vide si le filtre est absent

uses
appliquer_filtre_sinon()
Return values
string

texte traité par le filtre si le filtre existe, texte d'origine sinon

spip_version()

Retourne la version de SPIP

spip_version() : string

Si l'on retrouve un numéro de révision GIT ou SVN, il est ajouté entre crochets. Si effectivement le SPIP est installé par Git ou Svn, 'GIT' ou 'SVN' est ajouté avant sa révision.

Tags
global

string $spip_version_affichee Contient la version de SPIP

uses
version_vcs_courante()

Pour trouver le numéro de révision

Return values
string

Version de SPIP

header_silencieux()

Masque la version de SPIP si la globale spip_header_silencieux le demande.

header_silencieux(string $version) : string
Parameters
$version : string
Tags
global

bool $spip_header_silencieux permet de rendre le header minimal pour raisons de securité

Return values
string

version_vcs_courante()

Retourne une courte description d’une révision VCS d’un répertoire

version_vcs_courante(string $dir[, array<string|int, mixed> $raw = false ]) : mixed
Parameters
$dir : string

Le répertoire à tester

$raw : array<string|int, mixed> = false

True pour avoir les données brutes, false pour un texte à afficher

Tags
retun

string|array|null

  • array|null si $raw = true,
  • string|null si $raw = false
used-by
spip_version()

Pour trouver le numéro de révision

decrire_version_git()

Retrouve un numéro de révision Git d'un répertoire

decrire_version_git(string $dir) : array<string|int, mixed>|null
Parameters
$dir : string

Chemin du répertoire

Return values
array<string|int, mixed>|null

null si aucune info trouvée array ['branch' => xx, 'commit' => yy] sinon.

filtrer()

Charge et exécute un filtre (graphique ou non)

filtrer(string $filtre) : string

Recherche la fonction prévue pour un filtre (qui peut être un filtre graphique image_*) et l'exécute avec les arguments transmis à la fonction, obtenus avec func_get_args()

Parameters
$filtre : string

Nom du filtre à appliquer

Tags
uses
image_filtrer()

Pour un filtre image

uses
chercher_filtre()

Pour un autre filtre

Return values
string

Code HTML retourné par le filtre

trouver_filtre_matrice()

Cherche un filtre spécial indiqué dans la globale `spip_matrice` et charge le fichier éventuellement associé contenant le filtre.

trouver_filtre_matrice(string $filtre) : bool

Les filtres d'images par exemple sont déclarés de la sorte, tel que :

$GLOBALS['spip_matrice']['image_reduire'] = true;
$GLOBALS['spip_matrice']['image_monochrome'] = 'filtres/images_complements.php';
Parameters
$filtre : string
Return values
bool

true si on trouve le filtre dans la matrice, false sinon.

filtre_set()

Filtre `set` qui sauve la valeur en entrée dans une variable

filtre_set(array<string|int, mixed> &$Pile, mixed $val, string $key[, bool $continue = null ]) : mixed

La valeur pourra être retrouvée avec #GET{variable}.

Parameters
$Pile : array<string|int, mixed>

Pile de données

$val : mixed

Valeur à sauver

$key : string

Clé d'enregistrement

$continue : bool = null

True pour retourner la valeur

Tags
example

[(#CALCUL|set{toto})] enregistre le résultat de #CALCUL dans la variable toto et renvoie vide. C'est équivalent à [(#SET{toto, #CALCUL})] dans ce cas. #GET{toto} retourne la valeur sauvegardée.

example

[(#CALCUL|set{toto,1})] enregistre le résultat de #CALCUL dans la variable toto et renvoie la valeur. Cela permet d'utiliser d'autres filtres ensuite. #GET{toto} retourne la valeur.

filtre

filtre_setenv()

Filtre `setenv` qui enregistre une valeur dans l'environnement du squelette

filtre_setenv(array<string|int, mixed> &$Pile, mixed $val, mixed $key[, null|mixed $continue = null ]) : string|mixed

La valeur pourra être retrouvée avec #ENV{variable}.

Parameters
$Pile : array<string|int, mixed>
$val : mixed

Valeur à enregistrer

$key : mixed

Nom de la variable

$continue : null|mixed = null

Si présent, retourne la valeur en sortie

Tags
example

[(#CALCUL|setenv{toto})] enregistre le résultat de #CALCUL dans l'environnement toto et renvoie vide. #ENV{toto} retourne la valeur.

[(#CALCUL|setenv{toto,1})] enregistre le résultat de #CALCUL dans l'environnement toto et renvoie la valeur. #ENV{toto} retourne la valeur.

filtre
Return values
string|mixed

Retourne $val si $continue présent, sinon ''.

filtre_sanitize_env()

filtre_sanitize_env(array<string|int, mixed> &$Pile, array<string|int, mixed>|string $keys) : string
Parameters
$Pile : array<string|int, mixed>
$keys : array<string|int, mixed>|string
Return values
string

filtre_debug()

Filtre `debug` qui affiche un debug de la valeur en entrée

filtre_debug(mixed $val[, mixed|null $key = null ]) : mixed

Log la valeur dans debug.log et l'affiche si on est webmestre.

Parameters
$val : mixed

La valeur à debugguer

$key : mixed|null = null

Clé pour s'y retrouver

Tags
example

[(#TRUC|debug)] affiche et log la valeur de #TRUC

example

[(#TRUC|debug{avant}|calcul|debug{apres}|etc)] affiche la valeur de #TRUC avant et après le calcul, en précisant "avant" et "apres".

filtre
link
https://www.spip.net/5695
Return values
mixed

Retourne la valeur (sans la modifier).

image_filtrer()

Exécute un filtre image

image_filtrer(array<string|int, mixed> $args) : string

Fonction générique d'entrée des filtres images. Accepte en entrée :

  • un texte complet,
  • un img-log (produit par #LOGO_XX),
  • un tag <img ...> complet,
  • un nom de fichier local (passer le filtre |copie_locale si on veut l'appliquer à un document distant).

Applique le filtre demande à chacune des occurrences

Parameters
$args : array<string|int, mixed>

Liste des arguments :

  • le premier est le nom du filtre image à appliquer
  • le second est le texte sur lequel on applique le filtre
  • les suivants sont les arguments du filtre image souhaité.
Tags
used-by
filtrer()

Pour un filtre image

Return values
string

texte qui a reçu les filtres

infos_image()

Retourne les informations d'une image

infos_image(string $img[, mixed $force_refresh = false ]) : array<string|int, mixed>

Pour les filtres largeur et hauteur taille_image et poids_image

Parameters
$img : string

Balise HTML <img ... /> ou chemin de l'image (qui peut être une URL distante).

$force_refresh : mixed = false
Return values
array<string|int, mixed>

largeur hauteur poids

poids_image()

Retourne les dimensions d'une image

poids_image(string $img[, mixed $force_refresh = false ]) : array<string|int, mixed>

Pour les filtres largeur et hauteur

Parameters
$img : string

Balise HTML <img ... /> ou chemin de l'image (qui peut être une URL distante).

$force_refresh : mixed = false
Return values
array<string|int, mixed>

largeur hauteur poids

taille_image()

taille_image(mixed $img[, mixed $force_refresh = false ]) : mixed
Parameters
$img : mixed
$force_refresh : mixed = false

largeur()

Retourne la largeur d'une image

largeur(string $img) : int|null
Parameters
$img : string

Balise HTML <img ... /> ou chemin de l'image (qui peut être une URL distante).

Tags
filtre
link
https://www.spip.net/4296
uses
taille_image()
see
hauteur()
Return values
int|null

Largeur en pixels, NULL ou 0 si aucune image.

hauteur()

Retourne la hauteur d'une image

hauteur(string $img) : int|null
Parameters
$img : string

Balise HTML <img ... /> ou chemin de l'image (qui peut être une URL distante).

Tags
filtre
link
https://www.spip.net/4291
uses
taille_image()
see
largeur()
Return values
int|null

Hauteur en pixels, NULL ou 0 si aucune image.

corriger_entites_html()

Échappement des entités HTML avec correction des entités « brutes »

corriger_entites_html(string $texte) : string

Ces entités peuvent être générées par les butineurs lorsqu'on rentre des caractères n'appartenant pas au charset de la page [iso-8859-1 par défaut]

Attention on limite cette correction aux caracteres « hauts » (en fait > 99 pour aller plus vite que le > 127 qui serait logique), de manière à préserver des eéhappements de caractères « bas » (par exemple [ ou ") et au cas particulier de &amp; qui devient &amp;amp; dans les URL

Parameters
$texte : string
Tags
see
corriger_toutes_entites_html()
used-by
entites_html()
Return values
string

corriger_toutes_entites_html()

Échappement des entités HTML avec correction des entités « brutes » ainsi que les `&amp;eacute;` en `&eacute;`

corriger_toutes_entites_html(string $texte) : string

Identique à corriger_entites_html() en corrigeant aussi les &amp;eacute; en &eacute;

Parameters
$texte : string
Tags
see
corriger_entites_html()
used-by
entites_html()
Return values
string

proteger_amp()

Échappe les `&` en `&amp;`

proteger_amp(string $texte) : string
Parameters
$texte : string
Return values
string

entites_html()

Échappe en entités HTML certains caractères d'un texte

entites_html(string $texte[, bool $tout = false ][, bool $quote = true ]) : mixed|string

Traduira un code HTML en transformant en entités HTML les caractères en dehors du charset de la page ainsi que les ", < et >.

Ceci permet d’insérer le texte d’une balise dans un <textarea> </textarea> sans dommages.

Parameters
$texte : string

chaine a echapper

$tout : bool = false

corriger toutes les &amp;xx; en &xx;

$quote : bool = true

Échapper aussi les simples quotes en &#039;

Tags
filtre
link
https://www.spip.net/4280
uses
echappe_html()
uses
echappe_retour()
uses
proteger_amp()
uses
corriger_entites_html()
uses
corriger_toutes_entites_html()
used-by
vider_url()
Return values
mixed|string

supprimer_caracteres_illegaux()

Supprime des caractères illégaux

supprimer_caracteres_illegaux(string|array<string|int, mixed> $texte) : string|array<string|int, mixed>

Remplace les caractères de controle par le caractère -

Parameters
$texte : string|array<string|int, mixed>
Tags
link
http://www.w3.org/TR/REC-xml/#charsets
Return values
string|array<string|int, mixed>

corriger_caracteres()

Correction de caractères

corriger_caracteres(string|array<string|int, mixed> $texte) : string|array<string|int, mixed>

Supprimer les caracteres windows non conformes et les caracteres de controle illégaux

Parameters
$texte : string|array<string|int, mixed>
Tags
used-by
translitteration()
used-by
corriger_typo()
used-by
corriger_typo()
Return values
string|array<string|int, mixed>

texte_backend()

Encode du HTML pour transmission XML notamment dans les flux RSS

texte_backend(string|null $texte) : string

Ce filtre transforme les liens en liens absolus, importe les entitées html et échappe les tags html.

Parameters
$texte : string|null

texte à transformer

Tags
filtre
link
https://www.spip.net/4287
used-by
texte_backendq()
used-by
attribut_html()
Return values
string

texte encodé pour XML

texte_backendq()

Encode et quote du HTML pour transmission XML notamment dans les flux RSS

texte_backendq(string|null $texte) : string

Comme texte_backend(), mais avec addslashes final pour squelettes avec PHP (rss)

Parameters
$texte : string|null

texte à transformer

Tags
uses
texte_backend()
filtre
Return values
string

texte encodé et quote pour XML

supprimer_numero()

Enlève un numéro préfixant un texte

supprimer_numero(string|null $texte) : string

Supprime 10. dans la chaine 10. Titre

Parameters
$texte : string|null

Texte

Tags
filtre
link
https://www.spip.net/4314
see
recuperer_numero()

Pour obtenir le numéro

example
[<h1>(#TITRE|supprimer_numero)</h1>]
Return values
string

Texte sans son numéro éventuel

recuperer_numero()

Récupère un numéro préfixant un texte

recuperer_numero(string|null $texte) : string

Récupère le numéro 10 dans la chaine 10. Titre

Parameters
$texte : string|null

Texte

Tags
filtre
link
https://www.spip.net/5514
see
supprimer_numero()

Pour supprimer le numéro

see
balise_RANG_dist()

Pour obtenir un numéro de titre

example
[(#TITRE|recuperer_numero)]
Return values
string

Numéro de titre, sinon chaîne vide

supprimer_tags()

Suppression basique et brutale de tous les tags

supprimer_tags(string|array<string|int, mixed>|null $texte[, string $rempl = '' ]) : string|array<string|int, mixed>

Supprime tous les tags <...>. Utilisé fréquemment pour écrire des RSS.

Parameters
$texte : string|array<string|int, mixed>|null

texte ou tableau de textes à échapper

$rempl : string = ''

Inutilisé.

Tags
filtre
link
https://www.spip.net/4315
example
<title>[(#TITRE|supprimer_tags|texte_backend)]</title>
note

Ce filtre supprime aussi les signes inférieurs < rencontrés.

Return values
string|array<string|int, mixed>

texte ou tableau de textes converti

echapper_tags()

Convertit les chevrons de tag en version lisible en HTML

echapper_tags(string $texte[, string $rempl = '' ]) : string

Transforme les chevrons de tag <...> en entité HTML.

Parameters
$texte : string

texte à échapper

$rempl : string = ''

Inutilisé.

Tags
filtre
link
https://www.spip.net/5515
example
<pre>[(#TEXTE|echapper_tags)]</pre>
Return values
string

texte converti

liens_ouvrants()

Remplace les liens SPIP en liens ouvrant dans une nouvelle fenetre (target=blank)

liens_ouvrants(string $texte) : string
Parameters
$texte : string

texte avec des liens

Tags
filtre
link
https://www.spip.net/4297
Return values
string

texte avec liens ouvrants

liens_nofollow()

Ajouter un attribut rel="nofollow" sur tous les liens d'un texte

liens_nofollow(string $texte) : string
Parameters
$texte : string
Return values
string

PtoBR()

Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`

PtoBR(string $texte) : string
Parameters
$texte : string

texte à transformer

Tags
filtre
link
https://www.spip.net/4308
example
[<div>(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]</div>]
Return values
string

texte sans paraghaphes

majuscules()

Passe un texte en majuscules, y compris les accents, en HTML

majuscules(string $texte) : string

Encadre le texte du style CSS text-transform: uppercase;. Le cas spécifique du i turc est géré.

Parameters
$texte : string

texte

Tags
filtre
example
[(#EXTENSION|majuscules)]
Return values
string

texte en majuscule

taille_en_octets()

Renvoie une taille de dossier ou de fichier humainement lisible en ajustant le format et l'unité.

taille_en_octets(int $octets[, string $systeme = 'BI' ]) : string

La fonction renvoie la valeur et l'unité en fonction du système utilisé (binaire ou décimal).

Parameters
$octets : int

Taille d'un dossier ou fichier en octets

$systeme : string = 'BI'

Système d'unité dans lequel calculer et afficher la taille lisble. Vaut BI (défaut) ou SI.

Tags
example
  • [(#TAILLE|taille_en_octets)] affiche xxx.x Mio
  • [(#VAL{123456789}|taille_en_octets{BI})] affiche 117.7 Mio
  • [(#VAL{123456789}|taille_en_octets{SI})] affiche 123.5 Mo
filtre
Return values
string

Taille affichée de manière humainement lisible

attribut_html()

Rend une chaine utilisable sans dommage comme attribut HTML

attribut_html(string|null $texte[, bool $textebrut = true ]) : string
Parameters
$texte : string|null

texte à mettre en attribut

$textebrut : bool = true

Passe le texte en texte brut (enlève les balises html) ?

Tags
example

<a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">#TITRE</a>

filtre
link
https://www.spip.net/4282
uses
textebrut()
uses
texte_backend()
used-by
inserer_attribut()
Return values
string

texte prêt pour être utilisé en attribut HTML

vider_url()

Vider les URL nulles

vider_url(string $url[, bool $entites = true ]) : string
  • Vide les URL vides comme http:// ou mailto: (sans rien d'autre)
  • échappe les entités et gère les &amp;
Parameters
$url : string

URL à vérifier et échapper

$entites : bool = true

true pour échapper les entités HTML.

Tags
uses
entites_html()
Return values
string

URL ou chaîne vide

antispam()

Maquiller une adresse e-mail

antispam(string $texte) : string

Remplace @ par 3 caractères aléatoires.

Parameters
$texte : string

Adresse email

Tags
uses
creer_pass_aleatoire()
Return values
string

Adresse email maquillée

filtre_securiser_acces_dist()

Vérifie un accès à faible sécurité

filtre_securiser_acces_dist(int $id_auteur, string $cle, string $dir[, string $op = '' ][, string $args = '' ]) : bool

Vérifie qu'un visiteur peut accéder à la page demandée, qui est protégée par une clé, calculée à partir du low_sec de l'auteur, et des paramètres le composant l'appel (op, args)

Parameters
$id_auteur : int

L'auteur qui demande la page

$cle : string

La clé à tester

$dir : string

Un type d'accès (nom du répertoire dans lequel sont rangés les squelettes demandés, tel que 'rss')

$op : string = ''

Nom de l'opération éventuelle

$args : string = ''

Nom de l'argument calculé

Tags
example

[(#ID_AUTEUR|securiser_acces{#ENV{cle}, rss, #ENV{op}, #ENV{args}}|sinon_interdire_acces)]

see
bouton_spip_rss()

pour générer un lien de faible sécurité pour les RSS privés

see
afficher_low_sec()

pour calculer une clé valide

uses
verifier_low_sec()
filtre
Return values
bool

True si on a le droit d'accès, false sinon.

sinon()

Retourne le second paramètre lorsque le premier est considere vide, sinon retourne le premier paramètre.

sinon(mixed $texte[, mixed $sinon = '' ]) : mixed

En php sinon($a, 'rien') retourne $a, ou 'rien' si $a est vide.

Parameters
$texte : mixed

Contenu de reference a tester

$sinon : mixed = ''

Contenu a retourner si le contenu de reference est vide

Tags
filtre
see
filtre_logique()

pour la compilation du filtre dans un squelette

link
https://www.spip.net/4313
note

L'utilisation de |sinon en tant que filtre de squelette est directement compilé dans public/references par la fonction filtre_logique()

Return values
mixed

Retourne $texte, sinon $sinon.

choixsivide()

Filtre `|choixsivide{vide, pas vide}` alias de `|?{si oui, si non}` avec les arguments inversés

choixsivide(mixed $a, mixed $vide, mixed $pasvide) : mixed
Parameters
$a : mixed

La valeur à tester

$vide : mixed

Ce qui est retourné si $a est considéré vide

$pasvide : mixed

Ce qui est retourné sinon

Tags
example

[(#TEXTE|choixsivide{vide, plein})] affiche vide si le #TEXTE est considéré vide par PHP (chaîne vide, false, 0, tableau vide, etc…). C'est l'équivalent de [(#TEXTE|?{plein, vide})]

filtre
see
choixsiegal()
link
https://www.spip.net/4189

choixsiegal()

Filtre `|choixsiegal{valeur, sioui, sinon}`

choixsiegal(mixed $a1, mixed $a2, mixed $v, mixed $f) : mixed
Parameters
$a1 : mixed

La valeur à tester

$a2 : mixed

La valeur de comparaison

$v : mixed

Ce qui est retourné si la comparaison est vraie

$f : mixed

Ce qui est retourné sinon

Tags
example

#LANG_DIR|choixsiegal{ltr,left,right} retourne left si #LANG_DIR vaut ltr et right sinon.

filtre
link
https://www.spip.net/4148

filtrer_ical()

Adapte un texte pour être inséré dans une valeur d'un export ICAL

filtrer_ical(string $texte) : string

Passe le texte en utf8, enlève les sauts de lignes et échappe les virgules.

Parameters
$texte : string
Tags
example

SUMMARY:[(#TITRE|filtrer_ical)]

filtre
Return values
string

post_autobr()

Transforme les sauts de ligne simples en sauts forcés avec `_ `

post_autobr(string $texte[, string $delim = " _ " ]) : string

Ne modifie pas les sauts de paragraphe (2 sauts consécutifs au moins), ou les retours à l'intérieur de modèles ou de certaines balises html.

Parameters
$texte : string
$delim : string = " _ "

Ce par quoi sont remplacés les sauts

Tags
note

Cette fonction pouvait être utilisée pour forcer les alinéas, (retours à la ligne sans saut de paragraphe), mais ce traitement est maintenant automatique. Cf. plugin Textwheel et la constante _AUTOBR

uses
echappe_html()
uses
echappe_retour()
Return values
string

extraire_idiome()

Extrait une langue des extraits idiomes (`<:module:cle_de_langue:>`)

extraire_idiome(string $letexte[, string $lang = null ][, array<string|int, mixed> $options = [] ]) : string

Retrouve les balises <:cle_de_langue:> d'un texte et remplace son contenu par l'extrait correspondant à la langue demandée (si possible), sinon dans la langue par défaut du site.

Ne pas mettre de span@lang=fr si on est déjà en fr.

Parameters
$letexte : string
$lang : string = null

Langue à retrouver (si vide, utilise la langue en cours).

$options : array<string|int, mixed> = []

Options { @var bool $echappe_span True pour échapper les balises span (false par défaut) @var string $lang_defaut Code de langue : permet de définir la langue utilisée par défaut, en cas d'absence de traduction dans la langue demandée. Par défaut la langue du site. Indiquer 'aucune' pour ne pas retourner de texte si la langue exacte n'a pas été trouvée. }

Tags
filtre
uses
inc_traduire_dist()
Return values
string

extraire_multi()

Extrait une langue des extraits polyglottes (`<multi>`)

extraire_multi(string $letexte[, string $lang = null ][, array<string|int, mixed> $options = [] ]) : string

Retrouve les balises <multi> d'un texte et remplace son contenu par l'extrait correspondant à la langue demandée.

Si la langue demandée n'est pas trouvée dans le multi, ni une langue approchante (exemple fr si on demande fr_TU), on retourne l'extrait correspondant à la langue par défaut (option 'lang_defaut'), qui est par défaut la langue du site. Et si l'extrait n'existe toujours pas dans cette langue, ça utilisera la première langue utilisée dans la balise <multi>.

Ne pas mettre de span@lang=fr si on est déjà en fr.

Parameters
$letexte : string
$lang : string = null

Langue à retrouver (si vide, utilise la langue en cours).

$options : array<string|int, mixed> = []

Options { @var bool $echappe_span True pour échapper les balises span (false par défaut) @var string $lang_defaut Code de langue : permet de définir la langue utilisée par défaut, en cas d'absence de traduction dans la langue demandée. Par défaut la langue du site. Indiquer 'aucune' pour ne pas retourner de texte si la langue exacte n'a pas été trouvée. }

Tags
filtre
link
https://www.spip.net/5332
Return values
string

filtre_initiale()

Calculer l'initiale d'un nom

filtre_initiale(string $nom) : string
Parameters
$nom : string
Return values
string

L'initiale en majuscule

unique()

Retourne la donnée si c'est la première fois qu'il la voit

unique(string $donnee[, string $famille = '' ][, bool $cpt = false ]) : string|int|array<string|int, mixed>|null|void

Il est possible de gérer différentes "familles" de données avec le second paramètre.

Parameters
$donnee : string

Donnée que l'on souhaite unique

$famille : string = ''

Famille de stockage (1 unique donnée par famille)

  • spip_raz : (interne) Vide la pile de mémoire et la retourne
  • spip_set : (interne) Affecte la pile de mémoire avec la donnée
$cpt : bool = false

True pour obtenir le nombre d'éléments différents stockés

Tags
filtre
link
https://www.spip.net/4320
example
[(#ID_SECTEUR|unique)]
[(#ID_SECTEUR|unique{tete})] n'a pas d'incidence sur
[(#ID_SECTEUR|unique{pied})]
[(#ID_SECTEUR|unique{pied,1})] affiche le nombre d'éléments.
Préférer totefois #TOTAL_UNIQUE{pied}
todo

Ameliorations possibles :

  1. si la donnée est grosse, mettre son md5 comme clé
  2. purger $mem quand on change de squelette (sinon bug inclusions)
Return values
string|int|array<string|int, mixed>|null|void
  • string : Donnée si c'est la première fois qu'elle est vue
  • void : si la donnée a déjà été vue
  • int : si l'on demande le nombre d'éléments
  • array (interne) : si on dépile
  • null (interne) : si on empile

alterner()

Filtre qui alterne des valeurs en fonction d'un compteur

alterner(int $i, array<string|int, mixed> ...$args) : mixed

Affiche à tour de rôle et dans l'ordre, un des arguments transmis à chaque incrément du compteur.

S'il n'y a qu'un seul argument, et que c'est un tableau, l'alternance se fait sur les valeurs du tableau.

Souvent appliqué à l'intérieur d'une boucle, avec le compteur #COMPTEUR_BOUCLE

Parameters
$i : int

Le compteur

$args : array<string|int, mixed>

Liste des éléments à alterner

Tags
example
  • [(#COMPTEUR_BOUCLE|alterner{bleu,vert,rouge})]
  • [(#COMPTEUR_BOUCLE|alterner{#LISTE{bleu,vert,rouge}})]
filtre
link
https://www.spip.net/4145
Return values
mixed

Une des valeurs en fonction du compteur.

extraire_attribut()

Récupérer un attribut d'une balise HTML

extraire_attribut(string|array<string|int, mixed> $balise, string $attribut[, bool $complet = false ]) : string|array<string|int, mixed>|null

la regexp est mortelle : cf. tests/unit/filtres/extraire_attribut.php Si on a passé un tableau de balises, renvoyer un tableau de résultats (dans ce cas l'option $complet n'est pas disponible)

Parameters
$balise : string|array<string|int, mixed>

texte ou liste de textes dont on veut extraire des balises

$attribut : string

Nom de l'attribut désiré

$complet : bool = false

true pour retourner un tableau avec

  • le texte de la balise
  • l'ensemble des résultats de la regexp ($r)
Return values
string|array<string|int, mixed>|null
  • texte de l'attribut retourné, ou tableau des textes d'attributs (si 1er argument tableau)
  • Tableau complet (si 2e argument)
  • null lorsque l’attribut n’existe pas.

inserer_attribut()

Insérer (ou modifier) un attribut html dans une balise

inserer_attribut(string|null $balise, string $attribut, string|null $val[, bool $proteger = true ][, bool $vider = false ]) : string
Parameters
$balise : string|null

Code html de la balise (ou contenant une balise)

$attribut : string

Nom de l'attribut html à modifier

$val : string|null

Valeur de l'attribut à appliquer

$proteger : bool = true

Prépare la valeur en tant qu'attribut de balise (mais conserve les balises html).

$vider : bool = false

True pour vider l'attribut. Une chaîne vide pour $val fera pareil.

Tags
example
  • [(#LOGO_ARTICLE|inserer_attribut{class, logo article})]
  • [(#LOGO_ARTICLE|inserer_attribut{alt, #TTTRE|attribut_html|couper{60}})]
  • [(#FICHIER|image_reduire{40}|inserer_attribut{data-description, #DESCRIPTIF})] Laissera les balises HTML de la valeur (ici #DESCRIPTIF) si on n'applique pas le filtre attribut_html dessus.
filtre
link
https://www.spip.net/4294
uses
attribut_html()
uses
extraire_attribut()
used-by
vider_attribut()
used-by
_image_valeurs_trans()
used-by
_image_tag_changer_taille()
used-by
_image_ecrire_tag()
used-by
process_image_reduire()
Return values
string

Code html modifié

vider_attribut()

Supprime un attribut HTML

vider_attribut(string|null $balise, string $attribut) : string
Parameters
$balise : string|null

Code HTML de l'élément

$attribut : string

Nom de l'attribut à enlever

Tags
example

[(#LOGO_ARTICLE|vider_attribut{class})]

filtre
link
https://www.spip.net/4142
uses
inserer_attribut()
see
extraire_attribut()
Return values
string

Code HTML sans l'attribut

modifier_class()

Fonction support pour les filtres |ajouter_class |supprimer_class |commuter_class

modifier_class(string $balise, string|array<string|int, mixed> $class[, string $operation = 'ajouter' ]) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
$operation : string = 'ajouter'
Return values
string

ajouter_class()

Ajoute une ou plusieurs classes sur une balise (si pas deja presentes)

ajouter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
Return values
string

supprimer_class()

Supprime une ou plusieurs classes sur une balise (si presentes)

supprimer_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
Return values
string

commuter_class()

Bascule une ou plusieurs classes sur une balise : ajoutees si absentes, supprimees si presentes

commuter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
Return values
string

tester_config()

Un filtre pour déterminer le nom du statut des inscrits

tester_config(int|null $id[, string $mode = '' ]) : string
Parameters
$id : int|null
$mode : string = ''
Return values
string

floatstr()

floatstr(mixed $a) : mixed
Parameters
$a : mixed

strize()

strize(mixed $f, mixed $a, mixed $b) : mixed
Parameters
$f : mixed
$a : mixed
$b : mixed

strplus()

strplus(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

strmoins()

strmoins(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

strmult()

strmult(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

strdiv()

strdiv(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

modulo()

Retourne le modulo 2 nombres

modulo(int $nb, int $mod[, int $add = 0 ]) : int
Parameters
$nb : int
$mod : int
$add : int = 0
Tags
filtre
link
https://www.spip.net/4301
see
mult()
see
div()
example
[(#VAL{28}|modulo{14})]
Return values
int

($nb % $mod) + $add

nom_acceptable()

Vérifie qu'un nom (d'auteur) ne comporte pas d'autres tags que <multi> et ceux volontairement spécifiés dans la constante

nom_acceptable(string $nom) : bool
Parameters
$nom : string

Nom (signature) proposé

Return values
bool
  • false si pas conforme,
  • true sinon

email_valide()

Vérifier la conformité d'une ou plusieurs adresses email (suivant RFC 822)

email_valide(string|array<string|int, mixed> $adresses) : bool|string|array<string|int, mixed>
Parameters
$adresses : string|array<string|int, mixed>

Adresse ou liste d'adresse si on fournit un tableau, il est filtre et la fonction renvoie avec uniquement les adresses email valides (donc possiblement vide)

Return values
bool|string|array<string|int, mixed>
  • false si une des adresses n'est pas conforme,
  • la normalisation de la dernière adresse donnée sinon
  • renvoie un tableau si l'entree est un tableau

afficher_enclosures()

Permet d'afficher un symbole à côté des liens pointant vers les documents attachés d'un article (liens ayant `rel=enclosure`).

afficher_enclosures(string $tags) : string
Parameters
$tags : string

texte

Tags
filtre
link
https://www.spip.net/4134
Return values
string

texte

afficher_tags()

Filtre des liens HTML `<a>` selon la valeur de leur attribut `rel` et ne retourne que ceux là.

afficher_tags(string $tags[, string $rels = 'tag,directory' ]) : string
Parameters
$tags : string

texte

$rels : string = 'tag,directory'

Attribut rel à capturer (ou plusieurs séparés par des virgules)

Tags
filtre
link
https://www.spip.net/4187
Return values
string

Liens trouvés

enclosure2microformat()

Convertir les médias fournis par un flux RSS (podcasts) en liens conformes aux microformats

enclosure2microformat(string $e) : string

Passe un <enclosure url="fichier" length="5588242" type="audio/mpeg"/> au format microformat <a rel="enclosure" href="fichier" ...>fichier</a>.

Peut recevoir un <link ou un <media:content parfois.

Attention : length="zz" devient title="zz", pour rester conforme.

Parameters
$e : string

Tag RSS <enclosure>

Tags
filtre
see
microformat2enclosure()

Pour l'inverse

Return values
string

Tag HTML <a> avec microformat.

microformat2enclosure()

Convertir les liens conformes aux microformats en médias pour flux RSS, par exemple pour les podcasts

microformat2enclosure(string $tags) : string

Passe un texte ayant des liens avec microformat <a rel="enclosure" href="fichier" ...>fichier</a> au format RSS <enclosure url="fichier" ... />.

Parameters
$tags : string

texte HTML ayant des tag <a> avec microformat

Tags
filtre
see
enclosure2microformat()

Pour l'inverse

Return values
string

Tags RSS <enclosure>.

tags2dcsubject()

Créer les éléments ATOM `<dc:subject>` à partir des tags

tags2dcsubject(string $tags) : string

Convertit les liens avec attribut rel="tag" en balise <dc:subject></dc:subject> pour les flux RSS au format Atom.

Parameters
$tags : string

texte

Tags
filtre
Return values
string

Tags RSS Atom <dc:subject>.

extraire_balise()

Retourne la premiere balise html du type demandé

extraire_balise(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, mixed $profondeur = 1 ]) : string|array<string|int, mixed>

Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.

Parameters
$texte : string|array<string|int, mixed>

texte(s) dont on souhaite extraire une balise html

$tag : string = 'a'

Nom de la balise html à extraire

$profondeur : mixed = 1
Tags
example

[(#DESCRIPTIF|extraire_balise{img})]

filtre
link
https://www.spip.net/4289
see
extraire_balises()
note

Attention : les résultats peuvent être incohérents sur des balises imbricables, tel que demander à extraire div dans le texte <div> un <div> mot </div> absent </div>, ce qui retournerait <div> un <div> mot </div> donc.

Return values
string|array<string|int, mixed>
  • Code html de la première occurence de la balise trouvée, sinon chaine vide
  • Tableau de résultats, si tableau en entrée.

extraire_balises()

Extrait toutes les balises html du type demandé

extraire_balises(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>

Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.

Parameters
$texte : string|array<string|int, mixed>

texte(s) dont on souhaite extraire une balise html

$tag : string = 'a'

Nom de la balise html à extraire

$options : array<string|int, mixed> = []

int nb_max : nombre d'occurence maxi à extraire int profondeur : niveau de profondeur d'extraction en cas d'intrication de balises identiques

Tags
example

[(#TEXTE|extraire_balises{img}|implode{" - "})]

filtre
link
https://www.spip.net/5618
see
extraire_balise()
used-by
wrap()
Return values
array<string|int, mixed>
  • Liste des codes html des occurrences de la balise, sinon tableau vide
  • Tableau de résultats, si tableau en entrée.

in_any()

Indique si le premier argument est contenu dans le second

in_any(string $val, array<string|int, mixed>|string $vals[, string $def = '' ]) : string

Cette fonction est proche de in_array() en PHP avec comme principale différence qu'elle ne crée pas d'erreur si le second argument n'est pas un tableau (dans ce cas elle tentera de le désérialiser, et sinon retournera la valeur par défaut transmise).

Parameters
$val : string

Valeur à chercher dans le tableau

$vals : array<string|int, mixed>|string

Tableau des valeurs. S'il ce n'est pas un tableau qui est transmis, la fonction tente de la désérialiser.

$def : string = ''

Valeur par défaut retournée si $vals n'est pas un tableau.

Tags
example

[(#VAL{deux}|in_any{#LISTE{un,deux,trois}}|oui) ... ]

filtre
see
filtre_find()

Assez proche, avec les arguments valeur et tableau inversés.

Return values
string
  • ' ' si la valeur cherchée est dans le tableau
  • '' si la valeur n'est pas dans le tableau
  • $def si on n'a pas transmis de tableau

valeur_numerique()

Retourne le résultat d'une expression mathématique simple

valeur_numerique(string $expr) : int

N'accepte que les *, + et - (à ameliorer si on l'utilise vraiment).

Parameters
$expr : string

Expression mathématique nombre operateur nombre comme 3*2

Tags
filtre
example
valeur_numerique("3*2") retourne 6
Return values
int

Résultat du calcul

regledetrois()

Retourne un calcul de règle de trois

regledetrois(int $a, int $b, int $c) : int
Parameters
$a : int
$b : int
$c : int
Tags
filtre
example
[(#VAL{6}|regledetrois{4,3})] retourne 8
Return values
int

Retourne $a*$b/$c

form_hidden()

Crée des tags HTML input hidden pour chaque paramètre et valeur d'une URL

form_hidden([string|null $action = '' ]) : string

Fournit la suite de Input-Hidden correspondant aux paramètres de l'URL donnée en argument, compatible avec les types_urls

Parameters
$action : string|null = ''

URL

Tags
filtre
link
https://www.spip.net/4286
see
balise_ACTION_FORMULAIRE()

Également pour transmettre les actions à un formulaire

example
[(#ENV{action}|form_hidden)] dans un formulaire
Return values
string

Suite de champs input hidden

filtre_reset()

Retourne la première valeur d'un tableau

filtre_reset(array<string|int, mixed> $array) : mixed|null|false

Plus précisément déplace le pointeur du tableau sur la première valeur et la retourne.

Parameters
$array : array<string|int, mixed>
Tags
example

[(#LISTE{un,deux,trois}|reset)] retourne 'un'

filtre
link
http://php.net/manual/fr/function.reset.php
see
filtre_end()
Return values
mixed|null|false
  • null si $array n'est pas un tableau,
  • false si le tableau est vide
  • la première valeur du tableau sinon.

filtre_end()

Retourne la dernière valeur d'un tableau

filtre_end(array<string|int, mixed> $array) : mixed|null|false

Plus précisément déplace le pointeur du tableau sur la dernière valeur et la retourne.

Parameters
$array : array<string|int, mixed>
Tags
example

[(#LISTE{un,deux,trois}|end)] retourne 'trois'

filtre
link
http://php.net/manual/fr/function.end.php
see
filtre_reset()
Return values
mixed|null|false
  • null si $array n'est pas un tableau,
  • false si le tableau est vide
  • la dernière valeur du tableau sinon.

filtre_push()

Empile une valeur à la fin d'un tableau

filtre_push(array<string|int, mixed> $array, mixed $val) : array<string|int, mixed>|string
Parameters
$array : array<string|int, mixed>
$val : mixed
Tags
example

[(#LISTE{un,deux,trois}|push{quatre}|print)]

filtre
link
https://www.spip.net/4571
link
http://php.net/manual/fr/function.array-push.php
Return values
array<string|int, mixed>|string
  • '' si $array n'est pas un tableau ou si echec.
  • le tableau complété de la valeur sinon.

filtre_find()

Indique si une valeur est contenue dans un tableau

filtre_find(array<string|int, mixed> $array, mixed $val) : bool
Parameters
$array : array<string|int, mixed>
$val : mixed
Tags
example

[(#LISTE{un,deux,trois}|find{quatre}|oui) ... ]

filtre
link
https://www.spip.net/4575
see
in_any()

Assez proche, avec les paramètres tableau et valeur inversés.

Return values
bool
  • false si $array n'est pas un tableau
  • true si la valeur existe dans le tableau, false sinon.

urls_absolues_css()

Passer les url relatives à la css d'origine en url absolues

urls_absolues_css(string $contenu, string $source) : string
Parameters
$contenu : string

Contenu du fichier CSS

$source : string

Chemin du fichier CSS

Tags
uses
suivre_lien()
used-by
url_absolue_css()
used-by
produire_fond_statique()
Return values
string

Contenu avec urls en absolus

direction_css()

Inverse le code CSS (left <--> right) d'une feuille de style CSS

direction_css(string $css[, string $voulue = '' ]) : string

Récupère le chemin d'une CSS existante et :

  1. regarde si une CSS inversée droite-gauche existe dans le meme répertoire
  2. sinon la crée (ou la recrée) dans _DIR_VAR/cache_css/

Si on lui donne à manger une feuille nommée *_rtl.css il va faire l'inverse.

Parameters
$css : string

Chemin vers le fichier CSS

$voulue : string = ''

Permet de forcer le sens voulu (en indiquant ltr, rtl ou un code de langue). En absence, prend le sens de la langue en cours.

Tags
filtre
example
[<link rel="stylesheet" href="(#CHEMIN{css/perso.css}|direction_css)" type="text/css" />]
Return values
string

Chemin du fichier CSS inversé

url_absolue_css()

Transforme les urls relatives d'un fichier CSS en absolues

url_absolue_css(string $css) : string

Récupère le chemin d'une css existante et crée (ou recrée) dans _DIR_VAR/cache_css/ une css dont les url relatives sont passées en url absolues

Le calcul n'est pas refait si le fichier cache existe déjà et que la source n'a pas été modifiée depuis.

Parameters
$css : string

Chemin ou URL du fichier CSS source

Tags
uses
recuperer_url()

si l'URL source n'est pas sur le même site

uses
urls_absolues_css()
Return values
string
  • Chemin du fichier CSS transformé (si source lisible et mise en cache réussie)
  • Chemin ou URL du fichier CSS source sinon.

table_valeur()

Récupère la valeur d'une clé donnée dans un tableau (ou un objet).

table_valeur(mixed $table, string $cle[, mixed $defaut = '' ][, bool $conserver_null = false ]) : mixed
Parameters
$table : mixed

Tableau ou objet PHP (ou chaîne serialisée de tableau, ce qui permet d'enchaîner le filtre)

$cle : string

Clé du tableau (ou paramètre public de l'objet) Cette clé peut contenir des caractères / pour sélectionner des sous éléments dans le tableau, tel que sous/element/ici pour obtenir la valeur de $tableau['sous']['element']['ici']

$defaut : mixed = ''

Valeur par defaut retournée si la clé demandée n'existe pas

$conserver_null : bool = false

Permet de forcer la fonction à renvoyer la valeur null d'un index et non pas $defaut comme cela est fait naturellement par la fonction isset. On utilise alors array_key_exists() à la place de isset().

Tags
filtre
link
https://www.spip.net/4572
example
[(#VALEUR|table_valeur{cle/sous/element})]
Return values
mixed

Valeur trouvée ou valeur par défaut.

filtre_match_dist()

Retrouve un motif dans un texte à partir d'une expression régulière

filtre_match_dist(string|null $texte, string|int $expression[, string $modif = 'UuimsS' ][, int $capte = 0 ]) : bool|string

S'appuie sur la fonction preg_match() en PHP

Parameters
$texte : string|null

texte dans lequel chercher

$expression : string|int

Expression régulière de recherche, sans le délimiteur

$modif : string = 'UuimsS'
  • string : Modificateurs de l'expression régulière
  • int : Numéro de parenthèse capturante
$capte : int = 0

Numéro de parenthèse capturante

Tags
example
  • [(#TITRE|match{toto})]
  • [(#TEXTE|match{^ceci$,Uims})]
  • [(#TEXTE|match{truc(...)$, UimsS, 1})] Capture de la parenthèse indiquée
  • [(#TEXTE|match{truc(...)$, 1})] Équivalent, sans indiquer les modificateurs
filtre
link
https://www.spip.net/4299
link

Pour des infos sur preg_match()

Return values
bool|string
  • false : l'expression n'a pas été trouvée
  • true : expression trouvée, mais pas la parenthèse capturante
  • string : expression trouvée.

replace()

Remplacement de texte à base d'expression régulière

replace(string $texte, string $expression[, string $replace = '' ][, string $modif = 'UimsS' ]) : string
Parameters
$texte : string

Texte dans lequel faire le remplacement

$expression : string

Expression régulière

$replace : string = ''

Texte de substitution des éléments trouvés

$modif : string = 'UimsS'

Modificateurs pour l'expression régulière.

Tags
filtre
link
https://www.spip.net/4309
see
match()
example
[(#TEXTE|replace{^ceci$,cela,UimsS})]
Return values
string

Texte

traiter_doublons_documents()

Cherche les documents numerotés dans un texte traite par `propre()`

traiter_doublons_documents(array<string|int, mixed> &$doublons, string $letexte) : string

Affecte la liste des doublons['documents']

Parameters
$doublons : array<string|int, mixed>

Liste des doublons

$letexte : string

Le texte

Return values
string

Le texte

vide()

Filtre vide qui ne renvoie rien

vide(mixed $texte) : string
Parameters
$texte : mixed
Tags
example

[(#CALCUL|vide)] n'affichera pas le résultat du calcul

filtre
Return values
string

Chaîne vide

env_to_params()

Écrit des balises HTML `<param...>` à partir d'un tableau de données tel que `#ENV`

env_to_params(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string

Permet d'écrire les balises <param> à indiquer dans un <object> en prenant toutes les valeurs du tableau transmis.

Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine

Parameters
$env : array<string|int, mixed>|string

Tableau cle => valeur des paramètres à écrire, ou chaine sérialisée de ce tableau

$ignore_params : array<string|int, mixed> = []

Permet de compléter les clés ignorées du tableau.

Tags
example

[(#ENV*|env_to_params)]

filtre
link
https://www.spip.net/4005
Return values
string

Code HTML résultant

env_to_attributs()

Écrit des attributs HTML à partir d'un tableau de données tel que `#ENV`

env_to_attributs(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string

Permet d'écrire des attributs d'une balise HTML en utilisant les données du tableau transmis. Chaque clé deviendra le nom de l'attribut (et la valeur, sa valeur)

Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine

Parameters
$env : array<string|int, mixed>|string

Tableau cle => valeur des attributs à écrire, ou chaine sérialisée de ce tableau

$ignore_params : array<string|int, mixed> = []

Permet de compléter les clés ignorées du tableau.

Tags
example

<embed src='#URL_DOCUMENT' [(#ENV*|env_to_attributs)] width='#GET{largeur}' height='#GET{hauteur}'></embed>

filtre
Return values
string

Code HTML résultant

concat()

Concatène des chaînes

concat(array<string|int, mixed> ...$args) : string
Parameters
$args : array<string|int, mixed>
Tags
filtre
link
https://www.spip.net/4150
example
#TEXTE|concat{texte1,texte2,...}
Return values
string

Chaînes concaténés

charge_scripts()

Retourne le contenu d'un ou plusieurs fichiers

charge_scripts(array<string|int, mixed>|string $files[, bool $script = true ]) : string

Les chemins sont cherchés dans le path de SPIP

Parameters
$files : array<string|int, mixed>|string
  • array : Liste de fichiers
  • string : fichier ou fichiers séparés par |
$script : bool = true
  • si true, considère que c'est un fichier js à chercher javascript/
Tags
see
balise_INCLURE_dist()

La balise #INCLURE peut appeler cette fonction

Return values
string

Contenu du ou des fichiers, concaténé

http_img_variante_svg_si_possible()

Trouver la potentielle variante SVG -xx.svg d'une image -xx.png Cette fonction permet le support multi-version SPIP des plugins qui fournissent une icone PNG et sa variante SVG

http_img_variante_svg_si_possible(string $img_file) : string
Parameters
$img_file : string
Return values
string

http_img_pack()

Produit une balise img avec un champ alt d'office si vide

http_img_pack(string $img, string $alt[, string $atts = '' ][, string $title = '' ][, array<string|int, mixed> $options = [] ]) : string

Attention le htmlentities et la traduction doivent être appliqués avant.

Parameters
$img : string
$alt : string
$atts : string = ''
$title : string = ''
$options : array<string|int, mixed> = []

chemin_image : utiliser chemin_image sur $img fourni, ou non (oui par dafaut) utiliser_suffixe_size : utiliser ou non le suffixe de taille dans le nom de fichier de l'image sous forme -xx.png (pour les icones essentiellement) (oui par defaut) variante_svg_si_possible: utiliser l'image -xx.svg au lieu de -32.png par exemple (si la variante svg est disponible)

Return values
string

http_style_background()

Générer une directive `style='background:url()'` à partir d'un fichier image

http_style_background(string $img[, string $att = '' ][, string $size = null ]) : string
Parameters
$img : string
$att : string = ''
$size : string = null
Return values
string

helper_filtre_balise_img_svg_arguments()

helper_filtre_balise_img_svg_arguments(mixed $alt_or_size, mixed $class_or_size, mixed $size) : mixed
Parameters
$alt_or_size : mixed
$class_or_size : mixed
$size : mixed

helper_filtre_balise_img_svg_size()

helper_filtre_balise_img_svg_size(mixed $img, mixed $size) : mixed
Parameters
$img : mixed
$size : mixed

filtre_balise_img_dist()

Générer une balise HTML `img` à partir d'un nom de fichier et/ou renseigne son alt/class/width/height selon les arguments passés

filtre_balise_img_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string

Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_img)] [(#FICHIER|balise_img{1024})] [(#FICHIER|balise_img{1024x*})] [(#FICHIER|balise_img{1024x640})] [(#FICHIER|balise_img{'un nuage',1024x640})] [(#FICHIER|balise_img{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_img{'@2x','',''})]

Parameters
$img : string

chemin vers un fichier ou balise <img src='...' /> (generee par un filtre image par exemple)

$alt : string = ''

texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)

$class : string = null

attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree

$size : string|int = null

taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions

Tags
uses
http_img_pack()
used-by
filtre_balise_img_svg_dist()
Return values
string

Code HTML de la balise IMG

filtre_balise_svg_dist()

Inserer un svg inline http://www.accede-web.com/notices/html-css-javascript/6-images-icones/6-2-svg-images-vectorielles/

filtre_balise_svg_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string

pour l'inserer avec une balise , utiliser le filtre |balise_img

Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_svg{1024x640})] [(#FICHIER|balise_svg{'un nuage',1024x640})] [(#FICHIER|balise_svg{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_svg{'un nuage','@2x',''})]

Parameters
$img : string

chemin vers un fichier ou balise <svg ... >... </svg> deja preparee

$alt : string = ''

texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)

$class : string = null

attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree

$size : string|int = null

taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions

Return values
string

Code HTML de la balise SVG

filtre_balise_img_svg_dist()

Génère une balise HTML `img` ou un `svg` inline suivant le nom du fichier.

filtre_balise_img_svg_dist(mixed $src[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
Parameters
$src : mixed
$alt : string = ''

texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)

$class : string = null

attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree

$size : string|int = null

taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions

Tags
uses
filtre_balise_img_dist()
uses
filtre_balise_svg_dist()
Return values
string

Code HTML de la balise IMG

filtre_info_plugin_dist()

Obtient des informations sur les plugins actifs

filtre_info_plugin_dist(string $plugin, string $type_info[, bool $reload = false ]) : array<string|int, mixed>|string|bool
Parameters
$plugin : string

Préfixe du plugin ou chaîne vide

$type_info : string

Type d'info demandée

$reload : bool = false

true (à éviter) pour forcer le recalcul du cache des informations des plugins.

Tags
filtre
uses
liste_plugin_actifs()

pour connaître les informations affichables

Return values
array<string|int, mixed>|string|bool
  • Liste sérialisée des préfixes de plugins actifs (si $plugin = '')
  • Suivant $type_info, avec $plugin un préfixe
    • est_actif : renvoie true s'il est actif, false sinon
    • x : retourne l'information x du plugin si présente (et plugin actif)
    • tout : retourne toutes les informations du plugin actif

puce_changement_statut()

Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir

puce_changement_statut(int $id_objet, string $statut, int $id_rubrique, string $type[, bool $ajax = false ]) : string
Parameters
$id_objet : int

Identifiant de l'objet

$statut : string

Statut actuel de l'objet

$id_rubrique : int

Identifiant du parent

$type : string

Type d'objet

$ajax : bool = false

Indique s'il ne faut renvoyer que le coeur du menu car on est dans une requete ajax suite à un post de changement rapide

Tags
see
inc_puce_statut_dist()
filtre
Return values
string

Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)

filtre_puce_statut_dist()

Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir

filtre_puce_statut_dist(string $statut, string $objet[, int $id_objet = 0 ][, int $id_parent = 0 ]) : string

Utilisable sur tout objet qui a declaré ses statuts

Parameters
$statut : string

Statut actuel de l'objet

$objet : string

Type d'objet

$id_objet : int = 0

Identifiant de l'objet

$id_parent : int = 0

Identifiant du parent

Tags
example

[(#STATUT|puce_statut{article})] affiche une puce passive [(#STATUT|puce_statut{article,#ID_ARTICLE,#ID_RUBRIQUE})] affiche une puce avec changement rapide

see
inc_puce_statut_dist()
filtre
Return values
string

Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)

encoder_contexte_ajax()

Encoder un contexte pour l'ajax

encoder_contexte_ajax(string|array<string|int, mixed> $c[, string $form = '' ][, string $emboite = null ][, string $ajaxid = '' ]) : string

Encoder le contexte, le signer avec une clé, le crypter avec le secret du site, le gziper si possible.

L'entrée peut-être sérialisée (le #ENV** des fonds ajax et ajax_stat)

Parameters
$c : string|array<string|int, mixed>

contexte, peut etre un tableau serialize

$form : string = ''

nom du formulaire eventuel

$emboite : string = null

contenu a emboiter dans le conteneur ajax

$ajaxid : string = ''

ajaxid pour cibler le bloc et forcer sa mise a jour

Tags
see
decoder_contexte_ajax()
uses
calculer_cle_action()
Return values
string

hash du contexte

decoder_contexte_ajax()

Décoder un hash de contexte pour l'ajax

decoder_contexte_ajax(string $c[, string $form = '' ]) : array<string|int, mixed>|string|bool

Précude inverse de encoder_contexte_ajax()

Parameters
$c : string

hash du contexte

$form : string = ''

nom du formulaire eventuel

Tags
see
encoder_contexte_ajax()
uses
calculer_cle_action()
Return values
array<string|int, mixed>|string|bool
  • array|string : contexte d'environnement, possiblement sérialisé
  • false : erreur de décodage

_xor()

Encrypte ou décrypte un message

_xor(string $message[, null|string $key = null ]) : string
Parameters
$message : string

Message à encrypter ou décrypter

$key : null|string = null

Clé de cryptage / décryptage. Une clé sera calculée si non transmise

Tags
link
http://www.php.net/manual/fr/language.operators.bitwise.php#81358
Return values
string

Message décrypté ou encrypté

url_reponse_forum()

Retourne une URL de réponse de forum (aucune action ici)

url_reponse_forum(string $texte) : string
Parameters
$texte : string
Tags
see
filtre_url_reponse_forum()

du plugin forum (prioritaire)

note

La vraie fonction est dans le plugin forum, mais on évite ici une erreur du compilateur en absence du plugin

Return values
string

url_rss_forum()

retourne une URL de suivi rss d'un forum (aucune action ici)

url_rss_forum(string $texte) : string
Parameters
$texte : string
Tags
see
filtre_url_rss_forum()

du plugin forum (prioritaire)

note

La vraie fonction est dans le plugin forum, mais on évite ici une erreur du compilateur en absence du plugin

Return values
string

lien_ou_expose()

Génère des menus avec liens ou `<strong class='on'>` non clicable lorsque l'item est sélectionné Le parametre $on peut recevoir un selecteur simplifié de type 'a.active' 'strong.active.expose' pour préciser la balise (a, span ou strong uniquement) et la/les classes à utiliser quand on est expose

lien_ou_expose(string $url[, string $libelle = null ][, bool $on = false ][, string $class = '' ][, string $title = '' ][, string $rel = '' ][, string $evt = '' ]) : string
Parameters
$url : string

URL du lien

$libelle : string = null

texte du lien

$on : bool = false

État exposé ou non (génère un lien). Si $on vaut true ou 1 ou ' ', l'etat expose est rendu par un ... Si $on est de la forme span.active.truc par exemple, l'etat expose est rendu par ... Seules les balises a, span et strong sont acceptees dans ce cas

$class : string = ''

classes CSS ajoutées au lien

$title : string = ''

Title ajouté au lien

$rel : string = ''

Attribut rel ajouté au lien

$evt : string = ''

Complement à la balise a pour gérer un événement javascript, de la forme onclick='...'

Tags
filtre
link
https://www.spip.net/4004
example
[(#URL_RUBRIQUE|lien_ou_expose{#TITRE, #ENV{test}|=={en_cours}})]
[(#URL_RUBRIQUE|lien_ou_expose{#TITRE, #ENV{test}|=={en_cours}|?{a.monlien.active}, 'monlien'})]
Return values
string

Code HTML

singulier_ou_pluriel()

Afficher un message "un truc"/"N trucs" Les items sont à indiquer comme pour la fonction _T() sous la forme : "module:chaine"

singulier_ou_pluriel(int $nb, string $chaine_un, string $chaine_plusieurs[, string $var = 'nb' ][, array<string|int, mixed> $vars = [] ]) : string
Parameters
$nb : int

: le nombre

$chaine_un : string

: l'item de langue si $nb vaut un

$chaine_plusieurs : string

: l'item de lanque si $nb >= 2

$var : string = 'nb'

: La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")

$vars : array<string|int, mixed> = []

: Les autres variables nécessaires aux chaines de langues (facultatif)

Return values
string

: la chaine de langue finale en utilisant la fonction _T()

prepare_icone_base()

Fonction de base pour une icone dans un squelette.

prepare_icone_base(string $type, string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string

Il peut s'agir soit d'un simple lien, structure html : <span><a><img><b>texte</b></span>, soit d'un bouton d'action, structure identique au retour de #BOUTON_ACTION.

Parameters
$type : string

'lien' ou 'bouton'

$lien : string

url

$texte : string

texte du lien / alt de l'image

$fond : string

objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

new/del/edit

$class : string = ''

Classes supplémentaires (horizontale, verticale, ajax…)

$javascript : string = ''

code javascript tel que "onclick='...'" par exemple ou texte du message de confirmation s'il s'agit d'un bouton

Return values
string

icone_base()

Crée un lien ayant une icone

icone_base(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
$lien : string

URL du lien

$texte : string

texte du lien

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du lien (edit, new, del)

$class : string = ''

classe CSS, tel que left, right pour définir un alignement

$javascript : string = ''

Javascript ajouté sur le lien

Tags
uses
prepare_icone_base()
used-by
filtre_icone_verticale_dist()
used-by
filtre_icone_horizontale_dist()
used-by
icone_verticale()
used-by
icone_horizontale()
Return values
string

Code HTML du lien

filtre_icone_verticale_dist()

Crée un lien précédé d'une icone au dessus du texte

filtre_icone_verticale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
$lien : string

URL du lien

$texte : string

texte du lien

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du lien (edit, new, del)

$class : string = ''

classe CSS à ajouter, tel que left, right, center pour définir un alignement. Il peut y en avoir plusieurs : left ajax

$javascript : string = ''

Javascript ajouté sur le lien

Tags
uses
icone_base()
see
icone_verticale()

Pour un usage dans un code PHP.

filtre
example
 [(#AUTORISER{voir,groupemots,#ID_GROUPE})
     [(#URL_ECRIRE{groupe_mots,id_groupe=#ID_GROUPE}
        |icone_verticale{<:mots:icone_voir_groupe_mots:>,groupe_mots-24.png,'',left})]
]
Return values
string

Code HTML du lien

filtre_icone_horizontale_dist()

Crée un lien précédé d'une icone horizontale

filtre_icone_horizontale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
$lien : string

URL du lien

$texte : string

texte du lien

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du lien (edit, new, del)

$class : string = ''

classe CSS à ajouter

$javascript : string = ''

Javascript ajouté sur le lien

Tags
uses
icone_base()
see
icone_horizontale()

Pour un usage dans un code PHP.

filtre
example

En tant que filtre dans un squelettes :

[(#URL_ECRIRE{sites}|icone_horizontale{<:sites:icone_voir_sites_references:>,site-24.png})]

[(#AUTORISER{supprimer,groupemots,#ID_GROUPE}|oui)
    [(#URL_ACTION_AUTEUR{supprimer_groupe_mots,#ID_GROUPE,#URL_ECRIRE{mots}}
        |icone_horizontale{<:mots:icone_supprimer_groupe_mots:>,groupe_mots,del})]
]

En tant que filtre dans un code php :

$icone_horizontale=chercher_filtre('icone_horizontale');
$icone = $icone_horizontale(generer_url_ecrire("stats_visites","id_article=$id_article"),
    _T('statistiques:icone_evolution_visites', array('visites' => $visites)),
    "statistique-24.png");
Return values
string

Code HTML du lien

filtre_bouton_action_horizontal_dist()

Crée un bouton d'action intégrant une icone horizontale

filtre_bouton_action_horizontal_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $confirm = '' ]) : string
Parameters
$lien : string

URL de l'action

$texte : string

texte du bouton

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du bouton (edit, new, del)

$class : string = ''

classes à ajouter au bouton, à l'exception de ajax qui est placé sur le formulaire.

$confirm : string = ''

Message de confirmation à ajouter en javascript sur le bouton

Tags
uses
prepare_icone_base()
filtre
example
[(#URL_ACTION_AUTEUR{supprimer_mot, #ID_MOT, #URL_ECRIRE{groupe_mots,id_groupe=#ID_GROUPE}}
    |bouton_action_horizontal{<:mots:info_supprimer_mot:>,mot-24.png,del,#ARRAY{bouton,btn_large}})]
Return values
string

Code HTML du lien

filtre_explode_dist()

Explose un texte en tableau suivant un séparateur

filtre_explode_dist(string $a, string $b) : array<string|int, mixed>
Parameters
$a : string

texte

$b : string

Séparateur

Tags
note

Inverse l'écriture de la fonction PHP de même nom pour que le filtre soit plus pratique dans les squelettes

filtre
example
[(#GET{truc}|explode{-})]
Return values
array<string|int, mixed>

Liste des éléments

filtre_implode_dist()

Implose un tableau en chaine en liant avec un séparateur

filtre_implode_dist(array<string|int, mixed> $a, string $b) : string
Parameters
$a : array<string|int, mixed>

Tableau

$b : string

Séparateur

Tags
note

Inverse l'écriture de la fonction PHP de même nom pour que le filtre soit plus pratique dans les squelettes

filtre
example
[(#GET{truc}|implode{-})]
Return values
string

texte

bando_images_background()

Produire les styles privés qui associent item de menu avec icone en background

bando_images_background() : string
Return values
string

Code CSS

bouton_action()

Générer un bouton_action utilisé par #BOUTON_ACTION

bouton_action(string $libelle, string $url[, string $class = '' ][, string $confirm = '' ][, string $title = '' ][, string $callback = '' ]) : string
Parameters
$libelle : string

Libellé du bouton

$url : string

URL d'action sécurisée, généralement obtenue avec generer_action_auteur()

$class : string = ''

Classes à ajouter au bouton, à l'exception de ajax qui est placé sur le formulaire.

$confirm : string = ''

Message de confirmation oui/non avant l'action

$title : string = ''

Attribut title à ajouter au bouton

$callback : string = ''

Callback js a appeler lors de l'évènement action et avant execution de l'action (ou après confirmation éventuelle si $confirm est non vide). Si la callback renvoie false, elle annule le déclenchement de l'action.

Return values
string

generer_objet_info()

Donner n'importe quelle information sur un objet de maniere generique.

generer_objet_info(int|string|null $id_objet, string $type_objet, string $info[, string $etoile = '' ][, array<string|int, mixed> $params = [] ]) : string

La fonction va gerer en interne deux cas particuliers les plus utilises : l'URL et le titre (qui n'est pas forcemment le champ SQL "titre").

On peut ensuite personnaliser les autres infos en creant une fonction generer_objet_<nom_info>($id_objet, $type_objet, $ligne). $ligne correspond a la ligne SQL de tous les champs de l'objet, les fonctions de personnalisation n'ont donc pas a refaire de requete.

Parameters
$id_objet : int|string|null
$type_objet : string
$info : string
$etoile : string = ''
$params : array<string|int, mixed> = []

Tableau de paramètres supplémentaires transmis aux fonctions generer_xxx

Tags
used-by
balise_INFO__dist()
Return values
string

generer_objet_introduction()

Fonction privée pour donner l'introduction d'un objet de manière générique.

generer_objet_introduction(int $id_objet, string $type_objet, array<string|int, mixed> $ligne_sql[, int $introduction_longueur = null ][, int|string $longueur_ou_suite = null ][, string $suite = null ][, string $connect = '' ]) : string

Cette fonction est mutualisée entre les balises #INTRODUCTION et #INFO_INTRODUCTION. Elle se charge de faire le tri entre descriptif, texte et chapo, et normalise les paramètres pour la longueur et la suite. Ensuite elle fait appel au filtre 'introduction' qui construit celle-ci à partir de ces données.

Parameters
$id_objet : int

Numéro de l'objet

$type_objet : string

Type d'objet

$ligne_sql : array<string|int, mixed>

Ligne SQL de l'objet avec au moins descriptif, texte et chapo

$introduction_longueur : int = null

Longueur de l'introduction donnée dans la description de la table l'objet

$longueur_ou_suite : int|string = null

Longueur de l'introduction OU points de suite si on coupe

$suite : string = null

Points de suite si on coupe

$connect : string = ''

Nom du connecteur à la base de données

Tags
uses
filtre_introduction_dist()
see
generer_info_entite()
see
balise_INTRODUCTION_dist()
used-by
balise_INTRODUCTION_dist()
Return values
string

appliquer_traitement_champ()

Appliquer a un champ SQL le traitement qui est configure pour la balise homonyme dans les squelettes

appliquer_traitement_champ(string $texte, string $champ[, string $table_objet = '' ][, array<string|int, mixed> $env = [] ][, string $connect = '' ]) : string
Parameters
$texte : string
$champ : string
$table_objet : string = ''
$env : array<string|int, mixed> = []
$connect : string = ''
Return values
string

generer_objet_lien()

Generer un lien (titre clicable vers url) vers un objet

generer_objet_lien(int $id_objet, string $objet[, int $longueur = 80 ][, null|string $connect = '' ]) : string
Parameters
$id_objet : int
$objet : string
$longueur : int = 80
$connect : null|string = ''
Return values
string

wrap()

Englobe (Wrap) un texte avec des balises

wrap(string $texte, string $wrap) : string
Parameters
$texte : string
$wrap : string
Tags
example

wrap('mot','<b>') donne <b>mot</b>'

filtre
uses
extraire_balises()
Return values
string

filtre_print_dist()

afficher proprement n'importe quoi On affiche in fine un pseudo-yaml qui premet de lire humainement les tableaux et de s'y reperer

filtre_print_dist(mixed $u[, string $join = '<br />' ][, int $indent = 0 ]) : array<string|int, mixed>|mixed|string

Les textes sont retournes avec simplement mise en forme typo

le $join sert a separer les items d'un tableau, c'est en general un \n ou
selon si on fait du html ou du texte les tableaux-listes (qui n'ont que des cles numeriques), sont affiches sous forme de liste separee par des virgules : c'est VOULU !

Parameters
$u : mixed
$join : string = '<br />'
$indent : int = 0
Return values
array<string|int, mixed>|mixed|string

objet_info()

Renvoyer l'info d'un objet telles que definies dans declarer_tables_objets_sql

objet_info(string $objet, string $info) : string|array<string|int, mixed>
Parameters
$objet : string
$info : string
Return values
string|array<string|int, mixed>

objet_afficher_nb()

Filtre pour afficher 'Aucun truc' ou '1 truc' ou 'N trucs' avec la bonne chaîne de langue en fonction de l'objet utilisé

objet_afficher_nb(int $nb, string $objet) : mixed|string
Parameters
$nb : int

Nombre d'éléments

$objet : string

Objet

Return values
mixed|string

texte traduit du comptage, tel que '3 articles'

objet_icone()

Filtre pour afficher l'img icone d'un objet

objet_icone(string $objet[, int $taille = 24 ][, string $class = '' ]) : string
Parameters
$objet : string
$taille : int = 24
$class : string = ''
Return values
string

objet_T()

Renvoyer une traduction d'une chaine de langue contextuelle à un objet si elle existe, la traduction de la chaine generique

objet_T(string $objet, string $chaine[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string

Ex : [(#ENV{objet}|objet_label{trad_reference})] va chercher si une chaine objet:trad_reference existe et renvoyer sa trad le cas echeant sinon renvoie la trad de la chaine trad_reference Si la chaine fournie contient un prefixe il est remplacé par celui de l'objet pour chercher la chaine contextuelle

Les arguments $args et $options sont ceux de la fonction _T

Parameters
$objet : string
$chaine : string
$args : array<string|int, mixed> = []
$options : array<string|int, mixed> = []
Return values
string

insert_head_css_conditionnel()

Fonction de secours pour inserer le head_css de facon conditionnelle

insert_head_css_conditionnel(string $flux) : string

Appelée en filtre sur le squelette qui contient #INSERT_HEAD, elle vérifie l'absence éventuelle de #INSERT_HEAD_CSS et y suplée si besoin pour assurer la compat avec les squelettes qui n'utilisent pas.

Parameters
$flux : string

Code HTML

Return values
string

Code HTML

produire_fond_statique()

Produire un fichier statique à partir d'un squelette dynamique

produire_fond_statique(string $fond[, array<string|int, mixed> $contexte = [] ][, array<string|int, mixed> $options = [] ][, string $connect = '' ]) : string

Permet ensuite à Apache de le servir en statique sans repasser par spip.php à chaque hit sur le fichier.

Formats supportés : html, css, js, json, xml, svg

Si le format est passé dans contexte['format'], on l'utilise sinon on regarde l'extension du fond, sinon on utilise "html"

Parameters
$fond : string
$contexte : array<string|int, mixed> = []
$options : array<string|int, mixed> = []
$connect : string = ''
Tags
uses
urls_absolues_css()
Return values
string

timestamp()

Ajouter un timestamp a une url de fichier [(#CHEMIN{monfichier}|timestamp)]

timestamp(string $fichier) : string
Parameters
$fichier : string

Le chemin du fichier sur lequel on souhaite ajouter le timestamp

Return values
string

$fichier auquel on a ajouté le timestamp

supprimer_timestamp()

Supprimer le timestamp d'une url

supprimer_timestamp(string $url) : string
Parameters
$url : string
Return values
string

filtre_nettoyer_titre_email_dist()

Nettoyer le titre d'un email

filtre_nettoyer_titre_email_dist(string $titre) : string

Éviter une erreur lorsqu'on utilise |nettoyer_titre_email dans un squelette de mail

Parameters
$titre : string
Tags
filtre
uses
nettoyer_titre_email()
Return values
string

filtre_chercher_rubrique_dist()

Afficher le sélecteur de rubrique

filtre_chercher_rubrique_dist(string $titre, int $id_objet, int $id_parent, string $objet, int $id_secteur, bool $restreint[, bool $actionable = false ][, bool $retour_sans_cadre = false ]) : string

Il permet de placer un objet dans la hiérarchie des rubriques de SPIP

Parameters
$titre : string
$id_objet : int
$id_parent : int
$objet : string
$id_secteur : int
$restreint : bool
$actionable : bool = false

true : fournit le selecteur dans un form directement postable

$retour_sans_cadre : bool = false
Tags
uses
chercher_rubrique()
Return values
string

sinon_interdire_acces()

Rediriger une page suivant une autorisation, et ce, n'importe où dans un squelette, même dans les inclusions.

sinon_interdire_acces([bool $ok = false ][, string $url = '' ][, int $statut = 0 ][, string $message = null ]) : string|void

En l'absence de redirection indiquée, la fonction redirige par défaut sur une 403 dans l'espace privé et 404 dans l'espace public.

Parameters
$ok : bool = false

Indique si l'on doit rediriger ou pas

$url : string = ''

Adresse eventuelle vers laquelle rediriger

$statut : int = 0

Statut HTML avec lequel on redirigera

$message : string = null

message d'erreur

Tags
example
[(#AUTORISER{non}|sinon_interdire_acces)]
[(#AUTORISER{non}|sinon_interdire_acces{#URL_PAGE{login}, 401})]
filtre
Return values
string|void

Chaîne vide si l'accès est autorisé

filtre_compacte_dist()

Assurer le fonctionnement de |compacte meme sans l'extension compresseur

filtre_compacte_dist(string $source[, null|string $format = null ]) : string
Parameters
$source : string
$format : null|string = null
Return values
string

spip_affiche_mot_de_passe_masque()

Afficher partiellement un mot de passe que l'on ne veut pas rendre lisible par un champ hidden

spip_affiche_mot_de_passe_masque(string $passe[, bool $afficher_partiellement = false ][, int|null $portion_pourcent = null ]) : string
Parameters
$passe : string
$afficher_partiellement : bool = false
$portion_pourcent : int|null = null
Return values
string

identifiant_slug()

Cette fonction permet de transformer un texte clair en nom court pouvant servir d'identifiant, class, id, url... en ne conservant que des caracteres alphanumeriques et un separateur

identifiant_slug(string $texte[, string $type = '' ][, array<string|int, mixed> $options = [] ]) : string
Parameters
$texte : string

texte à transformer en nom machine

$type : string = ''
$options : array<string|int, mixed> = []

string separateur : par défaut, un underscore _. int longueur_maxi : par defaut 60 int longueur_mini : par defaut 0

Return values
string

label_nettoyer()

Prépare un texte pour un affichage en label ou titre

label_nettoyer(string $text[, bool $ucfirst = true ]) : string

Enlève un ':' à la fin d'une chaine de caractère, ainsi que les espaces qui pourraient l'accompagner, Met la première lettre en majuscule (par défaut)

Utile afficher dans un contexte de titre des chaines de langues qui contiennent des ':'

Parameters
$text : string
$ucfirst : bool = true
Tags
note

Les chaines de langues (historiques) de SPIP contiennent parfois des ':', parfois pas. Les fonctions label_nettoyer et label_ponctuer permettent de choisir l'une ou l'autre selon le contexte. Il convient dans les chaines de langues de labels de préférer les écritures sans ':'.

see
label_ponctuer()
exemple

<:info_maximum|label_nettoyer:>

used-by
label_ponctuer()
Return values
string

label_ponctuer()

Prépare un texte pour un affichage en label ou titre en ligne, systématiquement avec ' :' à la fin

label_ponctuer(string $text[, bool $ucfirst = true ]) : string

Ajoute ' :' aux chaines qui n'en ont pas (ajoute le caractère adapté à la langue utilisée). Passe la première lettre en majuscule par défaut.

Parameters
$text : string
$ucfirst : bool = true
Tags
uses
label_nettoyer()
exemple

<:info_maximum|label_ponctuer:>

Return values
string

helper_filtre_objet_lister_enfants_ou_parents()

Helper pour les filtres associés aux fonctions objet_lister_(parents|enfants)(_par_type)?

helper_filtre_objet_lister_enfants_ou_parents(string $objet, int|string $id_objet, mixed $fonction) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
$fonction : mixed
Return values
array<string|int, mixed>

filtre_objet_lister_parents_dist()

Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents{#OBJET})]

filtre_objet_lister_parents_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_parents()
Return values
array<string|int, mixed>

filtre_objet_lister_parents_par_type_dist()

Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents_par_type{#OBJET})]

filtre_objet_lister_parents_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_parents_par_type()
Return values
array<string|int, mixed>

filtre_objet_lister_enfants_dist()

Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants{#OBJET})]

filtre_objet_lister_enfants_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_enfants()
Return values
array<string|int, mixed>

filtre_objet_lister_enfants_par_type_dist()

Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants_par_type{#OBJET})]

filtre_objet_lister_enfants_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_enfants_par_type()
Return values
array<string|int, mixed>

inc_genie_dist()

Prévoit l'exécution de la tâche cron la plus urgente

inc_genie_dist([array<string|int, mixed> $taches = [] ]) : mixed

Les tâches sont dans un tableau 'nom de la tâche' => périodicité

Cette fonction exécute la tache la plus urgente, c'est à dire celle dont la date de dernière exécution + la périodicité est minimale.

La date de la prochaîne exécution de chaque tâche est indiquée dans la table SQL spip_jobs

La fonction exécutant la tâche est (généralement) un homonyme de préfixe "genie_". Le fichier homonyme du repertoire "genie/" est automatiquement lu et il est supposé définir cette fonction.

Parameters
$taches : array<string|int, mixed> = []

Tâches dont on force maintenant l'exécution le plus tôt possible. Sinon, prendra la tâche la plus prioritaire.

Tags
uses
queue_add_job()

Lorsqu'une tâche est à forcer

uses
queue_schedule()
see
taches_generales()

Liste des tâches déclarées

used-by
cron()

taches_generales()

taches_generales([mixed $taches_generales = [] ]) : mixed
Parameters
$taches_generales : mixed = []

genie_queue_watch_dist()

Une tâche périodique pour surveiller les tâches crons et les relancer si besoin

genie_queue_watch_dist() : int

Quand ce cron s'execute, il n'est plus dans la queue, donc il se replanifie lui même, avec last=time() avec une dose d'aleatoire pour ne pas planifier toutes les taches au meme moment

Tags
uses
taches_generales()
uses
queue_genie_replan_job()
Return values
int

queue_genie_replan_job()

Replanifier une tache periodique

queue_genie_replan_job(string $function, int $period[, int $last = 0 ][, int $time = null ][, int $priority = 0 ]) : void
Parameters
$function : string

nom de la fonction a appeler

$period : int

periodicite en secondes

$last : int = 0

date du dernier appel (timestamp)

$time : int = null

date de replanification si null calculee automaitquement a partir de $last et $period si 0 = asap mais on n'insere pas le job si deja en cours d'execution

$priority : int = 0

priorite

Tags
used-by
genie_queue_watch_dist()
used-by
queue_close_job()

inc_icone_renommer_dist()

inc_icone_renommer_dist(mixed $fond, mixed $fonction) : mixed
Parameters
$fond : mixed
$fonction : mixed

importer_csv_importcharset()

Importer le charset d'une ligne

importer_csv_importcharset(string $texte[, bool|string $definir_charset_source = false ]) : array<string|int, mixed>

Importe un texte de CSV dans un charset et le passe dans le charset du site (utf8 probablement) Les CSV peuvent sous ms@@@ avoir le charset 'iso-8859-1', mais pasfois aussi 'windows-1252' :/

Parameters
$texte : string
$definir_charset_source : bool|string = false

false : ne fait rien string : utilisera pour les prochains imports le charset indiqué true : remet le charset d'import par défaut de la fonction

Return values
array<string|int, mixed>

importer_csv_nettoie_key()

enlever les accents des cles presentes dans le head, sinon ca pose des problemes .

importer_csv_nettoie_key(string $key) : string

..

Parameters
$key : string
Return values
string

inc_importer_csv_dist()

Lit un fichier csv et retourne un tableau si $head est true, la premiere ligne est utilisee en header pour generer un tableau associatif

inc_importer_csv_dist(string $file[, array<string|int, mixed> $options = [] ]) : false|array<string|int, mixed>
Parameters
$file : string
$options : array<string|int, mixed> = []

bool $head string $delim string $enclos int $len string $charset_source : Permet de définir un charset source du CSV, si différent de utf-8 ou iso-8859-1

Return values
false|array<string|int, mixed>

inc_informer_dist()

inc_informer_dist(mixed $id, mixed $col, mixed $exclus, mixed $rac, mixed $type[, mixed $do = 'aff' ]) : mixed
Parameters
$id : mixed
$col : mixed
$exclus : mixed
$rac : mixed
$type : mixed
$do : mixed = 'aff'
Tags
used-by
exec_informer_dist()

inc_journal_dist()

inc_journal_dist(mixed $phrase[, mixed $opt = [] ]) : mixed
Parameters
$phrase : mixed
$opt : mixed = []
Tags
used-by
journal()

cadre_depliable()

Affiche un cadre complet muni d’un bouton pour le déplier.

cadre_depliable(string $icone, string $titre, bool $deplie, string $contenu[, string $ids = '' ][, string $style_cadre = 'r' ]) : string
Parameters
$icone : string

Chemin vers l’icone que prendra le cadre

$titre : string

Titre du cadre

$deplie : bool

true ou false, défini si le cadre est déplié au chargement de la page (true) ou pas (false)

$contenu : string

Contenu du cadre

$ids : string = ''

id que prendra la partie pliée ou dépliée

$style_cadre : string = 'r'

classe CSS que prendra le cadre

Return values
string

Code HTML du cadre dépliable

block_parfois_visible()

block_parfois_visible(mixed $nom, mixed $invite, mixed $masque[, mixed $style = '' ][, mixed $visible = false ]) : mixed
Parameters
$nom : mixed
$invite : mixed
$masque : mixed
$style : mixed = ''
$visible : mixed = false

debut_block_depliable()

debut_block_depliable(mixed $deplie[, mixed $id = '' ]) : mixed
Parameters
$deplie : mixed
$id : mixed = ''

bouton_block_depliable()

bouton_block_depliable(mixed $texte, mixed $deplie[, mixed $ids = '' ]) : mixed
Parameters
$texte : mixed
$deplie : mixed
$ids : mixed = ''

inc_lien_dist()

Production de la balise a+href à partir des raccourcis `[xxx->url]` etc.

inc_lien_dist(string $lien[, string $texte = '' ][, string $class = '' ][, string $title = '' ][, string $hlang = '' ][, string $rel = '' ][, string $connect = '' ][, array<string|int, mixed> $env = [] ]) : string
Parameters
$lien : string
$texte : string = ''
$class : string = ''
$title : string = ''
$hlang : string = ''
$rel : string = ''
$connect : string = ''
$env : array<string|int, mixed> = []
Tags
note

Compliqué car c'est ici qu'on applique typo(), et en plus, on veut pouvoir les passer en pipeline

see
typo()
Return values
string

expanser_liens()

expanser_liens(mixed $t[, string $connect = '' ][, mixed $env = [] ]) : mixed
Parameters
$t : mixed
$connect : string = ''
$env : mixed = []

nettoyer_raccourcis_typo()

nettoyer_raccourcis_typo(mixed $texte[, string $connect = '' ]) : mixed
Parameters
$texte : mixed
$connect : string = ''

traiter_raccourci_lien_atts()

traiter_raccourci_lien_atts(mixed $texte) : mixed
Parameters
$texte : mixed

virtuel_redirige()

Retourne la valeur d'un champ de redirection (articles virtuels)

virtuel_redirige(string $virtuel[, bool $url = false ]) : string
Parameters
$virtuel : string
$url : bool = false
Tags
note

Pas d'action dans le noyau SPIP directement. Se réferer inc/lien du plugin Textwheel.

Return values
string

calculer_url()

calculer_url(mixed $ref[, mixed $texte = '' ][, mixed $pour = 'url' ][, string $connect = '' ][, mixed $echappe_typo = true ]) : mixed
Parameters
$ref : mixed
$texte : mixed = ''
$pour : mixed = 'url'
$connect : string = ''
$echappe_typo : mixed = true

traiter_lien_explicite()

traiter_lien_explicite(mixed $ref[, mixed $texte = '' ][, mixed $pour = 'url' ][, string $connect = '' ][, mixed $echappe_typo = true ]) : mixed
Parameters
$ref : mixed
$texte : mixed = ''
$pour : mixed = 'url'
$connect : string = ''
$echappe_typo : mixed = true

liens_implicite_glose_dist()

liens_implicite_glose_dist(mixed $texte, mixed $id, mixed $type, mixed $args, mixed $ancre[, string $connect = '' ]) : mixed
Parameters
$texte : mixed
$id : mixed
$type : mixed
$args : mixed
$ancre : mixed
$connect : string = ''

traiter_lien_implicite()

Transformer un lien raccourci art23 en son URL Par defaut la fonction produit une url prive si on est dans le prive ou publique si on est dans le public.

traiter_lien_implicite(string $ref[, string $texte = '' ][, string $pour = 'url' ][, string $connect = '' ]) : array<string|int, mixed>|bool|string

La globale lien_implicite_cible_public permet de forcer un cas ou l'autre : $GLOBALS['lien_implicite_cible_public'] = true; => tous les liens raccourcis pointent vers le public $GLOBALS['lien_implicite_cible_public'] = false; => tous les liens raccourcis pointent vers le prive unset($GLOBALS['lien_implicite_cible_public']); => retablit le comportement automatique

Parameters
$ref : string
$texte : string = ''
$pour : string = 'url'
$connect : string = ''
Return values
array<string|int, mixed>|bool|string

traiter_raccourci_titre()

Retourne le titre et la langue d'un objet éditorial

traiter_raccourci_titre(int $id, string $type[, string|null $connect = null ]) : array<string|int, mixed>
Parameters
$id : int

Identifiant de l'objet

$type : string

Type d'objet

$connect : string|null = null

Connecteur SQL utilisé

Return values
array<string|int, mixed>

{

traiter_raccourci_ancre()

traiter_raccourci_ancre(mixed $letexte) : mixed
Parameters
$letexte : mixed

traiter_raccourci_glossaire()

traiter_raccourci_glossaire(mixed $texte) : mixed
Parameters
$texte : mixed

glossaire_std()

glossaire_std(mixed $terme) : mixed
Parameters
$terme : mixed

inc_lien_court()

inc_lien_court(mixed $url) : mixed
Parameters
$url : mixed

inc_log_dist()

inc_log_dist(mixed $message[, mixed $logname = null ][, mixed $logdir = null ][, mixed $logsuf = null ]) : mixed
Parameters
$message : mixed
$logname : mixed = null
$logdir : mixed = null
$logsuf : mixed = null
Tags
deprecated
5.0

Utiliser spip_logger()

produire_image_math()

produire_image_math(mixed $tex) : mixed
Parameters
$tex : mixed

traiter_math()

Active la recherche et l'affichage d'expressions mathématiques dans le texte transmis, dans tous les textes à l'intérieur d'une balise `<math>`.

traiter_math(string $letexte[, string $source = '' ][, bool $defaire_amp = false ]) : string

Encadrer un texte de balises <math> ... </math> active la recherche d'expressions mathématiques écrites entre caractères $ au sein de ce texte :

  • $$expression$$ traitera l'expression comme un paragraphe centré (p)
  • $expression$ traitera l'expression comme un texte en ligne (span)

Un serveur distant calculera une image à partir de l'expression mathématique donnée. Cette image est mise en cache localement (local/cache-Tex)

Parameters
$letexte : string
$source : string = ''
$defaire_amp : bool = false

true pour passer les &amp; en & dans les expressions mathématiques.

Tags
note

Si cette fonction est appelée depuis propre() alors un échappement des caractères & en &amp; a été réalisé, qu'il faut redéfaire dans les expressions mathématiques trouvées (utiliser l'option $defaire_amp à true pour cela).

link
https://www.spip.net/3016
uses
produire_image_math()
uses
code_echappement()
Return values
string

install_debut_html()

Retourne le début d'une page HTML minimale (de type installation)

install_debut_html([string $titre = 'AUTO' ][, string $onLoad = '' ][, bool $all_inline = false ]) : string
Parameters
$titre : string = 'AUTO'

Titre. AUTO, indique que l'on est dans le processus d'installation de SPIP

$onLoad : string = ''

Attributs pour la balise <body>

$all_inline : bool = false

Inliner les css et js dans la page (limiter le nombre de hits)

Tags
deprecated
4.2

Utiliser Spip\Afficher\Minipage\Admin

uses
Admin
Return values
string

Code HTML

install_fin_html()

Retourne la fin d'une page HTML minimale (de type installation ou erreur)

install_fin_html() : string
Tags
deprecated
4.2

Utiliser Spip\Afficher\Minipage\Admin

uses
Admin
Return values
string

Code HTML

minipres()

Retourne une page HTML contenant, dans une présentation minimale, le contenu transmis dans `$titre` et `$corps`.

minipres([string $titre = '' ][, string $corps = '' ][, array<string|int, mixed> $options = [] ]) : string

Appelée pour afficher un message d’erreur (l’utilisateur n’a pas accès à cette page par exemple).

Lorsqu’aucun argument n’est transmis, un header 403 est renvoyé, ainsi qu’un message indiquant une interdiction d’accès.

Parameters
$titre : string = ''

Titre de la page

$corps : string = ''

Corps de la page

$options : array<string|int, mixed> = []

string onload : Attribut onload de <body> bool all_inline : Inliner les css et js dans la page (limiter le nombre de hits) int status : status de la page

Tags
deprecated
4.2

Utiliser Spip\Afficher\Minipage\Admin

uses
Admin
example
include_spip('inc/minipres');
if (!autoriser('configurer')) {
   echo minipres();
   exit;
}
used-by
ask_php_auth()
used-by
check_upload_error()
used-by
raler_fichier()

Pour afficher le message

Return values
string

HTML de la page

traiter_modeles()

Traiter les modeles d'un texte

traiter_modeles(string $texte[, bool|array<string|int, mixed> $doublons = false ][, string $echap = '' ][, string $connect = '' ][, Liens|null $collecteurLiens = null ][, array<string|int, mixed> $env = [] ]) : string
Parameters
$texte : string
$doublons : bool|array<string|int, mixed> = false
$echap : string = ''
$connect : string = ''
$collecteurLiens : Liens|null = null
$env : array<string|int, mixed> = []
Return values
string

inc_plonger_dist()

inc_plonger_dist(mixed $id_rubrique[, mixed $idom = '' ][, mixed $list = [] ][, mixed $col = 1 ][, mixed $exclu = 0 ][, mixed $do = 'aff' ]) : mixed
Parameters
$id_rubrique : mixed
$idom : mixed = ''
$list : mixed = []
$col : mixed = 1
$exclu : mixed = 0
$do : mixed = 'aff'
Tags
used-by
exec_plonger_dist()
used-by
inc_selectionner_dist()

inc_preselectionner_parent_nouvel_objet_dist()

Preselectionner la rubrique lors de la creation desactive par defaut suite a remontee utilisateur mais activable par define ou surchargeable

inc_preselectionner_parent_nouvel_objet_dist(string $objet, array<string|int, mixed> $row) : string
Parameters
$objet : string
$row : array<string|int, mixed>
Return values
string

enfant_rub()

Crée l'affichage des listes de rubriques dans le privé

enfant_rub(int $collection[, int $debut = 0 ][, int $limite = 500 ]) : array<string|int, mixed>
Parameters
$collection : int

L'identifiant numérique de la rubrique à lister

$debut : int = 0

Le numéro de la pagination si paginé (> 500)

$limite : int = 500

Le pas de pagination si paginé (> 500)

Return values
array<string|int, mixed>

$res Un tableau des sous rubriques

sous_enfant_rub()

Affiche les enfants d'une sous rubrique dans un bloc dépliable (Utilisé dans les pages du privé)

sous_enfant_rub(int $collection2) : string
Parameters
$collection2 : int

L'identifiant numérique de la rubrique parente

Return values
string

Le contenu du bloc dépliable

afficher_enfant_rub()

Affiche la liste des rubriques enfants d'une rubrique (Utilisé dans les pages du privé notamment ?exec=rubriques)

afficher_enfant_rub([int $id_rubrique = 0 ]) : string

Si plus de 500 rubriques enfants, on pagine par 500 les résultats

Parameters
$id_rubrique : int = 0

L'identifiant numérique de la rubrique parente (0 par défaut, la racine)

Return values
string

$res Le contenu textuel affiché, la liste des sous rubriques

inc_recherche_to_array_dist()

inc_recherche_to_array_dist(mixed $recherche[, mixed $options = [] ]) : mixed
Parameters
$recherche : mixed
$options : mixed = []

calculer_rubriques_if()

Recalcule les statuts d'une rubrique

calculer_rubriques_if(int $id_rubrique, array<string|int, mixed> $modifs[, array<string|int, mixed> $infos = [] ][, bool $postdate = false ]) : void

Fonction à appeler lorsque le statut d'un objet change dans une rubrique ou que la rubrique est deplacée.

Si le statut passe a "publie", la rubrique et ses parents y passent aussi et les langues utilisees sont recalculées. Conséquences symétriques s'il est depublié.

S'il est deplacé alors qu'il était publiée, double conséquence.

Tout cela devrait passer en SQL, sous forme de Cascade SQL.

Parameters
$id_rubrique : int

Identifiant de la rubrique

$modifs : array<string|int, mixed>

Tableau de description des modifications. Peut avoir 2 index, 'statut' étant obligatoire :

  • statut : indique le nouveau statut de la rubrique
  • id_rubrique : indiquer la rubrique dans laquelle on déplace la rubrique (son nouveau parent donc)
$infos : array<string|int, mixed> = []

Infos sur l'objet modifié : statut_ancien, objet, id_objet…

$postdate : bool = false

true pour recalculer aussi la date du prochain article post-daté

Tags
uses
depublier_branche_rubrique_if()
uses
calculer_prochain_postdate()
uses
publier_branche_rubrique()

publier_branche_rubrique()

Publie une rubrique et sa hiérarchie de rubriques

publier_branche_rubrique(int $id_rubrique) : bool

Fonction à appeler lorsqu'on dépublie ou supprime quelque chose dans une rubrique.

Parameters
$id_rubrique : int

Identifiant de la rubrique

Tags
todo

Le nom de la fonction est trompeur, vu que la fonction remonte dans la hierarchie !

used-by
calculer_rubriques_if()
used-by
calculer_prochain_postdate()
Return values
bool

true si le statut change effectivement

depublier_branche_rubrique_if()

Dépublie si nécessaire des éléments d'une hiérarchie de rubriques

depublier_branche_rubrique_if(int $id_rubrique) : bool

Fonction à appeler lorsqu'on dépublie ou supprime quelque chose dans une rubrique.

Parameters
$id_rubrique : int

Identifiant de la rubrique

Tags
uses
depublier_rubrique_if()
todo

Le nom de la fonction est trompeur, vu que la fonction remonte dans la hierarchie !

used-by
calculer_rubriques_if()
Return values
bool

true si le statut change effectivement

depublier_rubrique_if()

Dépublier une rubrique si aucun contenu publié connu n'est trouvé dedans

depublier_rubrique_if(int $id_rubrique[, string|null $date = null ]) : bool
Parameters
$id_rubrique : int

Identifiant de la rubrique à tester

$date : string|null = null

Date pour le calcul des éléments post-datés. null = date actuelle.

Tags
pipeline_appel

objet_compte_enfants

used-by
depublier_branche_rubrique_if()
Return values
bool

true si la rubrique a été dépubliée

calculer_rubriques()

Recalcule des héritages de rubriques

calculer_rubriques() : void

Recalcule le statut des rubriques, les langues héritées et la date du prochain article post-daté

Cette fonction est appelée après importation: elle calcule les meta-donnes resultantes et remet de la coherence au cas où la base importée en manquait

Cette fonction doit etre invoquée sans processus concurrent potentiel.

Tags
uses
calculer_rubriques_publiees()
uses
calculer_langues_utilisees()
uses
calculer_prochain_postdate()
used-by
base_repair_dist()

calculer_rubriques_publiees()

Recalcule l'ensemble des données associées à l'arborescence des rubriques

calculer_rubriques_publiees() : void

Attention, faute de SQL transactionnel on travaille sur des champs temporaires afin de ne pas casser la base pendant la demi seconde de recalculs

Tags
pipeline_appel

calculer_rubriques

used-by
calculer_rubriques()

propager_les_secteurs()

Recalcule les secteurs et les profondeurs des rubriques (et articles)

propager_les_secteurs() : void

Cherche les rubriques ayant des id_secteur ou profondeurs ne correspondant pas avec leur parent, et les met à jour. De même avec les articles et leur id_secteur On procede en iterant la profondeur de 1 en 1 pour ne pas risquer une boucle infinie sur reference circulaire

Tags
pipeline_appel

trig_propager_les_secteurs

used-by
base_repair_dist()

calculer_langues_rubriques_etape()

Recalcule les langues héritées des sous-rubriques

calculer_langues_rubriques_etape() : bool

Cherche les langues incorrectes de sous rubriques, qui doivent hériter de la rubrique parente lorsque langue_choisie est différent de oui, et les corrige.

Return values
bool

true si un changement a eu lieu

calculer_langues_rubriques()

Recalcule les langues des rubriques et articles

calculer_langues_rubriques() : void

Redéfinit la langue du site sur les rubriques sans langue spécifiée (langue_choisie différent de 'oui')

Redéfinit les langues des articles sans langue spécifiée (langue_choisie différent de 'oui') en les rebasant sur la langue de la rubrique parente lorsque ce n'est pas le cas.

Tags
uses
calculer_langues_rubriques_etape()
pipeline_appel

trig_calculer_langues_rubriques

calculer_langues_utilisees()

Calcule la liste des langues réellement utilisées dans le site public

calculer_langues_utilisees([string $serveur = '' ]) : string

La recherche de langue est effectuée en recréant une boucle pour chaque objet éditorial gérant des langues de sorte que les éléments non publiés ne sont pas pris en compte.

Parameters
$serveur : string = ''

Nom du connecteur à la base de données

Tags
used-by
calculer_rubriques()
Return values
string

Liste des langues utilisées séparées par des virgules

calcul_branche_in()

Calcul d'une branche de rubrique

calcul_branche_in(string|int|array<string|int, mixed> $id) : string

Liste des id_rubrique contenues dans une rubrique donnée

Parameters
$id : string|int|array<string|int, mixed>

Identifiant de la, ou des rubriques noeuds

Tags
see
inc_calcul_branche_in_dist()
Return values
string

Liste des identifiants séparés par des virgules, incluant les rubriques noeuds et toutes leurs descendances

calcul_hierarchie_in()

Calcul d'une hiérarchie

calcul_hierarchie_in(string|int|array<string|int, mixed> $id[, bool $tout = true ]) : string

Liste des id_rubrique contenant une rubrique donnée

Parameters
$id : string|int|array<string|int, mixed>

Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies

$tout : bool = true

inclure la rubrique de depart dans la hierarchie ou non

Tags
see
inc_calcul_hierarchie_in_dist()
Return values
string

Liste des identifiants séparés par des virgules, incluant les rubriques transmises et toutes leurs parentées

inc_calcul_branche_in_dist()

Calcul d'une branche de rubriques

inc_calcul_branche_in_dist(string|int|array<string|int, mixed> $id) : string

Liste des id_rubrique contenues dans une rubrique donnée pour le critere {branche}

Fonction surchargeable pour optimisation

Parameters
$id : string|int|array<string|int, mixed>

Identifiant de la, ou des rubriques noeuds

Tags
see
inc_calcul_hierarchie_in_dist()

pour la hierarchie

Return values
string

Liste des identifiants séparés par des virgules, incluant les rubriques noeuds et toutes leurs descendances

inc_calcul_hierarchie_in_dist()

Calcul d'une hiérarchie

inc_calcul_hierarchie_in_dist(string|int|array<string|int, mixed> $id[, bool $tout = true ]) : string

Liste des id_rubrique contenant une rubrique donnée, contrairement à la fonction calcul_branche_in() qui calcule les rubriques contenues

Parameters
$id : string|int|array<string|int, mixed>

Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies

$tout : bool = true

inclure la rubrique de depart dans la hierarchie ou non

Tags
see
inc_calcul_branche_in_dist()

pour la descendence

Return values
string

Liste des identifiants séparés par des virgules, incluant les rubriques transmises et toutes leurs parentées

calculer_prochain_postdate()

Calcule la date du prochain article post-daté

calculer_prochain_postdate([bool $check = false ]) : void

Appelée lorsqu'un (ou plusieurs) article post-daté arrive à terme ou est redaté

Parameters
$check : bool = false

true pour affecter le statut des rubriques concernées.

Tags
uses
publier_branche_rubrique()
pipeline_appel

trig_calculer_prochain_postdate

used-by
calculer_rubriques_if()
used-by
calculer_rubriques()

creer_rubrique_nommee()

Crée une arborescence de rubrique

creer_rubrique_nommee(string $titre[, int $id_parent = 0 ][, string $serveur = '' ]) : int

creer_rubrique_nommee('truc/machin/chose') va créer une rubrique truc, une sous-rubrique machin, et une sous-sous-rubrique chose, sans créer de rubrique si elle existe déjà à partir de $id_parent (par défaut, à partir de la racine)

NB: cette fonction est très pratique, mais pas utilisée dans le core pour rester légère elle n'appelle pas calculer_rubriques()

Parameters
$titre : string

Titre des rubriques, séparés par des /

$id_parent : int = 0

Identifiant de la rubrique parente

$serveur : string = ''

Nom du connecteur à la base de données

Return values
int

Identifiant de la rubrique la plus profonde.

inc_simplexml_to_array_dist()

Transforme un texte XML en tableau PHP

inc_simplexml_to_array_dist(string|object $u[, bool $utiliser_namespace = false ]) : array<string|int, mixed>
Parameters
$u : string|object
$utiliser_namespace : bool = false
Return values
array<string|int, mixed>

xmlObjToArr()

Transforme un objet SimpleXML en tableau PHP http://www.php.net/manual/pt_BR/book.simplexml.php#108688 xaviered at gmail dot com 17-May-2012 07:00

xmlObjToArr(object $obj[, bool $utiliser_namespace = false ]) : array<string|int, mixed>
Parameters
$obj : object
$utiliser_namespace : bool = false
Return values
array<string|int, mixed>

definir_raccourcis_alineas()

Raccourcis dépendant du sens de la langue

definir_raccourcis_alineas() : array<string|int, mixed>
Return values
array<string|int, mixed>

Tablea ('','')

traiter_tableau()

Traitement des raccourcis de tableaux

traiter_tableau(string $bloc) : string

Ne fait rien ici. Voir plugin Textwheel.

Parameters
$bloc : string
Return values
string

traiter_listes()

Traitement des listes

traiter_listes(string $texte) : string

Ne fais rien. Voir Plugin Textwheel. (merci a Michael Parienti)

Parameters
$texte : string
Return values
string

traiter_raccourcis()

Nettoie un texte, traite les raccourcis autre qu'URL, la typo, etc.

traiter_raccourcis(string $letexte) : string

Ne fais rien ici. Voir plugin Textwheel.

Parameters
$letexte : string
Tags
pipeline_appel

pre_propre

pipeline_appel

post_propre

used-by
propre()
Return values
string

echappe_js()

Échapper et affichier joliement les `<script` et `<iframe`.

echappe_js(string $t[, string $class = ' class = "echappe-js"' ]) : string

..

Parameters
$t : string
$class : string = ' class = "echappe-js"'

Attributs HTML du conteneur à ajouter

Return values
string

interdire_scripts()

Empêcher l'exécution de code PHP et JS

interdire_scripts(string $arg[, int $mode_filtre = null ]) : string

Sécurité : empêcher l'exécution de code PHP, en le transformant en joli code dans l'espace privé. Cette fonction est aussi appelée par propre et typo.

De la même manière, la fonction empêche l'exécution de JS mais selon le mode de protection passe en argument

Il ne faut pas désactiver globalement la fonction dans l'espace privé car elle protège aussi les balises des squelettes qui ne passent pas forcement par propre ou typo après si elles sont appelées en direct

Parameters
$arg : string

Code à protéger

$mode_filtre : int = null

Mode de protection -1 : protection dans l'espace privé et public 0 : protection dans l'espace public 1 : aucune protection utilise la valeur de la globale filtrer_javascript si non fourni

Tags
used-by
filtre_filtrer_entites_dist()
Return values
string

Code protégé

typo()

Applique la typographie générale

typo(string $letexte[, bool|string $echapper = true ][, string|null $connect = null ][, array<string|int, mixed> $env = [] ]) : string

Effectue un traitement pour que les textes affichés suivent les règles de typographie. Fait une protection préalable des balises HTML et SPIP. Transforme les balises <multi>

Parameters
$letexte : string

texte d'origine

$echapper : bool|string = true

Échapper ?

$connect : string|null = null

Nom du connecteur à la bdd

$env : array<string|int, mixed> = []

Environnement (pour les calculs de modèles)

Tags
filtre
uses
traiter_modeles()
uses
corriger_typo()
uses
echapper_faux_tags()
see
propre()
used-by
init_entete()
Return values
string

$t texte transformé

corriger_typo()

Corrige la typographie

corriger_typo(string $letexte[, string $lang = '' ]) : string

Applique les corrections typographiques adaptées à la langue indiquée.

Parameters
$letexte : string

texte

$lang : string = ''

Langue

Tags
pipeline_appel

pre_typo

pipeline_appel

post_typo

uses
corriger_caracteres()
uses
corriger_caracteres()
used-by
nettoyer_titre_email()
used-by
typo()
Return values
string

texte

paragrapher()

Paragrapher seulement

paragrapher(string $letexte[, bool $forcer = true ]) : string

/!\ appelée dans inc/filtres et public/composer

Ne fait rien ici. Voir plugin Textwheel

Parameters
$letexte : string
$forcer : bool = true
Return values
string

traiter_retours_chariots()

Harmonise les retours chariots et mange les paragraphes HTML

traiter_retours_chariots(string $letexte) : string

Ne sert plus

Parameters
$letexte : string

texte

Return values
string

texte

propre()

Transforme les raccourcis SPIP, liens et modèles d'un texte en code HTML

propre(string $t[, string|null $connect = null ][, array<string|int, mixed> $env = [] ]) : string

Filtre à appliquer aux champs du type #TEXTE*

Parameters
$t : string

texte avec des raccourcis SPIP

$connect : string|null = null

Nom du connecteur à la bdd

$env : array<string|int, mixed> = []

Environnement (pour les calculs de modèles)

Tags
filtre
uses
echappe_html()
uses
expanser_liens()
uses
traiter_raccourcis()
uses
echappe_retour_modeles()
see
typo()
used-by
check_upload_error()
Return values
string

$t texte transformé

definir_puce()

Retourne une image d'une puce

definir_puce() : string

Le nom de l'image est déterminé par la globale 'puce' ou 'puce_prive' ou les mêmes suffixées de '_rtl' pour ce type de langues.

Tags
note

On initialise la puce pour éviter find_in_path() à chaque rencontre de \n- Mais attention elle depend de la direction et de X_fonctions.php, ainsi que de l'espace choisi (public/prive)

Return values
string

Code HTML de la puce

spip_balisage_code()

Preparer le markup html pour les extraits de code en ligne ou en bloc

spip_balisage_code(string $corps[, bool $bloc = false ][, string $attributs = '' ][, string $langage = '' ]) : string
Parameters
$corps : string
$bloc : bool = false
$attributs : string = ''
$langage : string = ''
Return values
string

code_echappement()

Echapper les elements perilleux en les passant en base64

code_echappement(string $rempl[, string $source = '' ][, bool $no_transform = false ][, string|null $mode = null ]) : string

Creer un bloc base64 correspondant a $rempl ; au besoin en marquant une $source differente ; le script detecte automagiquement si ce qu'on echappe est un div ou un span

Parameters
$rempl : string
$source : string = ''
$no_transform : bool = false
$mode : string|null = null
Tags
used-by
traiter_math()
Return values
string

traiter_echap_html_dist()

traiter_echap_html_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
$regs : mixed
$options : mixed = []

traiter_echap_pre_dist()

traiter_echap_pre_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
$regs : mixed
$options : mixed = []

traiter_echap_code_dist()

traiter_echap_code_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
$regs : mixed
$options : mixed = []

traiter_echap_cadre_dist()

traiter_echap_cadre_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
$regs : mixed
$options : mixed = []

traiter_echap_frame_dist()

traiter_echap_frame_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
$regs : mixed
$options : mixed = []

traiter_echap_script_dist()

traiter_echap_script_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
$regs : mixed
$options : mixed = []

echappe_html()

pour $source voir commentaire infra (echappe_retour)

echappe_html(string $letexte[, string $source = '' ][, bool $no_transform = false ][, array<string|int, mixed>|null $html_tags = null ][, string $callback_prefix = '' ][, array<string|int, mixed> $callback_options = [] ]) : string|array<string|int, string>
Parameters
$letexte : string
$source : string = ''
$no_transform : bool = false

déprécié, cet argument ne doit plus être utilisé, utiliser directement Spip\Texte\Collecteur\HtmlTag::proteger_balisesHtml dans ce cas

$html_tags : array<string|int, mixed>|null = null

le passage d'une preg au format string est déprécié

$callback_prefix : string = ''
$callback_options : array<string|int, mixed> = []
Tags
used-by
entites_html()
used-by
post_autobr()
used-by
propre()
Return values
string|array<string|int, string>

echappe_retour()

Traitement final des echappements Rq: $source sert a faire des echappements "a soi" qui ne sont pas nettoyes par propre() : exemple dans multi et dans typo()

echappe_retour(string $letexte[, string $source = '' ][, string $filtre = '' ]) : array<string|int, mixed>|mixed|string|array<string|int, string>
Parameters
$letexte : string
$source : string = ''
$filtre : string = ''
Tags
used-by
entites_html()
used-by
post_autobr()
Return values
array<string|int, mixed>|mixed|string|array<string|int, string>

echappe_retour_modeles()

echappe_retour_modeles(mixed $letexte[, mixed $interdire_scripts = false ]) : mixed
Parameters
$letexte : mixed
$interdire_scripts : mixed = false
Tags
used-by
propre()

couper()

Coupe un texte à une certaine longueur.

couper(string $texte[, int $taille = 50 ][, string $suite = null ]) : string

Il essaie de ne pas couper les mots et enlève le formatage du texte. Si le texte original est plus long que l’extrait coupé, alors des points de suite sont ajoutés à l'extrait, tel que (…).

Parameters
$texte : string

texte à couper

$taille : int = 50

Taille de la coupe

$suite : string = null

Points de suite ajoutés.

Tags
note

Les points de suite ne sont pas ajoutés sur les extraits très courts.

filtre
link
https://www.spip.net/4275
Return values
string

texte coupé

protege_js_modeles()

protege_js_modeles(mixed $texte) : mixed
Parameters
$texte : mixed

echapper_faux_tags()

echapper_faux_tags(mixed $letexte) : mixed
Parameters
$letexte : mixed
Tags
used-by
typo()

echapper_html_suspect()

Si le html contenu dans un texte ne passe pas sans transformation a travers safehtml on l'echappe si safehtml ne renvoie pas la meme chose on echappe les < en &lt; pour montrer le contenu brut

echapper_html_suspect(string $texte[, array<string|int, mixed> $options = [] ][, string $connect = null ][, array<string|int, mixed> $env = [] ]) : string
Parameters
$texte : string
$options : array<string|int, mixed> = []

bool strict : etre strict ou non sur la detection string wrap_suspect : si le html est suspect, on wrap l'affichage avec la balise indiquee dans cette option via la fonction wrap() string texte_source_affiche : si le html est suspect, on utilise ce texte pour l'affichage final et pas le texte utilise pour la detection

$connect : string = null
$env : array<string|int, mixed> = []
Tags
use

wrap()

Return values
string

safehtml()

Sécurise un texte HTML

safehtml(string $t) : string

Échappe le code PHP et JS. Applique en plus safehtml si un plugin le définit dans inc/safehtml.php

Permet de protéger les textes issus d'une origine douteuse (forums, syndications...)

Parameters
$t : string

texte à sécuriser

Tags
filtre
link
https://www.spip.net/4310
Return values
string

texte sécurisé

is_html_safe()

Detecter si un texte est "safe" ie non modifie significativement par safehtml()

is_html_safe(string $texte) : bool
Parameters
$texte : string
Return values
bool

supprime_img()

Supprime les modèles d'image d'un texte

supprime_img(string $letexte[, string|null $message = null ]) : string

Fonction en cas de texte extrait d'un serveur distant: on ne sait pas (encore) rapatrier les documents joints Sert aussi à nettoyer un texte qu'on veut mettre dans un <a> etc.

Parameters
$letexte : string

texte à nettoyer

$message : string|null = null

Message de remplacement pour chaque image enlevée

Tags
todo

gérer les autres modèles ?

Return values
string

texte sans les modèles d'image

find_langs_in_path()

Rechercher tous les lang/file dans le path qui seront ensuite chargés dans l'ordre du path

find_langs_in_path(string $file[, string $dirname = 'lang' ]) : array<string|int, mixed>

Version dédiée et optimisée pour cet usage de find_in_path

Parameters
$file : string

Nom du fichier cherché, tel que mots_fr.php

$dirname : string = 'lang'

Nom du répertoire de recherche

Tags
see
find_in_path()
staticvar

array $dirs

Return values
array<string|int, mixed>

Liste des fichiers de langue trouvés, dans l'ordre des chemins

chercher_module_lang()

Recherche le ou les fichiers de langue d'un module de langue

chercher_module_lang(string $module[, string $lang = '' ]) : array<string|int, mixed>
Parameters
$module : string

Nom du module de langue, tel que mots ou ecrire

$lang : string = ''

Langue dont on veut obtenir les traductions. Paramètre optionnel uniquement si le module est local

Return values
array<string|int, mixed>

Liste des fichiers touvés pour ce module et cette langue.

charger_langue()

Charge en mémoire les couples cle/traduction d'un module de langue et une langue donnée

charger_langue(string $lang[, string $module = 'spip' ]) : void

Interprête un fichier de langue pour le module et la langue désignée s'il existe, et sinon se rabat soit sur la langue principale du site (définie par la meta langue_site), soit sur le français.

Définit la globale idx_lang qui sert à la lecture du fichier de langue (include) et aux surcharges via surcharger_langue()

Parameters
$lang : string

Code de langue

$module : string = 'spip'

Nom du module de langue

Tags
uses
chercher_module_lang()
uses
surcharger_langue()
used-by
inc_traduire_dist()

lire_fichier_langue()

Retourne les entrées d’un fichier de langue

lire_fichier_langue(string $fichier) : string

Les fichiers de langue retournent soit un array [ cle => valeur ], soit peuplent une globale $GLOBALS[$GLOBALS['idx_lang']].

Parameters
$fichier : string
Return values
string

Chemin du fichier de langue (un fichier PHP)

surcharger_langue()

Surcharger le fichier de langue courant avec un ou plusieurs autres

surcharger_langue(array<string|int, mixed> $fichiers) : mixed

Charge chaque fichier de langue dont les chemins sont transmis et surcharge les infos de cette langue/module déjà connues par les nouvelles données chargées. Seule les clés nouvelles ou modifiées par la surcharge sont impactées (les clés non présentes dans la surcharge ne sont pas supprimées !).

La fonction suppose la présence de la globale idx_lang indiquant la destination des couples de traduction, de la forme i18n_{$module}_{$lang}

Parameters
$fichiers : array<string|int, mixed>

Liste des chemins de fichiers de langue à surcharger.

Tags
used-by
charger_langue()
used-by
inc_traduire_dist()

inc_traduire_dist()

Traduire une chaine internationalisée

inc_traduire_dist(string $ori, string $lang[, bool $raw = false ]) : string|Description

Lorsque la langue demandée n'a pas de traduction pour la clé de langue transmise, la fonction cherche alors la traduction dans la langue principale du site (défini par la meta langue_site), puis, à défaut dans la langue française.

Les traductions sont cherchées dans les modules de langue indiqués. Par exemple le module mots dans la clé mots:titre_mot, pour une traduction es (espagnol) provoquera une recherche dans tous les fichiers lang\mots_es.php.

Des surcharges locales peuvent être présentes également dans les fichiers lang/local_es.php ou lang/local.php

Parameters
$ori : string

Clé de traduction, tel que bouton_enregistrer ou mots:titre_mot

$lang : string

Code de langue, la traduction doit se faire si possible dans cette langue

$raw : bool = false
  • false : retourne le texte (par défaut)
  • true : retourne une description de la chaine de langue (module, texte, langue)
Tags
note

Les couples clé/traductions déjà connus sont sauvés en interne dans les globales i18n_{$module}_{$lang} tel que i18n_mots_es et sont également sauvés dans la variable statique deja_vu de cette fonction.

uses
charger_langue()
uses
chercher_module_lang()
uses
surcharger_langue()
used-by
_T()
used-by
extraire_idiome()
Return values
string|Description
  • string : Traduction demandée. Chaîne vide si aucune traduction trouvée.
  • Description : traduction et description (texte, module, langue)

definir_details_traduction()

Modifie le texte de traduction pour indiquer des éléments servant au debug de celles-ci. (pour var_mode=traduction)

definir_details_traduction(Description $desc, string $modules) : Description
Parameters
$desc : Description
$modules : string

Les modules qui étaient demandés

Return values
Description

install_etape__dist()

Affiche l'étape 0 d'installation : écran d'accueil.

install_etape__dist() : mixed
Tags
uses
info_copyright()
used-by
exec_install_dist()

Affiche l'écran d'accueil de l'installation, si aucune étape n'est encore définie.

install_etape_1_dist()

Affichage de l'étape 1 d'installation : tests des répertoires et hébergement ; demande d'identifiants de connexion à la BDD

install_etape_1_dist() : mixed

Teste que l'hébergement est compatible, que les répertoires qui doivent être accessibles en écriture le sont effectivement, auquel cas demande les identifiants de connexion à une base de données

Tags
uses
tester_compatibilite_hebergement()
uses
analyse_fichier_connection()

install_etape_2_bases()

install_etape_2_bases(mixed $login_db, mixed $server_db) : mixed
Parameters
$login_db : mixed
$server_db : mixed

install_etape_2_form()

install_etape_2_form(mixed $hidden, mixed $checked, mixed $res, mixed $etape) : mixed
Parameters
$hidden : mixed
$checked : mixed
$res : mixed
$etape : mixed

install_bases()

install_bases(mixed $adresse_db, mixed $login_db, mixed $pass_db, mixed $server_db, mixed $choix_db, mixed $sel_db, mixed $chmod_db) : mixed
Parameters
$adresse_db : mixed
$login_db : mixed
$pass_db : mixed
$server_db : mixed
$choix_db : mixed
$sel_db : mixed
$chmod_db : mixed

preparer_prefixe_tables()

Préparer le préfixe des tables

preparer_prefixe_tables(string $prefixe) : string

Contrairement a ce qui est dit dans le message (trop strict mais c'est pour notre bien), on tolère les chiffres en plus des minuscules. On corrige aussi le préfixe afin qu'il ne commence pas par un chiffre cf https://core.spip.net/issues/3626

Parameters
$prefixe : string

Le préfixe demandé

Return values
string

Le préfixe corrigé

install_premier_auteur()

install_premier_auteur(mixed $email, mixed $login, mixed $nom, mixed $pass, mixed $hidden, mixed $auteur_obligatoire) : mixed
Parameters
$email : mixed
$login : mixed
$nom : mixed
$pass : mixed
$hidden : mixed
$auteur_obligatoire : mixed

echouer_etape_3b()

echouer_etape_3b(mixed $echec) : never
Parameters
$echec : mixed
Return values
never

test_ecrire()

test_ecrire(mixed $my_dir) : mixed
Parameters
$my_dir : mixed

iterateur_CONDITION_dist()

Créer une boucle sur un itérateur CONDITION

iterateur_CONDITION_dist(Boucle $b) : Boucle

Annonce au compilateur les "champs" disponibles, c'est à dire aucun. Une boucle CONDITION n'a pas de données !

Parameters
$b : Boucle

Description de la boucle

Return values
Boucle

Description de la boucle complétée des champs

iterateur_DATA_dist()

Créer une boucle sur un itérateur DATA

iterateur_DATA_dist(Boucle $b) : Boucle

Annonce au compilateur les "champs" disponibles, c'est à dire 'cle', 'valeur' et '*' (tout nom possible).

On ne peut effectivement pas connaître à la compilation la structure des données qui seront obtenues. On indique donc au compilateur que toute balise utilisée dans la boucle est possiblement un champ des données reçues.

Parameters
$b : Boucle

Description de la boucle

Return values
Boucle

Description de la boucle complétée des champs

inc_file_to_array_dist()

file -> tableau

inc_file_to_array_dist(string $data) : array<string|int, mixed>
Parameters
$data : string
Return values
array<string|int, mixed>

inc_plugins_to_array_dist()

plugins -> tableau

inc_plugins_to_array_dist() : array<string|int, mixed>
Return values
array<string|int, mixed>

inc_xml_to_array_dist()

xml -> tableau

inc_xml_to_array_dist(string $data) : array<string|int, mixed>
Parameters
$data : string
Return values
array<string|int, mixed>

inc_object_to_array()

object -> tableau

inc_object_to_array(object $object) : array<string|int, mixed>
Parameters
$object : object

The object to convert

Return values
array<string|int, mixed>

inc_sql_to_array_dist()

sql -> tableau

inc_sql_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
$data : string
Return values
array<string|int, mixed>|bool

inc_json_to_array_dist()

json -> tableau

inc_json_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
$data : string
Return values
array<string|int, mixed>|bool

inc_csv_to_array_dist()

csv -> tableau

inc_csv_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
$data : string
Return values
array<string|int, mixed>|bool

inc_rss_to_array_dist()

RSS -> tableau

inc_rss_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
$data : string
Return values
array<string|int, mixed>|bool

inc_atom_to_array_dist()

atom, alias de rss -> tableau

inc_atom_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
$data : string
Return values
array<string|int, mixed>|bool

inc_glob_to_array_dist()

glob -> tableau lister des fichiers selon un masque, pour la syntaxe cf php.net/glob

inc_glob_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
$data : string
Return values
array<string|int, mixed>|bool

inc_yaml_to_array_dist()

YAML -> tableau

inc_yaml_to_array_dist(string $data) : bool|array<string|int, mixed>
Parameters
$data : string
Tags
throws
Exception
Return values
bool|array<string|int, mixed>

inc_pregfiles_to_array_dist()

pregfiles -> tableau lister des fichiers a partir d'un dossier de base et selon une regexp.

inc_pregfiles_to_array_dist(string $dir[, string $regexp = -1 ][, int $limit = 10000 ]) : array<string|int, mixed>|bool

pour la syntaxe cf la fonction spip preg_files

Parameters
$dir : string
$regexp : string = -1
$limit : int = 10000
Return values
array<string|int, mixed>|bool

inc_ls_to_array_dist()

ls -> tableau ls : lister des fichiers selon un masque glob et renvoyer aussi leurs donnees php.net/stat

inc_ls_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
$data : string
Return values
array<string|int, mixed>|bool

XMLObjectToArray()

Object -> tableau

XMLObjectToArray(object $object) : array<string|int, mixed>|bool
Parameters
$object : object
Return values
array<string|int, mixed>|bool

iterateur_php_dist()

Créer une boucle sur un itérateur PHP

iterateur_php_dist(Boucle $b, string $iteratorName) : Boucle

Annonce au compilateur les "champs" disponibles, c'est à dire 'cle', 'valeur' et toutes les méthodes de l'itérateur désigné.

Parameters
$b : Boucle

Description de la boucle

$iteratorName : string

Nom de l'itérateur à utiliser

Return values
Boucle

Description de la boucle complétée des champs

notifications_instituerarticle_dist()

notifications_instituerarticle_dist(mixed $quoi, mixed $id_article, mixed $options) : mixed
Parameters
$quoi : mixed
$id_article : mixed
$options : mixed

plugins_afficher_liste_dist()

Afficher une liste de plugins dans l'interface

plugins_afficher_liste_dist(string $url_page, array<string|int, mixed> $liste_plugins, array<string|int, mixed> $liste_plugins_checked, array<string|int, mixed> $liste_plugins_actifs[, string $dir_plugins = _DIR_PLUGINS ][, string $afficher_un = 'afficher_plugin' ]) : string
Parameters
$url_page : string
$liste_plugins : array<string|int, mixed>
$liste_plugins_checked : array<string|int, mixed>
$liste_plugins_actifs : array<string|int, mixed>
$dir_plugins : string = _DIR_PLUGINS
$afficher_un : string = 'afficher_plugin'
Return values
string

affiche_block_initiale()

affiche_block_initiale(mixed $initiale, mixed $block, mixed $block_actif) : mixed
Parameters
$initiale : mixed
$block : mixed
$block_actif : mixed

plugins_afficher_nom_plugin_dist()

plugins_afficher_nom_plugin_dist(mixed $url_page, mixed $plug_file, mixed $checked, mixed $actif[, mixed $expose = false ][, mixed $class_li = 'item' ][, mixed $dir_plugins = _DIR_PLUGINS ]) : mixed
Parameters
$url_page : mixed
$plug_file : mixed
$checked : mixed
$actif : mixed
$expose : mixed = false
$class_li : mixed = 'item'
$dir_plugins : mixed = _DIR_PLUGINS

plugins_afficher_repertoires_dist()

plugins_afficher_repertoires_dist(mixed $url_page, mixed $liste_plugins, mixed $liste_plugins_actifs) : mixed
Parameters
$url_page : mixed
$liste_plugins : mixed
$liste_plugins_actifs : mixed

tree_open_close_dir()

tree_open_close_dir(mixed &$current, mixed $target[, mixed $deplie = [] ]) : mixed
Parameters
$current : mixed
$target : mixed
$deplie : mixed = []

plugins_extraire_boutons_dist()

Analyser un arbre xml et extraire les infos concernant les boutons et onglets

plugins_extraire_boutons_dist(array<string|int, mixed> $arbre) : array<string|int, mixed>
Parameters
$arbre : array<string|int, mixed>
Return values
array<string|int, mixed>

plugins_extraire_pipelines_dist()

Extraire les infos de pipeline

plugins_extraire_pipelines_dist(array<string|int, mixed> &$arbre) : mixed
Parameters
$arbre : array<string|int, mixed>

plugins_infos_paquet()

lecture d'un texte conforme a la DTD paquet.dtd et conversion en tableau PHP identique a celui fourni par plugin.xml manque la description

plugins_infos_paquet(array<string|int, mixed> $desc[, string $plug = '' ][, string $dir_plugins = _DIR_PLUGINS ]) : array<string|int, mixed>
Parameters
$desc : array<string|int, mixed>
$plug : string = ''
$dir_plugins : string = _DIR_PLUGINS
Return values
array<string|int, mixed>

paquet_readable_files()

Verifier le presence des fichiers remarquables options/actions/administrations et le logo et peupler la description du plugin en consequence

paquet_readable_files(array<string|int, mixed> &$tree, string $dir) : void
Parameters
$tree : array<string|int, mixed>
$dir : string

paquet_debutElement()

Appeler le validateur, qui memorise le texte dans le tableau "versions" On memorise en plus dans les index de numero de version de SPIP les attributs de la balise rencontree qu'on complete par des entrees nommees par les sous-balises de "paquet", et initialisees par un tableau vide, rempli a leur rencontre.

paquet_debutElement(object $phraseur, string $name, array<string|int, mixed> $attrs) : mixed

La sous-balise "spip", qui ne peut apparaitre qu'apres les autres, reprend les valeurs recuperees precedement (valeurs par defaut)

Parameters
$phraseur : object
$name : string
$attrs : array<string|int, mixed>

paquet_textElement()

Appeler l'indenteur pour sa gestion de la profondeur, et memoriser les attributs dans le tableau avec l'oppose de la profondeur comme index, avec '' comme sous-index (les autres sont les attributs)

paquet_textElement(object $phraseur, string $data) : mixed
Parameters
$phraseur : object
$data : string

paquet_finElement()

Si on sait deja que le texte n'est pas valide on ne fait rien.

paquet_finElement(object $phraseur, string $name) : mixed

Pour une balise sans attribut, le traitement est forcement toujours le meme. Pour une balise sans texte, idem mais parce que la DTD est bien fichue

Parameters
$phraseur : object
$name : string

info_paquet_licence()

Cas particulier de la balise licence : transformer en lien sur url fournie dans l'attribut lien

info_paquet_licence(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_chemin()

Cas particulier de la balise chemin : stocker un tableau

info_paquet_chemin(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_auteur()

Cas particulier de la balise auteur peupler le mail si besoin (en le protegeant, mais est-ce bien la place pour cela ?) et le lien vers le site de l'auteur si fournit

info_paquet_auteur(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_credit()

Cas particulier de la balise credit peupler le lien vers le site externe si necessaire

info_paquet_credit(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

Cas particulier de la balise copyright : transformer en lien sur url fournie dans l'attribut lien

info_paquet_copyright(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_paquet()

Cas particulier de la balise paquet : Remplacer cet index qui ne sert a rien par un index balise=paquet et ajouter la reference a la dtd

info_paquet_paquet(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_traduire()

Cas particulier sur la balise traduire : Elle n'a pas de 'nom'

info_paquet_traduire(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_spip()

Cas particulier de la balise spip : Remplacer cet index qui ne sert a rien par un index balise=spip et ajouter la reference a la dtd

info_paquet_spip(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_pipeline()

Pipelines : plusieurs declarations possibles pour un meme pipeline

info_paquet_pipeline(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_style()

Style : plusieurs declarations possibles.

info_paquet_style(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed

Traitement de l'attribut source pour générer en remplacement les attributs url et path

Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_script()

Script : plusieurs declarations possibles.

info_paquet_script(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed

Traitement de l'attribut source pour générer en remplacement les attributs url et path

Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

info_paquet_genie()

Genie : plusieurs declarations possibles pour les crons

info_paquet_genie(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
$phraseur : object
$attrs : array<string|int, mixed>
$texte : string

plugins_verifie_conformite_dist()

plugins_verifie_conformite_dist(mixed $plug, mixed &$arbre[, mixed $dir_plugins = _DIR_PLUGINS ]) : mixed
Parameters
$plug : mixed
$arbre : mixed
$dir_plugins : mixed = _DIR_PLUGINS

securiser_redirect_action()

securiser_redirect_action(string $redirect) : string
Parameters
$redirect : string
Return values
string

refuser_traiter_formulaire_ajax()

refuser_traiter_formulaire_ajax() : mixed

traiter_appels_inclusions_ajax()

traiter_appels_inclusions_ajax() : mixed

traiter_formulaires_dynamiques()

traiter_formulaires_dynamiques([mixed $get = false ]) : mixed
Parameters
$get : mixed = false

interprete_argument_balise()

Retourne le code PHP d'un argument de balise s'il est présent

interprete_argument_balise(int $n, Champ $p) : string|null
Parameters
$n : int

Numéro de l'argument

$p : Champ

Pile au niveau de la balise

Tags
uses
calculer_liste()
example
// Retourne le premier argument de la balise
// #BALISE{premier,deuxieme}
$arg = interprete_argument_balise(1,$p);
Return values
string|null

Code PHP si cet argument est présent, sinon null

balise_NOM_SITE_SPIP_dist()

Compile la balise `#NOM_SITE_SPIP` retournant le nom du site

balise_NOM_SITE_SPIP_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4622
Return values
Champ

Pile complétée par le code à générer

balise_EMAIL_WEBMASTER_dist()

Compile la balise `#EMAIL_WEBMASTER` retournant l'adresse courriel du webmestre

balise_EMAIL_WEBMASTER_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4586
Return values
Champ

Pile complétée par le code à générer

balise_DESCRIPTIF_SITE_SPIP_dist()

Compile la balise `#DESCRIPTIF_SITE_SPIP` qui retourne le descriptif du site !

balise_DESCRIPTIF_SITE_SPIP_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4338
Return values
Champ

Pile complétée par le code à générer

balise_CHARSET_dist()

Compile la balise `#CHARSET` qui retourne le nom du jeu de caractères utilisé par le site tel que `utf-8`

balise_CHARSET_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4331
example
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
Return values
Champ

Pile complétée par le code à générer

balise_LANG_LEFT_dist()

Compile la balise `#LANG_LEFT` retournant 'left' si la langue s'écrit de gauche à droite, sinon 'right'

balise_LANG_LEFT_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
note

Peut servir à l'écriture de code CSS dans un squelette, mais pour inclure un fichier css, il vaut mieux utiliser le filtre direction_css si on le souhaite sensible à la langue utilisé.

balise
link
https://www.spip.net/4625
see
lang_dir()
see
balise_LANG_RIGHT_dist()
see
balise_LANG_DIR_dist()
see
direction_css()
Return values
Champ

Pile complétée par le code à générer

balise_LANG_DIR_dist()

Compile la balise `#LANG_DIR` retournant 'ltr' si la langue s'écrit de gauche à droite, sinon 'rtl'

balise_LANG_DIR_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4625
see
lang_dir()
see
balise_LANG_LEFT_dist()
see
balise_LANG_RIGHT_dist()
example
<html dir="#LANG_DIR" lang="#LANG"
    xmlns="http://www.w3.org/1999/xhtml"
    xml:lang="#LANG" class="[(#LANG_DIR)][ (#LANG)] no-js">
Return values
Champ

Pile complétée par le code à générer

balise_PUCE_dist()

Compile la balise `#PUCE` affichant une puce

balise_PUCE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4628
see
definir_puce()
Return values
Champ

Pile complétée par le code à générer

balise_DATE_dist()

Compile la balise `#DATE` qui retourne la date de mise en ligne

balise_DATE_dist(Champ $p) : Champ

Cette balise retourne soit le champ date d'une table si elle est utilisée dans une boucle, sinon la date de calcul du squelette.

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
link

Balise DATE

link

La gestion des dates

example
<td>[(#DATE|affdate_jourcourt)]</td>
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_DOSSIER_SQUELETTE_dist()

Compile la balise `#DOSSIER_SQUELETTE` retournant le chemin vers le répertoire du fichier squelette dans lequel elle est appelee (comme __DIR__ en php)

balise_DOSSIER_SQUELETTE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
link
https://www.spip.net/4627
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_SQUELETTE_dist()

Compile la balise `#SQUELETTE` retournant le chemin du squelette courant

balise_SQUELETTE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
link
https://www.spip.net/4027
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_SPIP_VERSION_dist()

Compile la balise `#SPIP_VERSION` qui affiche la version de SPIP

balise_SPIP_VERSION_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
see
spip_version()
example
[<meta name="generator" content="SPIP (#SPIP_VERSION|header_silencieux)" />]
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_NOM_SITE_dist()

Compile la balise `#NOM_SITE` qui affiche le nom du site.

balise_NOM_SITE_dist(Champ $p) : Champ

Affiche le nom du site ou sinon l'URL ou le titre de l'objet Utiliser #NOM_SITE* pour avoir le nom du site ou rien.

Cette balise interroge les colonnes nom_site ou url_site dans la boucle la plus proche.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
calculer_url()
example
<a href="#URL_SITE">#NOM_SITE</a>
Return values
Champ

Pile complétée par le code à générer

balise_NOTES_dist()

Compile la balise `#NOTE` qui affiche les notes de bas de page

balise_NOTES_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/3964
see
calculer_notes()
Return values
Champ

Pile complétée par le code à générer

balise_RECHERCHE_dist()

Compile la balise `#RECHERCHE` qui retourne le terme de recherche demandé

balise_RECHERCHE_dist(Champ $p) : Champ

Retourne un terme demandé en recherche, en le prenant dans _request() sous la clé recherche.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
example
<h3>Recherche de : #RECHERCHE</h3>
Return values
Champ

Pile complétée par le code à générer

balise_COMPTEUR_BOUCLE_dist()

Compile la balise `#COMPTEUR_BOUCLE` qui retourne le numéro de l’itération actuelle de la boucle

balise_COMPTEUR_BOUCLE_dist(Champ $p) : Champ|null
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4333
see
balise_TOTAL_BOUCLE_dist()
Return values
Champ|null

Pile complétée par le code à générer

balise_POINTS_dist()

Compile la balise `#POINTS` qui affiche la pertinence des résultats

balise_POINTS_dist(Champ $p) : Champ

Retourne le calcul points réalisé par le critère recherche. Cette balise nécessite donc la présence de ce critère.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

boucles et balises de recherche

see
critere_recherche_dist()
Return values
Champ

Pile complétée par le code à générer

balise_POPULARITE_MAX_dist()

Compile la balise `#POPULARITE_MAX` qui affiche la popularité maximum parmis les popularités des articles

balise_POPULARITE_MAX_dist(Champ $p) : Champ

Cela correspond à la popularité quotidienne de l'article

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

La popularité

see
balise_POPULARITE_ABSOLUE_dist()
see
balise_POPULARITE_dist()
see
balise_POPULARITE_SITE_dist()
Return values
Champ

Pile complétée par le code à générer

balise_VALEUR_dist()

Compile la balise `#VALEUR` retournant le champ `valeur`

balise_VALEUR_dist(Champ $p) : Champ

Utile dans une boucle DATA pour retourner une valeur.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

#CLE et #VALEUR

see
table_valeur()
example
#VALEUR renvoie le champ valeur
#VALEUR{x} renvoie #VALEUR|table_valeur{x},
   équivalent à #X (si X n'est pas une balise spécifique à SPIP)
#VALEUR{a/b} renvoie #VALEUR|table_valeur{a/b}
Return values
Champ

Pile complétée par le code à générer

balise_EXPOSE_dist()

Compile la balise `#EXPOSE` qui met en évidence l'élément sur lequel la page se trouve

balise_EXPOSE_dist(Champ $p) : Champ

Expose dans une boucle l'élément de la page sur laquelle on se trouve, en retournant on si l'élément correspond à la page, une chaîne vide sinon.

On peut passer les paramètres à faire retourner par la balise.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
example
<a href="#URL_ARTICLE"[ class="(#EXPOSE)"]>
<a href="#URL_ARTICLE"[ class="(#EXPOSE{actif})"]>
<a href="#URL_ARTICLE"[ class="(#EXPOSE{on,off})"]>
balise
link

Exposer un article

uses
calculer_balise_expose()
Return values
Champ

Pile complétée par le code à générer

calculer_balise_expose()

Calcul de la balise expose

calculer_balise_expose(Champ $p, string $on, string $off) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

$on : string

texte à afficher si l'élément est exposé (code à écrire tel que "'on'")

$off : string

texte à afficher si l'élément n'est pas exposé (code à écrire tel que "''")

Tags
see
calcul_exposer()
used-by
balise_EXPOSE_dist()
Return values
Champ

Pile complétée par le code à générer

balise_INTRODUCTION_dist()

Compile la balise `#INTRODUCTION`

balise_INTRODUCTION_dist(Champ $p) : Champ

Retourne une introduction d'un objet éditorial, c'est à dire les 600 premiers caractères environ du champ 'texte' de l'objet ou le contenu indiqué entre <intro> et </intro> de ce même champ.

Pour les articles, l'introduction utilisée est celle du champ descriptif s'il est renseigné, sinon il est pris dans les champs chapo et texte et est par défaut limité à 500 caractères.

Pour les rubriques, l'introduction utilisée est celle du champ descriptif s'il est renseigné, sinon du champ texte.

La balise accèpte 1 paramètre indiquant la longueur en nombre de caractères de l'introduction.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
see
filtre_introduction_dist()
example
#INTRODUCTION : coupe au nombre par défaut, suite par défaut
#INTRODUCTION{300} : coupe à 300, suite par défaut
#INTRODUCTION{300, ...} : coupe à 300, suite '...'
#INTRODUCTION{...} : coupe au nombre par défaut, suite '...'
balise
link
http://www.spip.net/@introduction
uses
generer_objet_introduction()
Return values
Champ

Pile complétée par le code à générer

balise_LANG_dist()

Compile la balise `#LANG` qui affiche la langue de l'objet (ou d'une boucle supérieure), et à defaut la langue courante

balise_LANG_dist(Champ $p) : Champ

La langue courante est celle du site ou celle qui a été passée dans l'URL par le visiteur. L'étoile #LANG* n'affiche rien si aucune langue n'est trouvée dans le SQL ou le contexte.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/3864
Return values
Champ

Pile complétée par le code à générer

balise_LESAUTEURS_dist()

Compile la balise `#LESAUTEURS` chargée d'afficher la liste des auteurs d'un objet

balise_LESAUTEURS_dist(Champ $p) : Champ
  • Soit le champ lesauteurs existe dans la table et à ce moment là, la balise retourne son contenu,
  • soit la balise appelle le modele lesauteurs.html en lui passant le couple objet et id_objet dans son environnement.
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

Description de la balise

link

Description de la boucle ARTICLES

link

Description de la boucle SYNDIC_ARTICLES

Return values
Champ

Pile complétée par le code à générer

balise_RANG_dist()

Compile la balise `#RANG` chargée d'afficher le numéro de l'objet

balise_RANG_dist(Champ $p) : Champ

Affiche le « numero de l'objet ». Soit 1 quand on a un titre 1. Premier article.

Ceci est transitoire afin de préparer une migration vers un vrai système de tri des articles dans une rubrique (et plus si affinités). La balise permet d'extraire le numero masqué par le filtre supprimer_numero.

La balise recupère le champ declaré dans la définition table_titre de l'objet, ou à defaut du champ titre

Si un champ rang existe, il est pris en priorité.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/5495
Return values
Champ

Pile complétée par le code à générer

balise_POPULARITE_dist()

Compile la balise `#POPULARITE` qui affiche la popularité relative.

balise_POPULARITE_dist(Champ $p) : Champ

C'est à dire le pourcentage de la fréquentation de l'article (la popularité absolue) par rapport à la popularité maximum.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

La popularité

see
balise_POPULARITE_ABSOLUE_dist()
see
balise_POPULARITE_MAX_dist()
see
balise_POPULARITE_SITE_dist()
Return values
Champ

Pile complétée par le code à générer

balise_PAGINATION_dist()

Compile la balise `#PAGINATION` chargée d'afficher une pagination

balise_PAGINATION_dist(Champ $p[, string $liste = 'true' ]) : Champ

Elle charge le modèle pagination.html (par défaut), mais un paramètre permet d'indiquer d'autres modèles. #PAGINATION{nom} utilisera le modèle pagination_nom.html.

Cette balise nécessite le critère pagination sur la boucle où elle est utilisée.

Parameters
$p : Champ

Pile au niveau de la balise

$liste : string = 'true'

Afficher ou non les liens de pagination (variable de type string car code à faire écrire au compilateur) :

  • true pour les afficher
  • false pour afficher uniquement l'ancre.
Tags
balise
link

Le système de pagination

see
filtre_pagination_dist()
see
critere_pagination_dist()
see
balise_ANCRE_PAGINATION_dist()
example
[<nav role="navigation" class="pagination">(#PAGINATION{prive})</nav>]
Return values
Champ

Pile complétée par le code à générer

balise_ANCRE_PAGINATION_dist()

Compile la balise `#ANCRE_PAGINATION` chargée d'afficher l'ancre de la pagination

balise_ANCRE_PAGINATION_dist(Champ $p) : Champ

Cette ancre peut ainsi être placée au-dessus la liste des éléments de la boucle alors qu'on mettra les liens de pagination en-dessous de cette liste paginée.

Cette balise nécessite le critère pagination sur la boucle où elle est utilisée.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

Le système de pagination

link

Balise ANCRE_PAGINATION

see
critere_pagination_dist()
see
balise_PAGINATION_dist()
Return values
Champ

Pile complétée par le code à générer

balise_GRAND_TOTAL_dist()

Compile la balise `#GRAND_TOTAL` qui retourne le nombre total de résultats d'une boucle

balise_GRAND_TOTAL_dist(Champ $p) : Champ

Cette balise set équivalente à #TOTAL_BOUCLE sauf pour les boucles paginées. Dans ce cas elle indique le nombre total d'éléments répondant aux critères hors pagination.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_GRAND_TOTAL_dist()
Return values
Champ

Pile complétée par le code à générer

balise_SELF_dist()

Compile la balise `#SELF` qui retourne l’URL de la page appelée.

balise_SELF_dist(Champ $p) : Champ

Cette URL est nettoyée des variables propres à l’exécution de SPIP tel que var_mode.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
note

Attention dans un INCLURE() ou une balise dynamique, on n'a pas le droit de mettre en cache #SELF car il peut correspondre à une autre page (attaque XSS) (Dans ce cas faire <INCLURE{self=#SELF}> pour différencier les caches.)

balise
link
https://www.spip.net/4574
example
<a href="[(#SELF|parametre_url{id_mot,#ID_MOT})]">...
Return values
Champ

Pile complétée par le code à générer

balise_CHEMIN_dist()

Compile la balise `#CHEMIN` qui cherche un fichier dans les chemins connus de SPIP et retourne son chemin complet depuis la racine

balise_CHEMIN_dist(Champ $p) : Champ

Signature : #CHEMIN{chemin/vers/fichier.ext}

Retourne une chaîne vide si le fichier n'est pas trouvé.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4332
see
find_in_path()

Recherche de chemin

example
[<script type="text/javascript" src="(#CHEMIN{javascript/jquery.flot.js})"></script>]
[<link rel="stylesheet" href="(#CHEMIN{css/perso.css}|direction_css)" type="text/css" />]
Return values
Champ

Pile complétée par le code à générer

balise_CHEMIN_IMAGE_dist()

Compile la balise `#CHEMIN_IMAGE` qui cherche une image dans le thème de l'espace privé utilisé par SPIP et retourne son chemin complet depuis la racine

balise_CHEMIN_IMAGE_dist(Champ $p) : Champ

Signature : #CHEMIN_IMAGE{image.png}

Retourne une chaîne vide si le fichier n'est pas trouvé.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
chemin_image()
example
#CHEMIN_IMAGE{article-24.png}
Return values
Champ

Pile complétée par le code à générer

balise_ENV_dist()

Compile la balise `#ENV` qui permet de récupérer le contexte d'environnement transmis à un squelette.

balise_ENV_dist(Champ $p[, array<string|int, mixed> $src = null ]) : Champ

La syntaxe #ENV{toto, valeur par defaut} renverra valeur par defaut si $toto est vide.

La recherche de la clé s'appuyant sur la fonction table_valeur il est possible de demander un sous élément d'un tableau : #ENV{toto/sous/element, valeur par defaut} retournera l'équivalent de #ENV{toto}|table_valeur{sous/element} c'est-à-dire en quelque sorte $env['toto']['sous']['element'] s'il existe, sinon la valeur par défaut.

Si le tableau est vide on renvoie '' (utile pour #SESSION)

Enfin, la balise utilisée seule #ENV retourne le tableau complet de l'environnement. À noter que ce tableau est retourné sérialisé.

En standard est appliqué le filtre entites_html, mais si l'étoile est utilisée pour désactiver les filtres par défaut, par exemple avec [(#ENV*{toto})] , il faut s'assurer de la sécurité anti-javascript, par exemple en filtrant avec safehtml : [(#ENV*{toto}|safehtml)]

Parameters
$p : Champ

Pile ; arbre de syntaxe abstrait positionné au niveau de la balise.

$src : array<string|int, mixed> = null

Tableau dans lequel chercher la clé demandée en paramètre de la balise. Par defaut prend dans le contexte du squelette.

Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_CONFIG_dist()

Compile la balise `#CONFIG` qui retourne une valeur de configuration

balise_CONFIG_dist(Champ $p) : Champ

Cette balise appelle la fonction lire_config() pour obtenir les configurations du site.

Par exemple #CONFIG{gerer_trad} donne 'oui ou 'non' selon le réglage.

Le 3ème argument permet de contrôler la sérialisation du résultat (mais ne sert que pour le dépot meta) qui doit parfois désérialiser, par exemple avec |in_array{#CONFIG{toto,#ARRAY,1}}. Ceci n'affecte pas d'autres dépots et |in_array{#CONFIG{toto/,#ARRAY}} sera équivalent.

Òn peut appeler d'autres tables que spip_meta avec un #CONFIG{/infos/champ,defaut} qui lit la valeur de champ dans une table des meta qui serait spip_infos

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
link
https://www.spip.net/4335
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_CONNECT_dist()

Compile la balise `#CONNECT` qui retourne le nom du connecteur de base de données

balise_CONNECT_dist(Champ $p) : Champ

Retourne le nom du connecteur de base de données utilisé (le nom du fichier config/xx.php sans l'extension, utilisé pour calculer les données du squelette).

Retourne NULL si le connecteur utilisé est celui par défaut de SPIP (connect.php), sinon retourne son nom.

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_SESSION_dist()

Compile la balise `#SESSION` qui permet d’accéder aux informations liées au visiteur authentifié et de différencier automatiquement le cache en fonction du visiteur.

balise_SESSION_dist(Champ $p) : Champ

Cette balise est un tableau des données du visiteur (nom, email etc). Si elle est invoquée, elle lève un drapeau dans le fichier cache, qui permet à public/cacher de créer un cache différent par visiteur

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
link
https://www.spip.net/3979
see
balise_AUTORISER_dist()
see
balise_SESSION_SET_dist()
example
#SESSION{nom}
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_SESSION_SET_dist()

Compile la balise `#SESSION_SET` qui d’insérer dans la session des données supplémentaires

balise_SESSION_SET_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
link
https://www.spip.net/3984
see
balise_AUTORISER_dist()
see
balise_SESSION_SET_dist()
example
#SESSION_SET{x,y} ajoute x=y dans la session du visiteur
Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_EVAL_dist()

Compile la balise `#EVAL` qui évalue un code PHP

balise_EVAL_dist(Champ $p) : Champ

À utiliser avec précautions !

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
link
https://www.spip.net/4587
example
#EVAL{6+9}
#EVAL{'date("Y-m-d")'}
#EVAL{$_SERVER['REQUEST_URI']}
#EVAL{'str_replace("r","z", "roger")'}  (attention les "'" sont interdits)
note

#EVAL{code} produit eval('return code;') mais si le code est une expression sans balise, on se dispense de passer par une construction si compliquée, et le code est passé tel quel (entre parenthèses, et protégé par interdire_scripts)

Return values
Champ

Pile completée du code PHP d'exécution de la balise

balise_CHAMP_SQL_dist()

Compile la balise `#CHAMP_SQL` qui renvoie la valeur d'un champ SQL

balise_CHAMP_SQL_dist(Champ $p) : Champ

Signature : #CHAMP_SQL{champ}

Cette balise permet de récupérer par exemple un champ notes dans une table SQL externe (impossible avec la balise #NOTES qui est une balise calculée).

Ne permet pas de passer une expression comme argument, qui ne peut être qu'un texte statique !

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4041
see
champ_sql()
example
#CHAMP_SQL{notes}
Return values
Champ

Pile complétée par le code à générer

balise_VAL_dist()

Compile la balise `#VAL` qui retourne simplement le premier argument qui lui est transmis

balise_VAL_dist(Champ $p) : Champ

Cela permet d'appliquer un filtre à une chaîne de caractère

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4026
example
#VAL retourne ''
#VAL{x} retourne 'x'
#VAL{1,2} renvoie '1' (2 est considéré comme un autre paramètre)
#VAL{'1,2'} renvoie '1,2'
[(#VAL{a_suivre}|bouton_spip_rss)]
Return values
Champ

Pile complétée par le code à générer

balise_REM_dist()

Compile la balise `#REM` servant à commenter du texte

balise_REM_dist(Champ $p) : Champ

Retourne toujours une chaîne vide.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4578
example
[(#REM)
  Ceci est une remarque ou un commentaire,
  non affiché dans le code généré
]
note

La balise #REM n'empêche pas l'exécution des balises SPIP contenues dedans (elle ne sert pas à commenter du code pour empêcher son exécution).

Return values
Champ

Pile complétée par le code à générer

balise_NULL_dist()

Une balise #NULL quand on a besoin de passer un argument null sur l'appel d'un filtre ou formulaire (evite un #EVAL{null})

balise_NULL_dist(Champ $p) : mixed
Parameters
$p : Champ

balise_HTTP_HEADER_dist()

Compile la balise `#HTTP_HEADER` envoyant des entêtes de retour HTTP

balise_HTTP_HEADER_dist(Champ $p) : Champ

Doit être placée en tête de fichier et ne fonctionne pas dans une inclusion.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4631
example
#HTTP_HEADER{Content-Type: text/csv; charset=#CHARSET}
Return values
Champ

Pile complétée par le code à générer

balise_FILTRE_dist()

Compile la balise `#FILTRE` qui exécute un filtre à l'ensemble du squelette une fois calculé.

balise_FILTRE_dist(Champ $p) : Champ|null

Le filtrage se fait au niveau du squelette, sans s'appliquer aux <INCLURE>. Plusieurs filtres peuvent être indiqués, séparés par des barres verticales |

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4894
example
#FILTRE{compacte_head}
#FILTRE{supprimer_tags|filtrer_entites|trim}
Return values
Champ|null

Pile complétée par le code à générer

balise_CACHE_dist()

Compile la balise `#CACHE` definissant la durée de validité du cache du squelette

balise_CACHE_dist(Champ $p) : Champ

Signature : #CACHE{duree[,type]}

Le premier argument est la durée en seconde du cache. Le second (par défaut statique) indique le type de cache :

  • cache-client autorise gestion du IF_MODIFIED_SINCE
  • statique ne respecte pas l'invalidation par modif de la base (mais s'invalide tout de même à l'expiration du delai)
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see

ecrire/public/cacher.php

link
https://www.spip.net/4330
example
#CACHE{24*3600}
#CACHE{24*3600, cache-client}
#CACHE{0} pas de cache
note

En absence de cette balise la durée est du cache est donné par la constante _DUREE_CACHE_DEFAUT

Return values
Champ

Pile complétée par le code à générer

balise_INSERT_HEAD_dist()

Compile la balise `#INSERT_HEAD` permettant d'insérer du contenu dans le `<head>` d'une page HTML

balise_INSERT_HEAD_dist(Champ $p) : Champ

La balise permet aux plugins d'insérer des styles, js ou autre dans l'entête sans modification du squelette. Les css doivent être inserées de préférence par #INSERT_HEAD_CSS pour en faciliter la surcharge.

On insère ici aussi un morceau de PHP qui verifiera à l'exécution que le pipeline insert_head_css a bien été vu et dans le cas contraire l'appelera. Ceal permet de ne pas oublier les css de #INSERT_HEAD_CSS même si cette balise n'est pas presente.

Il faut mettre ce php avant le insert_head car le compresseur y mets ensuite un php du meme type pour collecter CSS et JS, et on ne veut pas qu'il rate les css insérées en fallback par insert_head_css_conditionnel.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
link
https://www.spip.net/4629
see
balise_INSERT_HEAD_CSS_dist()
Return values
Champ

Pile complétée par le code à générer

balise_INSERT_HEAD_CSS_dist()

Compile la balise `#INSERT_HEAD_CSS` homologue de `#INSERT_HEAD` pour les CSS

balise_INSERT_HEAD_CSS_dist(Champ $p) : Champ

Et par extension pour le JS inline qui doit préférentiellement être inséré avant les CSS car bloquant sinon.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
link
https://www.spip.net/4605
see
balise_INSERT_HEAD_dist()
Return values
Champ

Pile complétée par le code à générer

balise_INCLUDE_dist()

Compile la balise `#INCLUDE` alias de `#INCLURE`

balise_INCLUDE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_INCLURE_dist()
Return values
Champ

Pile complétée par le code à générer

balise_INCLURE_dist()

Compile la balise `#INCLURE` qui inclut un résultat de squelette

balise_INCLURE_dist(Champ $p) : Champ

Signature : [(#INCLURE{fond=nom_du_squelette, argument, argument=xx})]

L'argument env permet de transmettre tout l'environnement du squelette en cours au squelette inclus.

On parle d’inclusion « statique » car le résultat de compilation est ajouté au squelette en cours, dans le même fichier de cache. Cette balise est donc différente d’une inclusion « dynamique » avec <INCLURE.../> qui, elle, crée un fichier de cache séparé (avec une durée de cache qui lui est propre).

L'inclusion est realisée au calcul du squelette, pas au service ainsi le produit du squelette peut être utilisé en entrée de filtres à suivre. On peut faire un #INCLURE{fichier} sans squelette (Incompatible avec les balises dynamiques).

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
example
[(#INCLURE{fond=inclure/documents,id_article, env})]
Return values
Champ

Pile complétée par le code à générer

balise_MODELE_dist()

Compile la balise `#MODELE` qui inclut un résultat de squelette de modèle

balise_MODELE_dist(Champ $p) : Champ

#MODELE{nom} insère le résultat d’un squelette contenu dans le répertoire modeles/. L’identifiant de la boucle parente est transmis par défaut avec le paramètre id à cette inclusion.

Des arguments supplémentaires peuvent être transmis : [(#MODELE{nom, argument=xx, argument})]

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_INCLURE_dist()
example
#MODELE{article_traductions}
Return values
Champ

Pile complétée par le code à générer

balise_SET_dist()

Compile la balise `#SET` qui affecte une variable locale au squelette

balise_SET_dist(Champ $p) : Champ

Signature : #SET{cle,valeur}

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

Balises #SET et #GET

see
balise_GET_dist()
example
#SET{nb,5}
#GET{nb} // affiche 5
Return values
Champ

Pile complétée par le code à générer

balise_GET_dist()

Compile la balise `#GET` qui récupère une variable locale au squelette

balise_GET_dist(Champ $p) : Champ

Signature : #GET{cle[,defaut]}

La clé peut obtenir des sous clés séparés par des /

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link

Balises #SET et #GET

see
balise_SET_dist()
example
#SET{nb,5}
#GET{nb} affiche 5
#GET{nb,3} affiche la valeur de nb, sinon 3

#SET{nb,#ARRAY{boucles,3}}
#GET{nb/boucles} affiche 3, équivalent à #GET{nb}|table_valeur{boucles}
Return values
Champ

Pile complétée par le code à générer

balise_DOUBLONS_dist()

Compile la balise `#DOUBLONS` qui redonne les doublons enregistrés

balise_DOUBLONS_dist(Champ $p) : Champ
  • #DOUBLONS{mots} ou #DOUBLONS{mots,famille} donne l'état des doublons (MOTS) à cet endroit sous forme de tableau d'id_mot comme array(1,2,3,...)
  • #DOUBLONS tout seul donne la liste brute de tous les doublons
  • #DOUBLONS*{mots} donne la chaine brute ,1,2,3,... (changera si la gestion des doublons evolue)
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4123
Return values
Champ

Pile complétée par le code à générer

balise_PIPELINE_dist()

Compile la balise `#PIPELINE` pour permettre d'insérer des sorties de pipeline dans un squelette

balise_PIPELINE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
pipeline()
example
#PIPELINE{nom}
#PIPELINE{nom,données}
#PIPELINE{boite_infos,#ARRAY{data,'',args,#ARRAY{type,rubrique,id,#ENV{id_rubrique}}}}
Return values
Champ

Pile complétée par le code à générer

balise_EDIT_dist()

Compile la balise `#EDIT` qui ne fait rien dans SPIP

balise_EDIT_dist(Champ $p) : Champ

Cette balise ne retourne rien mais permet d'indiquer, pour certains plugins qui redéfinissent cette balise, le nom du champ SQL (ou le nom d'un contrôleur) correspondant à ce qui est édité. Cela sert particulièrement au plugin Crayons. Ainsi en absence du plugin, la balise est toujours reconnue (mais n'a aucune action).

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4584
example
[<div class="#EDIT{texte} texte">(#TEXTE)</div>]
Return values
Champ

Pile complétée par le code à générer

balise_TOTAL_UNIQUE_dist()

Compile la balise `#TOTAL_UNIQUE` qui récupère le nombre d'éléments différents affichés par le filtre `unique`

balise_TOTAL_UNIQUE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4374
see
unique()
example
#TOTAL_UNIQUE affiche le nombre de #BALISE|unique
#TOTAL_UNIQUE{famille} afiche le nombre de #BALISE|unique{famille}
Return values
Champ

Pile complétée par le code à générer

balise_ARRAY_dist()

Compile la balise `#ARRAY` créant un tableau PHP associatif

balise_ARRAY_dist(Champ $p) : Champ

Crée un array PHP à partir d'arguments calculés. Chaque paire d'arguments représente la clé et la valeur du tableau.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4009
example
#ARRAY{key1,val1,key2,val2 ...} retourne
array( key1 => val1, key2 => val2, ...)
Return values
Champ

Pile complétée par le code à générer

balise_LISTE_dist()

Compile la balise `#LISTE` qui crée un tableau PHP avec les valeurs, sans préciser les clés

balise_LISTE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/5547
example
#LISTE{a,b,c,d,e}
Return values
Champ

Pile complétée par le code à générer

balise_AUTORISER_dist()

Compile la balise `#AUTORISER` qui teste une autorisation

balise_AUTORISER_dist(Champ $p) : Champ

Appelle la fonction autoriser() avec les mêmes arguments, et renvoie un espace ' ' si OK (l'action est autorisée), sinon une chaine vide '' (l'action n'est pas autorisée).

Cette balise créée un cache par session.

Signature : #AUTORISER{faire[,type[,id[,auteur[,options]]]}

Parameters
$p : Champ

Pile au niveau de la balise

Tags
note

La priorité des opérateurs exige && plutot que AND

balise
link
https://www.spip.net/3896
see
autoriser()
see
sinon_interdire_acces()
example
[(#AUTORISER{modifier,rubrique,#ID_RUBRIQUE}) ... ]
[(#AUTORISER{voir,rubrique,#ID_RUBRIQUE}|sinon_interdire_acces)]
Return values
Champ

Pile complétée par le code à générer

balise_PLUGIN_dist()

Compile la balise `#PLUGIN` qui permet d’afficher les informations d'un plugin actif

balise_PLUGIN_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
filtre_info_plugin_dist()
link
https://www.spip.net/4591
example
#PLUGIN Retourne la liste sérialisée des préfixes de plugins actifs
#PLUGIN{prefixe} Renvoie true si le plugin avec ce préfixe est actif
#PLUGIN{prefixe, x} Renvoie l'information x du plugin (s'il est actif)
#PLUGIN{prefixe, tout} Renvoie toutes les informations du plugin (s'il est actif)
Return values
Champ

Pile complétée par le code à générer

balise_AIDER_dist()

Compile la balise `#AIDER` qui permet d’afficher l’icone de l’aide au sein des squelettes.

balise_AIDER_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
inc_aide_dist()
link
https://www.spip.net/4733
example
#AIDER{raccourcis}
Return values
Champ

Pile complétée par le code à générer

balise_ACTION_FORMULAIRE()

Compile la balise `#ACTION_FORMULAIRE` qui insère le contexte des formulaires charger / vérifier / traiter avec les hidden de l'URL d'action

balise_ACTION_FORMULAIRE(Champ $p) : Champ

Accèpte 2 arguments optionnels :

  • L'url de l'action (par défaut #ENV{action}
  • Le nom du formulaire (par défaut #ENV{form}
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
form_hidden()
example
<form method='post' action='#ENV{action}'><div>
#ACTION_FORMULAIRE
Return values
Champ

Pile complétée par le code à générer

balise_BOUTON_ACTION_dist()

Compile la balise `#BOUTON_ACTION` qui génère un bouton d'action en post, ajaxable

balise_BOUTON_ACTION_dist(Champ $p) : Champ

Cette balise s'utilise à la place des liens action_auteur, sous la forme #BOUTON_ACTION{libelle[,url[,class[,confirm[,title[,callback]]]]]}

  • libelle : texte du bouton
  • url : URL d’action sécurisée
  • class : Classes à ajouter au bouton, à l'exception de ajax qui est placé sur le formulaire. Pour d'autres classes sur le formulaire, utiliser le filtre ajouter_class
  • confirm : message de confirmation oui/non avant l'action
  • title : attribut title à ajouter au bouton
  • callback : callback js a appeler lors de l'évènement action et avant execution de l'action (ou après confirmation éventuelle si $confirm est non vide). Si la callback renvoie false, elle annule le déclenchement de l'action.
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
uses
bouton_action()
link
https://www.spip.net/4583
example
[(#AUTORISER{reparer,base}|oui)
   [(#BOUTON_ACTION{
       <:bouton_tenter_recuperation:>,
       #URL_ECRIRE{base_repair},
       "ajax btn_large",
   })]
]
Return values
Champ

Pile complétée par le code à générer

balise_SLOGAN_SITE_SPIP_dist()

Compile la balise `#SLOGAN_SITE_SPIP` qui retourne le slogan du site

balise_SLOGAN_SITE_SPIP_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
example
[<p id="slogan">(#SLOGAN_SITE_SPIP)</p>]
Return values
Champ

Pile complétée par le code à générer

balise_HTML5_dist()

Compile la balise `#HTML5` indiquant si l'espace public peut utiliser du HTML5

balise_HTML5_dist(Champ $p) : Champ

Renvoie ' ' si le webmestre souhaite que SPIP génère du code (X)HTML5 sur le site public, et '' si le code doit être strictement compatible HTML4

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
uses
html5_permis()
example
[(#HTML5) required="required"]
<input[ (#HTML5|?{type="email",type="text"})] ... />
Return values
Champ

Pile complétée par le code à générer

balise_TRI_dist()

Compile la balise `#TRI` permettant d'afficher un lien de changement d'ordre de tri d'une colonne de la boucle

balise_TRI_dist(Champ $p[, string $liste = 'true' ]) : Champ

La balise #TRI{champ[,libelle]} champ prend > ou < pour afficher le lien de changement de sens croissant ou decroissant (> < indiquent un sens par une flèche)

Parameters
$p : Champ

Pile au niveau de la balise

$liste : string = 'true'

Inutilisé

Tags
balise
example
<th>[(#TRI{titre,<:info_titre:>,ajax})]</th>
Return values
Champ

Pile complétée par le code à générer

balise_SAUTER_dist()

Compile la balise `#SAUTER{n}` qui permet de sauter en avant n resultats dans une boucle

balise_SAUTER_dist(Champ $p) : Champ

La balise modifie le compteur courant de la boucle, mais pas les autres champs qui restent les valeurs de la boucle avant le saut. Il est donc preferable d'utiliser la balise juste avant la fermeture </BOUCLE>

L'argument n doit être supérieur à zéro sinon la balise ne fait rien

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
Return values
Champ

Pile complétée par le code à générer

balise_PUBLIE_dist()

Compile la balise `#PUBLIE` qui indique si un objet est publié ou non

balise_PUBLIE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/5545
see
objet_test_si_publie()
example
#PUBLIE : porte sur la boucle en cours
[(#PUBLIE{article, 3}|oui) ... ] : pour l'objet indiqué
Return values
Champ

Pile complétée par le code à générer

balise_PRODUIRE_dist()

Compile la balise `#PRODUIRE` qui génère un fichier statique à partir d'un squelette SPIP

balise_PRODUIRE_dist(Champ $p) : Champ

Le format du fichier sera extrait de la pre-extension du squelette (typo.css.html, messcripts.js.html) ou par l'argument format=css ou format=js passé en argument.

S'il n'y a pas de format détectable, on utilise .html, comme pour les squelettes.

La syntaxe de la balise est la même que celle de #INCLURE.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_INCLURE_dist()
link
https://www.spip.net/5505
example
<link rel="stylesheet" type="text/css" href="#PRODUIRE{fond=css/macss.css,couleur=ffffff}" />
Return values
Champ

Pile complétée par le code à générer

balise_LARGEUR_ECRAN_dist()

Compile la balise `#LARGEUR_ECRAN` qui définit la largeur d'écran dans l'espace privé

balise_LARGEUR_ECRAN_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
example
#LARGEUR_ECRAN{pleine_largeur}
Return values
Champ

Pile complétée par le code à générer

balise_CONST_dist()

Compile la balise `#CONST` qui retourne la valeur de la constante passée en argument

balise_CONST_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
example

#CONST{_DIR_IMG}

Return values
Champ

Pile complétée par le code à générer

cache_key()

Returns a key cache (id) for this data

cache_key(array<string|int, mixed> $contexte, array<string|int, mixed> $page) : string
Parameters
$contexte : array<string|int, mixed>
$page : array<string|int, mixed>
Return values
string

ecrire_cache()

Écrire le cache dans un casier

ecrire_cache(string $cache_key, array<string|int, mixed> $valeur) : bool
Parameters
$cache_key : string
$valeur : array<string|int, mixed>
Return values
bool

lire_cache()

lire le cache depuis un casier

lire_cache(string $cache_key) : null|mixed
Parameters
$cache_key : string
Return values
null|mixed

null: probably cache miss

cache_signature()

Signature du cache

cache_signature(mixed &$page) : string

Parano : on signe le cache, afin d'interdire un hack d'injection dans notre memcache

Parameters
$page : mixed
Return values
string

gzip_page()

Faut-il compresser ce cache ?

gzip_page(array<string|int, mixed> $page) : array<string|int, mixed>

A partir de 16ko ca vaut le coup (pas de passage par reference car on veut conserver la version non compressee pour l'afficher) on positionne un flag gz si on comprime, pour savoir si on doit decompresser ou pas

Parameters
$page : array<string|int, mixed>
Return values
array<string|int, mixed>

gunzip_page()

Faut-il decompresser ce cache ?

gunzip_page(array<string|int, mixed> &$page) : void

(passage par reference pour alleger) on met a jour le flag gz quand on decompresse, pour ne pas risquer de decompresser deux fois de suite un cache (ce qui echoue)

Parameters
$page : array<string|int, mixed>

cache_valide()

Gestion des delais d'expiration du cache... $page passee par reference pour accelerer

cache_valide(array<string|int, mixed> &$page, int $date) : int
Parameters
$page : array<string|int, mixed>
$date : int
Return values
int
  • 1 si il faut mettre le cache a jour
  • 0 si le cache est valide
  • -1 si il faut calculer sans stocker en cache

creer_cache()

Creer le fichier cache

creer_cache(array<string|int, mixed> &$page, string &$cache_key) : void

Passage par reference de $page par souci d'economie

Parameters
$page : array<string|int, mixed>
$cache_key : string

public_cacher_dist()

Interface du gestionnaire de cache

public_cacher_dist(array<string|int, mixed> $contexte, int &$use_cache, string &$cache_key, array<string|int, mixed> &$page, int &$lastmodified) : string|void

Si son 3e argument est non vide, elle passe la main a creer_cache Sinon, elle recoit un contexte (ou le construit a partir de REQUEST_URI) et affecte les 4 autres parametres recus par reference:

  • use_cache qui vaut -1 s'il faut calculer la page sans la mettre en cache 0 si on peut utiliser un cache existant 1 s'il faut calculer la page et la mettre en cache
  • cache_key est un identifiant pour ce cache, ou vide si pas cachable
  • page qui est le tableau decrivant la page, si le cache la contenait
  • lastmodified qui vaut la date de derniere modif du fichier. Elle retourne '' si tout va bien un message d'erreur si le calcul de la page est totalement impossible
Parameters
$contexte : array<string|int, mixed>
$use_cache : int
$cache_key : string
$page : array<string|int, mixed>
$lastmodified : int
Return values
string|void

argumenter_inclure()

argumenter_inclure(mixed $params, mixed $rejet_filtres, mixed $p, mixed &$boucles, mixed $id_boucle[, mixed $echap = true ][, mixed $lang = '' ][, mixed $fond1 = false ]) : mixed
Parameters
$params : mixed
$rejet_filtres : mixed
$p : mixed
$boucles : mixed
$id_boucle : mixed
$echap : mixed = true
$lang : mixed = ''
$fond1 : mixed = false

calculer_inclure()

Compile une inclusion <INCLURE> ou #INCLURE

calculer_inclure(Inclure $p, array<string|int, mixed> &$boucles, string $id_boucle) : string
Parameters
$p : Inclure

Description de l'inclusion (AST au niveau de l'inclure)

$boucles : array<string|int, mixed>

AST du squelette

$id_boucle : string

Identifiant de la boucle contenant l'inclure

Return values
string

Code PHP appelant l'inclusion

instituer_boucle()

Gérer les statuts declarés pour cette table

instituer_boucle(Boucle &$boucle[, bool $echapper = true ][, bool $ignore_previsu = false ]) : mixed

S'il existe des statuts sur cette table, déclarés dans la description d'un objet éditorial, applique leurs contraintes

Parameters
$boucle : Boucle

Descrition de la boucle

$echapper : bool = true

true pour échapper le code créé

$ignore_previsu : bool = false

true pour ne tester que le cas publie et ignorer l'eventuel var_mode=preview de la page

calculer_boucle()

Produit le corps PHP d'une boucle Spip.

calculer_boucle(string $id_boucle, array<string|int, mixed> &$boucles) : string

Ce corps remplit une variable $t0 retournée en valeur. Ici on distingue boucles recursives et boucle à requête SQL et on insère le code d'envoi au debusqueur du resultat de la fonction.

Parameters
$id_boucle : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

Return values
string

Code PHP compilé de la boucle

calculer_boucle_nonrec()

Compilation d'une boucle (non recursive).

calculer_boucle_nonrec(string $id_boucle, array<string|int, mixed> &$boucles, string $trace) : string
Parameters
$id_boucle : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$trace : string

Code PHP (en mode debug uniquement) servant à conserver une trace des premières valeurs de la boucle afin de pouvoir les afficher dans le débugueur ultérieurement

Return values
string

Code PHP compilé de la boucle récursive

calculer_requete_sql()

Calcule le code PHP d'une boucle contenant les informations qui produiront une requête SQL

calculer_requete_sql(Boucle $boucle) : string

Le code produit est un tableau associatif $command contenant les informations pour que la boucle produise ensuite sa requête, tel que $command['from'] = 'spip_articles';

Parameters
$boucle : Boucle

AST de la boucle

Return values
string

Code PHP compilé définissant les informations de requête

memoriser_contexte_compil()

Retourne une chaîne des informations du contexte de compilation

memoriser_contexte_compil(object $p) : string

Retourne la source, le nom, l'identifiant de boucle, la ligne, la langue de l'élément dans une chaîne.

Parameters
$p : object

Objet de l'AST dont on mémorise le contexte

Tags
see
reconstruire_contexte_compil()
Return values
string

Informations du contexte séparés par des virgules, qui peut être utilisé pour la production d'un tableau array()

reconstruire_contexte_compil()

Reconstruit un contexte de compilation

reconstruire_contexte_compil(array<string|int, mixed> $context_compil) : Contexte

Pour un tableau d'information de contexte donné, retourne un objet Contexte (objet générique de l'AST) avec ces informations

Parameters
$context_compil : array<string|int, mixed>

Tableau des informations du contexte

Tags
see
memoriser_contexte_compil()
Return values
Contexte

Objet Contexte

calculer_dec()

Calcule le code d'affectation d'une valeur à une commande de boucle

calculer_dec(string $nom, string $val) : array<string|int, mixed>

Décrit le code qui complète le tableau $command qui servira entre autres à l'itérateur. Pour un nom de commande donnée et un code PHP décrivant ou récupérant une valeur, on retourne le code PHP qui fait l'affectation.

L'index 0 du tableau retourné indique, lorsqu'il n'est pas vide, que l'affectation de la variable pourra être statique (c'est à dire qu'il ne dépend pas d'une quelconque variable PHP), et donc attribué une fois pour toutes quelque soit le nombre d'appels de la boucle.

Parameters
$nom : string

Nom de la commande

$val : string

Code PHP décrivant la valeur à affecter

Return values
array<string|int, mixed>
  • index 0 : Code pour une affectation statique. Si non rempli, la propriété devra être ré-affectée à chaque appel de la boucle.
  • index 1 : Code de l'affectation

calculer_dump_array()

Calcule l'expression PHP décrivant un tableau complexe (ou une chaîne)

calculer_dump_array(mixed $a) : string

Lorsqu'un tableau est transmis, reconstruit de quoi créer le tableau en code PHP (une sorte de var_export) en appelant pour chaque valeur cette fonction de manière récursive.

Si le premier index (0) du tableau est "'?'", retourne un code de test entre les 3 autres valeurs (v1 ? v2 : v3). Les valeurs pouvant être des tableaux aussi.

Parameters
$a : mixed

Les données dont on veut construire un équivalent de var_export

Return values
string

Expression PHP décrivant un texte ou un tableau

calculer_dump_join()

calculer_dump_join(mixed $a) : mixed
Parameters
$a : mixed

calculer_from()

Calcule l'expression PHP décrivant les informations FROM d'une boucle

calculer_from(Boucle &$boucle) : string
Parameters
$boucle : Boucle

Description de la boucle

Return values
string

Code PHP construisant un tableau des alias et noms des tables du FROM

calculer_from_type()

Calcule l'expression PHP décrivant des informations de type de jointure pour un alias de table connu dans le FROM

calculer_from_type(Boucle &$boucle) : string
Parameters
$boucle : Boucle

Description de la boucle

Return values
string

Code PHP construisant un tableau des alias et type de jointure du FROM

calculer_order()

calculer_order(mixed &$boucle) : mixed
Parameters
$boucle : mixed

calculer_liste()

calculer_liste(mixed $tableau, mixed $descr, mixed &$boucles[, mixed $id_boucle = '' ]) : mixed
Parameters
$tableau : mixed
$descr : mixed
$boucles : mixed
$id_boucle : mixed = ''
Tags
used-by
interprete_argument_balise()

compile_cas()

compile_cas(array<string|int, mixed> $tableau, array<string|int, mixed> $descr, array<string, Boucle&$boucles, string $id_boucle) : array<string|int, mixed>|false
Parameters
$tableau : array<string|int, mixed>
$descr : array<string|int, mixed>
$boucles : array<string, Boucle>
$id_boucle : string
Tags
uses
choisir_traduction()
Return values
array<string|int, mixed>|false

compile_concatene_parties_codes()

Concatene 2 parties de code, en simplifiant si l'une des 2 est vides

compile_concatene_parties_codes(string $partie1, string $partie2) : string
Parameters
$partie1 : string
$partie2 : string
Return values
string

compile_retour()

production d'une expression conditionnelle ((v=EXP) ? (p . v .s) : a) mais si EXP est de la forme (t ? 'C' : '') on produit (t ? (p . C . s) : a) de meme si EXP est de la forme (t ? '' : 'C')

compile_retour(string $code, string $avant, string $apres, string $altern, string $tab, int $n) : mixed|string
Parameters
$code : string

le code principal, dont le resultat conditionnera le reste

$avant : string

la partie conditionnelle avant, qui est calculee apres le code, mais s'affiche avant si le code produit un resultat

$apres : string

la partie conditionnelle apres, qui est calculee apres le code, et s'affiche apres si le code produit un resultat

$altern : string

la partie alternative apres, qui est calculee apres le code, et s'affiche apres, si le code ne produit pas de resultat

$tab : string

tabulation

$n : int

compteur

Return values
mixed|string

compile_inclure_doublons()

compile_inclure_doublons(mixed $lexemes) : mixed
Parameters
$lexemes : mixed

public_compiler_dist()

public_compiler_dist(mixed $squelette, mixed $nom, mixed $gram, mixed $sourcefile[, string $connect = '' ]) : mixed
Parameters
$squelette : mixed
$nom : mixed
$gram : mixed
$sourcefile : mixed
$connect : string = ''

compiler_squelette()

compiler_squelette(mixed $squelette, mixed $boucles, mixed $nom, mixed $descr, mixed $sourcefile[, string $connect = '' ]) : mixed
Parameters
$squelette : mixed
$boucles : mixed
$nom : mixed
$descr : mixed
$sourcefile : mixed
$connect : string = ''

requeteur_php_dist()

Requeteur pour les boucles (php:nom_iterateur)

requeteur_php_dist(array<string, Boucle&$boucles, Boucle &$boucle, string &$id) : mixed

Analyse si le nom d'iterateur correspond bien a une classe PHP existante et dans ce cas charge la boucle avec cet iterateur. Affichera une erreur dans le cas contraire.

Parameters
$boucles : array<string, Boucle>

Liste des boucles

$boucle : Boucle

La boucle parcourue

$id : string

L'identifiant de la boucle parcourue

requeteur_data_dist()

Requeteur pour les boucles (data:type de donnee) note: (DATA) tout court ne passe pas par ici.

requeteur_data_dist(array<string, Boucle&$boucles, Boucle &$boucle, string &$id) : mixed

Analyse si le type de donnee peut etre traite et dans ce cas charge la boucle avec cet iterateur. Affichera une erreur dans le cas contraire.

Parameters
$boucles : array<string, Boucle>

Liste des boucles

$boucle : Boucle

La boucle parcourue

$id : string

L'identifiant de la boucle parcourue

public_composer_dist()

public_composer_dist(mixed $squelette, mixed $mime_type, mixed $gram, mixed $source[, string $connect = '' ]) : mixed
Parameters
$squelette : mixed
$mime_type : mixed
$gram : mixed
$source : mixed
$connect : string = ''

squelette_traduit()

squelette_traduit(mixed $squelette, mixed $sourcefile, mixed $phpfile, mixed $boucles) : mixed
Parameters
$squelette : mixed
$sourcefile : mixed
$phpfile : mixed
$boucles : mixed

squelette_obsolete()

squelette_obsolete(mixed $skel, mixed $squelette) : mixed
Parameters
$skel : mixed
$squelette : mixed

invalideur_session()

invalideur_session(mixed &$Cache[, mixed $code = null ]) : mixed
Parameters
$Cache : mixed
$code : mixed = null

analyse_resultat_skel()

analyse_resultat_skel(mixed $nom, mixed $cache, mixed $corps[, mixed $source = '' ]) : mixed
Parameters
$nom : mixed
$cache : mixed
$corps : mixed
$source : mixed = ''

synthetiser_balise_dynamique()

Synthétise une balise dynamique : crée l'appel à l'inclusion en transmettant les arguments calculés et le contexte de compilation.

synthetiser_balise_dynamique(string $nom, array<string|int, mixed> $args, string $file, array<string|int, mixed> $context_compil) : string
Parameters
$nom : string

Nom de la balise dynamique

$args : array<string|int, mixed>

Liste des arguments calculés

$file : string

Chemin du fichier de squelette à inclure

$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Tags
uses
argumenter_squelette()

Pour calculer les arguments de l'inclusion

used-by
executer_balise_dynamique()

Pour calculer le code PHP d'inclusion produit

Return values
string

Code PHP pour inclure le squelette de la balise dynamique

argumenter_squelette()

Crée le code PHP pour transmettre des arguments (généralement pour une inclusion)

argumenter_squelette(array<string|int, mixed>|string $v) : string
Parameters
$v : array<string|int, mixed>|string

Arguments à transmettre :

  • string : un simple texte à faire écrire
  • array : couples ('nom' => 'valeur') liste des arguments et leur valeur
Tags
used-by
synthetiser_balise_dynamique()

Pour calculer les arguments de l'inclusion

Return values
string
  • Code PHP créant le tableau des arguments à transmettre,
  • ou texte entre quote ' (si $v était une chaîne)

executer_balise_dynamique_dans_un_modele()

Fonction proxy pour retarder le calcul d'un formulaire si on est au depart dans un modele

executer_balise_dynamique_dans_un_modele( ...$args) : string

un modele est toujours inséré en texte dans son contenant donc si on est dans le public avec un cache on va perdre le dynamisme et on risque de mettre en cache les valeurs pre-remplies du formulaire on passe donc par une fonction proxy qui si besoin va collecter les arguments et injecter le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction (dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave))

Parameters
$args :
Tags
see
calculer_balise_dynamique()
Return values
string

executer_balise_dynamique()

Calcule et retourne le code PHP retourné par l'exécution d'une balise dynamique.

executer_balise_dynamique(string $nom, array<string|int, mixed> $args, array<string|int, mixed> $context_compil) : string

Vérifier les arguments et filtres et calcule le code PHP à inclure.

  • charge le fichier PHP de la balise dynamique dans le répertoire balise/, soit du nom complet de la balise, soit d'un nom générique (comme 'formulaire_.php'). Dans ce dernier cas, le nom de la balise est ajouté en premier argument.
  • appelle une éventuelle fonction de traitement des arguments balise_NOM_stat()
  • crée le code PHP de la balise si une fonction balise_NOM_dyn() (ou variantes) est effectivement trouvée.
Parameters
$nom : string

Nom de la balise dynamique

$args : array<string|int, mixed>

Liste des arguments calculés de la balise

$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Tags
uses
synthetiser_balise_dynamique()

Pour calculer le code PHP d'inclusion produit

Return values
string

Code PHP d'exécutant l'inclusion du squelette (ou texte) de la balise dynamique

chercher_balise_generique()

Pour une balise "NOM" donné, cherche s'il existe une balise générique qui peut la traiter

chercher_balise_generique(string $nom) : array<string|int, mixed>|null

Le nom de balise doit contenir au moins un souligné "A_B", auquel cas on cherche une balise générique "A_"

S'il y a plus d'un souligné, tel que "A_B_C_D" on cherche différentes balises génériques en commençant par la plus longue possible, tel que "A_B_C_", sinon "A_B_" sinon "A_"

Parameters
$nom : string
Return values
array<string|int, mixed>|null

lang_select_public()

Selectionner la langue de l'objet dans la boucle

lang_select_public(string $lang, string $lang_select[, null|string $titre = null ]) : null

Applique sur un item de boucle la langue de l'élément qui est parcourru. Sauf dans les cas ou il ne le faut pas !

La langue n'est pas modifiée lorsque :

  • la globale 'forcer_lang' est définie à true
  • l'objet ne définit pas de langue
  • le titre contient une balise multi.
Parameters
$lang : string

Langue de l'objet

$lang_select : string

'oui' si critère lang_select est présent, '' sinon.

$titre : null|string = null

Titre de l'objet

Return values
null

nettoyer_env_doublons()

nettoyer_env_doublons(mixed $envd) : mixed
Parameters
$envd : mixed

match_self()

Cherche la présence d'un opérateur SELF ou SUBSELECT

match_self(string|array<string|int, mixed> $w) : string|bool

Cherche dans l'index 0 d'un tableau, la valeur SELF ou SUBSELECT indiquant pour une expression WHERE de boucle que nous sommes face à une sous-requête.

Cherche de manière récursive également dans les autres valeurs si celles-ci sont des tableaux

Parameters
$w : string|array<string|int, mixed>

Description d'une condition WHERE de boucle (ou une partie de cette description)

Return values
string|bool

Opérateur trouvé (SELF ou SUBSELECT) sinon false.

remplace_sous_requete()

Remplace une condition décrivant une sous requête par son code

remplace_sous_requete(array<string|int, mixed>|string $w, string $sousrequete) : array<string|int, mixed>|string
Parameters
$w : array<string|int, mixed>|string

Description d'une condition WHERE de boucle (ou une partie de cette description) qui possède une description de sous-requête

$sousrequete : string

Code PHP de la sous requête (qui doit remplacer la description)

Return values
array<string|int, mixed>|string

Tableau de description du WHERE dont la description de sous-requête est remplacée par son code.

trouver_sous_requetes()

Sépare les conditions de boucles simples de celles possédant des sous-requêtes.

trouver_sous_requetes(array<string|int, mixed> $where) : array<string|int, mixed>
Parameters
$where : array<string|int, mixed>

Description d'une condition WHERE de boucle

Return values
array<string|int, mixed>

Liste de 2 tableaux :

  • Conditions simples (ne possédant pas de sous requêtes)
  • Conditions avec des sous requêtes

preparer_calculer_select()

Calcule une requête et l’exécute

preparer_calculer_select([array<string|int, mixed> $select = [] ][, array<string|int, mixed> $from = [] ][, array<string|int, mixed> $from_type = [] ][, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $join = [] ][, array<string|int, mixed> $groupby = [] ][, array<string|int, mixed> $orderby = [] ][, string $limit = '' ][, array<string|int, mixed> $having = [] ][, string $table = '' ][, string $id = '' ][, string $serveur = '' ][, bool|array<string|int, mixed>|string $requeter = true ]) : array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}

Cette fonction est présente dans les squelettes compilés. Elle peut permettre de générer des requêtes avec jointure.

Parameters
$select : array<string|int, mixed> = []
$from : array<string|int, mixed> = []
$from_type : array<string|int, mixed> = []
$where : array<string|int, mixed> = []
$join : array<string|int, mixed> = []
$groupby : array<string|int, mixed> = []
$orderby : array<string|int, mixed> = []
$limit : string = ''
$having : array<string|int, mixed> = []
$table : string = ''
$id : string = ''
$serveur : string = ''
$requeter : bool|array<string|int, mixed>|string = true
Return values
array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}

executer_calculer_select()

executer_calculer_select(array<string|int, mixed> $requete) : mixed
Parameters
$requete : array<string|int, mixed>

compter_calculer_select()

compter_calculer_select(array<string|int, mixed> $requete) : int
Parameters
$requete : array<string|int, mixed>
Return values
int

calculer_where_to_string()

Analogue a calculer_mysql_expression et autre (a unifier ?)

calculer_where_to_string(string|array<string|int, mixed> $v[, string $join = 'AND' ]) : string
Parameters
$v : string|array<string|int, mixed>
$join : string = 'AND'
Return values
string

calculer_jointnul()

calculer_jointnul(mixed $cle, mixed $exp[, mixed $equiv = '' ]) : mixed
Parameters
$cle : mixed
$exp : mixed
$equiv : mixed = ''

reinjecte_joint()

reinjecte_joint(mixed $afrom, mixed $from) : mixed
Parameters
$afrom : mixed
$from : mixed

remplacer_jointnul()

remplacer_jointnul(mixed $cle, mixed $exp[, mixed $equiv = '' ]) : mixed
Parameters
$cle : mixed
$exp : mixed
$equiv : mixed = ''

calculer_nom_fonction_squel()

calculer_nom_fonction_squel(mixed $skel[, mixed $mime_type = 'html' ][, string $connect = '' ]) : mixed
Parameters
$skel : mixed
$mime_type : mixed = 'html'
$connect : string = ''

critere_racine_dist()

Compile le critère {racine}

critere_racine_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Ce critère sélectionne les éléments à la racine d'une hiérarchie, c'est à dire ayant id_parent=0

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
link
https://www.spip.net/@racine

critere_exclus_dist()

Compile le critère {exclus}

critere_exclus_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>

Exclut du résultat l’élément dans lequel on se trouve déjà

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
link
https://www.spip.net/@exclus
Return values
void|array<string|int, mixed>

critere_doublons_dist()

Compile le critère {doublons} ou {unique}

critere_doublons_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>

Ce critères enlève de la boucle les éléments déjà sauvegardés dans un précédent critère {doublon} sur une boucle de même table.

Il est possible de spécifier un nom au doublon tel que {doublons sommaire}

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
link
https://www.spip.net/@doublons
Return values
void|array<string|int, mixed>

critere_lang_select_dist()

Compile le critère {lang_select}

critere_lang_select_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Permet de restreindre ou non une boucle en affichant uniquement les éléments dans la langue en cours. Certaines boucles tel que articles et rubriques restreignent par défaut sur la langue en cours.

Sans définir de valeur au critère, celui-ci utilise 'oui' comme valeur par défaut.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_debut_dist()

Compile le critère {debut_xxx}

critere_debut_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Limite le nombre d'éléments affichés.

Ce critère permet de faire commencer la limitation des résultats par une variable passée dans l’URL et commençant par 'debut_' tel que {debut_page,10}. Le second paramètre est le nombre de résultats à afficher.

Note : il est plus simple d'utiliser le critère pagination.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_pagination_dist()

Compile le critère `pagination` qui demande à paginer une boucle.

critere_pagination_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Demande à paginer la boucle pour n'afficher qu'une partie des résultats, et gère l'affichage de la partie de page demandée par debut_xx dans dans l'environnement du squelette.

Le premier paramètre indique le nombre d'éléments par page, le second, rarement utilisé permet de définir le nom de la variable désignant la page demandée (debut_xx), qui par défaut utilise l'identifiant de la boucle.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
critere
see
balise_PAGINATION_dist()
link

Le système de pagination

link

Le critère pagination

example
{pagination}
{pagination 20}
{pagination #ENV{pages,5}} etc
{pagination 20 #ENV{truc,chose}} pour utiliser la variable debut_#ENV{truc,chose}

critere_recherche_dist()

Compile le critère `recherche` qui permet de sélectionner des résultats d'une recherche.

critere_recherche_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Le texte cherché est pris dans le premier paramètre {recherche xx} ou à défaut dans la clé recherche de l'environnement du squelette.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
critere
link
https://www.spip.net/3878
see
inc_prepare_recherche_dist()

critere_traduction_dist()

Compile le critère `traduction`

critere_traduction_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Sélectionne toutes les traductions de l'élément courant (la boucle englobante) en différentes langues (y compris l'élément englobant)

Équivalent à (id_trad>0 AND id_trad=id_trad(precedent)) OR id_xx=id_xx(precedent)

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_origine_traduction_dist()

Compile le critère {origine_traduction}

critere_origine_traduction_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Sélectionne les éléments qui servent de base à des versions traduites (par exemple les articles "originaux" sur une boucle articles)

Équivalent à (id_trad>0 AND id_xx=id_trad) OR (id_trad=0)

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_meme_parent_dist()

Compile le critère {meme_parent}

critere_meme_parent_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>

Sélectionne les éléments ayant le même parent que la boucle parente, c'est à dire les frères et sœurs.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Return values
void|array<string|int, mixed>

critere_branche_dist()

Compile le critère `branche` qui sélectionne dans une boucle les éléments appartenant à une branche d'une rubrique.

critere_branche_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Cherche l'identifiant de la rubrique en premier paramètre du critère {branche XX} s'il est renseigné, sinon, sans paramètre ({branche} tout court) dans les boucles parentes. On calcule avec lui la liste des identifiants de rubrique de toute la branche.

La boucle qui possède ce critère cherche une liaison possible avec la colonne id_rubrique, et tentera de trouver une jointure avec une autre table si c'est nécessaire pour l'obtenir.

Ce critère peut être rendu optionnel avec {branche ?} en remarquant cependant que le test s'effectue sur la présence d'un champ 'id_rubrique' sinon d'une valeur 'id_rubrique' dans l'environnement (et non 'branche' donc).

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
link
https://www.spip.net/@branche

critere_logo_dist()

Compile le critère `logo` qui liste les objets qui ont un logo

critere_logo_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void
Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
uses
lister_objets_avec_logos()

Pour obtenir les éléments qui ont un logo

critere_groupby_dist()

Compile le critère `groupby` qui regroupe les éléments selon une colonne.

critere_groupby_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>

C'est la commande SQL «GROUP BY»

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
critere
link
https://www.spip.net/5166
example
 <BOUCLE_a(articles){groupby lang}>
note

Remplace {fusion}.

Return values
void|array<string|int, mixed>

critere_groupby_supprimer_dist()

Compile le critère `groupby_supprimer` qui supprime toutes les fusions qui le précèdent

critere_groupby_supprimer_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Ce critère retire toutes les définitions de «GROUP BY» qui le précèdent. Par exemple pour en ajouter d'autres ensuite.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
critere
example
 <BOUCLE_a(ARTICLES){gis}{groupby_supprimer}{groupby ville}
note

Remplace {fusion_supprimer}.

critere_fusion_dist()

Compile le critère `fusion` qui regroupe les éléments selon une colonne.

critere_fusion_dist(mixed ...$args) : void|array<string|int, mixed>
Parameters
$args : mixed
Tags
deprecated
5.0

Utiliser {groupby}

Return values
void|array<string|int, mixed>

critere_fusion_supprimer_dist()

Compile le critère `fusion_supprimer` qui supprime toutes les fusions qui le précèdent

critere_fusion_supprimer_dist(mixed ...$args) : void
Parameters
$args : mixed
Tags
deprecated
5.0

Utiliser {groupby_supprimer}

critere_collate_dist()

Compile le critère `{collate}` qui permet de spécifier l'interclassement à utiliser pour les tris de la boucle.

critere_collate_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>

Cela permet avec le critère {par} de trier un texte selon l'interclassement indiqué. L'instruction s'appliquera sur les critères {par} qui succèdent ce critère, ainsi qu'au critère {par} précédent si aucun interclassement ne lui est déjà appliqué.

Techniquement, c'est la commande SQL "COLLATE" qui utilisée. (elle peut être appliquée sur les order by, group by, where, like ...)

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example
  • {par titre}{collate utf8_spanish_ci} ou {collate utf8_spanish_ci}{par titre}
  • {par titre}{par surtitre}{collate utf8_spanish_ci} : Seul 'surtitre' (par précédent) utilisera l'interclassement
  • {collate utf8_spanish_ci}{par titre}{par surtitre} : 'titre' et 'surtitre' utiliseront l'interclassement (tous les par suivants)
note

Piège sur une éventuelle écriture peu probable : {par a}{collate c1}{par b}{collate c2} : le tri {par b} utiliserait l'interclassement c1 (et non c2 qui ne s'applique pas au par précédent s'il a déjà un interclassement demandé).

critere
link
https://www.spip.net/4028
see
critere_par_dist()

Le critère {par}

Return values
void|array<string|int, mixed>

critere_collecte_dist()

Compile le critère `{collecte}` qui permet de spécifier l'interclassement à utiliser pour les tris de la boucle.

critere_collecte_dist(mixed ...$args) : void|array<string|int, mixed>
Parameters
$args : mixed
Tags
deprecated
5.0

Utiliser {collate}

Return values
void|array<string|int, mixed>

calculer_critere_arg_dynamique()

calculer_critere_arg_dynamique(mixed $idb, mixed &$boucles, mixed $crit[, mixed $suffix = '' ]) : mixed
Parameters
$idb : mixed
$boucles : mixed
$crit : mixed
$suffix : mixed = ''

critere_par_dist()

Compile le critère `{par}` qui permet d'ordonner les résultats d'une boucle

critere_par_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Demande à trier la boucle selon certains champs (en SQL, la commande ORDER BY). Si plusieurs tris sont demandés (plusieurs fois le critère {par x}{par y} dans une boucle ou plusieurs champs séparés par des virgules dans le critère {par x, y, z}), ils seront appliqués dans l'ordre.

Quelques particularités :

  • {par hasard} : trie par hasard
  • {par num titre} : trie par numéro de titre
  • {par multi titre} : trie par la langue extraite d'une balise polyglotte <multi> sur le champ titre
  • {!par date} : trie par date inverse en utilisant le champ date principal déclaré pour la table (si c'est un objet éditorial).
  • {!par points} : trie par pertinence de résultat de recherche (avec le critère {recherche})
  • {par FUNCTION_SQL(n)} : trie en utilisant une fonction SQL (peut dépendre du moteur SQL utilisé). Exemple : {par SUBSTRING_INDEX(titre, ".", -1)} (tri ~ alphabétique en ignorant les numéros de titres (exemple erroné car faux dès qu'un titre possède un point.)).
  • {par table.champ} : trie en effectuant une jointure sur la table indiquée.
  • {par #BALISE} : trie sur la valeur retournée par la balise (doit être un champ de la table, ou 'hasard').
Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example
  • {par titre}
  • {!par date}
  • {par num titre, multi titre, hasard}
critere
link
https://www.spip.net/5531
see
critere_tri_dist()

Le critère {tri ...}

see
critere_inverse_dist()

Le critère {inverse}

uses
critere_parinverse()

critere_parinverse()

Calculs pour le critère `{par}` ou `{inverse}` pour ordonner les résultats d'une boucle

critere_parinverse(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Les expressions intermédiaires {par expr champ} sont calculées dans des fonctions calculer_critere_par_expression_{expr}() notamment {par num champ} ou {par multi champ}.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
see
critere_par_dist()

Le critère {par} pour des exemples

see
calculer_critere_par_expression_num()

pour le calcul de {par num x}

see
calculer_critere_par_expression_multi()

pour le calcul de {par multi x}

uses
calculer_critere_arg_dynamique()

pour le calcul de {par #ENV{tri}}

uses
calculer_critere_par_hasard()

pour le calcul de {par hasard}

uses
calculer_critere_par_champ()
used-by
critere_par_dist()
used-by
critere_inverse_dist()

calculer_critere_par_hasard()

Calculs pour le critère `{par hasard}`

calculer_critere_par_hasard(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : string

Ajoute le générateur d'aléatoire au SELECT de la boucle.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
used-by
critere_parinverse()

pour le calcul de {par hasard}

Return values
string

Clause pour le Order by

calculer_critere_par_expression_num()

Calculs pour le critère `{par num champ}` qui extrait le numéro préfixant un texte

calculer_critere_par_expression_num(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $tri, string $champ) : string|array<string|int, mixed>

Tri par numéro de texte (tel que "10. titre"). Le numéro calculé est ajouté au SELECT de la boucle. L'écriture {par num #ENV{tri}} est aussi prise en compte.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

$tri : array<string|int, mixed>

Paramètre en cours du critère

$champ : string

texte suivant l'expression ('titre' dans {par num titre})

Tags
note

Les textes sans numéro valent 0 et sont donc placés avant les titres ayant des numéros. Utiliser {par sinum champ, num champ} pour avoir le comportement inverse.

see
calculer_critere_par_expression_sinum()

pour le critère {par sinum champ}

uses
calculer_critere_par_champ()
Return values
string|array<string|int, mixed>

Clause pour le Order by (array si erreur)

calculer_critere_par_expression_sinum()

Calculs pour le critère `{par sinum champ}` qui ordonne les champs avec numéros en premier

calculer_critere_par_expression_sinum(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $tri, string $champ) : string|array<string|int, mixed>

Ajoute au SELECT la valeur 'sinum' qui vaut 0 si le champ a un numéro, 1 s'il n'en a pas. Ainsi {par sinum titre, num titre, titre} mettra les éléments sans numéro en fin de liste, contrairement à {par num titre, titre} seulement.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

$tri : array<string|int, mixed>

Paramètre en cours du critère

$champ : string

texte suivant l'expression ('titre' dans {par sinum titre})

Tags
see
calculer_critere_par_expression_num()

pour le critère {par num champ}

uses
calculer_critere_par_champ()
Return values
string|array<string|int, mixed>

Clause pour le Order by (array si erreur)

calculer_critere_par_expression_multi()

Calculs pour le critère `{par multi champ}` qui extrait la langue en cours dans les textes ayant des balises `<multi>` (polyglottes)

calculer_critere_par_expression_multi(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $tri, string $champ) : string|array<string|int, mixed>

Ajoute le calcul du texte multi extrait dans le SELECT de la boucle. Il ne peut y avoir qu'un seul critère de tri multi par boucle.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

$tri : array<string|int, mixed>

Paramètre en cours du critère

$champ : string

texte suivant l'expression ('titre' dans {par multi titre})

Tags
uses
calculer_critere_par_champ()
Return values
string|array<string|int, mixed>

Clause pour le Order by (array si erreur)

calculer_critere_par_champ()

Retourne le champ de tri demandé en ajoutant éventuellement les jointures nécessaires à la boucle.

calculer_critere_par_champ(string $idb, array<string|int, mixed> &$boucles, Critere $crit, string $par[, bool $raw = false ]) : array<string|int, mixed>|string
  • si le champ existe dans la table, on l'utilise
  • si c'est une exception de jointure, on l'utilise (et crée la jointure au besoin)
  • si c'est un champ dont la jointure est déjà présente on la réutilise
  • si c'est un champ dont la jointure n'est pas présente, on la crée.
Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

$par : string

Nom du tri à analyser ('champ' ou 'table.champ')

$raw : bool = false

Retourne le champ pour le compilateur ("'alias.champ'") ou brut ('alias.champ')

Tags
used-by
critere_parinverse()
used-by
calculer_critere_par_expression_num()
used-by
calculer_critere_par_expression_sinum()
used-by
calculer_critere_par_expression_multi()
Return values
array<string|int, mixed>|string

critere_inverse_dist()

Compile le critère `{inverse}` qui inverse l'ordre utilisé par le précédent critère `{par}`

critere_inverse_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Accèpte un paramètre pour déterminer le sens : {inverse #X} utilisera un tri croissant (ASC) si la valeur retournée par #X est considérée vrai (true), le sens contraire (DESC) sinon.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example
  • {par date}{inverse}, équivalent à {!par date}
  • {par date}{inverse #ENV{sens}} utilise la valeur d'environnement sens pour déterminer le sens.
critere
see
critere_par_dist()

Le critère {par}

link
https://www.spip.net/5530
uses
critere_parinverse()

critere_par_ordre_liste_dist()

{par_ordre_liste champ,#LISTE{...}} pour trier selon une liste en retournant en premier les éléments de la liste

critere_par_ordre_liste_dist(string $idb, array<string, Boucle&$boucles, Critere $crit) : void|array<string|int, mixed>
Parameters
$idb : string
$boucles : array<string, Boucle>
$crit : Critere
Return values
void|array<string|int, mixed>

critere_agenda_dist()

critere_agenda_dist(mixed $idb, mixed &$boucles, mixed $crit) : mixed
Parameters
$idb : mixed
$boucles : mixed
$crit : mixed

calculer_critere_parties()

Compile les critères {i,j} et {i/j}

calculer_critere_parties(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Le critère {i,j} limite l'affiche de la boucle en commançant l'itération au i-ème élément, et pour j nombre d'éléments. Le critère {n-i,j} limite en commençant au n moins i-ème élément de boucle Le critère {i,n-j} limite en terminant au n moins j-ème élément de boucle.

Le critère {i/j} affiche une part d'éléments de la boucle. Commence à i*n/j élément et boucle n/j éléments. {2/4} affiche le second quart des éléments d'une boucle.

Traduit si possible (absence de n dans {i,j}) la demande en une expression LIMIT du gestionnaire SQL

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

calculer_parties()

Compile certains critères {i,j} et {i/j}

calculer_parties(array<string|int, mixed> &$boucles, string $id_boucle, string $debut, string $mode[, string $total_parties = null ]) : void

Calcule une expression déterminant $debut_boucle et $fin_boucle (le début et la fin des éléments de la boucle qui doivent être affichés) et les déclare dans la propriété «mode_partie» de la boucle, qui se charge également de déplacer le pointeur de boucle sur le premier élément à afficher.

Place dans la propriété partie un test vérifiant que l'élément de boucle en cours de lecture appartient bien à la plage autorisée. Trop tôt, passe à l'élément suivant, trop tard, sort de l'itération de boucle.

Parameters
$boucles : array<string|int, mixed>

AST du squelette

$id_boucle : string

Identifiant de la boucle

$debut : string

Valeur ou code pour trouver le début (i dans {i,j})

$mode : string

Mode (++, p+, +- ...) : 2 signes début & fin

  • le signe - indique -- qu'il faut soustraire debut du total {n-3,x}. 3 étant $debut -- qu'il faut raccourcir la fin {x,n-3} de 3 elements. 3 étant $total_parties
  • le signe p indique une pagination
$total_parties : string = null

Valeur ou code pour trouver la fin (j dans {i,j})

calculer_critere_parties_aux()

Analyse un des éléments des critères {a,b} ou {a/b}

calculer_critere_parties_aux(string $idb, array<string|int, mixed> &$boucles, array<string|int, mixed> $param) : array<string|int, mixed>

Pour l'élément demandé (a ou b) retrouve la valeur de l'élément, et de combien il est soustrait si c'est le cas comme dans {a-3,b}

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$param : array<string|int, mixed>

Paramètre à analyser (soit a, soit b dans {a,b} ou {a/b})

Return values
array<string|int, mixed>

Valeur de l'élément (peut être une expression PHP), Nombre soustrait

calculer_criteres()

Compile les critères d'une boucle

calculer_criteres(string $idb, array<string|int, mixed> &$boucles) : string|array<string|int, mixed>

Cette fonction d'aiguillage cherche des fonctions spécifiques déclarées pour chaque critère demandé, dans l'ordre ci-dessous :

  • critere_{serveur}{table}{critere}, sinon avec _dist
  • critere_{serveur}_{critere}, sinon avec _dist
  • critere_{table}_{critere}, sinon avec _dist
  • critere_{critere}, sinon avec _dist
  • calculer_critere_defaut, sinon avec _dist

Émet une erreur de squelette si un critère retourne une erreur.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

Return values
string|array<string|int, mixed>

string : Chaine vide sans erreur array : Erreur sur un des critères

kwote()

Désemberlificote les guillements et échappe (ou fera échapper) le contenu... Madeleine de Proust, revision MIT-1958 sqq, revision CERN-1989 hum, c'est kwoi cette fonxion ? on va dire qu'elle desemberlificote les guillemets.

kwote(string $lisp[, string $serveur = '' ][, string $type = '' ]) : string

..

Parameters
$lisp : string

Code compilé

$serveur : string = ''

Connecteur de bdd utilisé

$type : string = ''

Type d'échappement (char, int...)

Return values
string

Code compilé rééchappé

critere_IN_dist()

Compile un critère possédant l'opérateur IN : {xx IN yy}

critere_IN_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>

Permet de restreindre un champ sur une liste de valeurs tel que {id_article IN 3,4} {id_article IN #LISTE{3,4}}

Si on a une liste de valeurs dans #ENV{x}, utiliser la double etoile pour faire par exemple {id_article IN #ENV**{liste_articles}}

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Return values
void|array<string|int, mixed>

critere_IN_cas()

critere_IN_cas(mixed $idb, mixed &$boucles, mixed $crit2, mixed $arg, mixed $op, mixed $val, mixed $col) : mixed
Parameters
$idb : mixed
$boucles : mixed
$crit2 : mixed
$arg : mixed
$op : mixed
$val : mixed
$col : mixed

critere_where_dist()

Compile le critère {where}

critere_where_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Ajoute une contrainte sql WHERE, tout simplement pour faire le pont entre php et squelettes, en utilisant la syntaxe attendue par la propriété $where d'une Boucle.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_having_dist()

Compile le critère {having}

critere_having_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Ajoute une contrainte sql HAVING, pour faire le pont entre php et squelettes, en utilisant la syntaxe attendue par la propriété $having d'une Boucle.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_id__dist()

Compile le critère `{id_?}`

critere_id__dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Ajoute automatiquement à la boucle des contraintes (nommées sélections conditionnelles) équivalentes à {id_article ?}{id_rubrique ?}..., adaptées à la table en cours d’utilisation.

Les champs sélectionnés par défaut sont :

  • chaque champ id_xx de la table en cours d’utilisation (par exemple id_secteur sur la boucle ARTICLES)
  • un champ 'objet', si cette table en dispose
  • chaque clé primaire des tables des objets éditoriaux, s’ils sont éditables et liables (par exemple id_mot).
Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example
 <BOUCLE_liste_articles(ARTICLES){id_?}{tout}> ...
 Est équivalent (selon les plugins actifs) à :
 <BOUCLE_liste_articles(ARTICLES){id_article?}{id_rubrique?}{id_secteur?}{id_trad?}{id_mot?}{id_document?} ... {tout}> ...
uses
lister_champs_id_conditionnel()

lister_champs_id_conditionnel()

Liste les champs qui peuvent servir de selection conditionnelle à une table SQL

lister_champs_id_conditionnel(string $table[, array<string|int, mixed>|null $desc = null ][, string $serveur = '' ]) : array<string|int, mixed>

Retourne, pour la table demandée :

  • chaque champ id_xx de la table en cours d’utilisation (par exemple id_secteur sur la boucle ARTICLES)
  • un champ 'objet' si la table le contient (pour les tables avec objet / id_objet par exemple)
  • chaque clé primaire des tables des objets éditoriaux qui peuvent se lier facilement à cette table, -- soit parce que sa clé primaire de la table demandée est un champ dans la table principale -- soit parce qu’une table de liaison existe, d’un côté ou de l’autre
Parameters
$table : string

Nom de la table SQL

$desc : array<string|int, mixed>|null = null

Description de la table SQL, si connu

$serveur : string = ''

Connecteur sql a utiliser

Tags
pipeline_appel

exclure_id_conditionnel

used-by
critere_id__dist()
Return values
array<string|int, mixed>

Liste de nom de champs (tel que id_article, id_mot, id_parent ...)

critere_tri_dist()

Compile le critère `{tri}` permettant le tri dynamique d'un champ

critere_tri_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void

Le critère {tri} gère un champ de tri qui peut être modifié dynamiquement par la balise #TRI. Il s'utilise donc conjointement avec la balise #TRI dans la même boucle pour génerér les liens qui permettent de changer le critère de tri et le sens du tri

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
syntaxe

{tri [champ_par_defaut][,sens_par_defaut][,nom_variable]}

  • champ_par_defaut : un champ de la table sql

  • sens_par_defaut : -1 ou inverse pour décroissant, 1 ou direct pour croissant peut être un tableau pour préciser des sens par défaut associés à chaque champ exemple : array('titre' => 1, 'date' => -1) pour trier par défaut les titre croissants et les dates décroissantes dans ce cas, quand un champ est utilisé pour le tri et n'est pas présent dans le tableau c'est la première valeur qui est utilisée

  • nom_variable : nom de la variable utilisée (par defaut tri_{nomboucle})

    {tri titre} {tri titre,inverse} {tri titre,-1} {tri titre,-1,truc}

Exemple d'utilisation :

<B_articles>
<p>#TRI{titre,'Trier par titre'} | #TRI{date,'Trier par date'}</p>
<ul>
<BOUCLE_articles(ARTICLES){tri titre}>
 <li>#TITRE - [(#DATE|affdate_jourcourt)]</li>
</BOUCLE_articles>
</ul>
</B_articles>
note

Contraitement à {par ...}, {tri} ne peut prendre qu'un seul champ, mais il peut être complété avec {par ...} pour indiquer des criteres secondaires

Exemble : {tri num titre}{par titre} permet de faire un tri sur le rang (modifiable dynamiquement) avec un second critère sur le titre en cas d'égalité des rangs

link
https://www.spip.net/5429
see
critere_par_dist()

Le critère {par ...}

see
balise_TRI_dist()

La balise #TRI

calculer_critere_DEFAUT_dist()

Compile un critère non déclaré explicitement

calculer_critere_DEFAUT_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>

Compile les critères non déclarés, ainsi que les parties de boucles avec les critères {0,1} ou {1/2}

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Return values
void|array<string|int, mixed>

calculer_critere_DEFAUT_args()

Compile un critère non déclaré explicitement, dont on reçoit une analyse

calculer_critere_DEFAUT_args(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $args) : void

Ajoute en fonction des arguments trouvés par calculer_critere_infixe() les conditions WHERE à appliquer sur la boucle.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

$args : array<string|int, mixed>

Description du critère Cf. retour de calculer_critere_infixe()

Tags
see
calculer_critere_infixe()

calculer_critere_infixe()

Décrit un critère non déclaré explicitement

calculer_critere_infixe(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : array<string|int, mixed>|string

Décrit un critère non déclaré comme {id_article} {id_article>3} en retournant un tableau de l'analyse si la colonne (ou l'alias) existe vraiment.

Ajoute au passage pour chaque colonne utilisée (alias et colonne véritable) un modificateur['criteres'][colonne].

S'occupe de rechercher des exceptions, tel que

  • les id_parent, id_enfant, id_secteur,
  • des colonnes avec des exceptions déclarées,
  • des critères de date (jour_relatif, ...),
  • des critères sur tables jointes explicites (mots.titre),
  • des critères sur tables de jointure non explicite (id_mot sur une boucle articles...)
Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Return values
array<string|int, mixed>|string

Liste si on trouve le champ :

  • string $arg Opérande avant l'opérateur : souvent la colonne d'application du critère, parfois un calcul plus complexe dans le cas des dates.
  • string $op L'opérateur utilisé, tel que '='
  • string[] $val Liste de codes PHP obtenant les valeurs des comparaisons (ex: id_article sur la boucle parente) Souvent (toujours ?) un tableau d'un seul élément.
  • $col_alias
  • $where_complement

Chaîne vide si on ne trouve pas le champ...

calculer_critere_infixe_externe()

Décrit un critère non déclaré explicitement, sur un champ externe à la table

calculer_critere_infixe_externe(Boucle $boucle, Critere $crit, string $op, array<string|int, mixed> $desc, string $col, string $col_alias, string $table) : array<string|int, mixed>|string

Décrit un critère non déclaré comme {id_article} {id_article>3} qui correspond à un champ non présent dans la table, et donc à retrouver par jointure si possible.

Parameters
$boucle : Boucle

Description de la boucle

$crit : Critere

Paramètres du critère dans cette boucle

$op : string

L'opérateur utilisé, tel que '='

$desc : array<string|int, mixed>

Description de la table

$col : string

Nom de la colonne à trouver (la véritable)

$col_alias : string

Alias de la colonne éventuel utilisé dans le critère ex: id_enfant

$table : string

Nom de la table SQL de la boucle

Return values
array<string|int, mixed>|string

Liste si jointure possible :

  • string $col
  • string $col_alias
  • string $table
  • array $where
  • array $desc

Chaîne vide si on ne trouve pas le champ par jointure...

primary_doublee()

Calcule une condition WHERE entre un nom du champ et une valeur

primary_doublee(array<string|int, mixed> $decompose, string $table) : array<string|int, string>

Ne pas appliquer sql_quote lors de la compilation, car on ne connait pas le serveur SQL

Parameters
$decompose : array<string|int, mixed>

Liste nom du champ, code PHP pour obtenir la valeur

$table : string

Nom de la table

Tags
todo

Ce nom de fonction n'est pas très clair ?

Return values
array<string|int, string>

Liste de 3 éléments pour une description where du compilateur :

  • operateur (=),
  • table.champ,
  • valeur

calculer_critere_externe_init()

Champ hors table, ça ne peut être qu'une jointure.

calculer_critere_externe_init(Boucle &$boucle, array<string|int, mixed> $joints, string $col, array<string|int, mixed> $desc, bool $cond[, bool|string $checkarrivee = false ]) : string

On cherche la table du champ et on regarde si elle est déjà jointe Si oui et qu'on y cherche un champ nouveau, pas de jointure supplementaire Exemple: criteres {titre_mot=...}{type_mot=...} Dans les 2 autres cas ==> jointure (Exemple: criteres {type_mot=...}{type_mot=...} donne 2 jointures pour selectioner ce qui a exactement ces 2 mots-cles.

Parameters
$boucle : Boucle

Description de la boucle

$joints : array<string|int, mixed>

Liste de jointures possibles (ex: $boucle->jointures ou $boucle->jointures_explicites)

$col : string

Colonne cible de la jointure

$desc : array<string|int, mixed>

Description de la table

$cond : bool

Flag pour savoir si le critère est conditionnel ou non

$checkarrivee : bool|string = false

string : nom de la table jointe où on veut trouver le champ. n'a normalement pas d'appel sans $checkarrivee.

Return values
string

Alias de la table de jointure (Lx) Vide sinon.

calculer_lien_externe_init()

Générer directement une jointure via une table de lien spip_xxx_liens pour un critère {id_xxx}

calculer_lien_externe_init(Boucle &$boucle, array<string|int, mixed> $joints, string $col, array<string|int, mixed> $desc, bool $cond[, bool|string $checkarrivee = false ]) : string
Parameters
$boucle : Boucle

Description de la boucle

$joints : array<string|int, mixed>

Liste de jointures possibles (ex: $boucle->jointures ou $boucle->jointures_explicites)

$col : string

Colonne cible de la jointure

$desc : array<string|int, mixed>

Description de la table

$cond : bool

Flag pour savoir si le critère est conditionnel ou non

$checkarrivee : bool|string = false

string : nom de la table jointe où on veut trouver le champ. n'a normalement pas d'appel sans $checkarrivee.

Tags
todo

$checkarrivee doit être obligatoire ici ?

Return values
string

Alias de la table de jointure (Lx)

trouver_champ()

Recherche la présence d'un champ dans une valeur de tableau

trouver_champ(string $champ, array<string|int, mixed> $where) : bool
Parameters
$champ : string

Expression régulière pour trouver un champ donné. Exemple : /\barticles.titre\b/

$where : array<string|int, mixed>

Tableau de valeurs dans lesquels chercher le champ.

Return values
bool

true si le champ est trouvé quelque part dans $where false sinon.

calculer_critere_infixe_ops()

Détermine l'operateur et les opérandes d'un critère non déclaré

calculer_critere_infixe_ops(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : array<string|int, mixed>

Lorsque l'opérateur n'est pas explicite comme sur {id_article>0} c'est l'opérateur '=' qui est utilisé.

Traite les cas particuliers id_parent, id_enfant, date, lang

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Return values
array<string|int, mixed>

Liste :

  • string $fct Nom d'une fonction SQL sur le champ ou vide (ex: SUM)
  • string $col Nom de la colonne SQL utilisée
  • string $op Opérateur
  • string[] $val Liste de codes PHP obtenant les valeurs des comparaisons (ex: id_article sur la boucle parente) Souvent un tableau d'un seul élément.
  • string $args_sql Suite des arguments du critère. ?

calculer_vieux_in()

calculer_vieux_in(mixed $params) : mixed
Parameters
$params : mixed

calculer_critere_infixe_date()

Calcule les cas particuliers de critères de date

calculer_critere_infixe_date(string $idb, array<string|int, mixed> &$boucles, string $col) : string|array<string|int, mixed>

Lorsque la colonne correspond à un critère de date, tel que jour, jour_relatif, jour_x, age, age_relatif, age_x...

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$col : string

Nom du champ demandé

Return values
string|array<string|int, mixed>

chaine vide si ne correspond pas à une date, sinon liste

  • expression SQL de calcul de la date,
  • nom de la colonne de date (si le calcul n'est pas relatif)

calculer_param_date()

Calcule l'expression SQL permettant de trouver un nombre de jours écoulés.

calculer_param_date(string $date_compare, string $date_orig) : string

Le calcul SQL retournera un nombre de jours écoulés entre la date comparée et la colonne SQL indiquée

Parameters
$date_compare : string

Code PHP permettant d'obtenir le timestamp référent. C'est à partir de lui que l'on compte les jours

$date_orig : string

Nom de la colonne SQL qui possède la date

Return values
string

Expression SQL calculant le nombre de jours écoulé entre une valeur de colonne SQL et une date.

critere_DATA_source_dist()

Compile le critère {source} d'une boucle DATA

critere_DATA_source_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Permet de déclarer le mode d'obtention des données dans une boucle DATA (premier argument) et les données (la suite).

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example

(DATA){source mode, "xxxxxx", arg, arg, arg} (DATA){source tableau, #LISTE{un,deux,trois}}

critere_DATA_datacache_dist()

Compile le critère {datacache} d'une boucle DATA

critere_DATA_datacache_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Permet de transmettre une durée de cache (time to live) utilisée pour certaines sources d'obtention des données (par exemple RSS), indiquant alors au bout de combien de temps la donnée est à réobtenir.

La durée par défaut est 1 journée.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_php_args_dist()

Compile le critère {args} d'une boucle PHP

critere_php_args_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Permet de passer des arguments à un iterateur non-spip (PHP:xxxIterator){args argument1, argument2, argument3}

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_DATA_liste_dist()

Compile le critère {liste} d'une boucle DATA

critere_DATA_liste_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Passe une liste de données à l'itérateur DATA

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example

(DATA){liste X1, X2, X3} équivalent à (DATA){source tableau,#LISTE{X1, X2, X3}}

critere_DATA_enum_dist()

Compile le critère {enum} d'une boucle DATA

critere_DATA_enum_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Passe les valeurs de début et de fin d'une énumération, qui seront vues comme une liste d'autant d'éléments à parcourir pour aller du début à la fin.

Cela utilisera la fonction range() de PHP.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example

(DATA){enum Xdebut, Xfin} (DATA){enum a,z} (DATA){enum z,a} (DATA){enum 1.0,9.2}

link
http://php.net/manual/fr/function.range.php

critere_DATA_datapath_dist()

Compile le critère {datapath} d'une boucle DATA

critere_DATA_datapath_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Extrait un chemin d'un tableau de données

(DATA){datapath query.results}

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

critere_si_dist()

Compile le critère {si}

critere_si_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Le critère {si condition} est applicable à toutes les boucles et conditionne l'exécution de la boucle au résultat de la condition. La partie alternative de la boucle est alors affichée si une condition n'est pas remplie (comme lorsque la boucle ne ramène pas de résultat). La différence étant que si la boucle devait réaliser une requête SQL (par exemple une boucle ARTICLES), celle ci n'est pas réalisée si la condition n'est pas remplie.

Les valeurs de la condition sont forcément extérieures à cette boucle (sinon il faudrait l'exécuter pour connaître le résultat, qui doit tester si on exécute la boucle !)

Si plusieurs critères {si} sont présents, ils sont cumulés : si une seule des conditions n'est pas vérifiée, la boucle n'est pas exécutée.

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
example

{si #ENV{exec}|=={article}} {si (#_contenu:GRAND_TOTAL|>{10})} {si #AUTORISER{voir,articles}}

critere_noeud_dist()

Compile le critère {noeud}

critere_noeud_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Trouver tous les objets qui ont des enfants (les noeuds de l'arbre) {noeud} {!noeud} retourne les feuilles

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
global

array $exceptions_des_tables

critere_feuille_dist()

Compile le critère {feuille}

critere_feuille_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed

Trouver tous les objets qui n'ont pas d'enfants (les feuilles de l'arbre) {feuille} {!feuille} retourne les noeuds

Parameters
$idb : string

Identifiant de la boucle

$boucles : array<string|int, mixed>

AST du squelette

$crit : Critere

Paramètres du critère dans cette boucle

Tags
global

array $exceptions_des_tables

public_debusquer_dist()

Point d'entrée pour les erreurs de compilation

public_debusquer_dist([bool|string|array<string|int, mixed> $message = '' ][, string|Contexte $lieu = '' ][, array<string|int, mixed> $opt = [] ]) : null|string|array<string|int, mixed>|true|void

Point d'entrée pour les appels involontaires ($message non vide => erreur) et volontaires (var_mode et var_profile)

Si pas d'autorisation, les erreurs ne sont pas affichées (mais seront dans les logs)

Si l'erreur vient de SPIP, en parler sur spip@rezo.net

Parameters
$message : bool|string|array<string|int, mixed> = ''
  • Message d'erreur (string|array)
  • false pour retourner le texte des messages d'erreurs
  • vide pour afficher les messages d'erreurs
$lieu : string|Contexte = ''

Contexte : lieu d'origine de l'erreur

$opt : array<string|int, mixed> = []

Options pour debug ou tests unitaires

  • 'erreurs' = 'get' : Retourne le tableau des erreurs
  • 'erreurs' = 'reset' : Efface le tableau des erreurs
Return values
null|string|array<string|int, mixed>|true|void
  • string si $message à false.
  • array si $opt 'erreurs' = 'get'
  • true si $opt 'erreurs' = 'reset'

debusquer_compose_message()

debusquer_compose_message(mixed $msg) : mixed
Parameters
$msg : mixed

debusquer_bandeau()

debusquer_bandeau(mixed $erreurs) : mixed
Parameters
$erreurs : mixed

debusquer_contexte()

Affiche proprement dans un tableau le contexte d'environnement

debusquer_contexte(array<string|int, mixed>|string $env) : string
Parameters
$env : array<string|int, mixed>|string
Return values
string

Code HTML

debusquer_loger_erreur()

debusquer_loger_erreur(mixed $msg, mixed $lieu) : mixed
Parameters
$msg : mixed
$lieu : mixed

debusquer_navigation()

debusquer_navigation(mixed $tableau[, mixed $caption = [] ][, mixed $id = 'debug-nav' ]) : mixed
Parameters
$tableau : mixed
$caption : mixed = []
$id : mixed = 'debug-nav'

debusquer_requete()

Retourne le texte d'un message d'erreur de requête

debusquer_requete(array<string|int, mixed> $message) : string|array<string|int, mixed>

Si une boucle cree des soucis, on peut afficher la requete fautive avec son code d'erreur

Parameters
$message : array<string|int, mixed>

Description du message en 3 éléments :

  • numéro d'erreur
  • texte de l'erreur
  • requête en erreur
Return values
string|array<string|int, mixed>

Retourne le texte de l'erreur a afficher ou un tableau si l'erreur est critique

trouve_boucle_debug()

trouve_boucle_debug(mixed $n, mixed $nom[, mixed $debut = 0 ][, mixed $boucle = '' ]) : mixed
Parameters
$n : mixed
$nom : mixed
$debut : mixed = 0
$boucle : mixed = ''

trouve_squelette_inclus()

trouve_squelette_inclus(mixed $script) : mixed
Parameters
$script : mixed

reference_boucle_debug()

reference_boucle_debug(mixed $n, mixed $nom, mixed $self) : mixed
Parameters
$n : mixed
$nom : mixed
$self : mixed

ancre_texte()

ancre_texte(mixed $texte[, mixed $fautifs = [] ][, mixed $nocpt = false ]) : mixed
Parameters
$texte : mixed
$fautifs : mixed = []
$nocpt : mixed = false

debusquer_squelette()

debusquer_squelette(mixed $fonc, mixed $mode, mixed $self) : mixed
Parameters
$fonc : mixed
$mode : mixed
$self : mixed

emboite_texte()

emboite_texte(mixed $res[, mixed $fonc = '' ][, mixed $self = '' ]) : mixed
Parameters
$res : mixed
$fonc : mixed = ''
$self : mixed = ''

count_occ()

count_occ(mixed $regs) : mixed
Parameters
$regs : mixed

debusquer_format_millisecondes()

debusquer_format_millisecondes(mixed $t) : mixed
Parameters
$t : mixed

debusquer_navigation_squelettes()

debusquer_navigation_squelettes(mixed $self) : mixed
Parameters
$self : mixed

debusquer_navigation_boucles()

debusquer_navigation_boucles(mixed $boucles, mixed $nom_skel, mixed $self, mixed $nom_source) : mixed
Parameters
$boucles : mixed
$nom_skel : mixed
$self : mixed
$nom_source : mixed

debusquer_source()

debusquer_source(mixed $objet, mixed $affiche) : mixed
Parameters
$objet : mixed
$affiche : mixed

debusquer_entete()

debusquer_entete(mixed $titre, mixed $corps) : mixed
Parameters
$titre : mixed
$corps : mixed

decompiler_boucle()

decompiler_boucle(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$struct : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_include()

decompiler_include(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$struct : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_texte()

decompiler_texte(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$struct : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_polyglotte()

decompiler_polyglotte(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$struct : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_idiome()

decompiler_idiome(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$struct : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_champ()

decompiler_champ(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$struct : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_liste()

decompiler_liste(mixed $sources[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$sources : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_criteres()

decompiler_criteres(mixed $boucle[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$boucle : mixed
$fmt : mixed = ''
$prof : mixed = 0

decompiler_()

decompiler_(mixed $liste[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
$liste : mixed
$fmt : mixed = ''
$prof : mixed = 0

public_decompiler()

public_decompiler(mixed $liste[, mixed $fmt = '' ][, mixed $prof = 0 ][, mixed $quoi = '' ]) : mixed
Parameters
$liste : mixed
$fmt : mixed = ''
$prof : mixed = 0
$quoi : mixed = ''

format_boucle_html()

format_boucle_html(mixed $preaff, mixed $avant, mixed $nom, mixed $type, mixed $crit, mixed $corps, mixed $apres, mixed $altern, mixed $postaff, mixed $prof) : mixed
Parameters
$preaff : mixed
$avant : mixed
$nom : mixed
$type : mixed
$crit : mixed
$corps : mixed
$apres : mixed
$altern : mixed
$postaff : mixed
$prof : mixed

format_inclure_html()

format_inclure_html(mixed $file, mixed $args, mixed $prof) : mixed
Parameters
$file : mixed
$args : mixed
$prof : mixed

format_polyglotte_html()

format_polyglotte_html(mixed $args, mixed $prof) : mixed
Parameters
$args : mixed
$prof : mixed

format_idiome_html()

format_idiome_html(mixed $nom, mixed $module, mixed $args, mixed $filtres, mixed $prof) : mixed
Parameters
$nom : mixed
$module : mixed
$args : mixed
$filtres : mixed
$prof : mixed

format_champ_html()

format_champ_html(mixed $nom, mixed $boucle, mixed $etoile, mixed $avant, mixed $apres, mixed $args, mixed $filtres, mixed $prof) : mixed
Parameters
$nom : mixed
$boucle : mixed
$etoile : mixed
$avant : mixed
$apres : mixed
$args : mixed
$filtres : mixed
$prof : mixed

format_critere_html()

format_critere_html(mixed $critere) : mixed
Parameters
$critere : mixed

format_liste_html()

format_liste_html(mixed $fonc, mixed $args, mixed $prof) : mixed
Parameters
$fonc : mixed
$args : mixed
$prof : mixed

format_suite_html()

format_suite_html(mixed $args) : mixed
Parameters
$args : mixed

format_texte_html()

format_texte_html(mixed $texte) : mixed
Parameters
$texte : mixed

decompose_champ_id_objet()

Décomposer un champ id_truc en (id_objet,objet,truc)

decompose_champ_id_objet(string $champ) : array<string|int, mixed>|string

Exemple : décompose id_article en (id_objet,objet,article)

Parameters
$champ : string

Nom du champ à décomposer

Return values
array<string|int, mixed>|string

Tableau si décomposable : 'id_objet', 'objet', Type de l'objet Chaine sinon : le nom du champ (non décomposable donc)

trouver_champs_decomposes()

Mapping d'un champ d'une jointure en deux champs id_objet,objet si nécessaire

trouver_champs_decomposes(string $champ, array<string|int, mixed> $desc) : array<string|int, mixed>

Si le champ demandé existe dans la table, on l'utilise, sinon on regarde si le champ se décompose en objet/id_objet et si la table possède ces champs, et dans ce cas, on les retourne.

Parameters
$champ : string

Nom du champ à tester (ex. id_article)

$desc : array<string|int, mixed>

Description de la table

Tags
uses
decompose_champ_id_objet()
used-by
calculer_chaine_jointures()
Return values
array<string|int, mixed>

Liste du/des champs. Soit

  • array($champ), si le champ existe dans la table ou si on ne peut décomposer.
  • array(id_objet, objet), si le champ n'existe pas mais qu'on peut décomposer

calculer_jointure()

Calculer et construite une jointure entre $depart et $arrivee

calculer_jointure(Boucle &$boucle, array<string|int, mixed> $depart, array<string|int, mixed> $arrivee[, string $col = '' ][, bool $cond = false ][, int $max_liens = 5 ]) : string

L'objet boucle est modifié pour compléter la requête. La fonction retourne l'alias d'arrivée une fois la jointure construire, en general un "Lx"

Parameters
$boucle : Boucle

Description de la boucle

$depart : array<string|int, mixed>

Table de départ, sous la forme (nom de la table, description de la table)

$arrivee : array<string|int, mixed>

Table d'arrivée, sous la forme (nom de la table, description de la table)

$col : string = ''

Colonne cible de la jointure

$cond : bool = false

Flag pour savoir si le critère est conditionnel ou non

$max_liens : int = 5

Nombre maximal de liaisons possibles pour trouver la jointure.

Tags
uses
calculer_chaine_jointures()
uses
fabrique_jointures()
used-by
trouver_jointure_champ()
Return values
string

Alias de la table de jointure (Lx)

fabrique_jointures()

Fabriquer une jointure à l'aide d'une liste descriptive d'étapes

fabrique_jointures(Boucle &$boucle, array<string|int, mixed> $res[, bool $cond = false ][, array<string|int, mixed> $desc = [] ][, string $nom = '' ][, string $col = '' ][, bool $echap = true ]) : string

Ajoute

  • la jointure dans le tableau $boucle->join,
  • la table de jointure dans le from
  • un modificateur 'lien'
Parameters
$boucle : Boucle

Description de la boucle

$res : array<string|int, mixed>

Chaîne des jointures $res = array( array(table_depart,array(table_arrivee,desc),jointure), ... ) Jointure peut être un tableau pour les jointures sur champ decomposé array('id_article','id_objet','objet','article') array('id_objet','id_article','objet','article')

$cond : bool = false

Flag pour savoir si le critère est conditionnel ou non

$desc : array<string|int, mixed> = []

Description de la table de départ

$nom : string = ''

Nom de la table de départ

$col : string = ''

Colonne cible de la jointure

$echap : bool = true

Écrire les valeurs dans boucle->join en les échappant ou non ?

Tags
uses
nogroupby_if()
uses
liste_champs_jointures()
used-by
calculer_jointure()
Return values
string

Alias de la table de jointure (Lx)

nogroupby_if()

Condition suffisante pour qu'un Group-By ne soit pas nécéssaire

nogroupby_if(array<string|int, mixed> $depart, array<string|int, mixed> $arrivee, string|array<string|int, mixed> $col) : bool

À améliorer, notamment voir si calculer_select ne pourrait pas la réutiliser lorsqu'on sait si le critere conditionnel est finalement present

Parameters
$depart : array<string|int, mixed>
$arrivee : array<string|int, mixed>
$col : string|array<string|int, mixed>
Tags
used-by
fabrique_jointures()
Return values
bool

liste_champs_jointures()

Lister les champs candidats a une jointure, sur une table si un join est fourni dans la description, c'est lui qui l'emporte sauf si cle primaire explicitement demandee par $primary

liste_champs_jointures(string $nom, array<string|int, mixed> $desc[, bool $primary = false ]) : array<string|int, mixed>

sinon on construit une liste des champs a partir de la liste des cles de la table

Parameters
$nom : string
$desc : array<string|int, mixed>
$primary : bool = false
Tags
uses
split_key()
used-by
fabrique_jointures()
used-by
calculer_chaine_jointures()
used-by
trouver_champ_exterieur()
Return values
array<string|int, mixed>

split_key()

Eclater une cle composee en plusieurs champs

split_key(string $v[, array<string|int, mixed> $join = [] ]) : array<string|int, mixed>
Parameters
$v : string
$join : array<string|int, mixed> = []
Tags
used-by
liste_champs_jointures()
Return values
array<string|int, mixed>

calculer_chaine_jointures()

Constuire la chaine de jointures, de proche en proche

calculer_chaine_jointures(objetc &$boucle, array<string|int, mixed> $depart, array<string|int, mixed> $arrivee[, array<string|int, mixed> $vu = [] ][, array<string|int, mixed> $milieu_exclus = [] ][, int $max_liens = 5 ]) : array<string|int, mixed>
Parameters
$boucle : objetc
$depart : array<string|int, mixed>

sous la forme array(nom de la table, description)

$arrivee : array<string|int, mixed>

sous la forme array(nom de la table, description)

$vu : array<string|int, mixed> = []

tables deja vues dans la jointure, pour ne pas y repasser

$milieu_exclus : array<string|int, mixed> = []

cles deja utilisees, pour ne pas les reutiliser

$max_liens : int = 5

nombre maxi d'etapes

Tags
uses
liste_champs_jointures()
uses
trouver_champs_decomposes()
used-by
calculer_jointure()
Return values
array<string|int, mixed>

trouver_cles_table()

applatit les cles multiples redondance avec split_key() ? a mutualiser

trouver_cles_table(array<string|int, mixed> $keys) : array<string|int, mixed>
Parameters
$keys : array<string|int, mixed>
Return values
array<string|int, mixed>

chercher_champ_dans_tables()

Indique si une colonne (ou plusieurs colonnes) est présente dans l'une des tables indiquée.

chercher_champ_dans_tables(string|array<string|int, mixed> $cle, array<string|int, mixed> $tables, string $connect[, bool|string $checkarrivee = false ]) : array<string|int, mixed>|false
Parameters
$cle : string|array<string|int, mixed>

Nom de la ou des colonnes à trouver dans les tables indiquées

$tables : array<string|int, mixed>

Liste de noms de tables ou des couples (alias => nom de table).

  • $boucle->from (alias => nom de table) : les tables déjà utilisées dans une boucle
  • $boucle->jointures : les tables utilisables en tant que jointure
  • $boucle->jointures_explicites les jointures explicitement indiquées à l'écriture de la boucle
$connect : string

Nom du connecteur SQL

$checkarrivee : bool|string = false

false : peu importe la table, si on trouve le/les champs, c'est bon. string : nom de la table où on veut trouver le champ.

Return values
array<string|int, mixed>|false

false : on n'a pas trouvé array : infos sur la table trouvée. Les clés suivantes sont retournés :

  • 'desc' : tableau de description de la table,
  • 'table' : nom de la table
  • 'alias' : alias utilisé pour la table (si pertinent. ie: avec $boucle->from transmis par exemple)

trouver_champ_exterieur()

Cherche une colonne (ou plusieurs colonnes) dans les tables de jointures possibles indiquées.

trouver_champ_exterieur(string|array<string|int, mixed> $cle, array<string|int, mixed> $joints, Boucle &$boucle[, bool|string $checkarrivee = false ]) : array<string|int, mixed>|string
Parameters
$cle : string|array<string|int, mixed>

Nom de la ou des colonnes à trouver dans les tables de jointures

$joints : array<string|int, mixed>

Liste des jointures possibles (ex: $boucle->jointures ou $boucle->jointures_explicites)

$boucle : Boucle

Description de la boucle

$checkarrivee : bool|string = false

false : peu importe la table, si on trouve le/les champs, c'est bon. string : nom de la table jointe où on veut trouver le champ.

Tags
uses
chercher_champ_dans_tables()
uses
decompose_champ_id_objet()
uses
liste_champs_jointures()
used-by
trouver_jointure_champ()
Return values
array<string|int, mixed>|string

chaîne vide : on n'a pas trouvé liste si trouvé : nom de la table, description de la table, clé(s) de la table

trouver_jointure_champ()

Cherche a ajouter la possibilite d'interroger un champ sql dans une boucle.

trouver_jointure_champ(string $champ, object &$boucle[, array<string|int, mixed> $jointures = false ][, bool $cond = false ][, bool|string $checkarrivee = false ]) : string

Cela construira les jointures necessaires si une possibilite est trouve et retournera le nom de l'alias de la table contenant ce champ (L2 par exemple pour 'spip_mots AS L2' dans le FROM),

Parameters
$champ : string

Nom du champ cherche (exemple id_article)

$boucle : object

Informations connues de la boucle

$jointures : array<string|int, mixed> = false

Liste des tables parcourues (articles, mots) pour retrouver le champ sql et calculer la jointure correspondante. En son absence et par defaut, on utilise la liste des jointures connues par SPIP pour la table en question ($boucle->jointures)

$cond : bool = false

flag pour savoir si le critere est conditionnel ou non

$checkarrivee : bool|string = false

false : peu importe la table, si on trouve le/les champs, c'est bon. string : nom de la table jointe où on veut trouver le champ.

Tags
uses
trouver_champ_exterieur()
uses
calculer_jointure()
Return values
string

phraser_vieux_modele()

phraser_vieux_modele(mixed $p) : mixed
Parameters
$p : mixed

phraser_vieux_inclu()

phraser_vieux_inclu(mixed $p) : mixed
Parameters
$p : mixed

normaliser_args_inclumodel()

Accepte la syntaxe historique {arg1=val1}{arg2=val2}... dans les INCLURE au lieu de {arg1=val1,arg2=val2,...}

normaliser_args_inclumodel(Champ|Inclure $p) : void
Parameters
$p : Champ|Inclure

normaliser_inclure()

Trim les arguments de <INCLURE> et repère l'argument spécial fond=

normaliser_inclure(Inclure $champ) : void
Parameters
$champ : Inclure

public_parametrer_dist()

public_parametrer_dist(mixed $fond[, mixed $contexte = '' ][, mixed $cache = '' ][, string $connect = '' ]) : mixed
Parameters
$fond : mixed
$contexte : mixed = ''
$cache : mixed = ''
$connect : string = ''

presenter_contexte()

Retourne une présentation succincte du contexte pour les logs

presenter_contexte(array<string|int, mixed> $contexte[, mixed $profondeur_max = 1 ][, mixed $max_lines = 0 ]) : string
Parameters
$contexte : array<string|int, mixed>
$profondeur_max : mixed = 1
$max_lines : mixed = 0
Return values
string

tester_redirection()

Si le champ virtuel est non vide c'est une redirection.

tester_redirection(string $fond, array<string|int, mixed> $contexte, string $connect) : array<string|int, mixed>|bool

avec un eventuel raccourci Spip

si le raccourci a un titre il sera pris comme corps du 302

Parameters
$fond : string
$contexte : array<string|int, mixed>
$connect : string
Tags
uses
public_tester_redirection_dist()
Return values
array<string|int, mixed>|bool

public_tester_redirection_dist()

Si le champ virtuel est non vide c'est une redirection.

public_tester_redirection_dist(string $fond, array<string|int, mixed> $contexte, string $connect) : array<string|int, mixed>|bool

avec un eventuel raccourci Spip

si le raccourci a un titre il sera pris comme corps du 302

Parameters
$fond : string
$contexte : array<string|int, mixed>
$connect : string
Tags
used-by
tester_redirection()
Return values
array<string|int, mixed>|bool

phraser_inclure()

Parser les <INCLURE> dans le texte

phraser_inclure(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$texte : string
$ligne : int
$result : array<string|int, mixed>
Return values
array<string|int, mixed>

phraser_polyglotte()

Phraser les <multi>...</multi> on passe en dernier de toutes les analyses : a ce stade il ne reste que des morceaux de texte entre balises/boucles, donc une <multi> ne peut pas contenir de balises

phraser_polyglotte(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$texte : string
$ligne : int
$result : array<string|int, mixed>
Tags
use

Spip\Texte\Collecteur\Multis

used-by
phraser_champs()
Return values
array<string|int, mixed>

phraser_idiomes()

Repérer les balises de traduction (idiomes)

phraser_idiomes(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>

Phrase les idiomes tel que

  • <:chaine:>
  • <:module:chaine:>
  • <:module:chaine{arg1=texte1,arg2=#BALISE}|filtre1{texte2,#BALISE}|filtre2:>
Parameters
$texte : string
$ligne : int
$result : array<string|int, mixed>
Tags
note

chaine peut etre vide si =texte1 est present et arg1 est vide sinon ce n'est pas un idiome

Return values
array<string|int, mixed>

phraser_champs()

Repère et phrase les balises SPIP tel que `#NOM` dans un texte

phraser_champs(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>

Phrase également ses arguments si la balise en a (#NOM{arg, ...})

Parameters
$texte : string
$ligne : int
$result : array<string|int, mixed>
Tags
uses
phraser_polyglotte()
uses
phraser_args()
uses
phraser_vieux()
Return values
array<string|int, mixed>

phraser_champs_etendus()

Phraser les champs etendus

phraser_champs_etendus(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
$texte : string
$ligne : int
$result : array<string|int, mixed>
Tags
note

C'est phraser_champs_interieurs() qui va le faire. On lui fournit un marqueur $sep qui n'est pas contenu dans le texte et qu'il peut utiliser de manière sûre pour remplacer au fur et à mesure les champs imbriquées qu'il va trouver

see
phraser_champs_interieurs()
Return values
array<string|int, mixed>

phraser_args()

Analyse les filtres d'un champ etendu et affecte le resultat renvoie la liste des lexemes d'origine augmentee de ceux trouves dans les arguments des filtres (rare) sert aussi aux arguments des includes et aux criteres de boucles Tres chevelu

phraser_args(string $texte, string $fin, string $sep, array<string|int, mixed> $result, Champ|Inclure|Idiome|Boucle &$pointeur_champ, int &$pos_debut) : array<string|int, mixed>
Parameters
$texte : string
$fin : string
$sep : string
$result : array<string|int, mixed>
$pointeur_champ : Champ|Inclure|Idiome|Boucle
$pos_debut : int
Tags
used-by
phraser_champs()
Return values
array<string|int, mixed>

phraser_arg()

phraser_arg(mixed &$texte, mixed $sep, mixed $result, mixed &$pointeur_champ) : mixed
Parameters
$texte : mixed
$sep : mixed
$result : mixed
$pointeur_champ : mixed

phraser_champs_exterieurs()

Reconstruire un tableau de resultat ordonné selon l'ordre d'apparition dans le texte issu de phraser_champs_interieurs() et phraser les inclure sur les morceaux intermédiaires

phraser_champs_exterieurs(string $texte, int $ligne, string $sep, array<string|int, mixed> $nested_res) : array<string|int, mixed>
Parameters
$texte : string
$ligne : int
$sep : string
$nested_res : array<string|int, mixed>
Return values
array<string|int, mixed>

phraser_champs_interieurs()

Parser un texte pour trouver toutes les balises complètes `[...(#TRUC)...]` en gérant les imbrications possibles

phraser_champs_interieurs(string $texte, int $no_ligne, string $sep) : array<string|int, mixed>

Pour cela on commence par les plus profondes, sans rien dedans, on les remplace par un placehoder inactif %###N@ ou N indexe un tableau comportant le resultat de leur analyse et on recommence jusqu'à ce qu'on ne trouve plus rien

Parameters
$texte : string
$no_ligne : int
$sep : string
Return values
array<string|int, mixed>

phraser_vieux()

Gerer les derogations de syntaxe historiques Ne concerne plus que #MODELE et <INCLURE> / #INCLURE

phraser_vieux(Champ|Inclure &$champ) : void
Parameters
$champ : Champ|Inclure
Tags
used-by
phraser_champs()

phraser_criteres()

Analyse les critères de boucle

phraser_criteres(array<string|int, mixed> $params, Boucle &$result) : void

Chaque paramètre de la boucle (tel que {id_article>3}) est analysé pour construire un critère (objet Critere) de boucle.

Un critère a une description plus fine que le paramètre original car on en extrait certaines informations tel que la négation et l'opérateur utilisé s'il y a.

La fonction en profite pour déclarer des modificateurs de boucles en présence de certains critères (tout, plat) ou initialiser des variables de compilation (doublons)...

Parameters
$params : array<string|int, mixed>

Tableau de description des paramètres passés à la boucle. Chaque paramètre deviendra un critère

$result : Boucle

Description de la boucle Elle sera complété de la liste de ses critères

phraser_critere_infixe()

phraser_critere_infixe(mixed $arg1, mixed $arg2, mixed $args, mixed $op, mixed $not, mixed $cond) : mixed
Parameters
$arg1 : mixed
$arg2 : mixed
$args : mixed
$op : mixed
$not : mixed
$cond : mixed

public_compte_ligne()

Compter le nombre de lignes dans une partie texte

public_compte_ligne(string $texte[, int $debut = 0 ][, int|null $fin = null ]) : int
Parameters
$texte : string
$debut : int = 0
$fin : int|null = null
Return values
int

public_trouver_premiere_boucle()

Trouver la boucle qui commence en premier dans un texte On repere les boucles via <BOUCLE_xxx( et ensuite on regarde son vrai debut soit <B_xxx> soit <BB_xxx>

public_trouver_premiere_boucle(string $texte, string $id_parent, array<string|int, mixed> $descr[, int $pos_debut_texte = 0 ]) : array<string|int, mixed>|null
Parameters
$texte : string
$id_parent : string
$descr : array<string|int, mixed>
$pos_debut_texte : int = 0
Return values
array<string|int, mixed>|null

public_trouver_fin_boucle()

Trouver la fin de la boucle (balises </B <//B </BB) en faisant attention aux boucles anonymes qui ne peuvent etre imbriquees

public_trouver_fin_boucle(string $texte, string $id_parent, array<string|int, mixed> $boucle, int $pos_debut_texte, object $result) : array<string|int, mixed>
Parameters
$texte : string
$id_parent : string
$boucle : array<string|int, mixed>
$pos_debut_texte : int
$result : object
Return values
array<string|int, mixed>

la description de la boucle dans un tableau associatif

phraser_boucle_placeholder()

phraser_boucle_placeholder(object|string &$champ[, string|null $boucle_placeholder = null ][, null|object $boucle = null ]) : mixed
Parameters
$champ : object|string
$boucle_placeholder : string|null = null
$boucle : null|object = null

public_generer_boucle_placeholder()

Generer une balise placeholder qui prend la place de la boucle pour continuer le parsing des balises

public_generer_boucle_placeholder(string $id_boucle, Boucle &$boucle, string $boucle_placeholder, int $nb_lignes) : string
Parameters
$id_boucle : string
$boucle : Boucle
$boucle_placeholder : string
$nb_lignes : int
Return values
string

public_phraser_html_dist()

Analyseur syntaxique des squelettes HTML SPIP On commence par analyser les boucles, les mémoriser, et les remplacer dans le texte par des placeholder qui ne genent pas la suite de l'analyse des balises et autres

public_phraser_html_dist(string $texte, string $id_parent, array<string, Boucle&$boucles, array<string|int, mixed> $descr[, int $ligne_debut_texte = 1 ][, string|null $boucle_placeholder = null ]) : array<string|int, mixed>
Parameters
$texte : string
$id_parent : string
$boucles : array<string, Boucle>
$descr : array<string|int, mixed>
$ligne_debut_texte : int = 1
$boucle_placeholder : string|null = null
Tags
throws
JsonException
Return values
array<string|int, mixed>

index_boucle()

Retrouver l'index de la boucle d'une balise

index_boucle(Champ $p) : string

Retrouve à quelle boucle appartient une balise, utile dans le cas où une référence explicite est demandée

  • #MABALISE : l'index est celui de la première boucle englobante
  • #_autreboucle:MABALISE : l'index est celui de la boucle _autreboucle
Parameters
$p : Champ

AST au niveau de la balise

Tags
example

Dans une balise dynamique ou calculée :

$idb = index_boucle($p);
Return values
string
  • Identifiant de la boucle possédant ce champ.
  • '' si une référence explicite incorrecte est envoyée

index_boucle_mere()

Retrouve la boucle mère d’une balise, sauf si son nom est explicité

index_boucle_mere(Champ $p) : string
  • #MABALISE : l'index sera celui de la boucle parente
  • #_autreboucle:MABALISE : l'index est celui de la boucle _autreboucle, si elle existe
Parameters
$p : Champ

AST au niveau de la balise

Tags
example

Dans une balise dynamique ou calculée :

$idb = index_boucle_mere($p);
Return values
string
  • Identifiant de la boucle parente possédant ce champ, ou '' si pas de parent.
  • '' si une référence explicite incorrecte est envoyée

index_pile()

Retourne la position dans la pile d'un champ SQL

index_pile(string $idb, string $nom_champ, array<string|int, mixed> &$boucles[, string $explicite = '' ][, null|string $defaut = null ][, bool $remonte_pile = true ][, bool $select = true ]) : string

Retourne le code PHP permettant de récupérer un champ SQL dans une boucle parente, en prenant la boucle la plus proche du sommet de pile (indiqué par $idb).

Si on ne trouve rien, on considère que ça doit provenir du contexte (par l'URL ou l'include) qui a été recopié dans Pile[0] (un essai d'affinage a débouché sur un bug vicieux)

Si ca référence un champ SQL, on le mémorise dans la structure $boucles afin de construire un requête SQL minimale (plutôt qu'un brutal 'SELECT *')

Parameters
$idb : string

Identifiant de la boucle

$nom_champ : string

Nom du champ SQL cherché

$boucles : array<string|int, mixed>

AST du squelette

$explicite : string = ''

Indique que le nom de la boucle est explicite dans la balise #_nomboucletruc:CHAMP

$defaut : null|string = null

Code par defaut si le champ n'est pas trouvé dans l'index. Utilise ($Pile[0][$nom_champ] ?? null) si non fourni

$remonte_pile : bool = true

Permettre de remonter la pile des boucles ou non (dans ce cas on ne cherche que dans la 1ère boucle englobante)

$select : bool = true

Pour ajouter au select de la boucle, par defaut true

Return values
string

Code PHP pour obtenir le champ SQL

index_compose()

Reconstuire la cascade de condition de recherche d'un champ

index_compose(array<string|int, mixed> $conditionnel, string $defaut) : string

On ajoute la valeur finale par défaut pour les balises dont on ne saura qu'à l'exécution si elles sont definies ou non (boucle DATA)

Parameters
$conditionnel : array<string|int, mixed>

Liste de codes PHP pour retrouver un champ

$defaut : string

Valeur par défaut si aucun des moyens ne l'a trouvé

Return values
string

Code PHP complet de recherche d'un champ

index_tables_en_pile()

Cherche un champ dans une boucle

index_tables_en_pile(string $idb, string $nom_champ, array<string|int, Boucle&$boucles, bool &$joker) : array<string|int, mixed>

Le champ peut être :

  • un alias d'un autre : il faut alors le calculer, éventuellement en construisant une jointure.
  • présent dans la table : on l'utilise
  • absent, mais le type de boucle l'autorise (joker des itérateurs DATA) : on l'utilise et lève le drapeau joker
  • absent, on cherche une jointure et on l'utilise si on en trouve.
Parameters
$idb : string

Identifiant de la boucle

$nom_champ : string

Nom du champ SQL cherché

$boucles : array<string|int, Boucle>

AST du squelette

$joker : bool

Le champ peut-il être inconnu à la compilation ? Ce drapeau sera levé si c'est le cas.

Tags
todo

Ici la recherche de jointure sur l'absence d'un champ ne cherche une jointure que si des jointures explicites sont demandées, et non comme à d'autres endroits sur toutes les jointures possibles. Il faut homogénéiser cela.

Return values
array<string|int, mixed>

Liste (Nom du champ véritable, nom du champ demandé). Le nom du champ véritable est une expression pour le SELECT de la boucle tel que "rubriques.titre" ou "mots.titre AS titre_mot". Les éléments de la liste sont vides si on ne trouve rien.

index_exception()

Retrouve un alias d'un champ dans une boucle

index_exception(Boucle &$boucle, array<string|int, mixed> $desc, string $nom_champ, array<string|int, mixed> $excep) : array<string|int, mixed>

Référence à une entite SPIP alias d'un champ SQL. Ça peut même être d'un champ dans une jointure qu'il faut provoquer si ce n'est fait

Parameters
$boucle : Boucle

Boucle dont on prend un alias de champ

$desc : array<string|int, mixed>

Description de la table SQL de la boucle

$nom_champ : string

Nom du champ original demandé

$excep : array<string|int, mixed>

Description de l'exception pour ce champ. Peut être :

  • string : nom du champ véritable dans la table
  • array :
    • liste (table, champ) indique que le véritable champ est dans une autre table et construit la jointure dessus
    • liste (table, champ, fonction) idem, mais en passant un nom de fonction qui s'occupera de créer la jointure.
Return values
array<string|int, mixed>

Liste (nom du champ alias, nom du champ). Le nom du champ alias est une expression pour le SELECT de la boucle du style "mots.titre AS titre_mot"

champ_sql()

Demande le champ '$champ' dans la pile

champ_sql(string $champ, Champ $p[, null|string $defaut = null ][, bool $remonte_pile = true ]) : string

Le champ est cherché dans l'empilement de boucles, sinon dans la valeur par défaut (qui est l'environnement du squelette si on ne la précise pas).

Parameters
$champ : string

Champ recherché

$p : Champ

AST au niveau de la balise

$defaut : null|string = null

Code de la valeur par défaut si on ne trouve pas le champ dans une des boucles parentes. Sans précision, il sera pris dans l'environnement du squelette. Passer $defaut = '' pour ne pas prendre l'environnement.

$remonte_pile : bool = true

Permettre de remonter dans la pile des boucles pour trouver le champ

Return values
string

Code PHP pour retrouver le champ

calculer_champ()

Calcule et retourne le code PHP d'exécution d'une balise SPIP et des ses filtres

calculer_champ(Champ $p) : string

Cette fonction qui sert d'API au compilateur demande à calculer le code PHP d'une balise, puis lui applique les filtres (automatiques et décrits dans le squelette)

Parameters
$p : Champ

AST au niveau de la balise

Tags
uses
calculer_balise()
uses
applique_filtres()
Return values
string

Code PHP pour d'exécution de la balise et de ses filtres

calculer_balise()

Calcule et retourne le code PHP d'exécution d'une balise SPIP

calculer_balise(string $nom, Champ $p) : Champ

Cette fonction qui sert d'API au compilateur demande à calculer le code PHP d'une balise (cette fonction ne calcule pas les éventuels filtres de la balise).

Pour une balise nommmée NOM, elle demande à charger_fonction() de chercher s'il existe une fonction balise_NOM ou balise_NOM_dist éventuellement en chargeant le fichier balise/NOM.php.

Si la balise est de la forme PREFIXE_SUFFIXE (cf LOGO_* et URL_*) elle fait de même avec juste le PREFIXE.

S'il n'y a pas de fonction trouvée, on considère la balise comme une référence à une colonne de table SQL connue, sinon à l'environnement (cf. calculer_balise_DEFAUT_dist()).

Les surcharges des colonnes SQL via charger_fonction sont donc possibles.

Parameters
$nom : string

Nom de la balise

$p : Champ

AST au niveau de la balise

Tags
uses
calculer_balise_DEFAUT_dist()

Lorsqu'aucune fonction spécifique n'est trouvée, ou que ces fonctions spécifiques ont retourné null.

see
charger_fonction()

Pour la recherche des fonctions de balises

used-by
calculer_champ()
used-by
collecter_balise_dynamique()

Pour obtenir le code d'éxécution de chaque argument.

Return values
Champ

Pile complétée par le code PHP pour l'exécution de la balise et de ses filtres

calculer_balise_DEFAUT_dist()

Calcule et retourne le code PHP d'exécution d'une balise SPIP non déclarée

calculer_balise_DEFAUT_dist(string $nom, Champ $p) : string

Cette fonction demande à calculer le code PHP d'une balise qui n'a pas de fonction spécifique.

On considère la balise comme une référence à une colonne de table SQL connue, sinon à l'environnement.

Parameters
$nom : string

Nom de la balise

$p : Champ

AST au niveau de la balise

Tags
uses
index_pile()

Pour la recherche de la balise comme colonne SQL ou comme environnement

note

Le texte de la balise est retourné si il ressemble à une couleur et qu'aucun champ correspondant n'a été trouvé, comme #CCAABB

used-by
calculer_balise()

Lorsqu'aucune fonction spécifique n'est trouvée, ou que ces fonctions spécifiques ont retourné null.

Return values
string

Code PHP pour d'exécution de la balise et de ses filtres

calculer_balise_dynamique()

Calcule le code PHP d'exécution d'une balise SPIP dynamique

calculer_balise_dynamique(Champ $p, string $nom, array<string|int, mixed> $l[, array<string|int, mixed> $supp = [] ]) : Champ

Calcule les balises dynamiques, notamment les formulaire_*.

Inclut le fichier associé à son nom, qui contient la fonction homonyme donnant les arguments à chercher dans la pile, et qui sont donc compilés.

On leur adjoint les arguments explicites de la balise (cf #LOGIN{url}) et d'éventuelles valeurs transmises d'autorité par la balise. (cf https://core.spip.net/issues/1728)

La fonction executer_balise_dynamique() définie par la constante CODE_EXECUTER_BALISE recevra à l'exécution la valeur de tout ca.

Parameters
$p : Champ

AST au niveau de la balise

$nom : string

Nom de la balise dynamique

$l : array<string|int, mixed>

Liste des noms d'arguments (balises) à collecter

$supp : array<string|int, mixed> = []

Liste de données supplémentaires à transmettre au code d'exécution.

Tags
uses
collecter_balise_dynamique()

Qui calcule le code d'exécution de chaque argument de la balise

see
executer_balise_dynamique()

Code PHP produit qui chargera les fonctions de la balise dynamique à l'exécution, appelée avec les arguments calculés.

see
executer_balise_dynamique_dans_un_modele()
Return values
Champ

Balise complétée de son code d'exécution

collecter_balise_dynamique()

Construction du tableau des arguments d'une balise dynamique.

collecter_balise_dynamique(array<string|int, mixed> $l, Champ &$p, string $nom) : array<string|int, mixed>

Pour chaque argument (un nom de balise), crée le code PHP qui le calculera.

Parameters
$l : array<string|int, mixed>

Liste des noms d'arguments (balises) à collecter (chaque argument de la balise dynamique est considéré comme étant un nom de balise)

$p : Champ

AST au niveau de la balise

$nom : string

Nom de la balise

Tags
note

Ces arguments peuvent être eux-même des balises (cf FORMULAIRE_SIGNATURE) mais gare au bouclage (on peut s'aider de $nom pour le réperer au besoin)

En revanche ils n'ont pas de filtres, donc on appelle calculer_balise() qui ne s'occupe pas de ce qu'il y a dans $p (mais qui va y ecrire le code)

uses
calculer_balise()

Pour obtenir le code d'éxécution de chaque argument.

used-by
calculer_balise_dynamique()

Qui calcule le code d'exécution de chaque argument de la balise

Return values
array<string|int, mixed>

Liste des codes PHP d'éxecution des balises collectées

trouver_nom_serveur_distant()

Récuperer le nom du serveur

trouver_nom_serveur_distant(Champ $p) : string

Mais pas si c'est un serveur spécifique dérogatoire

Parameters
$p : Champ

AST positionné sur la balise

Return values
string

Nom de la connexion

balise_distante_interdite()

Teste si une balise est appliquée sur une base distante

balise_distante_interdite(Champ $p) : bool

La fonction loge une erreur si la balise est utilisée sur une base distante et retourne false dans ce cas.

Parameters
$p : Champ

AST positionné sur la balise

Tags
note

Il faudrait savoir traiter les formulaires en local tout en appelant le serveur SQL distant. En attendant, cette fonction permet de refuser une authentification sur quelque-chose qui n'a rien a voir.

Return values
bool
  • true : La balise est autorisée
  • false : La balise est interdite car le serveur est distant

champs_traitements()

champs_traitements(mixed $p) : mixed
Parameters
$p : mixed

compose_filtres()

compose_filtres(mixed &$p, mixed $code) : mixed
Parameters
$p : mixed
$code : mixed

filtre_logique()

filtre_logique(mixed $fonc, mixed $code, mixed $arg) : mixed
Parameters
$fonc : mixed
$code : mixed
$arg : mixed

compose_filtres_args()

compose_filtres_args(mixed $p, mixed $args, mixed $sep) : mixed
Parameters
$p : mixed
$args : mixed
$sep : mixed

calculer_argument_precedent()

Réserve les champs necessaires à la comparaison avec le contexte donné par la boucle parente.

calculer_argument_precedent(string $idb, string $nom_champ, array<string|int, mixed> &$boucles[, null|string $defaut = null ]) : mixed

Attention en recursif il faut les réserver chez soi-même ET chez sa maman

Parameters
$idb : string

Identifiant de la boucle

$nom_champ : string
$boucles : array<string|int, mixed>

AST du squelette

$defaut : null|string = null

rindex_pile()

rindex_pile(mixed $p, mixed $champ, mixed $motif) : mixed
Parameters
$p : mixed
$champ : mixed
$motif : mixed

zbug_presenter_champ()

Retourne le nom de la balise indiquée pour les messages d’erreurs

zbug_presenter_champ(Pile $p[, string $champ = '' ]) : string
Parameters
$p : Pile

Description de la balise

$champ : string = ''

Nom du champ

Return values
string

Nom de la balise, avec indication de boucle explicite si présent.

trace_query_end()

trace_query_end(mixed $query, mixed $start, mixed $result, mixed $erreur[, mixed $serveur = '' ]) : mixed
Parameters
$query : mixed
$start : mixed
$result : mixed
$erreur : mixed
$serveur : mixed = ''

trace_query_chrono()

trace_query_chrono(mixed $dt, mixed $query, mixed $result[, mixed $serveur = '' ]) : mixed
Parameters
$dt : mixed
$query : mixed
$result : mixed
$serveur : mixed = ''

chrono_requete()

chrono_requete(mixed $temps) : mixed
Parameters
$temps : mixed

req_sqlite3_dist()

req_sqlite3_dist(mixed $addr, mixed $port, mixed $login, mixed $pass[, mixed $db = '' ][, mixed $prefixe = '' ]) : mixed
Parameters
$addr : mixed
$port : mixed
$login : mixed
$pass : mixed
$db : mixed = ''
$prefixe : mixed = ''

spip_sqlite3_constantes()

spip_sqlite3_constantes() : mixed

_sqlite_init_functions()

Déclarer à SQLite des fonctions spécifiques utilisables dans les requêtes SQL

_sqlite_init_functions(PDO|resource &$sqlite) : false|void

SQLite ne supporte nativement que certaines fonctions dans les requêtes SQL. Cependant, il permet d'étendre très facilement celles-ci en déclarant de nouvelles fonctions.

C'est ce qui est fait ici, en ajoutant des fonctions qui existent aussi dans d'autres moteurs, notamment en MySQL.

Parameters
$sqlite : PDO|resource

Représente la connexion Sqlite

Tags
link

Liste des fonctions natives

link

Liste des évolutions

Return values
false|void

_sqlite_add_function()

Déclare une fonction à SQLite

_sqlite_add_function(PDO &$sqlite, string &$f, array<string|int, mixed> &$r) : mixed
Parameters
$sqlite : PDO

Représente la connexion Sqlite

$f : string

Nom de la fonction à créer

$r : array<string|int, mixed>

Tableau indiquant :

  • le nom de la fonction à appeler,
  • le nombre de paramètres attendus de la fonction (-1 = infini, par défaut)
Tags
note

Permet au besoin de charger des fonctions ailleurs par _sqlite_init_functions();

uses
_sqlite_is_version()

_sqlite_func_ceil()

Mapping de `CEIL` pour SQLite

_sqlite_func_ceil(float $a) : int
Parameters
$a : float
Return values
int

_sqlite_func_concat()

Mapping de `CONCAT` pour SQLite

_sqlite_func_concat(array<string|int, string> ...$args) : string
Parameters
$args : array<string|int, string>
Return values
string

_sqlite_func_find_in_set()

Mapping de `FIND_IN_SET` pour SQLite

_sqlite_func_find_in_set(string $num, string $set) : int
Parameters
$num : string
$set : string
Return values
int

_sqlite_func_floor()

Mapping de `FLOOR` pour SQLite

_sqlite_func_floor(float $a) : int
Parameters
$a : float
Return values
int

_sqlite_func_if()

Mapping de `IF` pour SQLite

_sqlite_func_if(bool $bool, string|int|float $oui, string|int|float $non) : mixed
Parameters
$bool : bool
$oui : string|int|float
$non : string|int|float

_sqlite_func_insert()

Mapping de `INSERT` pour SQLite

_sqlite_func_insert(string $s, int $index, int $longueur, string $chaine) : string

Retourne une chaine de caractères à partir d'une chaine dans laquelle "chaine" à été inserée à la position "index" en remplacant "longueur" caractères.

Parameters
$s : string
$index : int
$longueur : int
$chaine : string
Return values
string

_sqlite_func_instr()

Mapping de `INSTR` pour SQLite

_sqlite_func_instr(string $s, string $search) : int
Parameters
$s : string
$search : string
Return values
int

_sqlite_func_least()

Mapping de `LEAST` pour SQLite

_sqlite_func_least(array<string|int, int> ...$args) : int
Parameters
$args : array<string|int, int>
Return values
int

_sqlite_func_greatest()

Mapping de `GREATEST` pour SQLite

_sqlite_func_greatest(array<string|int, int> ...$args) : int
Parameters
$args : array<string|int, int>
Return values
int

_sqlite_func_left()

Mapping de `LEFT` pour SQLite

_sqlite_func_left(string $s, int $lenght) : string
Parameters
$s : string
$lenght : int
Return values
string

_sqlite_func_now()

Mappnig de `NOW` pour SQLite

_sqlite_func_now([bool $force_refresh = false ]) : string
Parameters
$force_refresh : bool = false
Return values
string

_sqlite_func_preg_replace()

Mapping de `PREG_REPLACE` pour SQLite

_sqlite_func_preg_replace(string $quoi, string $cherche, string $remplace) : string
Parameters
$quoi : string
$cherche : string
$remplace : string
Return values
string

_sqlite_func_extraire_multi()

Mapping pour `EXTRAIRE_MULTI` de SPIP pour SQLite

_sqlite_func_extraire_multi(string $quoi, string $lang) : string

Extrait une langue d'un texte [fr] xxx [en] yyy

Parameters
$quoi : string

le texte contenant ou non un multi

$lang : string

la langue a extraire

Return values
string

l'extrait trouve.

_sqlite_func_rand()

Mapping de `RAND` pour SQLite

_sqlite_func_rand() : float
Return values
float

_sqlite_func_right()

Mapping de `RIGHT` pour SQLite

_sqlite_func_right(string $s, int $length) : string
Parameters
$s : string
$length : int
Return values
string

_sqlite_func_regexp_match()

Mapping de `REGEXP` pour SQLite

_sqlite_func_regexp_match(string $cherche, string $quoi) : bool
Parameters
$cherche : string
$quoi : string
Return values
bool

_sqlite_func_date_format()

Mapping de `DATE_FORMAT` pour SQLite

_sqlite_func_date_format(string $date, string $conv) : string

Transforme un un appel à DATE_FORMAT() via strftime de PHP, mais les motifs de remplacements ne sont pas toujours identiques. On essaie de les contertir.

Parameters
$date : string
$conv : string
Return values
string

_sqlite_func_strftime_format_converter()

Convertit un format demandé pour DATE_FORMAT() de mysql en un format adapté à strftime() de php.

_sqlite_func_strftime_format_converter(string $conv) : void

Certains paramètres ne correspondent pas et doivent être remplacés, d'autres n'ont tout simplement pas d'équivalent dans strftime : dans ce cas là on loggue, car il y a de grandes chances que le résultat soit inadapté.

Parameters
$conv : string

_sqlite_func_substring()

Mapping de `SUBSTRING` pour SQLite

_sqlite_func_substring(string $string, int $start[, int $len = null ]) : string
Parameters
$string : string
$start : int
$len : int = null
Return values
string

_sqlite_func_unix_timestamp()

Mapping de `UNIX_TIMESTAMP` pour SQLite

_sqlite_func_unix_timestamp(string $d) : int
Parameters
$d : string
Return values
int

req_sqlite_dist()

Connecteur à une base SQLite

req_sqlite_dist(string $addr, int $port, string $login, string $pass[, string $db = '' ][, string $prefixe = '' ][, string $sqlite_version = '' ]) : array<string|int, mixed>|bool
Parameters
$addr : string
$port : int
$login : string
$pass : string
$db : string = ''
$prefixe : string = ''
$sqlite_version : string = ''
Return values
array<string|int, mixed>|bool

spip_sqlite_open()

Ouvre une base SQLite avec PDO en spécifiant une classe spécifique pour les résultats

spip_sqlite_open(string $file) : PDO
Parameters
$file : string
Tags
see
PDOStatement
Return values
PDO

spip_sqlite_query()

Fonction de requete generale, munie d'une trace a la demande

spip_sqlite_query(string $query[, string $serveur = '' ][, bool $requeter = true ]) : PDOStatement|bool|string|array<string|int, mixed>
Parameters
$query : string

Requete a executer

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Effectuer la requete ?

  • true pour executer
  • false pour retourner le texte de la requete
Return values
PDOStatement|bool|string|array<string|int, mixed>

Resultat de la requete

spip_sqlite_alter()

Modifie une structure de table SQLite

spip_sqlite_alter(string $query[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
$query : string

Requête SQL (sans 'ALTER ')

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

inutilisé

Return values
bool

False si erreur dans l'exécution, true sinon

spip_sqlite_create()

Crée une table SQL

spip_sqlite_create(string $nom, array<string|int, mixed> $champs, array<string|int, mixed> $cles[, bool $autoinc = false ][, bool $temporary = false ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|resource|string

Crée une table SQL nommee $nom à partir des 2 tableaux $champs et $cles

Parameters
$nom : string

Nom de la table SQL

$champs : array<string|int, mixed>

Couples (champ => description SQL)

$cles : array<string|int, mixed>

Couples (type de clé => champ(s) de la clé)

$autoinc : bool = false

True pour ajouter un auto-incrément sur la Primary Key

$temporary : bool = false

True pour créer une table temporaire

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Tags
note

Le nom des caches doit être inferieur à 64 caractères

Return values
array<string|int, mixed>|null|resource|string
  • string texte de la requête si demandée
  • true si la requête réussie, false sinon.

spip_sqlite_create_base()

Crée une base de données SQLite

spip_sqlite_create_base(string $nom[, string $serveur = '' ][, string $option = true ]) : bool
Parameters
$nom : string

Nom de la base (sans l'extension de fichier)

$serveur : string = ''

Nom de la connexion

$option : string = true

Options

Return values
bool

true si la base est créee.

spip_sqlite_create_view()

Crée une vue SQL nommée `$nom`

spip_sqlite_create_view(string $nom, string $query_select[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$nom : string

Nom de la vue a creer

$query_select : string

texte de la requête de sélection servant de base à la vue

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Effectuer la requete, sinon la retourner

Return values
bool|string
  • true si la vue est créée
  • false si erreur ou si la vue existe déja
  • string texte de la requête si $requeter vaut false

spip_sqlite_create_index()

Fonction de création d'un INDEX

spip_sqlite_create_index(string $nom, string $table, string|array<string|int, mixed> $champs[, string|bool $unique = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$nom : string

Nom de l'index

$table : string

Table SQL de l'index

$champs : string|array<string|int, mixed>

Liste de champs sur lesquels s'applique l'index

$unique : string|bool = ''

Créer un index UNIQUE ?

$serveur : string = ''

Nom de la connexion sql utilisee

$requeter : bool = true

true pour executer la requête ou false pour retourner le texte de la requête

Return values
bool|string

string : requête, false si erreur, true sinon.

spip_sqlite_count()

Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`

spip_sqlite_count(PDOStatement $r[, string $serveur = '' ][, bool $requeter = true ]) : int

En PDO/sqlite3, il faut calculer le count par une requete count(*) pour les resultats de SELECT.

Parameters
$r : PDOStatement

Jeu de résultats

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Inutilisé

Return values
int

Nombre de lignes

spip_sqlite_countsel()

Retourne le nombre de lignes d'une sélection

spip_sqlite_countsel([array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = '' ][, array<string|int, mixed>|string $having = [] ][, string $serveur = '' ][, bool $requeter = true ]) : int|bool|string
Parameters
$from : array<string|int, mixed>|string = []

Tables à consulter (From)

$where : array<string|int, mixed>|string = []

Conditions a remplir (Where)

$groupby : array<string|int, mixed>|string = ''

Critère de regroupement (Group by)

$having : array<string|int, mixed>|string = []

Tableau des des post-conditions à remplir (Having)

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
int|bool|string
  • string texte de la requête si demandé
  • int Nombre de lignes
  • false si la requête a échouée

spip_sqlite_delete()

Supprime des enregistrements d'une table

spip_sqlite_delete(string $table[, string|array<string|int, mixed> $where = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$table : string

Nom de la table SQL

$where : string|array<string|int, mixed> = ''

Conditions à vérifier

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string
  • int : nombre de suppressions réalisées,
  • texte de la requête si demandé,
  • false en cas d'erreur.

spip_sqlite_drop_table()

Supprime une table SQL

spip_sqlite_drop_table(string $table[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$table : string

Nom de la table SQL

$exist : bool = false

True pour ajouter un test d'existence avant de supprimer

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string
  • string texte de la requête si demandé
  • true si la requête a réussie, false sinon

spip_sqlite_drop_view()

Supprime une vue SQL

spip_sqlite_drop_view(string $view[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$view : string

Nom de la vue SQL

$exist : bool = false

True pour ajouter un test d'existence avant de supprimer

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string
  • string texte de la requête si demandé
  • true si la requête a réussie, false sinon

spip_sqlite_drop_index()

Fonction de suppression d'un INDEX

spip_sqlite_drop_index(string $nom, string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
$nom : string

: nom de l'index

$table : string

: table sql de l'index

$serveur : string = ''

: nom de la connexion sql utilisee

$requeter : bool = true

: true pour executer la requête ou false pour retourner le texte de la requête

Return values
bool

ou requete

spip_sqlite_error()

Retourne la dernière erreur generée

spip_sqlite_error([string $query = '' ][, string $serveur = '' ]) : string
Parameters
$query : string = ''

Requête qui était exécutée

$serveur : string = ''

Nom de la connexion

Tags
uses
sql_error_backtrace()
Return values
string

Erreur eventuelle

_sqlite_last_error_from_link(mixed $link) : mixed
Parameters
$link : mixed

spip_sqlite_errno()

Retourne le numero de la dernière erreur SQL

spip_sqlite_errno([string $serveur = '' ]) : int|string

Le numéro (en sqlite3/pdo) est un retour ODBC tel que (très souvent) HY000 http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html

Parameters
$serveur : string = ''

nom de la connexion

Return values
int|string

0 pas d'erreur 1 ou autre erreur (en sqlite 2) 'HY000/1' : numéro de l'erreur SQLState / numéro d'erreur interne SQLite (en sqlite 3)

spip_sqlite_explain()

Retourne une explication de requête (Explain) SQLite

spip_sqlite_explain(string $query[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|string|bool
Parameters
$query : string

texte de la requête

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
array<string|int, mixed>|string|bool
  • array : Tableau de l'explication
  • string si on retourne le texte de la requête
  • false si on a pas pu avoir d'explication

spip_sqlite_fetch()

Rècupère une ligne de résultat

spip_sqlite_fetch(PDOStatement $r[, string $t = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|false

Récupère la ligne suivante d'une ressource de résultat

Parameters
$r : PDOStatement

Jeu de résultats (issu de sql_select)

$t : string = ''

Structure de résultat attendu (défaut ASSOC)

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Inutilisé

Return values
array<string|int, mixed>|null|false
  • array Ligne de résultat
  • null Pas de résultat
  • false Erreur

spip_sqlite_seek()

Place le pointeur de résultat sur la position indiquée

spip_sqlite_seek(PDOStatement $r, int $row_number[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
$r : PDOStatement

Jeu de résultats

$row_number : int

Position. Déplacer le pointeur à cette ligne

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Inutilisé

Return values
bool

True si déplacement réussi, false sinon.

spip_sqlite_free()

Libère une ressource de résultat

spip_sqlite_free(PDOStatement &$r[, string $serveur = '' ][, bool $requeter = true ]) : bool

Indique à SQLite de libérer de sa mémoire la ressoucre de résultat indiquée car on n'a plus besoin de l'utiliser.

Parameters
$r : PDOStatement

Jeu de résultats

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Inutilisé

Return values
bool

True si réussi

spip_sqlite_get_charset()

Teste si le charset indiqué est disponible sur le serveur SQL (aucune action ici)

spip_sqlite_get_charset([array<string|int, mixed>|string $charset = [] ][, string $serveur = '' ][, bool $requeter = true ]) : void

Cette fonction n'a aucune action actuellement

Parameters
$charset : array<string|int, mixed>|string = []

Nom du charset à tester.

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

inutilisé

spip_sqlite_hex()

Prépare une chaîne hexadécimale

spip_sqlite_hex(string $v) : string

Par exemple : FF ==> 255 en SQLite

Parameters
$v : string

Chaine hexadecimale

Return values
string

Valeur hexadécimale pour SQLite

spip_sqlite_in()

Retourne une expression IN pour le gestionnaire de base de données

spip_sqlite_in(string $val, string $valeurs[, string $not = '' ][, string $serveur = '' ][, bool $requeter = true ]) : string
Parameters
$val : string

Colonne SQL sur laquelle appliquer le test

$valeurs : string

Liste des valeurs possibles (séparés par des virgules)

$not : string = ''
  • '' sélectionne les éléments correspondant aux valeurs
  • 'NOT' inverse en sélectionnant les éléments ne correspondant pas aux valeurs
$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Inutilisé

Return values
string

Expression de requête SQL

spip_sqlite_insert()

Insère une ligne dans une table

spip_sqlite_insert(string $table, string $champs, string $valeurs[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
Parameters
$table : string

Nom de la table SQL

$champs : string

Liste des colonnes impactées,

$valeurs : string

Liste des valeurs,

$desc : array<string|int, mixed> = []

Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string|int|array<string|int, mixed>
  • int|true identifiant de l'élément inséré (si possible), ou true, si réussite
  • texte de la requête si demandé,
  • false en cas d'erreur,
  • Tableau de description de la requête et du temps d'exécution, si var_profile activé

spip_sqlite_insertq()

Insère une ligne dans une table, en protégeant chaque valeur

spip_sqlite_insertq(string $table[, array<string|int, mixed> $couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
Parameters
$table : string

Nom de la table SQL

$couples : array<string|int, mixed> = []

Couples (colonne => valeur)

$desc : array<string|int, mixed> = []

Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string|int|array<string|int, mixed>
  • int|true identifiant de l'élément inséré (si possible), ou true, si réussite
  • texte de la requête si demandé,
  • false en cas d'erreur,
  • Tableau de description de la requête et du temps d'exécution, si var_profile activé

spip_sqlite_insertq_multi()

Insère plusieurs lignes d'un coup dans une table

spip_sqlite_insertq_multi(string $table[, array<string|int, mixed> $tab_couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$table : string

Nom de la table SQL

$tab_couples : array<string|int, mixed> = []

Tableau de tableaux associatifs (colonne => valeur)

$desc : array<string|int, mixed> = []

Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string
  • true en cas de succès,
  • texte de la requête si demandé,
  • false en cas d'erreur.

spip_sqlite_preferer_transaction()

Retourne si le moteur SQL préfère utiliser des transactions.

spip_sqlite_preferer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Inutilisé

Return values
bool

Toujours true.

spip_sqlite_demarrer_transaction()

Démarre une transaction

spip_sqlite_demarrer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool|string

Pratique pour des sql_updateq() dans un foreach, parfois 100* plus rapide s'ils sont nombreux en sqlite !

Parameters
$serveur : string = ''

Nom du connecteur

$requeter : bool = true

true pour exécuter la requête ou false pour retourner le texte de la requête

Return values
bool|string

string si texte de la requête demandé, true sinon

spip_sqlite_terminer_transaction()

Clôture une transaction

spip_sqlite_terminer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$serveur : string = ''

Nom du connecteur

$requeter : bool = true

true pour exécuter la requête ou false pour retourner le texte de la requête

Return values
bool|string

string si texte de la requête demandé, true sinon

spip_sqlite_listdbs()

Liste les bases de données disponibles

spip_sqlite_listdbs([string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
Parameters
$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Inutilisé

Return values
array<string|int, mixed>

Liste des noms de bases

spip_sqlite_multi()

Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée

spip_sqlite_multi(string $objet, string $lang) : string

Cette sélection est mise dans l'alias multi (instruction AS multi).

Parameters
$objet : string

Colonne ayant le texte

$lang : string

Langue à extraire

Return values
string

texte de sélection pour la requête

spip_sqlite_optimize()

Optimise une table SQL

spip_sqlite_optimize(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$table : string

nom de la table a optimiser

$serveur : string = ''

nom de la connexion

$requeter : bool = true

effectuer la requete ? sinon retourner son code

Tags
note

Sqlite optimise TOUT un fichier sinon rien. On évite donc 2 traitements sur la même base dans un hit.

Return values
bool|string

true / false / requete

spip_sqlite_quote()

Échapper une valeur selon son type mais pour SQLite avec ses spécificités

spip_sqlite_quote(string|array<string|int, mixed>|number $v[, string $type = '' ]) : string|number
Parameters
$v : string|array<string|int, mixed>|number

texte, nombre ou tableau à échapper

$type : string = ''

Description du type attendu (par exemple description SQL de la colonne recevant la donnée)

Return values
string|number

Donnée prête à être utilisée par le gestionnaire SQL

spip_sqlite_date_proche()

Tester si une date est proche de la valeur d'un champ

spip_sqlite_date_proche(string $champ, int $interval, string $unite) : string
Parameters
$champ : string

Nom du champ a tester

$interval : int

Valeur de l'intervalle : -1, 4, ...

$unite : string

Utité utilisée (DAY, MONTH, YEAR, ...)

Return values
string

Expression SQL

spip_sqlite_repair()

Répare une table SQL

spip_sqlite_repair(string $table[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, string>

Il n'y a pas de fonction native repair dans sqlite, mais on profite pour vérifier que tous les champs (text|char) ont bien une clause DEFAULT

Parameters
$table : string

Nom de la table SQL

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
array<string|int, string>

Tableau avec clé 0 pouvant avoir " OK " ou " ERROR " indiquant l'état de la table après la réparation

spip_sqlite_replace()

Insère où met à jour une entrée d’une table SQL

spip_sqlite_replace(string $table, array<string|int, mixed> $couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string

La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.

Préférer à cette fonction updateq ou insertq.

Parameters
$table : string

Nom de la table SQL

$couples : array<string|int, mixed>

Couples colonne / valeur à modifier,

$desc : array<string|int, mixed> = []

Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string
  • true si réussite
  • texte de la requête si demandé,
  • false en cas d'erreur.

spip_sqlite_replace_multi()

Insère où met à jour des entrées d’une table SQL

spip_sqlite_replace_multi(string $table, array<string|int, mixed> $tab_couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string

La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.

Préférez insertq_multi et sql_updateq

Parameters
$table : string

Nom de la table SQL

$tab_couples : array<string|int, mixed>

Tableau de tableau (colonne / valeur à modifier),

$desc : array<string|int, mixed> = []

Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
bool|string
  • true si réussite
  • texte de la requête si demandé,
  • false en cas d'erreur.

spip_sqlite_select()

Exécute une requête de sélection avec SQLite

spip_sqlite_select(string|array<string|int, mixed> $select, string|array<string|int, mixed> $from[, string|array<string|int, mixed> $where = '' ][, string|array<string|int, mixed> $groupby = '' ][, string|array<string|int, mixed> $orderby = '' ][, string $limit = '' ][, string|array<string|int, mixed> $having = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|resource|string

Instance de sql_select (voir ses specs).

Parameters
$select : string|array<string|int, mixed>

Champs sélectionnés

$from : string|array<string|int, mixed>

Tables sélectionnées

$where : string|array<string|int, mixed> = ''

Contraintes

$groupby : string|array<string|int, mixed> = ''

Regroupements

$orderby : string|array<string|int, mixed> = ''

Tris

$limit : string = ''

Limites de résultats

$having : string|array<string|int, mixed> = ''

Contraintes posts sélections

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Tags
see
sql_select()
Return values
array<string|int, mixed>|bool|resource|string
  • string : texte de la requête si on ne l'exécute pas
  • ressource si requête exécutée, ressource pour fetch()
  • false si la requête exécutée a ratée
  • array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.

spip_sqlite_selectdb()

Sélectionne un fichier de base de données

spip_sqlite_selectdb(string $db[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$db : string

Nom de la base à utiliser

$serveur : string = ''

Nom du connecteur

$requeter : bool = true

Inutilisé

Return values
bool|string
  • Nom de la base en cas de success.
  • False en cas d'erreur.

spip_sqlite_set_charset()

Définit un charset pour la connexion avec SQLite (aucune action ici)

spip_sqlite_set_charset(string $charset[, string $serveur = '' ][, bool $requeter = true ]) : void

Cette fonction n'a aucune action actuellement.

Parameters
$charset : string

Charset à appliquer

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

inutilisé

spip_sqlite_showbase()

Retourne une ressource de la liste des tables de la base de données

spip_sqlite_showbase(string $match[, string $serveur = '' ][, bool $requeter = true ]) : PDOStatement|bool|string|array<string|int, mixed>
Parameters
$match : string

Filtre sur tables à récupérer

$serveur : string = ''

Connecteur de la base

$requeter : bool = true

true pour éxecuter la requête false pour retourner le texte de la requête.

Return values
PDOStatement|bool|string|array<string|int, mixed>

Ressource à utiliser avec sql_fetch()

spip_sqlite_table_exists()

Indique si une table existe dans la base de données

spip_sqlite_table_exists(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$table : string

Table dont on cherche l’existence

$serveur : string = ''

Connecteur de la base

$requeter : bool = true

true pour éxecuter la requête false pour retourner le texte de la requête.

Return values
bool|string
  • true si la table existe, false sinon
  • string : requete sql, si $requeter = true

spip_sqlite_showtable()

Obtient la description d'une table ou vue SQLite

spip_sqlite_showtable(string $nom_table[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|string

Récupère la définition d'une table ou d'une vue avec colonnes, indexes, etc. au même format que la définition des tables SPIP, c'est à dire un tableau avec les clés

  • field (tableau colonne => description SQL) et
  • key (tableau type de clé => colonnes)
Parameters
$nom_table : string

Nom de la table SQL

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
array<string|int, mixed>|string
  • chaîne vide si pas de description obtenue
  • string texte de la requête si demandé
  • array description de la table sinon

spip_sqlite_update()

Met à jour des enregistrements d'une table SQL

spip_sqlite_update(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
Parameters
$table : string

Nom de la table

$champs : array<string|int, mixed>

Couples (colonne => valeur)

$where : string|array<string|int, mixed> = ''

Conditions a remplir (Where)

$desc : array<string|int, mixed> = ''

Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
array<string|int, mixed>|bool|string
  • string : texte de la requête si demandé
  • true si la requête a réussie, false sinon
  • array Tableau décrivant la requête et son temps d'exécution si var_profile est actif

spip_sqlite_updateq()

Met à jour des enregistrements d'une table SQL et protège chaque valeur

spip_sqlite_updateq(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string

Protège chaque valeur transmise avec sql_quote(), adapté au type de champ attendu par la table SQL

Parameters
$table : string

Nom de la table

$champs : array<string|int, mixed>

Couples (colonne => valeur)

$where : string|array<string|int, mixed> = ''

Conditions a remplir (Where)

$desc : array<string|int, mixed> = []

Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).

$serveur : string = ''

Nom de la connexion

$requeter : bool = true

Exécuter la requête, sinon la retourner

Return values
array<string|int, mixed>|bool|string
  • string : texte de la requête si demandé
  • true si la requête a réussie, false sinon
  • array Tableau décrivant la requête et son temps d'exécution si var_profile est actif

_sqlite_is_version()

Teste la version sqlite du link en cours

_sqlite_is_version([string $version = '' ][, string $link = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|int
Parameters
$version : string = ''
$link : string = ''
$serveur : string = ''
$requeter : bool = true
Tags
used-by
_sqlite_add_function()
Return values
bool|int

Retrouver un link d'une connexion SQLite

_sqlite_link([string $serveur = '' ]) : PDO|null
Parameters
$serveur : string = ''

Nom du serveur

Return values
PDO|null

Information de connexion pour SQLite

_sqlite_calculer_cite()

Renvoie les bons echappements (mais pas sur les fonctions comme NOW())

_sqlite_calculer_cite(string|number $v, string $type) : string|number
Parameters
$v : string|number

texte ou nombre à échapper

$type : string

Type de donnée attendue, description SQL de la colonne de destination

Return values
string|number

texte ou nombre échappé

_sqlite_calculer_expression()

Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué

_sqlite_calculer_expression(string $expression, array<string|int, mixed>|string $v[, string $join = 'AND' ]) : string

Renvoie grosso modo "$expression join($join, $v)"

Parameters
$expression : string

Mot clé de l'expression, tel que "WHERE" ou "ORDER BY"

$v : array<string|int, mixed>|string

Données de l'expression

$join : string = 'AND'

Si les données sont un tableau, elles seront groupées par cette jointure

Return values
string

texte de l'expression, une partie donc, du texte la requête.

_sqlite_calculer_order()

Prépare une clause order by

_sqlite_calculer_order(string|array<string|int, mixed> $orderby) : string

Regroupe en texte les éléments si un tableau est donné

Parameters
$orderby : string|array<string|int, mixed>

texte du orderby à préparer

Tags
note

Pas besoin de conversion pour 0+x comme il faudrait pour mysql.

Return values
string

texte du orderby préparé

_sqlite_calculer_select_as()

Renvoie des `nom AS alias`

_sqlite_calculer_select_as(array<string|int, mixed> $args) : string
Parameters
$args : array<string|int, mixed>
Return values
string

Sélection de colonnes pour une clause SELECT

_sqlite_calculer_where()

Prépare une clause WHERE pour SQLite

_sqlite_calculer_where(array<string|int, mixed>|string $v) : string

Retourne une chaîne avec les bonnes parenthèses pour la contrainte indiquée, au format donnée par le compilateur

Parameters
$v : array<string|int, mixed>|string

Description des contraintes

  • string : texte du where
  • sinon tableau : A et B peuvent être de type string ou array, OP et C sont de type string :
    • array(A) : A est le texte du where
    • array(OP, A) : contrainte OP( A )
    • array(OP, A, B) : contrainte (A OP B)
    • array(OP, A, B, C) : contrainte (A OP (B) : C)
Return values
string

Contrainte pour clause WHERE

_sqlite_charger_version()

Charger les modules SQLite

_sqlite_charger_version([string $version = '' ]) : array<string|int, mixed>|bool

Si possible et juste la version demandée, ou, si aucune version, on renvoie les versions sqlite disponibles sur ce serveur dans un tableau

Parameters
$version : string = ''
Return values
array<string|int, mixed>|bool

_sqlite_modifier_table()

Gestion des requêtes ALTER non reconnues de SQLite

_sqlite_modifier_table(string|array<string|int, mixed> $table, string|array<string|int, mixed> $colonne[, array<string|int, mixed> $opt = [] ][, string $serveur = '' ]) : bool

Requêtes non reconnues :

ALTER TABLE table DROP column
ALTER TABLE table CHANGE [COLUMN] columnA columnB definition
ALTER TABLE table MODIFY column definition
ALTER TABLE table ADD|DROP PRIMARY KEY

MODIFY est transformé en CHANGE columnA columnA par spip_sqlite_alter()

  1. Créer une table B avec le nouveau format souhaité
  2. Copier la table d'origine A vers B
  3. Supprimer la table A
  4. Renommer la table B en A
  5. Remettre les index (qui sont supprimés avec la table A)
Parameters
$table : string|array<string|int, mixed>
  • string : Nom de la table table,
  • array : couple (nom de la table => nom futur)
$colonne : string|array<string|int, mixed>
  • string : nom de la colonne,
  • array : couple (nom de la colonne => nom futur)
$opt : array<string|int, mixed> = []

options comme les tables SPIP, qui sera mergé à la table créee : array('field'=>array('nom'=>'syntaxe', ...), 'key'=>array('KEY nom'=>'colonne', ...))

$serveur : string = ''

Nom de la connexion SQL en cours

Return values
bool

true si OK, false sinon.

_sqlite_ref_fonctions()

Nom des fonctions

_sqlite_ref_fonctions() : array<string|int, mixed>
Return values
array<string|int, mixed>

_sqlite_remplacements_definitions_table()

Adapte les déclarations des champs pour SQLite

_sqlite_remplacements_definitions_table(string|array<string|int, mixed> $query[, bool $autoinc = false ]) : mixed
Parameters
$query : string|array<string|int, mixed>

Déclaration d’un champ ou liste de déclarations de champs

$autoinc : bool = false

_sqlite_collate_ci()

Definir la collation d'un champ en fonction de si une collation est deja explicite et du par defaut que l'on veut NOCASE

_sqlite_collate_ci(string $champ) : string
Parameters
$champ : string
Return values
string

_sqlite_requete_create()

Creer la requete pour la creation d'une table retourne la requete pour utilisation par sql_create() et sql_alter()

_sqlite_requete_create( $nom,  $champs,  $cles[, bool $autoinc = false ][, bool $temporary = false ][, bool $_ifnotexists = true ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
$nom :
$champs :
$cles :
$autoinc : bool = false
$temporary : bool = false
$_ifnotexists : bool = true
$serveur : string = ''
$requeter : bool = true
Return values
bool|string

_sqlite_ajouter_champs_timestamp()

Retrouver les champs 'timestamp' pour les ajouter aux 'insert' ou 'replace' afin de simuler le fonctionnement de mysql

_sqlite_ajouter_champs_timestamp( $table,  $couples[, string $desc = '' ][, string $serveur = '' ]) : mixed

stocke le resultat pour ne pas faire de requetes showtable intempestives

Parameters
$table :
$couples :
$desc : string = ''
$serveur : string = ''

spip_versions_sqlite()

Renvoyer la liste des versions sqlite disponibles sur le serveur

spip_versions_sqlite() : array<string|int, mixed>|bool
Return values
array<string|int, mixed>|bool

typographie_en_dist()

typographie_en_dist(mixed $letexte) : mixed
Parameters
$letexte : mixed

typographie_fr_dist()

typographie_fr_dist(mixed $letexte) : mixed
Parameters
$letexte : mixed

urls_page_generer_url_objet_dist()

Generer l'url d'un objet SPIP

urls_page_generer_url_objet_dist(int $id, string $objet[, string $args = '' ][, string $ancre = '' ]) : string
Parameters
$id : int
$objet : string
$args : string = ''
$ancre : string = ''
Return values
string

urls_page_decoder_url_dist()

Decoder une url page retrouve le fond et les parametres d'une URL abregee le contexte deja existant est fourni dans args sous forme de tableau ou query string

urls_page_decoder_url_dist(string $url, string $entite[, array<string|int, mixed> $contexte = [] ]) : array<string|int, mixed>
Parameters
$url : string
$entite : string
$contexte : array<string|int, mixed> = []
Return values
array<string|int, mixed>

[$contexte_decode, $type, $url_redirect, $fond]

charger_dtd()

charger_dtd(mixed $grammaire, mixed $avail, mixed $rotlvl) : mixed
Parameters
$grammaire : mixed
$avail : mixed
$rotlvl : mixed

analyser_dtd()

analyser_dtd(mixed $loc, mixed $avail, mixed &$dtc) : mixed
Parameters
$loc : mixed
$avail : mixed
$dtc : mixed

analyser_dtd_comment()

analyser_dtd_comment(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

analyser_dtd_pi()

analyser_dtd_pi(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

analyser_dtd_lexeme()

analyser_dtd_lexeme(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

analyser_dtd_data()

analyser_dtd_data(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

analyser_dtd_notation()

analyser_dtd_notation(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

analyser_dtd_entity()

analyser_dtd_entity(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

analyser_dtd_element()

analyser_dtd_element(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

analyser_dtd_attlist()

analyser_dtd_attlist(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
$dtd : mixed
$dtc : mixed
$grammaire : mixed

expanserEntite()

Remplace dans la chaîne `$val` les sous-chaines de forme `%NOM;` par leur definition dans le tableau `$macros`

expanserEntite(string $val[, array<string|int, mixed> $macros = [] ]) : string|array<string|int, mixed>

Si le premier argument n'est pas une chaîne, retourne les statistiques (pour debug de DTD, inutilise en mode normal)

Parameters
$val : string
$macros : array<string|int, mixed> = []
Return values
string|array<string|int, mixed>

xml_indenter_dist()

xml_indenter_dist(mixed $page[, mixed $apply = false ]) : mixed
Parameters
$page : mixed
$apply : mixed = false

xml_entites_html()

Encoder les entites

xml_entites_html(string $texte) : string
Parameters
$texte : string
Return values
string

xml_debutElement()

xml_debutElement(mixed $phraseur, mixed $name, mixed $attrs) : mixed
Parameters
$phraseur : mixed
$name : mixed
$attrs : mixed

xml_finElement()

xml_finElement(mixed $phraseur, mixed $name[, mixed $fusion_bal = false ]) : mixed
Parameters
$phraseur : mixed
$name : mixed
$fusion_bal : mixed = false

xml_textElement()

xml_textElement(mixed $phraseur, mixed $data) : mixed
Parameters
$phraseur : mixed
$data : mixed

xml_piElement()

xml_piElement(mixed $phraseur, mixed $target, mixed $data) : mixed
Parameters
$phraseur : mixed
$target : mixed
$data : mixed

xml_defaultElement()

xml_defaultElement(mixed $phraseur, mixed $data) : mixed
Parameters
$phraseur : mixed
$data : mixed

xml_parsestring()

xml_parsestring(mixed $phraseur, mixed $data) : mixed
Parameters
$phraseur : mixed
$data : mixed

coordonnees_erreur()

coordonnees_erreur(mixed $phraseur, mixed $msg) : mixed
Parameters
$phraseur : mixed
$msg : mixed

xml_sax_dist()

xml_sax_dist(mixed $page[, mixed $apply = false ][, mixed $phraseur = null ][, mixed $doctype = '' ][, mixed $charset = null ]) : mixed
Parameters
$page : mixed
$apply : mixed = false
$phraseur : mixed = null
$doctype : mixed = ''
$charset : mixed = null

sax_bug()

sax_bug(mixed $data, mixed $dtc[, mixed $charset = null ]) : mixed
Parameters
$data : mixed
$dtc : mixed
$charset : mixed = null

analyser_doctype()

analyser_doctype(mixed $data) : mixed
Parameters
$data : mixed

xml_valider_dist()

Retourne une structure ValidateurXML, dont le champ "err" est un tableau ayant comme entrees des sous-tableaux [message, ligne, colonne]

xml_valider_dist(mixed $page[, mixed $apply = false ][, mixed $process = false ][, mixed $doctype = '' ][, mixed $charset = null ]) : mixed
Parameters
$page : mixed
$apply : mixed = false
$process : mixed = false
$doctype : mixed = ''
$charset : mixed = null

deplacement_restreint()

Tester le deplacement restreint ou non de l'objet en fonction de son statut

deplacement_restreint(string $objet, string $statut) : bool
Parameters
$objet : string
$statut : string
Return values
bool

formulaires_configurer_ecran_connexion_data()

formulaires_configurer_ecran_connexion_data() : array<string|int, mixed>
Return values
array<string|int, mixed>

formulaires_configurer_flux_charger_dist()

formulaires_configurer_flux_charger_dist() : mixed

formulaires_configurer_flux_traiter_dist()

formulaires_configurer_flux_traiter_dist() : mixed

afficher_langues_choix()

afficher_langues_choix(mixed $langues, mixed $name, mixed $id, mixed $selected) : mixed
Parameters
$langues : mixed
$name : mixed
$id : mixed
$selected : mixed

formulaires_configurer_logos_charger_dist()

formulaires_configurer_logos_charger_dist() : mixed

formulaires_configurer_logos_traiter_dist()

formulaires_configurer_logos_traiter_dist() : mixed

table_supporte_lang()

Tester si une table supporte les langues (champ lang)

table_supporte_lang(string $table_sql) : string
Parameters
$table_sql : string
Return values
string

table_supporte_trad()

Tester si une table supporte les traductions (champ id_trad)

table_supporte_trad(string $table_sql) : string
Parameters
$table_sql : string
Return values
string

relayeur_saisie_ou_config()

relayeur_saisie_ou_config(mixed $http_proxy, mixed $default) : mixed
Parameters
$http_proxy : mixed
$default : mixed

formulaires_declarer_bases_charger_dist()

formulaires_declarer_bases_charger_dist() : mixed

formulaires_declarer_bases_verifier_1_dist()

formulaires_declarer_bases_verifier_1_dist() : mixed

formulaires_declarer_bases_verifier_2_dist()

formulaires_declarer_bases_verifier_2_dist() : mixed

formulaires_declarer_bases_verifier_3_dist()

formulaires_declarer_bases_verifier_3_dist() : mixed

formulaires_declarer_bases_traiter_dist()

formulaires_declarer_bases_traiter_dist() : mixed

formulaires_inscription_charger_dist()

#FORMULAIRE_INSCRIPTION #FORMULAIRE_INSCRIPTION{6forum} #FORMULAIRE_INSCRIPTION{1comite,#ARRAY{id,#ENV{id_rubrique}}}

formulaires_inscription_charger_dist([string $mode = '' ][, array<string|int, mixed> $options = [] ][, string $retour = '' ]) : array<string|int, mixed>|false

Pour rediriger l'utilisateur apres soumission du formulaire vers une page qui lui dit de verifier ses mails par exemple : #FORMULAIRE_INSCRIPTION{6forum,'',#URL_PAGE{verifiez-vos-mails}}

Pour rediriger l'utilisateur apres Clic dans le lien du mail de confirmation, pour lui confirmer son inscription par exemple #FORMULAIRE_INSCRIPTION{6forum,#ARRAY{redirect,#URL_PAGE{confirmation-inscription}}}

Tout ensemble #FORMULAIRE_INSCRIPTION{6forum,#ARRAY{redirect,#URL_PAGE{confirmation-inscription}}, #URL_PAGE{verifiez-vos-mails}}

Syntaxe legacy : #FORMULAIRE_INSCRIPTION{1comite,#ENV{id_rubrique}}

Parameters
$mode : string = ''
$options : array<string|int, mixed> = []
$retour : string = ''
Return values
array<string|int, mixed>|false

formulaires_inscription_verifier_dist()

Si inscriptions pas autorisees, retourner une chaine d'avertissement

formulaires_inscription_verifier_dist([string $mode = '' ][, array<string|int, mixed> $options = [] ][, string $retour = '' ]) : array<string|int, mixed>
Parameters
$mode : string = ''
$options : array<string|int, mixed> = []
$retour : string = ''
Return values
array<string|int, mixed>

formulaires_inscription_traiter_dist()

Si inscriptions pas autorisees, retourner une chaine d'avertissement

formulaires_inscription_traiter_dist([string $mode = '' ][, array<string|int, mixed> $options = [] ][, string $retour = '' ]) : array<string|int, mixed>
Parameters
$mode : string = ''
$options : array<string|int, mixed> = []
$retour : string = ''
Return values
array<string|int, mixed>

retrouve_auteur()

retrouve_auteur(mixed $id_auteur[, mixed $jeton = '' ]) : mixed
Parameters
$id_auteur : mixed
$jeton : mixed = ''

formulaires_mot_de_passe_charger_dist()

Chargement de l'auteur qui peut changer son mot de passe.

formulaires_mot_de_passe_charger_dist([int $id_auteur = null ][, mixed $jeton = null ]) : array<string|int, mixed>

Soit un cookie d'oubli fourni par #FORMULAIRE_OUBLI est passe dans l'url par &p= Soit un id_auteur est passe en parametre #FORMULAIRE_MOT_DE_PASSE{#ID_AUTEUR} Dans les deux cas on verifie que l'auteur est autorise

Parameters
$id_auteur : int = null
$jeton : mixed = null
Return values
array<string|int, mixed>

formulaires_mot_de_passe_verifier_dist()

Verification de la saisie du mot de passe.

formulaires_mot_de_passe_verifier_dist([int $id_auteur = null ][, mixed $jeton = null ]) : mixed

On verifie qu'un mot de passe est saisi, et que sa longuer est suffisante Ce serait le lieu pour verifier sa qualite (caracteres speciaux ...)

Parameters
$id_auteur : int = null
$jeton : mixed = null

formulaires_mot_de_passe_traiter_dist()

Modification du mot de passe d'un auteur.

formulaires_mot_de_passe_traiter_dist([int $id_auteur = null ][, mixed $jeton = null ]) : mixed

Utilise le cookie d'oubli fourni en url ou l'argument du formulaire pour identifier l'auteur

Parameters
$id_auteur : int = null
$jeton : mixed = null

formulaires_oubli_charger_dist()

formulaires_oubli_charger_dist() : mixed

message_oubli()

message_oubli(mixed $email, mixed $param) : mixed
Parameters
$email : mixed
$param : mixed

formulaires_oubli_traiter_dist()

formulaires_oubli_traiter_dist() : mixed

test_oubli_dist()

test_oubli_dist(mixed $email) : mixed
Parameters
$email : mixed

formulaires_oubli_verifier_dist()

formulaires_oubli_verifier_dist() : mixed

formulaires_oubli_mail()

formulaires_oubli_mail(mixed $email) : mixed
Parameters
$email : mixed

formulaires_rediriger_article_charger_dist()

formulaires_rediriger_article_charger_dist(mixed $id_article[, mixed $retour = '' ]) : mixed
Parameters
$id_article : mixed
$retour : mixed = ''

formulaires_rediriger_article_verifier_dist()

formulaires_rediriger_article_verifier_dist(mixed $id_article[, mixed $retour = '' ]) : mixed
Parameters
$id_article : mixed
$retour : mixed = ''

formulaires_rediriger_article_traiter_dist()

formulaires_rediriger_article_traiter_dist(mixed $id_article[, mixed $retour = '' ]) : mixed
Parameters
$id_article : mixed
$retour : mixed = ''

informer_auteur()

Retrouve pour le formulaire de login les informations d'un login qui permettront de crypter le mot de passe saisi

informer_auteur(string $bof) : string

Si le login n'est pas trouvé, retourne de fausses informations, sauf si la constante _AUTORISER_AUTH_FAIBLE est déclarée à true.

Parameters
$bof : string

Date de la demande

Tags
note

Le parametre var_login n'est pas dans le contexte pour optimiser le cache il faut aller le chercher à la main

uses
auth_informer_login()
Return values
string

JSON des différentes informations

defaut_tri_par()

defaut_tri_par(mixed $par, mixed $defaut) : mixed
Parameters
$par : mixed
$defaut : mixed

lister_traductions()

lister_traductions(mixed $id_trad, mixed $objet) : mixed
Parameters
$id_trad : mixed
$objet : mixed

job_queue_display_call()

Prévisu d'un appel à une fonction avec ses arguments

job_queue_display_call(string $function, string $args) : string
Parameters
$function : string
$args : string
Return values
string

inclure_liste_recherche_par_id()

inclure_liste_recherche_par_id(mixed $table, mixed $id, mixed $statut, mixed $env) : mixed
Parameters
$table : mixed
$id : mixed
$statut : mixed
$env : mixed

spip_generer_variables_css_typo()

Génère les variables CSS relatif à la typo et langue pour l'espace privé

spip_generer_variables_css_typo(array<string|int, mixed> $Pile) : Collection
Parameters
$Pile : array<string|int, mixed>
Return values
Collection

spip_generer_variables_css_couleurs_theme()

Génère les variables CSS d'un thème de couleur pour l'espace privé

spip_generer_variables_css_couleurs_theme(string $couleur) : Collection
Parameters
$couleur : string

Couleur hex

Return values
Collection

spip_generer_variables_css_couleurs()

Génère les variables CSS de couleurs, dont celles dépendantes des couleurs du thème actif.

spip_generer_variables_css_couleurs() : Collection
Return values
Collection

        
On this page

Search results