Documentation du code de SPIP et de ses plugins

SPIP

Documentation

Table of Contents

Packages

Application
SPIP

Namespaces

Spip

Classes

phpthumb_functions
Produire des fichiers au format .ico
IndenteurXML
DTC
Document Type Compilation
ValidateurXML
Validateur XML en deux passes, fondé sur SAX pour la première

Constants

_ACCESS_FILE_NAME  = '.htaccess'
_ACTIVER_PUCE_RAPIDE  = \true
Activer le changement rapide de statut sur les listes d'objets ?
_AGE_CACHE_ATIME  = 3600
_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
_AUTEURS_DELAI_REJET_NOUVEAU  = 45 * 24 * 3600
_AUTH_USER_FILE  = '.htpasswd'
_AUTO_SELECTION_RUBRIQUE  = \false
_AUTOSAVE_GB_DELAY  = 72 * 3600
_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'
_CONNECT_RETRY_DELAY  = 30
_CONTEXTE_IGNORE_LISTE_VARIABLES  = ['^var_', '^PHPSESSID$', '^fbclid$', '^utm_']
_COPIE_LOCALE_MAX_SIZE  = 33554432
_DATA_SOURCE_MAX_SIZE  = 2 * 1048576
_debut_urls_page  = \get_spip_script('./') . '?'
_DEFAULT_CHARSET  = 'utf-8'
Le charset par défaut lors de l'installation
_DEFAULT_LOCKTIME  = 60
_DELAI_CACHE_resultats  = 600
_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_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_AUTO  = \_DIR_PLUGINS . 'auto/'
_DIR_PLUGINS_DIST  = _DIR_RACINE . 'plugins-dist/'
_DIR_RACINE  = \_DIR_RESTREINT ? '' : '../'
Chemin relatif pour aller à la racine
_DIR_RESTREINT  = \is_dir($ecrire) ? $ecrire : ''
Chemin relatif pour aller dans ecrire vide si on est dans ecrire, 'ecrire/' sinon
_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
_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'
_ESPACE_PRIVE  = \true
Drapeau indiquant que l'on est dans l'espace privé
_EXTENSION_SQUELETTES  = 'html'
_EXTRAIRE_INTERVALLE  = ',^[\[\(\]]([0-9.a-zRC\s\-]*)[;]([0-9.a-zRC\s\-\*]*)[\]\)\[]$,'
Regexp d'extraction des informations d'un intervalle de compatibilité
_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  = '_install'
_FILE_TMP_SUFFIX  = '.tmp.php'
_HEADER_COMPOSED_BY  = 'Composed-By: SPIP'
_HEADER_VARY  = 'Vary: Cookie, Accept-Encoding'
_IMG_ADMIN_MAX_WIDTH  = 768
_IMG_GD_MAX_PIXELS  = isset($GLOBALS['meta']['max_taille_vignettes']) && $GLOBALS['meta']['max_taille_vignettes'] ? $GLOBALS['meta']['max_taille_vignettes'] : 0
_IMG_GD_QUALITE  = _IMG_QUALITE
_IMG_QUALITE  = 85
_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_MAX_JOBS_EXECUTE  = 200
_JQ_MAX_JOBS_TIME_TO_EXECUTE  = min($max_time, 15)
_JQ_NEXT_JOB_TIME_FILENAME  = _DIR_TMP . 'job_queue_next.txt'
_JQ_PENDING  = 0
_JQ_SCHEDULED  = 1
_LANGUE_PAR_DEFAUT  = 'fr'
_LIVRER_FICHIER_BASE_TEMPS_TELECHARGEMENT  = 600
_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
_MARQUEUR_POST_IMPORTMAP  = '<!--.importmap-->'
_MARQUEUR_POST_INIT  = '<!--.initjs-->'
_MAX_LOG  = 100
_MESSAGE_DOCTYPE  = '<!-- SPIP CORRIGE -->'
_META_CACHE_TIME  = 1 << 24
_MYSQL_NOPLANES  = \true
_MYSQL_RE_SHOW_TABLE  = '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
_NAME_LOCK  = 'spip_nfs_lock'
_NB_SESSIONS_MAX  = 100
_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 ?
_PAGINATION_NOMBRE_LIENS_MAX  = 10
_PAGINATION_NOMBRE_LIENS_MAX_ECRIRE  = 5
_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)
_PIPELINE_SUFFIX  = \test_espace_prive() ? '_prive' : ''
_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_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  = \SpipLeague\Component\Kernel\app()->getCoreDir()
chemin absolu vers ecrire
_separateur_urls_page  = ''
_SERVEUR_SIGNATURE_ACCEPTE_LOCATION_APRES_COOKIE  = 'Apache|Cherokee|nginx'
_SERVEUR_SOFTWARE_ACCEPTE_LOCATION_APRES_COOKIE  = '^(Apache|Cherokee|nginx)'
_SESSION_REJOUER  = true
_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_attend_invalidation_opcode_cache  = true
_SPIP_CHMOD  = 0777
_SPIP_DUMP  = 'dump@nom_site@@stamp@.xml'
_SPIP_ECRIRE_SCRIPT  = ''
_SPIP_EXTRA_VERSION  = '-beta'
_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_SELECT_RUBRIQUES  = 20
_SPIP_THEME_PRIVE  = 'spip'
_SPIP_VERSION_ID  = 50000
_SPIP_XML_TAG_SPLIT  = '{<([^:>][^>]*?)>}sS'
_SQL_PREFIXE_TABLE_MYSQL  = '/([,\s])spip_/S'
Changer les noms des tables ($table_prefix)
_SQLITE_CHMOD  = _SPIP_CHMOD
_SQLITE_RE_SHOW_TABLE  = '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
_SUB_REGEXP_SYMBOL  = '[\w_:.-]'
_SVG_SUPPORTED  = \true
_TAGS_NOM_AUTEUR  = ''
_terminaison_urls_page  = ''
_TEST_DIRS  = '1'
_TEST_FILE_EXISTS  = \preg_match(',(online|free)[.]fr$,', $_ENV['HTTP_HOST'] ?? '')
Permettre d'éviter des tests file_exists sur certains hébergeurs
_TESTER_NOSCRIPT  = "<noscript>\n<div style='display:none;'><img src='" . generer_url_ecrire('test_ajax', 'js=-1') . "' width='1' height='1' alt=''></div></noscript>\n"
_TIME_OUT  = $time + _UPGRADE_TIME_OUT
Définir le timeout qui peut-être utilisé dans les fonctions de mises à jour qui durent trop longtemps
_TRAITEMENT_RACCOURCIS  = 'propre(%s, $connect, $Pile[0])'
_TRAITEMENT_TYPO  = 'typo(%s, "TYPO", $connect, $Pile[0])'
_TRAITEMENT_TYPO_SANS_NUMERO  = 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))'
_TYPO_BALISE  = ',</?[a-z!][^<>]*[' . \preg_quote(\_TYPO_PROTEGER) . '][^<>]*>,imsS'
_TYPO_PROTECTEUR  = "\x01\x02\x03\x04\x05\x06\x07\x08"
_TYPO_PROTEGER  = "!':;?~%-"
_UPGRADE_TIME_OUT  = 20
Durée en secondes pour relancer les scripts de mises à jour, x secondes avant que la durée d'exécution du script provoque un timeout
_URL_ECRAN_SECURITE  = 'https://git.spip.net/spip-contrib-outils/securite/raw/branch/master/ecran_securite.php'
_VAR_IMAGES  = true
_VAR_INCLURE  = true
_VAR_MODE  = false
Indique le mode de calcul ou d'affichage de la page.
_VAR_NOCACHE  = true
_VAR_PREVIEW  = true
_VAR_URLS  = true
_VAR_URLS  = true
_VERSION_ARCHIVE  = '1.3'
_VERSIONS_LISTE  = 'spip_versions_list.json'
_VERSIONS_SERVEUR  = 'https://www.spip.net/spip_loader.api'
_ZCORE_EXCLURE_PATH  = '\bprive|\bsquelettes-dist' . (defined('_DIR_PLUGIN_DIST') ? '|\b' . rtrim((string) _DIR_PLUGIN_DIST, '/') : '')
AUTEURS_MIN_REDAC  = '0minirezo,1comite,5poubelle'
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>
IMAGETYPE_SVG  = 19
IMG_SVG  = 128
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_interdire_cache  = true
SPIP_SQLITE3_ASSOC  = PDO::FETCH_ASSOC
SPIP_SQLITE3_BOTH  = PDO::FETCH_BOTH
SPIP_SQLITE3_NUM  = PDO::FETCH_NUM
SQL_ABSTRACT_VERSION  = 1
Version de l'API SQL
SQL_ARGS  = '(\([^)]*\))'
Champ sql dans parenthèse ex: (id_article)
TYPE_RECURSIF  = 'boucle'
Indique un début de boucle récursive

Functions

enregistre_modif_plugin()  : mixed
Mise à jour des données si envoi via formulaire
action_activer_plugins_dist()  : mixed
Fonction d'initialisation avant l'activation des plugins
action_ajouter_lien_dist()  : mixed
Action pour lier 2 objets entre eux avec en option un qualificatif
action_annuler_job_dist()  : mixed
Annuler un travail
action_api_transmettre_dist()  : mixed
action_api_transmettre_fail()  : never
action_auth_dist()  : mixed
Retour d'authentification pour les SSO
action_calculer_taille_cache_dist()  : mixed
Calculer la taille du cache ou du cache image pour l'afficher en ajax sur la page d'admin de SPIP
calculer_taille_dossier()  : int
Calculer la taille d'un dossier, sous dossiers inclus
action_confirmer_email_dist()  : mixed
Confirmer un changement d'email
action_confirmer_inscription_dist()  : mixed
Action de confirmation d'une inscription
action_converser_dist()  : mixed
Point d'entrée pour changer de langue
action_converser_changer_langue()  : string
Cette fonction prépare le travail de changement de langue en récupérant la bonne variable de langue
action_converser_post()  : mixed
Cette fonction effectue le travail de changement de langue
action_cookie_dist()  : mixed
Cette fonction traite les cookies posés au moment de l'authentification standard ou vérifie que l'authentification HTTP est correcte
action_debloquer_edition_dist()  : mixed
Lever les blocages d'édition pour l'utilisateur courant
action_desinstaller_plugin_dist()  : mixed
Action de désinstallation d'un plugin
action_editer_article_dist()  : array<string|int, mixed>
Action d'édition d'un article dans la base de données dont l'identifiant est donné en paramètre de cette fonction ou en argument de l'action sécurisée
article_modifier()  : string|null
Modifier un article
article_inserer()  : int
Insérer un nouvel article en base de données
article_instituer()  : string
Modification des statuts d'un article
editer_article_heritage()  : void|null
Fabrique la requête de modification de l'article, avec champs hérités
trop_longs_articles()  : mixed
Réunit les textes decoupés parce que trop longs
action_editer_auteur_dist()  : array<string|int, mixed>
Éditer ou créer un auteur
auteur_inserer()  : int
Insérer un auteur en base
auteur_modifier()  : string|null
Modifier un auteur
auteur_associer()  : string
Associer un auteur à des objets listés
auteur_dissocier()  : string
Dissocier un auteur des objets listés
auteur_qualifier()  : bool|int
Qualifier le lien d'un auteur avec les objets listés
auteur_instituer()  : bool|string
Modifier le statut d'un auteur, ou son login/pass
objet_associable()  : array<string|int, mixed>|bool
Teste l'existence de la table de liaison xxx_liens d'un objet
objet_associer()  : bool|int
Associer un ou des objets à des objets listés
objet_dissocier()  : bool|int
Dissocier un (ou des) objet(s) des objets listés
objet_qualifier_liens()  : bool|int
Qualifier le lien entre un (ou des) objet(s) et des objets listés
objet_trouver_liens()  : array<string|int, mixed>
Trouver les liens entre objets
objet_optimiser_liens()  : int
Nettoyer les liens morts vers des objets qui n'existent plus
objet_dupliquer_liens()  : int
Dupliquer tous les liens entrant ou sortants d'un objet vers un autre (meme type d'objet, mais id different) si $types est fourni, seuls les liens depuis/vers les types listes seront copies si $exclure_types est fourni, les liens depuis/vers les types listes seront ignores
lien_ordonner()  : mixed
Reordonner les liens sur lesquels on est intervenus
lien_triables()  : mixed
Une table de lien est-elle triable ? elle doit disposer d'un champ rang_lien pour cela
lien_rang_where()  : array<string|int, mixed>
Fabriquer la condition where pour compter les rangs
logo_supprimer()  : mixed
Supprimer le logo d'un objet
logo_modifier()  : string
Modifier le logo d'un objet
logo_migrer_en_base()  : mixed
Migration des logos en documents.
type_du_logo()  : string
Retourne le type de logo tel que `art` depuis le nom de clé primaire de l'objet
action_editer_objet_dist()  : array<string|int, mixed>
Point d'entrée d'édition d'un objet
objet_modifier()  : mixed|string
Appelle toutes les fonctions de modification d'un objet
objet_inserer()  : bool|int
Insère en base un objet générique
objet_instituer()  : string
Modifie le statut et/ou la date d'un objet
objet_editer_heritage()  : mixed
Fabrique la requete d'institution de l'objet, avec champs herites
objet_lire()  : array<string|int, mixed>|string|int|bool
Lit un objet donné connu par son id ou par un identifiant textuel unique et renvoie tout ou partie de sa description.
action_editer_rubrique_dist()  : array<string|int, mixed>
Action d'édition d'une rubrique
rubrique_inserer()  : int
Insérer une rubrique en base
rubrique_modifier()  : bool|string
Modifier une rubrique en base
editer_rubrique_breves()  : bool
Déplace les brèves d'une rubrique dans le secteur d'un nouveau parent
rubrique_instituer()  : string
Instituer une rubrique (changer son parent)
action_etre_webmestre_dist()  : mixed
Prouver qu'on a les droits de webmestre via un ftp, et devenir webmestre sans refaire l'install
base_etre_webmestre_dist()  : mixed
Passe l'administrateur connecté en webmestre.
action_forcer_job_dist()  : mixed
Executer un travaille immediatement
action_inscrire_auteur_dist()  : array<string|int, mixed>|string
Inscrire un nouvel auteur sur la base de son nom et son email
test_inscription_dist()  : array<string|int, mixed>|string
Contrôler que le nom (qui sert à calculer le login) est plausible et que l'adresse courriel est valide.
inscription_nouveau()  : mixed|string
On enregistre le demandeur comme 'nouveau', en memorisant le statut final provisoirement dans le champ prefs, afin de ne pas visualiser les inactifs A sa premiere connexion il obtiendra son statut final.
test_login()  : string
Retourne un login valide à partir du nom et email donné
envoyer_inscription_dist()  : array<string|int, mixed>
Construction du mail envoyant les identifiants
creer_pass_pour_auteur()  : string
Creer un mot de passe initial aleatoire
tester_statut_inscription()  : string
Determine le statut d'inscription : si $statut_tmp fourni, verifie qu'il est autorise sinon determine le meilleur statut possible et le renvoie
confirmer_statut_inscription()  : array<string|int, mixed>
Un nouvel inscrit prend son statut definitif a la 1ere connexion.
auteur_attribuer_jeton()  : string
Attribuer un jeton temporaire pour un auteur en assurant l'unicite du jeton.
auteur_lire_jeton()  : string|null
Lire un jeton temporaire d’un auteur (peut le créer au besoin)
auteur_verifier_jeton()  : array<string|int, mixed>|bool
Retrouver l'auteur par son jeton
auteur_effacer_jeton()  : bool
Effacer le jeton d'un auteur apres utilisation
action_instituer_langue_objet_dist()  : string
Modifier la langue d'un objet
action_instituer_langue_rubrique_dist()  : mixed
Modifie la langue d'une rubrique
action_instituer_objet_dist()  : mixed
Instituer un objet avec les puces rapides
action_logout_dist()  : mixed
Se déloger
generer_jeton_logout()  : string
Generer un jeton de logout personnel et ephemere
verifier_jeton_logout()  : bool
Verifier que le jeton de logout est bon
action_menu_rubriques_dist()  : string
Action d'affichage en ajax du navigateur de rubrique du bandeau
menu_rubriques()  : string
Retourne une liste HTML des rubriques et rubriques enfants
bandeau_rubrique()  : string
Retourne une liste HTML des rubriques enfants d'une rubrique
extraire_article()  : array<string|int, mixed>
Obtient la liste des rubriques enfants d'une rubrique, prise dans le cache du navigateur de rubrique
gen_liste_rubriques()  : bool
Génère le cache de la liste des rubriques pour la navigation du bandeau
action_purger_dist()  : mixed
Action de purge du cache
action_purger_queue_dist()  : mixed
Purger la liste des travaux en attente
action_redirect_dist()  : mixed
Script utile pour recalculer une URL symbolique dès son changement
calculer_url_redirect_entite()  : string|null
Retourne l’URL de l’objet sur lequel on doit rediriger
action_referencer_traduction_dist()  : bool
Définir le lien de traduction vers un objet de réference
action_relancer_inscription_dist()  : mixed
Relancer une inscription
action_session_dist()  : mixed
Action pour poser une variable de session SPIP
action_supprimer_lien_dist()  : mixed
Action pour dissocier 2 objets entre eux avec en option un qualificatif
action_supprimer_rubrique_dist()  : mixed
Effacer une rubrique
action_tester_dist()  : mixed
Tester les capacités du serveur à utiliser une librairie graphique
action_tester_taille_error_handler()  : string
Interception très probable d'une impossibilité de créer l'image demandée dans le buffer de ob_start()
action_tester_taille_dist()  : mixed
Tester nos capacités à redimensionner des images avec GD2 (taille mémoire)
auth_ldap_dist()  : array<string|int, mixed>|bool
Fonction principale d'authentification du module auth/ldap
auth_ldap_connect()  : array<string|int, mixed>
Connexion à l'annuaire LDAP
auth_ldap_search()  : string
Retrouver un login, et vérifier son pass si demandé par `$checkpass`
auth_ldap_retrouver()  : array<string|int, mixed>
Retrouver un DN depuis LDAP
auth_ldap_retrouver_login()  : string
Retrouver le login de quelqu'un qui cherche à se loger
auth_ldap_verifier_pass()  : string
Vérification de la validité d'un mot de passe pour le mode d'auth concerné
auth_ldap_autoriser_modifier_pass()  : bool
Informer du droit de modifier ou non le pass
auth_ldap_modifier_pass()  : bool
Fonction de modification du mot de passe
spip_sha256()  : string
Main routine called from an application using this include.
auth_spip_dist()  : array<string|int, mixed>|bool
Authentifie et si ok retourne le tableau de la ligne SQL de l'utilisateur Si risque de secu repere a l'installation retourne False
auth_spip_initialiser_secret()  : bool
Reinitialiser le secret des auth quand il est perdu si aucun webmestre n'a de backup Si force=true, on va forcer la reinit (si il est perdu) meme si des webmestres ont un backup
auth_spip_formulaire_login()  : array<string|int, mixed>
Completer le formulaire de login avec le js ou les saisie specifiques a ce mode d'auth
auth_spip_autoriser_modifier_login()  : bool
Informer du droit de modifier ou non son login
auth_spip_verifier_login()  : string
Verification de la validite d'un login pour le mode d'auth concerne
auth_spip_modifier_login()  : bool
Modifier le login d'un auteur SPIP
auth_spip_retrouver_login()  : string
Retrouver le login de quelqu'un qui cherche a se loger Reconnaitre aussi ceux qui donnent leur nom ou email au lieu du login
auth_spip_autoriser_modifier_pass()  : bool
Informer du droit de modifier ou non le pass
auth_spip_verifier_pass()  : string
Verification de la validite d'un mot de passe pour le mode d'auth concerne c'est ici que se font eventuellement les verifications de longueur mini/maxi ou de force
auth_spip_modifier_pass()  : bool
Modifier le mot de passe de l'auteur sur le serveur concerne en s'occupant du hash et companie
auth_spip_synchroniser_distant()  : void
Synchroniser les fichiers htpasswd
protege_champ()  : string|array<string|int, mixed>|null
Protéger les saisies d'un champ de formulaire
existe_formulaire()  : string|bool
Teste si un formulaire demandé possède un squelette pour l'afficher
test_formulaire_inclus_par_modele()  : false|array<string|int, mixed>
Tester si un formulaire est appele via un modele type <formulaire|...> et le cas echeant retourne les arguments passes au modele false sinon
balise_FORMULAIRE__dist()  : Champ
Balises Formulaires par défaut.
balise_FORMULAIRE__dyn()  : string|array<string|int, mixed>
Balise dynamiques par défaut des formulaires
balise_FORMULAIRE__contexte()  : array<string|int, mixed>|string
Calcule le contexte à envoyer dans le squelette d'un formulaire
formulaire__charger()  : array<string|int, mixed>
Charger les valeurs de saisie du formulaire
formulaire__identifier()  : bool
Vérifier que le formulaire en cours est celui qui est poste
balise_FORMULAIRE_ADMIN()  : Champ
Compile la balise dynamique `#FORMULAIRE_ADMIN` qui des boutons d'administration dans l'espace public
balise_FORMULAIRE_ADMIN_stat()  : array<string|int, mixed>|string
Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_ADMIN
balise_FORMULAIRE_ADMIN_dyn()  : array<string|int, mixed>|string
Retourne le squelette d'affichage et le contexte de la balise FORMULAIRE_ADMIN
admin_objet()  : array<string|int, mixed>
Préparer le contexte d'environnement pour les boutons
admin_preview()  : string|array<string|int, mixed>
Détermine si l'élément est previsualisable
admin_lang()  : string
Régler les boutons dans la langue de l'admin (sinon tant pis)
admin_valider()  : string
Retourne une URL vers un validateur
admin_debug()  : string
Retourne une URL vers le mode debug, si l'utilisateur a le droit, et si c'est utile
balise_FORMULAIRE_ECRIRE_AUTEUR()  : Champ
Compile la balise dynamique `#FORMULAIRE_ECRIRE_AUTEUR` qui permet très logiquement d'afficher un formulaire pour écrire à un auteur
balise_FORMULAIRE_ECRIRE_AUTEUR_stat()  : array<string|int, mixed>|string
Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_ECRIRE_AUTEUR
balise_FORMULAIRE_INSCRIPTION()  : Champ
Compile la balise dynamique `#FORMULAIRE_INSCRIPTION` qui affiche un formulaire d'inscription au site
balise_FORMULAIRE_INSCRIPTION_stat()  : array<string|int, mixed>|string
Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_INSCRIPTION
balise_ID_LOGO__dist()  : Champ
Compile la balise dynamique `#ID_LOGO_xx` qui retourne l'identifiant du document utilisé comme logo pour un objet éditorial de SPIP.
generer_code_logo()  : string
Calcule le code HTML pour l'image ou l'information sur un logo
balise_IMPORT_JS_dist()  : Champ
Compile la balise `#IMPORT_JS` qui cherche une ressource js locale ou distante et renvoie son chemin absolu, voire celui de sa version minifiée si la compression est activée.
balise_INFO__dist()  : Champ
Compile la balise dynamique `#INFO_xx` qui génère n'importe quelle information pour un objet
balise_LOGO__dist()  : Champ
Compile la balise dynamique `#LOGO_xx` qui retourne le code HTML pour afficher l'image de logo d'un objet éditorial de SPIP.
balise_MENU_LANG()  : Champ
Compile la balise dynamique `#MENU_LANG` qui affiche un sélecteur de langue pour l'espace public
balise_MENU_LANG_stat()  : array<string|int, mixed>|string
Calculs de paramètres de contexte automatiques pour la balise MENU_LANG
balise_MENU_LANG_dyn()  : array<string|int, mixed>
Exécution de la balise dynamique `#MENU_LANG`
balise_MENU_LANG_ECRIRE()  : Champ
Compile la balise dynamique `#MENU_LANG_ECRIRE` qui affiche un sélecteur de langue pour l'interface privée
balise_MENU_LANG_ECRIRE_stat()  : array<string|int, mixed>|string
Calculs de paramètres de contexte automatiques pour la balise MENU_LANG_ECRIRE
balise_MENU_LANG_ECRIRE_dyn()  : array<string|int, mixed>
Exécution de la balise dynamique `#MENU_LANG_ECRIRE`
menu_lang_pour_tous()  : array<string|int, mixed>
Calcule l'environnement et le squelette permettant d'afficher le formulaire de sélection de changement de langue
generer_generer_url()  : string
Génère le code compilé des balises d'URL
generer_generer_url_arg()  : string
Génère le code compilé des balises d'URL (en connaissant l'identifiant)
balise_URL__dist()  : Champ
Compile la balise générique `#URL_xxx` qui génère l'URL d'un objet
balise_URL_ARTICLE_dist()  : Champ
Compile la balise `#URL_ARTICLE` qui génère l'URL d'un article
balise_URL_SITE_dist()  : Champ|null
Compile la balise `#URL_SITE` qui génère l'URL d'un site ou de cas spécifiques
balise_URL_SITE_SPIP_dist()  : Champ
Compile la balise `#URL_SITE_SPIP` qui retourne l'URL du site telle que définie dans la configuration
balise_URL_PAGE_dist()  : Champ
Compile la balise `#URL_PAGE` qui retourne une URL de type « page »
balise_URL_ECRIRE_dist()  : Champ
Compile la balise `#URL_ECRIRE` qui retourne une URL d'une page de l'espace privé
balise_URL_ACTION_AUTEUR_dist()  : Champ
Compile la balise `#URL_ACTION_AUTEUR` qui retourne une URL d'action sécurisée pour l'auteur en cours
balise_URL_LOGOUT()  : Champ
Compile la balise dynamique `#URL_LOGOUT` qui génère une URL permettant de déconnecter l'auteur actuellement connecté
balise_URL_LOGOUT_stat()  : array<string|int, mixed>
Calculs de paramètres de contexte automatiques pour la balise URL_LOGOUT
balise_URL_LOGOUT_dyn()  : string
Exécution de la balise dynamique `#URL_LOGOUT`
sql_error_backtrace()  : array<string|int, mixed>|string
Retourne la pile de fonctions utilisée lors de la précence d'une erreur SQL
sql_get_charset()  : string|bool
Demande si un charset est disponible
sql_set_charset()  : bool
Regler le codage de connexion
sql_select()  : mixed
Effectue une requête de selection
sql_get_select()  : mixed
Recupere la syntaxe de la requete select sans l'executer
sql_countsel()  : int|bool
Retourne le nombre de lignes d'une sélection
sql_alter()  : mixed
Modifie la structure de la base de données
sql_fetch()  : array<string|int, mixed>|false
Retourne un enregistrement d'une selection
sql_fetch_all()  : array<string|int, mixed>
Retourne tous les enregistrements d'une selection
sql_seek()  : bool
Déplace le pointeur d'une ressource de sélection
sql_listdbs()  : array<string|int, mixed>|bool
Liste des bases de donnees accessibles
sql_selectdb()  : bool|string
Demande d'utiliser d'une base de donnees
sql_count()  : bool|string
Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
sql_free()  : bool
Libère une ressource de résultat
sql_insert()  : bool|string
Insère une ligne dans une table
sql_insertq()  : int|bool|string
Insère une ligne dans une table
sql_insertq_multi()  : bool|string
Insère plusieurs lignes d'un coup dans une table
sql_update()  : array<string|int, mixed>|bool|string
Met à jour des enregistrements d'une table SQL
sql_updateq()  : bool|string
Met à jour du contenu d’une table SQL
sql_delete()  : bool|string
Supprime des enregistrements d'une table
sql_replace()  : bool|string
Insère où met à jour une entrée d’une table SQL
sql_replace_multi()  : bool|string
Insère où met à jour des entrées d’une table SQL
sql_drop_table()  : bool|string
Supprime une table SQL (structure et données)
sql_drop_view()  : bool|string
Supprime une vue SQL
sql_showbase()  : object|bool|string
Retourne une ressource de la liste des tables de la base de données
sql_alltable()  : array<string|int, mixed>
Retourne la liste des tables SQL
sql_showtable()  : bool|array<string|int, mixed>
Retourne la liste (et description) des colonnes et key d’une table SQL
sql_table_exists()  : bool|string
Teste si une table SQL existe ou non dans la base
sql_create()  : bool
Crée une table dans la base de données
sql_create_base()  : bool
Crée une base de données
sql_create_view()  : bool|string
Crée une vue SQL
sql_multi()  : string
Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
sql_error()  : bool|string
Retourne la dernière erreur connue
sql_errno()  : bool|int
Retourne le numéro de la derniere erreur connue
sql_explain()  : array<string|int, mixed>|false
Retourne une explication de requête (Explain) SQL
sql_optimize()  : bool
Optimise une table SQL
sql_repair()  : bool|string
Répare une table SQL
sql_query()  : array<string|int, mixed>|resource|string|bool
Exécute une requête SQL
sql_fetsel()  : array<string|int, mixed>|string|false
Retourne la première ligne d'une sélection
sql_allfetsel()  : array<string|int, mixed>
Retourne le tableau de toutes les lignes d'une selection
sql_getfetsel()  : mixed
Retourne un unique champ d'une selection
sql_version()  : string
Retourne le numero de version du serveur SQL
sql_preferer_transaction()  : bool
Informe si le moteur SQL prefere utiliser des transactions
sql_demarrer_transaction()  : bool
Démarre une transaction
sql_terminer_transaction()  : bool
Termine une transaction
sql_hex()  : string
Prépare une chaine hexadécimale
sql_quote()  : string
Echapper du contenu
sql_date_proche()  : string|bool
Tester si une date est proche de la valeur d'un champ
sql_in_quote()  : string
Retourne une expression IN pour le gestionnaire de base de données
sql_in()  : mixed
shorthand historique qui ne permet pas de specifier le type et qui accepte une string pour $valeurs
sql_in_select()  : string
Retourne une expression IN pour le gestionnaire de base de données à partir d'une sélection de données
sql_skip()  : int
Implémentation sécurisée du saut en avant.
sql_test_int()  : bool
Teste qu'une description de champ SQL est de type entier
sql_test_date()  : bool
Teste qu'une description de champ SQL est de type entier
sql_format_date()  : string
Formate une date
prefixer_table_spip()  : string
Corrige le nom d’une table SQL en utilisant le bon préfixe
spip_connect()  : bool|array<string|int, mixed>
Connexion à un serveur de base de données
spip_sql_erreur()  : mixed
Log la dernière erreur SQL présente sur la connexion indiquée
spip_connect_sql()  : array<string|int, mixed>|bool|string
Retourne le nom de la fonction adaptée de l'API SQL en fonction du type de serveur
spip_connect_db()  : array<string|int, mixed>|null
Fonction appelée par le fichier connecteur de base de données crée dans `config/` à l'installation.
spip_connect_main()  : string|bool|int
Première connexion au serveur principal de base de données
_q()  : string
Échappement d'une valeur sous forme de chaîne PHP
query_echappe_textes()  : array<string|int, mixed>
Echapper les textes entre ' ' ou " " d'une requête SQL avant son pre-traitement
query_reinjecte_textes()  : string
Réinjecter les textes d'une requete SQL à leur place initiale, après traitement de la requête
spip_query()  : bool|mixed
Exécute une requête sur le serveur SQL
base_determine_autoinc()  : bool
Determiner le flag autoinc pour une table en fonction de si c'est une table principale
creer_ou_upgrader_table()  : mixed
Créer une table, ou ajouter les champs manquants si elle existe déjà
alterer_base()  : mixed
Creer ou mettre à jour un ensemble de tables en fonction du flag `$up`
creer_base()  : mixed
Créer une base de données à partir des tables principales et auxiliaires
maj_tables()  : mixed
Mettre à jour une liste de tables
base_delete_all_dist()  : mixed
Destruction des tables SQL de SPIP
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()  : mixed
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()  : mixed
fonction d'insertion en base lors de la copie de base a base
array_set_merge()  : mixed
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()  : mixed
Déclare les tables principales du Core
base_auxiliaires()  : mixed
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_repair_dist()  : mixed
Action de réparation de la base de données
admin_repair_tables()  : string
Exécute une réparation de la base de données
base_trouver_table_dist()  : array<string|int, mixed>|null
Retourne la description d'une table SQL
base_upgrade_dist()  : mixed
Programme de mise à jour des tables SQL lors d'un changement de version.
maj_base()  : array<string|int, mixed>|bool
Mise à jour de base de SPIP
maj_plugin()  : mixed
Mise à jour d'un plugin de SPIP
relance_maj()  : mixed
Relancer le hit de mise à jour avant timeout
maj_debut_page()  : mixed
Initialiser la page pour l'affichage des progrès de l'upgrade uniquement si la page n'a pas déjà été initilalisée
maj_while()  : array<string|int, mixed>
Gestion des mises à jour de SPIP et des plugins
serie_alter()  : int
Appliquer une serie de changements qui risquent de partir en timeout
upgrade_test()  : bool
Vérifie qu'il est possible d'ajouter une colonne à 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|null
Recherche un fichier dans les chemins de SPIP (squelettes, plugins, core)
clear_path_cache()  : mixed
load_path_cache()  : mixed
save_path_cache()  : mixed
find_all_in_path()  : array<string|int, mixed>
Trouve tous les fichiers du path correspondants à un pattern
minipipe()  : string|array<string|int, mixed>
Exécute une fonction (appellée par un pipeline) avec la donnée transmise.
pipeline()  : mixed|null
Appel d’un pipeline
_request()  : mixed|null
Renvoie le `$_GET` ou le `$_POST` émis par l'utilisateur ou pioché dans un tableau transmis
set_request()  : array<string|int, mixed>|bool
Affecte une valeur à une clé (pour usage avec `_request()`)
spip_sanitize_from_request()  : array<string|int, mixed>|mixed|string
Sanitizer une valeur *SI* elle provient du GET ou POST Utile dans les squelettes pour les valeurs qu'on attrape dans le env, dont on veut permettre à un squelette de confiance appelant de fournir une valeur complexe mais qui doit etre nettoyee si elle provient de l'URL
spip_desinfecte()  : mixed
Supprimer les éventuels caracteres nuls %00, qui peuvent tromper la commande is_readable('chemin/vers/fichier/interdit%00truc_normal').
spip_sanitize_classname()  : string|array<string|int, string>
Nettoie une chaine pour servir comme classes CSS.
erreur_squelette()  : null|string
Génère une erreur de squelette
recuperer_fond()  : string|array<string|int, mixed>
Calcule un squelette avec un contexte et retourne son contenu
quote_amp()  : string
Transformation XML des `&` en `&amp;`
tester_url_absolue()  : bool
Tester si une URL est absolue
parametre_url()  : string
Prend une URL et lui ajoute/retire un paramètre
ancre_url()  : string
Ajoute (ou retire) une ancre sur une URL
nettoyer_uri()  : string
Pour le nom du cache, les `types_urls` et `self`
nettoyer_uri_var()  : string
Nettoie une URI de certains paramètres (var_xxx, utm_xxx, etc.)
self()  : string
Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles
generer_objet_url()  : string
Fonction codant les URLs des objets SQL mis en page par SPIP
generer_url_entite()  : mixed
generer_objet_url_ecrire_edit()  : string
Generer l'url vers la page d'edition dans ecrire/
generer_url_ecrire_entite_edit()  : mixed
urls_connect_dist()  : mixed
urlencode_1738()  : string
Transformer les caractères utf8 d'une URL (farsi par exemple) selon la RFC 1738
generer_objet_url_absolue()  : string
Generer l'url absolue vers un objet
generer_url_entite_absolue()  : mixed
url_de_base()  : string|array<string|int, mixed>
Calcule l'url de base du site
url_de_()  : string
fonction testable de construction d'une url appelee par url_de_base()
generer_url_ecrire()  : string
Crée une URL vers un script de l'espace privé
get_spip_script()  : string
Retourne le nom du fichier d'exécution de SPIP
generer_url_public()  : string
Crée une URL vers une page publique de SPIP
generer_url_prive()  : mixed
generer_url_action()  : string
Créer une URL
generer_url_api()  : string
Créer une URL
test_plugin_actif()  : bool
Vérifie la présence d'un plugin actif, identifié par son préfixe
joli_repertoire()  : string
Retourne un joli chemin de répertoire
spip_timer()  : float|int|string|void
Débute ou arrête un chronomètre et retourne sa valeur
spip_touch()  : mixed
http_script()  : string
Produit une balise `<script>` valide
texte_script()  : string
Sécurise du texte à écrire dans du PHP ou du Javascript.
test_valeur_serveur()  : bool
Tester qu'une variable d'environnement est active
exec_info_dist()  : mixed
Page `exec=info` : retourne le contenu de la fonction php `phpinfo()`
html5_permis()  : bool
Indique si le code HTML5 est permis sur le site public
formats_image_acceptables()  : array<string|int, mixed>
Lister les formats image acceptes par les lib et fonctions images
spip_getimagesize()  : array<string|int, mixed>|bool
Extension de la fonction getimagesize pour supporter aussi les images SVG
avertir_auteurs()  : mixed
Poser une alerte qui sera affiche aux auteurs de bon statut ('' = tous) au prochain passage dans l'espace prive chaque alerte doit avoir un nom pour eviter duplication a chaque hit les alertes affichees une fois sont effacees
spip_version_compare()  : int|bool
Compare 2 numéros de version entre elles.
exec_403_dist()  : mixed
Un exec d'acces interdit
exec_404_dist()  : mixed
Un exec d'erreur
exec_admin_plugin_dist()  : mixed
Affichage de la page de gestion des plugins
admin_plug_args()  : mixed
Affichage spécifique de la page de gestion des plugins
affiche_les_plugins_verrouilles()  : string
Crée le code HTML de la liste des plugins verrouillés
afficher_librairies()  : string
Crée le code HTML de la liste des librairies présentes
liste_librairies()  : array<string|int, mixed>
Faire la liste des librairies disponibles
exec_base_delete_all_dist()  : mixed
Exec de la page de destruction des tables de SPIP
exec_base_repair_dist()  : mixed
Réparer la base de données
exec_demande_mise_a_jour_dist()  : mixed
Demander à mettre à jour la base de données
shutdown_error()  : mixed
Fonction appelée en cas d'arrêt de php sur une erreur
exec_fond_dist()  : mixed
Un exec générique qui branche sur un squelette Z pour écrire
exec_info_plugin_dist()  : mixed
Affichage de la description d'un plugin (en ajax)
exec_informer_dist()  : mixed
Affiche en ajax des informations d'une rubrique selectionnée dans le mini navigateur
exec_install_dist()  : mixed
Affiche un des écrans d'installation de SPIP
exec_plonger_dist()  : mixed
Afficher en ajax les sous-rubriques d'une rubrique (composant du mini-navigateur)
exec_puce_statut_dist()  : void
Gestion de l'affichage ajax des puces d'action rapide
exec_puce_statut_args()  : void
Traitement de l'affichage ajax des puces d'action rapide
exec_rechercher_dist()  : mixed
Prépare la fonction de recherche ajax du mini navigateur de rubriques
exec_rechercher_args()  : string
Formate le rendu de la recherche ajax du mini navigateur de rubriques
proposer_item()  : string
Résultat de la recherche intéractive demandée par la fonction JS `onkey_rechercher`
exec_selectionner_dist()  : mixed
Affichage en ajax du sélecteur (mini-navigateur) de rubrique AJAX
exec_upgrade_dist()  : mixed
Fonction d'installation et de mise à jour du core de SPIP
genie_mail_dist()  : int
Envoi du Mail des nouveautés
genie_maintenance_dist()  : bool
Diverses tâches de maintenance
verifier_crash_tables()  : bool|array<string|int, mixed>
Vérifier si une table a crashé
message_crash_tables()  : string
Vérifier si une table a crashé et crée un message en conséquence.
genie_mise_a_jour_dist()  : int
Verifier si une mise a jour est disponible
mise_a_jour_ecran_securite()  : mixed
Mise a jour automatisee de l'ecran de securite On se base sur le filemtime de l'ecran source avec un en-tete if_modified_since Mais on fournit aussi le md5 de notre ecran actuel et la version branche de SPIP Cela peut permettre de diffuser un ecran different selon la version de SPIP si besoin ou de ne repondre une 304 que si le md5 est bon
info_maj_exists()  : array{mineure: string, majeure: string}
Indique les mises à jour majeures et mineures pour une version de SPIP
info_maj()  : string
Vérifier si une nouvelle version de SPIP est disponible
info_maj_notifier()  : mixed
Notifier les webmestre d’une nouvelle version existante (pour mettre à jour)
genie_optimiser_dist()  : int
Cron d'optimisation de la base de données
optimiser_caches_contextes()  : mixed
Vider les contextes ajax de plus de 48h
optimiser_base()  : mixed
Optimise la base de données
optimiser_base_une_table()  : mixed
Lance une requête d'optimisation sur une des tables SQL de la base de données.
optimiser_sansref()  : int
Supprime des enregistrements d'une table SQL dont les ids à supprimer se trouvent dans les résultats de ressource SQL transmise, sous la colonne 'id'
optimiser_base_disparus()  : mixed
Suppression des liens morts entre tables
creer_pass_aleatoire()  : string
Créer un mot de passe
creer_uniqid()  : string
Créer un identifiant aléatoire
charger_aleas()  : string
Charge les aléas ehpémères s'il ne sont pas encore dans la globale
renouvelle_alea()  : mixed
Renouveller l'alea (utilisé pour sécuriser les scripts du répertoire `action/`)
low_sec()  : string
Retourne une clé de sécurité faible (low_sec) pour l'auteur indiqué
securiser_acces_low_sec()  : bool
Vérifie un accès à faible sécurité
generer_url_api_low_sec()  : string
Generer une url xxx.api/$id_auteur/$cle/$format/$fond?$args
afficher_low_sec()  : string
Retourne une clé basée sur le low_sec de l'auteur et l'action demandé
verifier_low_sec()  : bool
Vérifie une clé basée sur le low_sec de l'auteur et l'action demandé
effacer_low_sec()  : mixed
Efface la clé de sécurité faible (low_sec) d'un auteur
ecrire_acces()  : null|void
Créer un fichier htpasswd
generer_htpasswd_files()  : mixed
Generer le fichier de htpasswd contenant les htpass
generer_htpass()  : void|string
Créer un password htaccess
verifier_htaccess()  : bool
Installe ou vérifie un fichier .htaccess, y compris sa prise en compte par Apache
gerer_htaccess()  : string
Créer un fichier .htaccess pour chaque répertoire d'extension dans `_DIR_IMG` si la configuration le demande
generer_action_auteur()  : array<string|int, mixed>|string
Retourne une URL ou un formulaire securisé
redirige_action_auteur()  : string
Génère une URL ou un formulaire dirigé vers un fichier action (action/xx.php)
redirige_action_post()  : array<string|int, mixed>|string
Retourne une URL ou un formulaire sécurisé en méthode POST
ajax_retour()  : void
Fonction de formatage du contenu renvoyé en ajax
inc_admin_dist()  : string
Teste qu'un utilisateur a des droits sur les fichiers du site et exécute l'action (en base) demandée si c'est le cas.
admin_verifie_session()  : string
Gestion dans la meta "admin" du script d'administation demandé, pour éviter des exécutions en parallèle, notamment après Time-Out.
dir_admin()  : string
Retourne l'emplacement du répertoire où sera testé l'accès utilisateur
fichier_admin()  : string
Retourne le nom d'un fichier de teste d'authentification par accès aux fichiers
debut_admin()  : string
Demande la création d'un répertoire (pour tester l'accès de l'utilisateur) et sort ou quitte sans rien faire si le répertoire est déjà là.
fin_admin()  : mixed
Clôture la phase d'administration en supprimant le répertoire testant l'accès au fichiers ainsi que les metas d'exécution
copy_request()  : string
Génère un formulaire avec les données postées
inc_auth_dist()  : array<string|int, mixed>|int|string
Teste l'authentification d'un visiteur
auth_controler_password_auteur_connecte()  : bool
Vérifier qu'un mot de passe saisi pour confirmer une action est bien celui de l'auteur connecté
auth_echec()  : array<string|int, mixed>|string
fonction appliquee par ecrire/index sur le resultat de la precedente en cas de refus de connexion.
auth_mode()  : array<string|int, mixed>|bool|string
Retourne la description d'un authentifie par cookie ou http_auth Et affecte la globale $connect_login
auth_init_droits()  : array<string|int, mixed>|string|bool
Initialisation des globales pour tout l'espace privé si visiteur connu
auth_desensibiliser_session()  : array<string|int, mixed>
Enlever les clés sensibles d'une ligne auteur
auth_a_loger()  : string
Retourne l'url de connexion
auth_trace()  : mixed
Tracer en base la date de dernière connexion de l'auteur
auth_administrer()  : mixed
Fonction privée d'aiguillage des fonctions d'authentification
auth_formulaire_login()  : array<string|int, mixed>
Pipeline pour inserer du contenu dans le formulaire de login
auth_retrouver_login()  : mixed
Retrouver le login interne lie a une info login saisie la saisie peut correspondre a un login delegue qui sera alors converti en login interne apres verification
auth_informer_login()  : array<string|int, mixed>
informer sur un login Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur Il est invoque par la fonction JS actualise_auteur via la globale JS page_auteur=#URL_PAGE{informer_auteur} dans le squelette login N'y aurait-il pas plus simple ?
auth_identifier_login()  : mixed
Essayer les differentes sources d'authenfication dans l'ordre specifie.
auth_url_retour_login()  : string
Fournir une url de retour apres login par un SSO pour finir l'authentification
auth_terminer_identifier_login()  : mixed
Terminer l'action d'authentification d'un auteur
auth_loger()  : bool
Loger un auteur suite a son identification
auth_deloger()  : mixed
Déconnexion de l'auteur
auth_autoriser_modifier_login()  : bool
Tester la possibilité de modifier le login d'authentification pour la méthode donnée
auth_verifier_login()  : string
Verifier la validite d'un nouveau login pour modification pour la methode donnee
auth_modifier_login()  : bool
Modifier le login d'un auteur pour la methode donnee
auth_autoriser_modifier_pass()  : bool
Tester la possibilité de modifier le pass pour la méthode donnée
auth_verifier_pass()  : string
Verifier la validite d'un pass propose pour modification pour la methode donnee
auth_modifier_pass()  : bool
Modifier le mot de passe d'un auteur pour la methode donnee
auth_synchroniser_distant()  : mixed
Synchroniser un compte sur une base distante pour la methode donnée lorsque des modifications sont faites dans la base auteur
lire_php_auth()  : array<string|int, mixed>|bool
Vérifier si l'auteur est bien authentifié
ask_php_auth()  : mixed
entête php_auth (est-encore utilisé ?)
autoriser()  : bool
Autoriser une action
autoriser_dist()  : bool
Autoriser une action
autoriser_exception()  : bool
Accorder une autorisation exceptionnelle pour le hit en cours, ou la révoquer
autoriser_type()  : string
Adapte un type pour les autorisations
autoriser_defaut_dist()  : bool
Autorisation par defaut
autoriser_loger_dist()  : bool
Autorisation à se loger ?
autoriser_ecrire_dist()  : bool
Autorisation d'accès à l'espace privé ?
autoriser_creer_dist()  : bool
Autorisation de créer un contenu
autoriser_previsualiser_dist()  : bool
Autorisation de prévisualiser un contenu
test_previsualiser_objet_champ()  : bool
Teste qu'un objet éditorial peut être prévisualisé
autoriser_changerlangue_dist()  : bool
Autorisation de changer de langue un contenu
autoriser_changertraduction_dist()  : bool
Autorisation de changer le lien de traduction
autoriser_dater_dist()  : bool
Autorisation de changer la date d'un contenu
autoriser_instituer_dist()  : bool
Autorisation d'instituer un contenu
autoriser_rubrique_publierdans_dist()  : bool
Autorisation de publier dans une rubrique $id
autoriser_rubrique_creer_dist()  : bool
Autorisation de créer une rubrique
autoriser_rubrique_creerrubriquedans_dist()  : bool
Autorisation de créer une sous rubrique dans une rubrique $id
autoriser_rubrique_creerarticledans_dist()  : bool
Autorisation de créer un article dans une rubrique $id
autoriser_rubrique_modifier_dist()  : bool
Autorisation de modifier une rubrique $id
autoriser_rubrique_supprimer_dist()  : bool
Autorisation de supprimer une rubrique $id
autoriser_article_modifier_dist()  : bool
Autorisation de modifier un article $id
autoriser_article_creer_dist()  : bool
Autorisation de créer un article
autoriser_article_voir_dist()  : bool
Autorisation de voir un article
autoriser_voir_dist()  : bool
Autorisation de voir un objet
autoriser_webmestre_dist()  : bool
Autorisation de webmestre
autoriser_configurer_dist()  : bool
Autorisation Configurer le site
autoriser_sauvegarder_dist()  : bool
Autorisation de sauvegarder la base de données
autoriser_detruire_dist()  : bool
Autorisation d'effacer la base de données
autoriser_auteur_previsualiser_dist()  : bool
Autorisation de prévisualiser un auteur
autoriser_auteur_creer_dist()  : bool
Autorisation de créer un auteur
autoriser_auteur_modifier_dist()  : bool
Autorisation de modifier un auteur
autoriser_associerauteurs_dist()  : bool
Autorisation d'associer un auteur sur un objet
autoriser_chargerftp_dist()  : bool
Autorisation d'upload FTP
autoriser_debug_dist()  : bool
Autorisation d'activer le mode debug
liste_rubriques_auteur()  : array<string|int, mixed>
Liste les rubriques d'un auteur
autoriser_rubrique_previsualiser_dist()  : bool
Autorisation de prévisualiser une rubrique
autoriser_rubrique_iconifier_dist()  : bool
Autorisation d'iconifier une rubrique (mettre un logo)
autoriser_auteur_iconifier_dist()  : bool
Autorisation d'iconifier un auteur (mettre un logo)
autoriser_iconifier_dist()  : bool
Autorisation d'iconifier un objet (mettre un logo)
autoriser_ok_dist()  : true
Autorisation OK
autoriser_niet_dist()  : false
Autorisation NIET
autoriser_base_reparer_dist()  : bool
Autorisation de réparer la base de données
autoriser_infosperso_dist()  : true
Autorisation de voir l'onglet infosperso
autoriser_langage_configurer_dist()  : true
Autorisation de voir le formulaire configurer_langage
autoriser_configurerlangage_dist()  : bool
Autorisation de voir l'onglet configurerlangage
autoriser_preferences_configurer_dist()  : true
Autorisation de voir le formulaire configurer_preferences
autoriser_configurerpreferences_dist()  : bool
Autorisation de voir l'onglet configurerpreferences
autoriser_menudeveloppement_menugrandeentree_dist()  : bool
Autorisation d'afficher le menu développement
autoriser_menugrandeentree_dist()  : true
Autorisation d'afficher une grande entrée de menu
autoriser_auteurs_voir_dist()  : true
Autorisation de voir la page auteurs
autoriser_auteurs_voiremails_dist()  : bool
Autorisation de voir les emails des autres auteurs
autoriser_auteurs_menu_dist()  : bool
Autorisation de voir le menu auteurs
autoriser_articles_voir_dist()  : true
Autorisation de voir la page articles
autoriser_articles_menu_dist()  : bool
Autorisation de voir le menu articles
autoriser_rubriques_voir_dist()  : true
Autorisation de voir la page rubriques
autoriser_rubriques_menu_dist()  : bool
Autorisation de voir le menu rubriques
autoriser_articlecreer_menu_dist()  : bool
Autorisation de voir le menu articlecreer
autoriser_auteurcreer_menu_dist()  : bool
Autorisation de voir le menu auteurcreer
autoriser_visiteurs_menu_dist()  : bool
Autorisation de voir le menu "afficher les visiteurs"
autoriser_suiviedito_menu_dist()  : bool
Autorisation de voir le menu suiviedito
autoriser_synchro_menu_dist()  : bool
Autorisation de voir le menu synchro
autoriser_configurerinteractions_menu_dist()  : bool
Autorisation de voir le menu configurer_interactions
autoriser_configurerlangue_menu_dist()  : bool
Autorisation de voir le menu configurer_langue
autoriser_configurermultilinguisme_menu_dist()  : bool
Autorisation de voir le menu configurer_multilinguisme
autoriser_configurercontenu_menu_dist()  : bool
Autorisation de voir le menu configurer_contenu
autoriser_configureravancees_menu_dist()  : bool
Autorisation de voir le menu configurer_avancees
autoriser_adminplugin_menu_dist()  : bool
Autorisation de voir le menu admin_plugin
autoriser_adminbdd_menu_dist()  : bool
Autorisation de voir le menu admin_bdd
autoriser_queue_purger_dist()  : bool
Autorisation de purger la queue de travaux
autoriser_echafauder_dist()  : bool
Autorisation l'échafaudage de squelettes en Z
auteurs_objet()  : array<string|int, int>
Retourne les identifiants d'auteurs liés à un objet
acces_restreint_rubrique()  : bool
Tester si on est admin restreint sur une rubrique donnée
verifier_table_non_vide()  : bool
Verifier qu'il existe au moins un parent
autoriser_inscrireauteur_dist()  : bool
Détermine la possibilité de s'inscire sur le site
autoriser_inscription_relancer_dist()  : bool
Autorisation de relancer une inscription
autoriser_phpinfos_dist()  : bool
Autorisation à voir le phpinfo
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
init_charset()  : void
Initialisation
load_charset()  : string|bool
Charge en mémoire la liste des caractères d'un charset
init_mb_string()  : bool
Vérifier qu'on peut utiliser mb_string avec notre charset
test_iconv()  : bool
Test le fonctionnement correct d'iconv
corriger_caracteres_windows()  : string|array<string|int, mixed>
Corriger des caractères non-conformes : 128-159
html2unicode()  : string
Transforme les entités HTML en unicode
mathml2unicode()  : string
Transforme les entités mathématiques (MathML) en unicode
unicode2charset()  : string
Transforme les entites unicode &#129; dans le charset specifie
importer_charset()  : string
Importer un texte depuis un charset externe vers le charset du site
utf_8_to_unicode()  : string
Transforme un texte UTF-8 en unicode
utf_32_to_unicode()  : string
Transforme un texte UTF-32 en unicode
caractere_utf_8()  : string
Transforme un numéro unicode en caractère utf-8
unicode_to_utf_8()  : string
Convertit un texte unicode en utf-8
unicode_to_javascript()  : string
Convertit les unicode &#264; en javascript \u0108
javascript_to_unicode()  : string
Convertit les %uxxxx (envoyés par javascript) en &#yyy unicode
javascript_to_binary()  : string
Convertit les %E9 (envoyés par le browser) en chaîne du charset du site (binaire)
translitteration_rapide()  : string
Substition rapide de chaque graphème selon le charset sélectionné.
translitteration()  : string
Translittération charset => ascii (pour l'indexation)
translitteration_complexe()  : string
Translittération complexe
translitteration_chiffree()  : string
Translittération chiffrée
bom_utf8()  : bool
Reconnaitre le BOM utf-8 (0xEFBBBF)
is_utf8()  : bool
Vérifie qu'une chaîne est en utf-8 valide
is_ascii()  : bool
Vérifie qu'une chaîne est en ascii valide
transcoder_page()  : string
Transcode une page vers le charset du site
spip_substr()  : string
Coupe un texte selon substr()
spip_ucfirst()  : string
Rend majuscule le premier caractère d'une chaîne utf-8
spip_strtolower()  : string
Passe une chaîne utf-8 en minuscules
spip_strlen()  : int
Retourne la longueur d'une chaîne utf-8
utf8_noplanes()  : string
Transforme une chaîne utf-8 en utf-8 sans "planes" ce qui permet de la donner à MySQL "utf8", qui n'est pas un utf-8 complet L'alternative serait d'utiliser utf8mb4
inc_chercher_logo_dist()  : array<string|int, mixed>
Cherche le logo d'un élément d'objet
inc_chercher_rubrique_dist()  : string
Sélecteur de rubriques pour l'espace privé
style_menu_rubriques()  : array<string|int, mixed>
Styles appliqués sur le texte d'une rubrique pour créer visuellement une indentation en fonction de sa profondeur dans le sélecteur
sous_menu_rubriques()  : string
Sélecteur de sous rubriques pour l'espace privé
selecteur_rubrique_html()  : string
Sélecteur de rubriques pour l'espace privé en mode classique (menu)
selecteur_rubrique_ajax()  : string
Sélecteur de rubrique pour l'espace privé, en mode AJAX
construire_selecteur()  : string
Construit un bloc permettant d'activer le sélecteur de rubrique AJAX
inc_commencer_page_dist()  : string
Débute une page HTML pour l'espace privé
init_entete()  : string
Envoi du DOCTYPE et du `<head><title> </head>`
init_head()  : string
Retourne le code HTML du head (intégration des JS et CSS) de l'espace privé
init_body()  : string
Fonction envoyant la double série d'icônes de rédac
init_body_class()  : string
Calcule les classes CSS à intégrer à la balise `<body>` de l'espace privé
auteurs_recemment_connectes()  : string
Afficher la liste des auteurs connectés à l'espace privé
inc_completer_traduction_dist()  : string
Compléter une nouvelle traduction avec des éléments utiles.
inc_config_dist()  : mixed
Appliquer les valeurs par défaut pour les options non initialisées (pour les langues c'est fait)
expliquer_config()  : array<string|int, mixed>
Expliquer une clé de configuration
lire_config()  : mixed
Lecture de la configuration
lire_config_metapack_dist()  : mixed
metapack est inclue dans lire_config, mais on traite le cas ou il est explicite metapack:: dans le $cfg de lire_config.
ecrire_config()  : bool
Ecrire une configuration
ecrire_config_metapack_dist()  : bool
metapack est inclue dans ecrire_config, mais on traite le cas ou il est explicite metapack:: dans le $cfg de ecrire_config.
effacer_config()  : bool
Effacer une configuration : revient a ecrire une valeur null
liste_metas()  : array<string|int, mixed>
Définir les `meta` de configuration
actualise_metas()  : mixed
Mets les `meta` à des valeurs conventionnelles quand elles sont vides et recalcule les langues
appliquer_modifs_config()  : mixed
Appliquer les modifications apportées aux `metas`
appliquer_adresse_site()  : string
Mettre à jour l'adresse du site à partir d'une valeur saisie (ou auto détection si vide)
spip_setcookie()  : bool
Place un cookie (préfixé) sur le poste client
spip_cookie_envoye()  : bool
Teste si un cookie a déjà été envoyé ou pas
recuperer_cookies_spip()  : mixed
Adapte le tableau PHP `$_COOKIE` pour prendre en compte le préfixe des cookies de SPIP
exec_test_ajax_dist()  : mixed
Teste si javascript est supporté par le navigateur et pose un cookie en conséquence
inc_couleurs_dist()  : array<string|int, mixed>|string
Obtenir ou définir les différents jeux de couleurs de l'espace privé
analyse_csv()  : array<string|int, mixed>
Retourne les données d'un texte au format CSV
autosave_clean_value()  : string
Nettoyer les échappements
cvtautosave_formulaire_charger()  : array<string|int, mixed>
Repérer une demande de formulaire autosave et la conditionner
cvtautosave_formulaire_traiter()  : array<string|int, mixed>
Traitement d'un formulaire ayant activé `autosave`
cvtconf_formulaire_charger()  : array<string|int, mixed>|false
Proposer un chargement par defaut pour les #FORMULAIRE_CONFIGURER_XXX
cvtconf_formulaire_traiter()  : array<string|int, mixed>
Proposer un traitement par defaut pour les #FORMULAIRE_CONFIGURER_XXX
cvtconf_formulaires_configurer_enregistre()  : string
Enregistrer les donnees d'un formulaire $form appele avec les arguments $args Cette fonction peut etre appellee manuellement et explicitement depuis la fonction traiter() d'un formulaire configurer_xxx dont on veut personaliser le traitement sans reecrire le stockage des donnees
cvtconf_definir_configurer_conteneur()  : array<string|int, mixed>
Définir la règle de conteneur, en fonction de la présence de certaines données
cvtconf_formulaires_configurer_recense()  : array<string|int, mixed>
Retrouver les champs d'un formulaire en parcourant son squelette et en extrayant les balises input, textarea, select
cvtconf_configurer_stocker()  : string
Stocker les metas
cvtconf_configurer_lire_meta()  : mixed
Lecture en base des metas d'un form
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
inc_definir_menus_favoris_dist()  : mixed
Retourne la liste des menus favoris par défaut ainsi que leur rang
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
set_spip_doc()  : string
Donne le chemin du fichier relatif à `_DIR_IMG` pour stockage 'tel quel' dans la base de données
get_spip_doc()  : bool|string
Donne le chemin complet du fichier
creer_repertoire_documents()  : string
Créer un sous-répertoire IMG/$ext/ tel que IMG/pdf
effacer_repertoire_temporaire()  : mixed
Efface le répertoire de manière récursive !
copier_document()  : bool|mixed|string
Copier un document `$source` dans un dossier `IMG/$ext/$orig.$ext` ou `IMG/$subdir/$orig.$ext` si `$subdir` est fourni en numérotant éventuellement si un fichier de même nom existe déjà
determine_upload()  : bool|string
Trouver le dossier utilisé pour upload un fichier
deplacer_fichier_upload()  : bool|mixed|string
Déplacer ou copier un fichier
check_upload_error()  : bool|string
Erreurs d'upload
corriger_extension()  : string
Corrige l'extension du fichier dans quelques cas particuliers
lire_tableau_edition()  : array<string|int, mixed>
Retourne le tableau des éléments édités en cours après avoir supprimé les éléments trop vieux (de plus d'une heure) du tableau.
ecrire_tableau_edition()  : mixed
Enregistre la liste des éléments édités
signale_edition()  : mixed
Signale qu'un auteur édite tel objet
qui_edite()  : array<string|int, mixed>
Qui édite mon objet ?
mention_qui_edite()  : array<string, string>
Afficher les auteurs ayant édités récemment l'objet.
liste_drapeau_edition()  : array<string|int, mixed>
Quels sont les objets en cours d'édition par `$id_auteur` ?
debloquer_tous()  : mixed
Quand l'auteur veut libérer tous ses objets (tous types)
debloquer_edition()  : mixed
Quand l'auteur libère un objet précis
formulaires_editer_objet_traiter()  : array<string|int, mixed>
Effectue les traitements d'un formulaire d'édition d'objet éditorial
formulaires_editer_objet_verifier()  : array<string|int, mixed>
Teste les erreurs de validation d'un formulaire d'édition d'objet éditorial
formulaires_editer_objet_charger()  : array<string|int, mixed>
Construit les valeurs de chargement d'un formulaire d'édition d'objet éditorial
coupe_trop_long()  : array<string|int, mixed>
Gestion des textes trop longs (limitation brouteurs) utile pour les textes > 32ko
titre_automatique()  : mixed
auto-renseigner le titre si il n'existe pas
inc_titrer_contenu_dist()  : string
Déterminer un titre automatique, à partir des champs textes de contenu
controles_md5()  : string|array<string|int, mixed>
Calcule des clés de contrôles md5 d'un tableau de données.
controler_contenu()  : bool|null|array<string|int, mixed>
Contrôle les contenus postés d'un objet en vérifiant qu'il n'y a pas de conflit d'édition
controler_md5()  : null|array<string|int, mixed>
Contrôle la liste des md5 envoyés, supprime les inchangés, signale les modifiés depuis telle date
display_conflit_champ()  : string
Afficher le contenu d'un champ selon sa longueur soit dans un `textarea`, soit dans un `input`
inc_email_valide_dist()  : bool|string
Vérifier la conformité d'une ou plusieurs adresses email (suivant RFC 822)
nettoyer_titre_email()  : string
Nettoyer le titre d'un email
nettoyer_caracteres_mail()  : string
Utiliser le bon encodage de caractères selon le charset
inc_envoyer_mail_dist()  : bool
Envoi d'un mail
mail_normaliser_headers()  : array<string|int, mixed>
Formater correctement l'entête d'un email
exif_obtenir_orientation()  : int|null
Retourne l'EXIF d'orientation d'une image JPEG ou TIFF, si elle en possède bien un.
exif_determiner_si_portrait()  : bool
Détermine si un EXIF d'orientation correspond à une image en mode portrait.
exif_determiner_axe_symetrie()  : int|null
Détermine l'axe de la symétrie à appliquer sur une image porteuse d'un EXIF d'orientation.
exif_determiner_angle_rotation()  : int|null
Détermine l'angle de la rotation à appliquer sur une image porteuse d'un EXIF d'orientation.
exporter_csv_champ()  : string
Exporter un champ pour un export CSV : pas de retour a la ligne, et echapper les guillements par des doubles guillemets
exporter_csv_ligne_numerotee()  : string
Exporter une ligne complete au format CSV, avec delimiteur fourni
inc_exporter_csv_dist()  : string
Exporte une ressource sous forme de fichier CSV
charger_filtre()  : string
Charger un filtre depuis le php
filtre_identite_dist()  : string
Retourne le texte tel quel
chercher_filtre()  : string
Cherche un filtre
appliquer_filtre()  : string
Applique un filtre s'il existe, sinon retourne une chaîne vide
appliquer_si_filtre()  : string
Applique un filtre s'il existe, sinon retourne le contenu d'origine sans modification
spip_version()  : string
Retourne la version de SPIP
header_silencieux()  : string
Masque la version de SPIP si la globale spip_header_silencieux le demande.
version_vcs_courante()  : mixed
Retourne une courte description d’une révision VCS d’un répertoire
decrire_version_git()  : array<string|int, mixed>|null
Retrouve un numéro de révision Git d'un répertoire
filtrer()  : string
Charge et exécute un filtre (graphique ou non)
trouver_filtre_matrice()  : bool
Cherche un filtre spécial indiqué dans la globale `spip_matrice` et charge le fichier éventuellement associé contenant le filtre.
filtre_set()  : mixed
Filtre `set` qui sauve la valeur en entrée dans une variable
filtre_setenv()  : string|mixed
Filtre `setenv` qui enregistre une valeur dans l'environnement du squelette
filtre_sanitize_env()  : string
filtre_debug()  : mixed
Filtre `debug` qui affiche un debug de la valeur en entrée
image_filtrer()  : string
Exécute un filtre image
infos_image()  : array<string|int, mixed>
Retourne les informations d'une image
poids_image()  : array<string|int, mixed>
Retourne les dimensions d'une image
taille_image()  : mixed
largeur()  : int|null
Retourne la largeur d'une image
hauteur()  : int|null
Retourne la hauteur d'une image
corriger_entites_html()  : string
Échappement des entités HTML avec correction des entités « brutes »
corriger_toutes_entites_html()  : string
Échappement des entités HTML avec correction des entités « brutes » ainsi que les `&amp;eacute;` en `&eacute;`
proteger_amp()  : string
Échappe les `&` en `&amp;`
entites_html()  : mixed|string
Échappe en entités HTML certains caractères d'un texte
filtrer_entites()  : string
Convertit les caractères spéciaux HTML dans le charset du site.
filtre_filtrer_entites_dist()  : string
Version sécurisée de filtrer_entites
supprimer_caracteres_illegaux()  : string|array<string|int, mixed>
Supprime des caractères illégaux
corriger_caracteres()  : string|array<string|int, mixed>
Correction de caractères
texte_backend()  : string
Encode du HTML pour transmission XML notamment dans les flux RSS
texte_backendq()  : string
Encode et quote du HTML pour transmission XML notamment dans les flux RSS
supprimer_numero()  : string
Enlève un numéro préfixant un texte
recuperer_numero()  : string
Récupère un numéro préfixant un texte
supprimer_tags()  : string|array<string|int, mixed>
Suppression basique et brutale de tous les tags
echapper_tags()  : string
Convertit les chevrons de tag en version lisible en HTML
textebrut()  : string
Convertit un texte HTML en texte brut
liens_ouvrants()  : string
Remplace les liens SPIP en liens ouvrant dans une nouvelle fenetre (target=blank)
liens_nofollow()  : string
Ajouter un attribut rel="nofollow" sur tous les liens d'un texte
PtoBR()  : string
Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`
majuscules()  : string
Passe un texte en majuscules, y compris les accents, en HTML
taille_en_octets()  : string
Renvoie une taille de dossier ou de fichier humainement lisible en ajustant le format et l'unité.
attribut_html()  : string
Rend une chaine utilisable sans dommage comme attribut HTML
attribut_url()  : string
Rend une URL utilisable sans dommage comme attribut d'une balise 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})]
filtre_propre_dist()  : mixed
Filtre `propre()` pour les squelettes
balise_ALERTE_MESSAGE_dist()  : Champ
Compile la balise `#ALERTE_MESSAGE` produisant le HTML d'un message d'alerte complet.
balise_ALERTE_OUVRIR_dist()  : Champ
Compile la balise `#ALERTE_OUVRIR` produisant le HTML ouvrant d'un message d’alerte
balise_ALERTE_FERMER_dist()  : Champ
Compile la balise `#ALERTE_FERMER` produisant le HTML clôturant un message d’alerte
message_alerte()  : string
Générer un message d’alerte
message_alerte_ouvrir()  : string
Ouvrir un message d’alerte
message_alerte_fermer()  : string
Fermer un message d’alerte
balise_BOITE_OUVRIR_dist()  : Champ
Compile la balise `#BOITE_OUVRIR` ouvrant une boîte de contenu
balise_BOITE_PIED_dist()  : Champ
Compile la balise `#BOITE_PIED` cloturant une boîte de contenu
balise_BOITE_FERMER_dist()  : Champ
Compile la balise `#BOITE_FERMER` clôturant une boîte de contenu
boite_ouvrir()  : string
Ouvrir une boîte
boite_pied()  : string
Passer au pied d'une boîte
boite_fermer()  : string
Fermer une boîte
normaliser_date()  : string
Normaliser une date vers le format datetime (Y-m-d H:i:s)
vider_date()  : string
Enlève une date considérée comme vide
recup_heure()  : array<string|int, mixed>
Retrouve à partir d'une chaîne les valeurs heures, minutes, secondes.
heures()  : string
Retourne l'heure d'une date
minutes()  : string
Retourne les minutes d'une date
secondes()  : string
Retourne les secondes d'une date
heures_minutes()  : string
Retourne l'horaire (avec minutes) d'une date, tel que `12h36min`
recup_date()  : array<string|int, mixed>
Retrouve à partir d'une date les valeurs année, mois, jour, heures, minutes, secondes
date_interface()  : string
Retourne une date relative si elle est récente, sinon une date complète
date_relative()  : string
Retourne une date relative (passée ou à venir)
date_relativecourt()  : string
Retourne une date relative courte (passée ou à venir)
affdate_base()  : string
Formatage humain de la date `$numdate` selon le format `$vue`
nom_jour()  : string
Affiche le nom du jour pour une date donnée
jour()  : string
Affiche le numéro du jour (1er à 31) pour une date donnée
journum()  : string
Affiche le numéro du jour (1 à 31) pour une date donnée
mois()  : string
Affiche le numéro du mois (01 à 12) pour une date donnée
nom_mois()  : string
Affiche le nom du mois pour une date donnée
annee()  : string
Affiche l'année sur 4 chiffres d'une date donnée
saison()  : string
Affiche le nom boréal ou austral de la saison
saison_annee()  : string
Affiche le nom boréal ou austral de la saison suivi de l'année en cours
affdate()  : string
Formate une date
affdate_court()  : string
Formate une date, omet l'année si année courante, sinon omet le jour
affdate_jourcourt()  : string
Formate une date, omet l'année si année courante
affdate_mois_annee()  : string
Retourne le mois en toute lettre et l’année d'une date
affdate_heure()  : string
Retourne la date suivie de l'heure
affdate_debut_fin()  : string
Afficher de facon textuelle les dates de début et fin en fonction des cas
date_ical()  : string
Adapte une date pour être insérée dans une valeur de date d'un export ICAL
date_iso()  : string
Retourne une date formattée au format "RFC 3339" ou "ISO 8601"
date_822()  : string
Retourne une date formattée au format "RFC 822"
date_anneemoisjour()  : string
Pour une date commençant par `Y-m-d`, retourne `Ymd`
date_anneemois()  : string
Pour une date commençant par `Y-m`, retourne `Ym`
date_debut_semaine()  : string
Retourne le premier jour (lundi) de la même semaine au format `Ymd`
date_fin_semaine()  : string
Retourne le dernier jour (dimanche) de la même semaine au format `Ymd`
parametres_css_prive()  : string
Retourne les paramètres de personnalisation css de l'espace privé
chercher_rubrique()  : string
Afficher le sélecteur de rubrique
avoir_visiteurs()  : bool
Tester si le site peut avoir des visiteurs
statuts_articles_visibles()  : array<string|int, mixed>
Lister les status d'article visibles dans l'espace prive en fonction du statut de l'auteur
traduire_statut_auteur()  : string
Traduire le statut technique de l'auteur en langage compréhensible
afficher_qui_edite()  : string
Afficher la mention des autres auteurs ayant modifié un objet
auteurs_lister_statuts()  : array<string|int, mixed>
Lister les statuts des auteurs
trouver_rubrique_creer_objet()  : int
Déterminer la rubrique pour la création d'un objet heuristique
lien_article_virtuel()  : string
Afficher le lien de redirection d'un article virtuel si il y a lieu (rien si l'article n'est pas redirige)
bouton_spip_rss()  : string
Filtre pour générer un lien vers un flux RSS privé
alertes_auteur()  : string
Vérifier la présence d'alertes pour les auteur
filtre_afficher_enfant_rub_dist()  : string
Filtre pour afficher les rubriques enfants d'une rubrique
afficher_plus_info()  : string
Afficher un petit "i" pour lien vers autre page
lister_objets_lies()  : array<string|int, mixed>
Lister les id objet_source associés à l'objet id_objet via la table de lien objet_lien
_couleur_dec_to_hex()  : string
Transforme une couleur vectorielle R,G,B en hexa (par exemple pour usage css)
_couleur_hex_to_dec()  : array<string|int, mixed>
Transforme une couleur hexa en vectorielle R,G,B
_couleur_hsl_to_hex()  : string
Transforme une couleur vectorielle H,S,L en hexa (par exemple pour usage css)
_couleur_hex_to_hsl()  : array<string|int, mixed>
Transforme une couleur vectorielle H,S,L en hexa (par exemple pour usage css)
_couleur_rgb_to_hsl()  : array<string|int, mixed>
Transformation d'une couleur RGB en HSL
_couleur_hsl_to_rgb()  : array<string|int, mixed>
Transformation d'une couleur HSL en RGB
statut_effacer_images_temporaires()  : bool|void
Donne un statut au fichier-image intermédiaire servant au traitement d'image selon qu'il doit être gravé (fichier .src) ou pas.
_image_valeurs_trans()  : bool|string|array<string|int, mixed>
Fonctions de preparation aux filtres de traitement d'image les fonctions de lecture et d'ecriture renseignees traitent uniquement le cas GD2 qui est le cas general des filtres images
_image_extensions_logos()  : array<string|int, mixed>
Extensions d’images acceptées en tant que logos
_image_extensions_acceptees_en_entree()  : array<string|int, mixed>
Extensions d’images acceptées en entrée
_image_extensions_acceptees_en_sortie()  : array<string|int, mixed>
Extensions d’images acceptées en sortie
_image_extension_normalisee()  : mixed
_image_extensions_conservent_transparence()  : mixed
_image_trouver_extension()  : string
Retourne la terminaison d’un fichier image
_image_trouver_extension_pertinente()  : string
Tente de trouver le véritable type d’une image, même si une image est d’extension .jpg alors que son contenu est autre chose (gif ou png)
_image_trouver_extension_depuis_mime()  : string
Retourne une extension d’image depuis un mime-type
_imagecreatefrom_func()  : resource|null
Crée une image depuis un fichier ou une URL (en indiquant la fonction GD à utiliser)
_imagecreatefromjpeg()  : resource|null
Crée une image depuis un fichier ou une URL (au format jpeg)
_imagecreatefrompng()  : resource|null
Crée une image depuis un fichier ou une URL (au format png)
_imagecreatefromgif()  : resource|null
Crée une image depuis un fichier ou une URL (au format gif)
_imagecreatefromwebp()  : resource|null
Crée une image depuis un fichier ou une URL (au format webp)
_image_imagepng()  : bool
Affiche ou sauvegarde une image au format PNG
_image_imagegif()  : bool
Affiche ou sauvegarde une image au format GIF
_image_imagejpg()  : bool
Affiche ou sauvegarde une image au format JPG
_image_imageico()  : bool
Crée un fichier-image au format ICO
_image_imagewebp()  : bool
Affiche ou sauvegarde une image au format WEBP
_image_imagesvg()  : bool
Sauvegarde une image au format SVG
_image_gd_output()  : bool
Finalise le traitement GD
reconstruire_image_intermediaire()  : mixed
Reconstruit une image à partir des sources de contrôle de son ancienne construction
ramasse_miettes()  : mixed
Indique qu'un fichier d'image calculé est à conserver
image_graver()  : string
Clôture une série de filtres d'images
_image_tag_changer_taille()  : string
Applique des attributs de taille (width, height) à une balise HTML
_image_ecrire_tag()  : string
Écriture de la balise img en sortie de filtre image
_image_creer_vignette()  : array<string|int, mixed>|null
Crée si possible une miniature d'une image
_image_ratio()  : array<string|int, mixed>
Réduire des dimensions en respectant un ratio
ratio_passe_partout()  : array<string|int, mixed>
Réduire des dimensions en respectant un ratio sur la plus petite dimension
process_image_svg_identite()  : string
Fonction identite de traitement par defaut des images SVG (quand un filtre n'annonce pas qu'il sait traiter un SVG on applique cette fonction a la place)
process_image_reduire()  : string
Réduit une image
couleur_html_to_hex()  : string
Transforme un code couleur textuel (black, white, green...) et code hexadécimal
couleur_hex_to_hsl()  : string
Retourne une couleur hsl a partir d'une couleur hex
couleur_hex_to_rgb()  : string
Retourne une couleur rgb a partir d'une couleur hex
couleur_foncer()  : string
Rend une couleur (code hexadécimal) plus foncée
couleur_eclaircir()  : string
Eclaircit une couleur (code hexadécimal)
image_select()  : Le
Selectionne les images qui vont subir une transformation sur un critere de taille
image_passe_partout()  : string
Réduit les images à une taille maximale (chevauchant un rectangle)
image_reduire()  : string
Réduit les images à une taille maximale (inscrite dans un rectangle)
image_recadre_avec_fallback()  : mixed
Usage espace privé: recadre une image uniquement si GD2 et image_recadre (plugin activé) existe sinon retourne le image_passe_partout usuel
image_reduire_par()  : string
Réduit les images d'un certain facteur
filtre_couleur_saturation_dist()  : string
Modifie la saturation de la couleur transmise
filtre_couleur_luminance_dist()  : string
Modifie la luminance de la couleur transmise
filtre_image_dist()  : string
Filtre d'incrustation d'un document image
filtre_audio_dist()  : string
Filtre d'incrustation d'un document audio
filtre_video_dist()  : string
Filtre d'incrustation d'un document video
filtre_application_dist()  : string
Filtre d'incrustation d'un document application
filtre_message_dist()  : string
Filtre d'incrustation d'un document message
filtre_multipart_dist()  : string
Filtre d'incrustation d'un document multipart
filtre_text_dist()  : string
Filtre d'incrustation d'un document test
filtre_text_csv_dist()  : string
Filtre d'incrustation d'un document CSV
filtre_text_html_dist()  : string
Filtre d'incrustation d'un document text/html
filtre_audio_x_pn_realaudio()  : string
Filtre d'incrustation d'un document RealAudio
resolve_path()  : string
Nettoyer une URL contenant des `../`
suivre_lien()  : string
Suivre un lien depuis une URL donnée vers une nouvelle URL
url_absolue()  : string
Transforme une URL relative en URL absolue
protocole_implicite()  : string
Supprimer le protocole d'une url absolue pour le rendre implicite (URL commencant par "//")
protocole_verifier()  : bool
Verifier qu'une url est absolue et que son protocole est bien parmi une liste autorisee
liens_absolus()  : string
Transforme les URLs relatives en URLs absolues
abs_url()  : string
Transforme une URL ou des liens en URL ou liens absolus
spip_htmlspecialchars()  : string
htmlspecialchars wrapper (PHP >= 5.4 compat issue)
spip_htmlentities()  : string
htmlentities wrapper (PHP >= 5.4 compat issue)
selecteur_lister_objets()  : array<string|int, mixed>
Fournit la liste des objets ayant un sélecteur
picker_selected()  : array<string|int, mixed>
Extrait des informations d'un tableau d'entrées `array("rubrique|9", "article|8", ...)` ou une chaine brute `rubrique|9,article|8,...`
picker_identifie_id_rapide()  : mixed
Récupère des informations sur un objet pour pouvoir l'ajouter aux éléments sélectionnés
test_enfants_rubrique()  : string
Déterminer si une rubrique a des enfants à afficher ou non
spip_fopen_lock()  : resource|bool
Ouvre un fichier et le vérrouille
spip_fclose_unlock()  : bool
Dévérrouille et ferme un fichier
spip_file_get_contents()  : string
Retourne le contenu d'un fichier, même si celui ci est compréssé avec une extension en `.gz`
lire_fichier()  : bool
Lit un fichier et place son contenu dans le paramètre transmis.
ecrire_fichier()  : bool
Écrit un fichier de manière un peu sûre
ecrire_fichier_securise()  : mixed
Écrire un contenu dans un fichier encapsulé en PHP pour en empêcher l'accès en l'absence de fichier htaccess
ecrire_fichier_calcule_si_modifie()  : bool|null
lire_fichier_securise()  : bool
Lire un fichier encapsulé en PHP
raler_fichier()  : never
Affiche un message d’erreur bloquant, indiquant qu’il n’est pas possible de créer le fichier à cause des droits sur le répertoire parent au fichier.
jeune_fichier()  : bool
Teste si un fichier est récent (moins de n secondes)
supprimer_fichier()  : bool
Supprimer un fichier de manière sympa (flock)
spip_unlink()  : mixed
Supprimer brutalement un fichier ou un dossier, s'il existe
spip_clear_opcode_cache()  : mixed
Invalidates a PHP file from any active opcode caches.
spip_attend_invalidation_opcode_cache()  : mixed
Attendre l'invalidation de l'opcache
supprimer_repertoire()  : bool
Suppression complete d'un repertoire.
sous_repertoire()  : string
Crée un sous répertoire
preg_files()  : array<string|int, mixed>
Parcourt récursivement le repertoire `$dir`, et renvoie les fichiers dont le chemin vérifie le pattern (preg) donné en argument.
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()  : mixed
Replanifier une tache periodique
redirige_par_entete()  : mixed
Envoyer le navigateur sur une nouvelle adresse
redirige_formulaire()  : mixed
redirige_url_ecrire()  : mixed
Effectue une redirection par header PHP vers un script de l’interface privée
http_no_cache()  : mixed
inc_icone_renommer_dist()  : mixed
inc_iconifier_dist()  : string|array<string|int, mixed>
Retourne le formulaire de gestion de logo sur les objets.
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
chemin_import_js()  : string
Cherche un fichier module.js (statique ou dynamique) présent dans un dossier javascript/ du path, ou bien copie localement une ressource distante, et renvoie son url locale
importmap_contexte_produire_fond_statique()  : mixed
Liste des paramètres utiles à la compilation des fonds dynamiques pour les fichiers `_initjs` ou la balise `#IMPORT_JS{}`
importmap_insert_head()  : mixed
Insertion de la balise <script type="importmap"></script>, au plus tôt dans le <head>, côté privé, et côté public, pour en faire bénéficier les <script type="module"></script>
inc_informer_dist()  : mixed
install_fichier_connexion()  : mixed
Écrit un fichier PHP nécessitant SPIP
analyse_fichier_connection()  : array<string|int, mixed>
Analyse un fichier de connexion à une base de données
bases_referencees()  : array<string|int, mixed>
Liste les connecteurs aux bases SQL disponibles
install_mode_appel()  : mixed
tester_compatibilite_hebergement()  : mixed
info_etape()  : mixed
bouton_suivant()  : string
Retourne le code HTML d'un bouton `suivant>>` pour les phases d'installation
info_progression_etape()  : mixed
fieldset()  : mixed
fieldset_champs()  : mixed
install_select_serveur()  : mixed
install_connexion_form()  : mixed
predef_ou_cache()  : mixed
install_etape_liste_bases()  : mixed
install_propager()  : mixed
taille_du_cache()  : int
Évalue approximativement la taille du cache
inc_suivre_invalideur_dist()  : mixed
Invalider les caches liés à telle condition
purger_repertoire()  : int
Purge un répertoire de ses fichiers
inc_retire_caches_dist()  : mixed
retire_caches()  : mixed
calcul_invalideurs()  : mixed
supprime_invalideurs()  : mixed
maj_invalideurs()  : mixed
insere_invalideur()  : mixed
applique_invalideur()  : mixed
suivre_invalideur()  : mixed
inc_journal_dist()  : mixed
changer_langue()  : string|bool
Changer la langue courante
choisir_traduction()  : mixed
approcher_langue()  : mixed
traduire_nom_langue()  : string
Traduit un code de langue (fr, en, etc...) vers le nom de la langue en toute lettres dans cette langue (français, English, etc....).
lang_dir()  : mixed
lang_typo()  : mixed
changer_typo()  : mixed
menu_langues()  : mixed
select_langues()  : mixed
liste_options_langues()  : array<string|int, mixed>
Lister les langues disponibles
verifier_lang_url()  : mixed
Redirige sur la bonne langue lorsque l'option forcer_lang est active
utiliser_langue_site()  : string
Utilise la langue du site
utiliser_langue_visiteur()  : string
Initialise la langue pour un visiteur du site
match_langue()  : int
Verifier qu'une chaine suceptible d'etre un nom de langue a le bon format
init_langues()  : mixed
Initialisation des listes de langues
html_lang_attributes()  : string
Retourne une balise <html>
aide_lang_dir()  : string
Calcul de la direction du texte et la mise en page selon la langue
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
spip_livrer_fichier()  : mixed
Envoyer un fichier dont on fourni le chemin, le mime type, en attachment ou non, avec un expire
spip_livrer_fichier_entetes()  : mixed
Envoyer les entetes du fichier, sauf ce qui est lie au mode d'envoi (entier ou par parties)
spip_livrer_fichier_entier()  : mixed
Envoyer les contenu entier du fichier
spip_livrer_fichier_partie()  : mixed
Envoyer une partie du fichier Prendre en charge l'entete Range:bytes=0-456 utilise par les player medias source : https://github.com/pomle/php-serveFilePartial/blob/master/ServeFilePartial.inc.php
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>`.
inc_meta_dist()  : mixed
lire_metas()  : mixed
touch_meta()  : mixed
Mettre en cache la liste des meta, sauf les valeurs sensibles pour qu'elles ne soient pas visibiles dans un fichier (souvent en 777)
effacer_meta()  : mixed
Supprime une meta
ecrire_meta()  : mixed
Met à jour ou crée une meta avec la clé et la valeur indiquée
cache_meta()  : string
Retourne le nom du fichier cache d'une table SQL de meta
installer_table_meta()  : mixed
Installer une table de configuration supplementaire
supprimer_table_meta()  : mixed
Supprimer une table de configuration supplémentaire
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
collecter_requests()  : array<string|int, mixed>
Collecte des champs postés
objet_modifier_champs()  : bool|string
Modifie le contenu d'un objet
spip_nfslock()  : int|bool
Crée un verrou pour NFS
spip_nfsunlock()  : mixed
Unlock an nfslock()ed file
spip_nfslock_test()  : mixed
Test a lock to see if it's still valid.
inc_notifications_dist()  : mixed
La fonction de notification de base, qui dispatche le travail
notifications_nettoyer_emails()  : mixed
Néttoyage des emails avant un envoi
notifications_envoyer_mails()  : mixed
Envoyer un email de notification
email_notification_objet()  : string
Notifier un événement sur un objet
email_notification_article()  : string
Notifier un événement sur un article
f_tidy()  : string
Indente un code HTML
f_insert_head()  : string
Offre `#INSERT_HEAD` sur tous les squelettes (bourrin)
f_admin()  : string
Insérer au besoin les boutons admins
f_recuperer_fond()  : array<string|int, mixed>
Actions sur chaque inclusion
f_queue()  : string
Gérer le lancement du cron si des tâches sont en attente
f_jQuery_prive()  : string
Inserer jQuery et ses plugins pour l'espace privé
affichage_final_prive_title_auto()  : string
Ajout automatique du title dans les pages du privé en squelette
f_boite_infos()  : mixed
f_afficher_blocs_ecrire()  : array<string|int, mixed>
Utilisation du pipeline recuperer_fond dans le prive
afficher_blocs_ecrire_preparer_marqueur()  : string
Vérifie la présence d'un marqueur dans le HTML et l'ajoute si nécessaire.
f_queue_affiche_milieu()  : string
Afficher les taches en attente liees a un objet
mise_a_jour_affiche_milieu()  : string
Afficher le message de mise à jour dans toutes les pages du privé pour les webmestres
trouver_objet_exec()  : array<string|int, mixed>|bool
Trouver l'objet qui correspond à l'exec de l'espace privé passé en argument
inc_plonger_dist()  : mixed
liste_plugin_files()  : array<string|int, mixed>
Retourne la description de chaque plugin présent dans un répertoire
fast_find_plugin_dirs()  : array<string|int, mixed>
Recherche rapide des répertoires de plugins contenus dans un répertoire
is_plugin_dir()  : string|array<string|int, string>
Indique si un répertoire (ou plusieurs) est la racine d'un plugin SPIP
plugin_version_compatible()  : bool
Teste si le numéro de version d'un plugin est dans un intervalle donné.
liste_plugin_valides()  : array<string|int, mixed>
Construire la liste des infos strictement necessaires aux plugins à activer afin de les mémoriser dans une meta pas trop grosse
plugin_valide_resume()  : string|array<string|int, mixed>
Ne retenir un plugin que s'il est valide et dans leur plus recente version compatible avec la version presente de SPIP
plugin_fixer_procure()  : mixed
Compléter la liste des plugins avec les éventuels procure
liste_chemin_plugin()  : array<string|int, mixed>
Extrait les chemins d'une liste de plugin
liste_chemin_plugin_actifs()  : array<string|int, mixed>
Liste les chemins vers les plugins actifs du dossier fourni en argument a partir d'une liste d'elelements construits par plugin_valide_resume
plugin_trier()  : array<string|int, mixed>
Trier les plugins en vériant leur dépendances (qui doivent être présentes)
plugins_erreurs()  : mixed
Collecte les erreurs de dépendances des plugins dans la meta `plugin_erreur_activation`
plugin_donne_erreurs()  : string|array<string|int, mixed>
Retourne les erreurs d'activation des plugins, au format html ou brut
plugin_necessite()  : array<string|int, mixed>
Teste des dépendances
plugin_controler_necessite()  : mixed
Vérifie qu'une dépendance (plugin) est bien présente.
plugin_message_incompatibilite()  : string
plugin_controler_lib()  : mixed
actualise_plugins_actifs()  : bool
Calcule la liste des plugins actifs et recompile les fichiers caches qui leurs sont relatifs
ecrire_plugin_actifs()  : bool
Calcule ou modifie la liste des plugins actifs et recompile les fichiers caches qui leurs sont relatifs
plugins_precompile_chemin()  : mixed
Écrit le fichier de déclaration des chemins (path) des plugins actifs
plugins_precompile_xxxtions()  : mixed
Écrit les fichiers de chargement des fichiers d'options et de fonctions des plugins
plugin_ongletbouton()  : string
Compile les entrées d'un menu et retourne le code php d'exécution
plugins_amorcer_plugins_actifs()  : mixed
Chargement des plugins actifs dans le path de SPIP et exécution de fichiers d'options des plugins
pipeline_matrice_precompile()  : array<string|int, mixed>
Crée la liste des filtres à traverser pour chaque pipeline
pipeline_precompile()  : mixed
Précompilation des pipelines
plugin_est_installe()  : bool
Indique si un chemin de plugin fait parti des plugins activés sur le site
plugin_installes_meta()  : mixed
Parcours les plugins activés et appelle leurs fonctions d'installation si elles existent.
ecrire_fichier_php()  : mixed
Écrit un fichier PHP
inc_precharger_article_dist()  : array<string|int, mixed>
Retourne les valeurs à charger pour un formulaire d'édition d'un article
inc_precharger_traduction_article_dist()  : array<string|int, mixed>
Récupère les valeurs d'une traduction de référence pour la création d'un article (préremplissage du formulaire).
precharger_objet()  : array<string|int, mixed>
Retourne les valeurs à charger pour un formulaire d'édition d'un objet
precharger_traduction_objet()  : array<string|int, mixed>
Récupère les valeurs d'une traduction de référence pour la création d'un objet (préremplissage du formulaire).
inc_prepare_recherche_dist()  : array<string|int, mixed>
Préparer les listes `id_article IN (...)` pour les parties WHERE et calcul des `points` pour la partie SELECT des requêtes du moteur de recherche
generer_select_where_explicites()  : array<string|int, mixed>
Generer le select et where qui contiennent explicitement les id et points (ie comme dans SPIP 1.9.x) quand on fait une recherche sur une table externe
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
debut_cadre()  : mixed
fin_cadre()  : mixed
debut_cadre_relief()  : mixed
fin_cadre_relief()  : mixed
debut_cadre_enfonce()  : mixed
fin_cadre_enfonce()  : mixed
debut_cadre_sous_rub()  : mixed
fin_cadre_sous_rub()  : mixed
debut_cadre_couleur()  : mixed
fin_cadre_couleur()  : mixed
debut_cadre_trait_couleur()  : mixed
fin_cadre_trait_couleur()  : mixed
debut_boite_alerte()  : mixed
fin_boite_alerte()  : mixed
debut_boite_info()  : mixed
fin_boite_info()  : mixed
gros_titre()  : string
Affiche le titre d’une page de l’interface privée. Utilisée par la plupart des fichiers `exec/xx.php`.
bloc_des_raccourcis()  : mixed
debut_onglet()  : mixed
fin_onglet()  : mixed
onglet()  : mixed
icone_verticale()  : string
Crée un lien précédé d'une icone au dessus du texte
icone_horizontale()  : string
Crée un lien précédé d'une icone horizontale
debut_grand_cadre()  : string
Retourne le code HTML d'un début de cadre pour le centre de page (haut de page)
fin_grand_cadre()  : string
Retourne le code HTML d'une fin de cadre pour le centre de page (haut de page)
debut_gauche()  : string
Retourne le code HTML du début de la colonne gauche
fin_gauche()  : string
Retourne le code HTML de la fin de la colonne
creer_colonne_droite()  : string
Retourne le code HTML du changement de colonne (passer de la gauche à la droite)
debut_droite()  : string
Retourne le code HTML de la colonne droite et du centre de page
liste_objets_bloques()  : string
Retourne la liste des objets édités récemment (si les drapeaux d'édition sont actifs)
fin_page()  : string
Retourne le code HTML de fin de page de l'interface privée.
html_tests_js()  : string
Retourne des tests javascript à exécuter
info_maj_spip()  : string
Retourne la liste des mises à jour de SPIP possibles
info_copyright()  : string
Retourne les informations de copyright (version de SPIP, de l'écran de sécurité) pour le pied de page de l'espace privé
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_puce_statut_dist()  : string
Afficher la puce statut d'un objet
statut_image()  : string|null
Récuperer l'image correspondant au statut pour un objet éditorial indiqué
statut_titre()  : string
Récupérer le titre correspondant au statut pour un objet éditorial indiqué
statut_texte_instituer()  : string
Recuperer le texte correspondant au choix de statut, tel que declare dans declarer_tables_objets_sql sous la forme array('statut1'=>'texte statut 1','statut2'=>'texte statut 2' ...) mettre une chaine vide pour ne pas proposer un statut les statuts seront proposes dans le meme ordre que dans la declaration
puce_statut_auteur_dist()  : string
Afficher la puce statut d'un auteur
puce_statut_rubrique_dist()  : mixed
puce_statut_changement_rapide()  : string
Retourne le contenu d'une puce avec changement de statut possible si on en a l'autorisation, sinon simplement l'image de la puce
afficher_script_statut()  : mixed
puce_statut()  : mixed
queue_add_job()  : int
Ajouter une tâche à la file
queue_purger()  : mixed
Purger la file de tâche et reprogrammer les tâches périodiques
queue_remove_job()  : int|bool
Retirer une tache de la file d'attente
queue_link_job()  : mixed
Associer une tache avec un objet
queue_unlink_job()  : mixed
Dissocier une tache d'un objet
queue_start_job()  : mixed
Lancer une tache decrite par sa ligne SQL
queue_schedule()  : null|bool
Exécute les prochaînes tâches cron et replanifie les suivantes
queue_close_job()  : mixed
Terminer un job au status _JQ_PENDING
queue_error_handler()  : mixed
Récuperer des erreurs autant que possible en terminant la gestion de la queue
queue_is_cron_job()  : bool|int
Tester si une tâche était une tâche périodique à reprogrammer
queue_update_next_job_time()  : mixed
Mettre a jour la date du prochain job a lancer Si une date est fournie (au format time unix) on fait simplement un min entre la date deja connue et celle fournie (cas de l'ajout simple ou cas $next_time=0 car l'on sait qu'il faut revenir ASAP)
queue_set_next_job_time()  : mixed
Mettre a jour la date de prochain job
queue_affichage_cron()  : string
Déclenche le cron en asynchrone ou retourne le code HTML pour le déclencher
queue_lancer_url_http_async()  : bool
Lancer le cron via un hit http sans attendre le resultat
inc_recherche_to_array_dist()  : mixed
liste_des_champs()  : array<string|int, mixed>
Donne la liste des champs/tables où l'on sait chercher / remplacer avec un poids pour le score
liste_des_jointures()  : mixed
expression_recherche()  : mixed
recherche_en_base()  : array<string|int, mixed>
Effectue une recherche sur toutes les tables de la base de données
remplace_en_base()  : mixed
roles_presents()  : bool|array<string|int, mixed>
Vérifie qu'un objet dispose de rôles fonctionnels
roles_colonne()  : string
Retrouve la colonne de liaison d'un rôle si définie entre 2 objets
roles_trouver_dans_qualif()  : array<string|int, mixed>
Extrait le rôle et la colonne de role d'un tableau de qualification
roles_creer_condition_role()  : array<string|int, mixed>
Gérer l'ajout dans la condition where du rôle
roles_complets()  : array<string|int, mixed>
Liste des identifiants dont on ne peut ajouter de rôle
roles_presents_sur_id()  : array<string|int, mixed>
Liste les roles attribués entre 2 objets/id_objet sur une table de liaison donnée
roles_presents_liaisons()  : array<string|int, mixed>|bool
Lister des rôles présents sur une liaion, pour un objet sur un autre, classés par identifiant de l'objet
roles_connus_en_base()  : array<string|int, mixed>|bool
Lister des rôles connus en base pour une liaion, pour un objet source
calculer_rubriques_if()  : mixed
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()  : mixed
Recalcule des héritages de rubriques
calculer_rubriques_publiees()  : mixed
Recalcule l'ensemble des données associées à l'arborescence des rubriques
propager_les_secteurs()  : mixed
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()  : mixed
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()  : mixed
Calcule la date du prochain article post-daté
creer_rubrique_nommee()  : int
Crée une arborescence de rubrique
inc_securiser_action_dist()  : array<string|int, mixed>|string
Génère ou vérifie une action sécurisée
demander_confirmation_avant_action()  : bool
Confirmer avant suppression si on arrive par un bouton action a appeler dans la fonction action avant toute action destructrice
securiser_action_auteur()  : array<string|int, mixed>|string
Retourne une URL ou un formulaire sécurisés
caracteriser_auteur()  : array<string|int, mixed>
Caracteriser un auteur : l'auteur loge si $id_auteur=null
_action_auteur()  : string
Calcule une cle securisee pour une action et un auteur donnes utilisee pour generer des urls personelles pour executer une action qui modifie la base et verifier la legitimite de l'appel a l'action
_action_get_alea()  : string
calculer_action_auteur()  : string
Calculer le hash qui signe une action pour un auteur
verifier_action_auteur()  : bool
Verifier le hash de signature d'une action toujours exclusivement pour l'auteur en cours
secret_du_site()  : string
Renvoyer le secret du site (le generer si il n'existe pas encore)
calculer_cle_action()  : string
Calculer une signature valable pour une action et pour le site
verifier_cle_action()  : bool
Verifier la cle de signature d'une action valable pour le site
calculer_token_previsu()  : string
Calculer le token de prévisu
verifier_token_previsu()  : false|array<string|int, mixed>
Vérifie un token de prévisu
decrire_token_previsu()  : bool|array<string|int, mixed>
Décrire un token de prévisu en session
inc_selectionner_dist()  : string
Affiche un mini-navigateur ajax positionné sur une rubrique
construire_selectionner_hierarchie()  : string
Construit le sélectionneur de hierarchie
mini_hier()  : array<string|int, mixed>
Récupère les identifiants de hierarchie d'une rubrique
inc_session_dist()  : bool|null|void
3 actions sur les sessions, selon le type de l'argument:
supprimer_sessions()  : mixed
Supprimer toutes les vieilles sessions d'un auteur
ajouter_session()  : bool|string
Ajoute une session pour l'auteur décrit par un tableau issu d'un SELECT-SQL
definir_duree_cookie_session()  : int
Calcule le temps de validité en seconde du cookie de session
lire_cookie_session()  : string|null
Lire le cookie de session et le valider de façon centralisée
effacer_cookie_session()  : void
Annuler le cookie de session
set_cookie_session()  : string|null
Prolonger / Changer la valeur du cookie de session
verifier_session()  : bool|int|null
Vérifie si le cookie spip_session indique une session valide
session_get()  : mixed|null
Lire une valeur dans la session SPIP
session_set()  : void|array<string|int, mixed>
Ajouter une donnée dans la session SPIP
terminer_actualiser_sessions()  : mixed
En fin de hit, synchroniser toutes les sessions
actualiser_sessions()  : mixed
Mettre à jour les sessions existantes pour un auteur
lister_sessions_auteur()  : array<string|int, mixed>
lister les sessions et en verifier le nombre maxi en supprimant les plus anciennes si besoin https://core.spip.net/issues/3807
preparer_ecriture_session()  : array<string|int, mixed>
Préparer le tableau de session avant écriture
ecrire_fichier_session()  : bool
Ecrire le fichier d'une session
chemin_fichier_session()  : string
Calculer le chemin vers le fichier de session
fichier_session()  : string
Calculer le nom du fichier session
rejouer_session()  : string
Code à insérer par `inc/presentation` pour rejouer la session
hash_env()  : string
On verifie l'IP et le nom du navigateur
spip_php_session_start()  : bool
Démarre une session PHP si ce n'est pas déjà fait.
is_php_session_started()  : bool
Indique si une sesssion PHP est active
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
svg_charger()  : false|string
Charger une image SVG a partir d'une source qui peut etre - l'image svg deja chargee - une data-url - un nom de fichier
svg_lire_balise_svg()  : array<string|int, mixed>|bool
Lire la balise <svg...> qui demarre le fichier et la parser pour renvoyer un tableau de ses attributs
svg_lire_attributs()  : array<string|int, mixed>|bool
Attributs de la balise SVG
svg_nettoyer()  : string
Nettoyer le code d'une balise <svg> pour en retirer le marqueur utf8-bom, l'entête xml et les commentaires
svg_dimension_to_pixels()  : bool|float|int
Convertir l'attribut widht/height d'un SVG en pixels (approximatif eventuellement, du moment qu'on respecte le ratio)
svg_change_balise_svg()  : string
Modifier la balise SVG en entete du source
svg_insert_shapes()  : string
svg_clip_in_box()  : string
Clipper le SVG dans une box
svg_redimensionner()  : bool|string
Redimensionner le SVG via le width/height de la balise
svg_couleur_to_hexa()  : string
Transformer une couleur extraite du SVG en hexa
svg_couleur_to_rgb()  : array<string|int, mixed>
Transformer une couleur extraite du SVG en rgb
svg_getimagesize_from_attr()  : array<string|int, mixed>
Calculer les dimensions width/heigt/viewBox du SVG d'apres les attributs de la balise <svg>
svg_force_viewBox_px()  : string
Forcer la viewBox du SVG, en px cree l'attribut viewBox si il n'y en a pas convertit les unites en px si besoin
svg_extract_couleurs()  : array<string|int, mixed>|mixed
Extract all colors in SVG
svg_recadrer()  : string
Redimensionner le SVG via le width/height de la balise
svg_ajouter_background()  : string
Ajouter un background au SVG : un rect pleine taille avec la bonne couleur
svg_ajouter_voile()  : bool|string
Ajouter un voile au SVG : un rect pleine taille avec la bonne couleur/opacite, en premier plan
svg_transformer()  : string
Ajouter un background au SVG : un rect pleine taille avec la bonne couleur
svg_apply_filter()  : bool|string
Ajouter + appliquer un filtre a un svg
svg_filter_blur()  : string
Filtre blur en utilisant <filter>
svg_filter_grayscale()  : bool|string
Filtre grayscale en utilisant <filter>
svg_filter_sepia()  : bool|string
Filtre sepia en utilisant <filter>
svg_flip()  : string
Ajouter un background au SVG : un rect pleine taille avec la bonne couleur
svg_rotate()  : string
svg_filtrer_couleurs()  : bool|mixed|string
Filtrer les couleurs d'un SVG avec une callback (peut etre lent si beaucoup de couleurs)
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)
retablir_echappements_modeles()  : mixed
Réinserer les échappements des modèles
echappe_retour()  : array<string|int, mixed>|mixed|string|array<string|int, string>
Traitement final des echappements Rq: $source sert a faire des echappements "a soi" qui ne sont pas nettoyes par propre() : exemple dans multi et dans typo()
echappe_retour_modeles()  : mixed
couper()  : string
Coupe un texte à une certaine longueur.
protege_js_modeles()  : mixed
echapper_faux_tags()  : mixed
echapper_html_suspect()  : string
Si le html contenu dans un texte ne passe pas sans transformation a travers safehtml on l'echappe si safehtml ne renvoie pas la meme chose on echappe les < en &lt; pour montrer le contenu brut
safehtml()  : string
Sécurise un texte HTML
is_html_safe()  : bool
Detecter si un texte est "safe" ie non modifie significativement par safehtml()
supprime_img()  : string
Supprime les modèles d'image d'un texte
find_langs_in_path()  : array<string|int, mixed>
Rechercher tous les lang/file dans le path qui seront ensuite chargés dans l'ordre du path
chercher_module_lang()  : array<string|int, mixed>
Recherche le ou les fichiers de langue d'un module de langue
charger_langue()  : mixed
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)
urls_decoder_url()  : array<string|int, mixed>
Décoder une URL en utilisant les fonctions inverses
urls_transition_retrouver_anciennes_url_propres()  : array<string|int, mixed>
Le bloc qui suit sert a faciliter les transitions depuis le mode 'urls-propres' vers les modes 'urls-standard' et 'url-html'
urls_transition_retrouver_anciennes_url_html()  : array<string|int, mixed>
Le bloc qui suit sert a faciliter les transitions depuis le mode 'urls-html/standard' vers les modes 'urls propres|arbos'
urls_liste_objets()  : string|array<string|int, mixed>
Lister les objets pris en compte dans les URLs c'est à dire suceptibles d'avoir une URL propre
nettoyer_url_page()  : array<string|int, mixed>
Nettoyer une URL, en repérant notamment les raccourcis d'objets
generer_objet_url_ecrire()  : string
Générer l'URL d'un objet dans l'espace privé
spip_xml_load()  : array<string|int, mixed>|bool
Lit un fichier xml donné et renvoie son arbre.
spip_xml_parse()  : array<string|int, mixed>|bool
Parse une chaine XML donnée et retourne un tableau.
spip_xml_aplatit()  : mixed
spip_xml_tagname()  : mixed
spip_xml_decompose_tag()  : mixed
spip_xml_match_nodes()  : bool
Recherche dans un arbre XML généré par `spip_xml_parse()` (ou une branche de cet arbre) les clés de l'arbre qui valident la regexp donnée.
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
maj2021_supprimer_toutes_sessions_si_aucun_backup_cles()  : mixed
Supprime toutes les sessions des auteurs si on a pas encore généré de config/cles.php avec son backup
maj_timestamp_mysql()  : mixed
Mise à jour des bdd Mysql pour réparer les timestamp auto-update absents
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_plugin_dist()  : mixed
plugin_bouton_config()  : mixed
plugin_checkbox()  : mixed
plugin_nom()  : mixed
plugin_resume()  : mixed
plugin_desintalle()  : mixed
plugin_etat_en_clair()  : string
Traduit un type d'état de plugin
plugin_propre()  : mixed
plugin_typo()  : mixed
affiche_bloc_plugin()  : mixed
formater_credits()  : 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_get_infos_dist()  : array<string|int, mixed>
Lecture du fichier de configuration d'un plugin
plugins_get_infos_un()  : mixed
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()  : mixed
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_installer_dist()  : array<string|int, mixed>|bool
Installe ou retire un plugin
spip_plugin_install()  : bool|void
Fonction standard utilisée par defaut pour install/desinstall
liste_plugin_actifs()  : array<string|int, mixed>
Retourne un tableau des plugins activés sur le site
plugins_verifie_conformite_dist()  : mixed
affiche_boutons_admin()  : string
Ajoute les boutons d'administration de la page s'ils n'y sont pas déjà
securiser_redirect_action()  : string
traiter_appels_actions()  : mixed
refuser_traiter_formulaire_ajax()  : mixed
traiter_appels_inclusions_ajax()  : mixed
traiter_formulaires_dynamiques()  : mixed
assembler()  : mixed
calculer_contexte()  : array<string|int, mixed>
Calcul le contexte de la page
calculer_contexte_implicite()  : array<string|int, mixed>
Calculer le contexte implicite, qui n'apparait pas dans le ENV d'un cache mais est utilise pour distinguer deux caches differents
auto_content_type()  : mixed
inclure_page()  : mixed
public_produire_page_dist()  : array<string|int, mixed>
Produire la page et la mettre en cache lorsque c'est necessaire
inserer_balise_dynamique()  : mixed
inclure_balise_dynamique()  : string|void
Inclusion de balise dynamique Attention, un appel explicite a cette fonction suppose certains include
message_page_indisponible()  : mixed
arguments_balise_dyn_depuis_modele()  : mixed
gerer le flag qui permet de reperer qu'une balise dynamique a ete inseree depuis un modele utilisee dans les #FORMULAIRE_xx
creer_contexte_de_modele()  : mixed
styliser_modele()  : string
Router eventuellement un modele vers un autre * le modele doit etre declare dans la liste 'modeles' d'une table objet * il faut avoir un routeur de modele declare pour le meme objet
inclure_modele()  : string|false
Calcule le modele et retourne la mini-page ainsi calculee
spip_securise_valeur_env_modele()  : array<string|int, mixed>|float|int|mixed|string|array<string|int, string>|null
Sanitizer une valeur venant de _request() et passée à un modèle : on laisse passer les null, bool et numeriques (id et pagination), les @+nombre (pagination indirecte) ou sinon le \w + espace et tirets uniquement, pour les tris/sens tri etc mais rien de compliqué suceptible d'être interprété
evaluer_fond()  : mixed
page_base_href()  : mixed
envoyer_entetes()  : mixed
Envoyer les entetes (headers)
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_TRAD_dist()  : Champ
Compile la balise `#TRAD` qui traduit une clé de langue
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_LAYOUT_PRIVE_dist()  : Champ
Compile la balise `#LAYOUT_PRIVE` relative à la disposition de l'espace privé.
balise_CONST_dist()  : Champ
Compile la balise `#CONST` qui retourne la valeur de la constante passée en argument
balise_PARAM_dist()  : Champ
Affiche un paramètre public du container SPIP.
boucle_DEFAUT_dist()  : string
Compile une boucle standard, sans condition rajoutée
boucle_BOUCLE_dist()  : string
Compile une boucle récursive
boucle_HIERARCHIE_dist()  : string
Compile une boucle HIERARCHIE
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()  : mixed
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()  : mixed
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()  : mixed
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()  : mixed
Compile le critère {lang_select}
critere_debut_dist()  : mixed
Compile le critère {debut_xxx}
critere_pagination_dist()  : mixed
Compile le critère `pagination` qui demande à paginer une boucle.
critere_recherche_dist()  : mixed
Compile le critère `recherche` qui permet de sélectionner des résultats d'une recherche.
critere_traduction_dist()  : mixed
Compile le critère `traduction`
critere_origine_traduction_dist()  : mixed
Compile le critère {origine_traduction}
critere_meme_parent_dist()  : void|array<string|int, mixed>
Compile le critère {meme_parent}
critere_branche_dist()  : mixed
Compile le critère `branche` qui sélectionne dans une boucle les éléments appartenant à une branche d'une rubrique.
critere_logo_dist()  : mixed
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()  : mixed
Compile les critères {i,j} et {i/j}
calculer_parties()  : mixed
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()  : mixed
Compile le critère {where}
critere_having_dist()  : mixed
Compile le critère {having}
critere_id__dist()  : mixed
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()  : mixed
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()  : mixed
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
filtre_introduction_dist()  : string
Calcul d'une introduction
filtre_pagination_dist()  : string
Filtre calculant une pagination, utilisé par la balise `#PAGINATION`
filtre_bornes_pagination_dist()  : array<string|int, int>
Calcule les bornes d'une pagination
filtre_pagination_affiche_texte_lien_page_dist()  : mixed
lister_objets_avec_logos()  : string
Retourne pour une clé primaire d'objet donnée les identifiants ayant un logo
calculer_notes()  : string
Renvoie l'état courant des notes, le purge et en prépare un nouveau
retrouver_rang_lien()  : string
Retrouver le rang du lien entre un objet source et un obet lie utilisable en direct dans un formulaire d'edition des liens, mais #RANG doit faire le travail automatiquement [(#ENV{objet_source}|rang_lien{#ID_AUTEUR,#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}})]
lister_objets_liens()  : mixed
Lister les liens en le memoizant dans une static pour utilisation commune par lister_objets_lies et retrouver_rang_lien dans un formulaire d'edition de liens (evite de multiplier les requetes)
calculer_rang_smart()  : int|string
Calculer la balise #RANG quand ce n'est pas un champ rang : peut etre le num titre, le champ rang_lien ou le rang du lien en edition des liens, a retrouver avec les infos du formulaire
calculer_balise_tri()  : string
Calcul de la balise #TRI
tri_protege_champ()  : string
Proteger les champs passes dans l'url et utiliser dans {tri ...} preserver l'espace pour interpreter ensuite num xxx et multi xxx on permet d'utiliser les noms de champ prefixes articles.titre et les propriete json properties.gis[0].ville
tri_champ_order()  : string
Interpreter les multi xxx et num xxx utilise comme tri pour la clause order 'multi xxx' devient simplement 'multi' qui est calcule dans le select
tri_champ_select()  : string
Interpreter les multi xxx et num xxx utilise comme tri pour la clause select 'multi xxx' devient select "...." as multi les autres cas ne produisent qu'une chaine vide '' en select 'hasard' devient 'rand() AS hasard' dans le select
formate_liste_critere_par_ordre_liste()  : string
Fonction de mise en forme utilisee par le critere {par_ordre_liste..}
filtre_styles_inline_page_login_pass_dist()  : string
generer le style dynamique inline pour la page de login et spip_pass
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
declarer_interfaces()  : mixed
Déclarer les interfaces de la base pour le compilateur
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()  : mixed
Accepte la syntaxe historique {arg1=val1}{arg2=val2}... dans les INCLURE au lieu de {arg1=val1,arg2=val2,...}
normaliser_inclure()  : mixed
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_preparer_idiomes()  : string
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()  : mixed
Gerer les derogations de syntaxe historiques Ne concerne plus que #MODELE et <INCLURE> / #INCLURE
phraser_criteres()  : mixed
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_placeholder_hash()  : string
Définir un placeholder avec un hash unique pour substitution dans un texte donné on s'assure de n'avoir aucune occurence existante dans le texte
phraser_placeholder_memoriser()  : mixed
Memoriser un champ ou une boucle associé a son placeholder
phraser_placeholder_reinjecter()  : mixed
Reinejcter un champ ou une boucle associé a son placeholder
public_placeholder_generer()  : string
Generer une balise placeholder qui prend la place d'une boucle ou d'un champ pour continuer le parsing des balises utilisé pour remplacer une boucle ou un idiome
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
quete_virtuel()  : array<string|int, mixed>|bool|null
Retourne l'URL de redirection d'un article virtuel, seulement si il est publié
quete_parent_lang()  : array<string|int, mixed>
Retourne le couple `parent,lang` pour toute table
quete_parent()  : int
Retourne le parent d'une rubrique
quete_rubrique()  : int
Retourne la rubrique d'un article
quete_profondeur()  : int
Retourne la profondeur d'une rubrique
quete_condition_postdates()  : string
Retourne la condition sur la date lorsqu'il y a des post-dates
quete_condition_statut()  : array<string|int, mixed>|string
Calculer la condition pour filtrer les status,
quete_fichier()  : array<string|int, mixed>|bool|null
Retourne le fichier d'un document
quete_document()  : array<string|int, mixed>|bool
Toute les infos sur un document
quete_meta()  : array<string|int, mixed>|bool|null
Récuperer une meta sur un site (spip) distant (en local il y a plus simple)
quete_logo()  : array<string|int, mixed>|string
Retourne le logo d'un objet, éventuellement par héritage
quete_logo_objet()  : bool|array<string|int, mixed>
Chercher le logo d'un contenu précis
quete_logo_file()  : bool|string
Retourne le logo d’un fichier (document spip) sinon la vignette du type du fichier
quete_logo_document()  : string
Trouver l'image logo d'un document
quete_html_logo()  : string
Recuperer le HTML du logo d'apres ses infos
document_spip_externe()  : string|false
Retourne le chemin d’un document lorsque le connect est précisé
vignette_logo_document()  : string
Retourne la vignette explicitement attachee a un document le resutat est un fichier local existant, ou une URL ou vide si pas de vignette
calcul_exposer()  : bool|string
Calcul pour savoir si un objet est expose dans le contexte fournit par $reference
quete_debut_pagination()  : int
Trouver le numero de page d'une pagination indirecte lorsque debut_xxx=@123 on cherche la page qui contient l'item dont la cle primaire vaut 123
is_whereable()  : bool
Retourne true si ce where doit être appliqué, dans le cas des critères avec ? tel que `{id_article ?}`
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
sandbox_composer_texte()  : string
Composer le code d'exécution d'un texte
sandbox_composer_filtre()  : string
Composer le code d'exécution d'un filtre
analyser_arguments_filtre()  : ReflectionFunctionAbstract}
Analyser les arguments d’un filtre
sandbox_composer_interdire_scripts()  : string
Composer le code de sécurisation anti script
sandbox_filtrer_squelette()  : mixed|string
Appliquer des filtres sur un squelette complet
echapper_php_callback()  : string|array<string|int, mixed>
Callback pour échapper du code PHP (les séquences `<?php ... ?>`)
public_styliser_dist()  : array<string|int, mixed>
Déterminer le squelette qui sera utilisé pour rendre la page ou le bloc à partir de `$fond` et du `$contetxe`
styliser_par_objets()  : array<string|int, mixed>
Cherche à échafauder un squelette générique pour un objet éditorial si aucun squelette approprié n'a été trouvé
quete_rubrique_fond()  : array<string|int, mixed>|false
Calcul de la rubrique associée à la requête (sélection de squelette spécifique par id_rubrique & lang)
public_styliser_par_z_dist()  : array<string|int, mixed>
Recherche automatique d'un squelette Page à partir de `contenu/xx`
z_blocs()  : array<string|int, mixed>
Lister les blocs de la page selon le contexte prive/public
z_contenu_disponible()  : mixed
Vérifie qu'un type à un contenu disponible, soit parcequ'il a un fond, soit parce qu'il est echafaudable
z_fond_valide()  : bool
Teste si le fond de squelette trouvé est autorisé
z_trouver_bloc()  : string
Trouve un bloc qui peut être sous le nom `contenu/article.html` ou `contenu/contenu.article.html`
z_echafaudable()  : bool
Tester si un type est echafaudable c'est à dire s'il correspond bien à un objet en base
prive_echafauder_dist()  : string
Generer a la volee un fond a partir d'un contenu connu tous les squelettes d'echafaudage du prive sont en fait explicites dans prive/echafaudage on ne fait qu'un mini squelette d'inclusion pour reecrire les variables d'env
z_sanitize_var_zajax()  : bool|string
Recuperer et verifier var_zajax si demande dans l'url
trace_query_start()  : mixed
trace_query_end()  : mixed
trace_query_chrono()  : mixed
chrono_requete()  : mixed
req_mysql_dist()  : array<string|int, mixed>|bool
Crée la première connexion à un serveur MySQL via MySQLi
_mysql_link()  : object
Retrouver un link d'une connexion MySQL via MySQLi
spip_mysql_set_charset()  : mysqli_result|bool
Définit un charset pour la connexion avec Mysql
spip_mysql_get_charset()  : array<string|int, mixed>
Teste si le charset indiqué est disponible sur le serveur SQL
spip_mysql_query()  : mysqli_result|bool|string|array<string|int, mixed>
Exécute une requête MySQL, munie d'une trace à la demande
spip_mysql_alter()  : array<string|int, mixed>|bool|string
Modifie une structure de table MySQL
spip_mysql_optimize()  : bool
Optimise une table MySQL
spip_mysql_explain()  : array<string|int, mixed>
Retourne une explication de requête (Explain) MySQL
spip_mysql_select()  : array<string|int, mixed>|bool|resource|string
Exécute une requête de sélection avec MySQL
spip_mysql_order()  : string
Prépare une clause order by
calculer_mysql_where()  : string
Prépare une clause WHERE pour MySQL
calculer_mysql_expression()  : string
Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
spip_mysql_select_as()  : string
Renvoie des `nom AS alias`
_mysql_traite_query()  : string
Prépare le texte d'une requête avant son exécution
spip_mysql_selectdb()  : bool
Sélectionne une base de données
spip_mysql_listdbs()  : array<string|int, mixed>
Retourne les bases de données accessibles
spip_mysql_create()  : array<string|int, mixed>|null|resource|string
Crée une table SQL
_mysql_remplacements_definitions_table()  : string|array<string|int, mixed>
Adapte pour Mysql la déclaration SQL d'une colonne d'une table
spip_mysql_create_base()  : bool
Crée une base de données MySQL
spip_mysql_create_view()  : bool|string
Crée une vue SQL nommée `$nom`
spip_mysql_drop_table()  : bool|string
Supprime une table SQL
spip_mysql_drop_view()  : bool|string
Supprime une vue SQL
spip_mysql_showbase()  : mysqli_result|bool|string
Retourne une ressource de la liste des tables de la base de données
spip_mysql_repair()  : bool|string|array<string|int, mixed>
Répare une table SQL
spip_mysql_table_exists()  : bool|string
Indique si une table existe dans la base de données
spip_mysql_showtable()  : array<string|int, mixed>|string
Obtient la description d'une table ou vue MySQL
spip_mysql_fetch()  : array<string|int, mixed>|null|false
Rècupère une ligne de résultat
spip_mysql_seek()  : bool
Place le pointeur de résultat sur la position indiquée
spip_mysql_countsel()  : int|string
Retourne le nombre de lignes d'une sélection
spip_mysql_error()  : string
Retourne la dernière erreur generée
spip_mysql_errno()  : int
Retourne le numero de la dernière erreur SQL
spip_mysql_count()  : int
Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
spip_mysql_free()  : bool
Libère une ressource de résultat
spip_mysql_insert()  : bool|string|int|array<string|int, mixed>
Insère une ligne dans une table
spip_mysql_insertq()  : bool|string|int|array<string|int, mixed>
Insère une ligne dans une table, en protégeant chaque valeur
spip_mysql_insertq_multi()  : int|bool|string
Insère plusieurs lignes d'un coup dans une table
spip_mysql_update()  : array<string|int, mixed>|bool|string
Met à jour des enregistrements d'une table SQL
spip_mysql_updateq()  : array<string|int, mixed>|bool|string
Met à jour des enregistrements d'une table SQL et protège chaque valeur
spip_mysql_delete()  : bool|string
Supprime des enregistrements d'une table
spip_mysql_replace()  : bool|string
Insère où met à jour une entrée d’une table SQL
spip_mysql_replace_multi()  : bool|string
Insère où met à jour des entrées d’une table SQL
spip_mysql_multi()  : string
Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
spip_mysql_hex()  : string
Prépare une chaîne hexadécimale
spip_mysql_quote()  : string|number
Échapper une valeur selon son type ou au mieux comme le fait `_q()` mais pour MySQL avec ses spécificités
spip_mysql_date_proche()  : string
Tester si une date est proche de la valeur d'un champ
spip_mysql_in()  : string
Retourne une expression IN pour le gestionnaire de base de données
spip_mysql_cite()  : string|number
Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
spip_versions_mysql()  : bool
Teste si on a les fonctions MySQLi (pour l'install)
test_rappel_nom_base_mysql()  : string
Tester si mysql ne veut pas du nom de la base dans les requêtes
test_sql_mode_mysql()  : string
Teste si on peut changer les modes de MySQL
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()  : mixed
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()  : string
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()  : mixed
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()  : mixed
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()  : mixed
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()  : mixed
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]

Constants

_ACTIVER_PUCE_RAPIDE

Activer le changement rapide de statut sur les listes d'objets ?

public bool _ACTIVER_PUCE_RAPIDE = \true

Peut ralentir un site sur des listes très longues.

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

_AUTEURS_DELAI_REJET_NOUVEAU

public mixed _AUTEURS_DELAI_REJET_NOUVEAU = 45 * 24 * 3600

_CACHE_CONTEXTES_AJAX_SUR_LONGUEUR

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

public int _CACHE_CONTEXTES_AJAX_SUR_LONGUEUR = 2000

Nombre de caractères

_CACHE_PLUGINS_FCT

public mixed _CACHE_PLUGINS_FCT = _DIR_CACHE . 'charger_plugins_fonctions.php'

_CACHE_PLUGINS_OPT

public mixed _CACHE_PLUGINS_OPT = _DIR_CACHE . 'charger_plugins_options.php'

_CACHE_PLUGINS_PATH

public mixed _CACHE_PLUGINS_PATH = _DIR_CACHE . 'charger_plugins_chemins.php'

_CACHE_RUBRIQUES

Fichier cache pour le navigateur de rubrique du bandeau

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

_CACHE_RUBRIQUES_MAX

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

public mixed _CACHE_RUBRIQUES_MAX = 500

_CODE_QUOTE

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

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

_CONTEXTE_IGNORE_LISTE_VARIABLES

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

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

_DATA_SOURCE_MAX_SIZE

public mixed _DATA_SOURCE_MAX_SIZE = 2 * 1048576

_debut_urls_page

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

_DEFAULT_CHARSET

Le charset par défaut lors de l'installation

public mixed _DEFAULT_CHARSET = 'utf-8'

_DELAI_RECUPERER_URL_CACHE

public mixed _DELAI_RECUPERER_URL_CACHE = 3600

_DIR_JAVASCRIPT

le nom du repertoire des bibliotheques JavaScript du prive

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

_DIR_PLUGINS_AUTO

public mixed _DIR_PLUGINS_AUTO = \_DIR_PLUGINS . 'auto/'

_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($ecrire) ? $ecrire : ''

_DIRECT_CRON_FORCE

public mixed _DIRECT_CRON_FORCE = true

_DIRECT_CRON_FORCE

public mixed _DIRECT_CRON_FORCE = true

_DOCTYPE_AIDE

Définit le doctype de l’aide en ligne

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

_DOCTYPE_ECRIRE

Définit le doctype de l’espace privé

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

_DOCTYPE_RSS

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

_DUREE_CACHE_DEFAUT

public mixed _DUREE_CACHE_DEFAUT = 24 * 3600

_ECRIRE_INC_VERSION

Indique que SPIP est chargé

public mixed _ECRIRE_INC_VERSION = '1'

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

_ESPACE_PRIVE

Drapeau indiquant que l'on est dans l'espace privé

public mixed _ESPACE_PRIVE = \true

_EXTRAIRE_INTERVALLE

Regexp d'extraction des informations d'un intervalle de compatibilité

public mixed _EXTRAIRE_INTERVALLE = ',^[\[\(\]]([0-9.a-zRC\s\-]*)[;]([0-9.a-zRC\s\-\*]*)[\]\)\[]$,'

_EXTRAIRE_LIEN

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

_FILE_CHMOD

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

_FILE_CHMOD_TMP

public mixed _FILE_CHMOD_TMP = _DIR_CHMOD . _FILE_CHMOD_INS . _FILE_TMP_SUFFIX

_FILE_CONNECT

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

_FILE_CONNECT_TMP

public mixed _FILE_CONNECT_TMP = _DIR_CONNECT . _FILE_CONNECT_INS . _FILE_TMP_SUFFIX

_HEADER_COMPOSED_BY

public mixed _HEADER_COMPOSED_BY = 'Composed-By: SPIP'

_IMG_GD_MAX_PIXELS

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

_INC_DISTANT_CONNECT_TIMEOUT

public mixed _INC_DISTANT_CONNECT_TIMEOUT = 10

_INC_DISTANT_CONTENT_ENCODING

public mixed _INC_DISTANT_CONTENT_ENCODING = 'gzip'

_INC_DISTANT_MAX_SIZE

public mixed _INC_DISTANT_MAX_SIZE = 2097152

_INC_DISTANT_USER_AGENT

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

_INC_DISTANT_VERSION_HTTP

public mixed _INC_DISTANT_VERSION_HTTP = 'HTTP/1.0'

_IS_BOT

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

_IS_CLI

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

_JAVASCRIPT

Nom du repertoire des bibliotheques JavaScript

public mixed _JAVASCRIPT = 'javascript/'

_JQ_MAX_JOBS_EXECUTE

public mixed _JQ_MAX_JOBS_EXECUTE = 200

_JQ_MAX_JOBS_TIME_TO_EXECUTE

public mixed _JQ_MAX_JOBS_TIME_TO_EXECUTE = min($max_time, 15)

_JQ_NEXT_JOB_TIME_FILENAME

public mixed _JQ_NEXT_JOB_TIME_FILENAME = _DIR_TMP . 'job_queue_next.txt'

_LIVRER_FICHIER_BASE_TEMPS_TELECHARGEMENT

public mixed _LIVRER_FICHIER_BASE_TEMPS_TELECHARGEMENT = 600

_LOG_ALERTE_ROUGE

Utiliser spip_logger()->alert()

public mixed _LOG_ALERTE_ROUGE = 1

_LOG_AVERTISSEMENT

Utiliser spip_logger()->warning()

public mixed _LOG_AVERTISSEMENT = 4

_LOG_CRITIQUE

Utiliser spip_logger()->critical()

public mixed _LOG_CRITIQUE = 2

_LOG_DEBUG

Utiliser spip_logger()->debug()

public mixed _LOG_DEBUG = 7

_LOG_ERREUR

Utiliser spip_logger()->error()

public mixed _LOG_ERREUR = 3

_LOG_FILTRE_GRAVITE

Niveau maxi d'enregistrement des logs

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

_LOG_HS

Utiliser spip_logger()->emergency()

public mixed _LOG_HS = 0

_LOG_INFO

Utiliser spip_logger()->info()

public mixed _LOG_INFO = 6

_LOG_INFO_IMPORTANTE

Utiliser spip_logger()->notice()

public mixed _LOG_INFO_IMPORTANTE = 5

_MARQUEUR_POST_IMPORTMAP

public mixed _MARQUEUR_POST_IMPORTMAP = '<!--.importmap-->'

_MARQUEUR_POST_INIT

public mixed _MARQUEUR_POST_INIT = '<!--.initjs-->'

_MESSAGE_DOCTYPE

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

_META_CACHE_TIME

public mixed _META_CACHE_TIME = 1 << 24

_MYSQL_NOPLANES

public mixed _MYSQL_NOPLANES = \true

_MYSQL_RE_SHOW_TABLE

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

_NOM_IMG_PACK

Nom du dossier images

public mixed _NOM_IMG_PACK = 'images/'

_NOM_PERMANENTS_ACCESSIBLES

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

public mixed _NOM_PERMANENTS_ACCESSIBLES = 'IMG/'

_NOM_PERMANENTS_INACCESSIBLES

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

public mixed _NOM_PERMANENTS_INACCESSIBLES = 'config/'

_NOM_TEMPORAIRES_ACCESSIBLES

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

public mixed _NOM_TEMPORAIRES_ACCESSIBLES = 'local/'

_NOM_TEMPORAIRES_INACCESSIBLES

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

public mixed _NOM_TEMPORAIRES_INACCESSIBLES = 'tmp/'

_OUTILS_DEVELOPPEURS

Activer des outils pour développeurs ?

public mixed _OUTILS_DEVELOPPEURS = \false

_PAGINATION_NOMBRE_LIENS_MAX

public mixed _PAGINATION_NOMBRE_LIENS_MAX = 10

_PAGINATION_NOMBRE_LIENS_MAX_ECRIRE

public mixed _PAGINATION_NOMBRE_LIENS_MAX_ECRIRE = 5

_PHP_MIN

version PHP minimum exigee (cf. inc/utils)

public mixed _PHP_MIN = '8.2.0'

_PIPELINE_SUFFIX

public mixed _PIPELINE_SUFFIX = \test_espace_prive() ? '_prive' : ''

_PORT_HTTP_STANDARD

public mixed _PORT_HTTP_STANDARD = '80'

_PORT_HTTPS_STANDARD

public mixed _PORT_HTTPS_STANDARD = '443'

_RACCOURCI_CHAPO

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

_RACCOURCI_URL

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

_REGEXP_CONCAT_NON_VIDE

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

_REGEXP_COND_NONVIDE_VIDE

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

_REGEXP_COND_VIDE_NONVIDE

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

_REGEXP_COPIE_LOCALE

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

_REGEXP_DOCTYPE

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

_REGEXP_ENTITY_DECL

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

_REGEXP_ENTITY_DEF

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

_REGEXP_ENTITY_USE

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

_REGEXP_ID

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

_REGEXP_INCLUDE_USE

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

_REGEXP_NMTOKEN

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

_REGEXP_NMTOKENS

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

_REGEXP_TYPE_XML

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

_REGEXP_XML

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

_ROOT_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 = \SpipLeague\Component\Kernel\app()->getCoreDir()

_separateur_urls_page

public mixed _separateur_urls_page = ''
public mixed _SERVEUR_SIGNATURE_ACCEPTE_LOCATION_APRES_COOKIE = 'Apache|Cherokee|nginx'
public mixed _SERVEUR_SOFTWARE_ACCEPTE_LOCATION_APRES_COOKIE = '^(Apache|Cherokee|nginx)'

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

public mixed _spip_attend_invalidation_opcode_cache = true

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

public int _SPIP_SELECT_RUBRIQUES = 20

Nombre de rubriques maximum du sélecteur de rubriques. Au delà, on bascule sur un sélecteur ajax. mettre 100000 pour desactiver ajax

_SPIP_THEME_PRIVE

public mixed _SPIP_THEME_PRIVE = 'spip'

_SPIP_XML_TAG_SPLIT

public mixed _SPIP_XML_TAG_SPLIT = '{<([^:>][^>]*?)>}sS'

_SQL_PREFIXE_TABLE_MYSQL

Changer les noms des tables ($table_prefix)

public mixed _SQL_PREFIXE_TABLE_MYSQL = '/([,\s])spip_/S'

TODO: Quand tous les appels SQL seront abstraits on pourra l'améliorer

_SQLITE_RE_SHOW_TABLE

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

_terminaison_urls_page

public mixed _terminaison_urls_page = ''

_TEST_FILE_EXISTS

Permettre d'éviter des tests file_exists sur certains hébergeurs

public mixed _TEST_FILE_EXISTS = \preg_match(',(online|free)[.]fr$,', $_ENV['HTTP_HOST'] ?? '')

_TESTER_NOSCRIPT

public mixed _TESTER_NOSCRIPT = "<noscript>\n<div style='display:none;'><img src='" . generer_url_ecrire('test_ajax', 'js=-1') . "' width='1' height='1' alt=''></div></noscript>\n"

_TIME_OUT

Définir le timeout qui peut-être utilisé dans les fonctions de mises à jour qui durent trop longtemps

public int _TIME_OUT = $time + _UPGRADE_TIME_OUT

À utiliser tel que : if (time() >= _TIME_OUT)

_TRAITEMENT_RACCOURCIS

public mixed _TRAITEMENT_RACCOURCIS = 'propre(%s, $connect, $Pile[0])'

_TRAITEMENT_TYPO

public mixed _TRAITEMENT_TYPO = 'typo(%s, "TYPO", $connect, $Pile[0])'

_TRAITEMENT_TYPO_SANS_NUMERO

public mixed _TRAITEMENT_TYPO_SANS_NUMERO = 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))'

_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 = "!':;?~%-"

_UPGRADE_TIME_OUT

Durée en secondes pour relancer les scripts de mises à jour, x secondes avant que la durée d'exécution du script provoque un timeout

public int _UPGRADE_TIME_OUT = 20

_URL_ECRAN_SECURITE

public mixed _URL_ECRAN_SECURITE = 'https://git.spip.net/spip-contrib-outils/securite/raw/branch/master/ecran_securite.php'

_VERSION_ARCHIVE

public mixed _VERSION_ARCHIVE = '1.3'

_VERSIONS_SERVEUR

public mixed _VERSIONS_SERVEUR = 'https://www.spip.net/spip_loader.api'

_ZCORE_EXCLURE_PATH

public mixed _ZCORE_EXCLURE_PATH = '\bprive|\bsquelettes-dist' . (defined('_DIR_PLUGIN_DIST') ? '|\b' . rtrim((string) _DIR_PLUGIN_DIST, '/') : '')

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

IMAGETYPE_SVG

public mixed IMAGETYPE_SVG = 19

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_interdire_cache

public mixed spip_interdire_cache = true

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_ABSTRACT_VERSION

Version de l'API SQL

public mixed SQL_ABSTRACT_VERSION = 1

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

enregistre_modif_plugin()

Mise à jour des données si envoi via formulaire

enregistre_modif_plugin() : mixed
Tags
global

array $GLOBALS ['visiteur_session']

global

array $GLOBALS ['meta']

action_activer_plugins_dist()

Fonction d'initialisation avant l'activation des plugins

action_activer_plugins_dist() : mixed

Vérifie les droits et met à jour les méta avant de lancer l'activation des plugins

action_ajouter_lien_dist()

Action pour lier 2 objets entre eux avec en option un qualificatif

action_ajouter_lien_dist([null|string $arg = null ]) : mixed

L'argument attendu est de la forme :

  • objet1-id1-objet2-id2 (type d'objet, identifiant)
  • objet1-id1-objet2-id2-qualif-valeur_qualif pour définir une qualification en même temps La table de liaison est celle de l'objet passé en premier argument
Parameters
$arg : null|string = null

Clé des arguments. En absence utilise l'argument de l'action sécurisée.

Tags
example
// associer le mot 7 à la rubrique 3 (table de liaison : mots_liens)
`mot-7-rubrique-3`
// associer le mot 7 qui a la qualification rôle = gestion à la rubrique 3 (table de liaison : mots_liens)
`mot-7-rubrique-3-role-gestion`
// associer le contact 2 qui a la qualification fonction = volontaire à l'orga 10  (table de liaison : spip_contacts)
`contact-2-organisation-10-fonction-volontaire`
uses
objet_associer()

action_annuler_job_dist()

Annuler un travail

action_annuler_job_dist() : mixed

action_api_transmettre_dist()

action_api_transmettre_dist([mixed $arg = null ]) : mixed
Parameters
$arg : mixed = null

action_api_transmettre_fail()

action_api_transmettre_fail(mixed $arg) : never
Parameters
$arg : mixed
Return values
never

action_auth_dist()

Retour d'authentification pour les SSO

action_auth_dist() : mixed

action_calculer_taille_cache_dist()

Calculer la taille du cache ou du cache image pour l'afficher en ajax sur la page d'admin de SPIP

action_calculer_taille_cache_dist([string|null $arg = null ]) : mixed

Si l'argument reçu est 'images', c'est la taille du cache _DIR_VAR qui est calculé, sinon celle du cache des squelettes (approximation)

Parameters
$arg : string|null = null

Argument attendu. En absence utilise l'argument de l'action sécurisée.

calculer_taille_dossier()

Calculer la taille d'un dossier, sous dossiers inclus

calculer_taille_dossier(string $dir) : int
Parameters
$dir : string

Répertoire dont on souhaite évaluer la taille

Return values
int

Taille en octets

action_confirmer_email_dist()

Confirmer un changement d'email

action_confirmer_email_dist() : mixed
Tags
global

array $GLOBALS ['visiteur_session']

global

string $GLOBALS ['redirect']

action_confirmer_inscription_dist()

Action de confirmation d'une inscription

action_confirmer_inscription_dist() : mixed
Tags
global

array $GLOBALS ['visiteur_session']

global

string $GLOBALS ['redirect']

action_converser_dist()

Point d'entrée pour changer de langue

action_converser_dist() : mixed

Pas de secu si espace public ou login ou installation mais alors on n'accède pas à la base, on pose seulement le cookie.

action_converser_changer_langue()

Cette fonction prépare le travail de changement de langue en récupérant la bonne variable de langue

action_converser_changer_langue(bool $update_session) : string
Parameters
$update_session : bool
Tags
global

array $GLOBALS ['visiteur_session']

Return values
string

action_converser_post()

Cette fonction effectue le travail de changement de langue

action_converser_post(string $lang[, bool $ecrire = false ]) : mixed
Parameters
$lang : string
$ecrire : bool = false

Cette fonction traite les cookies posés au moment de l'authentification standard ou vérifie que l'authentification HTTP est correcte

action_cookie_dist([string|null $set_cookie_admin = null ][, string|null $change_session = null ]) : mixed
Parameters
$set_cookie_admin : string|null = null
$change_session : string|null = null
Tags
global

bool ignore_auth_http

action_desinstaller_plugin_dist()

Action de désinstallation d'un plugin

action_desinstaller_plugin_dist() : mixed

L'argument attendu est le préfixe du plugin à désinstaller.

Tags
uses
plugins_installer_dist()
global

array visiteur_session

action_editer_article_dist()

Action d'édition d'un article dans la base de données dont l'identifiant est donné en paramètre de cette fonction ou en argument de l'action sécurisée

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

Si aucun identifiant n'est donné, on crée alors un nouvel article, à condition que la rubrique parente (id_rubrique) puisse être obtenue (avec _request())

Parameters
$arg : null|int = null

Identifiant de l'article. En absence utilise l'argument de l'action sécurisée.

Tags
uses
article_inserer()
uses
article_modifier()
Return values
array<string|int, mixed>

Liste (identifiant de l'article, texte d'erreur éventuel)

article_modifier()

Modifier un article

article_modifier(int $id_article[, array<string|int, mixed>|null $set = null ]) : string|null

Appelle toutes les fonctions de modification d'un article

Parameters
$id_article : int

Identifiant de l'article à modifier

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

Couples (colonne => valeur) de données à modifier. En leur absence, on cherche les données dans les champs éditables qui ont été postés (via collecter_requests())

Tags
used-by
action_editer_article_dist()
Return values
string|null
  • Chaîne vide si aucune erreur,
  • Null si aucun champ à modifier,
  • Chaîne contenant un texte d'erreur sinon.

article_inserer()

Insérer un nouvel article en base de données

article_inserer(int $id_rubrique[, array<string|int, mixed>|null $set = null ]) : int

En plus des données enregistrées par défaut, la fonction :

  • retrouve un identifiant de rubrique pour stocker l'article (la première rubrique racine) si l'identifiant de rubrique transmis est nul.
  • calcule la langue de l'article, soit
    • d'après la langue de la rubrique si les articles ne sont pas configurés comme pouvant être traduits,
    • d'après la langue de l'auteur en cours si les articles peuvent être traduits et si la langue de l'auteur est acceptée en tant que langue de traduction
  • crée une liaison automatiquement entre l'auteur connecté et l'article créé, de sorte que la personne devient par défaut auteur de l'article qu'elle crée.
Parameters
$id_rubrique : int

Identifiant de la rubrique parente

$set : array<string|int, mixed>|null = null
Tags
pipeline_appel

pre_insertion

pipeline_appel

post_insertion

global

array meta

global

array visiteur_session

global

string spip_lang

used-by
action_editer_article_dist()
Return values
int

Identifiant du nouvel article

article_instituer()

Modification des statuts d'un article

article_instituer(int $id_article, array<string|int, mixed> $c[, bool $calcul_rub = true ]) : string

Modifie la langue, la rubrique ou les statuts d'un article.

Parameters
$id_article : int

Identifiant de l'article

$c : array<string|int, mixed>

Couples (colonne => valeur) des données à instituer Les colonnes 'statut' et 'id_parent' sont liées, car un admin restreint peut deplacer un article publié vers une rubrique qu'il n'administre pas

$calcul_rub : bool = true

True pour changer le statut des rubriques concernées si un article change de statut ou est déplacé dans une autre rubrique

Tags
global

array $GLOBALS ['meta']

pipeline_appel

pre_edition

pipeline_appel

post_edition

Return values
string

Chaîne vide

editer_article_heritage()

Fabrique la requête de modification de l'article, avec champs hérités

editer_article_heritage(int $id_article, int $id_rubrique, string $statut, array<string|int, mixed> $champs[, bool $cond = true ]) : void|null
Parameters
$id_article : int

Identifiant de l'article

$id_rubrique : int

Identifiant de la rubrique parente

$statut : string

Statut de l'article (prop, publie, ...)

$champs : array<string|int, mixed>

Couples (colonne => valeur) des champs qui ont été modifiés

$cond : bool = true

True pour actualiser le statut et date de publication de la rubrique parente si nécessaire

Tags
global

array $GLOBALS ['meta']

Return values
void|null

null si aucune action à faire void sinon

trop_longs_articles()

Réunit les textes decoupés parce que trop longs

trop_longs_articles() : mixed

action_editer_auteur_dist()

Éditer ou créer un auteur

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

Si aucun identifiant d'auteur n'est donné, on crée alors un nouvel auteur.

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

Identifiant de l'auteur. En absence utilise l'argument de l'action sécurisée.

Tags
global

array visiteur_session

uses
auteur_inserer()
uses
auteur_modifier()
Return values
array<string|int, mixed>

Liste (identifiant de l'auteur, texte d'erreur éventuel)

auteur_inserer()

Insérer un auteur en base

auteur_inserer([string|null $source = null ][, array<string|int, mixed>|null $set = null ]) : int
Parameters
$source : string|null = null

D'où provient l'auteur créé ? par défaut 'spip', mais peut être 'ldap' ou autre.

$set : array<string|int, mixed>|null = null
Tags
pipeline_appel

pre_insertion

pipeline_appel

post_insertion

used-by
action_editer_auteur_dist()
Return values
int

Identifiant de l'auteur créé

auteur_modifier()

Modifier un auteur

auteur_modifier(int $id_auteur[, array<string|int, mixed>|null $set = null ][, bool $force_update = false ]) : string|null

Appelle toutes les fonctions de modification d'un auteur

Parameters
$id_auteur : int

Identifiant de l'auteur

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

Couples (colonne => valeur) de données à modifier. En leur absence, on cherche les données dans les champs éditables qui ont été postés (via collecter_requests())

$force_update : bool = false

Permet de forcer la maj en base des champs fournis, sans passer par instancier. Utilise par auth/spip

Tags
used-by
action_editer_auteur_dist()
Return values
string|null
  • Chaîne vide si aucune erreur,
  • Chaîne contenant un texte d'erreur sinon.

auteur_associer()

Associer un auteur à des objets listés

auteur_associer(int $id_auteur, array<string|int, mixed> $objets[, array<string|int, mixed>|null $qualif = null ]) : string
Parameters
$id_auteur : int

Identifiant de l'auteur

$objets : array<string|int, mixed>

Liste sous la forme array($objet=>$id_objets,...). $id_objets peut lui-même être un scalaire ou un tableau pour une liste d'objets du même type.

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

Optionnellement indique une qualification du (des) lien(s) qui sera alors appliquée dans la foulée. En cas de lot de liens, c'est la même qualification qui est appliquée à tous

Tags
uses
objet_associer()
Return values
string

auteur_dissocier()

Dissocier un auteur des objets listés

auteur_dissocier(int $id_auteur, array<string|int, mixed> $objets) : string
Parameters
$id_auteur : int

Identifiant de l'auteur

$objets : array<string|int, mixed>

Liste sous la forme array($objet=>$id_objets,...). $id_objets peut lui-même être un scalaire ou un tableau pour une liste d'objets du même type.

Un * pour $id_auteur,$objet,$id_objet permet de traiter par lot

Tags
uses
objet_dissocier()
Return values
string

auteur_qualifier()

Qualifier le lien d'un auteur avec les objets listés

auteur_qualifier(int $id_auteur, array<string|int, mixed> $objets, array<string|int, mixed> $qualif) : bool|int
Parameters
$id_auteur : int

Identifiant de l'auteur

$objets : array<string|int, mixed>

Liste sous la forme array($objet=>$id_objets,...). $id_objets peut lui-même être un scalaire ou un tableau pour une liste d'objets du même type.

Un * pour $id_auteur,$objet,$id_objet permet de traiter par lot

$qualif : array<string|int, mixed>

Couples (colonne, valeur) tel que array('vu'=>'oui');

Tags
uses
objet_qualifier_liens()
Return values
bool|int

auteur_instituer()

Modifier le statut d'un auteur, ou son login/pass

auteur_instituer(int $id_auteur, array<string|int, mixed> $c[, bool $force_webmestre = false ]) : bool|string
Parameters
$id_auteur : int

Identifiant de l'auteur

$c : array<string|int, mixed>

Couples (colonne => valeur) des données à instituer

$force_webmestre : bool = false

Autoriser un auteur à passer webmestre (force l'autorisation)

Tags
pipeline_appel

pre_edition

pipeline_appel

post_edition

Return values
bool|string

objet_associable()

Teste l'existence de la table de liaison xxx_liens d'un objet

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

Objet à tester

Return values
array<string|int, mixed>|bool
  • false si l'objet n'est pas associable.
  • array(clé primaire, nom de la table de lien) si associable

objet_associer()

Associer un ou des objets à des objets listés

objet_associer(array<string|int, mixed> $objets_source, array<string|int, mixed>|string $objets_lies[, array<string|int, mixed> $qualif = null ]) : bool|int

$objets_source et $objets_lies sont de la forme array($objet=>$id_objets,...) $id_objets peut lui même être un scalaire ou un tableau pour une liste d'objets du même type ou de la forme array("NOT", $id_objets) pour une sélection par exclusion

Les objets sources sont les pivots qui portent les liens et pour lesquels une table spip_xxx_liens existe (auteurs, documents, mots)

On peut passer optionnellement une qualification du (des) lien(s) qui sera alors appliquée dans la foulée. En cas de lot de liens, c'est la même qualification qui est appliquée a tous

Parameters
$objets_source : array<string|int, mixed>
$objets_lies : array<string|int, mixed>|string
$qualif : array<string|int, mixed> = null
Tags
used-by
action_ajouter_lien_dist()
used-by
auteur_associer()
Return values
bool|int

objet_dissocier()

Dissocier un (ou des) objet(s) des objets listés

objet_dissocier(array<string|int, mixed> $objets_source, array<string|int, mixed>|string $objets_lies[, array<string|int, mixed>|null $cond = null ]) : bool|int

$objets_source et $objets_lies sont de la forme array($objet=>$id_objets,...) $id_objets peut lui-même être un scalaire ou un tableau pour une liste d'objets du même type

Les objets sources sont les pivots qui portent les liens et pour lesquels une table spip_xxx_liens existe (auteurs, documents, mots)

un * pour $objet, $id_objet permet de traiter par lot seul le type de l'objet source ne peut pas accepter de joker et doit etre explicite

S'il y a des rôles possibles entre les 2 objets, et qu'aucune condition sur la colonne du rôle n'est transmise, on ne supprime que les liens avec le rôle par défaut. Si on veut supprimer tous les rôles, il faut spécifier $cond => array('role' => '*')

Parameters
$objets_source : array<string|int, mixed>
$objets_lies : array<string|int, mixed>|string
$cond : array<string|int, mixed>|null = null

Condition du where supplémentaires

À l'exception de l'index 'role' qui permet de sélectionner un rôle ou tous les rôles (*), en s'affranchissant du vrai nom de la colonne.

Tags
used-by
auteur_dissocier()
used-by
action_supprimer_lien_dist()
Return values
bool|int

objet_qualifier_liens()

Qualifier le lien entre un (ou des) objet(s) et des objets listés

objet_qualifier_liens(array<string|int, mixed> $objets_source, array<string|int, mixed>|string $objets_lies, array<string|int, mixed> $qualif) : bool|int

$objets_source et $objets sont de la forme array($objet=>$id_objets,...) $id_objets peut lui meme etre un scalaire ou un tableau pour une liste d'objets du meme type

Les objets sources sont les pivots qui portent les liens et pour lesquels une table spip_xxx_liens existe (auteurs, documents, mots)

un * pour $objet,$id_objet permet de traiter par lot seul le type de l'objet source ne peut pas accepter de joker et doit etre explicite

Parameters
$objets_source : array<string|int, mixed>
$objets_lies : array<string|int, mixed>|string
$qualif : array<string|int, mixed>
Tags
used-by
auteur_qualifier()
Return values
bool|int

objet_trouver_liens()

Trouver les liens entre objets

objet_trouver_liens(array<string|int, mixed> $objets_source, array<string|int, mixed>|string $objets_lies[, array<string|int, mixed>|null $cond = null ]) : array<string|int, mixed>

$objets_source et $objets sont de la forme array($objet=>$id_objets,...) $id_objets peut lui meme etre un scalaire ou un tableau pour une liste d'objets du meme type

Les objets sources sont les pivots qui portent les liens et pour lesquels une table spip_xxx_liens existe (auteurs, documents, mots)

un * pour $objet,$id_objet permet de traiter par lot seul le type de l'objet source ne peut pas accepter de joker et doit etre explicite

renvoie une liste de tableaux decrivant chaque lien dans lequel objet_source et objet_lie sont aussi affectes avec l'id de chaque par facilite ex : array( array('id_document'=>23,'objet'=>'article','id_objet'=>12,'vu'=>'oui', 'document'=>23,'article'=>12) )

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

Couples (objets_source => identifiants) (objet qui a la table de lien)

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

Couples (objets_lies => identifiants)

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

Condition du where supplémentaires

Return values
array<string|int, mixed>

Liste des trouvailles

objet_optimiser_liens()

Nettoyer les liens morts vers des objets qui n'existent plus

objet_optimiser_liens(array<string|int, mixed> $objets_source, array<string|int, mixed>|string $objets_lies) : int

$objets_source et $objets sont de la forme array($objet=>$id_objets,...) $id_objets peut lui meme etre un scalaire ou un tableau pour une liste d'objets du meme type

Les objets sources sont les pivots qui portent les liens et pour lesquels une table spip_xxx_liens existe (auteurs, documents, mots)

un * pour $objet,$id_objet permet de traiter par lot seul le type de l'objet source ne peut pas accepter de joker et doit etre explicite

Parameters
$objets_source : array<string|int, mixed>
$objets_lies : array<string|int, mixed>|string
Return values
int

objet_dupliquer_liens()

Dupliquer tous les liens entrant ou sortants d'un objet vers un autre (meme type d'objet, mais id different) si $types est fourni, seuls les liens depuis/vers les types listes seront copies si $exclure_types est fourni, les liens depuis/vers les types listes seront ignores

objet_dupliquer_liens(string $objet, int $id_source, int $id_cible[, array<string|int, mixed> $types = null ][, array<string|int, mixed> $exclure_types = null ]) : int
Parameters
$objet : string
$id_source : int
$id_cible : int
$types : array<string|int, mixed> = null
$exclure_types : array<string|int, mixed> = null
Return values
int

Nombre de liens copiés

lien_ordonner()

Reordonner les liens sur lesquels on est intervenus

lien_ordonner(string $objet_source, string $primary, string $table_lien, int $id, array<string|int, mixed>|string $objets) : mixed
Parameters
$objet_source : string
$primary : string
$table_lien : string
$id : int
$objets : array<string|int, mixed>|string

lien_triables()

Une table de lien est-elle triable ? elle doit disposer d'un champ rang_lien pour cela

lien_triables(string $table_lien) : mixed
Parameters
$table_lien : string

lien_rang_where()

Fabriquer la condition where pour compter les rangs

lien_rang_where(string $table_lien, string $primary, int|string|array<string|int, mixed> $id_source, string $objet, int|string|array<string|int, mixed> $id_objet[, array<string|int, mixed> $cond = [] ]) : array<string|int, mixed>
Parameters
$table_lien : string
$primary : string
$id_source : int|string|array<string|int, mixed>
$objet : string
$id_objet : int|string|array<string|int, mixed>
$cond : array<string|int, mixed> = []
Return values
array<string|int, mixed>

Liste des conditions

logo_supprimer()

Supprimer le logo d'un objet

logo_supprimer(string $objet, int $id_objet, string $etat) : mixed
Parameters
$objet : string
$id_objet : int
$etat : string

on ou off

logo_modifier()

Modifier le logo d'un objet

logo_modifier(string $objet, int $id_objet, string $etat, string|array<string|int, mixed> $source) : string
Parameters
$objet : string
$id_objet : int
$etat : string

on ou off

$source : string|array<string|int, mixed>
  • array : sous tableau de $_FILE issu de l'upload
  • string : fichier source (chemin complet ou chemin relatif a tmp/upload)
Return values
string

Erreur, sinon ''

logo_migrer_en_base()

Migration des logos en documents.

Migrer le site & les logos / tables dans un SPIP 4.x ou 5.x

logo_migrer_en_base(string $objet, int $time_limit) : mixed
  • avant dans IMG/artonXX.png
  • après dans IMG/logo/... + enregistrés en document dans spip_documents

Cette migration est effectuée à partir de SPIP 4.0 et la fonction doit être appelée pour chaque plugin qui aurait utilisé des logos sur des objets éditoriaux.

Parameters
$objet : string

Type d’objet spip, tel que 'article'

$time_limit : int
Tags
since
4.0

Retourne le type de logo tel que `art` depuis le nom de clé primaire de l'objet

MAIS NE PAS SUPPRIMER CAR SERT POUR L'UPGRADE des logos et leur mise en base

type_du_logo(string $_id_objet) : string

C'est par défaut le type d'objet, mais il existe des exceptions historiques déclarées par la globale $table_logos

Parameters
$_id_objet : string

Nom de la clé primaire de l'objet

Tags
see
logo_migrer_en_base()
see
medias_upgrade_logo_objet()
Return values
string

Type du logo

action_editer_objet_dist()

Point d'entrée d'édition d'un objet

action_editer_objet_dist([int $id = null ][, string $objet = null ][, array<string|int, mixed> $set = null ]) : array<string|int, mixed>

On ne peut entrer que par un appel en fournissant $id et $objet ou avec un argument d'action sécurisée de type "objet/id"

Parameters
$id : int = null
$objet : string = null
$set : array<string|int, mixed> = null
Return values
array<string|int, mixed>

objet_modifier()

Appelle toutes les fonctions de modification d'un objet

objet_modifier(string $objet, int $id[, array<string|int, mixed>|null $set = null ]) : mixed|string

Il peut y avoir une fonction propre au type d'objet : modifier dans action/editer.php, qui a dans ce cas la précédence.

Retourne une chaîne vide en cas de succès, et déclenche des notifications selon ce qu'on modifie : _modifier + objet_modifier et/ou _instituer + objet_instituer.

Parameters
$objet : string
$id : int
$set : array<string|int, mixed>|null = null
Tags
uses
collecter_requests()
uses
objet_modifier_champs()
uses
objet_instituer()
pipeline_appel

pre_edition : avant la mise à jour en base (via objet_modifier_champs())

pipeline_appel

post_edition : après la mise à jour en base (via objet_modifier_champs())

Return values
mixed|string
  • En cas de succès : (string) chaîne vide
  • En cas d'erreur : (string) message d'erreur

objet_inserer()

Insère en base un objet générique

objet_inserer(string $objet[, int $id_parent = null ][, array<string|int, mixed>|null $set = null ]) : bool|int

Il peut y avoir une fonction propre au type d'objet : inserer dans action/editer.php, qui a dans ce cas la précédence.

Retourne le numéro de l'objet en cas de succès, et déclenche 2 notifications : _inserer et objet_inserer.

Parameters
$objet : string
$id_parent : int = null
$set : array<string|int, mixed>|null = null
Tags
uses
sql_insertq()
pipeline_appel

pre_insertion : avant l'enregistrement en base

pipeline_appel

post_insertion : après l'enregistrement en base

global

array $GLOBALS ['visiteur_session']

global

array $GLOBALS ['meta']

global

string $GLOBALS ['spip_lang']

Return values
bool|int
  • Succès : (int) numéro de l'objet crée
  • Erreur :
    • (bool) false si sql_insertq() a échoué
    • (int) 0 si le type d'objet n'existe pas ou que la table est mal déclarée

objet_instituer()

Modifie le statut et/ou la date d'un objet

objet_instituer(string $objet, int $id, array<string|int, mixed> $c[, bool $calcul_rub = true ]) : string
Parameters
$objet : string
$id : int
$c : array<string|int, mixed>

$c est un array ('statut', 'id_parent' = changement de rubrique) statut et rubrique sont lies, car un admin restreint peut deplacer un objet publie vers une rubrique qu'il n'administre pas

$calcul_rub : bool = true
Tags
used-by
objet_modifier()
Return values
string

objet_editer_heritage()

Fabrique la requete d'institution de l'objet, avec champs herites

objet_editer_heritage(string $objet, int $id, int $id_rubrique, string $statut, array<string|int, mixed> $champs[, bool $cond = true ]) : mixed
Parameters
$objet : string
$id : int
$id_rubrique : int
$statut : string
$champs : array<string|int, mixed>
$cond : bool = true

objet_lire()

Lit un objet donné connu par son id ou par un identifiant textuel unique et renvoie tout ou partie de sa description.

objet_lire(string $objet, int|string $valeur_id[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|string|int|bool

Il est possible pour un objet donné de fournir la fonction <objet>_lire_champs qui renvoie simplement tous les champs de l'objet concerné sans aucun autre traitement. Sinon, l'appel SQL est réalisé par l'API.

Parameters
$objet : string

Type d'objet (comme article ou rubrique)

$valeur_id : int|string

Valeur du champ identifiant

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

Tableau d'options dont les index possibles sont:

  • champs : liste des champs à renvoyer. Si absent ou vide la fonction renvoie tous les champs.
  • champ_id : nom du champ utilisé comme identifiant de l'objet. Si absent ou vide on utilise l'id défini dans la déclaration de l'objet.
  • force : true pour reforcer une lecture en base meme si un cache existe
Return values
array<string|int, mixed>|string|int|bool

si champs est non fourni ou au format array false : l'objet demande n'existe pas array vide : l'objet existe, mais aucun champ demande n'existe array non vide : objet avec le ou les champs demandes existants (les champs demandes non existant sont absent) si champs est fourni au format string false : l'objet demande n'existe pas OU le champs demande n'existe pas string|int : valeur du champ demande pour l'objet demande

action_editer_rubrique_dist()

Action d'édition d'une rubrique

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

Crée la rubrique si elle n'existe pas encore Redirige après l'action sur _request('redirect') si présent

Parameters
$arg : null|int = null
  • null : vérifie la sécurité de l'action. Si ok, obtient l'identifiant de rubrique à éditer (oui 'oui' pour une nouvelle rubrique)
  • int : identifiant de rubrique dont on demande l'édition
Return values
array<string|int, mixed>

Liste : identifiant de la rubrique, message d'erreur éventuel.

rubrique_inserer()

Insérer une rubrique en base

rubrique_inserer(int $id_parent[, array<string|int, mixed>|null $set = null ]) : int
Parameters
$id_parent : int

Identifiant de la rubrique parente. 0 pour la racine.

$set : array<string|int, mixed>|null = null
Return values
int

Identifiant de la rubrique crée

rubrique_modifier()

Modifier une rubrique en base

rubrique_modifier(int $id_rubrique[, array<string|int, mixed>|null $set = null ]) : bool|string
Parameters
$id_rubrique : int

Identifiant de la rubrique modifiée

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

Tableau qu'on peut proposer en lieu et place de _request()

Return values
bool|string
  • false : Aucune modification, aucun champ n'est à modifier
  • chaîne vide : Vide si tout s'est bien passé
  • chaîne : texte d'un message d'erreur

editer_rubrique_breves()

Déplace les brèves d'une rubrique dans le secteur d'un nouveau parent

editer_rubrique_breves(int $id_rubrique, int $id_parent[, array<string|int, mixed> $c = [] ]) : bool

Si c'est une rubrique-secteur contenant des brèves, on ne deplace que si $confirme_deplace == 'oui', et change alors l'id_rubrique des brèves en question

Parameters
$id_rubrique : int

Identifiant de la rubrique déplacée

$id_parent : int

Identifiant du nouveau parent de la rubrique

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

Informations pour l'institution (id_rubrique, confirme_deplace)

Tags
todo

À déporter dans le plugin brèves via un pipeline ?

Return values
bool

true si le déplacement est fait ou s'il n'y a rien à faire false si la confirmation du déplacement n'est pas présente

rubrique_instituer()

Instituer une rubrique (changer son parent)

rubrique_instituer(int $id_rubrique, array<string|int, mixed> $c) : string

Change le parent d'une rubrique, si les autorisations sont correctes, mais n'accèpte pas de déplacer une rubrique dans une de ses filles, tout de même !

Recalcule les secteurs, les langues et déplace les brèves au passage.

Parameters
$id_rubrique : int

Identifiant de la rubrique à instituer

$c : array<string|int, mixed>

Informations pour l'institution (id_rubrique, confirme_deplace)

Tags
global

array $GLOBALS ['visiteur_session']

Return values
string

Chaîne vide : aucune erreur Chaîne : texte du message d'erreur

action_etre_webmestre_dist()

Prouver qu'on a les droits de webmestre via un ftp, et devenir webmestre sans refaire l'install

action_etre_webmestre_dist() : mixed

base_etre_webmestre_dist()

Passe l'administrateur connecté en webmestre.

base_etre_webmestre_dist() : mixed

action_forcer_job_dist()

Executer un travaille immediatement

action_forcer_job_dist() : mixed

action_inscrire_auteur_dist()

Inscrire un nouvel auteur sur la base de son nom et son email

action_inscrire_auteur_dist(string $statut, string $mail_complet, string $nom[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|string

L'email est utilisé pour repérer si il existe déjà ou non => identifiant par défaut

Parameters
$statut : string
$mail_complet : string
$nom : string
$options : array<string|int, mixed> = []
  • login : login precalcule
  • id : id_rubrique fournit en second arg de #FORMULAIRE_INSCRIPTION
  • redirect : URL où rediriger après validation depuis l'email, sinon c'est l'accueil
  • from : email de l'envoyeur pour l'envoi du mail d'inscription
  • force_nouveau : forcer le statut nouveau sur l'auteur inscrit, meme si il existait deja en base
  • modele_mail : squelette de mail a utiliser
Return values
array<string|int, mixed>|string

test_inscription_dist()

Contrôler que le nom (qui sert à calculer le login) est plausible et que l'adresse courriel est valide.

test_inscription_dist(string $statut, string $mail, string $nom, array<string|int, mixed> $options) : array<string|int, mixed>|string

On les normalise au passage (trim etc).

On peut redéfinir cette fonction pour filtrer les adresses mail et les noms, et donner des infos supplémentaires

Parameters
$statut : string
$mail : string
$nom : string
$options : array<string|int, mixed>
Return values
array<string|int, mixed>|string
  • array : si ok, tableau avec au minimum email, nom, mode (redac / forum)
  • string : si ko, chaîne de langue servant d'argument au filtre _T expliquant le refus

inscription_nouveau()

On enregistre le demandeur comme 'nouveau', en memorisant le statut final provisoirement dans le champ prefs, afin de ne pas visualiser les inactifs A sa premiere connexion il obtiendra son statut final.

inscription_nouveau(array<string|int, mixed> $desc) : mixed|string
Parameters
$desc : array<string|int, mixed>
Return values
mixed|string

test_login()

Retourne un login valide à partir du nom et email donné

test_login(string $nom, string $mail) : string

Un suffixe incrémental est ajouté si le login obtenu existe déjà en base pour ne pas créer de doublon.

Si le login est trop court 'user' est utilisé ; puis donc 'user1', 'user2' etc...

Parameters
$nom : string
$mail : string
Return values
string

envoyer_inscription_dist()

Construction du mail envoyant les identifiants

envoyer_inscription_dist(array<string|int, mixed> $desc, string $nom, string $mode[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>

Fonction redefinissable qui doit retourner un tableau dont les elements seront les arguments de inc_envoyer_mail

Parameters
$desc : array<string|int, mixed>
$nom : string
$mode : string
$options : array<string|int, mixed> = []
Return values
array<string|int, mixed>

creer_pass_pour_auteur()

Creer un mot de passe initial aleatoire

creer_pass_pour_auteur(int $id_auteur) : string
Parameters
$id_auteur : int
Return values
string

tester_statut_inscription()

Determine le statut d'inscription : si $statut_tmp fourni, verifie qu'il est autorise sinon determine le meilleur statut possible et le renvoie

tester_statut_inscription(string $statut_tmp, int $id) : string
Parameters
$statut_tmp : string
$id : int
Return values
string

confirmer_statut_inscription()

Un nouvel inscrit prend son statut definitif a la 1ere connexion.

confirmer_statut_inscription(array<string|int, mixed> $auteur) : array<string|int, mixed>

Le statut a ete memorise dans prefs (cf test_inscription_dist). On le verifie, car la config a peut-etre change depuis, et pour compatibilite avec les anciennes versions qui n'utilisaient pas "prefs".

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

auteur_attribuer_jeton()

Attribuer un jeton temporaire pour un auteur en assurant l'unicite du jeton.

auteur_attribuer_jeton(int $id_auteur) : string

Chaque appel crée un nouveau jeton pour l’auteur et invalide donc le précédent

Parameters
$id_auteur : int
Return values
string

auteur_lire_jeton()

Lire un jeton temporaire d’un auteur (peut le créer au besoin)

auteur_lire_jeton(int $id_auteur[, bool $autoInit = false ]) : string|null

Cette fonction peut être pratique si plusieurs notifications proches dans la durée sont envoyées au même auteur.

Parameters
$id_auteur : int
$autoInit : bool = false

Attribue un jeton à l’auteur s’il n’en a pas déjà.

Return values
string|null

auteur_verifier_jeton()

Retrouver l'auteur par son jeton

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

auteur_effacer_jeton()

Effacer le jeton d'un auteur apres utilisation

auteur_effacer_jeton(int $id_auteur) : bool
Parameters
$id_auteur : int
Return values
bool

action_instituer_langue_objet_dist()

Modifier la langue d'un objet

action_instituer_langue_objet_dist(string $objet, int $id, int $id_rubrique, string $changer_lang[, string $serveur = '' ]) : string
Parameters
$objet : string
$id : int
$id_rubrique : int
$changer_lang : string
$serveur : string = ''
Return values
string

action_instituer_objet_dist()

Instituer un objet avec les puces rapides

action_instituer_objet_dist([null|string $arg = null ]) : mixed
Parameters
$arg : null|string = null

Chaîne "objet id statut". En absence utilise l'argument de l'action sécurisée.

action_logout_dist()

Se déloger

action_logout_dist() : mixed

Pour éviter les CSRF on passe par une étape de confirmation si pas de jeton fourni avec un autosubmit js pour ne pas compliquer l'expérience utilisateur

Déconnecte l'utilisateur en cours et le redirige sur l'URL indiquée par l'argument de l'action sécurisée, et sinon sur la page d'accueil de l'espace public.

generer_jeton_logout()

Generer un jeton de logout personnel et ephemere

generer_jeton_logout(array<string|int, mixed> $session[, null|string $alea = null ]) : string
Parameters
$session : array<string|int, mixed>
$alea : null|string = null
Return values
string

verifier_jeton_logout()

Verifier que le jeton de logout est bon

verifier_jeton_logout(string $jeton, array<string|int, mixed> $session) : bool

Il faut verifier avec alea_ephemere_ancien si pas bon avec alea_ephemere pour gerer le cas de la rotation d'alea

Parameters
$jeton : string
$session : array<string|int, mixed>
Return values
bool

menu_rubriques()

Retourne une liste HTML des rubriques et rubriques enfants

menu_rubriques([bool $complet = true ]) : string
Parameters
$complet : bool = true
  • false pour n'avoir que le bouton racine «plan du site»
  • true pour avoir l'ensemble des rubriques en plus
Tags
used-by
action_menu_rubriques_dist()
Return values
string

Code HTML présentant la liste des rubriques

bandeau_rubrique()

Retourne une liste HTML des rubriques enfants d'une rubrique

bandeau_rubrique(int $id_rubrique, string $titre_rubrique, int $zdecal[, int $profondeur = 1 ]) : string
Parameters
$id_rubrique : int

Identifiant de la rubrique parente

$titre_rubrique : string

Titre de cette rubrique

$zdecal : int

Décalage vertical, en nombre d'élément

$profondeur : int = 1

Profondeur du parent

Tags
uses
extraire_article()
Return values
string

Code HTML présentant la liste des rubriques

extraire_article()

Obtient la liste des rubriques enfants d'une rubrique, prise dans le cache du navigateur de rubrique

extraire_article(int $id_p, array<string|int, mixed> $t) : array<string|int, mixed>
Parameters
$id_p : int

Identifiant de la rubrique parente des articles

$t : array<string|int, mixed>

Cache des rubriques

Tags
see
gen_liste_rubriques()

pour le calcul du cache

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

Liste des rubriques enfants de la rubrique (et leur titre)

gen_liste_rubriques()

Génère le cache de la liste des rubriques pour la navigation du bandeau

gen_liste_rubriques() : bool

Le cache, qui comprend pour chaque rubrique ses rubriques enfants et leur titre, est :

  • réactualisé en fonction de la meta date_calcul_rubriques
  • mis en cache dans le fichier défini par la constante _CACHE_RUBRIQUES
  • stocké également dans la globale db_art_cache
Tags
used-by
action_menu_rubriques_dist()
Return values
bool

true.

action_purger_dist()

Action de purge du cache

action_purger_dist([string|null $arg = null ]) : mixed

L'argument peut être :

  • inhibe_cache : inhibe le cache pendant 24h
  • reactive_cache : enlève l'inhibition du cache
  • cache : nettoie tous les caches (sauf celui des vignettes)
  • squelettes : nettoie le cache de compilation des squelettes
  • vignettes : nettoie le cache des vignettes (et compressions css/js)
Parameters
$arg : string|null = null

Argument attendu. En absence utilise l'argument de l'action sécurisée.

Tags
pipeline_appel

trig_purger

uses
supprime_invalideurs()
uses
purger_repertoire()

action_purger_queue_dist()

Purger la liste des travaux en attente

action_purger_queue_dist() : mixed

action_redirect_dist()

Script utile pour recalculer une URL symbolique dès son changement

action_redirect_dist() : mixed

Cette action est appelé par les boutons 'Voir en ligne' ou par le fichier .htaccess activé lors d'une URL du genre : http://site/1234

Tags
example
[(#VAL{redirect}
   |generer_url_action{type=article&id=#ID_ARTICLE}
   |parametre_url{var_mode,calcul}
   |icone_horizontale{<:icone_voir_en_ligne:>,racine})]

calculer_url_redirect_entite()

Retourne l’URL de l’objet sur lequel on doit rediriger

calculer_url_redirect_entite(string $type, int $id, string $var_mode) : string|null

On met en cache les calculs (si memoization), et on ne donne pas l’URL si la personne n’y a pas accès

Parameters
$type : string
$id : int
$var_mode : string
Return values
string|null

action_referencer_traduction_dist()

Définir le lien de traduction vers un objet de réference

action_referencer_traduction_dist(string $objet, int $id_objet, int $id_trad) : bool

Plusieurs cas :

  • id_trad=0 : déréference le lien de traduction de id_objet
  • id_trad=NN : référence le lien de traduction de id_objet vers NN
  • id_objet=id_trad actuel et id_trad=new_id_trad : modifie la référence de tout le groupe de traduction
Parameters
$objet : string

Type d'objet

$id_objet : int

Identifiant de l'objet

$id_trad : int

Identifiant de la référence de traduction

Return values
bool
  • False si on ne trouve pas l'objet de référence
  • True sinon

action_session_dist()

Action pour poser une variable de session SPIP

action_session_dist() : mixed

Poster sur cette action en indiquant les clés var et val

Utilisé par exemple par le script javascript 'autosave' pour sauvegarder les formulaires en cours d'édition

Tags
todo

Envoyer en réponse : json contenant toutes les variables publiques de la session

action_supprimer_lien_dist()

Action pour dissocier 2 objets entre eux avec en option un qualificatif

action_supprimer_lien_dist([null|string $arg = null ]) : mixed

L'argument attendu est de la forme :

  • objet1-id1-objet2-id2 (type d'objet, identifiant)
  • objet1-id1-objet2-id2-qualif-valeur_qualif pour définir une qualification en même temps La table de liaison est celle de l'objet passé en premier argument
Parameters
$arg : null|string = null

Clé des arguments. En absence utilise l'argument de l'action sécurisée.

Tags
example
// dissocier le mot 7 de la rubrique 3 (table de liaison : mots_liens)
`mot-7-rubrique-3`
// dissocier le mot 7 qui a la qualification rôle = gestion de la rubrique 3 (table de liaison : mots_liens)
`mot-7-rubrique-3-role-gestion`
// dissocier le contact 2 qui a la qualification fonction = volontaire de l'orga 10  (table de liaison : spip_contacts)
`contact-2-organisation-10-fonction-volontaire`
uses
objet_dissocier()

action_supprimer_rubrique_dist()

Effacer une rubrique

action_supprimer_rubrique_dist([null|int $id_rubrique = null ]) : mixed
Parameters
$id_rubrique : null|int = null

action_tester_dist()

Tester les capacités du serveur à utiliser une librairie graphique

action_tester_dist() : mixed

L'argument transmis dans la clé arg est le type de librairie parmi gd2 ou autre librairie prise en charge par plugin

L'action crée une vignette en utilisant la librairie indiquée puis redirige sur l'image ainsi créée (sinon sur une image d'echec).

action_tester_taille_error_handler()

Interception très probable d'une impossibilité de créer l'image demandée dans le buffer de ob_start()

action_tester_taille_error_handler(string $output) : string

Si c'est le cas, on redirige sur la page prévue, testant un autre cas de traitement

Parameters
$output : string

Sortie du buffer

Return values
string

Sortie du buffer

action_tester_taille_dist()

Tester nos capacités à redimensionner des images avec GD2 (taille mémoire)

action_tester_taille_dist() : mixed

Ce test par dichotomie permet de calculer la taille (en pixels) de la plus grande image traitable. Ce test se relance jusqu'à trouver cette taille.

La clé arg attendue est une chaîne indiquant les valeurs minimum et maximum de taille à tester tel que '3000' (maximum) ou '3000-5000' (minimum-maximum)

auth_ldap_dist()

Fonction principale d'authentification du module auth/ldap

auth_ldap_dist(string $login, string $pass[, string $serveur = '' ][, bool $phpauth = false ]) : array<string|int, mixed>|bool
  • On se bind avec le compte generique defini dans config/ldap.php,
  • On determine le DN de l'utilisateur candidat a l'authentification,
  • On se re-bind avec ce DN et le mot de passe propose.

Si la connexion est autorisee, on renvoie pour enregistrement en session, en plus des champs SQL habituels, les informations de connexion de l'utilisateur (DN et password). Cela permettra de se binder en cours de session sous son identite specifique pour les operations necessitant des privileges particuliers. TODO: Gerer une constante de conf qui permette de choisir entre ce comportement et tout faire avec le compte generique.

Parameters
$login : string
$pass : string
$serveur : string = ''
$phpauth : bool = false
Return values
array<string|int, mixed>|bool

auth_ldap_connect()

Connexion à l'annuaire LDAP

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

Il faut passer par spip_connect() pour avoir les info donc potentiellement indiquer un serveur meme si dans les fait cet argument est toujours vide

Parameters
$serveur : string = ''
Return values
array<string|int, mixed>

Retrouver un login, et vérifier son pass si demandé par `$checkpass`

auth_ldap_search(string $login, string $pass[, bool $checkpass = true ][, string $serveur = '' ]) : string
Parameters
$login : string
$pass : string
$checkpass : bool = true
$serveur : string = ''
Return values
string

Le login trouvé ou chaine vide si non trouvé

auth_ldap_retrouver()

Retrouver un DN depuis LDAP

auth_ldap_retrouver(string $dn[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ]) : array<string|int, mixed>
Parameters
$dn : string
$desc : array<string|int, mixed> = []
$serveur : string = ''
Return values
array<string|int, mixed>

auth_ldap_retrouver_login()

Retrouver le login de quelqu'un qui cherche à se loger

auth_ldap_retrouver_login(string $login[, string $serveur = '' ]) : string
Parameters
$login : string
$serveur : string = ''
Return values
string

auth_ldap_verifier_pass()

Vérification de la validité d'un mot de passe pour le mode d'auth concerné

auth_ldap_verifier_pass(string $login, string $new_pass[, int $id_auteur = 0 ][, string $serveur = '' ]) : string

C'est ici que se font éventuellement les vérifications de longueur mini/maxi ou de force.

Parameters
$login : string

Le login de l'auteur : permet de vérifier que pass et login sont différents même à la creation lorsque l'auteur n'existe pas encore

$new_pass : string
$id_auteur : int = 0

Si auteur existant déjà

$serveur : string = ''
Return values
string

Message d'erreur si login non valide, chaîne vide sinon

auth_ldap_autoriser_modifier_pass()

Informer du droit de modifier ou non le pass

auth_ldap_autoriser_modifier_pass([string $serveur = '' ]) : bool

On ne peut pas détecter à l'avance si l'autorisation sera donnée, il faudra informer l'utilisateur a posteriori si la modif n'a pas pu se faire.

Parameters
$serveur : string = ''
Return values
bool

Pour un auteur LDAP, a priori toujours true, à conditiion que le serveur l'autorise: par exemple, pour OpenLDAP il faut avoir dans slapd.conf:

 access to attr=userPassword
    by self write
    ...

auth_ldap_modifier_pass()

Fonction de modification du mot de passe

auth_ldap_modifier_pass(string $login, string $new_pass, int $id_auteur[, string $serveur = '' ]) : bool

On se bind au LDAP cette fois sous l'identité de l'utilisateur, car le compte générique defini dans config/ldap.php n'a généralement pas (et ne devrait pas avoir) les droits suffisants pour faire la modification.

Parameters
$login : string
$new_pass : string
$id_auteur : int
$serveur : string = ''
Return values
bool

Informe du succès ou de l'echec du changement du mot de passe

spip_sha256()

Main routine called from an application using this include.

Use hash('sha256', $str)

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

Return values
string

Le SHA de la chaîne

auth_spip_dist()

Authentifie et si ok retourne le tableau de la ligne SQL de l'utilisateur Si risque de secu repere a l'installation retourne False

auth_spip_dist(string $login, string $pass[, string $serveur = '' ][, bool $phpauth = false ][, string $fichier_cles = '' ]) : array<string|int, mixed>|bool
Parameters
$login : string
$pass : string
$serveur : string = ''
$phpauth : bool = false
$fichier_cles : string = ''
Return values
array<string|int, mixed>|bool

auth_spip_initialiser_secret()

Reinitialiser le secret des auth quand il est perdu si aucun webmestre n'a de backup Si force=true, on va forcer la reinit (si il est perdu) meme si des webmestres ont un backup

auth_spip_initialiser_secret([bool $force = false ]) : bool

Si on a pas perdu le secret des auth (le fichier config/cle.php est toujouts la et contient la cle), la fonction ne fait rien car réinitialiser le secret des auth invalide tous les mots de passe

Parameters
$force : bool = false
Return values
bool

auth_spip_formulaire_login()

Completer le formulaire de login avec le js ou les saisie specifiques a ce mode d'auth

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

auth_spip_autoriser_modifier_login()

Informer du droit de modifier ou non son login

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

toujours true pour un auteur cree dans SPIP

auth_spip_verifier_login()

Verification de la validite d'un login pour le mode d'auth concerne

auth_spip_verifier_login(string $new_login[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
$new_login : string
$id_auteur : int = 0

si auteur existant deja

$serveur : string = ''
Return values
string

message d'erreur si login non valide, chaine vide sinon

auth_spip_modifier_login()

Modifier le login d'un auteur SPIP

auth_spip_modifier_login(string $new_login, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
$new_login : string
$id_auteur : int
$serveur : string = ''
Return values
bool

auth_spip_retrouver_login()

Retrouver le login de quelqu'un qui cherche a se loger Reconnaitre aussi ceux qui donnent leur nom ou email au lieu du login

auth_spip_retrouver_login(string $login[, string $serveur = '' ]) : string
Parameters
$login : string
$serveur : string = ''
Return values
string

auth_spip_autoriser_modifier_pass()

Informer du droit de modifier ou non le pass

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

toujours true pour un auteur cree dans SPIP

auth_spip_verifier_pass()

Verification de la validite d'un mot de passe pour le mode d'auth concerne c'est ici que se font eventuellement les verifications de longueur mini/maxi ou de force

auth_spip_verifier_pass(string $login, string $new_pass[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
$login : string

Le login de l'auteur : permet de verifier que pass et login sont differents meme a la creation lorsque l'auteur n'existe pas encore

$new_pass : string

Nouveau mot de passe

$id_auteur : int = 0

si auteur existant deja

$serveur : string = ''
Return values
string

message d'erreur si login non valide, chaine vide sinon

auth_spip_modifier_pass()

Modifier le mot de passe de l'auteur sur le serveur concerne en s'occupant du hash et companie

auth_spip_modifier_pass(string $login, string $new_pass, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
$login : string
$new_pass : string
$id_auteur : int
$serveur : string = ''
Return values
bool

auth_spip_synchroniser_distant()

Synchroniser les fichiers htpasswd

auth_spip_synchroniser_distant(int $id_auteur, array<string|int, mixed> $champs[, array<string|int, mixed> $options = [] ][, string $serveur = '' ]) : void
Parameters
$id_auteur : int
$champs : array<string|int, mixed>
$options : array<string|int, mixed> = []

all=>true permet de demander la regeneration complete des acces apres operation en base (import, upgrade)

$serveur : string = ''

protege_champ()

Protéger les saisies d'un champ de formulaire

protege_champ(mixed $valeur[, mixed $max_prof = 128 ]) : string|array<string|int, mixed>|null

Proteger les ' et les " dans les champs que l'on va injecter, sans toucher aux valeurs sérialisées

Parameters
$valeur : mixed

Saisie à protéger

$max_prof : mixed = 128
Tags
see
spip_htmlspecialchars()
Return values
string|array<string|int, mixed>|null

Saisie protégée

existe_formulaire()

Teste si un formulaire demandé possède un squelette pour l'afficher

existe_formulaire(string $form) : string|bool
Parameters
$form : string

Nom du formulaire

Tags
see
trouver_fond()
Return values
string|bool
  • string : chemin du squelette
  • false : pas de squelette trouvé

test_formulaire_inclus_par_modele()

Tester si un formulaire est appele via un modele type <formulaire|...> et le cas echeant retourne les arguments passes au modele false sinon

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

balise_FORMULAIRE__dist()

Balises Formulaires par défaut.

balise_FORMULAIRE__dist(Champ $p) : Champ

Compilé en un appel à une balise dynamique.

Parameters
$p : Champ

Description de la balise formulaire

Return values
Champ

Description complétée du code compilé appelant la balise dynamique

balise_FORMULAIRE__dyn()

Balise dynamiques par défaut des formulaires

balise_FORMULAIRE__dyn(string $form, array<string|int, mixed> ...$args) : string|array<string|int, mixed>
Parameters
$form : string

Nom du formulaire

$args : array<string|int, mixed>

Arguments envoyés à l'appel du formulaire

Tags
note

Deux moyen d'arriver ici : soit #FORMULAIRE_XX reroute avec 'FORMULAIRE_XX' ajoute en premier arg soit #FORMULAIRE_{xx}

Return values
string|array<string|int, mixed>
  • array : squelette à appeler, durée du cache, contexte
  • string : texte à afficher directement

balise_FORMULAIRE__contexte()

Calcule le contexte à envoyer dans le squelette d'un formulaire

balise_FORMULAIRE__contexte(string $form, array<string|int, mixed> $args) : array<string|int, mixed>|string
Parameters
$form : string

Nom du formulaire

$args : array<string|int, mixed>

Arguments envoyés à l'appel du formulaire

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

array: contexte d'environnement à envoyer au squelette string: Formulaire non applicable (message d’explication)

formulaire__charger()

Charger les valeurs de saisie du formulaire

formulaire__charger(string $form, array<string|int, mixed> $args, bool $poste) : array<string|int, mixed>
Parameters
$form : string
$args : array<string|int, mixed>
$poste : bool
Return values
array<string|int, mixed>

formulaire__identifier()

Vérifier que le formulaire en cours est celui qui est poste

formulaire__identifier(string $form, array<string|int, mixed> $args, array<string|int, mixed> $p) : bool

On se base sur la fonction identifier (si elle existe) qui fournit une signature identifiant le formulaire a partir de ses arguments significatifs

En l'absence de fonction identifier, on se base sur l'egalite des arguments, ce qui fonctionne dans les cas simples

Parameters
$form : string
$args : array<string|int, mixed>
$p : array<string|int, mixed>
Return values
bool

balise_FORMULAIRE_ADMIN()

Compile la balise dynamique `#FORMULAIRE_ADMIN` qui des boutons d'administration dans l'espace public

balise_FORMULAIRE_ADMIN(Champ $p) : Champ

Cette balise permet de placer les boutons d'administrations dans un endroit spécifique du site. Si cette balise n'est pas présente, les boutons seront automatiquement ajoutés par SPIP si l'auteur a activé le cookie de correspondance.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
f_admin()
example
#FORMULAIRE_ADMIN
Return values
Champ

Pile complétée du code compilé

balise_FORMULAIRE_ADMIN_stat()

Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_ADMIN

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

On ne peut rien dire au moment de l'execution du squelette

Parameters
$args : array<string|int, mixed>
  • Classe CSS éventuelle
$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Return values
array<string|int, mixed>|string
  • Liste (statut, id) si un mode d'inscription est possible
  • chaîne vide sinon.

balise_FORMULAIRE_ADMIN_dyn()

Retourne le squelette d'affichage et le contexte de la balise FORMULAIRE_ADMIN

balise_FORMULAIRE_ADMIN_dyn([string $float = '' ][, string|array<string|int, mixed> $debug = '' ]) : array<string|int, mixed>|string
Parameters
$float : string = ''

Classe CSS éventuelle

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

Informations sur la page contenant une erreur de compilation

Tags
note

Les boutons admin sont mis d'autorité si absents donc une variable statique contrôle si FORMULAIRE_ADMIN a été vu.

Toutefois, si c'est le debuger qui appelle, il peut avoir recopié le code dans ses données et il faut le lui refournir. Pas question de recompiler: ca fait boucler ! Le debuger transmet donc ses données, et cette balise y retrouve son petit.

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

Liste : Chemin du squelette, durée du cache, contexte

admin_objet()

Préparer le contexte d'environnement pour les boutons

admin_objet() : array<string|int, mixed>

Permettra d'afficher le bouton 'Modifier ce...' s'il y a un $id_XXX défini dans le contexte de la page

Tags
note

Attention à l'ordre dans la boucle: on ne veut pas la rubrique si un autre bouton est possible

Return values
array<string|int, mixed>

Tableau de l'environnement calculé

admin_preview()

Détermine si l'élément est previsualisable

admin_preview(string $type, int $id[, array<string|int, mixed>|null $desc = null ]) : string|array<string|int, mixed>
Parameters
$type : string

Type d'objet

$id : int

Identifinant de l'objet

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

Description de la table

Return values
string|array<string|int, mixed>
  • Chaine vide si on est déjà en prévisu ou si pas de previsualisation possible
  • Tableau d'un élément sinon.

admin_lang()

Régler les boutons dans la langue de l'admin (sinon tant pis)

admin_lang() : string
Return values
string

Code de langue

admin_valider()

Retourne une URL vers un validateur

admin_valider() : string
Return values
string

admin_debug()

Retourne une URL vers le mode debug, si l'utilisateur a le droit, et si c'est utile

admin_debug() : string
Return values
string

balise_FORMULAIRE_ECRIRE_AUTEUR()

Compile la balise dynamique `#FORMULAIRE_ECRIRE_AUTEUR` qui permet très logiquement d'afficher un formulaire pour écrire à un auteur

balise_FORMULAIRE_ECRIRE_AUTEUR(Champ $p) : Champ

Cette balise récupère l'id_auteur (et son email) ou l'id_article de la boucle AUTEURS ou ARTICLES englobante.

Le ou les emails correspondants à l'auteur ou aux auteurs de l'article sont transmis au formulaire CVT (mais ils ne seront pas dévoilés au visiteur).

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
Return values
Champ

Pile complétée du code compilé

balise_FORMULAIRE_ECRIRE_AUTEUR_stat()

Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_ECRIRE_AUTEUR

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

Retourne le contexte du formulaire uniquement si l'email de l'auteur est valide, sinon rien (pas d'exécution/affichage du formulaire)

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

Liste des arguments demandés obtenus du contexte (id_auteur, id_article, email)

$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Return values
array<string|int, mixed>|string
  • Liste (id_auteur, id_article, email) des paramètres du formulaire CVT
  • chaîne vide sinon (erreur ou non affichage).

balise_FORMULAIRE_INSCRIPTION()

Compile la balise dynamique `#FORMULAIRE_INSCRIPTION` qui affiche un formulaire d'inscription au site

balise_FORMULAIRE_INSCRIPTION(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
example
#FORMULAIRE_INSCRIPTION
#FORMULAIRE_INSCRIPTION{nom_inscription, #ID_RUBRIQUE}
[(#FORMULAIRE_INSCRIPTION{1comite,#ARRAY{id,#ID_RUBRIQUE}})]
Return values
Champ

Pile complétée du code compilé

balise_FORMULAIRE_INSCRIPTION_stat()

Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_INSCRIPTION

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

En absence de mode d'inscription transmis à la balise, celui-ci est calculé en fonction de la configuration :

  • '1comite' si les rédacteurs peuvent s'inscrire,
  • '6forum' sinon si les forums sur abonnements sont actifs,
  • rien sinon.
Parameters
$args : array<string|int, mixed>
  • args[0] un statut d'auteur (rédacteur par defaut)
  • args[1] indique la rubrique éventuelle de proposition
$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Tags
example
#FORMULAIRE_INSCRIPTION
[(#FORMULAIRE_INSCRIPTION{mode_inscription, #ID_RUBRIQUE})]
[(#FORMULAIRE_INSCRIPTION{1comite,#ARRAY{id,#ID_RUBRIQUE}})]
Return values
array<string|int, mixed>|string
  • Liste (statut, id) si un mode d'inscription est possible
  • chaîne vide sinon.

balise_ID_LOGO__dist()

Compile la balise dynamique `#ID_LOGO_xx` qui retourne l'identifiant du document utilisé comme logo pour un objet éditorial de SPIP.

balise_ID_LOGO__dist(Champ $p) : Champ

Le type d'objet est récupéré dans le nom de la balise, tel que ID_LOGO_ARTICLE ou ID_LOGO_SITE.

Ces balises ont quelques options :

  • La balise peut aussi demander explicitement le logo normal ou de survol, avec ID_LOGO_ARTICLE_NORMAL ou ID_LOGO_ARTICLE_SURVOL.
  • On peut demander un logo de rubrique en absence de logo sur l'objet éditorial demandé avec ID_LOGO_ARTICLE_RUBRIQUE
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
uses
generer_code_logo()
example
#ID_LOGO_ARTICLE
Return values
Champ

Pile complétée par le code à générer

Calcule le code HTML pour l'image ou l'information sur un logo

generer_code_logo(string $id_objet, string $_id_objet, string $type, string $align, mixed $_lien, Champ $p, string $suite[, string $champ = '' ]) : string
Parameters
$id_objet : string

Nom de la clé primaire de l'objet (id_article, ...)

$_id_objet : string

Code pour la compilation permettant de récupérer la valeur de l'identifiant

$type : string

Type d'objet

$align : string

Alignement demandé du logo

$_lien : mixed
$p : Champ

Pile au niveau de la balise

$suite : string

Suite éventuelle de la balise logo, telle que _SURVOL, _NORMAL ou _RUBRIQUE.

$champ : string = ''

Indique un type de champ à retourner (fichier, src, titre, descriptif, credits, id, alt)

Tags
uses
quete_logo()
uses
quete_html_logo()
used-by
balise_ID_LOGO__dist()
used-by
balise_LOGO__dist()
Return values
string

Code compilé retournant le chemin du logo ou le code HTML du logo.

balise_IMPORT_JS_dist()

Compile la balise `#IMPORT_JS` qui cherche une ressource js locale ou distante et renvoie son chemin absolu, voire celui de sa version minifiée si la compression est activée.

balise_IMPORT_JS_dist(Champ $p) : Champ

Signature : #IMPORT_JS{module.esm.js}

Retourne une chaîne vide si le fichier n'est pas trouvé.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
chemin_import_js()
example
import {default as spip} from '#IMPORT_JS{config.js.html}';
Return values
Champ

Pile complétée par le code à générer

balise_INFO__dist()

Compile la balise dynamique `#INFO_xx` qui génère n'importe quelle information pour un objet

balise_INFO__dist(Champ $p) : Champ

Signature : #INFO_n{objet,id_objet} où n est une colonne sur la table SQL de l'objet.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/5544
uses
generer_objet_info()
example
#INFO_TITRE{article, #ENV{id_article}}
Return values
Champ

Pile complétée par le code à générer

balise_LOGO__dist()

Compile la balise dynamique `#LOGO_xx` qui retourne le code HTML pour afficher l'image de logo d'un objet éditorial de SPIP.

balise_LOGO__dist(Champ $p) : Champ

Le type d'objet est récupéré dans le nom de la balise, tel que LOGO_ARTICLE ou LOGO_SITE.

Ces balises ont quelques options :

  • La balise peut aussi demander explicitement le logo normal ou de survol, avec LOGO_ARTICLE_NORMAL ou LOGO_ARTICLE_SURVOL.
  • On peut demander un logo de rubrique en absence de logo sur l'objet éditorial demandé avec LOGO_ARTICLE_RUBRIQUE
  • LOGO_ARTICLE* ajoute un lien sur l'image du logo vers l'objet éditorial
  • LOGO_ARTICLE** retourne le nom du fichier de logo.
  • LOGO_ARTICLE{right}. Valeurs possibles : top left right center bottom
  • LOGO_DOCUMENT{icone}. Valeurs possibles : auto icone apercu vignette
  • LOGO_ARTICLE{200, 0}. Redimensionnement indiqué

Pour récupérer l’identifiant du document sous-jacent voir la balise ID_LOGO_...

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
uses
generer_code_logo()
example
#LOGO_ARTICLE
Return values
Champ

Pile complétée par le code à générer

balise_MENU_LANG()

Compile la balise dynamique `#MENU_LANG` qui affiche un sélecteur de langue pour l'espace public

balise_MENU_LANG(Champ $p) : Champ

Affiche le menu des langues de l'espace public et présélectionne celle la globale $lang ou de l'arguemnt fourni: #MENU_LANG{#ENV{malangue}}

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4626
Return values
Champ

Pile complétée du code compilé

balise_MENU_LANG_stat()

Calculs de paramètres de contexte automatiques pour la balise MENU_LANG

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

S'il n'y a qu'une langue proposée, pas besoin du formulaire (éviter une balise ?php inutile)

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

Liste des arguments demandés obtenus du contexte (lang) complétés de ceux fournis à la balise

$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

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

array: Liste (lang) des arguments collectés et fournis. string: (vide) si pas de multilinguisme

balise_MENU_LANG_dyn()

Exécution de la balise dynamique `#MENU_LANG`

balise_MENU_LANG_dyn(string $opt) : array<string|int, mixed>
Parameters
$opt : string

Langue par défaut

Tags
uses
menu_lang_pour_tous()
note

Normalement $opt sera toujours non vide suite au test ci-dessus

Return values
array<string|int, mixed>

Liste : Chemin du squelette, durée du cache, contexte

balise_MENU_LANG_ECRIRE()

Compile la balise dynamique `#MENU_LANG_ECRIRE` qui affiche un sélecteur de langue pour l'interface privée

balise_MENU_LANG_ECRIRE(Champ $p) : Champ

Affiche le menu des langues de l'espace privé et présélectionne celle la globale $lang ou de l'arguemnt fourni: #MENU_LANG_ECRIRE{#ENV{malangue}}

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4626
Return values
Champ

Pile complétée du code compilé

balise_MENU_LANG_ECRIRE_stat()

Calculs de paramètres de contexte automatiques pour la balise MENU_LANG_ECRIRE

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

S'il n'y a qu'une langue proposée, pas besoin du formulaire (éviter une balise ?php inutile)

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

Liste des arguments demandés obtenus du contexte (lang) complétés de ceux fournis à la balise

$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Return values
array<string|int, mixed>|string
  • array: Liste (lang) des arguments collectés et fournis.
  • string: Si pas de multilinguisme

balise_MENU_LANG_ECRIRE_dyn()

Exécution de la balise dynamique `#MENU_LANG_ECRIRE`

balise_MENU_LANG_ECRIRE_dyn(string $opt) : array<string|int, mixed>
Parameters
$opt : string

Langue par défaut

Tags
uses
menu_lang_pour_tous()
note

Normalement $opt sera toujours non vide suite au test ci-dessus

Return values
array<string|int, mixed>

Liste : Chemin du squelette, durée du cache, contexte

menu_lang_pour_tous()

Calcule l'environnement et le squelette permettant d'afficher le formulaire de sélection de changement de langue

menu_lang_pour_tous(string $nom, string $default) : array<string|int, mixed>

Le changement de langue se fait par l'appel à l'action converser

Parameters
$nom : string

Nom de la variable qui sera postée par le formulaire

$default : string

Valeur par défaut de la langue

Tags
uses
lang_select()
see
action_converser_dist()
used-by
balise_MENU_LANG_dyn()
used-by
balise_MENU_LANG_ECRIRE_dyn()
Return values
array<string|int, mixed>

Liste : Chemin du squelette, durée du cache, contexte

generer_generer_url()

Génère le code compilé des balises d'URL

generer_generer_url(string $type, Champ $p) : string

Utilise le premier paramètre de la balise d'URL comme identifiant d'objet s'il est donné, sinon le prendra dans un champ d'une boucle englobante.

Parameters
$type : string

Type d'objet

$p : Champ

Pile au niveau de la balise

Tags
uses
generer_generer_url_arg()
used-by
balise_URL__dist()
used-by
balise_URL_ARTICLE_dist()
used-by
balise_URL_SITE_dist()
Return values
string

Code compilé

generer_generer_url_arg()

Génère le code compilé des balises d'URL (en connaissant l'identifiant)

generer_generer_url_arg(string $type, Champ $p, string $_id) : string
  • Si ces balises sont utilisées pour la base locale, production des appels à generer_objet_url(id-courant, entite)

  • Si la base est externe et sous SPIP, on produit

    • l'URL de l'objet si c'est une pièce jointe, ou sinon
    • l'URL du site local appliqué sur l'objet externe, ce qui permet de le voir à travers les squelettes du site local

On communique le type-url distant à generer_objet_url mais il ne sert pas car rien ne garantit que le .htaccess soit identique. À approfondir.

Parameters
$type : string

Type d'objet

$p : Champ

Pile au niveau de la balise

$_id : string

Code compilé permettant d'obtenir l'identifiant de l'objet

Tags
see
generer_objet_url()
used-by
generer_generer_url()
Return values
string

Code compilé

balise_URL__dist()

Compile la balise générique `#URL_xxx` qui génère l'URL d'un objet

balise_URL__dist(Champ $p) : Champ

S'il existe une fonction spécifique de calcul d'URL pour l'objet demandé, tel que balise_URL_ARTICLE_dist(), la fonction l'utilisera. Sinon, on calcule une URL de façon générique.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
uses
generer_generer_url()
example
#URL_ARTICLE
#URL_ARTICLE{3}
Return values
Champ

Pile complétée par le code à générer

balise_URL_ARTICLE_dist()

Compile la balise `#URL_ARTICLE` qui génère l'URL d'un article

balise_URL_ARTICLE_dist(Champ $p) : Champ

Retourne l'URL (locale) d'un article mais retourne dans le cas d'un article syndiqué (boucle SYNDIC_ARTICLES), son URL distante d'origine.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
uses
generer_generer_url()
link
https://www.spip.net/3963
example
#URL_ARTICLE
#URL_ARTICLE{3}
Return values
Champ

Pile complétée par le code à générer

balise_URL_SITE_dist()

Compile la balise `#URL_SITE` qui génère l'URL d'un site ou de cas spécifiques

balise_URL_SITE_dist(Champ $p) : Champ|null

Génère une URL spécifique si la colonne SQL url_site est trouvée (par exemple lien hypertexte d'un article), sinon l'URL d'un site syndiqué

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
uses
generer_generer_url()
see
calculer_url()
link
https://www.spip.net/3861
Return values
Champ|null

Pile complétée par le code à générer

balise_URL_SITE_SPIP_dist()

Compile la balise `#URL_SITE_SPIP` qui retourne l'URL du site telle que définie dans la configuration

balise_URL_SITE_SPIP_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4623
Return values
Champ

Pile complétée par le code à générer

balise_URL_PAGE_dist()

Compile la balise `#URL_PAGE` qui retourne une URL de type « page »

balise_URL_PAGE_dist(Champ $p) : Champ
  • #URL_PAGE{nom} génère l'url pour la page nom
  • #URL_PAGE{nom,param=valeur} génère l'url pour la page nom avec des paramètres
  • #URL_PAGE sans argument retourne l'URL courante.
  • #URL_PAGE* retourne l'URL sans convertir les & en &amp;
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/4630
see
generer_url_public()
example
#URL_PAGE{backend} produit ?page=backend
#URL_PAGE{backend,id_rubrique=1} est équivalent à
[(#URL_PAGE{backend}|parametre_url{id_rubrique,1})]
Return values
Champ

Pile complétée par le code à générer

balise_URL_ECRIRE_dist()

Compile la balise `#URL_ECRIRE` qui retourne une URL d'une page de l'espace privé

balise_URL_ECRIRE_dist(Champ $p) : Champ
  • #URL_ECRIRE{nom} génère l'url pour la page nom de l'espace privé
  • #URL_ECRIRE{nom,param=valeur} génère l'url pour la page nom avec des paramètres
  • #URL_ECRIRE génère l'url pour la page d'accueil de l'espace privé
  • #URL_ECRIRE* retourne l'URL sans convertir les & en &amp;
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
link
https://www.spip.net/5566
see
generer_url_ecrire()
example
#URL_ECRIRE{rubriques} -> ecrire/?exec=rubriques
Return values
Champ

Pile complétée par le code à générer

balise_URL_ACTION_AUTEUR_dist()

Compile la balise `#URL_ACTION_AUTEUR` qui retourne une URL d'action sécurisée pour l'auteur en cours

balise_URL_ACTION_AUTEUR_dist(Champ $p) : Champ

La balise accepte 3 paramètres. Les 2 premiers sont obligatoires :

  • le nom de l'action
  • l'argument transmis à l'action (une chaîne de caractère)
  • une éventuelle URL de redirection qui sert une fois l'action réalisée
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
generer_action_auteur()
example

#URL_ACTION_AUTEUR{converser,arg,redirect} pourra produire ecrire/?action=converser&arg=arg&hash=xxx&redirect=redirect

Return values
Champ

Pile complétée par le code à générer

balise_URL_LOGOUT()

Compile la balise dynamique `#URL_LOGOUT` qui génère une URL permettant de déconnecter l'auteur actuellement connecté

balise_URL_LOGOUT(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
example
[<a href="(#URL_LOGOUT)">déconnexion</a>]
Return values
Champ

Pile complétée du code compilé

balise_URL_LOGOUT_stat()

Calculs de paramètres de contexte automatiques pour la balise URL_LOGOUT

balise_URL_LOGOUT_stat(array<string|int, mixed> $args, array<string|int, mixed> $context_compil) : array<string|int, mixed>
Parameters
$args : array<string|int, mixed>

Liste des arguments transmis à la balise

  • $args[0] = URL destination après logout [(#URL_LOGOUT{url})]
$context_compil : array<string|int, mixed>

Tableau d'informations sur la compilation

Return values
array<string|int, mixed>

Liste (url) des arguments collectés.

balise_URL_LOGOUT_dyn()

Exécution de la balise dynamique `#URL_LOGOUT`

balise_URL_LOGOUT_dyn(string $cible) : string

Retourne une URL de déconnexion uniquement si le visiteur est connecté.

Parameters
$cible : string

URL de destination après déconnexion

Return values
string

URL de déconnexion ou chaîne vide.

sql_error_backtrace()

Retourne la pile de fonctions utilisée lors de la précence d'une erreur SQL

sql_error_backtrace([bool $compil_info = false ]) : array<string|int, mixed>|string
Parameters
$compil_info : bool = false
  • false : Retourne un texte présentant les fonctions utilisées
  • true : retourne un tableau indiquant un contexte de compilation à l'origine de la requête, utile pour présenter une erreur au débuggueur via erreur_squelette()
Tags
note

Ignore les fonctions include_once, include_spip, find_in_path

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

contexte de l'erreur

sql_get_charset()

Demande si un charset est disponible

sql_get_charset(string $charset[, string $serveur = '' ][, bool $option = true ]) : string|bool

Demande si un charset (tel que utf-8) est disponible sur le gestionnaire de base de données de la connexion utilisée

Parameters
$charset : string

Le charset souhaité

$serveur : string = ''

Le nom du connecteur

$option : bool = true

Inutilise

Tags
see
sql_set_charset()

pour utiliser un charset

Return values
string|bool

Retourne le nom du charset si effectivement trouvé, sinon false.

sql_set_charset()

Regler le codage de connexion

sql_set_charset(string $charset[, string $serveur = '' ][, bool|string $option = true ]) : bool

Affecte un charset (tel que utf-8) sur la connexion utilisee avec le gestionnaire de base de donnees

Parameters
$charset : string

Le charset souhaite

$serveur : string = ''

Le nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true pour executer la requete.
  • continue pour ne pas echouer en cas de serveur sql indisponible.
Tags
see
sql_get_charset()

pour tester l'utilisation d'un charset

Return values
bool

Retourne true si elle reussie.

sql_select()

Effectue une requête de selection

sql_select([array<string|int, mixed>|string $select = [] ][, array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = [] ][, array<string|int, mixed>|string $orderby = [] ][, string $limit = '' ][, string|array<string|int, mixed> $having = [] ][, string $serveur = '' ][, bool|string $option = true ]) : mixed

Fonction de selection (SELECT), retournant la ressource interrogeable par sql_fetch.

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

Liste des champs a recuperer (Select)

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

Tables a consulter (From)

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

Conditions a remplir (Where)

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

critere de regroupement (Group by)

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

Tableau de classement (Order By)

$limit : string = ''

critere de limite (Limit)

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

Tableau ou chaine des des post-conditions à remplir (Having)

$serveur : string = ''

Le serveur sollicite (pour retrouver la connexion)

$option : bool|string = true

Peut avoir 3 valeurs :

  • false -> ne pas l'exécuter mais la retourner,
  • continue -> ne pas echouer en cas de serveur sql indisponible,
  • true -> executer la requête. Le cas array est, pour une requete produite par le compilateur, un tableau donnnant le contexte afin d'indiquer le lieu de l'erreur au besoin
Tags
see
sql_fetch()

Pour boucler sur les resultats de cette fonction

used-by
sql_get_select()
used-by
sql_fetsel()
used-by
sql_allfetsel()
Return values
mixed
Ressource SQL

- Ressource SQL pour sql_fetch, si la requete est correcte
- false en cas d'erreur
- Chaine contenant la requete avec $option=false

Retourne false en cas d'erreur, apres l'avoir denoncee. Les portages doivent retourner la requete elle-meme en cas d'erreur, afin de disposer du texte brut.

sql_get_select()

Recupere la syntaxe de la requete select sans l'executer

sql_get_select([array<string|int, mixed>|string $select = [] ][, array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = [] ][, array<string|int, mixed>|string $orderby = [] ][, string $limit = '' ][, string|array<string|int, mixed> $having = [] ][, string $serveur = '' ]) : mixed

Passe simplement $option a false au lieu de true sans obliger a renseigner tous les arguments de sql_select. Les autres parametres sont identiques.

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

Liste des champs a recuperer (Select)

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

Tables a consulter (From)

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

Conditions a remplir (Where)

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

critere de regroupement (Group by)

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

Tableau de classement (Order By)

$limit : string = ''

critere de limite (Limit)

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

Tableau ou chaine des des post-conditions à remplir (Having)

$serveur : string = ''

Le serveur sollicite (pour retrouver la connexion)

Tags
uses
sql_select()
Return values
mixed

Chaine contenant la requete ou false en cas d'erreur

sql_countsel()

Retourne le nombre de lignes d'une sélection

sql_countsel([array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = [] ][, string|array<string|int, mixed> $having = [] ][, string $serveur = '' ][, bool|string $option = true ]) : int|bool

Ramène seulement et tout de suite le nombre de lignes Pas de colonne ni de tri à donner donc.

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

Tables a consulter (From)

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

Conditions a remplir (Where)

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

critere de regroupement (Group by)

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

Tableau ou chaine des des post-conditions à remplir (Having)

$serveur : string = ''

Le serveur sollicite (pour retrouver la connexion)

$option : bool|string = true

Peut avoir 3 valeurs :

  • false -> ne pas l'executer mais la retourner,
  • continue -> ne pas echouer en cas de serveur sql indisponible,
  • true -> executer la requete.
Tags
see
sql_count()
example
if (sql_countsel('spip_mots_liens', array(
    "objet=".sql_quote('article'),
    "id_article=".sql_quote($id_article)) > 0) {
        // ...
}
Return values
int|bool
  • Nombre de lignes de resultat
  • ou false en cas d'erreur

sql_alter()

Modifie la structure de la base de données

sql_alter(string $q[, string $serveur = '' ][, bool|string $option = true ]) : mixed

Effectue une opération ALTER.

Parameters
$q : string

La requête à exécuter (sans la préceder de 'ALTER ')

$serveur : string = ''

Le serveur sollicite (pour retrouver la connexion)

$option : bool|string = true

Peut avoir 2 valeurs :

  • true : exécuter la requete
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
example
sql_alter('DROP COLUMN supprimer');
Return values
mixed

2 possibilités :

  • Incertain en cas d'exécution correcte de la requête
  • false en cas de serveur indiponible ou d'erreur

Ce retour n'est pas pertinent pour savoir si l'opération est correctement réalisée.

sql_fetch()

Retourne un enregistrement d'une selection

sql_fetch(mixed $res[, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>|false

Retourne un resultat d'une ressource obtenue avec sql_select()

Parameters
$res : mixed

Ressource retournee par sql_select()

$serveur : string = ''

Le nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> executer la requete
  • continue -> ne pas echouer en cas de serveur sql indisponible
Return values
array<string|int, mixed>|false

Tableau de cles (colonnes SQL ou alias) / valeurs (valeurs dans la colonne de la table ou calculee) presentant une ligne de resultat d'une selection

sql_fetch_all()

Retourne tous les enregistrements d'une selection

sql_fetch_all(mixed $res[, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>

Retourne tous les resultats d'une ressource obtenue avec sql_select() dans un tableau

Parameters
$res : mixed

Ressource retournee par sql_select()

$serveur : string = ''

Le nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> executer la requete
  • continue -> ne pas echouer en cas de serveur sql indisponible
Return values
array<string|int, mixed>

Tableau contenant les enregistrements. Chaque entree du tableau est un autre tableau de cles (colonnes SQL ou alias) / valeurs (valeurs dans la colonne de la table ou calculee) presentant une ligne de resultat d'une selection

sql_seek()

Déplace le pointeur d'une ressource de sélection

sql_seek(mixed $res, int $row_number[, string $serveur = '' ][, bool|string $option = true ]) : bool

Deplace le pointeur sur un numéro de ligne précisé sur une ressource issue de sql_select, afin que le prochain sql_fetch récupère cette ligne.

Parameters
$res : mixed

Ressource issue de sql_select

$row_number : int

Numero de ligne sur laquelle placer le pointeur

$serveur : string = ''

Le nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> executer la requete
  • continue -> ne pas echouer en cas de serveur sql indisponible
Tags
see
sql_skip()

Pour sauter des enregistrements

Return values
bool

Operation effectuée (true), sinon false.

sql_listdbs()

Liste des bases de donnees accessibles

sql_listdbs([string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>|bool

Retourne un tableau du nom de toutes les bases de donnees accessibles avec les permissions de l'utilisateur SQL de cette connexion. Attention on n'a pas toujours les droits !

Parameters
$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> executer la requete
  • continue -> ne pas echouer en cas de serveur sql indisponible
Return values
array<string|int, mixed>|bool

Tableau contenant chaque nom de base de donnees. False en cas d'erreur.

sql_selectdb()

Demande d'utiliser d'une base de donnees

sql_selectdb(string $nom[, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$nom : string

Nom de la base a utiliser

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> executer la requete
  • continue -> ne pas echouer en cas de serveur sql indisponible
Return values
bool|string
  • True ou nom de la base en cas de success.
  • False en cas d'erreur.

sql_count()

Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`

sql_count(object $res[, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$res : object

Ressource SQL

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> executer la requete
  • continue -> ne pas echouer en cas de serveur sql indisponible
Tags
see
sql_select()
see
sql_countsel()
Return values
bool|string
  • int Nombre de lignes,
  • false en cas d'erreur.

sql_free()

Libère une ressource de résultat

sql_free(object $res[, string $serveur = '' ][, bool|string $option = true ]) : bool

Indique au gestionnaire SQL de libérer de sa mémoire la ressoucre de résultat indiquée car on n'a plus besoin de l'utiliser.

Parameters
$res : object

Ressource de résultat

$serveur : string = ''

Nom de la connexion

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> exécuter la requete
  • continue -> ne pas échouer en cas de serveur SQL indisponible
Return values
bool

True si réussi

sql_insert()

Insère une ligne dans une table

sql_insert(string $table, string $noms, string $valeurs[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$table : string

Nom de la table SQL

$noms : 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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_insertq()
see
sql_quote()
note

Cette fonction ne garantit pas une portabilité totale, et n'est là que pour faciliter des migrations de vieux scripts. Préférer sql_insertq.

Return values
bool|string
  • 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.

sql_insertq()

Insère une ligne dans une table

sql_insertq(string $table[, array<string|int, mixed> $couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool|string $option = true ]) : int|bool|string

Protègera chaque valeur comme sql_quote.

Parameters
$table : string

Nom de la table SQL

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

Tableau (nom => 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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_insert()
see
sql_insertq_multi()
see
sql_quote()
see
objet_inserer()
example
$titre = _request('titre');
$id = sql_insertq('spip_rubriques', array('titre' => $titre));
used-by
objet_inserer()
Return values
int|bool|string
  • 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.

sql_insertq_multi()

Insère plusieurs lignes d'un coup dans une table

sql_insertq_multi(string $table[, array<string|int, mixed> $couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool|string $option = true ]) : bool|string

Insère en une opération plusieurs éléments au schéma identique dans une table de la base de données. Lorsque les portages le permettent, ils utilisent une seule requête SQL pour réaliser l’ajout.

Parameters
$table : string

Nom de la table SQL

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

Tableau de tableaux associatifs (nom => 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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_insertq()
Return values
bool|string
  • true en cas de succès,
  • texte de la requête si demandé,
  • false en cas d'erreur.

sql_update()

Met à jour des enregistrements d'une table SQL

sql_update(string $table, array<string|int, mixed> $exp[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>|bool|string

Les valeurs ne sont pas échappées, ce qui permet de modifier une colonne en utilisant la valeur d'une autre colonne ou une expression SQL.

Il faut alors protéger avec sql_quote() manuellement les valeurs qui en ont besoin.

Dans les autres cas, préférer sql_updateq().

Parameters
$table : string

Nom de la table

$exp : 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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_updateq()
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

sql_updateq()

Met à jour du contenu d’une table SQL

sql_updateq(string $table, array<string|int, mixed> $exp[, array<string|int, mixed>|string $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool|string $option = true ]) : bool|string

Le contenu transmis à la fonction est protégé automatiquement comme sql_quote().

Parameters
$table : string

Nom de la table SQL

$exp : array<string|int, mixed>

Couples (colonne => valeur)

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

Conditions à vérifier

$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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_quote()
see
sql_update()
example
sql_updateq('table', array('colonne' => $valeur), 'id_table=' . intval($id_table));
sql_updateq("spip_auteurs", array("statut" => '6forum'), "id_auteur=$id_auteur") ;
note

sql_update() est presque toujours appelée sur des constantes ou des dates Cette fonction (sql_updateq) est donc plus utile que la précédente, d'autant qu'elle permet de gerer les différences de représentation des constantes.

Return values
bool|string
  • true si réussite
  • texte de la requête si demandé,
  • false en cas d'erreur.

sql_delete()

Supprime des enregistrements d'une table

sql_delete(string $table[, string|array<string|int, mixed> $where = '' ][, string $serveur = '' ][, bool|string $option = 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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
example
sql_delete('spip_articles', 'id_article='.sql_quote($id_article));
Return values
bool|string
  • int : nombre de suppressions réalisées,
  • texte de la requête si demandé,
  • false en cas d'erreur.

sql_replace()

Insère où met à jour une entrée d’une table SQL

sql_replace(string $table, array<string|int, mixed> $couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool|string $option = 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 sql_insertq() et sql_updateq().

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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_insertq()
see
sql_updateq()
Return values
bool|string
  • true si réussite
  • texte de la requête si demandé,
  • false en cas d'erreur.

sql_replace_multi()

Insère où met à jour des entrées d’une table SQL

sql_replace_multi(string $table, array<string|int, mixed> $tab_couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool|string $option = 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 sql_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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_insertq_multi()
see
sql_updateq()
see
sql_replace()
Return values
bool|string
  • true si réussite
  • texte de la requête si demandé,
  • false en cas d'erreur.

sql_drop_table()

Supprime une table SQL (structure et données)

sql_drop_table(string $table[, bool $exist = false ][, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$table : string

Nom de la table

$exist : bool = false

true pour ajouter un test sur l'existence de la table, false sinon

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_create()
see
sql_drop_view()
Return values
bool|string
  • true en cas de succès,
  • texte de la requête si demandé,
  • false en cas d'erreur.

sql_drop_view()

Supprime une vue SQL

sql_drop_view(string $table[, bool $exist = false ][, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$table : 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

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_create_view()
see
sql_drop_table()
Return values
bool|string
  • string texte de la requête si demandé
  • true si la requête a réussie, false sinon

sql_showbase()

Retourne une ressource de la liste des tables de la base de données

sql_showbase([string $spip = null ][, string $serveur = '' ][, bool|string $option = true ]) : object|bool|string
Parameters
$spip : string = null

Filtre sur tables retournées

  • NULL : retourne les tables SPIP uniquement (tables préfixées avec le préfixe de la connexion)
  • '%' : retourne toutes les tables de la base
$serveur : string = ''

Le nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • false -> ne pas l'executer mais la retourner,
  • continue -> ne pas echouer en cas de serveur sql indisponible,
  • true -> executer la requete.
Tags
see
sql_alltable()
used-by
sql_alltable()
Return values
object|bool|string

Ressource à utiliser avec sql_fetch()

sql_alltable()

Retourne la liste des tables SQL

sql_alltable([string $spip = null ][, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>
Parameters
$spip : string = null

Filtre sur tables retournées

  • NULL : retourne les tables SPIP uniquement (tables préfixées avec le préfixe de la connexion)
  • '%' : retourne toutes les tables de la base
$serveur : string = ''

Le nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • false -> ne pas l'executer mais la retourner,
  • continue -> ne pas echouer en cas de serveur sql indisponible,
  • true -> executer la requete.
Tags
uses
sql_showbase()
Return values
array<string|int, mixed>

Liste des tables SQL

sql_showtable()

Retourne la liste (et description) des colonnes et key d’une table SQL

sql_showtable(string $table[, bool $table_spip = false ][, string $serveur = '' ][, bool|string $option = true ]) : bool|array<string|int, mixed>
Parameters
$table : string

Nom de la table SQL

$table_spip : bool = false

true pour remplacer automatiquement « spip » par le vrai préfixe de table

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • 'continue' : ne pas échouer en cas de serveur SQL indisponible,
  • true : exécuter la requete.
Tags
note

Dans la plupart des situations, il vaut mieux utiliser directement la fonction trouver_table() qui possède un cache.

see
base_trouver_table_dist()
Return values
bool|array<string|int, mixed>
  • false en cas d'echec
  • sinon array : Tableau avec
    • 'field' => array(colonne => description)
    • 'key' => array(type => key)
    • 'join' => array() // jointures, si déclarées.

sql_table_exists()

Teste si une table SQL existe ou non dans la base

sql_table_exists(string $table[, bool $table_spip = true ][, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$table : string

Nom de la table

$table_spip : bool = true

true pour remplacer automatiquement « spip » par le vrai préfixe de table

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Return values
bool|string
  • true si la table existe,
  • texte de la requête si demandé,
  • false en cas d'erreur.

sql_create()

Crée une table dans la base de données

sql_create(string $nom, array<string|int, mixed> $champs[, array<string|int, mixed> $cles = [] ][, bool $autoinc = false ][, bool $temporary = false ][, string $serveur = '' ][, bool|string $option = true ]) : bool
Parameters
$nom : string

Nom de la table

$champs : array<string|int, mixed>

Couples (colonne => description)

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

Clé (nomdelaclef => champ)

$autoinc : bool = false

Si un champ est clef primaire est numérique alors la propriété d’autoincrémentation sera ajoutée

$temporary : bool = false

true pour créer une table temporaire (au sens SQL)

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • 'continue' : ne pas échouer en cas de serveur SQL indisponible,
  • true : exécuter la requete.
Tags
example
sql_create("spip_tables",
  array(
      "id_table" => "bigint(20) NOT NULL default '0'",
      "colonne1"=> "varchar(3) NOT NULL default 'oui'",
      "colonne2"=> "text NOT NULL default ''"
   ),
   array(
      'PRIMARY KEY' => "id_table",
      'KEY colonne1' => "colonne1"
   )
);
Return values
bool

true si succès, false en cas d'echec

sql_create_base()

Crée une base de données

sql_create_base(string $nom[, string $serveur = '' ][, bool|string $option = true ]) : bool
Parameters
$nom : string

Nom de la base (sans l'extension de fichier si gestionnaire SQLite)

$serveur : string = ''

Nom de la connexion

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Return values
bool

true si la base est créee.

sql_create_view()

Crée une vue SQL

sql_create_view(string $nom, string $select_query[, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$nom : string

Nom de la vue

$select_query : string

Une requête SELECT, idéalement crée avec sql_get_select(...)

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
see
sql_drop_view()
see
sql_create()
see
sql_get_select()

Pour obtenir le texte de la requête SELECT pour créer la vue.

Return values
bool|string
  • true si succès,
  • texte de la requête si demandé
  • false en cas d'échec.

sql_multi()

Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée

sql_multi(string $sel, string $lang[, string $serveur = '' ][, bool|string $option = true ]) : string

Cette sélection est mise dans l'alias multi (instruction AS multi).

Parameters
$sel : string

Colonne ayant le texte

$lang : string

Langue à extraire

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Tags
example
$t = sql_multi('chapo', 'fr');
Return values
string

texte de sélection pour la requête

sql_error()

Retourne la dernière erreur connue

sql_error([string $serveur = '' ]) : bool|string
Parameters
$serveur : string = ''

Nom du connecteur

Return values
bool|string

Description de l'erreur False si le serveur est indisponible

sql_errno()

Retourne le numéro de la derniere erreur connue

sql_errno([string $serveur = '' ]) : bool|int
Parameters
$serveur : string = ''

Nom du connecteur

Return values
bool|int

Numéro de l'erreur False si le serveur est indisponible

sql_explain()

Retourne une explication de requête (Explain) SQL

sql_explain(string $q[, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>|false
Parameters
$q : string

texte de la requête

$serveur : string = ''

Nom de la connexion

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Return values
array<string|int, mixed>|false

Tableau de l'explication

sql_optimize()

Optimise une table SQL

sql_optimize(string $table[, string $serveur = '' ][, bool $option = true ]) : bool
Parameters
$table : string

Nom de la table

$serveur : string = ''

Nom de la connexion

$option : bool = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Return values
bool

Toujours true

sql_repair()

Répare une table SQL

sql_repair(string $table[, string $serveur = '' ][, bool|string $option = true ]) : bool|string
Parameters
$table : string

Nom de la table SQL

$serveur : string = ''

Nom de la connexion

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Return values
bool|string
  • string texte de la requête si demandée,
  • true si la requête a réussie, false sinon

sql_query()

Exécute une requête SQL

sql_query(string $ins[, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>|resource|string|bool

Fonction la plus générale ... et la moins portable À n'utiliser qu'en dernière extrémité

Parameters
$ins : string

Requête

$serveur : string = ''

Nom de la connexion

$option : bool|string = true

Peut avoir 3 valeurs :

  • false : ne pas l'exécuter mais la retourner,
  • true : exécuter la requête
  • 'continue' : ne pas échouer en cas de serveur sql indisponible
Return values
array<string|int, mixed>|resource|string|bool
  • string : texte de la requête si on ne l'exécute pas
  • ressource|bool : Si requête exécutée
  • array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.

sql_fetsel()

Retourne la première ligne d'une sélection

sql_fetsel([array<string|int, mixed>|string $select = [] ][, array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = [] ][, array<string|int, mixed>|string $orderby = [] ][, string $limit = '' ][, string|array<string|int, mixed> $having = [] ][, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>|string|false

Retourne la première ligne de résultat d'une sélection comme si l'on appelait successivement sql_select() puis sql_fetch()

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

Liste des champs a recuperer (Select)

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

Tables a consulter (From)

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

Conditions a remplir (Where)

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

critere de regroupement (Group by)

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

Tableau de classement (Order By)

$limit : string = ''

critere de limite (Limit)

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

Tableau ou chaine des des post-conditions à remplir (Having)

$serveur : string = ''

Le serveur sollicite (pour retrouver la connexion)

$option : bool|string = true

Peut avoir 3 valeurs :

  • true -> executer la requete.
  • continue -> ne pas echouer en cas de serveur sql indisponible.
  • false -> ne pas l'executer mais la retourner.
Tags
example
$art = sql_fetsel(array('id_rubrique','id_secteur'), 'spip_articles', 'id_article='.sql_quote($id_article));
$id_rubrique = $art['id_rubrique'];
uses
sql_select()
uses
sql_fetch()
see
sql_getfetsel()
used-by
sql_getfetsel()
Return values
array<string|int, mixed>|string|false

Tableau de la premiere ligne de resultat de la selection tel que array('id_rubrique' => 1, 'id_secteur' => 2)

sql_allfetsel()

Retourne le tableau de toutes les lignes d'une selection

sql_allfetsel([array<string|int, mixed>|string $select = [] ][, array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = [] ][, array<string|int, mixed>|string $orderby = [] ][, string $limit = '' ][, string|array<string|int, mixed> $having = [] ][, string $serveur = '' ][, bool|string $option = true ]) : array<string|int, mixed>

Retourne toutes les lignes de resultat d'une selection comme si l'on appelait successivement sql_select() puis while(sql_fetch())

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

Liste des champs a recuperer (Select)

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

Tables a consulter (From)

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

Conditions a remplir (Where)

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

critere de regroupement (Group by)

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

Tableau de classement (Order By)

$limit : string = ''

critere de limite (Limit)

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

Tableau ou chaine des des post-conditions à remplir (Having)

$serveur : string = ''

Le serveur sollicite (pour retrouver la connexion)

$option : bool|string = true

Peut avoir 3 valeurs :

  • true -> executer la requete.
  • continue -> ne pas echouer en cas de serveur sql indisponible.
  • false -> ne pas l'executer mais la retourner.
Tags
example
$rubs = sql_allfetsel('id_rubrique', 'spip_articles', 'id_secteur='.sql_quote($id_secteur));
// $rubs = array(array('id_rubrique'=>1), array('id_rubrique'=>3, ...)
uses
sql_select()
uses
sql_fetch()
Return values
array<string|int, mixed>

Tableau de toutes les lignes de resultat de la selection Chaque entree contient un tableau des elements demandees dans le SELECT.

array(
  array('id_rubrique' => 1, 'id_secteur' => 2)
  array('id_rubrique' => 4, 'id_secteur' => 2)
  ...
)

sql_getfetsel()

Retourne un unique champ d'une selection

sql_getfetsel(string $select[, array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = [] ][, array<string|int, mixed>|string $orderby = [] ][, string $limit = '' ][, string|array<string|int, mixed> $having = [] ][, string $serveur = '' ][, bool|string $option = true ]) : mixed

Retourne dans la premiere ligne de resultat d'une selection un unique champ demande

Parameters
$select : string

Liste des champs à récupérer (Select)

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

Tables à consulter (From)

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

Conditions à remplir (Where)

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

Critère de regroupement (Group by)

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

Tableau de classement (Order By)

$limit : string = ''

Critère de limite (Limit)

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

Tableau ou chaine des des post-conditions à remplir (Having)

$serveur : string = ''

Le serveur sollicité (pour retrouver la connexion)

$option : bool|string = true

Peut avoir 3 valeurs :

  • true -> executer la requete.
  • continue -> ne pas echouer en cas de serveur sql indisponible.
  • false -> ne pas l'executer mais la retourner.
Tags
example
$id_rubrique = sql_getfetsel('id_rubrique', 'spip_articles', 'id_article='.sql_quote($id_article));
uses
sql_fetsel()
Return values
mixed

Contenu de l'unique valeur demandee du premier enregistrement retourne ou NULL si la requete ne retourne aucun enregistrement

sql_version()

Retourne le numero de version du serveur SQL

sql_version([string $serveur = '' ][, bool|string $option = true ]) : string
Parameters
$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true pour executer la requete.
  • continue pour ne pas echouer en cas de serveur sql indisponible.
Return values
string

Numero de version du serveur SQL

sql_preferer_transaction()

Informe si le moteur SQL prefere utiliser des transactions

sql_preferer_transaction([string $serveur = '' ][, bool|string $option = true ]) : bool

Cette fonction experimentale est pour l'instant presente pour accelerer certaines insertions multiples en SQLite, en les encadrant d'une transaction. SQLite ne cree alors qu'un verrou pour l'ensemble des insertions et non un pour chaque, ce qui accelere grandement le processus. Evidemment, si une des insertions echoue, rien ne sera enregistre. Pour ne pas perturber les autres moteurs, cette fonction permet de verifier que le moteur prefere utiliser des transactions dans ce cas.

Parameters
$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true pour executer la requete.
  • continue pour ne pas echouer en cas de serveur sql indisponible.
Tags
example
if (sql_preferer_transaction()) {
  sql_demarrer_transaction();
}
see
sql_demarrer_transaction()
see
sql_terminer_transaction()
Return values
bool

Le serveur SQL prefere t'il des transactions pour les insertions multiples ?

sql_demarrer_transaction()

Démarre une transaction

sql_demarrer_transaction([string $serveur = '' ][, bool|string $option = true ]) : bool
Parameters
$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • true pour executer la requete.
  • continue pour ne pas echouer en cas de serveur sql indisponible.
  • false pour obtenir le code de la requete
Tags
see
sql_terminer_transaction()

Pour cloturer la transaction

Return values
bool

true si la transaction est demarree false en cas d'erreur

sql_terminer_transaction()

Termine une transaction

sql_terminer_transaction([string $serveur = '' ][, bool|string $option = true ]) : bool
Parameters
$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 3 valeurs :

  • true pour executer la requete.
  • continue pour ne pas echouer en cas de serveur sql indisponible.
  • false pour obtenir le code de la requete
Tags
see
sql_demarrer_transaction()

Pour demarrer une transaction

Return values
bool

true si la transaction est demarree false en cas d'erreur

sql_hex()

Prépare une chaine hexadécimale

sql_hex(string $val[, string $serveur = '' ][, bool|string $option = true ]) : string

Prend une chaîne sur l'aphabet hexa et retourne sa représentation numérique attendue par le serveur SQL. Par exemple : FF ==> 0xFF en MySQL mais x'FF' en PG

Parameters
$val : string

Chaine hexadécimale

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true pour exécuter la demande.
  • 'continue' pour ne pas échouer en cas de serveur SQL indisponible.
Return values
string

Valeur hexadécimale attendue par le serveur SQL

sql_quote()

Echapper du contenu

sql_quote(string $val[, string $serveur = '' ][, string $type = '' ]) : string

Echappe du contenu selon ce qu'attend le type de serveur SQL et en fonction du type de contenu.

Permet entre autres de se protéger d'injections SQL.

Cette fonction est automatiquement appelée par les fonctions sql_*q tel que sql_instertq ou sql_updateq

Parameters
$val : string

Chaine à echapper

$serveur : string = ''

Nom du connecteur

$type : string = ''

Peut contenir une declaration de type de champ SQL. Exemple : int NOT NULL qui sert alors aussi à calculer le type d'échappement

Return values
string

La chaine echappee

sql_date_proche()

Tester si une date est proche de la valeur d'un champ

sql_date_proche(string $champ, int $interval, string $unite[, string $serveur = '' ][, bool|string $option = true ]) : string|bool
Parameters
$champ : string

Nom du champ a tester

$interval : int

Valeur de l'intervalle : -1, 4, ...

$unite : string

Utité utilisée (DAY, MONTH, YEAR, ...)

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true pour exécuter la demande.
  • 'continue' pour ne pas échouer en cas de serveur SQL indisponible.
Return values
string|bool
  • string : Expression SQL
  • false si le serveur SQL est indisponible

sql_in_quote()

Retourne une expression IN pour le gestionnaire de base de données

sql_in_quote(string $champ, array<string|int, mixed> $valeurs[, string $not = '' ][, string $serveur = '' ][, string $type = '' ][, bool|string $option = true ]) : string

Retourne un code à insérer dans une requête SQL pour récupérer les éléments d'une colonne qui appartiennent à une liste donnée

Parameters
$champ : string

Colonne SQL sur laquelle appliquer le test

$valeurs : array<string|int, mixed>

Liste des valeurs possibles (séparés par des virgules si string) le format string est historique et n'est accepte que pour des ids numeriques car autrement la securite ne peut etre garantie

$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

$type : string = ''

type du champ pour le sql_quote

$option : bool|string = true

Peut avoir 3 valeurs :

  • 'continue' -> ne pas echouer en cas de serveur sql indisponible
  • true ou false -> retourne l'expression
Tags
example

sql_in_quote('id_rubrique', array(3,4,5)) retourne approximativement «id_rubrique IN (3,4,5)» selon ce qu'attend le gestionnaire de base de donnée du connecteur en cours.

Return values
string

Expression de requête SQL

sql_in()

shorthand historique qui ne permet pas de specifier le type et qui accepte une string pour $valeurs

sql_in(string $champ, array<string|int, mixed>|string $valeurs[, string $not = '' ][, string $serveur = '' ][, bool $option = true ]) : mixed
Parameters
$champ : string
$valeurs : array<string|int, mixed>|string

Liste des valeurs possibles (séparés par des virgules si string) le format string est historique et n'est accepte que pour des ids numeriques car autrement la securite ne peut etre garantie

$not : string = ''
$serveur : string = ''
$option : bool = true
Tags
see
sql_in_quote

sql_in_select()

Retourne une expression IN pour le gestionnaire de base de données à partir d'une sélection de données

sql_in_select(string $in, array<string|int, mixed>|string $select[, array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = [] ][, array<string|int, mixed>|string $orderby = [] ][, string $limit = '' ][, string|array<string|int, mixed> $having = [] ][, string $serveur = '' ]) : string

Sélectionne les données (comme sql_select()) et prépare avec l'expression IN

Parameters
$in : string

Colonne SQL sur laquelle appliquer le test

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

Liste des champs à récupérer (Select). La donnée extraite est le premier élément de la sélection.

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

Tables a consulter (From)

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

Conditions a remplir (Where)

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

critere de regroupement (Group by)

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

Tableau de classement (Order By)

$limit : string = ''

critere de limite (Limit)

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

Tableau ou chaine des des post-conditions à remplir (Having)

$serveur : string = ''

Nom du connecteur

Tags
see
sql_select()
see
sql_in()
note

Penser à dire dans la description du serveur s'il accepte les requêtes imbriquées afin d'optimiser ca

Return values
string

Expression de requête SQL

sql_skip()

Implémentation sécurisée du saut en avant.

sql_skip(object $res, int $pos, int $saut, int $count[, string $serveur = '' ][, bool|string $option = true ]) : int

Ne dépend pas de la disponibilité de la fonction sql_seek(). Ne fait rien pour une valeur négative ou nulle de $saut. Retourne la position après le saut

Parameters
$res : object

Ressource issue d'une selection sql_select

$pos : int

position courante

$saut : int

saut demande

$count : int

position maximale (nombre de resultat de la requete OU position qu'on ne veut pas depasser)

$serveur : string = ''

Nom du connecteur

$option : bool|string = true

Peut avoir 2 valeurs :

  • true -> executer la requete
  • continue -> ne pas echouer en cas de serveur sql indisponible
Tags
see
sql_seek()
Return values
int

Position apres le saut.

sql_test_int()

Teste qu'une description de champ SQL est de type entier

sql_test_int(string $type[, string $serveur = '' ][, bool $option = true ]) : bool
Parameters
$type : string

Description de la colonne SQL

$serveur : string = ''

Nom du connecteur

$option : bool = true

Inutilisé

Tags
see
sql_test_date()

pour tester les champs de date

Return values
bool

True si le champ est de type entier

sql_test_date()

Teste qu'une description de champ SQL est de type entier

sql_test_date(string $type[, string $serveur = '' ][, bool $option = true ]) : bool
Parameters
$type : string

Description de la colonne SQL

$serveur : string = ''

Nom du connecteur

$option : bool = true

Inutilisé

Tags
see
sql_test_int()

pour tester les champs d'entiers

Return values
bool

True si le champ est de type entier

sql_format_date()

Formate une date

sql_format_date([int $annee = 0 ][, int $mois = 0 ][, int $jour = 0 ][, int $h = 0 ][, int $m = 0 ][, int $s = 0 ][, string $serveur = '' ]) : string

Formater une date Y-m-d H:i:s sans passer par mktime qui ne sait pas gerer les dates < 1970

Parameters
$annee : int = 0

Annee

$mois : int = 0

Numero du mois

$jour : int = 0

Numero du jour dans le mois

$h : int = 0

Heures

$m : int = 0

Minutes

$s : int = 0

Secondes

$serveur : string = ''

Le serveur sollicite (pour retrouver la connexion)

Return values
string

La date formatee

prefixer_table_spip()

Corrige le nom d’une table SQL en utilisant le bon préfixe

prefixer_table_spip(string $table, string $prefixe) : string

Ie: si prefixe 'dev', retournera, pour la table 'spip_articles' : 'dev_articles'.

Parameters
$table : string
$prefixe : string
Return values
string

Table sql éventuellement renommée

spip_connect()

Connexion à un serveur de base de données

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

On charge le fichier config/$serveur ($serveur='connect' pour le principal) qui est censé initaliser la connexion en appelant la fonction spip_connect_db laquelle met dans la globale db_ok la description de la connexion.

On la mémorise dans un tableau pour permettre plusieurs serveurs.

À l'installation, il faut simuler l'existence de ce fichier.

Parameters
$serveur : string = ''

Nom du connecteur

$version : string = ''

Version de l'API SQL

Tags
uses
spip_connect_main()
Return values
bool|array<string|int, mixed>
  • false si la connexion a échouée,
  • tableau décrivant la connexion sinon

spip_sql_erreur()

Log la dernière erreur SQL présente sur la connexion indiquée

spip_sql_erreur([string $serveur = '' ]) : mixed
Parameters
$serveur : string = ''

Nom du connecteur de bdd utilisé

spip_connect_sql()

Retourne le nom de la fonction adaptée de l'API SQL en fonction du type de serveur

spip_connect_sql(string $version[, string $ins = '' ][, string $serveur = '' ][, bool $continue = false ]) : array<string|int, mixed>|bool|string

Cette fonction ne doit être appelée qu'à travers la fonction sql_serveur définie dans base/abstract_sql

Elle existe en tant que gestionnaire de versions, connue seulement des convertisseurs automatiques

Parameters
$version : string

Numéro de version de l'API SQL

$ins : string = ''

Instruction de l'API souhaitée, tel que 'allfetsel'

$serveur : string = ''

Nom du connecteur

$continue : bool = false

true pour continuer même si le serveur SQL ou l'instruction est indisponible

Return values
array<string|int, mixed>|bool|string
  • string : nom de la fonction à utiliser,
  • false : si la connexion a échouée
  • array : description de la connexion, si l'instruction sql est indisponible pour cette connexion

spip_connect_db()

Fonction appelée par le fichier connecteur de base de données crée dans `config/` à l'installation.

spip_connect_db(string $host, string $port, string $login, string $pass[, string $db = '' ][, string $type = 'mysql' ][, string $prefixe = '' ][, string $auth = '' ][, string $charset = '' ]) : array<string|int, mixed>|null

Il contient un appel direct à cette fonction avec comme arguments les identifants de connexion.

Si la connexion reussit, la globale db_ok mémorise sa description. C'est un tableau également retourné en valeur, pour les appels lors de l'installation.

Parameters
$host : string

Adresse du serveur de base de données

$port : string

Port utilisé pour la connexion

$login : string

Identifiant de connexion à la base de données

$pass : string

Mot de passe pour cet identifiant

$db : string = ''

Nom de la base de données à utiliser

$type : string = 'mysql'

Type de base de données tel que 'mysql', 'sqlite3' (cf ecrire/req/)

$prefixe : string = ''

Préfixe des tables SPIP

$auth : string = ''

Type d'authentification (cas si 'ldap')

$charset : string = ''

Charset de la connexion SQL (optionnel)

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

Description de la connexion

spip_connect_main()

Première connexion au serveur principal de base de données

spip_connect_main(array<string|int, mixed> $connexion[, string $charset_sql_connexion = '' ]) : string|bool|int

Retourner le charset donnée par la table principale mais vérifier que le fichier de connexion n'est pas trop vieux

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

Description de la connexion

$charset_sql_connexion : string = ''

charset de connexion fourni dans l'appal a spip_connect_db

Tags
note

Version courante = 0.8

  • La version 0.8 indique un charset de connexion comme 9e arg
  • La version 0.7 indique un serveur d'authentification comme 8e arg
  • La version 0.6 indique le prefixe comme 7e arg
  • La version 0.5 indique le serveur comme 6e arg

La version 0.0 (non numerotée) doit être refaite par un admin. Les autres fonctionnent toujours, même si :

  • la version 0.1 est moins performante que la 0.2
  • la 0.2 fait un include_ecrire('inc_db_mysql.php3').
used-by
spip_connect()
Return values
string|bool|int
  • false si pas de charset connu pour la connexion
  • -1 charset non renseigné
  • nom du charset sinon

_q()

Échappement d'une valeur sous forme de chaîne PHP

_q(int|float|string|array<string|int, mixed> $a) : string

Échappe une valeur (num, string, array) pour en faire une chaîne pour PHP. Un array(1,'a',"a'") renvoie la chaine "'1','a','a\''"

Parameters
$a : int|float|string|array<string|int, mixed>

Valeur à échapper

Tags
note

L'usage comme échappement SQL est déprécié, à remplacer par sql_quote().

Return values
string

Valeur échappée.

query_echappe_textes()

Echapper les textes entre ' ' ou " " d'une requête SQL avant son pre-traitement

query_echappe_textes(string $query[, mixed $uniqid = null ]) : array<string|int, mixed>

On renvoi la query sans textes et les textes séparés, dans leur ordre d'apparition dans la query

Parameters
$query : string
$uniqid : mixed = null
Tags
see
query_reinjecte_textes()
Return values
array<string|int, mixed>

query_reinjecte_textes()

Réinjecter les textes d'une requete SQL à leur place initiale, après traitement de la requête

query_reinjecte_textes(string $query, array<string|int, mixed> $textes) : string
Parameters
$query : string
$textes : array<string|int, mixed>
Tags
see
query_echappe_textes()
Return values
string

spip_query()

Exécute une requête sur le serveur SQL

Pour compatibilité.

spip_query(string $query[, string $serveur = '' ]) : bool|mixed
Parameters
$query : string

texte de la requête

$serveur : string = ''

Nom du connecteur pour la base de données

Tags
note

Ne génère pas d’erreur fatale si la connexion à la BDD n’existe pas

see
sql_query()

ou l'API sql_*.

Return values
bool|mixed
  • false si on ne peut pas exécuter la requête
  • indéfini sinon.

base_determine_autoinc()

Determiner le flag autoinc pour une table en fonction de si c'est une table principale

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

creer_ou_upgrader_table()

Créer une table, ou ajouter les champs manquants si elle existe déjà

creer_ou_upgrader_table(string $table, array<string|int, mixed> $desc, bool|string $autoinc[, bool $upgrade = false ][, string $serveur = '' ]) : mixed
Parameters
$table : string
$desc : array<string|int, mixed>
$autoinc : bool|string

'auto' pour detecter automatiquement si le champ doit etre autoinc ou non en fonction de la table

$upgrade : bool = false
$serveur : string = ''

alterer_base()

Creer ou mettre à jour un ensemble de tables en fonction du flag `$up`

alterer_base(array<string|int, mixed> $tables_inc, mixed $tables_noinc[, bool|array<string|int, mixed> $up = false ][, string $serveur = '' ]) : mixed
Parameters
$tables_inc : array<string|int, mixed>

tables avec autoincrement sur la cle primaire

$tables_noinc : mixed

tables sans autoincrement sur la cle primaire

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

upgrader (true) ou creer (false) si un tableau de table est fournie, seules l'intersection de ces tables et des $tables_inc / $tables_noinc seront traitees

$serveur : string = ''

serveur sql

Tags
uses
creer_ou_upgrader_table()
used-by
creer_base()
used-by
maj_tables()

creer_base()

Créer une base de données à partir des tables principales et auxiliaires

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

Lorsque de nouvelles tables ont été déclarées, cette fonction crée les tables manquantes. mais ne crée pas des champs manquant d'une table déjà présente. Pour cela, c’est maj_tables() qu’il faut appeler.

Parameters
$serveur : string = ''
Tags
see
maj_tables()
uses
alterer_base()
used-by
base_upgrade_dist()

maj_tables()

Mettre à jour une liste de tables

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

Fonction facilitatrice utilisée pour les maj de base dans les plugins.

Elle permet de créer les champs manquants d'une table déjà présente.

Parameters
$upgrade_tables : array<string|int, mixed> = []
$serveur : string = ''
Tags
see
creer_base()
uses
alterer_base()

base_delete_all_dist()

Destruction des tables SQL de SPIP

base_delete_all_dist(string $titre) : mixed

La liste des tables à supprimer est à poster sur le nom (tableau) delete

Parameters
$titre : string

Inutilisé

Tags
pipeline_appel

delete_tables

base_dump_dir()

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

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

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

Return values
string

base_lister_toutes_tables()

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

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

base_prefixe_tables()

Retrouver le prefixe des tables

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

base_saisie_tables()

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

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

lister_tables_noexport()

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

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

array $EXPORT_tables_noexport

Return values
array<string|int, mixed>

lister_tables_noimport()

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

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

array $IMPORT_tables_noimport

Return values
array<string|int, mixed>

lister_tables_noerase()

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

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

array $IMPORT_tables_noerase

Return values
array<string|int, mixed>

base_liste_table_for_dump()

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

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

base_vider_tables_destination_copie()

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

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

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

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

base_conserver_copieur()

Conserver le copieur si besoin

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

base_detruire_copieur_si_besoin()

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

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

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

Parameters
$serveur : string = ''

base_preparer_table_dest()

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

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

base_copier_tables()

Copier de base a base

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

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

$tables : array<string|int, mixed>

liste des tables a copier

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

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

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

base_inserer_copie()

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

base_inserer_copie(string $table, array<string|int, mixed> $rows, array<string|int, mixed> $desc_dest, string $serveur_dest) : mixed
Parameters
$table : string
$rows : array<string|int, mixed>
$desc_dest : array<string|int, mixed>
$serveur_dest : string
Tags
@return

int/bool

array_set_merge()

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

array_set_merge(array<string|int, mixed> &$table, string $index, array<string|int, mixed> $valeur) : mixed
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) : mixed

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) : mixed
Parameters
$tables_auxiliaires : array<string|int, mixed>

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

renseigner_table_objet_sql()

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

renseigner_table_objet_sql(string $table_sql, array<string|int, mixed> &$infos) : array<string|int, mixed>
  • table_objet

  • table_objet_surnoms

  • type

  • type_surnoms

  • url_voir

  • url_edit

  • icone_objet

  • texte_retour

  • texte_modifier

  • texte_creer

  • texte_creer_associer

  • texte_ajouter

  • texte_objets

  • texte_objet

  • info_aucun_objet

  • info_1_objet

  • info_nb_objets

  • texte_logo_objet

  • texte_langue_objet

  • texte_definir_comme_traduction_objet

  • principale

  • champs_contenu : utlisé pour générer l'affichage par défaut du contenu

  • editable

  • champs_editables : utilisé pour prendre en compte le post lors de l'édition

  • champs_versionnes

L'objet doit définir de lui même ces champs pour gérer des statuts : - statut - statut_images - statut_titres - statut_textes_instituer - texte_changer_statut - aide_changer_statut

  • modeles : permet de declarer les modeles associes a cet objet

Les infos non renseignées sont auto-déduites par conventions ou laissées vides

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

renseigner_table_objet_interfaces()

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

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

titre date statut tables_jointures

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

lister_tables_principales()

Retourne la liste des tables principales et leurs descriptions

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

Liste et descriptions des tables principales

lister_tables_auxiliaires()

Retourne la liste des tables auxiliaires et leurs descriptions

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

Liste et descriptions des tables auxiliaires

lister_tables_objets_surnoms()

Recenser les surnoms de table_objet

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

lister_types_surnoms()

Recenser les surnoms de table_objet

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

lister_tables_spip()

Retourne la liste des tables SQL qui concernent SPIP

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

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

Parameters
$serveur : string = ''

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

Return values
array<string|int, mixed>

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

lister_toutes_tables()

Retourne la liste des tables SQL, Spip ou autres

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

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

Parameters
$serveur : string

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

Return values
array<string|int, mixed>

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

table_objet()

Retrouve le nom d'objet à partir de la table

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

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

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

Nom de l'objet

table_objet_sql()

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

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

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

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

Nom de la table SQL

id_table_objet()

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

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

Nom de la table SQL ou de l'objet

$serveur : string = ''

Nom du connecteur

Return values
string|null

Nom de la clé primaire

objet_type()

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

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

Nom de l'objet ou de la table SQL

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

Type de l'objet

objet_test_si_publie()

Determiner si un objet est publie ou non

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

On se base pour cela sur sa declaration de statut pour des cas particuliers non declarables, on permet de fournir une fonction base_xxxx_test_si_publie qui sera appele par la fonction

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

objet_lister_parents()

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

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

comme :

$tables['spip_auteurs']['parent']  = array(
    'type' => 'organisation',
    'champ' => 'id_organisation',
    'table' => 'spip_organisations_liens',
    'table_condition' => 'role="parent"',
    'source_champ' => 'id_objet',
    'champ_type' => 'objet'
);

La fonction retourne un tableau de parents, chacun de la forme ['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...'] Si la table utilisée pour trouver le parent est une table de liens (finissant par _liens), le tableau contient en plus en entrée 'lien' qui contient les informations complètes du lien (rang, role...)

Parameters
$objet : string

Type de l'objet dont on cherche les parent

$id_objet : int

Identifiant de l'objet dont on cherche les parent

$parent_direct_seulement : bool = false

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

Return values
array<string|int, mixed>

Retourne un tableau décrivant les parents trouvés

objet_lister_parents_par_type()

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

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

objet_lister_enfants()

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

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

comme :

$tables['spip_auteurs']['parent']  = array(
    'type' => 'organisation',
    'champ' => 'id_organisation',
    'table' => 'spip_organisations_liens',
    'table_condition' => 'role="parent"',
    'source_champ' => 'id_objet',
    'champ_type' => 'objet'
);

La fonction retourne un tableau des enfants, chacun de la forme ['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...'] Si la table utilisée pour trouver l'eenfant est une table de liens (finissant par _liens), le tableau contient en plus en entrée 'lien' qui contient les informations complètes du lien (rang, role...)

Parameters
$objet : string

Type de l'objet dont on cherche les enfants

$id_objet : int

Identifiant de l'objet dont on cherche les enfants

Return values
array<string|int, mixed>

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

objet_lister_enfants_par_type()

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

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

objet_type_decrire_infos_parents()

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

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

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

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

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

objet_type_decrire_infos_enfants()

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

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

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

Return values
array<string|int, mixed>

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

base_repair_dist()

Action de réparation de la base de données

base_repair_dist([string $titre = '' ][, string $reprise = '' ]) : mixed

Tente de réparer les tables, recalcule les héritages et secteurs de rubriques. Affiche les erreurs s'il y en a eu.

Parameters
$titre : string = ''

Inutilisé

$reprise : string = ''

Inutilisé

Tags
pipeline_appel

base_admin_repair

uses
admin_repair_tables()
uses
calculer_rubriques()
uses
propager_les_secteurs()

admin_repair_tables()

Exécute une réparation de la base de données

admin_repair_tables() : string

Crée les tables et les champs manquants. Applique sur les tables un REPAIR en SQL (si le serveur SQL l'accepte).

Tags
used-by
base_repair_dist()
Return values
string

Code HTML expliquant les actions réalisées

base_trouver_table_dist()

Retourne la description d'une table SQL

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

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

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

Parameters
$nom : string

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

$serveur : string = ''

Nom du connecteur

$table_spip : bool = true

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

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

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

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

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

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

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

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

base_upgrade_dist()

Programme de mise à jour des tables SQL lors d'un changement de version.

base_upgrade_dist([string $titre = '' ][, string $reprise = '' ]) : mixed

L'entrée dans cette fonction est reservée aux mises à jour de SPIP coeur.

Marche aussi pour les plugins en appelant directement la fonction maj_plugin Pour que ceux-ci profitent aussi de la reprise sur interruption, ils doivent simplement indiquer leur numero de version installée dans une meta et fournir le tableau $maj à la fonction maj_plugin. La reprise sur timeout se fait alors par la page admin_plugin et jamais par ici.

Parameters
$titre : string = ''
$reprise : string = ''

Inutilisé

Tags
uses
creer_base()
uses
maj_base()
uses
auth_synchroniser_distant()

maj_base()

Mise à jour de base de SPIP

maj_base([int $version_cible = 0 ][, string $redirect = '' ][, mixed $debut_page = true ]) : array<string|int, mixed>|bool

Exécute toutes les fonctions de mises à jour de SPIP nécessaires, en fonction de la meta version_installee indiquant le numéro de schéma actuel de la base de données.

Les fonctions de mises à jour se trouvent dans ecrire/maj/

Parameters
$version_cible : int = 0
$redirect : string = ''
$debut_page : mixed = true
Tags
note

Si version nulle ou inexistante, c'est une nouvelle installation, on ne passe pas par le processus de mise à jour.

De même en cas de version supérieure: ca devait être un test, il y a eu le message d'avertissement il doit savoir ce qu'il fait

version_installee = YYYYMMDDNN; quand on a besoin de forcer une MAJ tel que 2021021800 où 00 est un incrément.

uses
upgrade_test()
uses
maj_while()
used-by
base_upgrade_dist()
Return values
array<string|int, mixed>|bool

maj_plugin()

Mise à jour d'un plugin de SPIP

maj_plugin(string $nom_meta_base_version, string $version_cible, array<string|int, mixed> $maj[, string $table_meta = 'meta' ]) : mixed

Fonction appelée par la fonction de mise à jour d'un plugin. On lui fournit un tableau de fonctions élementaires dont l'indice est la version.

Parameters
$nom_meta_base_version : string

Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP

$version_cible : string

Version du schéma de données dans le plugin (déclaré dans paquet.xml)

$maj : array<string|int, mixed>

Tableau d'actions à faire à l'installation (clé create) et pour chaque version intermédiaire entre la version actuelle du schéma du plugin dans SPIP et la version du schéma déclaré dans le plugin (ex. clé 1.1.0).

Chaque valeur est un tableau contenant une liste de fonctions à exécuter, cette liste étant elle-même un tableau avec premier paramètre le nom de la fonction et les suivant les paramètres à lui passer

Exemple :

```
array(
    'create' => array(
        array('maj_tables', array('spip_rubriques', 'spip_articles')),
        array('creer_base)),
    '1.1.0' => array(
        array('sql_alter', 'TABLE spip_articles ADD INDEX truc (truc)'))
)
```
$table_meta : string = 'meta'

Nom de la table meta (sans le prefixe spip_) dans laquelle trouver la meta $nom_meta_base_version

Tags
uses
maj_while()

relance_maj()

Relancer le hit de mise à jour avant timeout

relance_maj(string $meta, string $table[, string $redirect = '' ]) : mixed

si pas de redirect fourni, on redirige vers exec=upgrade pour finir ce qui doit être une mise à jour SPIP

Parameters
$meta : string
$table : string
$redirect : string = ''
Tags
uses
redirige_formulaire()
used-by
maj_while()
used-by
serie_alter()

maj_debut_page()

Initialiser la page pour l'affichage des progrès de l'upgrade uniquement si la page n'a pas déjà été initilalisée

maj_debut_page(string $installee, string $meta, string $table) : mixed
Parameters
$installee : string
$meta : string
$table : string

maj_while()

Gestion des mises à jour de SPIP et des plugins

maj_while(string $installee, string $cible, array<string|int, mixed> $maj[, string $meta = '' ][, string $table = 'meta' ][, string $redirect = '' ][, bool $debut_page = false ]) : array<string|int, mixed>

À partir des versions > 1.926 (i.e SPIP > 1.9.2), cette fonction gere les MAJ.

Se relancer soi-même pour éviter l'interruption pendant une operation SQL (qu'on espère pas trop longue chacune) évidemment en ecrivant dans la meta à quel numero on en est.

Cette fonction peut servir aux plugins qui doivent donner comme arguments :

  1. le numero de version courant (numéro de version 1.2.3 ou entier)
  2. le numero de version à atteindre (numéro de version 1.2.3 ou entier)
  3. le tableau des instructions de mise à jour à exécuter Pour profiter du mécanisme de reprise sur interruption il faut de plus
  4. le nom de la meta permettant de retrouver tout ca
  5. la table des meta ou elle se trouve ($table_prefix . '_meta' par défaut) (cf début de fichier)

les fonctions sql_xx appelées lors des mises à jour sont supposées atomiques et ne sont pas relancées en cas de timeout, mais les fonctions spécifiques sont relancées jusqu'à ce qu'elles finissent. Elles doivent donc s'assurer de progresser à chaque reprise.

Parameters
$installee : string
$cible : string
$maj : array<string|int, mixed>
$meta : string = ''
$table : string = 'meta'
$redirect : string = ''
$debut_page : bool = false
Tags
uses
maj_debut_page()
uses
serie_alter()
uses
relance_maj()
used-by
maj_base()
used-by
maj_plugin()
Return values
array<string|int, mixed>
  • tableau (étape, sous-étape) en cas d'échec,
  • tableau vide sinon.

serie_alter()

Appliquer une serie de changements qui risquent de partir en timeout

serie_alter(string $serie[, array<string|int, mixed> $q = [] ][, string $meta = '' ][, string $table = 'meta' ][, string $redirect = '' ]) : int

Alter crée une copie temporaire d'une table, c'est lourd.

Parameters
$serie : string

numero de version upgrade

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

tableau des operations pour cette version

$meta : string = ''

nom de la meta qui contient le numero de version

$table : string = 'meta'

nom de la table meta

$redirect : string = ''

url de redirection en cas d'interruption

Tags
uses
relance_maj()
used-by
maj_while()
Return values
int

upgrade_test()

Vérifie qu'il est possible d'ajouter une colonne à une table SQL

upgrade_test() : bool
Tags
used-by
maj_base()
Return values
bool

True si possible.

test_espace_prive()

Indique si on est dans l'espace prive

test_espace_prive() : bool
Return values
bool

true si c'est le cas, false sinon.

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

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

verifier_visiteur()

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

verifier_visiteur() : string|0|false

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

Return values
string|0|false

spip_session()

Renvoie une chaîne qui identifie la session courante

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

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

Parameters
$force : bool = false
Tags
pipeline_appel

definir_session

used-by
supprimer_sessions()
Return values
string

Identifiant de la session

generer_form_ecrire()

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

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

Nom de la page exec

$corps : string

Contenu du formulaire

$atts : string = ''

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

$submit : string = ''

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

Return values
string

Code HTML du formulaire

generer_form_action()

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

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

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

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

_T()

Traduction des textes de SPIP

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

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

Parameters
$texte : string

Clé de traduction

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

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

$options : array<string|int, mixed> = []
  • string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
  • bool force : forcer un retour meme si la chaine n'a pas de traduction
  • bool sanitize : nettoyer le html suspect dans les arguments
Tags
uses
inc_traduire_dist()
uses
_L()
example
_T('bouton_enregistrer')
_T('medias:image_tourner_droite')
_T('medias:erreurs', array('nb'=>3))
_T("email_sujet", array('spip_lang'=>$lang_usager))
used-by
balise_TRAD_dist()
Return values
string

texte

_L()

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

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

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

Parameters
$text : string

texte

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

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

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

texte

lang_select()

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

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

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

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

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

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

spip_initialisation()

Fonction d'initialisation groupée pour compatibilité ascendante

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

Répertoire permanent inaccessible

$pa : string = null

Répertoire permanent accessible

$ti : string = null

Répertoire temporaire inaccessible

$ta : string = null

Répertoire temporaire accessible

spip_initialisation_core()

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

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

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

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

Parameters
$pi : string = null

Répertoire permanent inaccessible

$pa : string = null

Répertoire permanent accessible

$ti : string = null

Répertoire temporaire inaccessible

$ta : string = null

Répertoire temporaire accessible

spip_initialisation_suite()

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

spip_initialisation_suite() : mixed

init_var_mode()

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

init_var_mode() : mixed

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

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

Le paramètre var_mode accepte ces valeurs :

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

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

Tags
note

Il éxiste également le paramètre var_profile qui modifie l'affichage pour incruster le nombre de requêtes SQL utilisées dans la page, qui peut se compléter avec le paramètre var_mode (calcul ou recalcul).

cron()

Exécution des tâches de fond

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

Tâches forcées

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

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

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

True si la tache a pu être effectuée

job_queue_add()

Ajout d'une tache dans la file d'attente

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

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

$description : string

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

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

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

$file : string = ''

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

$no_duplicate : bool = false

Facultatif, false par défaut

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

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

$priority : int = 0

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

Return values
int

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

job_queue_remove()

Supprimer une tache de la file d'attente

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

id of jonb to delete

Return values
bool

Associer une tache a un/des objets de SPIP

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

id of job to link

$objets : array<string|int, mixed>

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

queue_sleep_time_to_next_job()

Renvoyer le temps de repos restant jusqu'au prochain job

queue_sleep_time_to_next_job([int|bool $force = null ]) : int|null
Parameters
$force : int|bool = null

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

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

int $queue_next_job_time

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

charger_fonction()

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

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

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

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

Parameters
$nom : string

Nom de la fonction (et du fichier)

$dossier : string = 'exec'

Nom du dossier conteneur

$continue : bool = false

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

Tags
uses
include_spip()

Pour charger le fichier

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

Nom de la fonction, ou false.

include_once_check()

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

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

include_spip()

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

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

Nom du fichier (sans l'extension)

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

Pour charger le fichier

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

require_spip()

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

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

Nom du fichier (sans l'extension)

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

include_fichiers_fonctions()

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

include_fichiers_fonctions() : mixed

charger_fonction_url()

Charger la fonction de gestion des urls si elle existe

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

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

$type : string = ''

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

Return values
string

trouve_modele()

Trouve un squelette dans le repertoire modeles/

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

trouver_fond()

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

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

aider()

Retourne un lien vers une aide

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

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

Parameters
$aide : string = ''

Cle d'identification de l'aide desiree

$distante : bool = false

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

Return values
Lien

sur une icone d'aide

tester_url_ecrire()

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

tester_url_ecrire(string $nom) : string

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

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

Nom de la page

Return values
string

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

spip_logger()

Obtenir un logger compatible Psr\Log

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

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

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

spip_log()

Enregistrement des événements

Utiliser spip_logger()

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

Signature : spip_log(message, ?name)

Parameters
$message : mixed

Message à consigner

$name : int|string|null = null

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

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

journal()

Enregistrement des journaux

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

texte du journal

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

Tableau d'options

Tags
uses
inc_journal_dist()

spip_paths()

Return unique Aggregator class

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

List of «plugins» directories to add

Return values
AggregatorInterface

spip_paths_loader()

spip_paths_loader() : Loader
Return values
Loader

_chemin()

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

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

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

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

Retourne dans tous les cas la liste des chemins.

Parameters
$dir_path : string|array<string|int, mixed>|null = null
  • Répertoire(s) à empiler au path
Tags
note

Cette fonction est appelée à plusieurs endroits et crée une liste de chemins finale à peu près de la sorte :

  • dossiers squelettes (si globale précisée)
  • squelettes/
  • plugins (en fonction de leurs dépendances) : ceux qui dépendent d'un plugin sont devant eux (ils peuvent surcharger leurs fichiers)
  • racine du site
  • squelettes-dist/
  • prive/
  • ecrire/
Return values
array<string|int, mixed>

Liste des chemins, par ordre de priorité.

creer_chemin()

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

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

Liste de chemins

lister_themes_prives()

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

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

pour une particularité historique du champ 'prefs'

Return values
array<string|int, string>

Nom des thèmes.

find_in_theme()

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

chemin_image()

Cherche une image dans les dossiers d'images

chemin_image(string $icone) : string

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

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

Parameters
$icone : string

Nom de l'icone cherchée

Tags
see
find_in_theme()
see
inc_icone_renommer_dist()
Return values
string
  • Chemin complet de l'icone depuis la racine si l'icone est trouée,
  • sinon chaîne vide.

find_in_path()

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

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

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

Parameters
$file : string

Fichier recherché

$dirname : string = ''

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

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

Pour la liste des chemins.

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

find_all_in_path()

Trouve tous les fichiers du path correspondants à un pattern

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

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

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

minipipe()

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

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

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

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

on passe $val par reference pour limiter les allocations memoire

Parameters
$fonc : string

Nom de la fonction appelée par le pipeline

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

Les paramètres du pipeline, son environnement

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

Les paramètres du pipeline modifiés

pipeline()

Appel d’un pipeline

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

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

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

Parameters
$action : string

Nom du pipeline

$val : mixed = null

Données à l’entrée du pipeline

Tags
example

Appel du pipeline pre_insertion

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

Résultat

_request()

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

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

Clé souhaitée

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

Tableau transmis (sinon cherche dans GET ou POST)

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

set_request()

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

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

Nom de la clé

$val : string = null

Valeur à affecter

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

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

Tags
see
_request()

Pour obtenir la valeur

note

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

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

spip_sanitize_from_request()

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

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

On peut sanitizer

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

spip_desinfecte()

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

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

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

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

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

$deep : bool = true

= true : appliquer récursivement

spip_sanitize_classname()

Nettoie une chaine pour servir comme classes CSS.

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

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

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

erreur_squelette()

Génère une erreur de squelette

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

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

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

Lieu d'origine de l'erreur

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

recuperer_fond()

Calcule un squelette avec un contexte et retourne son contenu

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

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

  • trim => true (valeur par defaut) permet de ne rien renvoyer si le fond ne produit que des espaces ;
  • raw => true permet de recuperer la strucure $page complete avec entetes et invalideurs pour chaque $fond fourni.
Parameters
$fond : mixed
$contexte : array<string|int, mixed> = []
  • Informations de contexte envoyées au squelette, array('id_rubrique' => 8)
  • La langue est transmise automatiquement (sauf option étoile).
$options : array<string|int, mixed> = []

Options complémentaires :

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

Non du connecteur de bdd a utiliser

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

quote_amp()

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

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

post_typo

Return values
string

tester_url_absolue()

Tester si une URL est absolue

tester_url_absolue(string $url) : bool

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

Parameters
$url : string
Return values
bool

parametre_url()

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

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

URL

$c : string

Nom du paramètre

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

Valeur du paramètre

$sep : string = '&amp;'

Séparateur entre les paramètres

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

URL

ancre_url()

Ajoute (ou retire) une ancre sur une URL

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

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

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

nettoyer_uri()

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

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

nettoyer_uri_var()

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

nettoyer_uri_var(string $request_uri) : string

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

Parameters
$request_uri : string
Tags
uses
_CONTEXTE_IGNORE_LISTE_VARIABLES
Return values
string

self()

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

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

Style des esperluettes

$root : bool = false
Return values
string

URL vers soi-même

generer_objet_url()

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

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

numero de la cle primaire si nombre

$entite : string

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

$args : string = ''

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

$ancre : string = ''

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

$public : bool|null = null

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

$type : string = ''

fichier dans le repertoire ecrire/urls determinant l'apparence

$connect : string = ''

serveur de base de donnee (nom du connect)

Return values
string

url codee ou fonction de decodage

generer_url_entite()

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

generer_objet_url_ecrire_edit()

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

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

generer_url_ecrire_entite_edit()

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

urls_connect_dist()

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

urlencode_1738()

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

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

generer_objet_url_absolue()

Generer l'url absolue vers un objet

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

generer_url_entite_absolue()

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

url_de_base()

Calcule l'url de base du site

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

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

Parameters
$profondeur : int|bool|array<string|int, mixed> = null
  • si non renseignée : retourne l'url pour la profondeur $GLOBALS['profondeur_url']
  • si int : indique que l'on veut l'url pour la profondeur indiquée
  • si bool : retourne le tableau static complet
  • si array : réinitialise le tableau static complet avec la valeur fournie
Tags
note

La globale $profondeur_url doit être initialisée de manière à indiquer le nombre de sous-répertoires de l'url courante par rapport à la racine de SPIP : par exemple, sur ecrire/ elle vaut 1, sur sedna/ 1, et à la racine 0. Sur url/perso/ elle vaut 2

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

url_de_()

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

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

generer_url_ecrire()

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

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

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

$args : string = ''

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

$no_entities : bool = false

Si false : transforme les & en &amp;

$rel : bool|string = false

URL relative ?

  • false : l’URL sera complète et contiendra l’URL du site
  • true : l’URL sera relavive.
  • string : on transmet l'url à la fonction
Tags
example
generer_url_ecrire('admin_plugin')
Return values
string

URL

get_spip_script()

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

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

Script par défaut

Tags
see
_SPIP_SCRIPT
note

Detecter le fichier de base, a la racine, comme etant spip.php ou '' dans le cas de '', un $default = './' peut servir (comme dans urls/page.php)

Return values
string

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

generer_url_public()

Crée une URL vers une page publique de SPIP

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

Nom de la page

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

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

$no_entities : bool = false

Si false : transforme les & en &amp;

$rel : bool = true

URL relative ?

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

URL

generer_url_prive()

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

generer_url_action()

Créer une URL

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

Nom du script à exécuter

$args : string = ''

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

$no_entities : bool = false

Si false : transforme les & en &

$public : bool = false

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

Return values
string

URL

generer_url_api()

Créer une URL

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

Nom du script à exécuter

$path : string
$args : string

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

$no_entities : bool = false

Si false : transforme les & en &

$public : bool = null

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

Return values
string

URL

test_plugin_actif()

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

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

joli_repertoire()

Retourne un joli chemin de répertoire

joli_repertoire(string $rep) : string

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

Parameters
$rep : string

Chemin d’un répertoire

Return values
string

spip_timer()

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

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

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

Parameters
$t : string = 'rien'

Nom du chronomètre

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

spip_touch()

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

http_script()

Produit une balise `<script>` valide

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

Code source du script

$src : string = ''

Permet de faire appel à un fichier javascript distant

$noscript : string = ''

Contenu de la balise <noscript>

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

Balise HTML <script> et son contenu

texte_script()

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

texte_script(string|null $texte) : string

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

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

Échappe les apostrophes (') du contenu transmis.

Parameters
$texte : string|null

texte à échapper

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

PHP dans un squelette

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

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

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

texte échappé

test_valeur_serveur()

Tester qu'une variable d'environnement est active

test_valeur_serveur(string|bool $truc) : bool

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

Parameters
$truc : string|bool

La valeur de la variable d'environnement

Return values
bool

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

exec_info_dist()

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

exec_info_dist() : mixed

Si l’utiliseur est un webmestre.

html5_permis()

Indique si le code HTML5 est permis sur le site public

html5_permis() : bool
Return values
bool

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

formats_image_acceptables()

Lister les formats image acceptes par les lib et fonctions images

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

spip_getimagesize()

Extension de la fonction getimagesize pour supporter aussi les images SVG

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

Lorsque la fonction renvoie un tableau, celui-ci peut contenir jusqu'à 7 entrées (cf. https://www.php.net/manual/en/function.getimagesize.php) :

  • 0 : largeur ;
  • 1 : hauteur ;
  • 2 : constante indiquant le type de l'image ;
  • 3 : chaîne avec les hauteur et largeur utilisable sur un tag <img> ;
  • 'bits' (pas toujours présente, en fonction du type d'image) ;
  • 'channels' (pas toujours présente, en fonction du type d'image) ;
  • 'mime'.
Parameters
$fichier : string
Return values
array<string|int, mixed>|bool

avertir_auteurs()

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

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

spip_version_compare()

Compare 2 numéros de version entre elles.

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

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

Parameters
$v1 : string

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

$v2 : string

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

$op : string = null

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

Return values
int|bool

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

exec_403_dist()

Un exec d'acces interdit

exec_403_dist([string $message = '' ]) : mixed
Parameters
$message : string = ''

exec_404_dist()

Un exec d'erreur

exec_404_dist() : mixed

exec_admin_plugin_dist()

Affichage de la page de gestion des plugins

exec_admin_plugin_dist([string $retour = '' ]) : mixed

Relance la page si des plugins ont été modifiés, sinon affiche la liste.

Parameters
$retour : string = ''

Inutilisé

Tags
uses
actualise_plugins_actifs()

admin_plug_args()

Affichage spécifique de la page de gestion des plugins

admin_plug_args(string $quoi, string $erreur, string $format) : mixed

Affiche la liste des plugins demandés et les erreurs éventuelles.

Parameters
$quoi : string

Quels plugins afficher ? actifs, ou autre

$erreur : string

Erreur éventuelle à afficher

$format : string

Format d'affichage (liste ou arborescence)

Tags
uses
plugin_donne_erreurs()
uses
liste_chemin_plugin()
uses
plugin_installes_meta()
uses
affiche_les_plugins_verrouilles()
pipeline_appel

affiche_gauche

pipeline_appel

affiche_droit

pipeline_appel

affiche_milieu

affiche_les_plugins_verrouilles()

Crée le code HTML de la liste des plugins verrouillés

affiche_les_plugins_verrouilles(array<string|int, mixed> $actifs) : string
Parameters
$actifs : array<string|int, mixed>

Liste des plugins actifs

Tags
uses
liste_plugin_files()
used-by
admin_plug_args()
Return values
string

Code HTML

afficher_librairies()

Crée le code HTML de la liste des librairies présentes

afficher_librairies() : string
Tags
uses
liste_librairies()
Return values
string

Code HTML

liste_librairies()

Faire la liste des librairies disponibles

liste_librairies() : array<string|int, mixed>
Tags
used-by
afficher_librairies()
Return values
array<string|int, mixed>

Tableau (nom de la lib => repertoire , ...)

exec_base_delete_all_dist()

Exec de la page de destruction des tables de SPIP

exec_base_delete_all_dist() : mixed

exec_base_repair_dist()

Réparer la base de données

exec_base_repair_dist() : mixed

exec_demande_mise_a_jour_dist()

Demander à mettre à jour la base de données

exec_demande_mise_a_jour_dist() : mixed

shutdown_error()

Fonction appelée en cas d'arrêt de php sur une erreur

shutdown_error() : mixed
Tags
todo

supprimer cette fonction vide ?

exec_fond_dist()

Un exec générique qui branche sur un squelette Z pour écrire

exec_fond_dist() : mixed

La fonction ne fait rien, c'est l'inclusion du fichier qui déclenche le traitement

exec_install_dist()

Affiche un des écrans d'installation de SPIP

exec_install_dist() : mixed

Affiche l'étape d'installation en cours, en fonction du paramètre d'url etape

Tags
uses
inc_auth_dist()
uses
verifier_visiteur()
uses
install_etape__dist()

Affiche l'écran d'accueil de l'installation, si aucune étape n'est encore définie.

exec_puce_statut_dist()

Gestion de l'affichage ajax des puces d'action rapide

exec_puce_statut_dist() : void

Récupère l'identifiant id et le type d'objet dans les données postées et appelle la fonction de traitement de cet exec.

Tags
uses
exec_puce_statut_args()

exec_puce_statut_args()

Traitement de l'affichage ajax des puces d'action rapide

exec_puce_statut_args(int $id, string $type) : void

Appelle la fonction de traitement des puces statuts après avoir retrouvé le statut en cours de l'objet et son parent (une rubrique)

Parameters
$id : int

Identifiant de l'objet

$type : string

Type d'objet

Tags
uses
inc_puce_statut_dist()
uses
ajax_retour()
used-by
exec_puce_statut_dist()

exec_rechercher_args()

Formate le rendu de la recherche ajax du mini navigateur de rubriques

exec_rechercher_args(int $id, string $type, string|int|array<string|int, mixed> $exclus, string|bool $rac, string $do) : string
Parameters
$id : int
$type : string
$exclus : string|int|array<string|int, mixed>
$rac : string|bool
$do : string
Tags
see
calcul_branche_in()
see
proposer_item()
used-by
exec_rechercher_dist()

Formate le rendu de la recherche.

Return values
string

proposer_item()

Résultat de la recherche intéractive demandée par la fonction JS `onkey_rechercher`

proposer_item(array<string|int, mixed> $ids, array<string|int, mixed>|string $titles, string|bool $rac, string $type, string $do) : string
Parameters
$ids : array<string|int, mixed>
$titles : array<string|int, mixed>|string
$rac : string|bool
$type : string
$do : string
Tags
note

onkey_rechercher() testera s'il comporte une seule balise au premier niveau car cela qui indique qu'un seul résultat a été trouvé.

Attention donc à composer le message d'erreur avec au moins 2 balises.

Return values
string

exec_upgrade_dist()

Fonction d'installation et de mise à jour du core de SPIP

exec_upgrade_dist() : mixed

genie_mail_dist()

Envoi du Mail des nouveautés

genie_mail_dist(int $t) : int

Ce mail est basé sur le squelette nouveautes.html

La meta dernier_envoi_neuf permet de marquer la date du dernier envoi et de determiner les nouveautes publiees depuis cette date

Parameters
$t : int
Return values
int

genie_maintenance_dist()

Diverses tâches de maintenance

genie_maintenance_dist(object $t) : bool
  • (re)mettre .htaccess avec 'Deny from all' dans les deux répertoires dits inaccessibles par http
  • Vérifier qu'aucune table ne s'est crashée
Parameters
$t : object
Tags
uses
verifier_htaccess()
uses
verifier_crash_tables()
Return values
bool

Toujours à true.

verifier_crash_tables()

Vérifier si une table a crashé

verifier_crash_tables() : bool|array<string|int, mixed>

Pour cela, on vérifie si on peut se connecter à la base de données.

Tags
see
message_crash_tables()
used-by
genie_maintenance_dist()
used-by
message_crash_tables()
Return values
bool|array<string|int, mixed>

Si pas de table de crashée, on retourne false. Sinon, retourne un tableau contenant tous les noms des tables qui ont crashé.

message_crash_tables()

Vérifier si une table a crashé et crée un message en conséquence.

message_crash_tables() : string

S'il y a un crash, on affiche un message avec le nom de la ou des tables qui ont crashé. On génère un lien vers la page permettant la réparation de la base de données.

Tags
uses
verifier_crash_tables()
Return values
string

genie_mise_a_jour_dist()

Verifier si une mise a jour est disponible

genie_mise_a_jour_dist(int $t) : int
Parameters
$t : int
Return values
int

mise_a_jour_ecran_securite()

Mise a jour automatisee de l'ecran de securite On se base sur le filemtime de l'ecran source avec un en-tete if_modified_since Mais on fournit aussi le md5 de notre ecran actuel et la version branche de SPIP Cela peut permettre de diffuser un ecran different selon la version de SPIP si besoin ou de ne repondre une 304 que si le md5 est bon

mise_a_jour_ecran_securite() : mixed

info_maj_exists()

Indique les mises à jour majeures et mineures pour une version de SPIP

info_maj_exists(string $version) : array{mineure: string, majeure: string}
Parameters
$version : string

Version du SPIP à comparer

Return values
array{mineure: string, majeure: string}

info_maj()

Vérifier si une nouvelle version de SPIP est disponible

info_maj(string $version) : string

Repérer aussi si cette version est une version majeure de SPIP.

Parameters
$version : string

Version du SPIP à comparer

Return values
string

HTML présentant les mises à jour disponibles, s’il y en a

info_maj_notifier()

Notifier les webmestre d’une nouvelle version existante (pour mettre à jour)

info_maj_notifier(string $version) : mixed

La constante si définie _MAJ_NOTIF_EMAILS peut servir

  • soit à indiquer les emails à notifier à la place des webmestres du site
  • soit (falsy) pour empêcher cette notification
Parameters
$version : string

genie_optimiser_dist()

Cron d'optimisation de la base de données

genie_optimiser_dist(int $t) : int

Tache appelée régulièrement

Parameters
$t : int

Timestamp de la date de dernier appel de la tâche

Return values
int

Timestamp de la date du prochain appel de la tâche

optimiser_caches_contextes()

Vider les contextes ajax de plus de 48h

optimiser_caches_contextes() : mixed

optimiser_base()

Optimise la base de données

optimiser_base([int $attente = 86400 ]) : mixed

Supprime les relicats d'éléments qui ont disparu

Parameters
$attente : int = 86400

Attente entre 2 exécutions de la tache en secondes

Tags
note

Heure de référence pour le garbage collector = 24h auparavant

optimiser_base_une_table()

Lance une requête d'optimisation sur une des tables SQL de la base de données.

optimiser_base_une_table() : mixed

À chaque appel, une nouvelle table est optimisée (la suivante dans la liste par rapport à la dernière fois).

Tags
see
sql_optimize()
global

int $GLOBALS ['meta']['optimiser_table']

optimiser_sansref()

Supprime des enregistrements d'une table SQL dont les ids à supprimer se trouvent dans les résultats de ressource SQL transmise, sous la colonne 'id'

optimiser_sansref(string $table, string $id, object $sel[, string $and = '' ]) : int
Parameters
$table : string

Nom de la table SQL, exemple : spip_articles

$id : string

Nom de la clé primaire de la table, exemple : id_article

$sel : object

Ressource SQL issue d'une sélection (sql_select) et contenant une colonne 'id' ayant l'identifiant de la clé primaire à supprimer

$and : string = ''

Condition AND à appliquer en plus sur la requête de suppression

Tags
note

Mysql < 4.0 refuse les requetes DELETE multi table et elles ont une syntaxe differente entre 4.0 et 4.1 On passe donc par un SELECT puis DELETE avec IN

Return values
int

Nombre de suppressions

optimiser_base_disparus()

Suppression des liens morts entre tables

optimiser_base_disparus([int $attente = 86400 ]) : mixed

Supprime des liens morts entre tables suite à la suppression d'articles, d'auteurs, etc...

Parameters
$attente : int = 86400

Attente entre 2 exécutions de la tache en secondes

Tags
note

Maintenant que MySQL 5 a des Cascades on pourrait faire autrement mais on garde la compatibilité avec les versions précédentes.

pipeline_appel

optimiser_base_disparus

creer_pass_aleatoire()

Créer un mot de passe

creer_pass_aleatoire([int $longueur = 16 ][, string $sel = '' ]) : string
Parameters
$longueur : int = 16

Longueur du password créé

$sel : string = ''

Clé pour un salage supplémentaire

Return values
string

Mot de passe

creer_uniqid()

Créer un identifiant aléatoire

creer_uniqid() : string
Return values
string

Identifiant

charger_aleas()

Charge les aléas ehpémères s'il ne sont pas encore dans la globale

charger_aleas() : string

Si les métas 'alea_ephemere' et 'alea_ephemere_ancien' se sont pas encore chargées en méta (car elles ne sont pas stockées, pour sécurité, dans le fichier cache des métas), alors on les récupère en base. Et on les ajoute à nos métas globales.

Tags
see
touch_meta()
Return values
string

Retourne l'alea éphemère actuel au passage

renouvelle_alea()

Renouveller l'alea (utilisé pour sécuriser les scripts du répertoire `action/`)

renouvelle_alea() : mixed

low_sec()

Retourne une clé de sécurité faible (low_sec) pour l'auteur indiqué

low_sec(int $id_auteur) : string

low-security est un ensemble de fonctions pour gérer de l'identification faible via les URLs (suivi RSS, iCal...)

Retourne la clé de sécurité low_sec de l'auteur (la génère si elle n'exite pas) ou la clé de sécurité low_sec du site (si auteur invalide)(la génère si elle n'existe pas).

Parameters
$id_auteur : int

Identifiant de l'auteur

Return values
string

Clé de sécurité.

securiser_acces_low_sec()

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

securiser_acces_low_sec(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
see
generer_url_api_low_sec()

pour generer une url api low sec

see
afficher_low_sec()

pour calculer une clé valide

uses
verifier_low_sec()
filtre
Return values
bool
True si on a le droit d'accès, false sinon.

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

generer_url_api_low_sec()

Generer une url xxx.api/$id_auteur/$cle/$format/$fond?$args

generer_url_api_low_sec(string $script, string $format, string $fond, string $path, string $args[, bool $no_entities = false ][, bool|null $public = null ]) : string
Parameters
$script : string
$format : string
$fond : string
$path : string
$args : string
$no_entities : bool = false
$public : bool|null = null
Return values
string

afficher_low_sec()

Retourne une clé basée sur le low_sec de l'auteur et l'action demandé

afficher_low_sec(int $id_auteur[, string $action = '' ]) : string
Parameters
$id_auteur : int

Identifiant de l'auteur

$action : string = ''

Action désirée

Tags
uses
low_sec()
used-by
verifier_low_sec()
Return values
string

Clé

verifier_low_sec()

Vérifie une clé basée sur le low_sec de l'auteur et l'action demandé

verifier_low_sec(int $id_auteur, string $cle[, string $action = '' ]) : bool
Parameters
$id_auteur : int

Identifiant de l'auteur

$cle : string

Clé à comparer

$action : string = ''

Action désirée

Tags
uses
afficher_low_sec()
used-by
securiser_acces_low_sec()
used-by
filtre_securiser_acces_dist()
Return values
bool

true si les clés corresponde, false sinon

effacer_low_sec()

Efface la clé de sécurité faible (low_sec) d'un auteur

effacer_low_sec(int $id_auteur) : mixed
Parameters
$id_auteur : int

Identifiant de l'auteur

ecrire_acces()

Créer un fichier htpasswd

ecrire_acces() : null|void

Cette fonction ne sert qu'à la connexion en mode http_auth.non LDAP. Voir le plugin «Accès Restreint»

S'appuie sur la meta creer_htpasswd pour savoir s'il faut créer le .htpasswd.

Return values
null|void
  • null si pas de htpasswd à créer, ou si LDAP
  • void sinon.

generer_htpasswd_files()

Generer le fichier de htpasswd contenant les htpass

generer_htpasswd_files(string $htpasswd, string $htpasswd_admin) : mixed
Parameters
$htpasswd : string
$htpasswd_admin : string

generer_htpass()

Créer un password htaccess

generer_htpass(string $pass) : void|string
Parameters
$pass : string

Le mot de passe

Tags
link

Documentation de crypt()

Return values
void|string

La chaîne hachée si fonction crypt présente, rien sinon.

gerer_htaccess()

Créer un fichier .htaccess pour chaque répertoire d'extension dans `_DIR_IMG` si la configuration le demande

gerer_htaccess() : string
Tags
note

La variable de configuration creer_htaccess peut être posée par un plugin tel acces_restreint.

uses
_DIR_IMG
uses
verifier_htaccess()
Return values
string

Valeur de la configuration creer_htaccess

generer_action_auteur()

Retourne une URL ou un formulaire securisé

generer_action_auteur(string $action[, string $arg = '' ][, string $redirect = '' ][, bool|int|string $mode = false ][, string|int $att = '' ][, bool $public = false ]) : array<string|int, mixed>|string
Parameters
$action : string

Nom du fichier/action appelé (dans le répertoire action)

$arg : string = ''

Arguments pour l'action sécurisée, peut etre vide

$redirect : string = ''

Adresse de redirection souhaitée à la fin du bon déroulement de l’action

$mode : bool|int|string = false
  • -1 : renvoyer action, arg et hash sous forme de array()
  • true ou false : renvoyer une url, avec &amp; (false) ou & (true)
  • string : renvoyer un formulaire
$att : string|int = ''
  • id_auteur pour lequel générer l'action en mode url ou array()
  • attributs du formulaire en mode formulaire
$public : bool = false
Tags
uses
inc_securiser_action_dist()
used-by
redirige_action_auteur()
Return values
array<string|int, mixed>|string

URL, code HTML du formulaire ou tableau (action, arg, hash)

redirige_action_auteur()

Génère une URL ou un formulaire dirigé vers un fichier action (action/xx.php)

redirige_action_auteur(string $action, string $arg, string $ret[, string $gra = '' ][, bool|string|int $mode = false ][, string $atts = '' ][, bool $public = false ]) : string

Le génère à condition que $mode="texte".

Parameters
$action : string

Nom du fichier action/xx.php

$arg : string

Argument passé à l'action, qui sera récupéré par la fonction securiser_action()

$ret : string

Nom du script exec sur lequel on revient après l'action (redirection), que l'on peut récupérer dans une fonction d'action par _request('redirect')

$gra : string = ''

Arguments transmis au script exec de retour arg1=yy&arg2=zz

$mode : bool|string|int = false
  • -1 : renvoyer action, arg et hash sous forme de array()
  • true ou false : renvoyer une url, avec &amp; (false) ou & (true)
  • string : renvoyer un formulaire
$atts : string = ''

?

$public : bool = false

true produit une URL d'espace public false (par défaut) produit une URL d'espace privé

Tags
uses
generer_action_auteur()
Return values
string

Code HTML du formulaire

redirige_action_post()

Retourne une URL ou un formulaire sécurisé en méthode POST

redirige_action_post(string $action, string $arg, string $ret, string $gra, bool|int|string $corps[, string|int $att = '' ]) : array<string|int, mixed>|string
Parameters
$action : string

Nom du fichier/action appelé (dans le répertoire action)

$arg : string

Arguments pour l'action sécurisée

$ret : string

Adresse de redirection souhaitée à la fin du bon déroulement de l’action

$gra : string

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

$corps : bool|int|string
  • -1 : renvoyer action, arg et hash sous forme de array()
  • true ou false : renvoyer une url, avec &amp; (false) ou & (true)
  • string : renvoyer un formulaire
$att : string|int = ''
  • id_auteur pour lequel générer l'action en mode url ou array()
  • attributs du formulaire en mode formulaire
Return values
array<string|int, mixed>|string

URL, code HTML du formulaire ou tableau (action, arg, hash)

ajax_retour()

Fonction de formatage du contenu renvoyé en ajax

ajax_retour(string $corps[, string $content_type = null ]) : void

Echo la réponse directement

Parameters
$corps : string
$content_type : string = null

permet de definir le type de contenu renvoye. Si rien de précisé, ou si true c'est "text/html" avec un entete xml en plus. La valeur speciale false fournit text/html sans entete xml. Elle equivaut a passer "text/html" comme $content_type

Tags
used-by
exec_info_plugin_dist()
used-by
exec_informer_dist()
used-by
exec_plonger_dist()
used-by
exec_puce_statut_args()
used-by
exec_rechercher_dist()
used-by
exec_selectionner_dist()

inc_admin_dist()

Teste qu'un utilisateur a des droits sur les fichiers du site et exécute l'action (en base) demandée si c'est le cas.

inc_admin_dist(string $script, string $titre[, string $comment = '' ][, bool $anonymous = false ]) : string

Demande / vérifie le droit de création de répertoire par le demandeur; Mémorise dans les meta que ce script est en cours d'exécution. Si elle y est déjà c'est qu'il y a eu suspension du script, on reprend.

Parameters
$script : string

Script d'action (en base) à exécuter si on a des droits d'accès aux fichiers

$titre : string

Titre de l'action demandée

$comment : string = ''

Commentaire supplémentaire

$anonymous : bool = false

?

Tags
uses
debut_admin()
uses
admin_verifie_session()
uses
fin_admin()
Return values
string

Code HTML de la page (pour vérifier les droits), sinon code HTML de la page après le traitement effectué.

admin_verifie_session()

Gestion dans la meta "admin" du script d'administation demandé, pour éviter des exécutions en parallèle, notamment après Time-Out.

admin_verifie_session(string $script[, bool $anonymous = false ]) : string

Cette meta contient le nom du script et, à un hachage près, du demandeur. Le code de ecrire/index.php dévie toute demande d'exécution d'un script vers le script d'administration indiqué par cette meta si elle est là.

Au niveau de la fonction inc_admin, on controle la meta 'admin'.

  • Si la meta n'est pas là, c'est le début on la crée.
  • Sinon, si le hachage actuel est le même que celui en base, c'est une reprise, on continue.
  • Sinon, si le hachage diffère à cause du connect, c'est une arrivée inoppotune, on refuse sa connexion.
  • Enfin, si hachage diffère pour une autre raison, c'est que l'operation se passe mal, on la stoppe
Parameters
$script : string

Script d'action (en base)

$anonymous : bool = false

?

Tags
uses
fichier_admin()
used-by
inc_admin_dist()
Return values
string

Code HTML si message d'erreur, '' sinon;

dir_admin()

Retourne l'emplacement du répertoire où sera testé l'accès utilisateur

dir_admin() : string

Dans le répertoire temporaire si on est admin, sinon dans le répertoire de transfert des admins restreints

Return values
string

Chemin du répertoire.

fichier_admin()

Retourne le nom d'un fichier de teste d'authentification par accès aux fichiers

fichier_admin(string $action[, string $pref = 'admin_' ]) : string

Le nom calculé est un hash basé sur l’heure, l’action et l’auteur.

Parameters
$action : string

Nom du script d'action (en base)

$pref : string = 'admin_'

Préfixe au nom du fichier calculé

Tags
used-by
admin_verifie_session()
used-by
debut_admin()
Return values
string

Nom du fichier

debut_admin()

Demande la création d'un répertoire (pour tester l'accès de l'utilisateur) et sort ou quitte sans rien faire si le répertoire est déjà là.

debut_admin(string $script[, string $action = '' ][, string $corps = '' ]) : string

Si l'on est webmestre, la plupart des actions n'ont pas besoin de tester la création du répertoire (toutes sauf repair ou delete_all). On considère qu'un webmestre a déjà du prouver ses droits sur les fichiers. Dans ce cas, on quitte sans rien faire également.

Parameters
$script : string

Script d'action (en base) à exécuter ensuite

$action : string = ''

Titre de l'action demandée

$corps : string = ''

Commentaire supplémentaire

Tags
uses
dir_admin()
uses
fichier_admin()
used-by
inc_admin_dist()
Return values
string

Code HTML de la page (pour vérifier les droits), sinon chaîne vide si déjà fait.

fin_admin()

Clôture la phase d'administration en supprimant le répertoire testant l'accès au fichiers ainsi que les metas d'exécution

fin_admin(string $action) : mixed
Parameters
$action : string

Nom de l'action (en base) qui a été exécutée

Tags
used-by
inc_admin_dist()

copy_request()

Génère un formulaire avec les données postées

copy_request(string $script, string $suite[, string $submit = '' ]) : string

Chaque donnée est mise en input hidden pour les soumettre avec la validation du formulaire.

Parameters
$script : string

Nom du script (pour l'espace privé) de destination

$suite : string

Corps du formulaire

$submit : string = ''

texte du bouton de validation

Return values
string

Code HTML du formulaire

inc_auth_dist()

Teste l'authentification d'un visiteur

inc_auth_dist() : array<string|int, mixed>|int|string

Cette fonction ne fait pas l'authentification en soit ; elle vérifie simplement qu'une personne est connectée ou non.

Tags
used-by
exec_install_dist()
Return values
array<string|int, mixed>|int|string
  • URL de connexion si on ne sait rien (pas de cookie, pas Auth_user);
  • un tableau si visiteur sans droit (tableau = sa ligne SQL)
  • code numerique d'erreur SQL
  • une chaîne vide si autorisation à pénétrer dans l'espace privé.

auth_controler_password_auteur_connecte()

Vérifier qu'un mot de passe saisi pour confirmer une action est bien celui de l'auteur connecté

auth_controler_password_auteur_connecte(string $password) : bool
Parameters
$password : string
Return values
bool

auth_echec()

fonction appliquee par ecrire/index sur le resultat de la precedente en cas de refus de connexion.

auth_echec(mixed $raison) : array<string|int, mixed>|string

Retourne un message a afficher ou redirige illico.

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

auth_mode()

Retourne la description d'un authentifie par cookie ou http_auth Et affecte la globale $connect_login

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

auth_init_droits()

Initialisation des globales pour tout l'espace privé si visiteur connu

auth_init_droits(array<string|int, mixed> $row) : array<string|int, mixed>|string|bool

Le tableau global visiteur_session contient toutes les infos pertinentes et à jour (tandis que $visiteur_session peut avoir des valeurs un peu datées s'il est pris dans le fichier de session)

Les plus utiles sont aussi dans les variables simples ci-dessus si la globale est vide ce n'est pas un tableau, on la force pour empêcher un warning.

Parameters
$row : array<string|int, mixed>
Return values
array<string|int, mixed>|string|bool

auth_desensibiliser_session()

Enlever les clés sensibles d'une ligne auteur

auth_desensibiliser_session(array<string|int, mixed> $auteur) : array<string|int, mixed>
Parameters
$auteur : array<string|int, mixed>
Return values
array<string|int, mixed>

auth_a_loger()

Retourne l'url de connexion

auth_a_loger() : string
Return values
string

auth_trace()

Tracer en base la date de dernière connexion de l'auteur

auth_trace(array<string|int, mixed> $row[, null|string $date = null ]) : mixed
Parameters
$row : array<string|int, mixed>
$date : null|string = null
Tags
pipeline_appel

trig_auth_trace

auth_administrer()

Fonction privée d'aiguillage des fonctions d'authentification

auth_administrer(string $fonction, array<string|int, mixed> $args[, mixed $defaut = false ]) : mixed

Charge une fonction d'authentification présente dans un répertoire auth/. Ainsi, utiliser auth_administrer('informer_login', array('spip', ...) appellera auth_spip_informer_login() de ecrire/auth/spip.php.

Parameters
$fonction : string

Nom de la fonction d'authentification

$args : array<string|int, mixed>

Le premier élément du tableau doit être le nom du système d'authentification choisi, tel que spip (par défaut) ou encore ldap.

$defaut : mixed = false
Tags
uses
charger_fonction()
used-by
auth_terminer_identifier_login()
used-by
auth_autoriser_modifier_login()
used-by
auth_autoriser_modifier_pass()

auth_formulaire_login()

Pipeline pour inserer du contenu dans le formulaire de login

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

auth_retrouver_login()

Retrouver le login interne lie a une info login saisie la saisie peut correspondre a un login delegue qui sera alors converti en login interne apres verification

auth_retrouver_login(string $login[, string $serveur = '' ]) : mixed
Parameters
$login : string
$serveur : string = ''
Tags
@return

string/bool

auth_informer_login()

informer sur un login Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur Il est invoque par la fonction JS actualise_auteur via la globale JS page_auteur=#URL_PAGE{informer_auteur} dans le squelette login N'y aurait-il pas plus simple ?

auth_informer_login(string $login[, string $serveur = '' ]) : array<string|int, mixed>
Parameters
$login : string
$serveur : string = ''
Return values
array<string|int, mixed>

auth_identifier_login()

Essayer les differentes sources d'authenfication dans l'ordre specifie.

auth_identifier_login(string $login, string $password[, string $serveur = '' ][, bool $phpauth = false ]) : mixed

S'en souvenir dans visiteur_session['auth']

Parameters
$login : string
$password : string
$serveur : string = ''
$phpauth : bool = false

auth_url_retour_login()

Fournir une url de retour apres login par un SSO pour finir l'authentification

auth_url_retour_login(string $auth_methode, string $login[, string $redirect = '' ][, string $serveur = '' ]) : string
Parameters
$auth_methode : string
$login : string
$redirect : string = ''
$serveur : string = ''
Return values
string

auth_terminer_identifier_login()

Terminer l'action d'authentification d'un auteur

auth_terminer_identifier_login(string $auth_methode, string $login[, string $serveur = '' ]) : mixed
Parameters
$auth_methode : string
$login : string
$serveur : string = ''
Tags
uses
auth_administrer()

auth_loger()

Loger un auteur suite a son identification

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

auth_autoriser_modifier_login()

Tester la possibilité de modifier le login d'authentification pour la méthode donnée

auth_autoriser_modifier_login(string $auth_methode[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$serveur : string = ''
Tags
uses
auth_administrer()
Return values
bool

auth_verifier_login()

Verifier la validite d'un nouveau login pour modification pour la methode donnee

auth_verifier_login(string $auth_methode, string $new_login[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
$auth_methode : string
$new_login : string
$id_auteur : int = 0
$serveur : string = ''
Return values
string

message d'erreur ou chaine vide si pas d'erreur

auth_modifier_login()

Modifier le login d'un auteur pour la methode donnee

auth_modifier_login(string $auth_methode, string $new_login, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$new_login : string
$id_auteur : int
$serveur : string = ''
Return values
bool

auth_autoriser_modifier_pass()

Tester la possibilité de modifier le pass pour la méthode donnée

auth_autoriser_modifier_pass(string $auth_methode[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$serveur : string = ''
Tags
uses
auth_administrer()
Return values
bool

succès ou échec

auth_verifier_pass()

Verifier la validite d'un pass propose pour modification pour la methode donnee

auth_verifier_pass(string $auth_methode, string $login, string $new_pass[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
$auth_methode : string
$login : string
$new_pass : string
$id_auteur : int = 0
$serveur : string = ''
Return values
string

message d'erreur ou chaine vide si pas d'erreur

auth_modifier_pass()

Modifier le mot de passe d'un auteur pour la methode donnee

auth_modifier_pass(string $auth_methode, string $login, string $new_pass, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
$auth_methode : string
$login : string
$new_pass : string
$id_auteur : int
$serveur : string = ''
Return values
bool

succes ou echec

auth_synchroniser_distant()

Synchroniser un compte sur une base distante pour la methode donnée lorsque des modifications sont faites dans la base auteur

auth_synchroniser_distant([string|bool $auth_methode = true ][, int $id_auteur = 0 ][, array<string|int, mixed> $champs = [] ][, array<string|int, mixed> $options = [] ][, string $serveur = '' ]) : mixed
Parameters
$auth_methode : string|bool = true

ici true permet de forcer la synchronisation de tous les acces pour toutes les methodes

$id_auteur : int = 0
$champs : array<string|int, mixed> = []
$options : array<string|int, mixed> = []
$serveur : string = ''
Tags
used-by
base_upgrade_dist()

lire_php_auth()

Vérifier si l'auteur est bien authentifié

lire_php_auth(string $login, string $pw[, string $serveur = '' ]) : array<string|int, mixed>|bool
Parameters
$login : string
$pw : string
$serveur : string = ''
Return values
array<string|int, mixed>|bool

ask_php_auth()

entête php_auth (est-encore utilisé ?)

ask_php_auth(string $pb, string $raison[, string $retour = '' ][, string $url = '' ][, string $re = '' ][, string $lien = '' ]) : mixed
Parameters
$pb : string
$raison : string
$retour : string = ''
$url : string = ''
$re : string = ''
$lien : string = ''

autoriser()

Autoriser une action

autoriser(string $faire[, string|null $type = '' ][, string|int|null $id = null ][, null|int|array<string|int, mixed> $qui = null ][, array<string|int, mixed> $opt = [] ]) : bool

Teste si une personne (par défaut le visiteur en cours) peut effectuer une certaine action. Cette fonction est le point d'entrée de toutes les autorisations.

La fonction se charge d'appeler des fonctions d'autorisations spécifiques aux actions demandées si elles existent. Elle cherche donc les fonctions dans cet ordre :

  • autoriser_{type}_{faire}, sinon avec _dist
  • autoriser_{type}, sinon avec _dist
  • autoriser_{faire}, sinon avec _dist
  • autoriser_{defaut}, sinon avec _dist

Seul le premier argument est obligatoire.

Parameters
$faire : string

une action ('modifier', 'publier'...)

$type : string|null = ''

Type d’objet ou élément sur lequel appliquer l’action.

  • null: indifférent à tout type d’élément ou objet éditorial
  • string: objet éditorial (objet_type() est appliqué pour homogénéiser l’entrée)
  • _string: autre élément (avec un souligné en premier caractère, désactive objet_type()). Les soulignés seront retirés (cf. la note).
$id : string|int|null = null

id de l'objet ou élément sur lequel on veut agir, si pertinent.

  • null: non utile pour l’autorisation
  • int: identifiant numérique (cas de tous les objets éditoriaux de SPIP)
  • string: identifiant textuel
$qui : null|int|array<string|int, mixed> = null
  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
$opt : array<string|int, mixed> = []

options sous forme de tableau associatif

Tags
note

Le paramètre $type attend par défaut un type d'objet éditorial, et à ce titre, la valeur transmise se verra appliquer la fonction 'objet_type' pour uniformiser cette valeur.

Si ce paramètre n'a rien n'a voir avec un objet éditorial, par exemple 'statistiques', un souligné avant le terme est ajouté afin d'indiquer explicitement à la fonction autoriser de ne pas transformer la chaîne en type d'objet. Cela donne pour cet exemple : autoriser('detruire', '_statistiques')

note

Le paramètre $type, en plus de l'uniformisation en type d'objet, se voit retirer tous les soulignés du terme. Ainsi le type d'objet livre_art deviendra livreart et SPIP cherchera une fonction autoriser_livreart_{faire}. Ceci permet d'éviter une possible confusion si une fonction autoriser_livre_art existait : quel serait le type, quel serait l'action ?

Pour résumer, si le type d'objet éditorial a un souligné, tel que 'livre_art', la fonction d'autorisation correspondante ne l'aura pas. Exemple : function autoriser_livreart_modifier_dist(...){...}

see
autoriser_dist()
see
objet_type()
used-by
determine_upload()
Return values
bool

true si la personne peut effectuer l'action

autoriser_dist()

Autoriser une action

autoriser_dist(string $faire[, string|null $type = '' ][, int|string|null $id = null ][, null|int|array<string|int, mixed> $qui = null ][, array<string|int, mixed> $opt = [] ]) : bool

Voir autoriser() pour une description complète

Parameters
$faire : string

une action ('modifier', 'publier'...)

$type : string|null = ''

type d'objet ('article') ou élément

$id : int|string|null = null

id de l'objet ou élément sur lequel on veut agir, si pertinent.

  • null: non utile pour l’autorisation
  • int: identifiant numérique (cas de tous les objets éditoriaux de SPIP)
  • string: identifiant textuel
$qui : null|int|array<string|int, mixed> = null
  • si null on prend alors visiteur_session
  • un id_auteur (on regarde dans la base)
  • un tableau auteur complet, y compris [restreint]
$opt : array<string|int, mixed> = []

options sous forme de tableau associatif

Tags
see
autoriser()
Return values
bool

true si la personne peut effectuer l'action

autoriser_exception()

Accorder une autorisation exceptionnelle pour le hit en cours, ou la révoquer

autoriser_exception(string $faire[, string $type = '' ][, int|string|null $id = null ][, string|bool $autoriser = true ]) : bool
Parameters
$faire : string

Action demandée

$type : string = ''

Type d'objet ou élément

$id : int|string|null = null

Identifiant (* pour tous les ids)

$autoriser : string|bool = true

accorder (true) ou revoquer (false)

  • bool Accorder ou révoquer
  • 'verifier' : test si une exception existe
Tags
see
autoriser()
Return values
bool

autoriser_type()

Adapte un type pour les autorisations

autoriser_type([string|null $type = '' ]) : string

Cela sert à trouver le nom des autorisations correspondantes.

  • Si _ en premier caractère, c’est un nom de page
  • Sinon, c’est un type d’objet éditorial
  • Les _ sont supprimés
Parameters
$type : string|null = ''
Return values
string

autoriser_defaut_dist()

Autorisation par defaut

autoriser_defaut_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Les admins complets OK, les autres non

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_loger_dist()

Autorisation à se loger ?

autoriser_loger_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Retourne true pour tous les statuts sauf 5poubelle Peut être surchargée pour interdire statut=nouveau à se connecter et forcer l'utilisation du lien de confirmation email pour valider le compte

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_ecrire_dist()

Autorisation d'accès à l'espace privé ?

autoriser_ecrire_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_creer_dist()

Autorisation de créer un contenu

autoriser_creer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Accordée par defaut ceux qui accèdent à l'espace privé, peut-être surchargée au cas par cas

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_previsualiser_dist()

Autorisation de prévisualiser un contenu

autoriser_previsualiser_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
uses
test_previsualiser_objet_champ()
uses
decrire_token_previsu()
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

test_previsualiser_objet_champ()

Teste qu'un objet éditorial peut être prévisualisé

test_previsualiser_objet_champ([string $type = '' ][, int|string|null $id = null ][, array<string|int, mixed> $qui = [] ][, array<string|int, mixed> $opt = [] ]) : bool

Cela permet ainsi de commander l'affichage dans l'espace prive du bouton "previsualiser" voir prive/objets/infos/article.html etc.

Cela dépend du statut actuel de l'objet d'une part, et d'autre part de la clé previsu dans le tableau statut de la déclaration de l'objet éditorial. Cette clé previsu liste des statuts, séparés par des virgules, qui ont le droit d'avoir une prévisualisation. La présence de xx/auteur indique que pour le statut xx, l'auteur en cours doit être un des auteurs de l'objet éditorial en question pour que ce statut autorise la prévisualisation.

Exemple pour les articles : 'previsu' => 'publie,prop,prepa/auteur',

Parameters
$type : string = ''

Type d'objet ou élément

$id : int|string|null = null

Identifiant

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

Description de l'auteur demandant l'autorisation

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

Options de cette autorisation

Tags
uses
lister_tables_objets_sql()
used-by
autoriser_previsualiser_dist()
Return values
bool

true s'il a le droit, false sinon

autoriser_changerlangue_dist()

Autorisation de changer de langue un contenu

autoriser_changerlangue_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_changertraduction_dist()

Autorisation de changer le lien de traduction

autoriser_changertraduction_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_dater_dist()

Autorisation de changer la date d'un contenu

autoriser_dater_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_instituer_dist()

Autorisation d'instituer un contenu

autoriser_instituer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

C'est à dire de changer son statut ou son parent. Par défaut, il faut l'autorisation de modifier le contenu

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubrique_publierdans_dist()

Autorisation de publier dans une rubrique $id

autoriser_rubrique_publierdans_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur ou administrateur restreint de la rubrique

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubrique_creer_dist()

Autorisation de créer une rubrique

autoriser_rubrique_creer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur pour pouvoir publier à la racine

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubrique_creerrubriquedans_dist()

Autorisation de créer une sous rubrique dans une rubrique $id

autoriser_rubrique_creerrubriquedans_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur et pouvoir publier dans la rubrique

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubrique_creerarticledans_dist()

Autorisation de créer un article dans une rubrique $id

autoriser_rubrique_creerarticledans_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir voir la rubrique et pouvoir créer un article…

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubrique_modifier_dist()

Autorisation de modifier une rubrique $id

autoriser_rubrique_modifier_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir publier dans cette rubrique

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubrique_supprimer_dist()

Autorisation de supprimer une rubrique $id

autoriser_rubrique_supprimer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut quelle soit vide (pas d'enfant) et qu'on ait le droit de la modifier

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_article_modifier_dist()

Autorisation de modifier un article $id

autoriser_article_modifier_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir publier dans le parent ou, si on change le statut en proposé ou préparation être auteur de l'article

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_article_creer_dist()

Autorisation de créer un article

autoriser_article_creer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut qu'une rubrique existe et être au moins rédacteur

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_article_voir_dist()

Autorisation de voir un article

autoriser_article_voir_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être admin ou auteur de l'article, sinon il faut que l'article soit publié ou proposé.

Peut-être appelée sans $id, mais avec un $opt['statut'] pour tester la liste des status autorisés en fonction de $qui['statut']

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_voir_dist()

Autorisation de voir un objet

autoriser_voir_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Tout est visible par défaut, sauf les auteurs où il faut au moins être rédacteur.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_webmestre_dist()

Autorisation de webmestre

autoriser_webmestre_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Est-on webmestre ? Signifie qu'on n'a même pas besoin de passer par ftp pour modifier les fichiers, cf. notamment inc/admin

On regarde l'état "webmestre" de l'auteur

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_configurer_dist()

Autorisation Configurer le site

autoriser_configurer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur complet

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_sauvegarder_dist()

Autorisation de sauvegarder la base de données

autoriser_sauvegarder_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur (y compris restreint)

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_detruire_dist()

Autorisation d'effacer la base de données

autoriser_detruire_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être webmestre

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_auteur_previsualiser_dist()

Autorisation de prévisualiser un auteur

autoriser_auteur_previsualiser_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur ou que l'auteur à prévisualiser ait au moins publié un article

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_auteur_creer_dist()

Autorisation de créer un auteur

autoriser_auteur_creer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur (restreint compris).

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
note

Seuls les administrateurs complets ont accès à tous les champs du formulaire d'édition d'un auteur. À la création d'un auteur, son statut est 'poubelle'. C'est l'autorisation de modifier qui permet de changer les informations sensibles (statut, login, pass, etc.) à l'institution.

see
auteur_inserer()
see
auteur_instituer()
see
autoriser_auteur_modifier_dist()
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_auteur_modifier_dist()

Autorisation de modifier un auteur

autoriser_auteur_modifier_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Attention tout depend de ce qu'on veut modifier. Il faut être au moins rédacteur, mais on ne peut pas promouvoir (changer le statut) un auteur avec des droits supérieurs au sien.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_associerauteurs_dist()

Autorisation d'associer un auteur sur un objet

autoriser_associerauteurs_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir modifier l'objet en question

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_chargerftp_dist()

Autorisation d'upload FTP

autoriser_chargerftp_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_debug_dist()

Autorisation d'activer le mode debug

autoriser_debug_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

liste_rubriques_auteur()

Liste les rubriques d'un auteur

liste_rubriques_auteur(int $id_auteur[, bool $raz = false ]) : array<string|int, mixed>

Renvoie la liste des rubriques liées à cet auteur, independamment de son statut (pour les admins restreints, il faut donc aussi vérifier statut)

Mémorise le resultat dans un tableau statique indéxé par les id_auteur. On peut reinitialiser un élément en passant un 2e argument non vide

Parameters
$id_auteur : int

Identifiant de l'auteur

$raz : bool = false

Recalculer le résultat connu pour cet auteur

Return values
array<string|int, mixed>

Liste des rubriques

autoriser_rubrique_previsualiser_dist()

Autorisation de prévisualiser une rubrique

autoriser_rubrique_previsualiser_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir prévisualiser.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubrique_iconifier_dist()

Autorisation d'iconifier une rubrique (mettre un logo)

autoriser_rubrique_iconifier_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir publier dans la rubrique.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_auteur_iconifier_dist()

Autorisation d'iconifier un auteur (mettre un logo)

autoriser_auteur_iconifier_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut un administrateur ou que l'auteur soit celui qui demande l'autorisation

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_iconifier_dist()

Autorisation d'iconifier un objet (mettre un logo)

autoriser_iconifier_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir modifier l'objet

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_ok_dist()

Autorisation OK

autoriser_ok_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Autorise toujours ! Fonction sans surprise pour permettre les tests.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_niet_dist()

Autorisation NIET

autoriser_niet_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : false

Refuse toujours ! Fonction sans surprise pour permettre les tests.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
false

autoriser_base_reparer_dist()

Autorisation de réparer la base de données

autoriser_base_reparer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir la détruire (et ne pas être en cours de réinstallation)

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_infosperso_dist()

Autorisation de voir l'onglet infosperso

autoriser_infosperso_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_langage_configurer_dist()

Autorisation de voir le formulaire configurer_langage

autoriser_langage_configurer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_configurerlangage_dist()

Autorisation de voir l'onglet configurerlangage

autoriser_configurerlangage_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Calquée sur l'autorisation de voir le formulaire configurer_langage

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_preferences_configurer_dist()

Autorisation de voir le formulaire configurer_preferences

autoriser_preferences_configurer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_configurerpreferences_dist()

Autorisation de voir l'onglet configurerpreferences

autoriser_configurerpreferences_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Calquée sur l'autorisation de voir le formulaire configurer_preferences

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_menudeveloppement_menugrandeentree_dist()

Autorisation d'afficher le menu développement

autoriser_menudeveloppement_menugrandeentree_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Dépend de la préférences utilisateur

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_menugrandeentree_dist()

Autorisation d'afficher une grande entrée de menu

autoriser_menugrandeentree_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Par defaut les grandes entrees (accueil, édition, publication, etc.) sont visibles de tous

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_auteurs_voir_dist()

Autorisation de voir la page auteurs

autoriser_auteurs_voir_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_auteurs_voiremails_dist()

Autorisation de voir les emails des autres auteurs

autoriser_auteurs_voiremails_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_auteurs_menu_dist()

Autorisation de voir le menu auteurs

autoriser_auteurs_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_articles_voir_dist()

Autorisation de voir la page articles

autoriser_articles_voir_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_articles_menu_dist()

Autorisation de voir le menu articles

autoriser_articles_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_rubriques_voir_dist()

Autorisation de voir la page rubriques

autoriser_rubriques_voir_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : true

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
true

autoriser_rubriques_menu_dist()

Autorisation de voir le menu rubriques

autoriser_rubriques_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Toujours OK

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_articlecreer_menu_dist()

Autorisation de voir le menu articlecreer

autoriser_articlecreer_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut au moins une rubrique présente.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_auteurcreer_menu_dist()

Autorisation de voir le menu auteurcreer

autoriser_auteurcreer_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut pouvoir créer un auteur !

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser_auteur_creer_dist()
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_visiteurs_menu_dist()

Autorisation de voir le menu "afficher les visiteurs"

autoriser_visiteurs_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Être admin complet et il faut qu'il en existe ou que ce soit activé en config

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_suiviedito_menu_dist()

Autorisation de voir le menu suiviedito

autoriser_suiviedito_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur (y compris restreint).

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_synchro_menu_dist()

Autorisation de voir le menu synchro

autoriser_synchro_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur (y compris restreint).

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_configurerinteractions_menu_dist()

Autorisation de voir le menu configurer_interactions

autoriser_configurerinteractions_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page configurer_interactions

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_configurerlangue_menu_dist()

Autorisation de voir le menu configurer_langue

autoriser_configurerlangue_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page configurer_langue

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_configurermultilinguisme_menu_dist()

Autorisation de voir le menu configurer_multilinguisme

autoriser_configurermultilinguisme_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page configurer_multilinguisme

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_configurercontenu_menu_dist()

Autorisation de voir le menu configurer_contenu

autoriser_configurercontenu_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page configurer_contenu

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_configureravancees_menu_dist()

Autorisation de voir le menu configurer_avancees

autoriser_configureravancees_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page configurer_avancees

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_adminplugin_menu_dist()

Autorisation de voir le menu admin_plugin

autoriser_adminplugin_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page admin_plugin

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_adminbdd_menu_dist()

Autorisation de voir le menu admin_bdd

autoriser_adminbdd_menu_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut avoir accès à la page admin_bdd, et donc le droit de détruire la BDD (rien que cela)

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_queue_purger_dist()

Autorisation de purger la queue de travaux

autoriser_queue_purger_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être webmestre.

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_echafauder_dist()

Autorisation l'échafaudage de squelettes en Z

autoriser_echafauder_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être dans l'espace privé (et authentifié), sinon il faut être webmestre (pas de fuite d'informations publiées)

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

auteurs_objet()

Retourne les identifiants d'auteurs liés à un objet

auteurs_objet(string $objet, int $id_objet[, string|array<string|int, mixed> $cond = '' ]) : array<string|int, int>
Parameters
$objet : string
$id_objet : int
$cond : string|array<string|int, mixed> = ''

Condition(s) supplémentaire(s) pour le where de la requête

Return values
array<string|int, int>

Identifiants d'auteurs

acces_restreint_rubrique()

Tester si on est admin restreint sur une rubrique donnée

acces_restreint_rubrique(int $id_rubrique) : bool

Fonction générique utilisee dans des autorisations ou assimilée

Parameters
$id_rubrique : int

Identifiant de la rubrique

Return values
bool

true si administrateur de cette rubrique, false sinon.

verifier_table_non_vide()

Verifier qu'il existe au moins un parent

verifier_table_non_vide([string $table = 'spip_rubriques' ]) : bool

Fonction utilisee dans des autorisations des boutons / menus du prive des objets enfants (articles, breves, sites)

Parameters
$table : string = 'spip_rubriques'

la table a vérifier

Return values
bool

true si un parent existe

autoriser_inscrireauteur_dist()

Détermine la possibilité de s'inscire sur le site

autoriser_inscrireauteur_dist(string $faire, mixed $quoi, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Pour un statut et un éventuel id_rubrique donné, indique, à l'aide de la liste globale des statuts (tableau mode => nom du mode) si le visiteur peut s'inscrire sur le site.

Utile pour le formulaire d'inscription.

Par défaut, seuls 6forum et 1comite sont possibles, les autres sont en false. Pour un nouveau mode il suffit de définir l'autorisation spécifique.

Parameters
$faire : string

Action demandée

$quoi : mixed
$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_inscription_relancer_dist()

Autorisation de relancer une inscription

autoriser_inscription_relancer_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être administrateur complet

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

autoriser_phpinfos_dist()

Autorisation à voir le phpinfo

autoriser_phpinfos_dist(string $faire, string $type, int|string|null $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool

Il faut être webmestre

Parameters
$faire : string

Action demandée

$type : string

Type d'objet ou élément

$id : int|string|null

Identifiant

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opt : array<string|int, mixed>

Options de cette autorisation

Tags
see
autoriser()
Return values
bool

true s'il a le droit, false sinon

definir_barre_contexte()

Calcule le contexte pour le menu du bandeau

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

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

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

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

Return values
array<string|int, mixed>

contexte

definir_barre_boutons()

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

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

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

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

Rechercher les icones

$autorise : bool = true

Ne renvoyer que les boutons autorisés

Return values
array<string|int, mixed>

trier_boutons_enfants_par_alpha()

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

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

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

Return values
array<string|int, Bouton>

trier_boutons_enfants_par_favoris_alpha()

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

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

bandeau_creer_url()

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

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

inc_bandeau_dist()

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

inc_bandeau_dist() : string
Return values
string

Code HTML du bandeau

obtenir_menus_favoris()

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

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

definir_barre_onglets()

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

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

On passe la main au pipeline "ajouter_onglets".

Parameters
$script : string
Tags
see
plugin_ongletbouton()

qui crée la fonction onglets_plugins()

pipeline_appel

ajouter_onglets

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

load_charset()

Charge en mémoire la liste des caractères d'un charset

load_charset([string $charset = 'AUTO' ]) : string|bool

Charsets supportés en natif : voir les tables dans ecrire/charsets/ Les autres charsets sont supportés via mbstring()

Parameters
$charset : string = 'AUTO'

Charset à charger. Par défaut (AUTO), utilise le charset du site

Return values
string|bool
  • Nom du charset
  • false si le charset n'est pas décrit dans le répertoire charsets/

init_mb_string()

Vérifier qu'on peut utiliser mb_string avec notre charset

init_mb_string() : bool

Les fonctions mb_* sont tout le temps présentes avec symfony/polyfill-mbstring

Return values
bool

true si notre charset est utilisable par mb_strsing

corriger_caracteres_windows()

Corriger des caractères non-conformes : 128-159

corriger_caracteres_windows(string|array<string|int, mixed> $texte[, string $charset = 'AUTO' ][, string $charset_cible = 'unicode' ]) : string|array<string|int, mixed>

Cf. charsets/iso-8859-1.php (qu'on recopie ici pour aller plus vite) On peut passer un charset cible en parametre pour accelerer le passage iso-8859-1 -> autre charset

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

Le texte à corriger

$charset : string = 'AUTO'

Charset d'origine du texte Par défaut (AUTO) utilise le charset du site

$charset_cible : string = 'unicode'

Charset de destination (unicode par défaut)

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

texte corrigé

html2unicode()

Transforme les entités HTML en unicode

html2unicode(string $texte[, bool $secure = false ]) : string

Transforme les é en {

Parameters
$texte : string

texte à convertir

$secure : bool = false

true pour ne pas convertir les caracteres malins < & etc.

Return values
string

texte converti

mathml2unicode()

Transforme les entités mathématiques (MathML) en unicode

mathml2unicode(string $texte) : string

Transforme ∠ en ∠ ainsi que toutes autres entités mathématiques

Parameters
$texte : string

texte à convertir

Return values
string

texte converti

unicode2charset()

Transforme les entites unicode &#129; dans le charset specifie

unicode2charset(string $texte[, string $charset = 'AUTO' ]) : string

Attention on ne transforme pas les entites < € car si elles ont ete encodees ainsi c'est a dessein

Parameters
$texte : string

texte unicode à transformer

$charset : string = 'AUTO'

Charset à appliquer au texte Par défaut (AUTO), le charset sera celui du site.

Return values
string

texte transformé dans le charset souhaité

importer_charset()

Importer un texte depuis un charset externe vers le charset du site

importer_charset(string $texte[, string $charset = 'AUTO' ]) : string

Les caractères non resolus sont transformés en &#123;

Parameters
$texte : string

texte unicode à importer

$charset : string = 'AUTO'

Charset d'origine du texte Par défaut (AUTO), le charset d'origine est celui du site.

Return values
string

texte transformé dans le charset site

utf_8_to_unicode()

Transforme un texte UTF-8 en unicode

utf_8_to_unicode(string $source) : string

Utilise la librairie mb si présente

Parameters
$source : string

texte UTF-8 à transformer

Return values
string

texte transformé en unicode

utf_32_to_unicode()

Transforme un texte UTF-32 en unicode

utf_32_to_unicode(string $source) : string

UTF-32 ne sert plus que si on passe par iconv, c'est-a-dire quand mb_string est absente ou ne connait pas notre charset.

Mais on l'optimise quand meme par mb_string => tout ca sera osolete quand on sera surs d'avoir mb_string

Parameters
$source : string

texte UTF-8 à transformer

Return values
string

texte transformé en unicode

caractere_utf_8()

Transforme un numéro unicode en caractère utf-8

caractere_utf_8(int $num) : string

Ce bloc provient de php.net

Parameters
$num : int

Numéro de l'entité unicode

Tags
author

Ronen

used-by
translitteration_rapide()
Return values
string

Caractère utf8 si trouvé, '' sinon

unicode_to_utf_8()

Convertit un texte unicode en utf-8

unicode_to_utf_8(string $texte) : string
Parameters
$texte : string

texte à convertir

Return values
string

texte converti

unicode_to_javascript()

Convertit les unicode &#264; en javascript \u0108

unicode_to_javascript(string $texte) : string
Parameters
$texte : string

texte à convertir

Return values
string

texte converti

javascript_to_unicode()

Convertit les %uxxxx (envoyés par javascript) en &#yyy unicode

javascript_to_unicode(string $texte) : string
Parameters
$texte : string

texte à convertir

Return values
string

texte converti

javascript_to_binary()

Convertit les %E9 (envoyés par le browser) en chaîne du charset du site (binaire)

javascript_to_binary(string $texte) : string
Parameters
$texte : string

texte à convertir

Return values
string

texte converti

translitteration_rapide()

Substition rapide de chaque graphème selon le charset sélectionné.

translitteration_rapide(string|null $texte[, string $charset = 'AUTO' ][, string $complexe = '' ]) : string
Parameters
$texte : string|null
$charset : string = 'AUTO'
$complexe : string = ''
Tags
uses
caractere_utf_8()
global

array $CHARSET

staticvar

array $trans

used-by
translitteration()
Return values
string

translitteration()

Translittération charset => ascii (pour l'indexation)

translitteration(string|null $texte[, string $charset = 'AUTO' ][, string $complexe = '' ]) : string

Permet, entre autres, d’enlever les accents, car la table ASCII non étendue ne les comporte pas.

Attention les caractères non reconnus sont renvoyés en utf-8

Parameters
$texte : string|null
$charset : string = 'AUTO'
$complexe : string = ''
Tags
uses
corriger_caracteres()
uses
unicode_to_utf_8()
uses
html2unicode()
uses
charset2unicode()
uses
translitteration_rapide()
used-by
ancre_url()
used-by
translitteration_complexe()
Return values
string

translitteration_complexe()

Translittération complexe

translitteration_complexe(string|null $texte[, bool $chiffres = false ]) : string

&agrave; est retourné sous la forme a` et pas à mais si $chiffre=true, on retourne a8 (vietnamien)

Parameters
$texte : string|null
$chiffres : bool = false
Tags
uses
translitteration()
Return values
string

translitteration_chiffree()

Translittération chiffrée

translitteration_chiffree(string $car) : string

Remplace des caractères dans une chaîne par des chiffres

Parameters
$car : string
Return values
string

bom_utf8()

Reconnaitre le BOM utf-8 (0xEFBBBF)

bom_utf8(string $texte) : bool
Parameters
$texte : string

texte dont on vérifie la présence du BOM

Return values
bool

true s'il a un BOM

is_ascii()

Vérifie qu'une chaîne est en ascii valide

is_ascii(string $string) : bool
Parameters
$string : string

texte dont on vérifie qu'il est de l'ascii

Return values
bool

true si c'est le cas

transcoder_page()

Transcode une page vers le charset du site

transcoder_page(string $texte[, string $headers = '' ]) : string

Transcode une page (attrapée sur le web, ou un squelette) vers le charset du site en essayant par tous les moyens de deviner son charset (y compris dans les headers HTTP)

Parameters
$texte : string

Page à transcoder, dont on souhaite découvrir son charset

$headers : string = ''

Éventuels headers HTTP liés à cette page

Return values
string

texte transcodé dans le charset du site

spip_substr()

Coupe un texte selon substr()

spip_substr(string $c[, int $start = 0 ][, null|int $length = null ]) : string

Coupe une chaîne en utilisant les outils mb* lorsque le site est en utf8

Parameters
$c : string

Le texte

$start : int = 0

Début

$length : null|int = null

Longueur ou fin

Tags
link
http://fr.php.net/manual/fr/function.mb-substr.php
link
http://www.php.net/manual/fr/function.substr.php
uses
spip_substr_manuelle()

si les fonctions php mb sont absentes

Return values
string

Le texte coupé

spip_ucfirst()

Rend majuscule le premier caractère d'une chaîne utf-8

spip_ucfirst(string $c) : string

Version utf-8 d'ucfirst

Parameters
$c : string

La chaîne à transformer

Return values
string

La chaîne avec une majuscule sur le premier mot

spip_strtolower()

Passe une chaîne utf-8 en minuscules

spip_strtolower(string $c) : string

Version utf-8 de strtolower

Parameters
$c : string

La chaîne à transformer

Return values
string

La chaîne en minuscules

spip_strlen()

Retourne la longueur d'une chaîne utf-8

spip_strlen(string $c) : int

Version utf-8 de strlen

Parameters
$c : string

La chaîne à compter

Return values
int

Longueur de la chaîne

utf8_noplanes()

Transforme une chaîne utf-8 en utf-8 sans "planes" ce qui permet de la donner à MySQL "utf8", qui n'est pas un utf-8 complet L'alternative serait d'utiliser utf8mb4

utf8_noplanes(string $x) : string
Parameters
$x : string

La chaîne à transformer

Return values
string

La chaîne avec les caractères utf8 des hauts "planes" échappée en unicode : 💩

inc_chercher_logo_dist()

Cherche le logo d'un élément d'objet

inc_chercher_logo_dist(int $id, string $_id_objet[, string $mode = 'on' ][, bool $compat_old_logos = false ]) : array<string|int, mixed>
Parameters
$id : int

Identifiant de l'objet

$_id_objet : string

Nom de la clé primaire de l'objet

$mode : string = 'on'

Mode de survol du logo désiré (on ou off)

$compat_old_logos : bool = false

(unused) @deprecated 5.0

Return values
array<string|int, mixed>
  • Liste (chemin complet du fichier, répertoire de logos, nom du logo, extension du logo, date de modification[, doc])
  • array vide aucun logo trouvé.

inc_chercher_rubrique_dist()

Sélecteur de rubriques pour l'espace privé

inc_chercher_rubrique_dist(int $id_rubrique, string $type, bool $restreint[, int $idem = 0 ][, string $do = 'aff' ]) : string
Parameters
$id_rubrique : int

Identifiant de rubrique courante (0 si NEW)

$type : string

Type de l'objet à placer.

Une rubrique peut aller à la racine mais pas dans elle-même, les articles et sites peuvent aller n'importe où (défaut), et les brèves dans les secteurs.

$restreint : bool

True pour indiquer qu'il faut limiter les rubriques affichées aux rubriques éditables par l'admin restreint

$idem : int = 0

En mode rubrique, identifiant de soi-même

$do : string = 'aff'

Type d'action

Tags
uses
selecteur_rubrique_html()
uses
selecteur_rubrique_ajax()
used-by
chercher_rubrique()
Return values
string

Code HTML du sélecteur

style_menu_rubriques()

Styles appliqués sur le texte d'une rubrique pour créer visuellement une indentation en fonction de sa profondeur dans le sélecteur

style_menu_rubriques(int $i) : array<string|int, mixed>
Parameters
$i : int

Profondeur de la rubrique

Return values
array<string|int, mixed>

Liste (classe CSS, styles en ligne, Espaces insécables)

sous_menu_rubriques()

Sélecteur de sous rubriques pour l'espace privé

sous_menu_rubriques(int $id_rubrique, int $root, int $niv, array<string|int, mixed> &$data, array<string|int, mixed> &$enfants, int $exclus, bool $restreint, string $type) : string
Parameters
$id_rubrique : int

Identifiant de parente

$root : int
$niv : int
$data : array<string|int, mixed>
$enfants : array<string|int, mixed>
$exclus : int
$restreint : bool

True pour indiquer qu'il faut limiter les rubriques affichées aux rubriques éditables par l'admin restreint

$type : string

Type de l'objet à placer.

Tags
uses
style_menu_rubriques()
used-by
selecteur_rubrique_html()
Return values
string

Code HTML du sélecteur

selecteur_rubrique_html()

Sélecteur de rubriques pour l'espace privé en mode classique (menu)

selecteur_rubrique_html(int $id_rubrique, string $type, bool $restreint[, int $idem = 0 ]) : string
Parameters
$id_rubrique : int

Identifiant de rubrique courante (0 si NEW)

$type : string

Type de l'objet à placer.

$restreint : bool

True pour indiquer qu'il faut limiter les rubriques affichées aux rubriques éditables par l'admin restreint

$idem : int = 0

En mode rubrique, identifiant de soi-même

Tags
uses
sous_menu_rubriques()
used-by
inc_chercher_rubrique_dist()
Return values
string

Code HTML du sélecteur

selecteur_rubrique_ajax()

Sélecteur de rubrique pour l'espace privé, en mode AJAX

selecteur_rubrique_ajax(int $id_rubrique, string $type, bool $restreint[, int $idem = 0 ][, string $do = 'aff' ]) : string
Parameters
$id_rubrique : int

Identifiant de rubrique courante (0 si NEW)

$type : string

Type de l'objet à placer.

$restreint : bool

True pour indiquer qu'il faut limiter les rubriques affichées aux rubriques éditables par l'admin restreint. Ne fonctionne actuellement pas ici.

$idem : int = 0

En mode rubrique, identifiant de soi-même

$do : string = 'aff'

Type d'action

Tags
note

$restreint indique qu'il faut limiter les rubriques affichées aux rubriques éditables par l'admin restreint... or, ca ne marche pas. Pour la version HTML c'est bon (cf. ci-dessus), mais pour l'ajax... je laisse ça aux spécialistes de l'ajax & des admins restreints

Toutefois c'est juste un pb d'interface, car question securite la vérification est faite à l'arrivée des données (Fil)

uses
construire_selecteur()
see
exec_selectionner_dist()

Pour l'obtention du contenu AJAX ensuite

used-by
inc_chercher_rubrique_dist()
Return values
string

Code HTML du sélecteur

construire_selecteur()

Construit un bloc permettant d'activer le sélecteur de rubrique AJAX

construire_selecteur(string $url, string $js, string $idom, string $name[, string $init = '' ][, int $id = 0 ]) : string

Construit un bloc comportant une icone clicable avec image animée à côté pour charger en Ajax du code à mettre sous cette icone.

Parameters
$url : string

URL qui retournera le contenu du sélecteur en AJAX

$js : string

Code javascript ajouté sur onclick

$idom : string

Identifiant donné à l'image activant l'ajax et au block recevant son contenu

$name : string

Nom du champ à envoyer par le formulaire

$init : string = ''

Code HTML à l'intérieur de l'input titreparent

$id : int = 0

Valeur actuelle du champ

Tags
note

Attention: changer le onclick si on change le code Html. (la fonction JS charger_node ignore l'attribut id qui ne sert en fait pas; getElement en mode Ajax est trop couteux).

used-by
selecteur_rubrique_ajax()
Return values
string

Code HTML du sélecteur de rubrique AJAX

inc_commencer_page_dist()

Débute une page HTML pour l'espace privé

inc_commencer_page_dist([string $titre = '' ][, string $rubrique = 'accueil' ][, string $sous_rubrique = 'accueil' ][, string $id_rubrique = '' ][, bool $menu = true ][, bool $minipres = false ][, bool $alertes = true ]) : string

Préferer l'usage des squelettes prive/squelettes/.

Parameters
$titre : string = ''

Titre de la page

$rubrique : string = 'accueil'

?

$sous_rubrique : string = 'accueil'

?

$id_rubrique : string = ''

?

$menu : bool = true

?

$minipres : bool = false

?

$alertes : bool = true

?

Tags
uses
init_entete()
uses
init_body()
example
$commencer_page = charger_fonction('commencer_page','inc');
echo $commencer_page($titre);
Return values
string

Code HTML

init_head()

Retourne le code HTML du head (intégration des JS et CSS) de l'espace privé

init_head([string $titre = '' ][, int $dummy = 0 ][, bool $minipres = false ]) : string

Code HTML récupéré du squelette prive/squelettes/head/dist

Parameters
$titre : string = ''
$dummy : int = 0
$minipres : bool = false
Tags
used-by
init_entete()
Return values
string

init_body()

Fonction envoyant la double série d'icônes de rédac

init_body([string $rubrique = 'accueil' ][, string $sous_rubrique = 'accueil' ][, int $id_rubrique = '' ][, bool $menu = true ]) : string
Parameters
$rubrique : string = 'accueil'
$sous_rubrique : string = 'accueil'
$id_rubrique : int = ''
$menu : bool = true
Tags
uses
init_body_class()
uses
inc_bandeau_dist()
pipeline_appel

body_prive

global

mixed $connect_id_auteur

global

mixed $auth_can_disconnect

used-by
inc_commencer_page_dist()
Return values
string

init_body_class()

Calcule les classes CSS à intégrer à la balise `<body>` de l'espace privé

init_body_class() : string

Les classes sont calculées en fonction des préférences de l'utilisateur, par exemple s'il choisit d'avoir ou non les icônes.

Tags
used-by
init_body()
Return values
string

Classes CSS (séparées par des espaces)

auteurs_recemment_connectes()

Afficher la liste des auteurs connectés à l'espace privé

auteurs_recemment_connectes(int $id_auteur) : string
Parameters
$id_auteur : int
Return values
string

inc_completer_traduction_dist()

Compléter une nouvelle traduction avec des éléments utiles.

inc_completer_traduction_dist(string $objet, int $id_objet, int $id_trad) : string
Parameters
$objet : string

Objet

$id_objet : int

Identifiant du nouvel objet

$id_trad : int

Identifiant de l’objet qu'on a traduit

Return values
string

Erreur éventuelle

inc_config_dist()

Appliquer les valeurs par défaut pour les options non initialisées (pour les langues c'est fait)

inc_config_dist() : mixed

expliquer_config()

Expliquer une clé de configuration

expliquer_config(string $cfg) : array<string|int, mixed>

Analyser la clé de configuration pour déterminer

  • la table (ex: spip_metas),
  • le casier, la clé principale (ex: dada)
  • et le sous-casier éventuel, chemin dans la clé principale (ex: truc/muche)
Parameters
$cfg : string

Clé de configuration, tel que 'dada/truc/muche'

Return values
array<string|int, mixed>

Liste (table, casier, sous_casier)

lire_config()

Lecture de la configuration

lire_config([string $cfg = '' ][, mixed $def = null ][, bool $unserialize = true ]) : mixed

lire_config() permet de recuperer une config depuis le php
memes arguments que la balise (forcement)
$cfg: la config, lire_config('montruc') est un tableau
lire_config('/table/champ') lit le valeur de champ dans la table des meta 'spip_table'
lire_config('montruc/sub') est l'element "sub" de cette config equivalent a lire_config('/meta/montruc/sub')

lire_config('methode::montruc/sub') delegue la lecture a methode_lire_config_dist via un charger_fonction permet de brancher CFG ou autre outil externe qui etend les methodes de stockage de config

$unserialize est mis par l'histoire

Parameters
$cfg : string = ''

Clé de configuration

$def : mixed = null

Valeur par défaut

$unserialize : bool = true

N'affecte que le dépôt 'meta' : True pour désérialiser automatiquement la valeur

Return values
mixed

Contenu de la configuration obtenue

lire_config_metapack_dist()

metapack est inclue dans lire_config, mais on traite le cas ou il est explicite metapack:: dans le $cfg de lire_config.

lire_config_metapack_dist([string $cfg = '' ][, mixed $def = null ][, bool $unserialize = true ]) : mixed

On renvoie simplement sur lire_config

Parameters
$cfg : string = ''
$def : mixed = null
$unserialize : bool = true

ecrire_config()

Ecrire une configuration

ecrire_config(string $cfg, mixed $store) : bool
Parameters
$cfg : string
$store : mixed
Return values
bool

ecrire_config_metapack_dist()

metapack est inclue dans ecrire_config, mais on traite le cas ou il est explicite metapack:: dans le $cfg de ecrire_config.

ecrire_config_metapack_dist(string $cfg, mixed $store) : bool

On renvoie simplement sur ecrire_config

Parameters
$cfg : string
$store : mixed
Return values
bool

effacer_config()

Effacer une configuration : revient a ecrire une valeur null

effacer_config(string $cfg) : bool
Parameters
$cfg : string
Return values
bool

actualise_metas()

Mets les `meta` à des valeurs conventionnelles quand elles sont vides et recalcule les langues

actualise_metas(array<string|int, mixed> $liste_meta) : mixed
Parameters
$liste_meta : array<string|int, mixed>

appliquer_modifs_config()

Appliquer les modifications apportées aux `metas`

appliquer_modifs_config([bool $purger_skel = false ]) : mixed

Si $purger_skel est à true, on purge le répertoire de cache des squelettes

Parameters
$purger_skel : bool = false
Tags
uses
liste_metas()
uses
ecrire_meta()
uses
purger_repertoire()

appliquer_adresse_site()

Mettre à jour l'adresse du site à partir d'une valeur saisie (ou auto détection si vide)

appliquer_adresse_site(string $adresse_site) : string
Parameters
$adresse_site : string
Return values
string

spip_setcookie()

Place un cookie (préfixé) sur le poste client

spip_setcookie([string $name = '' ][, string $value = '' ][, int|array{expires: int, path: string, domain: string, secure: bool, samesite: string} $expires_or_options = 0 ][, string|null $path = null ][, string $domain = '' ][, bool $secure = false ][, bool $httponly = false ]) : bool
Parameters
$name : string = ''

Nom du cookie

$value : string = ''

Valeur à stocker

$expires_or_options : int|array{expires: int, path: string, domain: string, secure: bool, samesite: string} = 0

int: Date d'expiration du cookie (timestamp) Tableau clé => valeur de l’option

  • expires = 0 : Date d'expiration du cookie (timestamp)
  • path = 'AUTO' : Chemin sur lequel le cookie sera disponible
  • domain = '' : Domaine à partir duquel le cookie est disponible
  • secure = false : cookie sécurisé ou non ?
  • samesite = 'Lax' : valeur samesite (Lax, Strict ou None)
$path : string|null = null

Chemin sur lequel le cookie sera disponible

  • null: SPIP calcule le chemin a partir de l’URL de base du site (ou la constante _COOKIE_PATH si définie)
  • '': PHP calcule de chemin sur le répertoire en cours (comme setcookie())
  • 'chemin/': force un chemin spécifique
  • 'AUTO': comme null (usage déprécié)
$domain : string = ''

Domaine à partir duquel le cookie est disponible

$secure : bool = false

Indique si le cookie doit être envoyé par le navigateur uniquement en connexion HTTPS (true) ou systématiquement (false)

$httponly : bool = false

Indique si le cookie doit être accessible en Javascript (false) ou non (true)

Tags
global

string cookie_prefix Préfixe de cookie défini

link
http://fr.php.net/setcookie
used-by
exec_test_ajax_dist()
Return values
bool

true si le cookie a été posé, false sinon.

Teste si un cookie a déjà été envoyé ou pas

spip_cookie_envoye([bool|string $set = '' ]) : bool

Permet par exemple à redirige_par_entete() de savoir le type de redirection à appliquer (serveur ou navigateur)

Parameters
$set : bool|string = ''

true pour déclarer les cookies comme envoyés

Tags
see
redirige_par_entete()
Return values
bool

recuperer_cookies_spip()

Adapte le tableau PHP `$_COOKIE` pour prendre en compte le préfixe des cookies de SPIP

recuperer_cookies_spip(string $cookie_prefix) : mixed

Si le préfixe des cookies de SPIP est différent de spip alors la fonction modifie les $_COOKIE ayant le préfixe spécifique + '_' pour remettre le préfixe spip_ à la place.

Ainsi les appels dans le code n'ont pas besoin de gérer le préfixe, ils appellent simplement $_COOKIE['spip_xx'] qui sera forcément la bonne donnée.

Parameters
$cookie_prefix : string

Préfixe des cookies de SPIP

exec_test_ajax_dist()

Teste si javascript est supporté par le navigateur et pose un cookie en conséquence

exec_test_ajax_dist() : mixed

Si la valeur d'environnement js arrive avec la valeur

  • -1 c'est un appel via une balise <noscript>.
  • 1 c'est un appel via javascript

Inscrit le résultat dans le cookie spip_accepte_ajax

Tags
see
html_tests_js()
uses
spip_setcookie()

inc_couleurs_dist()

Obtenir ou définir les différents jeux de couleurs de l'espace privé

inc_couleurs_dist([null|int|array<string|int, mixed> $choix = null ][, bool $ajouter = false ]) : array<string|int, mixed>|string
  • Appelée sans argument, cette fonction retourne un tableau décrivant les jeux les couleurs possibles.
  • Avec un argument numérique, elle retourne les paramètres d'URL pour les feuilles de style calculées (cf. formulaire configurer_preferences)
  • Avec un argument de type tableau :
    • soit elle remplace le tableau par défaut par celui donné en argument
    • soit elle le complète, si $ajouter vaut true.
Parameters
$choix : null|int|array<string|int, mixed> = null
$ajouter : bool = false
Tags
see
formulaires_configurer_preferences_charger_dist()
staticvar

array $couleurs_spip

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

analyse_csv()

Retourne les données d'un texte au format CSV

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

Contenu du CSV

Return values
array<string|int, mixed>

Tableau des données en 3 index :

  • Liste des noms des colonnes
  • Liste des valeurs de chaque ligne et chaque colonne
  • Titre du tableau (si une seule colonne)

autosave_clean_value()

Nettoyer les échappements

autosave_clean_value(string $val) : string
Parameters
$val : string
Return values
string

cvtautosave_formulaire_charger()

Repérer une demande de formulaire autosave et la conditionner

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

cvtautosave_formulaire_traiter()

Traitement d'un formulaire ayant activé `autosave`

cvtautosave_formulaire_traiter(array<string|int, mixed> $flux) : array<string|int, mixed>

Quand on poste définitivement un formulaire autosave, on peut vider la session autosave et on vide aussi toutes les autosave de plus de 72H (délai par défaut) ou sans __timestamp (vieilles sessions)

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

cvtconf_formulaire_charger()

Proposer un chargement par defaut pour les #FORMULAIRE_CONFIGURER_XXX

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

cvtconf_formulaire_traiter()

Proposer un traitement par defaut pour les #FORMULAIRE_CONFIGURER_XXX

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

cvtconf_formulaires_configurer_enregistre()

Enregistrer les donnees d'un formulaire $form appele avec les arguments $args Cette fonction peut etre appellee manuellement et explicitement depuis la fonction traiter() d'un formulaire configurer_xxx dont on veut personaliser le traitement sans reecrire le stockage des donnees

cvtconf_formulaires_configurer_enregistre(string $form, array<string|int, mixed> $args) : string
Parameters
$form : string

nom du formulaire "configurer_xxx"

$args : array<string|int, mixed>

arguments de l'appel de la fonction traiter ($args = func_get_args();)

Return values
string

cvtconf_definir_configurer_conteneur()

Définir la règle de conteneur, en fonction de la présence de certaines données

cvtconf_definir_configurer_conteneur(string $form, array<string|int, mixed> $valeurs) : array<string|int, mixed>
  • _meta_table : nom de la table spip_metas ou stocker (par défaut 'meta')
  • _meta_casier : nom du casier dans lequel sérialiser (par défaut xx de formulaire_configurer_xx)
  • _meta_prefixe : préfixer les meta (alternative au casier) dans la table des meta (par defaur rien)
  • _meta_stockage : Méthode externe de stockage. Aucune n'est fournie par le core.
Parameters
$form : string
$valeurs : array<string|int, mixed>
Return values
array<string|int, mixed>

cvtconf_formulaires_configurer_recense()

Retrouver les champs d'un formulaire en parcourant son squelette et en extrayant les balises input, textarea, select

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

cvtconf_configurer_stocker()

Stocker les metas

cvtconf_configurer_stocker(string $form, array<string|int, mixed> $valeurs, array<string|int, mixed> $store) : string
Parameters
$form : string
$valeurs : array<string|int, mixed>
$store : array<string|int, mixed>
Return values
string

cvtconf_configurer_lire_meta()

Lecture en base des metas d'un form

cvtconf_configurer_lire_meta(string $form, array<string|int, mixed> &$valeurs) : mixed
Parameters
$form : string
$valeurs : array<string|int, mixed>

cvtmulti_recuperer_post_precedents()

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

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

cvtmulti_sauver_post()

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

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

cvtmulti_formulaire_charger_etapes()

Charger une etape du cvt multi

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

cvtmulti_formulaire_verifier_etapes()

Verifier les etapes de saisie

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

cvtmulti_styliser()

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

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

inc_definir_menus_favoris_dist()

Retourne la liste des menus favoris par défaut ainsi que leur rang

inc_definir_menus_favoris_dist() : mixed

copie_locale()

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

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

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

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

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

$taille_max : int = null

taille maxi de la copie local, par defaut _COPIE_LOCALE_MAX_SIZE

$callback_valider_url : string = null

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

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

post_edition

used-by
_image_valeurs_trans()

Si l'image est distante

Return values
bool|string

valider_url_distante()

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

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

url/hosts externes connus et acceptes

Return values
false|string

url ou false en cas d'echec

prepare_donnees_post()

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

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

entete,corps

url_to_ascii()

Convertir une URL dont le host est en utf8 en ascii

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

recuperer_url()

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

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

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

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

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

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

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

string file : nom du fichier si enregistre dans un fichier

recuperer_url_cache()

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

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

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

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

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

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

recuperer_body()

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

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

fichier dans lequel copier le contenu de la resource

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

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

recuperer_entetes_complets()

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

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

int status string headers int last_modified string location

nom_fichier_copie_locale()

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

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

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

Parameters
$source : string

URL de la source

$extension : string

Extension du fichier

Tags
note

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

used-by
fichier_copie_locale()
Return values
string

Nom du fichier pour copie locale

fichier_copie_locale()

Donne le nom de la copie locale de la source

fichier_copie_locale(string $source) : string|null

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

Parameters
$source : string

URL de la source distante

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

recuperer_infos_distantes()

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

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

URL de la source

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

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

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

Couples des informations obtenues parmis :

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

distant_trouver_mime_type_selon_headers()

Retrouver un mime type depuis les headers

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

distant_trouver_extension_selon_headers()

Retrouver une extension de fichier depuis les headers

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

need_proxy()

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

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

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

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

init_http()

Initialise une requete HTTP avec entetes

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

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

Parameters
$method : string

HEAD, GET, POST

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

lance_requete()

Lancer la requete proprement dite

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

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

$scheme : string

protocole (http, tls, ftp...)

$user : array<string|int, mixed>

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

$host : string

nom de domaine

$path : string

chemin de la page cherchee

$port : string

port utilise pour la connexion

$noproxy : bool

protocole utilise si requete sans proxy

$refuse_gz : bool = false

refuser la compression GZ

$referer : string = ''

referer

$datas : string = ''

donnees postees

$vers : string = 'HTTP/1.0'

version HTTP

$date : int|string = ''

timestamp pour entente If-Modified-Since

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

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

set_spip_doc()

Donne le chemin du fichier relatif à `_DIR_IMG` pour stockage 'tel quel' dans la base de données

set_spip_doc(string|null $fichier) : string
Parameters
$fichier : string|null
Tags
uses
_DIR_IMG
Return values
string

get_spip_doc()

Donne le chemin complet du fichier

get_spip_doc(string|null $fichier) : bool|string
Parameters
$fichier : string|null
Tags
uses
_DIR_IMG
Return values
bool|string

effacer_repertoire_temporaire()

Efface le répertoire de manière récursive !

effacer_repertoire_temporaire(string $nom) : mixed
Parameters
$nom : string

copier_document()

Copier un document `$source` dans un dossier `IMG/$ext/$orig.$ext` ou `IMG/$subdir/$orig.$ext` si `$subdir` est fourni en numérotant éventuellement si un fichier de même nom existe déjà

copier_document(string $ext, string $orig, string $source[, string $subdir = null ]) : bool|mixed|string
Parameters
$ext : string
$orig : string
$source : string
$subdir : string = null
Return values
bool|mixed|string

deplacer_fichier_upload()

Déplacer ou copier un fichier

deplacer_fichier_upload(string $source, string $dest[, bool $move = false ]) : bool|mixed|string
Parameters
$source : string

Fichier source à copier

$dest : string

Fichier de destination

$move : bool = false
  • true : on déplace le fichier source vers le fichier de destination
  • false : valeur par défaut. On ne fait que copier le fichier source vers la destination.
Tags
uses
_DIR_RACINE
uses
spip_unlink()
Return values
bool|mixed|string

check_upload_error()

Erreurs d'upload

check_upload_error(int $error[, string $msg = '' ][, bool $return = false ]) : bool|string

Renvoie false si pas d'erreur et true s'il n'y a pas de fichier à uploader. Pour les autres erreurs, on affiche le message d'erreur et on arrête l'action.

Parameters
$error : int
$msg : string = ''
$return : bool = false
Tags
link

Explication sur les messages d'erreurs de chargement de fichiers.

uses
propre()
global

string $spip_lang_right

Return values
bool|string

corriger_extension()

Corrige l'extension du fichier dans quelques cas particuliers

corriger_extension(string $ext) : string
Parameters
$ext : string
Tags
note

Une extension 'pdf ' passe dans la requête de contrôle mysql> SELECT * FROM spip_types_documents WHERE extension="pdf ";

todo

À passer dans base/typedoc

Return values
string

lire_tableau_edition()

Retourne le tableau des éléments édités en cours après avoir supprimé les éléments trop vieux (de plus d'une heure) du tableau.

lire_tableau_edition() : array<string|int, mixed>
Tags
uses
ecrire_tableau_edition()
used-by
liste_drapeau_edition()
used-by
debloquer_tous()
used-by
debloquer_edition()
Return values
array<string|int, mixed>

Tableau des éléments édités actuellement, par objet et auteur, du type : [ type d'objet ][id_objet][id_auteur][nom de l'auteur] = time()

signale_edition()

Signale qu'un auteur édite tel objet

signale_edition(int $id, array<string|int, mixed> $auteur[, string $type = 'article' ]) : mixed

Si l'objet est non éditable dans l'espace privé, ne pas retenir le signalement qui correspond à un process unique.

Parameters
$id : int

Identifiant de l'objet

$auteur : array<string|int, mixed>

Session de l'auteur

$type : string = 'article'

Type d'objet édité

Tags
see
lire_tableau_edition()
see
ecrire_tableau_edition()
used-by
liste_objets_bloques()

qui_edite()

Qui édite mon objet ?

qui_edite(int $id[, string $type = 'article' ]) : array<string|int, mixed>
Parameters
$id : int

Identifiant de l'objet

$type : string = 'article'

Type de l'objet

Tags
see
lire_tableau_edition()
Return values
array<string|int, mixed>

Tableau sous la forme ["id_auteur"]["nom de l'auteur"] = time()

mention_qui_edite()

Afficher les auteurs ayant édités récemment l'objet.

mention_qui_edite(int $id[, string $type = 'article' ]) : array<string, string>
Parameters
$id : int

Identifiant de l'objet

$type : string = 'article'

Type de l'objet

Return values
array<string, string>

Liste de tableaux ['nom_auteur_modif' => x|y|z, 'date_diff' => n]

liste_drapeau_edition()

Quels sont les objets en cours d'édition par `$id_auteur` ?

liste_drapeau_edition(int $id_auteur) : array<string|int, mixed>
Parameters
$id_auteur : int

Identifiant de l'auteur

Tags
uses
lire_tableau_edition()
used-by
liste_objets_bloques()
Return values
array<string|int, mixed>

Liste de tableaux ['objet' => x, 'id_objet' => n]

formulaires_editer_objet_traiter()

Effectue les traitements d'un formulaire d'édition d'objet éditorial

formulaires_editer_objet_traiter(string $type[, int|string $id = 'new' ][, int $id_parent = 0 ][, int $lier_trad = 0 ][, string $retour = '' ][, string $config_fonc = 'articles_edit_config' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Exécute une action d'édition spécifique au type d'objet s'il elle existe (fonction action_editer_$type), sinon exécute l'action générique d'édition d'objet (action_editer_objet_dist())

Si une traduction était demandée, crée le lien avec l'objet qui est traduit.

Parameters
$type : string

Type d'objet

$id : int|string = 'new'

Identifiant de l'objet à éditer, 'new' pour un nouvel objet

$id_parent : int = 0

Identifiant de l'objet parent

$lier_trad : int = 0

Identifiant de l'objet servant de source à une nouvelle traduction

$retour : string = ''

URL de redirection après les traitements

$config_fonc : string = 'articles_edit_config'

Nom de fonction appelée au chargement permettant d'ajouter des valeurs de configurations dans l'environnement du formulaire

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

Ligne SQL de l'objet édité, si connu. En absence, les données sont chargées depuis l'objet en base s'il existe ou depuis l'objet source d'une traduction si c'est un nouvel objet (et une traduction).

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés (input hidden) du formulaire.

Tags
see
action_editer_objet_dist()
Return values
array<string|int, mixed>

Retour des traitements.

formulaires_editer_objet_verifier()

Teste les erreurs de validation d'un formulaire d'édition d'objet éditorial

formulaires_editer_objet_verifier(string $type[, int|string $id = 'new' ][, array<string|int, mixed> $oblis = [] ]) : array<string|int, mixed>

La fonction teste que :

  • il n'y a pas de conflit d'édition sur un ou plusieurs champs (c'est à dire que personne d'autre n'a modifié le champ entre le moment où on a saisi et le moment où on a validé le formulaire
  • tous les champs obligatoires (listés dans $oblis) sont remplis.
Parameters
$type : string

Type d'objet

$id : int|string = 'new'

Identifiant de l'objet à éditer, 'new' pour un nouvel objet

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

Liste de champs obligatoires : ils doivent avoir un contenu posté.

Return values
array<string|int, mixed>

Tableau des erreurs

formulaires_editer_objet_charger()

Construit les valeurs de chargement d'un formulaire d'édition d'objet éditorial

formulaires_editer_objet_charger(string $type[, int|string $id = 'new' ][, int|null $id_parent = 0 ][, int $lier_trad = 0 ][, string $retour = '' ][, string $config_fonc = 'articles_edit_config' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

La fonction calcule les valeurs qui seront transmises à l'environnement du formulaire pour son affichage. Ces valeurs sont les champs de l'objet éditorial d'une part, mais aussi d'autres calculant la clé d'action, les pipelines devant faire transiter le contenu HTML du formulaire, ainsi que différents champs cachés utilisés ensuite dans les traitements.

Lorsqu'une création d'objet est demandée, ou lorsqu'on demande une traduction d'un autre, la fonction tente de précharger le contenu de l'objet en utilisant une fonction inc_precharger_{type}_dist permettant par exemple de remplir le contenu avec du texte, notamment avec la traduction source.

Parameters
$type : string

Type d'objet

$id : int|string = 'new'

Identifiant de l'objet à éditer, 'new' pour un nouvel objet

$id_parent : int|null = 0

Identifiant de l'objet parent Si null, le calcule d'après le résultat de la fonction precharger_objet().

$lier_trad : int = 0

Identifiant de l'objet servant de source à une nouvelle traduction

$retour : string = ''

URL de redirection après les traitements

$config_fonc : string = 'articles_edit_config'

Nom de fonction appelée au chargement permettant d'ajouter des valeurs de configurations dans l'environnement du formulaire

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

Ligne SQL de l'objet édité, si connu. En absence, les données sont chargées depuis l'objet en base s'il existe ou depuis l'objet source d'une traduction si c'est un nouvel objet (et une traduction).

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés (input hidden) du formulaire.

Return values
array<string|int, mixed>

Environnement du formulaire.

coupe_trop_long()

Gestion des textes trop longs (limitation brouteurs) utile pour les textes > 32ko

coupe_trop_long(string $texte) : array<string|int, mixed>
Parameters
$texte : string
Return values
array<string|int, mixed>

titre_automatique()

auto-renseigner le titre si il n'existe pas

titre_automatique(string $champ_titre, array<string|int, mixed> $champs_contenu[, int $longueur = null ]) : mixed
Parameters
$champ_titre : string
$champs_contenu : array<string|int, mixed>
$longueur : int = null

inc_titrer_contenu_dist()

Déterminer un titre automatique, à partir des champs textes de contenu

inc_titrer_contenu_dist(array<string|int, mixed> $champs_contenu[, array<string|int, mixed>|null $c = null ][, int $longueur = 50 ]) : string

Les textes et le titre sont pris dans les champs postés (via _request()) et le titre calculé est de même affecté en tant que champ posté.

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

Liste des champs contenu textuels

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

tableau qui contient les valeurs des champs de contenu si null on utilise les valeurs du POST

$longueur : int = 50

Longueur de coupe du texte

Return values
string

controles_md5()

Calcule des clés de contrôles md5 d'un tableau de données.

controles_md5(array<string|int, mixed> $data[, string $prefixe = 'ctr_' ][, string $format = 'html' ]) : string|array<string|int, mixed>

Produit la liste des md5 d'un tableau de données, normalement un tableau des colonnes/valeurs d'un objet éditorial.

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

Couples (colonne => valeur). La valeur est un entier ou un texte.

$prefixe : string = 'ctr_'

Préfixe à appliquer sur les noms des clés de contrôles, devant le nom de la colonne

$format : string = 'html'
  • html : Retourne les contrôles sous forme de input hidden pour un formulaire
  • autre : Retourne le tableau ('$prefixe$colonne => md5)
Return values
string|array<string|int, mixed>
  • string (avec format html) : contrôles dans des input hidden
  • array sinon couples ('$prefixe$colonne => md5)

controler_contenu()

Contrôle les contenus postés d'un objet en vérifiant qu'il n'y a pas de conflit d'édition

controler_contenu(string $type, int $id[, array<string|int, mixed> $options = [] ][, array<string|int, mixed>|bool $c = false ][, string $serveur = '' ]) : bool|null|array<string|int, mixed>

Repère les conflits d'édition sur un ou plusieurs champs. C'est à dire lorsqu'une autre personne a modifié le champ entre le moment où on a édité notre formulaire et le moment où on a validé le formulaire

Parameters
$type : string

Type d'objet

$id : int

Identifiant de l'objet

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

Tableau d'options. Accèpte les index :

  • nonvide : Couples (colonne => valeur par défaut). Tous les champs postés qui sont vides, s'il y en a dans cette option, sont remplacés par la valeur indiquée
  • prefix : Préfixe des clés de contrôles ('ctr_' par défaut). Une clé de controle tel que 'ctr_titre' contient le md5 du titre au moment de l'édition.
$c : array<string|int, mixed>|bool = false

Tableau de couples (colonne=>valeur) à tester. Non renseigné, la fonction prend toutes les colonne de l'objet via _request()

$serveur : string = ''

Nom du connecteur de base de données

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

False si aucun champ posté. Null si aucune modification sur les champs. Tableau vide si aucun de conflit d'édition. Tableau (clé => tableau du conflit). L'index est la colonne en conflit, la valeur un tableau avec 2 index :

  • base : le contenu du champ en base
  • post : le contenu posté

controler_md5()

Contrôle la liste des md5 envoyés, supprime les inchangés, signale les modifiés depuis telle date

controler_md5(array<string|int, mixed> &$champs, array<string|int, mixed> $ctr, string $type, int $id, string $serveur[, string $prefix = 'ctr_' ]) : null|array<string|int, mixed>
Parameters
$champs : array<string|int, mixed>

Couples des champs saisis dans le formulaire (colonne => valeur postée)

$ctr : array<string|int, mixed>

Tableau contenant les clés de contrôles. Couples (clé => md5)

$type : string

Type d'objet

$id : int

Identifiant de l'objet

$serveur : string

Nom du connecteur de base de données

$prefix : string = 'ctr_'

Préfixe des clés de contrôles : le nom du champ est préfixé de cette valeur dans le tableau $ctr pour retrouver son md5.

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

Null si aucun champ ou aucune modification sur les champs Tableau vide si aucune erreur de contrôle. Tableau (clé => tableau du conflit). L'index est la colonne en conflit, la valeur un tableau avec 2 index :

  • base : le contenu du champ en base
  • post : le contenu posté

display_conflit_champ()

Afficher le contenu d'un champ selon sa longueur soit dans un `textarea`, soit dans un `input`

display_conflit_champ(string $x) : string
Parameters
$x : string

texte à afficher

Return values
string

inc_email_valide_dist()

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

inc_email_valide_dist(string $adresses) : bool|string
Parameters
$adresses : string

Adresse ou liste d'adresse (separees pas des virgules)

Return values
bool|string
  • false si une des adresses n'est pas conforme,
  • la normalisation de la dernière adresse donnée sinon

nettoyer_caracteres_mail()

Utiliser le bon encodage de caractères selon le charset

nettoyer_caracteres_mail(string $t) : string

Caractères pris en compte : apostrophe, double guillemet, le tiret cadratin, le tiret demi-cadratin

Parameters
$t : string
Tags
uses
filtrer_entites()
Return values
string

inc_envoyer_mail_dist()

Envoi d'un mail

inc_envoyer_mail_dist(string $destinataire, string $sujet, string|array<string|int, mixed> $corps[, string $from = '' ][, string $headers = '' ]) : bool
Parameters
$destinataire : string
$sujet : string
$corps : string|array<string|int, mixed>
  • au format string, c'est un corps d'email au format texte, comme supporte nativement par le core
  • au format array, c'est un corps etendu qui peut contenir
    • string texte : le corps d'email au format texte
    • string from : email de l'envoyeur (prioritaire sur argument $from de premier niveau, deprecie)
    • array headers : tableau d'en-tetes personalises, une entree par ligne d'en-tete --- Support partiel par une fonction mail_embarquer_pieces_jointes a fournir, --- --- chargee de convertir en texte encodee les pieces jointes ---
    • array pieces_jointes : listes de pieces a embarquer dans l'email, chacune au format array :
      • string chemin : chemin file system pour trouver le fichier a embarquer
      • string nom : nom du document tel qu'apparaissant dans l'email
      • string encodage : encodage a utiliser, parmi 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
      • string mime : mime type du document --- Non implemente ici ---
    • string html : le corps d'email au format html
    • string nom_envoyeur : un nom d'envoyeur pour completer l'email from
    • string cc : destinataires en copie conforme
    • string bcc : destinataires en copie conforme cachee
    • string adresse_erreur : addresse de retour en cas d'erreur d'envoi
$from : string = ''

(deprecie, utiliser l'entree from de $corps)

$headers : string = ''

(deprecie, utiliser l'entree headers de $corps)

Return values
bool

mail_normaliser_headers()

Formater correctement l'entête d'un email

mail_normaliser_headers(string $headers, string $from, string $to, string $texte[, string $parts = '' ]) : array<string|int, mixed>
Parameters
$headers : string
$from : string
$to : string
$texte : string
$parts : string = ''
Return values
array<string|int, mixed>

exif_obtenir_orientation()

Retourne l'EXIF d'orientation d'une image JPEG ou TIFF, si elle en possède bien un.

exif_obtenir_orientation(string $fichier) : int|null
Parameters
$fichier : string
Return values
int|null

exif_determiner_si_portrait()

Détermine si un EXIF d'orientation correspond à une image en mode portrait.

exif_determiner_si_portrait(int|null $orientation) : bool

(cf. https://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/#eh-exif-orientation).

Parameters
$orientation : int|null
Return values
bool

exif_determiner_axe_symetrie()

Détermine l'axe de la symétrie à appliquer sur une image porteuse d'un EXIF d'orientation.

exif_determiner_axe_symetrie(int $orientation) : int|null

En l'état, on renvoie toujours 1 s'il faut appliquer une symétrie, puisque, l'image générée par SPIP étant toujours en mode paysage (, l'axe de la symétrie à appliquer est toujours le même, à savoir horizontal (on n'utilise cependant pas la constante IMG_FLIP_HORIZONTAL fournie par la librairie GD).

Parameters
$orientation : int
Return values
int|null

exif_determiner_angle_rotation()

Détermine l'angle de la rotation à appliquer sur une image porteuse d'un EXIF d'orientation.

exif_determiner_angle_rotation(int $orientation) : int|null
Parameters
$orientation : int
Return values
int|null

exporter_csv_champ()

Exporter un champ pour un export CSV : pas de retour a la ligne, et echapper les guillements par des doubles guillemets

exporter_csv_champ(string $champ) : string
Parameters
$champ : string
Return values
string

exporter_csv_ligne_numerotee()

Exporter une ligne complete au format CSV, avec delimiteur fourni

exporter_csv_ligne_numerotee(int $nb, array<string|int, mixed> $ligne[, string $delim = ',' ][, string|null $importer_charset = null ][, callable|null $callback = null ]) : string
Parameters
$nb : int
$ligne : array<string|int, mixed>
$delim : string = ','
$importer_charset : string|null = null

Si défini exporte dans le charset indiqué

$callback : callable|null = null
Tags
uses
exporter_csv_champ()
Return values
string

inc_exporter_csv_dist()

Exporte une ressource sous forme de fichier CSV

inc_exporter_csv_dist(string $titre, array<string|int, mixed>|resource $resource[, array<string|int, mixed> $options = [] ]) : string

La ressource peut etre un tableau ou une resource SQL issue d'une requete Le nom du fichier est défini en fonction du titre s'il n'est pas indiqué dans les options. L'extension est choisie en fonction du délimiteur si elle n'est pas indiquée dans les options :

  • si on utilise ',' c'est un vrai csv avec extension csv
  • si on utilise ';' ou tabulation c'est pour E*cel, et on exporte en iso-truc, avec une extension .xls
Parameters
$titre : string

Titre utilisé pour nommer le fichier si celui-ci n'est pas indiqué dans les options Il peut s'agir d'un texte contenant de la syntaxe SPIP

$resource : array<string|int, mixed>|resource
$options : array<string|int, mixed> = []
  • (string) fichier : nom du fichier, par défaut défini en fonction du $titre
  • (string) extension : csv | xls, par défaut choisie en fonction du délimiteur
  • (string) delim : , | ; | \t | TAB
  • (array) entetes : tableau d'en-tetes pour nommer les colonnes (genere la premiere ligne)
  • (bool) envoyer : pour envoyer le fichier exporte (permet le telechargement)
  • (string) charset : charset de l'export si different de celui du site
  • (callable) callback : fonction callback a appeler sur chaque ligne pour mettre en forme/completer les donnees
Return values
string

charger_filtre()

Charger un filtre depuis le php

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

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

Parameters
$fonc : string

Nom du filtre

$default : string = 'filtre_identite_dist'

Filtre par défaut

Tags
uses
filtre_identite_dist()

Comme fonction par défaut

Return values
string

Fonction PHP correspondante du filtre

filtre_identite_dist()

Retourne le texte tel quel

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

texte

Tags
used-by
charger_filtre()

Comme fonction par défaut

Return values
string

texte

chercher_filtre()

Cherche un filtre

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

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

  • filtre_F
  • filtre_F_dist
  • F

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

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

Parameters
$fonc : string

Nom du filtre

$default : string|null = null

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

Return values
string

Fonction PHP correspondante du filtre demandé

appliquer_filtre()

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

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

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

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

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

Parameters
$arg : mixed

texte (le plus souvent) sur lequel appliquer le filtre

$filtre : string

Nom du filtre à appliquer

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

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

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

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

see
appliquer_si_filtre()

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

uses
appliquer_filtre_sinon()
Return values
string

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

appliquer_si_filtre()

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

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

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

Parameters
$arg : mixed

texte (le plus souvent) sur lequel appliquer le filtre

$filtre : string

Nom du filtre à appliquer

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

Proche : retourne vide si le filtre est absent

uses
appliquer_filtre_sinon()
Return values
string

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

spip_version()

Retourne la version de SPIP

spip_version() : string

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

Tags
global

string $spip_version_affichee Contient la version de SPIP

uses
version_vcs_courante()

Pour trouver le numéro de révision

Return values
string

Version de SPIP

header_silencieux()

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

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

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

Return values
string

version_vcs_courante()

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

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

Le répertoire à tester

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

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

Tags
retun

string|array|null

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

Pour trouver le numéro de révision

decrire_version_git()

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

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

Chemin du répertoire

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

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

filtrer()

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

filtrer(string $filtre, mixed ...$args) : 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

$args : mixed

Arguments du filtre appelé

Tags
uses
image_filtrer()

Pour un filtre image

uses
chercher_filtre()

Pour un autre filtre

Return values
string

Code HTML retourné par le filtre

trouver_filtre_matrice()

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

trouver_filtre_matrice(string $filtre) : bool

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

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

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

filtre_set()

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

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

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

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

Pile de données

$val : mixed

Valeur à sauver

$key : string

Clé d'enregistrement

$continue : bool = null

True pour retourner la valeur

Tags
example

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

example

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

filtre

filtre_setenv()

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

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

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

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

Valeur à enregistrer

$key : mixed

Nom de la variable

$continue : null|mixed = null

Si présent, retourne la valeur en sortie

Tags
example

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

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

filtre
Return values
string|mixed

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

filtre_sanitize_env()

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

filtre_debug()

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

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

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

Parameters
$val : mixed

La valeur à debugguer

$key : mixed|null = null

Clé pour s'y retrouver

Tags
example

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

example

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

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

Retourne la valeur (sans la modifier).

image_filtrer()

Exécute un filtre image

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

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

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

Applique le filtre demande à chacune des occurrences

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

Liste des arguments :

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

Pour un filtre image

Return values
string

texte qui a reçu les filtres

infos_image()

Retourne les informations d'une image

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

Pour les filtres largeur et hauteur taille_image et poids_image

Parameters
$img : string

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

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

largeur hauteur poids

poids_image()

Retourne les dimensions d'une image

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

Pour les filtres largeur et hauteur

Parameters
$img : string

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

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

largeur hauteur poids

taille_image()

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

largeur()

Retourne la largeur d'une image

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

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

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

Largeur en pixels, NULL ou 0 si aucune image.

hauteur()

Retourne la hauteur d'une image

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

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

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

Hauteur en pixels, NULL ou 0 si aucune image.

corriger_entites_html()

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

corriger_entites_html(string $texte) : string

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

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

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

corriger_toutes_entites_html()

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

corriger_toutes_entites_html(string $texte) : string

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

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

proteger_amp()

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

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

entites_html()

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

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

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

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

Parameters
$texte : string

chaine a echapper

$tout : bool = false

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

$quote : bool = true

Échapper aussi les simples quotes en &#039;

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

supprimer_caracteres_illegaux()

Supprime des caractères illégaux

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

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

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

corriger_caracteres()

Correction de caractères

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

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

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

texte_backend()

Encode du HTML pour transmission XML notamment dans les flux RSS

texte_backend(string|null $texte) : string

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

Parameters
$texte : string|null

texte à transformer

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

texte encodé pour XML

texte_backendq()

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

texte_backendq(string|null $texte) : string

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

Parameters
$texte : string|null

texte à transformer

Tags
uses
texte_backend()
filtre
Return values
string

texte encodé et quote pour XML

supprimer_numero()

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

supprimer_numero(string|null $texte) : string

Supprime 10. dans la chaine 10. Titre

Parameters
$texte : string|null

Texte

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

Pour obtenir le numéro

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

Texte sans son numéro éventuel

recuperer_numero()

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

recuperer_numero(string|null $texte) : string

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

Parameters
$texte : string|null

Texte

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

Pour supprimer le numéro

see
balise_RANG_dist()

Pour obtenir un numéro de titre

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

Numéro de titre, sinon chaîne vide

supprimer_tags()

Suppression basique et brutale de tous les tags

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

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

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

texte ou tableau de textes à échapper

$rempl : string = ''

Inutilisé.

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

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

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

texte ou tableau de textes converti

echapper_tags()

Convertit les chevrons de tag en version lisible en HTML

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

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

Parameters
$texte : string

texte à échapper

$rempl : string = ''

Inutilisé.

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

texte converti

liens_ouvrants()

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

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

texte avec des liens

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

texte avec liens ouvrants

liens_nofollow()

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

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

PtoBR()

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

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

texte à transformer

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

texte sans paraghaphes

majuscules()

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

majuscules(string $texte) : string

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

Parameters
$texte : string

texte

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

texte en majuscule

taille_en_octets()

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

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

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

Parameters
$octets : int

Taille d'un dossier ou fichier en octets

$systeme : string = 'BI'

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

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

Taille affichée de manière humainement lisible

attribut_html()

Rend une chaine utilisable sans dommage comme attribut HTML

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

texte à mettre en attribut

$textebrut : bool = true

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

Tags
example

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

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

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

attribut_url()

Rend une URL utilisable sans dommage comme attribut d'une balise HTML

attribut_url(string|null $texte) : string
Parameters
$texte : string|null

texte à mettre en attribut

Tags
example

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

filtre
Return values
string

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

vider_url()

Vider les URL nulles

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

URL à vérifier et échapper

$entites : bool = true

true pour échapper les entités HTML.

Tags
uses
entites_html()
Return values
string

URL ou chaîne vide

antispam()

Maquiller une adresse e-mail

antispam(string $texte) : string

Remplace @ par 3 caractères aléatoires.

Parameters
$texte : string

Adresse email

Tags
uses
creer_pass_aleatoire()
Return values
string

Adresse email maquillée

filtre_securiser_acces_dist()

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

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

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

Parameters
$id_auteur : int

L'auteur qui demande la page

$cle : string

La clé à tester

$dir : string

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

$op : string = ''

Nom de l'opération éventuelle

$args : string = ''

Nom de l'argument calculé

Tags
example

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

see
bouton_spip_rss()

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

see
afficher_low_sec()

pour calculer une clé valide

uses
verifier_low_sec()
filtre
Return values
bool

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

sinon()

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

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

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

Parameters
$texte : mixed

Contenu de reference a tester

$sinon : mixed = ''

Contenu a retourner si le contenu de reference est vide

Tags
filtre
see
filtre_logique()

pour la compilation du filtre dans un squelette

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

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

Return values
mixed

Retourne $texte, sinon $sinon.

choixsivide()

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

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

La valeur à tester

$vide : mixed

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

$pasvide : mixed

Ce qui est retourné sinon

Tags
example

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

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

choixsiegal()

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

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

La valeur à tester

$a2 : mixed

La valeur de comparaison

$v : mixed

Ce qui est retourné si la comparaison est vraie

$f : mixed

Ce qui est retourné sinon

Tags
example

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

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

filtrer_ical()

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

filtrer_ical(string $texte) : string

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

Parameters
$texte : string
Tags
example

SUMMARY:[(#TITRE|filtrer_ical)]

filtre
Return values
string

post_autobr()

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

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

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

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

Ce par quoi sont remplacés les sauts

Tags
note

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

uses
echappe_html()
uses
echappe_retour()
Return values
string

extraire_idiome()

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

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

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

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

Parameters
$letexte : string
$lang : string = null

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

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

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

Tags
filtre
uses
inc_traduire_dist()
Return values
string

extraire_multi()

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

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

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

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

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

Parameters
$letexte : string
$lang : string = null

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

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

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

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

filtre_initiale()

Calculer l'initiale d'un nom

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

L'initiale en majuscule

unique()

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

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

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

Parameters
$donnee : string

Donnée que l'on souhaite unique

$famille : string = ''

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

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

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

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

Ameliorations possibles :

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

alterner()

Filtre qui alterne des valeurs en fonction d'un compteur

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

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

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

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

Parameters
$i : int

Le compteur

$args : array<string|int, mixed>

Liste des éléments à alterner

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

Une des valeurs en fonction du compteur.

extraire_attribut()

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

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

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

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

texte ou liste de textes dont on veut extraire des balises

$attribut : string

Nom de l'attribut désiré

$complet : bool = false

true pour retourner un tableau avec

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

inserer_attribut()

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

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

Code html de la balise (ou contenant une balise)

$attribut : string

Nom de l'attribut html à modifier

$val : string|null

Valeur de l'attribut à appliquer

$proteger : bool = true

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

$vider : bool = false

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

Tags
example
  • [(#LOGO_ARTICLE|inserer_attribut{class, logo article})]
  • [(#LOGO_ARTICLE|inserer_attribut{alt, #TTTRE|attribut_html|couper{60}})]
  • [(#FICHIER|image_reduire{40}|inserer_attribut{data-description, #DESCRIPTIF})] Laissera les balises HTML de la valeur (ici #DESCRIPTIF) si on n'applique pas le filtre attribut_html dessus.
filtre
link
https://www.spip.net/4294
uses
attribut_html()
uses
extraire_attribut()
used-by
vider_attribut()
used-by
_image_valeurs_trans()
used-by
_image_tag_changer_taille()
used-by
_image_ecrire_tag()
used-by
process_image_reduire()
Return values
string

Code html modifié

vider_attribut()

Supprime un attribut HTML

vider_attribut(string|null $balise, string $attribut) : string
Parameters
$balise : string|null

Code HTML de l'élément

$attribut : string

Nom de l'attribut à enlever

Tags
example

[(#LOGO_ARTICLE|vider_attribut{class})]

filtre
link
https://www.spip.net/4142
uses
inserer_attribut()
see
extraire_attribut()
Return values
string

Code HTML sans l'attribut

modifier_class()

Fonction support pour les filtres |ajouter_class |supprimer_class |commuter_class

modifier_class(string $balise, string|array<string|int, mixed> $class[, string $operation = 'ajouter' ]) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
$operation : string = 'ajouter'
Return values
string

ajouter_class()

Ajoute une ou plusieurs classes sur une balise (si pas deja presentes)

ajouter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
Return values
string

supprimer_class()

Supprime une ou plusieurs classes sur une balise (si presentes)

supprimer_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
Return values
string

commuter_class()

Bascule une ou plusieurs classes sur une balise : ajoutees si absentes, supprimees si presentes

commuter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
$balise : string
$class : string|array<string|int, mixed>
Return values
string

tester_config()

Un filtre pour déterminer le nom du statut des inscrits

tester_config(int|null $id[, string $mode = '' ]) : string
Parameters
$id : int|null
$mode : string = ''
Return values
string

floatstr()

floatstr(mixed $a) : mixed
Parameters
$a : mixed

strize()

strize(mixed $f, mixed $a, mixed $b) : mixed
Parameters
$f : mixed
$a : mixed
$b : mixed

strplus()

strplus(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

strmoins()

strmoins(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

strmult()

strmult(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

strdiv()

strdiv(mixed $a, mixed $b) : mixed
Parameters
$a : mixed
$b : mixed

modulo()

Retourne le modulo 2 nombres

modulo(int $nb, int $mod[, int $add = 0 ]) : int
Parameters
$nb : int
$mod : int
$add : int = 0
Tags
filtre
link
https://www.spip.net/4301
see
mult()
see
div()
example
[(#VAL{28}|modulo{14})]
Return values
int

($nb % $mod) + $add

nom_acceptable()

Vérifie qu'un nom (d'auteur) ne comporte pas d'autres tags que <multi> et ceux volontairement spécifiés dans la constante

nom_acceptable(string $nom) : bool
Parameters
$nom : string

Nom (signature) proposé

Return values
bool
  • false si pas conforme,
  • true sinon

email_valide()

Vérifier la conformité d'une ou plusieurs adresses email (suivant RFC 822)

email_valide(string|array<string|int, mixed> $adresses) : bool|string|array<string|int, mixed>
Parameters
$adresses : string|array<string|int, mixed>

Adresse ou liste d'adresse si on fournit un tableau, il est filtre et la fonction renvoie avec uniquement les adresses email valides (donc possiblement vide)

Return values
bool|string|array<string|int, mixed>
  • false si une des adresses n'est pas conforme,
  • la normalisation de la dernière adresse donnée sinon
  • renvoie un tableau si l'entree est un tableau

afficher_enclosures()

Permet d'afficher un symbole à côté des liens pointant vers les documents attachés d'un article (liens ayant `rel=enclosure`).

afficher_enclosures(string $tags) : string
Parameters
$tags : string

texte

Tags
filtre
link
https://www.spip.net/4134
Return values
string

texte

afficher_tags()

Filtre des liens HTML `<a>` selon la valeur de leur attribut `rel` et ne retourne que ceux là.

afficher_tags(string $tags[, string $rels = 'tag,directory' ]) : string
Parameters
$tags : string

texte

$rels : string = 'tag,directory'

Attribut rel à capturer (ou plusieurs séparés par des virgules)

Tags
filtre
link
https://www.spip.net/4187
Return values
string

Liens trouvés

enclosure2microformat()

Convertir les médias fournis par un flux RSS (podcasts) en liens conformes aux microformats

enclosure2microformat(string $e) : string

Passe un <enclosure url="fichier" length="5588242" type="audio/mpeg"/> au format microformat <a rel="enclosure" href="fichier" ...>fichier</a>.

Peut recevoir un <link ou un <media:content parfois.

Attention : length="zz" devient title="zz", pour rester conforme.

Parameters
$e : string

Tag RSS <enclosure>

Tags
filtre
see
microformat2enclosure()

Pour l'inverse

Return values
string

Tag HTML <a> avec microformat.

microformat2enclosure()

Convertir les liens conformes aux microformats en médias pour flux RSS, par exemple pour les podcasts

microformat2enclosure(string $tags) : string

Passe un texte ayant des liens avec microformat <a rel="enclosure" href="fichier" ...>fichier</a> au format RSS <enclosure url="fichier" ... />.

Parameters
$tags : string

texte HTML ayant des tag <a> avec microformat

Tags
filtre
see
enclosure2microformat()

Pour l'inverse

Return values
string

Tags RSS <enclosure>.

tags2dcsubject()

Créer les éléments ATOM `<dc:subject>` à partir des tags

tags2dcsubject(string $tags) : string

Convertit les liens avec attribut rel="tag" en balise <dc:subject></dc:subject> pour les flux RSS au format Atom.

Parameters
$tags : string

texte

Tags
filtre
Return values
string

Tags RSS Atom <dc:subject>.

extraire_balise()

Retourne la premiere balise html du type demandé

extraire_balise(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, mixed $profondeur = 1 ]) : string|array<string|int, mixed>

Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.

Parameters
$texte : string|array<string|int, mixed>

texte(s) dont on souhaite extraire une balise html

$tag : string = 'a'

Nom de la balise html à extraire

$profondeur : mixed = 1
Tags
example

[(#DESCRIPTIF|extraire_balise{img})]

filtre
link
https://www.spip.net/4289
see
extraire_balises()
note

Attention : les résultats peuvent être incohérents sur des balises imbricables, tel que demander à extraire div dans le texte <div> un <div> mot </div> absent </div>, ce qui retournerait <div> un <div> mot </div> donc.

Return values
string|array<string|int, mixed>
  • Code html de la première occurence de la balise trouvée, sinon chaine vide
  • Tableau de résultats, si tableau en entrée.

extraire_balises()

Extrait toutes les balises html du type demandé

extraire_balises(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>

Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.

Parameters
$texte : string|array<string|int, mixed>

texte(s) dont on souhaite extraire une balise html

$tag : string = 'a'

Nom de la balise html à extraire

$options : array<string|int, mixed> = []

int nb_max : nombre d'occurence maxi à extraire int profondeur : niveau de profondeur d'extraction en cas d'intrication de balises identiques

Tags
example

[(#TEXTE|extraire_balises{img}|implode{" - "})]

filtre
link
https://www.spip.net/5618
see
extraire_balise()
used-by
wrap()
Return values
array<string|int, mixed>
  • Liste des codes html des occurrences de la balise, sinon tableau vide
  • Tableau de résultats, si tableau en entrée.

in_any()

Indique si le premier argument est contenu dans le second

in_any(string $val, array<string|int, mixed>|string $vals[, string $def = '' ]) : string

Cette fonction est proche de in_array() en PHP avec comme principale différence qu'elle ne crée pas d'erreur si le second argument n'est pas un tableau (dans ce cas elle tentera de le désérialiser, et sinon retournera la valeur par défaut transmise).

Parameters
$val : string

Valeur à chercher dans le tableau

$vals : array<string|int, mixed>|string

Tableau des valeurs. S'il ce n'est pas un tableau qui est transmis, la fonction tente de la désérialiser.

$def : string = ''

Valeur par défaut retournée si $vals n'est pas un tableau.

Tags
example

[(#VAL{deux}|in_any{#LISTE{un,deux,trois}}|oui) ... ]

filtre
see
filtre_find()

Assez proche, avec les arguments valeur et tableau inversés.

Return values
string
  • ' ' si la valeur cherchée est dans le tableau
  • '' si la valeur n'est pas dans le tableau
  • $def si on n'a pas transmis de tableau

valeur_numerique()

Retourne le résultat d'une expression mathématique simple

valeur_numerique(string $expr) : int

N'accepte que les *, + et - (à ameliorer si on l'utilise vraiment).

Parameters
$expr : string

Expression mathématique nombre operateur nombre comme 3*2

Tags
filtre
example
valeur_numerique("3*2") retourne 6
Return values
int

Résultat du calcul

regledetrois()

Retourne un calcul de règle de trois

regledetrois(int $a, int $b, int $c) : int
Parameters
$a : int
$b : int
$c : int
Tags
filtre
example
[(#VAL{6}|regledetrois{4,3})] retourne 8
Return values
int

Retourne $a*$b/$c

form_hidden()

Crée des tags HTML input hidden pour chaque paramètre et valeur d'une URL

form_hidden([string|null $action = '' ]) : string

Fournit la suite de Input-Hidden correspondant aux paramètres de l'URL donnée en argument, compatible avec les types_urls

Parameters
$action : string|null = ''

URL

Tags
filtre
link
https://www.spip.net/4286
see
balise_ACTION_FORMULAIRE()

Également pour transmettre les actions à un formulaire

example
[(#ENV{action}|form_hidden)] dans un formulaire
Return values
string

Suite de champs input hidden

filtre_reset()

Retourne la première valeur d'un tableau

filtre_reset(array<string|int, mixed> $array) : mixed|null|false

Plus précisément déplace le pointeur du tableau sur la première valeur et la retourne.

Parameters
$array : array<string|int, mixed>
Tags
example

[(#LISTE{un,deux,trois}|reset)] retourne 'un'

filtre
link
http://php.net/manual/fr/function.reset.php
see
filtre_end()
Return values
mixed|null|false
  • null si $array n'est pas un tableau,
  • false si le tableau est vide
  • la première valeur du tableau sinon.

filtre_end()

Retourne la dernière valeur d'un tableau

filtre_end(array<string|int, mixed> $array) : mixed|null|false

Plus précisément déplace le pointeur du tableau sur la dernière valeur et la retourne.

Parameters
$array : array<string|int, mixed>
Tags
example

[(#LISTE{un,deux,trois}|end)] retourne 'trois'

filtre
link
http://php.net/manual/fr/function.end.php
see
filtre_reset()
Return values
mixed|null|false
  • null si $array n'est pas un tableau,
  • false si le tableau est vide
  • la dernière valeur du tableau sinon.

filtre_push()

Empile une valeur à la fin d'un tableau

filtre_push(array<string|int, mixed> $array, mixed $val) : array<string|int, mixed>|string
Parameters
$array : array<string|int, mixed>
$val : mixed
Tags
example

[(#LISTE{un,deux,trois}|push{quatre}|print)]

filtre
link
https://www.spip.net/4571
link
http://php.net/manual/fr/function.array-push.php
Return values
array<string|int, mixed>|string
  • '' si $array n'est pas un tableau ou si echec.
  • le tableau complété de la valeur sinon.

filtre_find()

Indique si une valeur est contenue dans un tableau

filtre_find(array<string|int, mixed> $array, mixed $val) : bool
Parameters
$array : array<string|int, mixed>
$val : mixed
Tags
example

[(#LISTE{un,deux,trois}|find{quatre}|oui) ... ]

filtre
link
https://www.spip.net/4575
see
in_any()

Assez proche, avec les paramètres tableau et valeur inversés.

Return values
bool
  • false si $array n'est pas un tableau
  • true si la valeur existe dans le tableau, false sinon.

urls_absolues_css()

Passer les url relatives à la css d'origine en url absolues

urls_absolues_css(string $contenu, string $source) : string
Parameters
$contenu : string

Contenu du fichier CSS

$source : string

Chemin du fichier CSS

Tags
uses
suivre_lien()
used-by
url_absolue_css()
used-by
produire_fond_statique()
Return values
string

Contenu avec urls en absolus

direction_css()

Inverse le code CSS (left <--> right) d'une feuille de style CSS

direction_css(string $css[, string $voulue = '' ]) : string

Récupère le chemin d'une CSS existante et :

  1. regarde si une CSS inversée droite-gauche existe dans le meme répertoire
  2. sinon la crée (ou la recrée) dans _DIR_VAR/cache_css/

Si on lui donne à manger une feuille nommée *_rtl.css il va faire l'inverse.

Parameters
$css : string

Chemin vers le fichier CSS

$voulue : string = ''

Permet de forcer le sens voulu (en indiquant ltr, rtl ou un code de langue). En absence, prend le sens de la langue en cours.

Tags
filtre
example
[<link rel="stylesheet" href="(#CHEMIN{css/perso.css}|direction_css)" type="text/css">]
Return values
string

Chemin du fichier CSS inversé

url_absolue_css()

Transforme les urls relatives d'un fichier CSS en absolues

url_absolue_css(string $css) : string

Récupère le chemin d'une css existante et crée (ou recrée) dans _DIR_VAR/cache_css/ une css dont les url relatives sont passées en url absolues

Le calcul n'est pas refait si le fichier cache existe déjà et que la source n'a pas été modifiée depuis.

Parameters
$css : string

Chemin ou URL du fichier CSS source

Tags
uses
recuperer_url()

si l'URL source n'est pas sur le même site

uses
urls_absolues_css()
Return values
string
  • Chemin du fichier CSS transformé (si source lisible et mise en cache réussie)
  • Chemin ou URL du fichier CSS source sinon.

table_valeur()

Récupère la valeur d'une clé donnée dans un tableau (ou un objet).

table_valeur(mixed $table, string $cle[, mixed $defaut = '' ][, bool $conserver_null = false ]) : mixed
Parameters
$table : mixed

Tableau ou objet PHP (ou chaîne serialisée de tableau, ce qui permet d'enchaîner le filtre)

$cle : string

Clé du tableau (ou paramètre public de l'objet) Cette clé peut contenir des caractères / pour sélectionner des sous éléments dans le tableau, tel que sous/element/ici pour obtenir la valeur de $tableau['sous']['element']['ici']

$defaut : mixed = ''

Valeur par defaut retournée si la clé demandée n'existe pas

$conserver_null : bool = false

Permet de forcer la fonction à renvoyer la valeur null d'un index et non pas $defaut comme cela est fait naturellement par la fonction isset. On utilise alors array_key_exists() à la place de isset().

Tags
filtre
link
https://www.spip.net/4572
example
[(#VALEUR|table_valeur{cle/sous/element})]
Return values
mixed

Valeur trouvée ou valeur par défaut.

filtre_match_dist()

Retrouve un motif dans un texte à partir d'une expression régulière

filtre_match_dist(string|null $texte, string|int $expression[, string $modif = 'UuimsS' ][, int $capte = 0 ]) : bool|string

S'appuie sur la fonction preg_match() en PHP

Parameters
$texte : string|null

texte dans lequel chercher

$expression : string|int

Expression régulière de recherche, sans le délimiteur

$modif : string = 'UuimsS'
  • string : Modificateurs de l'expression régulière
  • int : Numéro de parenthèse capturante
$capte : int = 0

Numéro de parenthèse capturante

Tags
example
  • [(#TITRE|match{toto})]
  • [(#TEXTE|match{^ceci$,Uims})]
  • [(#TEXTE|match{truc(...)$, UimsS, 1})] Capture de la parenthèse indiquée
  • [(#TEXTE|match{truc(...)$, 1})] Équivalent, sans indiquer les modificateurs
filtre
link
https://www.spip.net/4299
link

Pour des infos sur preg_match()

Return values
bool|string
  • false : l'expression n'a pas été trouvée
  • true : expression trouvée, mais pas la parenthèse capturante
  • string : expression trouvée.

replace()

Remplacement de texte à base d'expression régulière

replace(string $texte, string $expression[, string $replace = '' ][, string $modif = 'UimsS' ]) : string
Parameters
$texte : string

Texte dans lequel faire le remplacement

$expression : string

Expression régulière

$replace : string = ''

Texte de substitution des éléments trouvés

$modif : string = 'UimsS'

Modificateurs pour l'expression régulière.

Tags
filtre
link
https://www.spip.net/4309
see
match()
example
[(#TEXTE|replace{^ceci$,cela,UimsS})]
Return values
string

Texte

traiter_doublons_documents()

Cherche les documents numerotés dans un texte traite par `propre()`

traiter_doublons_documents(array<string|int, mixed> &$doublons, string $letexte) : string

Affecte la liste des doublons['documents']

Parameters
$doublons : array<string|int, mixed>

Liste des doublons

$letexte : string

Le texte

Return values
string

Le texte

vide()

Filtre vide qui ne renvoie rien

vide(mixed $texte) : string
Parameters
$texte : mixed
Tags
example

[(#CALCUL|vide)] n'affichera pas le résultat du calcul

filtre
Return values
string

Chaîne vide

env_to_params()

Écrit des balises HTML `<param...>` à partir d'un tableau de données tel que `#ENV`

env_to_params(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string

Permet d'écrire les balises <param> à indiquer dans un <object> en prenant toutes les valeurs du tableau transmis.

Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine

Parameters
$env : array<string|int, mixed>|string

Tableau cle => valeur des paramètres à écrire, ou chaine sérialisée de ce tableau

$ignore_params : array<string|int, mixed> = []

Permet de compléter les clés ignorées du tableau.

Tags
example

[(#ENV*|env_to_params)]

filtre
link
https://www.spip.net/4005
Return values
string

Code HTML résultant

env_to_attributs()

Écrit des attributs HTML à partir d'un tableau de données tel que `#ENV`

env_to_attributs(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string

Permet d'écrire des attributs d'une balise HTML en utilisant les données du tableau transmis. Chaque clé deviendra le nom de l'attribut (et la valeur, sa valeur)

Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine

Parameters
$env : array<string|int, mixed>|string

Tableau cle => valeur des attributs à écrire, ou chaine sérialisée de ce tableau

$ignore_params : array<string|int, mixed> = []

Permet de compléter les clés ignorées du tableau.

Tags
example

<embed src='#URL_DOCUMENT' [(#ENV*|env_to_attributs)] width='#GET{largeur}' height='#GET{hauteur}'></embed>

filtre
Return values
string

Code HTML résultant

concat()

Concatène des chaînes

concat(array<string|int, mixed> ...$args) : string
Parameters
$args : array<string|int, mixed>
Tags
filtre
link
https://www.spip.net/4150
example
#TEXTE|concat{texte1,texte2,...}
Return values
string

Chaînes concaténés

charge_scripts()

Retourne le contenu d'un ou plusieurs fichiers

charge_scripts(array<string|int, mixed>|string $files[, bool $script = true ]) : string

Les chemins sont cherchés dans le path de SPIP

Parameters
$files : array<string|int, mixed>|string
  • array : Liste de fichiers
  • string : fichier ou fichiers séparés par |
$script : bool = true
  • si true, considère que c'est un fichier js à chercher javascript/
Tags
see
balise_INCLURE_dist()

La balise #INCLURE peut appeler cette fonction

Return values
string

Contenu du ou des fichiers, concaténé

http_img_variante_svg_si_possible()

Trouver la potentielle variante SVG -xx.svg d'une image -xx.png Cette fonction permet le support multi-version SPIP des plugins qui fournissent une icone PNG et sa variante SVG

http_img_variante_svg_si_possible(string $img_file) : string
Parameters
$img_file : string
Return values
string

http_img_pack()

Produit une balise img avec un champ alt d'office si vide

http_img_pack(string $img, string $alt[, string $atts = '' ][, string $title = '' ][, array<string|int, mixed> $options = [] ]) : string

Attention le htmlentities et la traduction doivent être appliqués avant.

Parameters
$img : string
$alt : string
$atts : string = ''
$title : string = ''
$options : array<string|int, mixed> = []

chemin_image : utiliser chemin_image sur $img fourni, ou non (oui par dafaut) utiliser_suffixe_size : utiliser ou non le suffixe de taille dans le nom de fichier de l'image sous forme -xx.png (pour les icones essentiellement) (oui par defaut) variante_svg_si_possible: utiliser l'image -xx.svg au lieu de -32.png par exemple (si la variante svg est disponible)

Return values
string

http_style_background()

Générer une directive `style='background:url()'` à partir d'un fichier image

http_style_background(string $img[, string $att = '' ][, string $size = null ]) : string
Parameters
$img : string
$att : string = ''
$size : string = null
Return values
string

helper_filtre_balise_img_svg_arguments()

helper_filtre_balise_img_svg_arguments(mixed $alt_or_size, mixed $class_or_size, mixed $size) : mixed
Parameters
$alt_or_size : mixed
$class_or_size : mixed
$size : mixed

helper_filtre_balise_img_svg_size()

helper_filtre_balise_img_svg_size(mixed $img, mixed $size) : mixed
Parameters
$img : mixed
$size : mixed

filtre_balise_img_dist()

Générer une balise HTML `img` à partir d'un nom de fichier et/ou renseigne son alt/class/width/height selon les arguments passés

filtre_balise_img_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string

Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_img)] [(#FICHIER|balise_img{1024})] [(#FICHIER|balise_img{1024x*})] [(#FICHIER|balise_img{1024x640})] [(#FICHIER|balise_img{'un nuage',1024x640})] [(#FICHIER|balise_img{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_img{'@2x','',''})]

Parameters
$img : string

chemin vers un fichier ou balise <img src='...'> (generee par un filtre image par exemple)

$alt : string = ''

texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)

$class : string = null

attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree

$size : string|int = null

taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions

Tags
uses
http_img_pack()
used-by
filtre_balise_img_svg_dist()
Return values
string

Code HTML de la balise IMG

filtre_balise_svg_dist()

Inserer un svg inline http://www.accede-web.com/notices/html-css-javascript/6-images-icones/6-2-svg-images-vectorielles/

filtre_balise_svg_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string

pour l'inserer avec une balise , utiliser le filtre |balise_img

Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_svg{1024x640})] [(#FICHIER|balise_svg{'un nuage',1024x640})] [(#FICHIER|balise_svg{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_svg{'un nuage','@2x',''})]

Parameters
$img : string

chemin vers un fichier ou balise <svg ... >... </svg> deja preparee

$alt : string = ''

texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)

$class : string = null

attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree

$size : string|int = null

taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions

Return values
string

Code HTML de la balise SVG

filtre_balise_img_svg_dist()

Génère une balise HTML `img` ou un `svg` inline suivant le nom du fichier.

filtre_balise_img_svg_dist(mixed $src[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
Parameters
$src : mixed
$alt : string = ''

texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)

$class : string = null

attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree

$size : string|int = null

taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions

Tags
uses
filtre_balise_img_dist()
uses
filtre_balise_svg_dist()
Return values
string

Code HTML de la balise IMG

filtre_info_plugin_dist()

Obtient des informations sur les plugins actifs

filtre_info_plugin_dist(string $plugin, string $type_info[, bool $reload = false ]) : array<string|int, mixed>|string|bool
Parameters
$plugin : string

Préfixe du plugin ou chaîne vide

$type_info : string

Type d'info demandée

$reload : bool = false

true (à éviter) pour forcer le recalcul du cache des informations des plugins.

Tags
filtre
uses
liste_plugin_actifs()

pour connaître les informations affichables

Return values
array<string|int, mixed>|string|bool
  • Liste sérialisée des préfixes de plugins actifs (si $plugin = '')
  • Suivant $type_info, avec $plugin un préfixe
    • est_actif : renvoie true s'il est actif, false sinon
    • x : retourne l'information x du plugin si présente (et plugin actif)
    • tout : retourne toutes les informations du plugin actif

puce_changement_statut()

Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir

puce_changement_statut(int $id_objet, string $statut, int $id_rubrique, string $type[, bool $ajax = false ]) : string
Parameters
$id_objet : int

Identifiant de l'objet

$statut : string

Statut actuel de l'objet

$id_rubrique : int

Identifiant du parent

$type : string

Type d'objet

$ajax : bool = false

Indique s'il ne faut renvoyer que le coeur du menu car on est dans une requete ajax suite à un post de changement rapide

Tags
see
inc_puce_statut_dist()
filtre
Return values
string

Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)

filtre_puce_statut_dist()

Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir

filtre_puce_statut_dist(string $statut, string $objet[, int $id_objet = 0 ][, int $id_parent = 0 ]) : string

Utilisable sur tout objet qui a declaré ses statuts

Parameters
$statut : string

Statut actuel de l'objet

$objet : string

Type d'objet

$id_objet : int = 0

Identifiant de l'objet

$id_parent : int = 0

Identifiant du parent

Tags
example

[(#STATUT|puce_statut{article})] affiche une puce passive [(#STATUT|puce_statut{article,#ID_ARTICLE,#ID_RUBRIQUE})] affiche une puce avec changement rapide

see
inc_puce_statut_dist()
filtre
Return values
string

Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)

encoder_contexte_ajax()

Encoder un contexte pour l'ajax

encoder_contexte_ajax(string|array<string|int, mixed> $c[, string $form = '' ][, string $emboite = null ][, string $ajaxid = '' ]) : string

Encoder le contexte, le signer avec une clé, le crypter avec le secret du site, le gziper si possible.

L'entrée peut-être sérialisée (le #ENV** des fonds ajax et ajax_stat)

Parameters
$c : string|array<string|int, mixed>

contexte, peut etre un tableau serialize

$form : string = ''

nom du formulaire eventuel

$emboite : string = null

contenu a emboiter dans le conteneur ajax

$ajaxid : string = ''

ajaxid pour cibler le bloc et forcer sa mise a jour

Tags
see
decoder_contexte_ajax()
uses
calculer_cle_action()
Return values
string

hash du contexte

decoder_contexte_ajax()

Décoder un hash de contexte pour l'ajax

decoder_contexte_ajax(string $c[, string $form = '' ]) : array<string|int, mixed>|string|bool

Précude inverse de encoder_contexte_ajax()

Parameters
$c : string

hash du contexte

$form : string = ''

nom du formulaire eventuel

Tags
see
encoder_contexte_ajax()
uses
calculer_cle_action()
Return values
array<string|int, mixed>|string|bool
  • array|string : contexte d'environnement, possiblement sérialisé
  • false : erreur de décodage

_xor()

Encrypte ou décrypte un message

_xor(string $message[, null|string $key = null ]) : string
Parameters
$message : string

Message à encrypter ou décrypter

$key : null|string = null

Clé de cryptage / décryptage. Une clé sera calculée si non transmise

Tags
link
http://www.php.net/manual/fr/language.operators.bitwise.php#81358
Return values
string

Message décrypté ou encrypté

url_reponse_forum()

Retourne une URL de réponse de forum (aucune action ici)

url_reponse_forum(string $texte) : string
Parameters
$texte : string
Tags
see
filtre_url_reponse_forum()

du plugin forum (prioritaire)

note

La vraie fonction est dans le plugin forum, mais on évite ici une erreur du compilateur en absence du plugin

Return values
string

url_rss_forum()

retourne une URL de suivi rss d'un forum (aucune action ici)

url_rss_forum(string $texte) : string
Parameters
$texte : string
Tags
see
filtre_url_rss_forum()

du plugin forum (prioritaire)

note

La vraie fonction est dans le plugin forum, mais on évite ici une erreur du compilateur en absence du plugin

Return values
string

lien_ou_expose()

Génère des menus avec liens ou `<strong class='on'>` non clicable lorsque l'item est sélectionné Le parametre $on peut recevoir un selecteur simplifié de type 'a.active' 'strong.active.expose' pour préciser la balise (a, span ou strong uniquement) et la/les classes à utiliser quand on est expose

lien_ou_expose(string $url[, string $libelle = null ][, bool $on = false ][, string $class = '' ][, string $title = '' ][, string $rel = '' ][, string $evt = '' ]) : string
Parameters
$url : string

URL du lien

$libelle : string = null

texte du lien

$on : bool = false

État exposé ou non (génère un lien). Si $on vaut true ou 1 ou ' ', l'etat expose est rendu par un ... Si $on est de la forme span.active.truc par exemple, l'etat expose est rendu par ... Seules les balises a, span et strong sont acceptees dans ce cas

$class : string = ''

classes CSS ajoutées au lien

$title : string = ''

Title ajouté au lien

$rel : string = ''

Attribut rel ajouté au lien

$evt : string = ''

Complement à la balise a pour gérer un événement javascript, de la forme onclick='...'

Tags
filtre
link
https://www.spip.net/4004
example
[(#URL_RUBRIQUE|lien_ou_expose{#TITRE, #ENV{test}|=={en_cours}})]
[(#URL_RUBRIQUE|lien_ou_expose{#TITRE, #ENV{test}|=={en_cours}|?{a.monlien.active}, 'monlien'})]
Return values
string

Code HTML

singulier_ou_pluriel()

Afficher un message "un truc"/"N trucs" Les items sont à indiquer comme pour la fonction _T() sous la forme : "module:chaine"

singulier_ou_pluriel(int $nb, string $chaine_un, string $chaine_plusieurs[, string $var = 'nb' ][, array<string|int, mixed> $vars = [] ]) : string
Parameters
$nb : int

: le nombre

$chaine_un : string

: l'item de langue si $nb vaut un

$chaine_plusieurs : string

: l'item de lanque si $nb >= 2

$var : string = 'nb'

: La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")

$vars : array<string|int, mixed> = []

: Les autres variables nécessaires aux chaines de langues (facultatif)

Return values
string

: la chaine de langue finale en utilisant la fonction _T()

prepare_icone_base()

Fonction de base pour une icone dans un squelette.

prepare_icone_base(string $type, string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string

Il peut s'agir soit d'un simple lien, structure html : <span><a><img><b>texte</b></span>, soit d'un bouton d'action, structure identique au retour de #BOUTON_ACTION.

Parameters
$type : string

'lien' ou 'bouton'

$lien : string

url

$texte : string

texte du lien / alt de l'image

$fond : string

objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

new/del/edit

$class : string = ''

Classes supplémentaires (horizontale, verticale, ajax…)

$javascript : string = ''

code javascript tel que "onclick='...'" par exemple ou texte du message de confirmation s'il s'agit d'un bouton

Return values
string

icone_base()

Crée un lien ayant une icone

icone_base(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
$lien : string

URL du lien

$texte : string

texte du lien

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du lien (edit, new, del)

$class : string = ''

classe CSS, tel que left, right pour définir un alignement

$javascript : string = ''

Javascript ajouté sur le lien

Tags
uses
prepare_icone_base()
used-by
filtre_icone_verticale_dist()
used-by
filtre_icone_horizontale_dist()
used-by
icone_verticale()
used-by
icone_horizontale()
Return values
string

Code HTML du lien

filtre_icone_verticale_dist()

Crée un lien précédé d'une icone au dessus du texte

filtre_icone_verticale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
$lien : string

URL du lien

$texte : string

texte du lien

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du lien (edit, new, del)

$class : string = ''

classe CSS à ajouter, tel que left, right, center pour définir un alignement. Il peut y en avoir plusieurs : left ajax

$javascript : string = ''

Javascript ajouté sur le lien

Tags
uses
icone_base()
see
icone_verticale()

Pour un usage dans un code PHP.

filtre
example
 [(#AUTORISER{voir,groupemots,#ID_GROUPE})
     [(#URL_ECRIRE{groupe_mots,id_groupe=#ID_GROUPE}
        |icone_verticale{<:mots:icone_voir_groupe_mots:>,groupe_mots-24.png,'',left})]
]
Return values
string

Code HTML du lien

filtre_icone_horizontale_dist()

Crée un lien précédé d'une icone horizontale

filtre_icone_horizontale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
$lien : string

URL du lien

$texte : string

texte du lien

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du lien (edit, new, del)

$class : string = ''

classe CSS à ajouter

$javascript : string = ''

Javascript ajouté sur le lien

Tags
uses
icone_base()
see
icone_horizontale()

Pour un usage dans un code PHP.

filtre
example

En tant que filtre dans un squelettes :

[(#URL_ECRIRE{sites}|icone_horizontale{<:sites:icone_voir_sites_references:>,site-24.png})]

[(#AUTORISER{supprimer,groupemots,#ID_GROUPE}|oui)
    [(#URL_ACTION_AUTEUR{supprimer_groupe_mots,#ID_GROUPE,#URL_ECRIRE{mots}}
        |icone_horizontale{<:mots:icone_supprimer_groupe_mots:>,groupe_mots,del})]
]

En tant que filtre dans un code php :

$icone_horizontale=chercher_filtre('icone_horizontale');
$icone = $icone_horizontale(generer_url_ecrire("stats_visites","id_article=$id_article"),
    _T('statistiques:icone_evolution_visites', array('visites' => $visites)),
    "statistique-24.png");
Return values
string

Code HTML du lien

filtre_bouton_action_horizontal_dist()

Crée un bouton d'action intégrant une icone horizontale

filtre_bouton_action_horizontal_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $confirm = '' ]) : string
Parameters
$lien : string

URL de l'action

$texte : string

texte du bouton

$fond : string

Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)

$fonction : string = ''

Fonction du bouton (edit, new, del)

$class : string = ''

classes à ajouter au bouton, à l'exception de ajax qui est placé sur le formulaire.

$confirm : string = ''

Message de confirmation à ajouter en javascript sur le bouton

Tags
uses
prepare_icone_base()
filtre
example
[(#URL_ACTION_AUTEUR{supprimer_mot, #ID_MOT, #URL_ECRIRE{groupe_mots,id_groupe=#ID_GROUPE}}
    |bouton_action_horizontal{<:mots:info_supprimer_mot:>,mot-24.png,del,#ARRAY{bouton,btn_large}})]
Return values
string

Code HTML du lien

filtre_explode_dist()

Explose un texte en tableau suivant un séparateur

filtre_explode_dist(string $a, string $b) : array<string|int, mixed>
Parameters
$a : string

texte

$b : string

Séparateur

Tags
note

Inverse l'écriture de la fonction PHP de même nom pour que le filtre soit plus pratique dans les squelettes

filtre
example
[(#GET{truc}|explode{-})]
Return values
array<string|int, mixed>

Liste des éléments

filtre_implode_dist()

Implose un tableau en chaine en liant avec un séparateur

filtre_implode_dist(array<string|int, mixed> $a, string $b) : string
Parameters
$a : array<string|int, mixed>

Tableau

$b : string

Séparateur

Tags
note

Inverse l'écriture de la fonction PHP de même nom pour que le filtre soit plus pratique dans les squelettes

filtre
example
[(#GET{truc}|implode{-})]
Return values
string

texte

bando_images_background()

Produire les styles privés qui associent item de menu avec icone en background

bando_images_background() : string
Return values
string

Code CSS

bouton_action()

Générer un bouton_action utilisé par #BOUTON_ACTION

bouton_action(string $libelle, string $url[, string $class = '' ][, string $confirm = '' ][, string $title = '' ][, string $callback = '' ]) : string
Parameters
$libelle : string

Libellé du bouton

$url : string

URL d'action sécurisée, généralement obtenue avec generer_action_auteur()

$class : string = ''

Classes à ajouter au bouton, à l'exception de ajax qui est placé sur le formulaire.

$confirm : string = ''

Message de confirmation oui/non avant l'action

$title : string = ''

Attribut title à ajouter au bouton

$callback : string = ''

Callback js a appeler lors de l'évènement action et avant execution de l'action (ou après confirmation éventuelle si $confirm est non vide). Si la callback renvoie false, elle annule le déclenchement de l'action.

Return values
string

generer_objet_info()

Donner n'importe quelle information sur un objet de maniere generique.

generer_objet_info(int|string|null $id_objet, string $type_objet, string $info[, string $etoile = '' ][, array<string|int, mixed> $params = [] ]) : string

La fonction va gerer en interne deux cas particuliers les plus utilises : l'URL et le titre (qui n'est pas forcemment le champ SQL "titre").

On peut ensuite personnaliser les autres infos en creant une fonction generer_objet_<nom_info>($id_objet, $type_objet, $ligne). $ligne correspond a la ligne SQL de tous les champs de l'objet, les fonctions de personnalisation n'ont donc pas a refaire de requete.

Parameters
$id_objet : int|string|null
$type_objet : string
$info : string
$etoile : string = ''
$params : array<string|int, mixed> = []

Tableau de paramètres supplémentaires transmis aux fonctions generer_xxx

Tags
used-by
balise_INFO__dist()
Return values
string

generer_objet_introduction()

Fonction privée pour donner l'introduction d'un objet de manière générique.

generer_objet_introduction(int $id_objet, string $type_objet, array<string|int, mixed> $ligne_sql[, int $introduction_longueur = null ][, int|string $longueur_ou_suite = null ][, string $suite = null ][, string $connect = '' ]) : string

Cette fonction est mutualisée entre les balises #INTRODUCTION et #INFO_INTRODUCTION. Elle se charge de faire le tri entre descriptif, texte et chapo, et normalise les paramètres pour la longueur et la suite. Ensuite elle fait appel au filtre 'introduction' qui construit celle-ci à partir de ces données.

Parameters
$id_objet : int

Numéro de l'objet

$type_objet : string

Type d'objet

$ligne_sql : array<string|int, mixed>

Ligne SQL de l'objet avec au moins descriptif, texte et chapo

$introduction_longueur : int = null

Longueur de l'introduction donnée dans la description de la table l'objet

$longueur_ou_suite : int|string = null

Longueur de l'introduction OU points de suite si on coupe

$suite : string = null

Points de suite si on coupe

$connect : string = ''

Nom du connecteur à la base de données

Tags
uses
filtre_introduction_dist()
see
generer_info_entite()
see
balise_INTRODUCTION_dist()
used-by
balise_INTRODUCTION_dist()
Return values
string

appliquer_traitement_champ()

Appliquer a un champ SQL le traitement qui est configure pour la balise homonyme dans les squelettes

appliquer_traitement_champ(string $texte, string $champ[, string $table_objet = '' ][, array<string|int, mixed> $env = [] ][, string $connect = '' ]) : string
Parameters
$texte : string
$champ : string
$table_objet : string = ''
$env : array<string|int, mixed> = []
$connect : string = ''
Return values
string

generer_objet_lien()

Generer un lien (titre clicable vers url) vers un objet

generer_objet_lien(int $id_objet, string $objet[, int $longueur = 80 ][, null|string $connect = '' ]) : string
Parameters
$id_objet : int
$objet : string
$longueur : int = 80
$connect : null|string = ''
Return values
string

wrap()

Englobe (Wrap) un texte avec des balises

wrap(string $texte, string $wrap) : string
Parameters
$texte : string
$wrap : string
Tags
example

wrap('mot','<b>') donne <b>mot</b>'

filtre
uses
extraire_balises()
Return values
string

filtre_print_dist()

afficher proprement n'importe quoi On affiche in fine un pseudo-yaml qui premet de lire humainement les tableaux et de s'y reperer

filtre_print_dist(mixed $u[, string $join = '<br>' ][, int $indent = 0 ]) : array<string|int, mixed>|mixed|string

Les textes sont retournes avec simplement mise en forme typo

le $join sert a separer les items d'un tableau, c'est en general un \n ou
selon si on fait du html ou du texte les tableaux-listes (qui n'ont que des cles numeriques), sont affiches sous forme de liste separee par des virgules : c'est VOULU !

Parameters
$u : mixed
$join : string = '<br>'
$indent : int = 0
Return values
array<string|int, mixed>|mixed|string

objet_info()

Renvoyer l'info d'un objet telles que definies dans declarer_tables_objets_sql

objet_info(string $objet, string $info) : string|array<string|int, mixed>
Parameters
$objet : string
$info : string
Return values
string|array<string|int, mixed>

objet_afficher_nb()

Filtre pour afficher 'Aucun truc' ou '1 truc' ou 'N trucs' avec la bonne chaîne de langue en fonction de l'objet utilisé

objet_afficher_nb(int $nb, string $objet) : mixed|string
Parameters
$nb : int

Nombre d'éléments

$objet : string

Objet

Return values
mixed|string

texte traduit du comptage, tel que '3 articles'

objet_icone()

Filtre pour afficher l'img icone d'un objet

objet_icone(string $objet[, int $taille = 24 ][, string $class = '' ]) : string
Parameters
$objet : string
$taille : int = 24
$class : string = ''
Return values
string

objet_T()

Renvoyer une traduction d'une chaine de langue contextuelle à un objet si elle existe, la traduction de la chaine generique

objet_T(string $objet, string $chaine[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string

Ex : [(#ENV{objet}|objet_label{trad_reference})] va chercher si une chaine objet:trad_reference existe et renvoyer sa trad le cas echeant sinon renvoie la trad de la chaine trad_reference Si la chaine fournie contient un prefixe il est remplacé par celui de l'objet pour chercher la chaine contextuelle

Les arguments $args et $options sont ceux de la fonction _T

Parameters
$objet : string
$chaine : string
$args : array<string|int, mixed> = []
$options : array<string|int, mixed> = []
Return values
string

insert_head_css_conditionnel()

Fonction de secours pour inserer le head_css de facon conditionnelle

insert_head_css_conditionnel(string $flux) : string

Appelée en filtre sur le squelette qui contient #INSERT_HEAD, elle vérifie l'absence éventuelle de #INSERT_HEAD_CSS et y suplée si besoin pour assurer la compat avec les squelettes qui n'utilisent pas.

Parameters
$flux : string

Code HTML

Return values
string

Code HTML

produire_fond_statique()

Produire un fichier statique à partir d'un squelette dynamique

produire_fond_statique(string $fond[, array<string|int, mixed> $contexte = [] ][, array<string|int, mixed> $options = [] ][, string $connect = '' ]) : string

Permet ensuite à Apache de le servir en statique sans repasser par spip.php à chaque hit sur le fichier.

Formats supportés : html, css, js, json, xml, svg

Si le format est passé dans contexte['format'], on l'utilise sinon on regarde l'extension du fond, sinon on utilise "html"

Parameters
$fond : string
$contexte : array<string|int, mixed> = []
$options : array<string|int, mixed> = []
$connect : string = ''
Tags
uses
urls_absolues_css()
Return values
string

timestamp()

Ajouter un timestamp a une url de fichier [(#CHEMIN{monfichier}|timestamp)]

timestamp(string $fichier) : string
Parameters
$fichier : string

Le chemin du fichier sur lequel on souhaite ajouter le timestamp

Return values
string

$fichier auquel on a ajouté le timestamp

supprimer_timestamp()

Supprimer le timestamp d'une url

supprimer_timestamp(string $url) : string
Parameters
$url : string
Return values
string

filtre_nettoyer_titre_email_dist()

Nettoyer le titre d'un email

filtre_nettoyer_titre_email_dist(string $titre) : string

Éviter une erreur lorsqu'on utilise |nettoyer_titre_email dans un squelette de mail

Parameters
$titre : string
Tags
filtre
uses
nettoyer_titre_email()
Return values
string

filtre_chercher_rubrique_dist()

Afficher le sélecteur de rubrique

filtre_chercher_rubrique_dist(string $titre, int $id_objet, int $id_parent, string $objet, int $id_secteur, bool $restreint[, bool $actionable = false ][, bool $retour_sans_cadre = false ]) : string

Il permet de placer un objet dans la hiérarchie des rubriques de SPIP

Parameters
$titre : string
$id_objet : int
$id_parent : int
$objet : string
$id_secteur : int
$restreint : bool
$actionable : bool = false

true : fournit le selecteur dans un form directement postable

$retour_sans_cadre : bool = false
Tags
uses
chercher_rubrique()
Return values
string

sinon_interdire_acces()

Rediriger une page suivant une autorisation, et ce, n'importe où dans un squelette, même dans les inclusions.

sinon_interdire_acces([bool $ok = false ][, string $url = '' ][, int $statut = 0 ][, string $message = null ]) : string|void

En l'absence de redirection indiquée, la fonction redirige par défaut sur une 403 dans l'espace privé et 404 dans l'espace public.

Parameters
$ok : bool = false

Indique si l'on doit rediriger ou pas

$url : string = ''

Adresse eventuelle vers laquelle rediriger

$statut : int = 0

Statut HTML avec lequel on redirigera

$message : string = null

message d'erreur

Tags
example
[(#AUTORISER{non}|sinon_interdire_acces)]
[(#AUTORISER{non}|sinon_interdire_acces{#URL_PAGE{login}, 401})]
filtre
Return values
string|void

Chaîne vide si l'accès est autorisé

filtre_compacte_dist()

Assurer le fonctionnement de |compacte meme sans l'extension compresseur

filtre_compacte_dist(string $source[, null|string $format = null ]) : string
Parameters
$source : string
$format : null|string = null
Return values
string

spip_affiche_mot_de_passe_masque()

Afficher partiellement un mot de passe que l'on ne veut pas rendre lisible par un champ hidden

spip_affiche_mot_de_passe_masque(string|null $passe[, bool $afficher_partiellement = false ][, int|null $portion_pourcent = null ]) : string
Parameters
$passe : string|null
$afficher_partiellement : bool = false
$portion_pourcent : int|null = null
Return values
string

identifiant_slug()

Cette fonction permet de transformer un texte clair en nom court pouvant servir d'identifiant, class, id, url... en ne conservant que des caracteres alphanumeriques et un separateur

identifiant_slug(string $texte[, string $type = '' ][, array<string|int, mixed> $options = [] ]) : string
Parameters
$texte : string

texte à transformer en nom machine

$type : string = ''
$options : array<string|int, mixed> = []

string separateur : par défaut, un underscore _. int longueur_maxi : par defaut 60 int longueur_mini : par defaut 0

Return values
string

label_nettoyer()

Prépare un texte pour un affichage en label ou titre

label_nettoyer(string $text[, bool $ucfirst = true ]) : string

Enlève un ':' à la fin d'une chaine de caractère, ainsi que les espaces qui pourraient l'accompagner, Met la première lettre en majuscule (par défaut)

Utile afficher dans un contexte de titre des chaines de langues qui contiennent des ':'

Parameters
$text : string
$ucfirst : bool = true
Tags
note

Les chaines de langues (historiques) de SPIP contiennent parfois des ':', parfois pas. Les fonctions label_nettoyer et label_ponctuer permettent de choisir l'une ou l'autre selon le contexte. Il convient dans les chaines de langues de labels de préférer les écritures sans ':'.

see
label_ponctuer()
exemple

<:info_maximum|label_nettoyer:>

used-by
label_ponctuer()
Return values
string

label_ponctuer()

Prépare un texte pour un affichage en label ou titre en ligne, systématiquement avec ' :' à la fin

label_ponctuer(string $text[, bool $ucfirst = true ]) : string

Ajoute ' :' aux chaines qui n'en ont pas (ajoute le caractère adapté à la langue utilisée). Passe la première lettre en majuscule par défaut.

Parameters
$text : string
$ucfirst : bool = true
Tags
uses
label_nettoyer()
exemple

<:info_maximum|label_ponctuer:>

Return values
string

helper_filtre_objet_lister_enfants_ou_parents()

Helper pour les filtres associés aux fonctions objet_lister_(parents|enfants)(_par_type)?

helper_filtre_objet_lister_enfants_ou_parents(string $objet, int|string $id_objet, mixed $fonction) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
$fonction : mixed
Return values
array<string|int, mixed>

filtre_objet_lister_parents_dist()

Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents{#OBJET})]

filtre_objet_lister_parents_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_parents()
Return values
array<string|int, mixed>

filtre_objet_lister_parents_par_type_dist()

Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents_par_type{#OBJET})]

filtre_objet_lister_parents_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_parents_par_type()
Return values
array<string|int, mixed>

filtre_objet_lister_enfants_dist()

Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants{#OBJET})]

filtre_objet_lister_enfants_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_enfants()
Return values
array<string|int, mixed>

filtre_objet_lister_enfants_par_type_dist()

Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants_par_type{#OBJET})]

filtre_objet_lister_enfants_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
$objet : string
$id_objet : int|string
Tags
see
objet_lister_enfants_par_type()
Return values
array<string|int, mixed>

filtre_propre_dist()

Filtre `propre()` pour les squelettes

filtre_propre_dist(mixed &$Pile, mixed $texte) : mixed

Permet d'envoyer l’environnement au filtre propre Dans l'espace privé il faut

  • renseigner le $env['espace_prive'] a true
  • passer interdire_scripts() en sortie
Parameters
$Pile : mixed
$texte : mixed

balise_ALERTE_MESSAGE_dist()

Compile la balise `#ALERTE_MESSAGE` produisant le HTML d'un message d'alerte complet.

balise_ALERTE_MESSAGE_dist(Champ $p) : Champ
Parameters
$p : Champ

Pile au niveau de la balise

Tags
note

Produit par défaut une alerte avec la classe notice et le role alert, sauf si on passe des chaînes vides en param. Cela permet par exemple de retirer le rôle dans certains cas précis.

balise
example
#ALERTE_MESSAGE{message[,titre][,classes][,role][,id]}
[(#ALERTE_MESSAGE{<:chaine_langue:>, <:chaine_langue:>, notice, status, mon_alerte})]
Return values
Champ

Pile complétée par le code à générer

balise_ALERTE_OUVRIR_dist()

Compile la balise `#ALERTE_OUVRIR` produisant le HTML ouvrant d'un message d’alerte

balise_ALERTE_OUVRIR_dist(Champ $p) : Champ

Doit être suivie du texte de l'alerte, puis de la balise #ALERTE_FERMER.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
note

Produit par défaut une alerte avec la classe notice et le role alert, sauf si on passe des chaînes vides en param. Cela permet par exemple de ne pas mettre de rôle dans certains cas précis.

balise
see
balise_ALERTE_FERMER_dist()

Pour clôturer une alerte

example
#ALERTE_OUVRIR{titre[,classes][,role][,id]}
[(#ALERTE_OUVRIR{<:chaine_langue:>, notice, status, mon_alerte})]
Return values
Champ

Pile complétée par le code à générer

balise_ALERTE_FERMER_dist()

Compile la balise `#ALERTE_FERMER` produisant le HTML clôturant un message d’alerte

balise_ALERTE_FERMER_dist(Champ $p) : Champ

Doit être précédée du texte de l'alerte et de la balise #ALERTE_OUVRIR.

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_ALERTE_OUVRIR_dist()

Pour ouvrir une alerte

example
#ALERTE_FERMER
Return values
Champ

Pile complétée par le code à générer

message_alerte()

Générer un message d’alerte

message_alerte(string $texte[, string $titre = null ][, string $class = null ][, string $role = null ][, string $id = null ]) : string

Peut-être surchargé par filtre_message_alerte_dist ou filtre_message_alerte

Parameters
$texte : string

Contenu de l'alerte

$titre : string = null

Titre de l'alerte : texte simple, ou autre.

$class : string = null

Classes CSS ajoutées au conteneur Doit contenir le type : notice, error, success, info Défaut = notice (sauf en cas de chaîne vide)

$role : string = null

Attribut role ajouté au conteneur : alert ou status, selon l'importance Défaut = alert (sauf en cas de chaîne vide)

$id : string = null

Identifiant HTML du conteneur

Tags
note

Produit par défaut une alerte avec la classe notice et le rôle alert, sauf si on passe des chaînes vides en param (compat balises). Cela permet par exemple de ne pas mettre de rôle dans certains cas précis.

filtre
see
balise_ALERTE_dist()

qui utilise ce filtre

see
message_alerte_ouvrir()
see
message_alerte_fermer()
Return values
string

HTML de l'alerte

message_alerte_ouvrir()

Ouvrir un message d’alerte

message_alerte_ouvrir([string $titre = null ][, string $class = null ][, string $role = null ][, string $id = null ]) : string

Peut-être surchargé par filtre_message_alerte_ouvrir_dist ou filtre_message_alerte_ouvrir

Parameters
$titre : string = null

Titre de l'alerte : texte simple, ou autre.

$class : string = null

Classes CSS ajoutées au conteneur Doit contenir le type : notice, error, success, info Défaut = notice (sauf en cas de chaîne vide)

$role : string = null

Attribut role ajouté au conteneur : alert ou status, selon l'importance Défaut = alert (sauf en cas de chaîne vide)

$id : string = null

Identifiant HTML du conteneur

Tags
note

Produit par défaut une alerte avec la classe notice et le role alert, sauf si on passe des chaînes vides en param (compat balises). Cela permet par exemple de ne pas mettre de rôle dans certains cas précis.

filtre
see
balise_ALERTE_OUVRIR_dist()

qui utilise ce filtre

Return values
string

HTML d'ouverture de l'alerte

message_alerte_fermer()

Fermer un message d’alerte

message_alerte_fermer() : string

Peut-être surchargé par filtre_message_alerte_fermer_dist ou filtre_message_alerte_fermer

Tags
filtre
see
balise_ALERTE_FERMER_dist()

qui utilise ce filtre

Return values
string

HTML de fin de l'alerte

balise_BOITE_OUVRIR_dist()

Compile la balise `#BOITE_OUVRIR` ouvrant une boîte de contenu

balise_BOITE_OUVRIR_dist(Champ $p) : Champ

Racourci pour ouvrir une boîte (info, simple, pour noisette ...)

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_BOITE_PIED_dist()

Pour passer au pied de boîte

see
balise_BOITE_FERMER_dist()

Pour fermer une boîte

example
#BOITE_OUVRIR{titre[,type]}
[(#BOITE_OUVRIR{<:titre_cadre_interieur_rubrique:>,simple})]
#BOITE_OUVRIR{'',raccourcis}
Return values
Champ

Pile complétée par le code à générer

balise_BOITE_PIED_dist()

Compile la balise `#BOITE_PIED` cloturant une boîte de contenu

balise_BOITE_PIED_dist(Champ $p) : Champ

Racourci pour passer au pied de la boite, avant sa fermeture. On peut lui transmettre une classe CSS avec #BOITE_PIED{class}

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_BOITE_OUVRIR_dist()

Pour ouvrir une boîte

see
balise_BOITE_FERMER_dist()

Pour fermer une boîte

Return values
Champ

Pile complétée par le code à générer

balise_BOITE_FERMER_dist()

Compile la balise `#BOITE_FERMER` clôturant une boîte de contenu

balise_BOITE_FERMER_dist(Champ $p) : Champ

Racourci pour fermer une boîte ouverte

Parameters
$p : Champ

Pile au niveau de la balise

Tags
balise
see
balise_BOITE_OUVRIR_dist()

Pour ouvrir une boîte

see
balise_BOITE_PIED_dist()

Pour passer au pied de boîte

Return values
Champ

Pile complétée par le code à générer

boite_ouvrir()

Ouvrir une boîte

boite_ouvrir(string $titre[, string $class = '' ][, string $head_class = '' ][, string $id = '' ]) : string

Peut-être surchargé par filtre_boite_ouvrir_dist ou filtre_boite_ouvrir

Parameters
$titre : string

Titre de la boîte

$class : string = ''

Classes CSS de la boîte

$head_class : string = ''

Classes CSS sur l'entête

$id : string = ''

Identifiant HTML de la boîte

Tags
filtre
see
balise_BOITE_OUVRIR_dist()

qui utilise ce filtre

Return values
string

HTML du début de la boîte

boite_pied()

Passer au pied d'une boîte

boite_pied([string $class = 'act' ]) : string

Peut-être surchargé par filtre_boite_pied_dist ou filtre_boite_pied

Parameters
$class : string = 'act'

Classes CSS de la boîte

Tags
filtre
see
balise_BOITE_PIED_dist()

qui utilise ce filtre

Return values
string

HTML de transition vers le pied de la boîte

boite_fermer()

Fermer une boîte

boite_fermer() : string

Peut-être surchargé par filtre_boite_fermer_dist ou filtre_boite_fermer

Tags
filtre
see
balise_BOITE_FERMER_dist()

qui utilise ce filtre

Return values
string

HTML de fin de la boîte

normaliser_date()

Normaliser une date vers le format datetime (Y-m-d H:i:s)

normaliser_date(string $date[, bool $forcer_jour = false ]) : string
Parameters
$date : string

La date à normaliser

$forcer_jour : bool = false

true pour forcer à indiquer un jour et mois (01) s'il n'y en a pas.

Tags
note

Si elle vient du contexte (public/parametrer.php), on force le jour

filtre
link
https://www.spip.net/5518
uses
vider_date()
Return values
string
  • une date au format datetime
  • une chaîne vide si la date est considérée nulle

vider_date()

Enlève une date considérée comme vide

vider_date(string $letexte[, bool $verif_format_date = false ]) : string
Parameters
$letexte : string
$verif_format_date : bool = false
Tags
used-by
normaliser_date()
Return values
string
  • La date entrée (si elle n'est pas considérée comme nulle)
  • Une chaine vide

recup_heure()

Retrouve à partir d'une chaîne les valeurs heures, minutes, secondes.

recup_heure(string $date) : array<string|int, mixed>

Les formats 11:29:55 ou 11:29 sont autorisés.

Parameters
$date : string

Chaîne de date contenant éventuellement un horaire

Return values
array<string|int, mixed>
  • [heures, minutes, secondes] si format horaire autorisé
  • [0, 0, 0] sinon

heures_minutes()

Retourne l'horaire (avec minutes) d'une date, tel que `12h36min`

heures_minutes(string $numdate[, string $forme = '' ]) : string
Parameters
$numdate : string

La date à extraire

$forme : string = ''

.

  • si vide, précise l'unité des minutes : 12h10min
  • si 'abbr' ne précise pas l'unité des minutes : 12h10
Tags
note

Le format de retour varie selon la langue utilisée.

filtre
link
https://www.spip.net/5519
Return values
string

L'heure formatée dans la langue en cours.

recup_date()

Retrouve à partir d'une date les valeurs année, mois, jour, heures, minutes, secondes

recup_date(string $numdate[, bool $forcer_jour = true ]) : array<string|int, mixed>

Annee, mois, jour sont retrouvés si la date contient par exemple :

  • '03/11/2015', '3/11/15'
  • '2015-11-04', '2015-11-4'
  • '2015-11'

Dans ces cas, les heures, minutes, secondes sont retrouvés avec recup_heure()

Annee, mois, jour, heures, minutes, secondes sont retrouvés si la date contient par exemple :

  • '20151104111420'
Parameters
$numdate : string

La date à extraire

$forcer_jour : bool = true

True pour tout le temps renseigner un jour ou un mois (le 1) s'il ne sont pas indiqués dans la date.

Tags
uses
recup_heure()
used-by
affdate_heure()
used-by
date_ical()
used-by
date_iso()
used-by
date_822()
Return values
array<string|int, mixed>

[année, mois, jour, heures, minutes, secondes] ou []

date_interface()

Retourne une date relative si elle est récente, sinon une date complète

date_interface(string $date[, int $decalage_maxi = 43200 ]) : string

En fonction de la date transmise, peut retourner par exemple :

  • «il y a 3 minutes»,
  • «il y a 11 heures»,
  • «10 mai 2015 à 10h23min»
Parameters
$date : string

La date fournie

$decalage_maxi : int = 43200

Durée écoulée, en secondes, à partir de laquelle on bascule sur une date complète. Par défaut +/- 12h.

Tags
example

[(#DATE|date_interface)]

filtre
link
https://www.spip.net/5520
uses
date_relative()
uses
affdate_heure()

utilisé si le décalage est trop grand

Return values
string

La date relative ou complète

date_relative()

Retourne une date relative (passée ou à venir)

date_relative(string $date[, int $decalage_maxi = 0 ][, string $ref_date = null ]) : string

En fonction de la date transmise ainsi que de la date de référence (par défaut la date actuelle), peut retourner par exemple :

  • «il y a 3 minutes»,
  • «il y a 2 semmaines»,
  • «dans 1 semaine»
Parameters
$date : string

La date fournie

$decalage_maxi : int = 0

Durée écoulée, en secondes, au delà de laquelle on ne retourne pas de date relative Indiquer 0 (par défaut) pour ignorer.

$ref_date : string = null

La date de référence pour le calcul relatif, par défaut la date actuelle

Tags
example
  • [(#DATE|date_relative)]
  • [(#DATE|date_relative{43200})]
  • [(#DATE|date_relative{0, #AUTRE_DATE})] Calcul relatif à une date spécifique
filtre
link
https://www.spip.net/4277
used-by
date_interface()
used-by
date_relativecourt()
Return values
string
  • La date relative
  • "" si pas de date ou si elle dépasse le décalage maximum indiqué.

date_relativecourt()

Retourne une date relative courte (passée ou à venir)

date_relativecourt(string $date[, int $decalage_maxi = 0 ]) : string

Retourne «hier», «aujourd'hui» ou «demain» si la date correspond, sinon utilise date_relative()

Parameters
$date : string

La date fournie

$decalage_maxi : int = 0

Durée écoulée, en secondes, au delà de laquelle on ne retourne pas de date relative Indiquer 0 (par défaut) pour ignorer.

Tags
example

[(#DATE|date_relativecourt)]

filtre
uses
date_relative()
Return values
string
  • La date relative
  • "" si pas de date ou si elle dépasse le décalage maximum indiqué.

affdate_base()

Formatage humain de la date `$numdate` selon le format `$vue`

affdate_base(string $numdate, string $vue[, array<string|int, mixed> $options = [] ]) : string
Parameters
$numdate : string

Une écriture de date

$vue : string

Type de format souhaité ou expression pour strtotime() tel que Y-m-d h:i:s

$options : array<string|int, mixed> = []

{param: string, annee_courante: int}

  • param: 'abbr' ou 'initiale' permet d'afficher les jours au format court ou initiale
  • annee_courante: Permet de definir l'annee de reference pour l'affichage des dates courtes
Return values
string

nom_jour()

Affiche le nom du jour pour une date donnée

nom_jour(string $numdate[, string $forme = '' ]) : string
Parameters
$numdate : string

Une écriture de date

$forme : string = ''

Forme spécifique de retour :

  • initiale : l'initiale du jour
  • abbr : abbréviation du jour
  • '' : le nom complet (par défaut)
Tags
example
  • [(#DATE|nom_jour)] lundi
  • [(#DATE|nom_jour{abbr})] lun.
  • [(#DATE|nom_jour{initiale})] l.
filtre
link
https://www.spip.net/4305
uses
affdate_base()
Return values
string

Nom du jour

jour()

Affiche le numéro du jour (1er à 31) pour une date donnée

jour(string $numdate) : string

Utilise une abbréviation (exemple "1er") pour certains jours, en fonction de la langue utilisée.

Parameters
$numdate : string

Une écriture de date

Tags
example

[(#DATE|jour)]

filtre
link
https://www.spip.net/4295
uses
affdate_base()
see
journum()
Return values
string

Numéro du jour

journum()

Affiche le numéro du jour (1 à 31) pour une date donnée

journum(string $numdate) : string
Parameters
$numdate : string

Une écriture de date

Tags
example

[(#DATE|journum)]

filtre
uses
affdate_base()
see
jour()
Return values
string

Numéro du jour

mois()

Affiche le numéro du mois (01 à 12) pour une date donnée

mois(string $numdate) : string
Parameters
$numdate : string

Une écriture de date

Tags
example

[(#DATE|mois)]

filtre
link
https://www.spip.net/4303
uses
affdate_base()
Return values
string

Numéro du mois (sur 2 chiffres)

nom_mois()

Affiche le nom du mois pour une date donnée

nom_mois(string $numdate[, string $forme = '' ]) : string
Parameters
$numdate : string

Une écriture de date

$forme : string = ''

Forme spécifique de retour :

  • abbr : abbréviation du mois
  • '' : le nom complet (par défaut)
Tags
example
  • [(#DATE|nom_mois)] novembre
  • [(#DATE|nom_mois{abbr})] nov.
filtre
link
https://www.spip.net/4306
uses
affdate_base()
Return values
string

Nom du mois

saison()

Affiche le nom boréal ou austral de la saison

saison(string $numdate[, string $hemisphere = 'nord' ]) : string
Parameters
$numdate : string

Une écriture de date

$hemisphere : string = 'nord'

Nom optionnel de l'hémisphère (sud ou nord) ; par défaut nord

Tags
filtre
link
https://www.spip.net/4311
uses
affdate_base()
example

En PHP

saison("2008-10-11 14:08:45") affiche "automne"
saison("2008-10-11 14:08:45", "sud") affiche "printemps"

En squelettes

[(#DATE|saison)]
[(#DATE|saison{sud})]
Return values
string

La date formatée

saison_annee()

Affiche le nom boréal ou austral de la saison suivi de l'année en cours

saison_annee(string $numdate[, string $hemisphere = 'nord' ]) : string
Parameters
$numdate : string

Une écriture de date

$hemisphere : string = 'nord'

Nom optionnel de l'hémisphère (sud ou nord) ; par défaut nord

Tags
filtre
uses
affdate_base()
example

En PHP

saison_annee("2008-10-11 14:08:45") affiche "automne 2008"
saison_annee("2008-10-11 14:08:45", "sud") affiche "printemps 2008"

En squelettes

[(#DATE|saison_annee)]
[(#DATE|saison_annee{sud})]
Return values
string

La date formatée

affdate()

Formate une date

affdate(string $numdate[, string $format = 'entier' ]) : string
Parameters
$numdate : string

Une écriture de date

$format : string = 'entier'

Type de format souhaité ou expression pour strtotime() tel que Y-m-d h:i:s

Tags
example

En PHPaffdate("2008-10-11 14:08:45") affiche "11 octobre 2008"

example

En squelettes

  • [(#DATE|affdate)]
  • [(#DATE|affdate{Y-m-d})]
filtre
link
https://www.spip.net/4129
uses
affdate_base()
see
affdate_court()
see
affdate_jourcourt()
used-by
affdate_heure()
Return values
string

La date formatée

affdate_court()

Formate une date, omet l'année si année courante, sinon omet le jour

affdate_court(string $numdate[, int|null $annee_courante = null ]) : string

Si l'année actuelle (ou indiquée dans $annee_courante) est 2015, retournera "21 juin" si la date en entrée est le 21 juin 2015, mais retournera "juin 2013" si la date en entrée est le 21 juin 2013.

Parameters
$numdate : string

Une écriture de date

$annee_courante : int|null = null

L'année de comparaison, utilisera l'année en cours si omis.

Tags
example

[(#DATE|affdate_court)]

filtre
link
https://www.spip.net/4130
uses
affdate_base()
see
affdate()
see
affdate_jourcourt()
Return values
string

La date formatée

affdate_jourcourt()

Formate une date, omet l'année si année courante

affdate_jourcourt(string $numdate[, int|null $annee_courante = null ]) : string

Si l'année actuelle (ou indiquée dans $annee_courante) est 2015, retournera "21 juin" si la date en entrée est le 21 juin 2015, mais retournera "21 juin 2013" si la date en entrée est le 21 juin 2013.

Parameters
$numdate : string

Une écriture de date

$annee_courante : int|null = null

L'année de comparaison, utilisera l'année en cours si omis.

Tags
example

[(#DATE|affdate_jourcourt)]

filtre
link
https://www.spip.net/4131
uses
affdate_base()
see
affdate()
see
affdate_court()
Return values
string

La date formatée

affdate_mois_annee()

Retourne le mois en toute lettre et l’année d'une date

affdate_mois_annee(string $numdate) : string

Ne retourne pas le jour donc.

Parameters
$numdate : string

Une écriture de date

Tags
filtre
link
https://www.spip.net/4132
uses
affdate_base()
Return values
string

La date formatée

affdate_heure()

Retourne la date suivie de l'heure

affdate_heure(string $numdate) : string
Parameters
$numdate : string

Une écriture de date

Tags
example

[(#DATE|affdate_heure)] peut donner "11 novembre 2015 à 11h10min"

filtre
uses
recup_date()
uses
affdate()
used-by
date_interface()

utilisé si le décalage est trop grand

Return values
string

La date formatée, sinon ''

affdate_debut_fin()

Afficher de facon textuelle les dates de début et fin en fonction des cas

affdate_debut_fin(string $date_debut, string $date_fin[, string $horaire = 'oui' ][, string $forme = '' ]) : string
  • Lundi 20 fevrier a 18h
  • Le 20 fevrier de 18h a 20h
  • Du 20 au 23 fevrier
  • Du 20 fevrier au 30 mars
  • Du 20 fevrier 2007 au 30 mars 2008

$horaire='oui' ou true permet d'afficher l'horaire, toute autre valeur n'indique que le jour $forme peut contenir une ou plusieurs valeurs parmi

  • abbr (afficher le nom des jours en abrege)
  • hcal (generer une date au format hcal)
  • jour (forcer l'affichage des jours)
  • annee (forcer l'affichage de l'annee)
Parameters
$date_debut : string
$date_fin : string
$horaire : string = 'oui'
$forme : string = ''
  • abbr pour afficher le nom du jour en abrege (Dim. au lieu de Dimanche)
  • annee pour forcer l'affichage de l'annee courante
  • jour pour forcer l'affichage du nom du jour
  • hcal pour avoir un markup microformat abbr
Return values
string

texte de la date

date_ical()

Adapte une date pour être insérée dans une valeur de date d'un export ICAL

date_ical(string $date[, int $addminutes = 0 ]) : string

Retourne une date au format Ymd\THis\Z, tel que '20150428T163254Z'

Parameters
$date : string

La date

$addminutes : int = 0

Ajouter autant de minutes à la date

Tags
example

DTSTAMP:[(#DATE|date_ical)]

filtre
uses
recup_heure()
uses
recup_date()
Return values
string

Date au format ical

date_iso()

Retourne une date formattée au format "RFC 3339" ou "ISO 8601"

date_iso(string $date_heure) : string
Parameters
$date_heure : string

Une écriture de date

Tags
example

[(#DATE|date_iso)] peut donner "2015-11-11T10:13:45Z"

filtre
link
https://www.spip.net/5641
link
https://fr.wikipedia.org/wiki/ISO_8601
link
http://www.ietf.org/rfc/rfc3339.txt
link
http://php.net/manual/fr/class.datetime.php
uses
recup_date()
uses
recup_heure()
Return values
string

La date formatée

date_anneemoisjour()

Pour une date commençant par `Y-m-d`, retourne `Ymd`

date_anneemoisjour(string $d) : string
Parameters
$d : string

Une écriture de date commençant par un format Y-m-d (comme date ou datetime SQL). Si vide, utilise la date actuelle.

Tags
example

date_anneemoisjour('2015-10-11 11:27:03') retourne 20151011

see
date_anneemois()
Return values
string

Date au format Ymd

date_anneemois()

Pour une date commençant par `Y-m`, retourne `Ym`

date_anneemois(string $d) : string
Parameters
$d : string

Une écriture de date commençant par un format Y-m (comme date ou datetime SQL). Si vide, utilise la date actuelle.

Tags
example

date_anneemoisjour('2015-10-11 11:27:03') retourne 201510

see
date_anneemoisjour()
Return values
string

Date au format Ym

date_debut_semaine()

Retourne le premier jour (lundi) de la même semaine au format `Ymd`

date_debut_semaine(int $annee, int $mois, int $jour) : string
Parameters
$annee : int
$mois : int
$jour : int
Tags
example

date_debut_semaine(2015, 11, 11) retourne 20151109

see
date_fin_semaine()
Return values
string

Date au lundi de la même semaine au format Ymd

date_fin_semaine()

Retourne le dernier jour (dimanche) de la même semaine au format `Ymd`

date_fin_semaine(int $annee, int $mois, int $jour) : string
Parameters
$annee : int
$mois : int
$jour : int
Tags
example

date_debut_semaine(2015, 11, 11) retourne 20151115

see
date_fin_semaine()
Return values
string

Date au dimanche de la même semaine au format Ymd

parametres_css_prive()

Retourne les paramètres de personnalisation css de l'espace privé

parametres_css_prive() : string

Ces paramètres sont (ltr et couleurs) ce qui permet une écriture comme : generer_url_public('style_prive', parametres_css_prive()) qu'il est alors possible de récuperer dans le squelette style_prive.html avec

#SET{claire,##ENV{couleur_claire,edf3fe}} #SET{foncee,##ENV{couleur_foncee,3874b0}} #SET{left,#ENV{ltr}|choixsiegal{left,left,right}} #SET{right,#ENV{ltr}|choixsiegal{left,right,left}}

Return values
string

chercher_rubrique()

Afficher le sélecteur de rubrique

chercher_rubrique(string $titre, int $id_objet, int $id_parent, string $objet, int $id_secteur, bool $restreint[, bool $actionable = false ][, bool $retour_sans_cadre = false ]) : string

Il permet de placer un objet dans la hiérarchie des rubriques de SPIP

Parameters
$titre : string
$id_objet : int
$id_parent : int
$objet : string
$id_secteur : int
$restreint : bool
$actionable : bool = false

true : fournit le selecteur dans un form directement postable

$retour_sans_cadre : bool = false
Tags
uses
inc_chercher_rubrique_dist()
used-by
filtre_chercher_rubrique_dist()
Return values
string

avoir_visiteurs()

Tester si le site peut avoir des visiteurs

avoir_visiteurs([bool $past = false ][, bool $accepter = true ]) : bool
Parameters
$past : bool = false

si true, prendre en compte le fait que le site a deja des visiteurs comme le droit d'en avoir de nouveaux

$accepter : bool = true
Return values
bool

statuts_articles_visibles()

Lister les status d'article visibles dans l'espace prive en fonction du statut de l'auteur

statuts_articles_visibles(string $statut_auteur) : array<string|int, mixed>

Pour l'extensibilie de SPIP, on se repose sur autoriser('voir','article') en testant un à un les status présents en base

On mémorise en static pour éviter de refaire plusieurs fois.

Parameters
$statut_auteur : string
Return values
array<string|int, mixed>

traduire_statut_auteur()

Traduire le statut technique de l'auteur en langage compréhensible

traduire_statut_auteur(string $statut[, string $attente = '' ]) : string

Si $statut=='nouveau' et que le statut en attente est fourni, le prendre en compte en affichant que l'auteur est en attente

Parameters
$statut : string
$attente : string = ''
Return values
string

afficher_qui_edite()

Afficher la mention des autres auteurs ayant modifié un objet

afficher_qui_edite(int $id_objet, string $objet) : string
Parameters
$id_objet : int
$objet : string
Return values
string

auteurs_lister_statuts()

Lister les statuts des auteurs

auteurs_lister_statuts([string $quoi = 'tous' ][, bool $en_base = true ]) : array<string|int, mixed>
Parameters
$quoi : string = 'tous'
  • redacteurs : retourne les statuts des auteurs au moins redacteur, tels que defini par AUTEURS_MIN_REDAC
  • visiteurs : retourne les statuts des autres auteurs, cad les visiteurs et autres statuts perso
  • tous : retourne tous les statuts connus
$en_base : bool = true

si true, ne retourne strictement que les status existants en base dans tous les cas, les statuts existants en base sont inclus

Return values
array<string|int, mixed>

trouver_rubrique_creer_objet()

Déterminer la rubrique pour la création d'un objet heuristique

trouver_rubrique_creer_objet(int $id_rubrique, string $objet) : int

Rubrique courante si possible,

  • sinon rubrique administrée pour les admin restreint
  • sinon première rubrique de premier niveau autorisée que l'on trouve
Parameters
$id_rubrique : int

Identifiant de rubrique (si connu)

$objet : string

Objet en cours de création

Return values
int

Identifiant de la rubrique dans laquelle créer l'objet

lien_article_virtuel()

Afficher le lien de redirection d'un article virtuel si il y a lieu (rien si l'article n'est pas redirige)

lien_article_virtuel(string $virtuel) : string
Parameters
$virtuel : string
Return values
string

bouton_spip_rss()

Filtre pour générer un lien vers un flux RSS privé

bouton_spip_rss(string $op[, array<string|int, mixed> $args = [] ][, string $lang = '' ][, string $title = 'RSS' ]) : string

Le RSS est protegé par un hash de faible sécurité

Parameters
$op : string
$args : array<string|int, mixed> = []
$lang : string = ''
$title : string = 'RSS'
Tags
uses
generer_url_api_low_sec()
example
  • [(#VAL{a_suivre}|bouton_spip_rss)]
  • [(#VAL{signatures}|bouton_spip_rss{#ARRAY{id_article,#ID_ARTICLE}})]
filtre
Return values
string

Code HTML du lien

alertes_auteur()

Vérifier la présence d'alertes pour les auteur

alertes_auteur(int $id_auteur) : string
Parameters
$id_auteur : int
Return values
string

filtre_afficher_enfant_rub_dist()

Filtre pour afficher les rubriques enfants d'une rubrique

filtre_afficher_enfant_rub_dist(int $id_rubrique) : string
Parameters
$id_rubrique : int
Return values
string

afficher_plus_info()

Afficher un petit "i" pour lien vers autre page

afficher_plus_info(string $lien[, string $titre = '+' ][, string $titre_lien = '' ]) : string
Parameters
$lien : string

URL du lien desire

$titre : string = '+'

Titre au survol de l'icone pointant le lien

$titre_lien : string = ''

Si present, ajoutera en plus apres l'icone un lien simple, vers la meme URL, avec le titre indique

Return values
string

lister_objets_lies()

Lister les id objet_source associés à l'objet id_objet via la table de lien objet_lien

lister_objets_lies(string $objet_source, string $objet, int $id_objet, string $objet_lien) : array<string|int, mixed>

Utilisé pour les listes de #FORMULAIRE_EDITER_LIENS

Parameters
$objet_source : string
$objet : string
$id_objet : int
$objet_lien : string
Return values
array<string|int, mixed>

_couleur_dec_to_hex()

Transforme une couleur vectorielle R,G,B en hexa (par exemple pour usage css)

_couleur_dec_to_hex(int $red, int $green, int $blue) : string
Parameters
$red : int

Valeur du rouge de 0 à 255.

$green : int

Valeur du vert de 0 à 255.

$blue : int

Valeur du bleu de 0 à 255.

Return values
string

Le code de la couleur en hexadécimal.

_couleur_hex_to_dec()

Transforme une couleur hexa en vectorielle R,G,B

_couleur_hex_to_dec(string $couleur) : array<string|int, mixed>
Parameters
$couleur : string

Code couleur en hexa (#000000 à #FFFFFF).

Return values
array<string|int, mixed>

Un tableau des 3 éléments : rouge, vert, bleu.

_couleur_hsl_to_hex()

Transforme une couleur vectorielle H,S,L en hexa (par exemple pour usage css)

_couleur_hsl_to_hex(int $hue, int $saturation, int $lightness) : string
Parameters
$hue : int

Valeur de teinte de 0 à 1.

$saturation : int

Valeur de saturation de 0 à 1.

$lightness : int

Valeur de luminosité de 0 à 1.

Return values
string

Le code de la couleur en hexadécimal.

_couleur_hex_to_hsl()

Transforme une couleur vectorielle H,S,L en hexa (par exemple pour usage css)

_couleur_hex_to_hsl(string $couleur) : array<string|int, mixed>
Parameters
$couleur : string

Code couleur en hexa (#000000 à #FFFFFF).

Return values
array<string|int, mixed>

Un tableau des 3 éléments : teinte, saturation, luminosité.

_couleur_rgb_to_hsl()

Transformation d'une couleur RGB en HSL

_couleur_rgb_to_hsl(int $R, int $G, int $B) : array<string|int, mixed>

HSL float entre 0 et 1 RGB entiers entre 0 et 255

Parameters
$R : int
$G : int
$B : int
Return values
array<string|int, mixed>

_couleur_hsl_to_rgb()

Transformation d'une couleur HSL en RGB

_couleur_hsl_to_rgb(float $H, float $S, float $L) : array<string|int, mixed>

HSL float entre 0 et 1 RGB entiers entre 0 et 255

Parameters
$H : float
$S : float
$L : float
Return values
array<string|int, mixed>

statut_effacer_images_temporaires()

Donne un statut au fichier-image intermédiaire servant au traitement d'image selon qu'il doit être gravé (fichier .src) ou pas.

statut_effacer_images_temporaires(bool|string $stat) : bool|void

Un appel PHP direct aux fonctions de filtre d'image produira ainsi une image permanente (gravée) ; un appel généré par le compilateur via filtrer('image_xx, ...) effacera automatiquement le fichier-image temporaire.

Parameters
$stat : bool|string
  • true, false ou le statut déjà défini
  • 'get' pour obtenir le statut sauvé si traitements enchaînés.
Return values
bool|void

true si il faut supprimer le fichier temporaire ; false sinon.

_image_valeurs_trans()

Fonctions de preparation aux filtres de traitement d'image les fonctions de lecture et d'ecriture renseignees traitent uniquement le cas GD2 qui est le cas general des filtres images

_image_valeurs_trans(string $img, string $effet[, bool|string $forcer_format = false ][, array<string|int, mixed> $fonction_creation = null ][, bool $find_in_path = false ][, bool $support_svg = false ]) : bool|string|array<string|int, mixed>

mais image_reduire utilise aussi cette fonction en adaptant le traitement en fonction de la librairie graphique choisie dans la configuration de SPIP

Parameters
$img : string

Chemin de l'image ou balise html <img src=...>.

$effet : string

Les nom et paramètres de l'effet à apporter sur l'image (par exemple : reduire-300-200).

$forcer_format : bool|string = false

Un nom d'extension spécifique demandé (par exemple : jpg, png, txt...). Par défaut false : GD se débrouille seule).

$fonction_creation : array<string|int, mixed> = null

Un tableau à 2 éléments :

  1. string : indique le nom du filtre de traitement demandé (par exemple : image_reduire) ;
  2. array : tableau reprenant la valeur de $img et chacun des arguments passés au filtre utilisé.
$find_in_path : bool = false

false (par défaut) indique que l'on travaille sur un fichier temporaire (.src) ; true, sur un fichier définitif déjà existant.

$support_svg : bool = false

false (par defaut) indique que le filtre ne sait pas traiter le cas particulier du SVG on lui substitue un filtre generique qui ne fait rien pour ne pas briser la chaine des filtres images true si le filtre appelant sait traiter les SVG

Tags
pipeline_appel

image_preparer_filtre

uses
extraire_attribut()
uses
inserer_attribut()
uses
tester_url_absolue()
uses
copie_locale()

Si l'image est distante

uses
taille_image()
uses
_image_ratio()
uses
reconstruire_image_intermediaire()
used-by
process_image_reduire()
Return values
bool|string|array<string|int, mixed>
  • false si pas de tag <img,
    • si l'extension n'existe pas,
    • si le fichier source n'existe pas,
    • si les dimensions de la source ne sont pas accessibles,
    • si le fichier temporaire n'existe pas,
    • si la fonction _imagecreatefrom{extension} n'existe pas ;
  • "" (chaîne vide) si le fichier source est distant et n'a pas réussi à être copié sur le serveur ;
  • array : tableau décrivant de l'image

_image_extensions_logos()

Extensions d’images acceptées en tant que logos

_image_extensions_logos([array{objet?: string, id_objet?: int} $args = [] ]) : array<string|int, mixed>
Parameters
$args : array{objet?: string, id_objet?: int} = []

Arguments transmis au pipeline. Tableau contenant des informations sur le contexte d'appel.

Return values
array<string|int, mixed>

_image_extensions_acceptees_en_entree()

Extensions d’images acceptées en entrée

_image_extensions_acceptees_en_entree() : array<string|int, mixed>
Return values
array<string|int, mixed>

_image_extensions_acceptees_en_sortie()

Extensions d’images acceptées en sortie

_image_extensions_acceptees_en_sortie() : array<string|int, mixed>
Return values
array<string|int, mixed>

_image_trouver_extension()

Retourne la terminaison d’un fichier image

_image_trouver_extension(string $path) : string
Parameters
$path : string
Return values
string

_image_trouver_extension_pertinente()

Tente de trouver le véritable type d’une image, même si une image est d’extension .jpg alors que son contenu est autre chose (gif ou png)

_image_trouver_extension_pertinente(string $path) : string
Parameters
$path : string
Return values
string

Extension, dans le format attendu par les fonctions 'gd' ('jpeg' pour les .jpg par exemple)

_image_trouver_extension_depuis_mime()

Retourne une extension d’image depuis un mime-type

_image_trouver_extension_depuis_mime(string $mime) : string
Parameters
$mime : string
Return values
string

_imagecreatefrom_func()

Crée une image depuis un fichier ou une URL (en indiquant la fonction GD à utiliser)

_imagecreatefrom_func(string $func, string $filename) : resource|null

Utilise les fonctions spécifiques GD.

  • Si la fonction GD n'existe pas (GD non actif?), génère une erreur, mais ne retourne rien
  • Si l'image est impossible à créer avec la fonction indiquée, génère une erreur, et une image vide
Parameters
$func : string

Fonction GD à utiliser tel que 'imagecreatefromjpeg'

$filename : string

Le path vers l'image à traiter (par exemple : IMG/distant/jpg/image.jpg ou local/cache-vignettes/L180xH51/image.jpg).

Return values
resource|null

Une ressource de type Image GD.

_imagecreatefromjpeg()

Crée une image depuis un fichier ou une URL (au format jpeg)

_imagecreatefromjpeg(string $filename) : resource|null

Utilise les fonctions spécifiques GD.

Parameters
$filename : string

Le path vers l'image à traiter (par exemple : IMG/distant/jpg/image.jpg ou local/cache-vignettes/L180xH51/image.jpg).

Tags
uses
_imagecreatefrom_func()
Return values
resource|null

Une ressource de type Image GD.

_imagecreatefrompng()

Crée une image depuis un fichier ou une URL (au format png)

_imagecreatefrompng(string $filename) : resource|null

Utilise les fonctions spécifiques GD.

Parameters
$filename : string

Le path vers l'image à traiter (par exemple : IMG/distant/png/image.png ou local/cache-vignettes/L180xH51/image.png).

Tags
uses
_imagecreatefrom_func()
Return values
resource|null

Une ressource de type Image GD.

_imagecreatefromgif()

Crée une image depuis un fichier ou une URL (au format gif)

_imagecreatefromgif(string $filename) : resource|null

Utilise les fonctions spécifiques GD.

Parameters
$filename : string

Le path vers l'image à traiter (par exemple : IMG/distant/gif/image.gif ou local/cache-vignettes/L180xH51/image.gif).

Tags
uses
_imagecreatefrom_func()
Return values
resource|null

Une ressource de type Image GD.

_imagecreatefromwebp()

Crée une image depuis un fichier ou une URL (au format webp)

_imagecreatefromwebp(string $filename) : resource|null

Utilise les fonctions spécifiques GD.

Parameters
$filename : string

Le path vers l'image à traiter (par exemple : IMG/distant/png/image.webp ou local/cache-vignettes/L180xH51/image.webp).

Tags
uses
_imagecreatefrom_func()
Return values
resource|null

Une ressource de type Image GD.