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 `&`
- 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 `&eacute;` en `é`
- proteger_amp() : string
- Échappe les `&` en `&`
- 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 < 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
_ACCESS_FILE_NAME
public
mixed
_ACCESS_FILE_NAME
= '.htaccess'
_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'])
_AJAX
public
mixed
_AJAX
= false
_AUTH_USER_FILE
public
mixed
_AUTH_USER_FILE
= '.htpasswd'
_AUTO_SELECTION_RUBRIQUE
public
mixed
_AUTO_SELECTION_RUBRIQUE
= \false
_CACHE_CHEMIN
public
mixed
_CACHE_CHEMIN
= _DIR_CACHE . 'chemin.txt'
_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_PIPELINES
public
mixed
_CACHE_PIPELINES
= _DIR_CACHE . 'charger_pipelines.php'
_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
_COPIE_LOCALE_MAX_SIZE
public
mixed
_COPIE_LOCALE_MAX_SIZE
= 33554432
_DATA_SOURCE_MAX_SIZE
public
mixed
_DATA_SOURCE_MAX_SIZE
= 2 * 1048576
_DEBUG_BLOCK_QUEUE
public
mixed
_DEBUG_BLOCK_QUEUE
= true
_debut_urls_page
public
mixed
_debut_urls_page
= \get_spip_script('./') . '?'
_DECLARER_ADRESSE_DB
public
mixed
_DECLARER_ADRESSE_DB
= $adresse_db
_DECLARER_CHOIX_DB
public
mixed
_DECLARER_CHOIX_DB
= $choix_db
_DECLARER_LOGIN_DB
public
mixed
_DECLARER_LOGIN_DB
= $login_db
_DECLARER_NOM_CONNECT
public
mixed
_DECLARER_NOM_CONNECT
= $nom_connect
_DECLARER_PASS_DB
public
mixed
_DECLARER_PASS_DB
= $pass_db
_DECLARER_SERVEUR_DB
public
mixed
_DECLARER_SERVEUR_DB
= $serveur_db
_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_AIDE
public
mixed
_DIR_AIDE
= _DIR_CACHE . 'aide/'
_DIR_CACHE
public
mixed
_DIR_CACHE
= $ti . 'cache/'
_DIR_CACHE_XML
public
mixed
_DIR_CACHE_XML
= _DIR_CACHE . 'xml/'
_DIR_CHMOD
public
mixed
_DIR_CHMOD
= $pi
_DIR_CONNECT
public
mixed
_DIR_CONNECT
= $pi
_DIR_DB
public
mixed
_DIR_DB
= _DIR_ETC . 'bases/'
_DIR_DUMP
public
mixed
_DIR_DUMP
= $ti . 'dump/'
_DIR_ETC
public
mixed
_DIR_ETC
= $pi
_DIR_IMG
public
mixed
_DIR_IMG
= $pa
_DIR_IMG_ICONES
public
mixed
_DIR_IMG_ICONES
= _DIR_LOGOS . 'icones/'
_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_LIB
public
mixed
_DIR_LIB
= _DIR_RACINE . 'lib/'
_DIR_LOG
public
mixed
_DIR_LOG
= _DIR_TMP . 'log/'
_DIR_LOGOS
public
mixed
_DIR_LOGOS
= $pa
_DIR_PLUGINS
public
mixed
_DIR_PLUGINS
= _DIR_RACINE . 'plugins/'
_DIR_PLUGINS_DIST
public
mixed
_DIR_PLUGINS_DIST
= _DIR_RACINE . 'plugins-dist/'
_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/'
_DIR_SESSIONS
public
mixed
_DIR_SESSIONS
= $ti . 'sessions/'
_DIR_SKELS
public
mixed
_DIR_SKELS
= _DIR_CACHE . 'skel/'
_DIR_TMP
public
mixed
_DIR_TMP
= $ti
_DIR_TRANSFERT
public
mixed
_DIR_TRANSFERT
= $ti . 'upload/'
_DIR_VAR
public
mixed
_DIR_VAR
= $ta
_DIR_VENDOR
public
mixed
_DIR_VENDOR
= _DIR_RACINE . 'vendor/'
_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
_DUREE_COOKIE_ADMIN
public
mixed
_DUREE_COOKIE_ADMIN
= 14 * 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
_ECRIRE_INSTALL
public
mixed
_ECRIRE_INSTALL
= 1
_EXTENSION_SQUELETTES
public
mixed
_EXTENSION_SQUELETTES
= 'html'
_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_INS
public
mixed
_FILE_CHMOD_INS
= 'chmod'
_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_INS
public
mixed
_FILE_CONNECT_INS
= 'connect'
_FILE_CONNECT_TMP
public
mixed
_FILE_CONNECT_TMP
= _DIR_CONNECT . _FILE_CONNECT_INS . _FILE_TMP_SUFFIX
_FILE_LDAP
public
mixed
_FILE_LDAP
= 'ldap.php'
_FILE_LOG
public
mixed
_FILE_LOG
= 'spip'
_FILE_LOG_SUFFIX
public
mixed
_FILE_LOG_SUFFIX
= '.log'
_FILE_META
public
mixed
_FILE_META
= $ti . 'meta_cache.php'
_FILE_OPTIONS
public
mixed
_FILE_OPTIONS
= ''
_FILE_TMP_SUFFIX
public
mixed
_FILE_TMP_SUFFIX
= '.tmp.php'
_HEADER_COMPOSED_BY
public
mixed
_HEADER_COMPOSED_BY
= 'Composed-By: SPIP'
_HEADER_VARY
public
mixed
_HEADER_VARY
= 'Vary: Cookie, Accept-Encoding'
_IMG_ADMIN_MAX_WIDTH
public
mixed
_IMG_ADMIN_MAX_WIDTH
= 768
_IMG_CONVERT_QUALITE
public
mixed
_IMG_CONVERT_QUALITE
= _IMG_QUALITE
_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
_IMG_GD_QUALITE
public
mixed
_IMG_GD_QUALITE
= _IMG_QUALITE
_IMG_IMAGICK_QUALITE
public
mixed
_IMG_IMAGICK_QUALITE
= 75
_IMG_QUALITE
public
mixed
_IMG_QUALITE
= 85
_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'
_LANGUE_PAR_DEFAUT
public
mixed
_LANGUE_PAR_DEFAUT
= 'fr'
_LOG_ALERTE_ROUGE
public
mixed
_LOG_ALERTE_ROUGE
= 1
Tags
_LOG_AVERTISSEMENT
public
mixed
_LOG_AVERTISSEMENT
= 4
Tags
_LOG_CRITIQUE
public
mixed
_LOG_CRITIQUE
= 2
Tags
_LOG_DEBUG
public
mixed
_LOG_DEBUG
= 7
Tags
_LOG_ERREUR
public
mixed
_LOG_ERREUR
= 3
Tags
_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
_LOG_INFO
public
mixed
_LOG_INFO
= 6
Tags
_LOG_INFO_IMPORTANTE
public
mixed
_LOG_INFO_IMPORTANTE
= 5
Tags
_LOGIN_TROP_COURT
public
mixed
_LOGIN_TROP_COURT
= 4
_LOGIN_TROP_COURT
public
mixed
_LOGIN_TROP_COURT
= 4
_MAX_LOG
public
mixed
_MAX_LOG
= 100
_MESSAGE_DOCTYPE
public
mixed
_MESSAGE_DOCTYPE
= '<!-- SPIP CORRIGE -->'
_NOM_CONFIG
public
mixed
_NOM_CONFIG
= 'mes_options'
_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/'
_OS_SERVEUR
public
mixed
_OS_SERVEUR
= ''
_OUTILS_DEVELOPPEURS
Activer des outils pour développeurs ?
public
mixed
_OUTILS_DEVELOPPEURS
= \false
_PASS_LONGUEUR_MINI
public
mixed
_PASS_LONGUEUR_MINI
= 6
_PASS_LONGUEUR_MINI
public
mixed
_PASS_LONGUEUR_MINI
= 6
_PHP_MAX
public
mixed
_PHP_MAX
= '8.4.99'
_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'
_PROTOCOLES_STD
public
mixed
_PROTOCOLES_STD
= 'http|https|ftp|mailto|webcal'
_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'
_RENOUVELLE_ALEA
public
mixed
_RENOUVELLE_ALEA
= 12 * 3600
_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
= ''
_SET_HTML_BASE
public
mixed
_SET_HTML_BASE
= true
_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_CHMOD
public
mixed
_SPIP_CHMOD
= 0777
_SPIP_DUMP
public
mixed
_SPIP_DUMP
= 'dump@nom_site@@stamp@.xml'
_SPIP_ECRIRE_SCRIPT
public
mixed
_SPIP_ECRIRE_SCRIPT
= ''
_SPIP_EXTRA_VERSION
public
mixed
_SPIP_EXTRA_VERSION
= '-dev'
_SPIP_LOCK_MODE
public
mixed
_SPIP_LOCK_MODE
= 1
_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'
_SPIP_VERSION_ID
public
mixed
_SPIP_VERSION_ID
= 50000
_SQLITE_CHMOD
public
mixed
_SQLITE_CHMOD
= _SPIP_CHMOD
_SQLITE_RE_SHOW_TABLE
public
mixed
_SQLITE_RE_SHOW_TABLE
= '/^[^(),]*\\(((?:[^()]*\\((?:[^()]*\\([^()]*\\))?[^()]*\\)[^()]*)*[^()]*)\\)[^()]*$/'
_SUB_REGEXP_SYMBOL
public
mixed
_SUB_REGEXP_SYMBOL
= '[\\w_:.-]'
_TAGS_NOM_AUTEUR
public
mixed
_TAGS_NOM_AUTEUR
= ''
_terminaison_urls_page
public
mixed
_terminaison_urls_page
= ''
_TEST_DIRS
public
mixed
_TEST_DIRS
= '1'
_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
= "!':;?~%-"
_VAR_IMAGES
public
mixed
_VAR_IMAGES
= true
_VAR_INCLURE
public
mixed
_VAR_INCLURE
= true
_VAR_MODE
Indique le mode de calcul ou d'affichage de la page.
public
mixed
_VAR_MODE
= false
Tags
_VAR_NOCACHE
public
mixed
_VAR_NOCACHE
= true
_VAR_PREVIEW
public
mixed
_VAR_PREVIEW
= true
_VAR_URLS
public
mixed
_VAR_URLS
= true
_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_POLYGLOTTE
public
mixed
BALISE_POLYGLOTTE
= ',<multi>(.*)</multi>,Uims'
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
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
stringbase_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
Return values
stringbase_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
stringbase_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
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
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
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
boolbase_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
intarray_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
boolobjet_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
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.
autoriser_sans_cookie()
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
boolverifier_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|falsespip_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
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
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
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
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
action_cron()
Action qui déclenche une tache de fond
action_cron() : mixed
Tags
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
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 uncharger_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
- si
- $time : int = 0
-
Facultatif,
0
par défaut : indique la date sous forme de timestamp à laquelle la tâche doit être programmée. Si0
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
booljob_queue_link()
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
- si
Tags
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
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
boolinclude_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
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
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
stringtrouve_modele()
Trouve un squelette dans le repertoire modeles/
trouve_modele( $nom) : string
Parameters
Return values
stringtrouver_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>|stringaider()
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 deprive/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
Return values
LoggerInterfacespip_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
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
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
AggregatorInterfacespip_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
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
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
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
Return values
string|bool —- string : chemin du fichier trouvé
- false : fichier introuvable
clear_path_cache()
clear_path_cache() : mixed
load_path_cache()
load_path_cache() : mixed
save_path_cache()
save_path_cache() : mixed
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
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
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
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|stringspip_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
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 `&`
quote_amp(string $u) : string
Parameters
- $u : string
Tags
Return values
stringtester_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
boolparametre_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 = '&' ]) : 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 = '&'
-
Séparateur entre les paramètres
Tags
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
Return values
stringnettoyer_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
stringnettoyer_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
Return values
stringself()
Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles
self([string $amp = '&' ][, bool $root = false ]) : string
Parameters
- $amp : string = '&'
-
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
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
stringgenerer_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
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
stringgenerer_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
stringgenerer_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
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
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
stringgenerer_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&
- $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
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
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&
- $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
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
booljoli_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
stringspip_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
Return values
float|int|string|voidspip_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
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
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>|boolavertir_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
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
stringinc_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
Return values
array<string|int, mixed>barre_onglets()
Création de la barre d'onglets
barre_onglets(string $rubrique, string $ongletCourant[, string $class = 'barre_onglet' ]) : string
Parameters
- $rubrique : string
- $ongletCourant : string
- $class : string = 'barre_onglet'
Tags
Return values
stringcvtmulti_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>|falsecvtmulti_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
Return values
bool|stringvalider_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>|stringrecuperer_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
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
Return values
array<string|int, mixed>|bool|mixedrecuperer_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
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
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
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
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
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
stringdistant_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|stringneed_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
stringinit_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
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
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
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
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
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
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
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
Return values
stringversion_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
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
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
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
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
stringfiltre_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
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
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
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
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 &
qui devient &amp;
dans les URL
Parameters
- $texte : string
Tags
Return values
stringcorriger_toutes_entites_html()
Échappement des entités HTML avec correction des entités « brutes » ainsi que les `&eacute;` en `é`
corriger_toutes_entites_html(string $texte) : string
Identique à corriger_entites_html()
en corrigeant aussi les
&eacute;
en é
Parameters
- $texte : string
Tags
Return values
stringproteger_amp()
Échappe les `&` en `&`
proteger_amp(string $texte) : string
Parameters
- $texte : string
Return values
stringentites_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
&xx;
en&xx;
- $quote : bool = true
-
Échapper aussi les simples quotes en
'
Tags
Return values
mixed|stringfiltrer_entites()
Convertit les caractères spéciaux HTML dans le charset du site.
filtrer_entites(string $texte) : string
Parameters
- $texte : string
-
texte à convertir
Tags
Return values
string —texte converti
filtre_filtrer_entites_dist()
Version sécurisée de filtrer_entites
filtre_filtrer_entites_dist(string $t) : string
Parameters
- $t : string
Tags
Return values
stringsupprimer_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
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
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
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
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
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
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
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
Return values
string —texte converti
textebrut()
Convertit un texte HTML en texte brut
textebrut(string $texte) : string
Enlève les tags d'un code HTML, élimine les doubles espaces.
Parameters
- $texte : string
-
texte à convertir
Tags
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
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
stringPtoBR()
Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`
PtoBR(string $texte) : string
Parameters
- $texte : string
-
texte à transformer
Tags
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
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) ouSI
.
Tags
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
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://
oumailto:
(sans rien d'autre) - échappe les entités et gère les
&
Parameters
- $url : string
-
URL à vérifier et échapper
- $entites : bool = true
-
true
pour échapper les entités HTML.
Tags
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
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
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
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
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
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
Return values
stringpost_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
Return values
stringextraire_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
Return values
stringextraire_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
Return values
stringfiltre_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
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
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
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
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
stringajouter_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
stringsupprimer_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
stringcommuter_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
stringtester_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
stringfloatstr()
floatstr(mixed $a) : mixed
Parameters
- $a : mixed
strize()
strize(mixed $f, mixed $a, mixed $b) : mixed
Parameters
- $f : mixed
- $a : mixed
- $b : mixed
plus()
Additionne 2 nombres
plus(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a+$b
strplus()
strplus(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
moins()
Soustrait 2 nombres
moins(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a-$b
strmoins()
strmoins(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
mult()
Multiplie 2 nombres
mult(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a*$b
strmult()
strmult(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
div()
Divise 2 nombres
div(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a/$b (ou 0 si $b est nul)
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
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
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
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
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
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
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
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
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
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
comme3*2
Tags
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
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
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
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
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
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
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
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 :
- regarde si une CSS inversée droite-gauche existe dans le meme répertoire
- 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
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
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
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
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
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
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
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
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
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/
- si true, considère que c'est un fichier js à chercher
Tags
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
stringhttp_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
stringhttp_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
stringhelper_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
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
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
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
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
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
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
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
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
Return values
stringurl_rss_forum()
retourne une URL de suivi rss d'un forum (aucune action ici)
url_rss_forum(string $texte) : string
Parameters
- $texte : string
Tags
Return values
stringlien_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 formeonclick='...'
Tags
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
stringicone_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
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
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
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
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
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
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
stringgenerer_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
Return values
stringgenerer_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
Return values
stringappliquer_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
stringgenerer_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
stringwrap()
Englobe (Wrap) un texte avec des balises
wrap(string $texte, string $wrap) : string
Parameters
- $texte : string
- $wrap : string
Tags
Return values
stringfiltre_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|stringobjet_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
stringobjet_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
stringinsert_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
Return values
stringtimestamp()
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
stringfiltre_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
Return values
stringfiltre_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
Return values
stringsinon_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
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
stringspip_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
stringidentifiant_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
stringlabel_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
Return values
stringlabel_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
Return values
stringhelper_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
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
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
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
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
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
Return values
intqueue_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
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
stringinc_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
inc_journal_dist()
inc_journal_dist(mixed $phrase[, mixed $opt = [] ]) : mixed
Parameters
- $phrase : mixed
- $opt : mixed = []
Tags
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 = ''
fin_block()
fin_block() : 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
Return values
stringexpanser_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
Return values
stringcalculer_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|stringtyper_raccourci()
typer_raccourci(mixed $lien) : mixed
Parameters
- $lien : mixed
Tags
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
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
&
en&
dans les expressions mathématiques.
Tags
Return values
stringinstall_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
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
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
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
stringinc_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
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
stringenfant_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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
stringtraiter_listes()
Traitement des listes
traiter_listes(string $texte) : string
Ne fais rien. Voir Plugin Textwheel. (merci a Michael Parienti)
Parameters
- $texte : string
Return values
stringtraiter_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
Return values
stringechappe_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
stringinterdire_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
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
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
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
stringtraiter_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
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
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
stringcode_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
Return values
stringtraiter_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
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
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
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
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
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 < 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
Return values
stringsafehtml()
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
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
boolsupprime_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
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
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
ouecrire
- $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
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
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
oumots: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
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
Descriptioninstall_etape__dist()
Affiche l'étape 0 d'installation : écran d'accueil.
install_etape__dist() : mixed
Tags
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
install_etape_2_dist()
install_etape_2_dist() : mixed
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_propose_ldap()
install_propose_ldap() : mixed
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
install_etape_3_dist()
install_etape_3_dist() : mixed
install_etape_3b_dist()
install_etape_3b_dist() : mixed
echouer_etape_3b()
echouer_etape_3b(mixed $echec) : never
Parameters
- $echec : mixed
Return values
neverinstall_etape_4_dist()
install_etape_4_dist() : mixed
test_ecrire()
test_ecrire(mixed $my_dir) : mixed
Parameters
- $my_dir : mixed
install_etape_chmod_dist()
install_etape_chmod_dist() : mixed
install_etape_fin_dist()
install_etape_fin_dist() : mixed
install_verifier_htaccess()
install_verifier_htaccess() : mixed
install_etape_ldap1_dist()
install_etape_ldap1_dist() : mixed
install_etape_ldap2_dist()
install_etape_ldap2_dist() : mixed
install_etape_ldap3_dist()
install_etape_ldap3_dist() : mixed
install_etape_ldap4_dist()
install_etape_ldap4_dist() : mixed
liste_statuts_ldap()
liste_statuts_ldap() : mixed
install_ldap_correspondances()
install_ldap_correspondances() : mixed
install_etape_ldap5_dist()
install_etape_ldap5_dist() : mixed
etape_ldap5_save()
etape_ldap5_save() : mixed
etape_ldap5_suite()
etape_ldap5_suite() : 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>|boolinc_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>|boolinc_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>|boolinc_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>|boolinc_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>|boolinc_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>|boolinc_yaml_to_array_dist()
YAML -> tableau
inc_yaml_to_array_dist(string $data) : bool|array<string|int, mixed>
Parameters
- $data : string
Tags
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>|boolinc_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>|boolXMLObjectToArray()
Object -> tableau
XMLObjectToArray(object $object) : array<string|int, mixed>|bool
Parameters
- $object : object
Return values
array<string|int, mixed>|booliterateur_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
stringaffiche_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
chemin_plug()
chemin_plug(mixed $racine, mixed $plug) : mixed
Parameters
- $racine : mixed
- $plug : 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
info_paquet_copyright()
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
stringtraiter_appels_actions()
traiter_appels_actions() : mixed
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
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
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
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
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
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
Return values
Champ —Pile complétée par le code à générer
balise_LANG_RIGHT_dist()
Compile la balise `#LANG_RIGHT` retournant 'right' si la langue s'écrit de gauche à droite, sinon 'left'
balise_LANG_RIGHT_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
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
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
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
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_DATE_REDAC_dist()
Compile la balise `#DATE_REDAC` qui retourne la date de première publication
balise_DATE_REDAC_dist(Champ $p) : Champ
Cette balise retourne le champ date_redac
d'une table
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_DATE_MODIF_dist()
Compile la balise `#DATE_MODIF` qui retourne la date de dernière modification
balise_DATE_MODIF_dist(Champ $p) : Champ
Cette balise retourne le champ date_modif
d'une table
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_DATE_NOUVEAUTES_dist()
Compile la balise `#DATE_NOUVEAUTES` indiquant la date de dernier envoi du mail de nouveautés
balise_DATE_NOUVEAUTES_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
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
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
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
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
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
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
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
Return values
Champ|null —Pile complétée par le code à générer
balise_TOTAL_BOUCLE_dist()
Compile la balise `#TOTAL_BOUCLE` qui retourne le nombre de résultats affichés par la boucle
balise_TOTAL_BOUCLE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —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
Return values
Champ —Pile complétée par le code à générer
balise_POPULARITE_ABSOLUE_dist()
Compile la balise `#POPULARITE_ABSOLUE` qui affiche la popularité absolue
balise_POPULARITE_ABSOLUE_dist(Champ $p) : Champ
Cela correspond à la popularité quotidienne de l'article
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_POPULARITE_SITE_dist()
Compile la balise `#POPULARITE_SITE` qui affiche la popularité du site
balise_POPULARITE_SITE_dist(Champ $p) : Champ
La popularité du site est la somme de toutes les popularités absolues.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
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
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
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
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
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
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
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 coupleobjet
etid_objet
dans son environnement.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 commearray(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
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
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
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
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
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
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
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
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
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
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 filtreajouter_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
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
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
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
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
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
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
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
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
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
stringecrire_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
boollire_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
stringgzip_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|voidargumenter_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
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
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
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
Return values
array<string|int, mixed>|falsecompile_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
stringcompile_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|stringcompile_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
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
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
Tags
Return values
stringexecuter_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
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>|nulllang_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
nullnettoyer_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
calculer_select()
calculer_select(mixed ...$args) : mixed
Parameters
- $args : mixed
Tags
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
intcalculer_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
stringcalculer_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
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
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
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_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_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
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
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
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_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
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
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
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
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
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
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
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
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
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
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
Return values
array<string|int, mixed>|stringcritere_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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Return values
boolliste_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
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
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
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
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
Return values
stringphraser_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
stringtester_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
Return values
array<string|int, mixed>|boolpublic_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
Return values
array<string|int, mixed>|boolphraser_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
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
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
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
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
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
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
intpublic_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>|nullpublic_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
stringpublic_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
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
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
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
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
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
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
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
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
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
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
applique_filtres()
applique_filtres(mixed $p) : mixed
Parameters
- $p : mixed
Tags
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_start()
trace_query_start() : mixed
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
spip_versions_sqlite3()
spip_versions_sqlite3() : 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
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
_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_dayofmonth()
Mapping de `DAYOFMONTH` pour SQLite
_sqlite_func_dayofmonth(string $d) : string
Parameters
- $d : string
Tags
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_month()
Mapping de `MONTH` pour SQLite
_sqlite_func_month(string $d) : string
Parameters
- $d : string
Tags
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
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_to_days()
Mapping de `DAYS` pour SQLite
_sqlite_func_to_days(string $d) : int
Nombre de jour entre 0000-00-00 et $d
Parameters
- $d : string
Tags
Return values
int_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_timestampdiff()
Mapping de `TIMESTAMPDIFF` pour SQLite
_sqlite_timestampdiff(string $unit, string $date1, string $date2) : int
Calcul de la difference entre 2 timestamp, exprimes dans l'unite fournie en premier argument
Parameters
- $unit : string
- $date1 : string
- $date2 : string
Tags
Return values
int_sqlite_func_unix_timestamp()
Mapping de `UNIX_TIMESTAMP` pour SQLite
_sqlite_func_unix_timestamp(string $d) : int
Parameters
- $d : string
Return values
int_sqlite_func_year()
Mapping de `YEAR` pour SQLite
_sqlite_func_year(string $d) : string
Parameters
- $d : string
Tags
Return values
string_sqlite_func_date()
Version optimisée et memoizée de date() utilisé pour certains mapping SQLite
_sqlite_func_date(string $quoi, int $d) : string
Parameters
- $quoi : string
-
format : Y, m, ou d
- $d : int
-
timestamp
Tags
Return values
string_sqlite_func_vide()
Mapping de `VIDE()` de SPIP pour SQLite
_sqlite_func_vide() : void
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>|boolspip_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
Return values
PDOspip_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
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
Return values
string —Erreur eventuelle
_sqlite_last_error_from_link()
_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
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
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_init()
Initialise la première connexion à un serveur SQLite
_sqlite_init() : void
_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
Return values
bool|int_sqlite_link()
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
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()
- Créer une table B avec le nouveau format souhaité
- Copier la table d'origine A vers B
- Supprimer la table A
- Renommer la table B en A
- 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
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>|booltypographie_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
stringurls_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
compilerRegle()
compilerRegle(mixed $val) : mixed
Parameters
- $val : 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
stringxml_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
boolformulaires_configurer_annonces_charger_dist()
formulaires_configurer_annonces_charger_dist() : mixed
formulaires_configurer_annonces_verifier_dist()
formulaires_configurer_annonces_verifier_dist() : mixed
formulaires_configurer_annonces_traiter_dist()
formulaires_configurer_annonces_traiter_dist() : mixed
formulaires_configurer_articles_charger_dist()
formulaires_configurer_articles_charger_dist() : mixed
formulaires_configurer_articles_traiter_dist()
formulaires_configurer_articles_traiter_dist() : mixed
formulaires_configurer_avertisseur_charger_dist()
formulaires_configurer_avertisseur_charger_dist() : mixed
formulaires_configurer_avertisseur_traiter_dist()
formulaires_configurer_avertisseur_traiter_dist() : mixed
formulaires_configurer_ecran_connexion_data()
formulaires_configurer_ecran_connexion_data() : array<string|int, mixed>
Return values
array<string|int, mixed>formulaires_configurer_ecran_connexion_charger_dist()
formulaires_configurer_ecran_connexion_charger_dist() : mixed
formulaires_configurer_ecran_connexion_verifier_dist()
formulaires_configurer_ecran_connexion_verifier_dist() : mixed
formulaires_configurer_ecran_connexion_traiter_dist()
formulaires_configurer_ecran_connexion_traiter_dist() : mixed
formulaires_configurer_flux_charger_dist()
formulaires_configurer_flux_charger_dist() : mixed
formulaires_configurer_flux_traiter_dist()
formulaires_configurer_flux_traiter_dist() : mixed
formulaires_configurer_identite_charger_dist()
formulaires_configurer_identite_charger_dist() : mixed
formulaires_configurer_identite_verifier_dist()
formulaires_configurer_identite_verifier_dist() : mixed
formulaires_configurer_identite_traiter_dist()
formulaires_configurer_identite_traiter_dist() : mixed
formulaires_configurer_langage_charger_dist()
formulaires_configurer_langage_charger_dist() : mixed
formulaires_configurer_langage_traiter_dist()
formulaires_configurer_langage_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_langue_charger_dist()
formulaires_configurer_langue_charger_dist() : mixed
formulaires_configurer_langue_traiter_dist()
formulaires_configurer_langue_traiter_dist() : mixed
formulaires_configurer_logos_charger_dist()
formulaires_configurer_logos_charger_dist() : mixed
formulaires_configurer_logos_traiter_dist()
formulaires_configurer_logos_traiter_dist() : mixed
formulaires_configurer_multilinguisme_charger_dist()
formulaires_configurer_multilinguisme_charger_dist() : mixed
formulaires_configurer_multilinguisme_traiter_dist()
formulaires_configurer_multilinguisme_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
stringtable_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
stringsaisie_langues_utiles()
saisie_langues_utiles(mixed $name, mixed $selection) : mixed
Parameters
- $name : mixed
- $selection : mixed
formulaires_configurer_previsualiseur_charger_dist()
formulaires_configurer_previsualiseur_charger_dist() : mixed
formulaires_configurer_previsualiseur_traiter_dist()
formulaires_configurer_previsualiseur_traiter_dist() : mixed
formulaires_configurer_redacteurs_charger_dist()
formulaires_configurer_redacteurs_charger_dist() : mixed
formulaires_configurer_redacteurs_traiter_dist()
formulaires_configurer_redacteurs_traiter_dist() : mixed
formulaires_configurer_relayeur_charger_dist()
formulaires_configurer_relayeur_charger_dist() : mixed
formulaires_configurer_relayeur_verifier_dist()
formulaires_configurer_relayeur_verifier_dist() : mixed
formulaires_configurer_relayeur_traiter_dist()
formulaires_configurer_relayeur_traiter_dist() : mixed
relayeur_saisie_ou_config()
relayeur_saisie_ou_config(mixed $http_proxy, mixed $default) : mixed
Parameters
- $http_proxy : mixed
- $default : mixed
glue_url()
glue_url(mixed $url) : mixed
Parameters
- $url : mixed
no_password_proxy_url()
no_password_proxy_url(mixed $http_proxy) : mixed
Parameters
- $http_proxy : mixed
formulaires_configurer_rubriques_charger_dist()
formulaires_configurer_rubriques_charger_dist() : mixed
formulaires_configurer_rubriques_traiter_dist()
formulaires_configurer_rubriques_traiter_dist() : mixed
formulaires_configurer_transcodeur_charger_dist()
formulaires_configurer_transcodeur_charger_dist() : mixed
formulaires_configurer_transcodeur_verifier_dist()
formulaires_configurer_transcodeur_verifier_dist() : mixed
formulaires_configurer_transcodeur_traiter_dist()
formulaires_configurer_transcodeur_traiter_dist() : mixed
formulaires_configurer_visiteurs_charger_dist()
formulaires_configurer_visiteurs_charger_dist() : mixed
formulaires_configurer_visiteurs_traiter_dist()
formulaires_configurer_visiteurs_traiter_dist() : mixed
formulaires_declarer_bases_charger_dist()
formulaires_declarer_bases_charger_dist() : mixed
liste_serveurs()
liste_serveurs() : mixed
liste_bases()
liste_bases(mixed $server_db) : mixed
Parameters
- $server_db : 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>|falseformulaires_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
Return values
string —JSON des différentes informations
defaut_tri_defined()
defaut_tri_defined(mixed $defaut) : mixed
Parameters
- $defaut : mixed
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_block_and_watch()
job_queue_block_and_watch() : 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
stringinclure_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
Collectionspip_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
Collectionspip_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
Collectiontrier_rss()
trier_rss(mixed $texte) : mixed
Parameters
- $texte : mixed