API Documentation
Table of Contents
Namespaces
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 `&`
- 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  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 Ĉ 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 `&eacute;` en `é`
- proteger_amp() : string
- Échappe les `&` en `&`
- entites_html() : mixed|string
- Échappe en entités HTML certains caractères d'un texte
- filtrer_entites() : string
- Convertit les caractères spéciaux HTML dans le charset du site.
- filtre_filtrer_entites_dist() : string
- Version sécurisée de filtrer_entites
- supprimer_caracteres_illegaux() : string|array<string|int, mixed>
- Supprime des caractères illégaux
- corriger_caracteres() : string|array<string|int, mixed>
- Correction de caractères
- texte_backend() : string
- Encode du HTML pour transmission XML notamment dans les flux RSS
- texte_backendq() : string
- Encode et quote du HTML pour transmission XML notamment dans les flux RSS
- supprimer_numero() : string
- Enlève un numéro préfixant un texte
- recuperer_numero() : string
- Récupère un numéro préfixant un texte
- supprimer_tags() : string|array<string|int, mixed>
- Suppression basique et brutale de tous les tags
- echapper_tags() : string
- Convertit les chevrons de tag en version lisible en HTML
- textebrut() : string
- Convertit un texte HTML en texte brut
- liens_ouvrants() : string
- Remplace les liens SPIP en liens ouvrant dans une nouvelle fenetre (target=blank)
- liens_nofollow() : string
- Ajouter un attribut rel="nofollow" sur tous les liens d'un texte
- PtoBR() : string
- Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`
- majuscules() : string
- Passe un texte en majuscules, y compris les accents, en HTML
- taille_en_octets() : string
- Renvoie une taille de dossier ou de fichier humainement lisible en ajustant le format et l'unité.
- attribut_html() : string
- Rend une chaine utilisable sans dommage comme attribut HTML
- 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 < 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
_ACCESS_FILE_NAME
public
mixed
_ACCESS_FILE_NAME
= '.htaccess'
_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.
_AGE_CACHE_ATIME
public
mixed
_AGE_CACHE_ATIME
= 3600
_AJAX
public
mixed
_AJAX
= (isset($_SERVER['HTTP_X_REQUESTED_WITH']) || !empty($_REQUEST['var_ajax_redir']) || !empty($_REQUEST['var_ajaxcharset']) || !empty($_REQUEST['var_ajax'])) && empty($_REQUEST['var_noajax'])
_AJAX
public
mixed
_AJAX
= false
_AUTEURS_DELAI_REJET_NOUVEAU
public
mixed
_AUTEURS_DELAI_REJET_NOUVEAU
= 45 * 24 * 3600
_AUTH_USER_FILE
public
mixed
_AUTH_USER_FILE
= '.htpasswd'
_AUTO_SELECTION_RUBRIQUE
public
mixed
_AUTO_SELECTION_RUBRIQUE
= \false
_AUTOSAVE_GB_DELAY
public
mixed
_AUTOSAVE_GB_DELAY
= 72 * 3600
_CACHE_CHEMIN
public
mixed
_CACHE_CHEMIN
= _DIR_CACHE . 'chemin.txt'
_CACHE_CONTEXTES_AJAX_SUR_LONGUEUR
Basculer les contextes ajax en fichier si la longueur d’url est trop grande
public
int
_CACHE_CONTEXTES_AJAX_SUR_LONGUEUR
= 2000
Nombre de caractères
_CACHE_PIPELINES
public
mixed
_CACHE_PIPELINES
= _DIR_CACHE . 'charger_pipelines.php'
_CACHE_PLUGINS_FCT
public
mixed
_CACHE_PLUGINS_FCT
= _DIR_CACHE . 'charger_plugins_fonctions.php'
_CACHE_PLUGINS_OPT
public
mixed
_CACHE_PLUGINS_OPT
= _DIR_CACHE . 'charger_plugins_options.php'
_CACHE_PLUGINS_PATH
public
mixed
_CACHE_PLUGINS_PATH
= _DIR_CACHE . 'charger_plugins_chemins.php'
_CACHE_RUBRIQUES
Fichier cache pour le navigateur de rubrique du bandeau
public
mixed
_CACHE_RUBRIQUES
= _DIR_TMP . 'menu-rubriques-cache.txt'
_CACHE_RUBRIQUES_MAX
Nombre maxi de rubriques enfants affichées pour chaque rubrique du navigateur de rubrique du bandeau
public
mixed
_CACHE_RUBRIQUES_MAX
= 500
_CODE_QUOTE
Une Regexp repérant une chaine produite par le compilateur, souvent utilisée pour faire de la concaténation lors de la compilation plutôt qu'à l'exécution, i.e. pour remplacer 'x'.'y' par 'xy'
public
mixed
_CODE_QUOTE
= ",^(\n//[^\n]*\n)? *'(.*)' *\$,"
_CONNECT_RETRY_DELAY
public
mixed
_CONNECT_RETRY_DELAY
= 30
_CONTEXTE_IGNORE_LISTE_VARIABLES
public
array<string|int, string>
_CONTEXTE_IGNORE_LISTE_VARIABLES
= ['^var_', '^PHPSESSID$', '^fbclid$', '^utm_']
Liste (regexp) de noms de variables à ignorer d’une URI
_COPIE_LOCALE_MAX_SIZE
public
mixed
_COPIE_LOCALE_MAX_SIZE
= 33554432
_DATA_SOURCE_MAX_SIZE
public
mixed
_DATA_SOURCE_MAX_SIZE
= 2 * 1048576
_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'
_DEFAULT_LOCKTIME
public
mixed
_DEFAULT_LOCKTIME
= 60
_DELAI_CACHE_resultats
public
mixed
_DELAI_CACHE_resultats
= 600
_DELAI_RECUPERER_URL_CACHE
public
mixed
_DELAI_RECUPERER_URL_CACHE
= 3600
_DIR_AIDE
public
mixed
_DIR_AIDE
= _DIR_CACHE . 'aide/'
_DIR_CACHE
public
mixed
_DIR_CACHE
= $ti . 'cache/'
_DIR_CACHE_XML
public
mixed
_DIR_CACHE_XML
= _DIR_CACHE . 'xml/'
_DIR_CHMOD
public
mixed
_DIR_CHMOD
= $pi
_DIR_CONNECT
public
mixed
_DIR_CONNECT
= $pi
_DIR_DB
public
mixed
_DIR_DB
= _DIR_ETC . 'bases/'
_DIR_DUMP
public
mixed
_DIR_DUMP
= $ti . 'dump/'
_DIR_ETC
public
mixed
_DIR_ETC
= $pi
_DIR_IMG
public
mixed
_DIR_IMG
= $pa
_DIR_IMG_ICONES
public
mixed
_DIR_IMG_ICONES
= _DIR_LOGOS . 'icones/'
_DIR_JAVASCRIPT
le nom du repertoire des bibliotheques JavaScript du prive
public
mixed
_DIR_JAVASCRIPT
= \_DIR_RACINE . 'prive/' . \_JAVASCRIPT
_DIR_LIB
public
mixed
_DIR_LIB
= _DIR_RACINE . 'lib/'
_DIR_LOG
public
mixed
_DIR_LOG
= _DIR_TMP . 'log/'
_DIR_LOGOS
public
mixed
_DIR_LOGOS
= $pa
_DIR_PLUGINS
public
mixed
_DIR_PLUGINS
= _DIR_RACINE . 'plugins/'
_DIR_PLUGINS_AUTO
public
mixed
_DIR_PLUGINS_AUTO
= \_DIR_PLUGINS . 'auto/'
_DIR_PLUGINS_DIST
public
mixed
_DIR_PLUGINS_DIST
= _DIR_RACINE . 'plugins-dist/'
_DIR_RACINE
Chemin relatif pour aller à la racine
public
mixed
_DIR_RACINE
= \_DIR_RESTREINT ? '' : '../'
_DIR_RESTREINT
Chemin relatif pour aller dans ecrire vide si on est dans ecrire, 'ecrire/' sinon
public
mixed
_DIR_RESTREINT
= \is_dir($ecrire) ? $ecrire : ''
_DIR_SESSIONS
public
mixed
_DIR_SESSIONS
= $ti . 'sessions/'
_DIR_SKELS
public
mixed
_DIR_SKELS
= _DIR_CACHE . 'skel/'
_DIR_TMP
public
mixed
_DIR_TMP
= $ti
_DIR_TRANSFERT
public
mixed
_DIR_TRANSFERT
= $ti . 'upload/'
_DIR_VAR
public
mixed
_DIR_VAR
= $ta
_DIR_VENDOR
public
mixed
_DIR_VENDOR
= _DIR_RACINE . 'vendor/'
_DIRECT_CRON_FORCE
public
mixed
_DIRECT_CRON_FORCE
= true
_DIRECT_CRON_FORCE
public
mixed
_DIRECT_CRON_FORCE
= true
_DOCTYPE_AIDE
Définit le doctype de l’aide en ligne
public
mixed
_DOCTYPE_AIDE
= "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>"
_DOCTYPE_ECRIRE
Définit le doctype de l’espace privé
public
mixed
_DOCTYPE_ECRIRE
= "<!DOCTYPE html>\n"
_DOCTYPE_RSS
public
mixed
_DOCTYPE_RSS
= 'http://www.rssboard.org/rss-0.91.dtd'
_DUREE_CACHE_DEFAUT
public
mixed
_DUREE_CACHE_DEFAUT
= 24 * 3600
_DUREE_COOKIE_ADMIN
public
mixed
_DUREE_COOKIE_ADMIN
= 14 * 24 * 3600
_ECRIRE_INC_VERSION
Indique que SPIP est chargé
public
mixed
_ECRIRE_INC_VERSION
= '1'
Cela permet des tests de sécurités pour les fichiers PHP de SPIP et des plugins qui peuvent vérifier que SPIP est chargé et donc que les fichiers ne sont pas appelés en dehors de l'usage de SPIP
_ECRIRE_INSTALL
public
mixed
_ECRIRE_INSTALL
= '1'
_ESPACE_PRIVE
Drapeau indiquant que l'on est dans l'espace privé
public
mixed
_ESPACE_PRIVE
= \true
_EXTENSION_SQUELETTES
public
mixed
_EXTENSION_SQUELETTES
= 'html'
_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_INS
public
mixed
_FILE_CHMOD_INS
= 'chmod'
_FILE_CHMOD_TMP
public
mixed
_FILE_CHMOD_TMP
= _DIR_CHMOD . _FILE_CHMOD_INS . _FILE_TMP_SUFFIX
_FILE_CONNECT
public
mixed
_FILE_CONNECT
= @is_readable($f = _DIR_CONNECT . _FILE_CONNECT_INS . '.php') ? $f : false
_FILE_CONNECT_INS
public
mixed
_FILE_CONNECT_INS
= 'connect'
_FILE_CONNECT_TMP
public
mixed
_FILE_CONNECT_TMP
= _DIR_CONNECT . _FILE_CONNECT_INS . _FILE_TMP_SUFFIX
_FILE_LDAP
public
mixed
_FILE_LDAP
= 'ldap.php'
_FILE_LOG
public
mixed
_FILE_LOG
= 'spip'
_FILE_LOG_SUFFIX
public
mixed
_FILE_LOG_SUFFIX
= '.log'
_FILE_META
public
mixed
_FILE_META
= $ti . 'meta_cache.php'
_FILE_OPTIONS
public
mixed
_FILE_OPTIONS
= ''
_FILE_TMP
public
mixed
_FILE_TMP
= '_install'
_FILE_TMP_SUFFIX
public
mixed
_FILE_TMP_SUFFIX
= '.tmp.php'
_HEADER_COMPOSED_BY
public
mixed
_HEADER_COMPOSED_BY
= 'Composed-By: SPIP'
_HEADER_VARY
public
mixed
_HEADER_VARY
= 'Vary: Cookie, Accept-Encoding'
_IMG_ADMIN_MAX_WIDTH
public
mixed
_IMG_ADMIN_MAX_WIDTH
= 768
_IMG_GD_MAX_PIXELS
public
mixed
_IMG_GD_MAX_PIXELS
= isset($GLOBALS['meta']['max_taille_vignettes']) && $GLOBALS['meta']['max_taille_vignettes'] ? $GLOBALS['meta']['max_taille_vignettes'] : 0
_IMG_GD_QUALITE
public
mixed
_IMG_GD_QUALITE
= _IMG_QUALITE
_IMG_QUALITE
public
mixed
_IMG_QUALITE
= 85
_INC_DISTANT_CONNECT_TIMEOUT
public
mixed
_INC_DISTANT_CONNECT_TIMEOUT
= 10
_INC_DISTANT_CONTENT_ENCODING
public
mixed
_INC_DISTANT_CONTENT_ENCODING
= 'gzip'
_INC_DISTANT_MAX_SIZE
public
mixed
_INC_DISTANT_MAX_SIZE
= 2097152
_INC_DISTANT_USER_AGENT
public
mixed
_INC_DISTANT_USER_AGENT
= 'SPIP-' . $GLOBALS['spip_version_affichee'] . ' (' . $GLOBALS['home_server'] . ')'
_INC_DISTANT_VERSION_HTTP
public
mixed
_INC_DISTANT_VERSION_HTTP
= 'HTTP/1.0'
_IS_BOT
public
mixed
_IS_BOT
= isset($_SERVER['HTTP_USER_AGENT']) && \preg_match(
// mots generiques
',bot|slurp|crawler|spider|webvac|yandex|' . 'MSIE 6\.0|' . '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|facebook|flipboard|hootsuite|FunWebProducts|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|MetaURI|Moreover|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti' . ',i',
(string) $_SERVER['HTTP_USER_AGENT']
)
_IS_CLI
public
mixed
_IS_CLI
= !isset($_SERVER['HTTP_HOST']) && !\strlen((string) $_SERVER['DOCUMENT_ROOT']) && !empty($_SERVER['argv']) && empty($_SERVER['REQUEST_METHOD'])
_JAVASCRIPT
Nom du repertoire des bibliotheques JavaScript
public
mixed
_JAVASCRIPT
= 'javascript/'
_JQ_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'
_JQ_PENDING
public
mixed
_JQ_PENDING
= 0
_JQ_SCHEDULED
public
mixed
_JQ_SCHEDULED
= 1
_LANGUE_PAR_DEFAUT
public
mixed
_LANGUE_PAR_DEFAUT
= 'fr'
_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
_LOGIN_TROP_COURT
public
mixed
_LOGIN_TROP_COURT
= 4
_LOGIN_TROP_COURT
public
mixed
_LOGIN_TROP_COURT
= 4
_MARQUEUR_POST_IMPORTMAP
public
mixed
_MARQUEUR_POST_IMPORTMAP
= '<!--.importmap-->'
_MARQUEUR_POST_INIT
public
mixed
_MARQUEUR_POST_INIT
= '<!--.initjs-->'
_MAX_LOG
public
mixed
_MAX_LOG
= 100
_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
= '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
_NAME_LOCK
public
mixed
_NAME_LOCK
= 'spip_nfs_lock'
_NB_SESSIONS_MAX
public
mixed
_NB_SESSIONS_MAX
= 100
_NOM_CONFIG
public
mixed
_NOM_CONFIG
= 'mes_options'
_NOM_IMG_PACK
Nom du dossier images
public
mixed
_NOM_IMG_PACK
= 'images/'
_NOM_PERMANENTS_ACCESSIBLES
Nom du repertoire des fichiers Permanents Accessibles par http://
public
mixed
_NOM_PERMANENTS_ACCESSIBLES
= 'IMG/'
_NOM_PERMANENTS_INACCESSIBLES
Nom du repertoire des fichiers Permanents Inaccessibles par http://
public
mixed
_NOM_PERMANENTS_INACCESSIBLES
= 'config/'
_NOM_TEMPORAIRES_ACCESSIBLES
Nom du repertoire des fichiers Temporaires Accessibles par http://
public
mixed
_NOM_TEMPORAIRES_ACCESSIBLES
= 'local/'
_NOM_TEMPORAIRES_INACCESSIBLES
Nom du repertoire des fichiers Temporaires Inaccessibles par http://
public
mixed
_NOM_TEMPORAIRES_INACCESSIBLES
= 'tmp/'
_OS_SERVEUR
public
mixed
_OS_SERVEUR
= ''
_OUTILS_DEVELOPPEURS
Activer des outils pour développeurs ?
public
mixed
_OUTILS_DEVELOPPEURS
= \false
_PAGINATION_NOMBRE_LIENS_MAX
public
mixed
_PAGINATION_NOMBRE_LIENS_MAX
= 10
_PAGINATION_NOMBRE_LIENS_MAX_ECRIRE
public
mixed
_PAGINATION_NOMBRE_LIENS_MAX_ECRIRE
= 5
_PASS_LONGUEUR_MINI
public
mixed
_PASS_LONGUEUR_MINI
= 6
_PASS_LONGUEUR_MINI
public
mixed
_PASS_LONGUEUR_MINI
= 6
_PHP_MAX
public
mixed
_PHP_MAX
= '8.4.99'
_PHP_MIN
version PHP minimum exigee (cf. inc/utils)
public
mixed
_PHP_MIN
= '8.2.0'
_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'
_PROTOCOLES_STD
public
mixed
_PROTOCOLES_STD
= 'http|https|ftp|mailto|webcal'
_RACCOURCI_CHAPO
public
mixed
_RACCOURCI_CHAPO
= '/^(\W*)(\W*)(\w*\d+([?#].*)?)$/'
_RACCOURCI_URL
public
mixed
_RACCOURCI_URL
= '/^\s*(\w*?)\s*(\d+)(\?(.*?))?(#([^\s]*))?\s*$/S'
_REGEXP_CONCAT_NON_VIDE
public
mixed
_REGEXP_CONCAT_NON_VIDE
= "/^(.*)[.]\\s*'[^']+'\\s*\$/"
_REGEXP_COND_NONVIDE_VIDE
public
mixed
_REGEXP_COND_NONVIDE_VIDE
= "/^[(](.*)[?]\\s*('[^']+')\\s*:\\s*''\\s*[)]\$/"
_REGEXP_COND_VIDE_NONVIDE
public
mixed
_REGEXP_COND_VIDE_NONVIDE
= "/^[(](.*)[?]\\s*''\\s*:\\s*('[^']+')\\s*[)]\$/"
_REGEXP_COPIE_LOCALE
public
mixed
_REGEXP_COPIE_LOCALE
= ',' . \preg_replace('@^https?:@', 'https?:', $GLOBALS['meta']['adresse_site'] ?? '') . '/?spip.php[?]action=acceder_document.*file=(.*)$,'
_REGEXP_DOCTYPE
public
mixed
_REGEXP_DOCTYPE
= '/^((?:<\001?[?][^>]*>\s*)*(?:<!--.*?-->\s*)*)*<!DOCTYPE\s+(\w+)\s+(\w+)\s*([^>]*)>\s*/s'
_REGEXP_ENTITY_DECL
public
mixed
_REGEXP_ENTITY_DECL
= '/^<!ENTITY\s+(%?)\s*(' . \_SUB_REGEXP_SYMBOL . '+;?)\s+(' . \_REGEXP_TYPE_XML . ')?\s*(' . "('([^']*)')" . '|("([^"]*)")' . '|\s*(%' . \_SUB_REGEXP_SYMBOL . '+;)\s*' . ')\s*(--.*?--)?("([^"]*)")?\s*>\s*(.*)$/s'
_REGEXP_ENTITY_DEF
public
mixed
_REGEXP_ENTITY_DEF
= '/^%(' . \_SUB_REGEXP_SYMBOL . '+);/'
_REGEXP_ENTITY_USE
public
mixed
_REGEXP_ENTITY_USE
= '/%(' . \_SUB_REGEXP_SYMBOL . '+);/'
_REGEXP_ID
public
mixed
_REGEXP_ID
= '/^[A-Za-z_:]' . \_SUB_REGEXP_SYMBOL . '*$/'
_REGEXP_INCLUDE_USE
public
mixed
_REGEXP_INCLUDE_USE
= '/^<!\[\s*%\s*([^;]*);\s*\[\s*(.*)$/s'
_REGEXP_NMTOKEN
public
mixed
_REGEXP_NMTOKEN
= '/^' . \_SUB_REGEXP_SYMBOL . '+$/'
_REGEXP_NMTOKENS
public
mixed
_REGEXP_NMTOKENS
= '/^(' . \_SUB_REGEXP_SYMBOL . '+\s*)*$/'
_REGEXP_TYPE_XML
public
mixed
_REGEXP_TYPE_XML
= 'PUBLIC|SYSTEM|INCLUDE|IGNORE|CDATA'
_REGEXP_XML
public
mixed
_REGEXP_XML
= '/^(\s*(?:<[?][^x>][^>]*>\s*)?(?:<[?]xml[^>]*>)?\s*(?:<!--.*?-->\s*)*)<(\w+)/s'
_RENOUVELLE_ALEA
public
mixed
_RENOUVELLE_ALEA
= 12 * 3600
_ROOT_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
= ''
_SERVEUR_SIGNATURE_ACCEPTE_LOCATION_APRES_COOKIE
public
mixed
_SERVEUR_SIGNATURE_ACCEPTE_LOCATION_APRES_COOKIE
= 'Apache|Cherokee|nginx'
_SERVEUR_SOFTWARE_ACCEPTE_LOCATION_APRES_COOKIE
public
mixed
_SERVEUR_SOFTWARE_ACCEPTE_LOCATION_APRES_COOKIE
= '^(Apache|Cherokee|nginx)'
_SESSION_REJOUER
public
mixed
_SESSION_REJOUER
= true
_SET_HTML_BASE
public
mixed
_SET_HTML_BASE
= true
_SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT
public
mixed
_SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT
= 20
_SPIP_AJAX
public
mixed
_SPIP_AJAX
= !isset($_COOKIE['spip_accepte_ajax']) ? 1 : ($_COOKIE['spip_accepte_ajax'] != -1 ? 1 : 0)
_spip_attend_invalidation_opcode_cache
public
mixed
_spip_attend_invalidation_opcode_cache
= true
_SPIP_CHMOD
public
mixed
_SPIP_CHMOD
= 0777
_SPIP_DUMP
public
mixed
_SPIP_DUMP
= 'dump@nom_site@@stamp@.xml'
_SPIP_ECRIRE_SCRIPT
public
mixed
_SPIP_ECRIRE_SCRIPT
= ''
_SPIP_EXTRA_VERSION
public
mixed
_SPIP_EXTRA_VERSION
= '-beta'
_SPIP_LOCK_MODE
public
mixed
_SPIP_LOCK_MODE
= 1
_SPIP_PAGE
Argument page, personalisable en cas de conflit avec un autre script
public
mixed
_SPIP_PAGE
= 'page'
_SPIP_SCRIPT
L'adresse de base du site ; on peut mettre '' si la racine est gerée par le script de l'espace public, alias index.php
public
mixed
_SPIP_SCRIPT
= 'spip.php'
_SPIP_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_VERSION_ID
public
mixed
_SPIP_VERSION_ID
= 50000
_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_CHMOD
public
mixed
_SQLITE_CHMOD
= _SPIP_CHMOD
_SQLITE_RE_SHOW_TABLE
public
mixed
_SQLITE_RE_SHOW_TABLE
= '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/'
_SUB_REGEXP_SYMBOL
public
mixed
_SUB_REGEXP_SYMBOL
= '[\w_:.-]'
_SVG_SUPPORTED
public
mixed
_SVG_SUPPORTED
= \true
_TAGS_NOM_AUTEUR
public
mixed
_TAGS_NOM_AUTEUR
= ''
_terminaison_urls_page
public
mixed
_terminaison_urls_page
= ''
_TEST_DIRS
public
mixed
_TEST_DIRS
= '1'
_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'
_VAR_IMAGES
public
mixed
_VAR_IMAGES
= true
_VAR_INCLURE
public
mixed
_VAR_INCLURE
= true
_VAR_MODE
Indique le mode de calcul ou d'affichage de la page.
public
mixed
_VAR_MODE
= false
Tags
_VAR_NOCACHE
public
mixed
_VAR_NOCACHE
= true
_VAR_PREVIEW
public
mixed
_VAR_PREVIEW
= true
_VAR_URLS
public
mixed
_VAR_URLS
= true
_VAR_URLS
public
mixed
_VAR_URLS
= true
_VERSION_ARCHIVE
public
mixed
_VERSION_ARCHIVE
= '1.3'
_VERSIONS_LISTE
public
mixed
_VERSIONS_LISTE
= 'spip_versions_list.json'
_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, '/') : '')
AUTEURS_MIN_REDAC
public
mixed
AUTEURS_MIN_REDAC
= '0minirezo,1comite,5poubelle'
BALISE_ALT_BOUCLE
Fin de la partie alternative après d'une boucle
public
mixed
BALISE_ALT_BOUCLE
= '<//B'
BALISE_BOUCLE
Début de la partie principale d'une boucle
public
mixed
BALISE_BOUCLE
= '<BOUCLE'
BALISE_FIN_BOUCLE
Fin de la partie principale d'une boucle
public
mixed
BALISE_FIN_BOUCLE
= '</BOUCLE'
BALISE_IDIOMES
public
mixed
BALISE_IDIOMES
= ',<:(([a-z0-9_]+):)?([a-z0-9_]*)({([^\|=>]*=[^\|>]*)})?((\|[^>]*)?:/?>),iS'
BALISE_IDIOMES_ARGS
public
mixed
BALISE_IDIOMES_ARGS
= '@^\s*([^= ]*)\s*=\s*((' . \NOM_DE_CHAMP . '[{][^}]*})?[^,]*)\s*,?\s*@s'
BALISE_INCLURE
public
mixed
BALISE_INCLURE
= '/<INCLU[DR]E[[:space:]]*/S'
BALISE_POLYGLOTTE
public
mixed
BALISE_POLYGLOTTE
= ',<multi>(.*)</multi>,Uims'
BALISE_POSTAFF_BOUCLE
Fin de la partie après non optionnelle d'une boucle (toujours affichee)
public
mixed
BALISE_POSTAFF_BOUCLE
= '</BB'
BALISE_POSTCOND_BOUCLE
Fin de la partie optionnelle après d'une boucle
public
mixed
BALISE_POSTCOND_BOUCLE
= '</B'
BALISE_PREAFF_BOUCLE
Début de la partie avant non optionnelle d'une boucle (toujours affichee)
public
mixed
BALISE_PREAFF_BOUCLE
= '<BB'
BALISE_PRECOND_BOUCLE
Début de la partie optionnelle avant d'une boucle
public
mixed
BALISE_PRECOND_BOUCLE
= '<B'
CHAMP_ETENDU
Balise complète [...(#TOTO) ... ]
public
mixed
CHAMP_ETENDU
= '/\[([^\[]*?)\(' . \NOM_DE_CHAMP . '([^)]*\)[^]]*)\]/S'
CHAMP_SQL_PLUS_FONC
Fonction SQL sur un champ ex: SUM(visites)
public
mixed
CHAMP_SQL_PLUS_FONC
= '`?([A-Z_\/][A-Z_\/0-9.]*)' . \SQL_ARGS . '?`?'
CODE_COMMENTE
Indique s'il faut commenter le code produit
public
mixed
CODE_COMMENTE
= \true
CODE_CORPS_BOUCLE
Compilation d'une boucle non recursive.
public
mixed
CODE_CORPS_BOUCLE
= '%s
if (defined("_BOUCLE_PROFILER")) $timer = time()+(float)microtime();
$t0 = "";
// REQUETE
$iter = Spip\Compilateur\Iterateur\Factory::create(
"%s",
%s,
array(%s)
);
if (!$iter->err()) {
%s%s$SP++;
// RESULTATS
%s
%s$iter->free();
}%s
if (defined("_BOUCLE_PROFILER")
AND 1000*($timer = (time()+(float)microtime())-$timer) > _BOUCLE_PROFILER)
spip_logger("profiler")->warning(intval(1000*$timer)."ms %s");
return $t0;'
La constante donne le cadre systématique du code:
- %s1: initialisation des arguments de calculer_select
- %s2: appel de calculer_select en donnant un contexte pour les cas d'erreur
- %s3: initialisation du sous-tableau Numrows[id_boucle]
- %s4: sauvegarde de la langue et calcul des invariants de boucle sur elle
- %s5: boucle while sql_fetch ou str_repeat si corps monotone
- %s6: restauration de la langue
- %s7: liberation de la ressource, en tenant compte du serveur SQL
- %s8: code de trace eventuel avant le retour
CODE_EXECUTER_BALISE
Code PHP d'exécution d'une balise dynamique
public
mixed
CODE_EXECUTER_BALISE
= "executer_balise_dynamique('%s',\n\tarray(%s%s),\n\tarray(%s%s))"
CODE_EXECUTER_BALISE_MODELE
public
mixed
CODE_EXECUTER_BALISE_MODELE
= "executer_balise_dynamique_dans_un_modele('%s',\n\tarray(%s%s),\n\tarray(%s%s))"
CODE_INCLURE_BALISE
Code PHP pour inclure une balise dynamique à l'exécution d'une page
public
mixed
CODE_INCLURE_BALISE
= '<' . '?php
include_once("%s");
if ($lang_select = "%s") $lang_select = lang_select($lang_select);
inserer_balise_dynamique(balise_%s_dyn(%s), array(%s));
if ($lang_select) lang_select();
?' . '>'
CODE_MONOTONE
Repérer un code ne calculant rien, meme avec commentaire
public
mixed
CODE_MONOTONE
= ",^(\n//[^\n]*\n)?\\(?'([^'])*'\\)?\$,"
CODE_PAGINATION
Code de compilation pour la balise `#PAGINATION`
public
mixed
CODE_PAGINATION
= '%s($Numrows["%s"]["grand_total"],
%s,
isset($Pile[0][%4$s])?$Pile[0][%4$s]:intval(_request(%4$s)),
%5$s, %6$s, %7$s, %8$s, array(%9$s))'
Le code produit est trompeur, car les modèles ne fournissent pas Pile[0].
On produit un appel à _request
si on ne l'a pas, mais c'est inexact:
l'absence peut-être due à une faute de frappe dans le contexte inclus.
CODE_RECUPERER_FOND
Code d'appel à un <INCLURE>
public
mixed
CODE_RECUPERER_FOND
= 'recuperer_fond(%s, %s, array(%s), %s)'
Code PHP pour un squelette (aussi pour #INCLURE, #MODELE #LES_AUTEURS)
IMAGETYPE_SVG
public
mixed
IMAGETYPE_SVG
= 19
IMG_SVG
public
mixed
IMG_SVG
= 128
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
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
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
neveraction_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
action_confirmer_inscription_dist()
Action de confirmation d'une inscription
action_confirmer_inscription_dist() : mixed
Tags
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
Return values
stringaction_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
action_cookie_dist()
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
action_debloquer_edition_dist()
Lever les blocages d'édition pour l'utilisateur courant
action_debloquer_edition_dist() : mixed
Tags
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
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
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
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
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
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
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
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
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
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
Return values
stringauteur_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
Return values
stringauteur_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
Return values
bool|intauteur_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
Return values
bool|stringobjet_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
Return values
bool|intobjet_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
Return values
bool|intobjet_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
Return values
bool|intobjet_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
intobjet_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
ouoff
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
ouoff
- $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
)
- array : sous tableau de
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
type_du_logo()
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
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 :
Retourne une chaîne vide en cas de succès,
et déclenche des notifications selon ce qu'on modifie :
Parameters
- $objet : string
- $id : int
- $set : array<string|int, mixed>|null = null
Tags
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 :
Retourne le numéro de l'objet en cas de succès,
et déclenche 2 notifications :
Parameters
- $objet : string
- $id_parent : int = null
- $set : array<string|int, mixed>|null = null
Tags
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
Return values
stringobjet_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
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
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>|stringtest_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|stringtest_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
stringenvoyer_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
stringtester_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
stringconfirmer_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
stringauteur_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|nullauteur_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>|boolauteur_effacer_jeton()
Effacer le jeton d'un auteur apres utilisation
auteur_effacer_jeton(int $id_auteur) : bool
Parameters
- $id_auteur : int
Return values
boolaction_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
stringaction_instituer_langue_rubrique_dist()
Modifie la langue d'une rubrique
action_instituer_langue_rubrique_dist() : mixed
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
stringverifier_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
boolaction_menu_rubriques_dist()
Action d'affichage en ajax du navigateur de rubrique du bandeau
action_menu_rubriques_dist() : string
Tags
Return values
string —Code HTML présentant la liste des rubriques
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
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
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
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
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
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
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|nullaction_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_relancer_inscription_dist()
Relancer une inscription
action_relancer_inscription_dist() : mixed
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
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
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>|boolauth_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>auth_ldap_search()
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
stringauth_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>|boolauth_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
boolauth_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
boolauth_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
stringauth_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
boolauth_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
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
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
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
boolbalise_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
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
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
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
stringadmin_debug()
Retourne une URL vers le mode debug, si l'utilisateur a le droit, et si c'est utile
admin_debug() : string
Return values
stringbalise_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
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
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
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
ouID_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
Return values
Champ —Pile complétée par le code à générer
generer_code_logo()
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
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
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
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
ouLOGO_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 éditorialLOGO_ARTICLE**
retourne le nom du fichier de logo.LOGO_ARTICLE{right}
. Valeurs possibles : top left right center bottomLOGO_DOCUMENT{icone}
. Valeurs possibles : auto icone apercu vignetteLOGO_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
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
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
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
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
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
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
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
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
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
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
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
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 pagenom
#URL_PAGE{nom,param=valeur}
génère l'url pour la pagenom
avec des paramètres#URL_PAGE
sans argument retourne l'URL courante.#URL_PAGE*
retourne l'URL sans convertir les&
en&
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
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 pagenom
de l'espace privé#URL_ECRIRE{nom,param=valeur}
génère l'url pour la pagenom
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&
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Return values
stringspip_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
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
boolcreer_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
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
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
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
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
Return values
stringbase_lister_toutes_tables()
Lister toutes les tables d'un serveur en excluant eventuellement une liste fournie
base_lister_toutes_tables([string $serveur = '' ][, array<string|int, mixed> $tables = [] ][, array<string|int, mixed> $exclude = [] ][, bool $affiche_vrai_prefixe = false ]) : array<string|int, mixed>
Parameters
- $serveur : string = ''
- $tables : array<string|int, mixed> = []
- $exclude : array<string|int, mixed> = []
- $affiche_vrai_prefixe : bool = false
Return values
array<string|int, mixed>base_prefixe_tables()
Retrouver le prefixe des tables
base_prefixe_tables([string $serveur = '' ]) : string
Parameters
- $serveur : string = ''
Return values
stringbase_saisie_tables()
Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)
base_saisie_tables(string $name, array<string|int, mixed> $tables[, array<string|int, mixed> $exclude = [] ][, array<string|int, mixed>|null $post = null ][, string $serveur = '' ]) : array<string|int, mixed>
Parameters
- $name : string
- $tables : array<string|int, mixed>
- $exclude : array<string|int, mixed> = []
- $post : array<string|int, mixed>|null = null
- $serveur : string = ''
Return values
array<string|int, mixed>lister_tables_noexport()
Lister les tables non exportables par defaut (liste completable par le pipeline lister_tables_noexport
lister_tables_noexport() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>lister_tables_noimport()
Lister les tables non importables par defaut (liste completable par le pipeline lister_tables_noimport
lister_tables_noimport() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>lister_tables_noerase()
Lister les tables a ne pas effacer (liste completable par le pipeline lister_tables_noerase
lister_tables_noerase() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>base_liste_table_for_dump()
construction de la liste des tables pour le dump : toutes les tables principales + toutes les tables auxiliaires hors relations + les tables relations dont les deux tables liees sont dans la liste
base_liste_table_for_dump([array<string|int, mixed> $exclude_tables = [] ]) : array<string|int, mixed>
Parameters
- $exclude_tables : array<string|int, mixed> = []
Return values
array<string|int, mixed>base_vider_tables_destination_copie()
Vider les tables de la base de destination pour la copie dans une base
base_vider_tables_destination_copie(array<string|int, mixed> $tables[, array<string|int, mixed> $exclure_tables = [] ][, string $serveur = '' ]) : mixed
peut etre utilise pour l'import depuis xml, ou la copie de base a base (mysql<->sqlite par exemple)
Parameters
- $tables : array<string|int, mixed>
- $exclure_tables : array<string|int, mixed> = []
- $serveur : string = ''
base_conserver_copieur()
Conserver le copieur si besoin
base_conserver_copieur([bool $move = true ][, string $serveur = '' ]) : 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
boolbase_inserer_copie()
fonction d'insertion en base lors de la copie de base a base
base_inserer_copie(string $table, array<string|int, mixed> $rows, array<string|int, mixed> $desc_dest, string $serveur_dest) : mixed
Parameters
- $table : string
- $rows : array<string|int, mixed>
- $desc_dest : array<string|int, mixed>
- $serveur_dest : string
Tags
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
boolobjet_lister_parents()
Cherche les contenus parent d'un contenu précis.
objet_lister_parents(string $objet, int $id_objet[, bool $parent_direct_seulement = false ]) : array<string|int, mixed>
comme :
$tables['spip_auteurs']['parent'] = array(
'type' => 'organisation',
'champ' => 'id_organisation',
'table' => 'spip_organisations_liens',
'table_condition' => 'role="parent"',
'source_champ' => 'id_objet',
'champ_type' => 'objet'
);
La fonction retourne un tableau de parents, chacun de la forme ['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...'] Si la table utilisée pour trouver le parent est une table de liens (finissant par _liens), le tableau contient en plus en entrée 'lien' qui contient les informations complètes du lien (rang, role...)
Parameters
- $objet : string
-
Type de l'objet dont on cherche les parent
- $id_objet : int
-
Identifiant de l'objet dont on cherche les parent
- $parent_direct_seulement : bool = false
-
ne considerer que les relations directes et non via table de liens
Return values
array<string|int, mixed> —Retourne un tableau décrivant les parents trouvés
objet_lister_parents_par_type()
Fonction helper qui permet de récupérer une liste simplifiée des parents, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
objet_lister_parents_par_type(string $objet, int $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int
Return values
array<string|int, mixed>objet_lister_enfants()
Cherche tous les contenus enfants d'un contenu précis
objet_lister_enfants(string $objet, int $id_objet) : array<string|int, mixed>
comme :
$tables['spip_auteurs']['parent'] = array(
'type' => 'organisation',
'champ' => 'id_organisation',
'table' => 'spip_organisations_liens',
'table_condition' => 'role="parent"',
'source_champ' => 'id_objet',
'champ_type' => 'objet'
);
La fonction retourne un tableau des enfants, chacun de la forme ['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...'] Si la table utilisée pour trouver l'eenfant est une table de liens (finissant par _liens), le tableau contient en plus en entrée 'lien' qui contient les informations complètes du lien (rang, role...)
Parameters
- $objet : string
-
Type de l'objet dont on cherche les enfants
- $id_objet : int
-
Identifiant de l'objet dont on cherche les enfants
Return values
array<string|int, mixed> —Retourne un tableau de tableaux, avec comme clés les types des objets, et dans chacun un tableau des identifiants trouvés
objet_lister_enfants_par_type()
Fonction helper qui permet de récupérer une liste simplifiée des enfants, regroupés par objet [ 'objet1' => [ids...], 'objet2' => [ids...] ]
objet_lister_enfants_par_type(string $objet, int $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int
Return values
array<string|int, mixed>objet_type_decrire_infos_parents()
Donne les informations de parenté directe d'un type d'objet si on en trouve
objet_type_decrire_infos_parents(string $objet) : array<string|int, mixed>|false
Parameters
- $objet : string
-
Type de l'objet dont on cherche les informations de parent
Return values
array<string|int, mixed>|false —Retourne un tableau de tableau contenant les informations de type et de champ pour trouver le parent ou false sinon
objet_type_decrire_infos_enfants()
Donne les informations des enfants directs d'un type d'objet si on en trouve
objet_type_decrire_infos_enfants(string $objet) : array<string|int, mixed>
Parameters
- $objet : string
-
Type de l'objet dont on cherche les informations des enfants
Return values
array<string|int, mixed> —Retourne un tableau de tableaux contenant chacun les informations d'un type d'enfant
base_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
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
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
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
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
Return values
array<string|int, mixed>|boolmaj_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
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
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 :
- le numero de version courant (numéro de version 1.2.3 ou entier)
- le numero de version à atteindre (numéro de version 1.2.3 ou entier)
- le tableau des instructions de mise à jour à exécuter Pour profiter du mécanisme de reprise sur interruption il faut de plus
- le nom de la meta permettant de retrouver tout ca
- 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
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
Return values
intupgrade_test()
Vérifie qu'il est possible d'ajouter une colonne à une table SQL
upgrade_test() : bool
Tags
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.
autoriser_sans_cookie()
Prédicat sur les scripts de ecrire qui n'authentifient pas par cookie et beneficient d'une exception
autoriser_sans_cookie(string $nom[, bool $strict = false ]) : bool
Parameters
- $nom : string
- $strict : bool = false
Return values
boolverifier_visiteur()
Retourne le statut du visiteur s'il s'annonce.
verifier_visiteur() : string|0|false
Pour que cette fonction marche depuis mes_options, il faut forcer l'init si ce n'est fait mais on risque de perturber des plugins en initialisant trop tot certaines constantes.
Return values
string|0|falsespip_session()
Renvoie une chaîne qui identifie la session courante
spip_session([bool $force = false ]) : string
Permet de savoir si on peut utiliser un cache enregistré pour cette session. Cette chaîne est courte (8 cars) pour pouvoir être utilisée dans un nom de fichier cache.
Parameters
- $force : bool = false
Tags
Return values
string —Identifiant de la session
generer_form_ecrire()
Retourne un formulaire (POST par défaut) vers un script exec de l’interface privée
generer_form_ecrire(string $script, string $corps[, string $atts = '' ][, string $submit = '' ]) : string
Parameters
- $script : string
-
Nom de la page exec
- $corps : string
-
Contenu du formulaire
- $atts : string = ''
-
Si présent, remplace les arguments par défaut (method=post) par ceux indiqués
- $submit : string = ''
-
Si indiqué, un bouton de soumission est créé avec texte sa valeur.
Return values
string —Code HTML du formulaire
generer_form_action()
Générer un formulaire pour lancer une action vers $script
generer_form_action(string $script, string $corps[, string $atts = '' ][, bool $public = false ]) : string
Attention, JS/Ajax n'aime pas le melange de param GET/POST On n'applique pas la recommandation ci-dessus pour les scripts publics qui ne sont pas destines a etre mis en signets
Parameters
- $script : string
- $corps : string
- $atts : string = ''
- $public : bool = false
Return values
string_T()
Traduction des textes de SPIP
_T(string $texte[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string
Traduit une clé de traduction en l'obtenant dans les fichiers de langues.
Parameters
- $texte : string
-
Clé de traduction
- $args : array<string|int, mixed> = []
-
Couples (variable => valeur) pour passer des variables à la chaîne traduite. la variable spip_lang permet de forcer la langue
- $options : array<string|int, mixed> = []
-
- string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
- bool force : forcer un retour meme si la chaine n'a pas de traduction
- bool sanitize : nettoyer le html suspect dans les arguments
Tags
Return values
string —texte
_L()
Remplace les variables `@...@` par leur valeur dans une chaîne de langue.
_L(string $text[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string
Cette fonction est également appelée dans le code source de SPIP quand une chaîne n'est pas encore dans les fichiers de langue.
Parameters
- $text : string
-
texte
- $args : array<string|int, mixed> = []
-
Couples (variable => valeur) à transformer dans le texte
- $options : array<string|int, mixed> = []
-
- string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine
- bool sanitize : nettoyer le html suspect dans les arguments
Tags
Return values
string —texte
lang_select()
Sélectionne la langue donnée en argument et mémorise la courante
lang_select([null|string $lang = null ]) : string
Restaure l'ancienne langue si appellée sans argument.
Parameters
- $lang : null|string = null
-
- string : Langue à appliquer,
- null : Pour restituer la dernière langue mémorisée.
Tags
Return values
string —- string Langue utilisée.
spip_initialisation()
Fonction d'initialisation groupée pour compatibilité ascendante
spip_initialisation([string $pi = null ][, string $pa = null ][, string $ti = null ][, string $ta = null ]) : mixed
Parameters
- $pi : string = null
-
Répertoire permanent inaccessible
- $pa : string = null
-
Répertoire permanent accessible
- $ti : string = null
-
Répertoire temporaire inaccessible
- $ta : string = null
-
Répertoire temporaire accessible
spip_initialisation_core()
Fonction d'initialisation, appellée dans inc_version ou mes_options
spip_initialisation_core([string $pi = null ][, string $pa = null ][, string $ti = null ][, string $ta = null ]) : mixed
Elle définit les répertoires et fichiers non partageables et indique dans $test_dirs ceux devant être accessibles en écriture mais ne touche pas à cette variable si elle est déjà définie afin que mes_options.php puisse en spécifier d'autres.
Elle définit ensuite les noms des fichiers et les droits. Puis simule un register_global=on sécurisé.
Parameters
- $pi : string = null
-
Répertoire permanent inaccessible
- $pa : string = null
-
Répertoire permanent accessible
- $ti : string = null
-
Répertoire temporaire inaccessible
- $ta : string = null
-
Répertoire temporaire accessible
spip_initialisation_suite()
Complements d'initialisation non critiques pouvant etre realises par les plugins
spip_initialisation_suite() : mixed
init_var_mode()
Repérer les variables d'URL spéciales `var_mode` qui conditionnent la validité du cache ou certains affichages spéciaux.
init_var_mode() : mixed
Le paramètre d'URL var_mode
permet de
modifier la pérennité du cache, recalculer des urls
ou d'autres petit caches (trouver_table, css et js compactes ...),
d'afficher un écran de débug ou des traductions non réalisées.
En fonction de ces paramètres dans l'URL appelante, on définit
da constante _VAR_MODE
qui servira ensuite à SPIP.
Le paramètre var_mode
accepte ces valeurs :
calcul
: force un calcul du cache de la page (sans forcément recompiler les squelettes)recalcul
: force un calcul du cache de la page en recompilant au préabable les squelettesinclure
: modifie l'affichage en ajoutant visuellement le nom de toutes les inclusions qu'elle contientdebug
: modifie l'affichage activant le mode "debug"preview
: modifie l'affichage en ajoutant aux boucles les éléments prévisualisablestraduction
: modifie l'affichage en affichant des informations sur les chaînes de langues utiliséesurls
: permet de recalculer les URLs des objets appelés dans la page par les balises#URL_xx
images
: permet de recalculer les filtres d'images utilisés dans la page
En dehors des modes calcul
et recalcul
, une autorisation 'previsualiser' ou 'debug' est testée.
Tags
action_cron()
Action qui déclenche une tache de fond
action_cron() : mixed
Tags
cron()
Exécution des tâches de fond
cron([array<string|int, mixed> $taches = [] ][, array<string|int, mixed> $taches_old = [] ]) : bool
Parameters
- $taches : array<string|int, mixed> = []
-
Tâches forcées
- $taches_old : array<string|int, mixed> = []
-
Tâches forcées, pour compat avec ancienne syntaxe
Tags
Return values
bool —True si la tache a pu être effectuée
job_queue_add()
Ajout d'une tache dans la file d'attente
job_queue_add(string $function, string $description[, array<string|int, mixed> $arguments = [] ][, string $file = '' ][, bool $no_duplicate = false ][, int $time = 0 ][, int $priority = 0 ]) : int
Parameters
- $function : string
-
Le nom de la fonction PHP qui doit être appelée.
- $description : string
-
Une description humainement compréhensible de ce que fait la tâche (essentiellement pour l’affichage dans la page de suivi de l’espace privé)
- $arguments : array<string|int, mixed> = []
-
Facultatif, vide par défaut : les arguments qui seront passés à la fonction, sous forme de tableau PHP
- $file : string = ''
-
Facultatif, vide par défaut : nom du fichier à inclure, via
include_spip($file)
exemple :'inc/mail'
: il ne faut pas indiquer .php Si le nom finit par un '/' alors on considère que c’est un répertoire et SPIP fera uncharger_fonction($function, $file)
- $no_duplicate : bool = false
-
Facultatif,
false
par défaut- si
true
la tâche ne sera pas ajoutée si elle existe déjà en file d’attente avec la même fonction et les mêmes arguments. - si
function_only
la tâche ne sera pas ajoutée si elle existe déjà en file d’attente avec la même fonction indépendamment de ses arguments
- si
- $time : int = 0
-
Facultatif,
0
par défaut : indique la date sous forme de timestamp à laquelle la tâche doit être programmée. Si0
ou une date passée, la tâche sera exécutée aussitôt que possible (en général en fin hit, en asynchrone). - $priority : int = 0
-
Facultatif,
0
par défaut : indique un niveau de priorité entre -10 et +10. Les tâches sont exécutées par ordre de priorité décroissante, une fois leur date d’exécution passée. La priorité est surtout utilisée quand une tâche cron indique qu’elle n’a pas fini et doit être relancée : dans ce cas SPIP réduit sa priorité pour être sûr que celle tâche ne monopolise pas la file d’attente.
Return values
int —Le numéro de travail ajouté ou 0
si aucun travail n’a été ajouté.
job_queue_remove()
Supprimer une tache de la file d'attente
job_queue_remove(int $id_job) : bool
Parameters
- $id_job : int
-
id of jonb to delete
Return values
booljob_queue_link()
Associer une tache a un/des objets de SPIP
job_queue_link(int $id_job, array<string|int, mixed> $objets) : mixed
Parameters
- $id_job : int
-
id of job to link
- $objets : array<string|int, mixed>
-
can be a simple array('objet'=>'article', 'id_objet'=>23) or an array of simple array to link multiples objet in one time
queue_sleep_time_to_next_job()
Renvoyer le temps de repos restant jusqu'au prochain job
queue_sleep_time_to_next_job([int|bool $force = null ]) : int|null
Parameters
- $force : int|bool = null
-
Utilisée par
queue_set_next_job_time()
pour mettre à jour la valeur :- si
true
, force la relecture depuis le fichier - si int, affecte la static directement avec la valeur
- si
Tags
Return values
int|null —0
si un job est à traiternull
si la queue n'est pas encore initialisée
charger_fonction()
Cherche une fonction surchargeable et en retourne le nom exact, après avoir chargé le fichier la contenant si nécessaire.
charger_fonction(string $nom[, string $dossier = 'exec' ][, bool $continue = false ]) : string
Charge un fichier (suivant les chemins connus) et retourne si elle existe
le nom de la fonction homonyme $dir_$nom
, ou suffixé $dir_$nom_dist
Peut être appelé plusieurs fois, donc optimisé.
Parameters
- $nom : string
-
Nom de la fonction (et du fichier)
- $dossier : string = 'exec'
-
Nom du dossier conteneur
- $continue : bool = false
-
true pour ne pas râler si la fonction n'est pas trouvée
Tags
Return values
string —Nom de la fonction, ou false.
include_once_check()
Inclusion unique avec verification d'existence du fichier + log en crash sinon
include_once_check(string $file) : bool
Parameters
- $file : string
Return values
boolinclude_spip()
Inclut un fichier PHP (en le cherchant dans les chemins)
include_spip(string $f[, bool $include = true ]) : string|bool
Parameters
- $f : string
-
Nom du fichier (sans l'extension)
- $include : bool = true
-
- true pour inclure le fichier,
- false ne fait que le chercher
Tags
Return values
string|bool —- false : fichier introuvable
- string : chemin du fichier trouvé
require_spip()
Requiert un fichier PHP (en le cherchant dans les chemins)
require_spip(string $f) : string|bool
Parameters
- $f : string
-
Nom du fichier (sans l'extension)
Tags
Return values
string|bool —- false : fichier introuvable
- string : chemin du fichier trouvé
include_fichiers_fonctions()
Raccourci pour inclure mes_fonctions.php et tous les fichiers _fonctions.php des plugin quand on a besoin dans le PHP de filtres/fonctions qui y sont definis
include_fichiers_fonctions() : mixed
charger_fonction_url()
Charger la fonction de gestion des urls si elle existe
charger_fonction_url(string $quoi[, string $type = '' ]) : string
Parameters
- $quoi : string
-
'page' 'objet' 'decoder' ou objet spip pour lequel on cherche la fonction url par defaut (si type==='defaut')
- $type : string = ''
-
type des urls (par defaut la meta type_urls) ou 'defaut' pour trouver la fonction par defaut d'un type d'objet
Return values
stringtrouve_modele()
Trouve un squelette dans le repertoire modeles/
trouve_modele(mixed $nom) : string
Parameters
- $nom : mixed
Return values
stringtrouver_fond()
Trouver un squelette dans le chemin on peut specifier un sous-dossier dans $dir si $pathinfo est a true, retourne un tableau avec les composantes du fichier trouve + le chemin complet sans son extension dans fond
trouver_fond(string $nom[, string $dir = '' ][, bool $pathinfo = false ]) : array<string|int, mixed>|string
Parameters
- $nom : string
- $dir : string = ''
- $pathinfo : bool = false
Return values
array<string|int, mixed>|stringaider()
Retourne un lien vers une aide
aider([string $aide = '' ][, bool $distante = false ]) : Lien
Aide, aussi depuis l'espace privé à présent. Surchargeable mais pas d'erreur fatale si indisponible.
Parameters
- $aide : string = ''
-
Cle d'identification de l'aide desiree
- $distante : bool = false
-
Generer une url locale (par defaut) ou une url distante [directement sur spip.net]
Return values
Lien —sur une icone d'aide
tester_url_ecrire()
Teste, pour un nom de page de l'espace privé, s'il est possible de générer son contenu.
tester_url_ecrire(string $nom) : string
Dans ce cas, on retourne la fonction d'exécution correspondante à utiliser
(du répertoire ecrire/exec
). Deux cas particuliers et prioritaires :
fond
est retourné si des squelettes existent.
fond
: pour des squelettes deprive/squelettes/contenu
ou pour des objets éditoriaux dont les squelettes seront échaffaudés
Parameters
- $nom : string
-
Nom de la page
Return values
string —Nom de l'exec, sinon chaîne vide.
spip_logger()
Obtenir un logger compatible Psr\Log
spip_logger([string|null $name = null ]) : LoggerInterface
Parameters
- $name : string|null = null
Tags
Return values
LoggerInterfacespip_log()
Enregistrement des événements
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
journal()
Enregistrement des journaux
journal(string $phrase[, array<string|int, mixed> $opt = [] ]) : mixed
Parameters
- $phrase : string
-
texte du journal
- $opt : array<string|int, mixed> = []
-
Tableau d'options
Tags
spip_paths()
Return unique Aggregator class
spip_paths([null|array<string|int, mixed> $add = null ]) : AggregatorInterface
Parameters
- $add : null|array<string|int, mixed> = null
-
List of «plugins» directories to add
Return values
AggregatorInterfacespip_paths_loader()
spip_paths_loader() : Loader
Return values
Loader_chemin()
Gestion des chemins (ou path) de recherche de fichiers par SPIP
_chemin([string|array<string|int, mixed>|null $dir_path = null ]) : array<string|int, mixed>
Empile de nouveaux chemins (à la suite de ceux déjà présents, mais avant
le répertoire squelettes
ou les dossiers squelettes), si un répertoire
(ou liste de répertoires séparés par :
) lui est passé en paramètre.
Ainsi, si l'argument est de la forme dir1:dir2:dir3
, ces 3 chemins sont placés
en tête du path, dans cet ordre (hormis squelettes
& la globale
$dossier_squelette
si définie qui resteront devant)
Retourne dans tous les cas la liste des chemins.
Parameters
- $dir_path : string|array<string|int, mixed>|null = null
-
- Répertoire(s) à empiler au path
Tags
Return values
array<string|int, mixed> —Liste des chemins, par ordre de priorité.
creer_chemin()
Retourne la liste des chemins connus de SPIP, dans l'ordre de priorité
creer_chemin() : array<string|int, mixed>
Return values
array<string|int, mixed> —Liste de chemins
lister_themes_prives()
Retourne la liste des thèmes du privé utilisables pour cette session
lister_themes_prives() : array<string|int, string>
Tags
Return values
array<string|int, string> —Nom des thèmes.
find_in_theme()
find_in_theme(mixed $file[, mixed $subdir = '' ][, mixed $include = false ]) : mixed
Parameters
- $file : mixed
- $subdir : mixed = ''
- $include : mixed = false
chemin_image()
Cherche une image dans les dossiers d'images
chemin_image(string $icone) : string
Cherche en priorité dans les thèmes d'image (prive/themes/X/images) et si la fonction n'en trouve pas, gère le renommage des icones (ex: 'supprimer' => 'del') de facon temporaire le temps de la migration, et cherche de nouveau.
Si l'image n'est toujours pas trouvée, on la cherche dans les chemins,
dans le répertoire défini par la constante _NOM_IMG_PACK
Parameters
- $icone : string
-
Nom de l'icone cherchée
Tags
Return values
string —- Chemin complet de l'icone depuis la racine si l'icone est trouée,
- sinon chaîne vide.
find_in_path()
Recherche un fichier dans les chemins de SPIP (squelettes, plugins, core)
find_in_path(string $file[, string $dirname = '' ][, bool|string $include = false ]) : string|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
Return values
string|null —- string : chemin du fichier trouvé
- null : fichier introuvable
clear_path_cache()
clear_path_cache() : mixed
load_path_cache()
load_path_cache() : mixed
save_path_cache()
save_path_cache() : mixed
find_all_in_path()
Trouve tous les fichiers du path correspondants à un pattern
find_all_in_path(string $dir, string $pattern[, bool $recurs = false ][, bool $all_files = false ]) : array<string|int, mixed>
Pour un nom de fichier donné, ne retourne que le premier qui sera trouvé
par un find_in_path()
, sauf si l'option all_files
est activée.
Parameters
- $dir : string
- $pattern : string
- $recurs : bool = false
- $all_files : bool = false
Tags
Return values
array<string|int, mixed>minipipe()
Exécute une fonction (appellée par un pipeline) avec la donnée transmise.
minipipe(string $fonc, string|array<string|int, mixed> &$val) : string|array<string|int, mixed>
Un pipeline est lie a une action et une valeur chaque element du pipeline est autorise a modifier la valeur le pipeline execute les elements disponibles pour cette action, les uns apres les autres, et retourne la valeur finale
Cf. compose_filtres dans references.php, qui est la version compilee de cette fonctionnalite appel unitaire d'une fonction du pipeline utilisee dans le script pipeline precompile
on passe $val par reference pour limiter les allocations memoire
Parameters
- $fonc : string
-
Nom de la fonction appelée par le pipeline
- $val : string|array<string|int, mixed>
-
Les paramètres du pipeline, son environnement
Return values
string|array<string|int, mixed> —Les paramètres du pipeline modifiés
pipeline()
Appel d’un pipeline
pipeline(string $action[, mixed $val = null ]) : mixed|null
Exécute le pipeline souhaité, éventuellement avec des données initiales. Chaque plugin qui a demandé à voir ce pipeline vera sa fonction spécifique appelée. Les fonctions (des plugins) appelées peuvent modifier à leur guise le contenu.
Deux types de retours. Si $val
est un tableau de 2 éléments, avec une clé data
on retourne uniquement ce contenu ($val['data']
) sinon on retourne tout $val
.
Parameters
- $action : string
-
Nom du pipeline
- $val : mixed = null
-
Données à l’entrée du pipeline
Tags
Return values
mixed|null —Résultat
_request()
Renvoie le `$_GET` ou le `$_POST` émis par l'utilisateur ou pioché dans un tableau transmis
_request(string $var[, bool|array<string|int, mixed> $c = false ]) : mixed|null
Parameters
- $var : string
-
Clé souhaitée
- $c : bool|array<string|int, mixed> = false
-
Tableau transmis (sinon cherche dans GET ou POST)
Return values
mixed|null —- null si la clé n'a pas été trouvée
- la valeur de la clé sinon.
set_request()
Affecte une valeur à une clé (pour usage avec `_request()`)
set_request(string $var[, string $val = null ][, bool|array<string|int, mixed> $c = false ]) : array<string|int, mixed>|bool
Parameters
- $var : string
-
Nom de la clé
- $val : string = null
-
Valeur à affecter
- $c : bool|array<string|int, mixed> = false
-
Tableau de données (sinon utilise
$_GET
et$_POST
)
Tags
Return values
array<string|int, mixed>|bool —- array $c complété si un $c est transmis,
- false sinon
spip_sanitize_from_request()
Sanitizer une valeur *SI* elle provient du GET ou POST Utile dans les squelettes pour les valeurs qu'on attrape dans le env, dont on veut permettre à un squelette de confiance appelant de fournir une valeur complexe mais qui doit etre nettoyee si elle provient de l'URL
spip_sanitize_from_request(string|array<string|int, mixed> $value, string|array<string|int, mixed> $key[, string $sanitize_function = 'entites_html' ]) : array<string|int, mixed>|mixed|string
On peut sanitizer
- une valeur simple :
$where = spip_sanitize_from_request($value, 'where')
- un tableau en partie :
$env = spip_sanitize_from_request($env, ['key1','key2'])
- un tableau complet :
$env = spip_sanitize_from_request($env, '*')
Parameters
- $value : string|array<string|int, mixed>
- $key : string|array<string|int, mixed>
- $sanitize_function : string = 'entites_html'
Return values
array<string|int, mixed>|mixed|stringspip_desinfecte()
Supprimer les éventuels caracteres nuls %00, qui peuvent tromper la commande is_readable('chemin/vers/fichier/interdit%00truc_normal').
spip_desinfecte(array<string|int, mixed> &$t[, bool $deep = true ]) : mixed
Cette fonction est appliquée par SPIP à son initialisation sur GET/POST/COOKIES/GLOBALS
Parameters
- $t : array<string|int, mixed>
-
le tableau ou la chaine à desinfecter (passage par référence)
- $deep : bool = true
-
= true : appliquer récursivement
spip_sanitize_classname()
Nettoie une chaine pour servir comme classes CSS.
spip_sanitize_classname(string|array<string|int, string> $classes) : string|array<string|int, string>
Parameters
- $classes : string|array<string|int, string>
Tags
Return values
string|array<string|int, string>erreur_squelette()
Génère une erreur de squelette
erreur_squelette([bool|string|array<string|int, mixed> $message = '' ][, string|array<string|int, mixed>|object $lieu = '' ]) : null|string
Génère une erreur de squelette qui sera bien visible par un administrateur authentifié lors d'une visite de la page en erreur
Parameters
- $message : bool|string|array<string|int, mixed> = ''
-
- Message d'erreur (string|array)
- false pour retourner le texte des messages d'erreurs
- vide pour afficher les messages d'erreurs
- $lieu : string|array<string|int, mixed>|object = ''
-
Lieu d'origine de l'erreur
Return values
null|string —- Rien dans la plupart des cas
- string si $message à false.
recuperer_fond()
Calcule un squelette avec un contexte et retourne son contenu
recuperer_fond(mixed $fond[, array<string|int, mixed> $contexte = [] ][, array<string|int, mixed> $options = [] ][, string $connect = '' ]) : string|array<string|int, mixed>
La fonction de base de SPIP : un squelette + un contexte => une page. $fond peut etre un nom de squelette, ou une liste de squelette au format array. Dans ce dernier cas, les squelettes sont tous evalues et mis bout a bout $options permet de selectionner les options suivantes :
- trim => true (valeur par defaut) permet de ne rien renvoyer si le fond ne produit que des espaces ;
- raw => true permet de recuperer la strucure $page complete avec entetes et invalideurs pour chaque $fond fourni.
Parameters
- $fond : mixed
- $contexte : array<string|int, mixed> = []
-
- Informations de contexte envoyées au squelette, array('id_rubrique' => 8)
- La langue est transmise automatiquement (sauf option étoile).
- $options : array<string|int, mixed> = []
-
Options complémentaires :
- trim : applique un trim sur le résultat (true par défaut)
- raw : retourne un tableau d'information sur le squelette (false par défaut)
- etoile : ne pas transmettre la langue au contexte automatiquement (false par défaut), équivalent de INCLURE*
- ajax : gere les liens internes du squelette en ajax (équivalent du paramètre {ajax})
- $connect : string = ''
-
Non du connecteur de bdd a utiliser
Return values
string|array<string|int, mixed> —- Contenu du squelette calculé
- ou tableau d'information sur le squelette.
quote_amp()
Transformation XML des `&` en `&`
quote_amp(string $u) : string
Parameters
- $u : string
Tags
Return values
stringtester_url_absolue()
Tester si une URL est absolue
tester_url_absolue(string $url) : bool
On est sur le web, on exclut certains protocoles, notamment 'file://', 'php://' et d'autres…
Parameters
- $url : string
Return values
boolparametre_url()
Prend une URL et lui ajoute/retire un paramètre
parametre_url(string $url, string $c[, string|array<string|int, mixed>|null $v = null ][, string $sep = '&' ]) : string
Parameters
- $url : string
-
URL
- $c : string
-
Nom du paramètre
- $v : string|array<string|int, mixed>|null = null
-
Valeur du paramètre
- $sep : string = '&'
-
Séparateur entre les paramètres
Tags
Return values
string —URL
ancre_url()
Ajoute (ou retire) une ancre sur une URL
ancre_url(string $url[, string|null $ancre = '' ]) : string
L’ancre est nettoyée : on translitère, vire les non alphanum du début,
et on remplace ceux à l'interieur ou au bout par -
Parameters
- $url : string
- $ancre : string|null = ''
Tags
Return values
stringnettoyer_uri()
Pour le nom du cache, les `types_urls` et `self`
nettoyer_uri([string|null $reset = null ]) : string
Parameters
- $reset : string|null = null
Return values
stringnettoyer_uri_var()
Nettoie une URI de certains paramètres (var_xxx, utm_xxx, etc.)
nettoyer_uri_var(string $request_uri) : string
La regexp des paramètres nettoyés est calculée à partir de la constante _CONTEXTE_IGNORE_LISTE_VARIABLES
(qui peut être redéfinie dans mes_options.php)
Parameters
- $request_uri : string
Tags
Return values
stringself()
Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles
self([string $amp = '&' ][, bool $root = false ]) : string
Parameters
- $amp : string = '&'
-
Style des esperluettes
- $root : bool = false
Return values
string —URL vers soi-même
generer_objet_url()
Fonction codant les URLs des objets SQL mis en page par SPIP
generer_objet_url(int|string|null $id, string $entite[, string $args = '' ][, string $ancre = '' ][, bool|null $public = null ][, string $type = '' ][, string $connect = '' ]) : string
Parameters
- $id : int|string|null
-
numero de la cle primaire si nombre
- $entite : string
-
surnom de la table SQL (donne acces au nom de cle primaire)
- $args : string = ''
-
query_string a placer apres cle=$id&....
- $ancre : string = ''
-
ancre a mettre a la fin de l'URL a produire
- $public : bool|null = null
-
produire l'URL publique ou privee (par defaut: selon espace)
- $type : string = ''
-
fichier dans le repertoire ecrire/urls determinant l'apparence
- $connect : string = ''
-
serveur de base de donnee (nom du connect)
Return values
string —url codee ou fonction de decodage
generer_url_entite()
generer_url_entite([mixed $id = 0 ][, mixed $entite = '' ][, mixed $args = '' ][, mixed $ancre = '' ][, mixed $public = null ][, mixed $type = null ]) : mixed
Parameters
- $id : mixed = 0
- $entite : mixed = ''
- $args : mixed = ''
- $ancre : mixed = ''
- $public : mixed = null
- $type : mixed = null
Tags
generer_objet_url_ecrire_edit()
Generer l'url vers la page d'edition dans ecrire/
generer_objet_url_ecrire_edit(int|string|null $id, string $entite[, string $args = '' ][, string $ancre = '' ]) : string
Parameters
- $id : int|string|null
- $entite : string
- $args : string = ''
- $ancre : string = ''
Return values
stringgenerer_url_ecrire_entite_edit()
generer_url_ecrire_entite_edit(mixed $id, mixed $entite[, mixed $args = '' ][, mixed $ancre = '' ]) : mixed
Parameters
- $id : mixed
- $entite : mixed
- $args : mixed = ''
- $ancre : mixed = ''
Tags
urls_connect_dist()
urls_connect_dist(mixed $i, mixed &$entite[, mixed $args = '' ][, mixed $ancre = '' ][, mixed $public = null ]) : mixed
Parameters
- $i : mixed
- $entite : mixed
- $args : mixed = ''
- $ancre : mixed = ''
- $public : mixed = null
urlencode_1738()
Transformer les caractères utf8 d'une URL (farsi par exemple) selon la RFC 1738
urlencode_1738(string $url) : string
Parameters
- $url : string
Return values
stringgenerer_objet_url_absolue()
Generer l'url absolue vers un objet
generer_objet_url_absolue([int|string|null $id = 0 ][, string $entite = '' ][, string $args = '' ][, string $ancre = '' ][, bool|null $public = null ][, string $type = '' ][, string $connect = '' ]) : string
Parameters
- $id : int|string|null = 0
- $entite : string = ''
- $args : string = ''
- $ancre : string = ''
- $public : bool|null = null
- $type : string = ''
- $connect : string = ''
Return values
stringgenerer_url_entite_absolue()
generer_url_entite_absolue([mixed $id = 0 ][, mixed $entite = '' ][, mixed $args = '' ][, mixed $ancre = '' ][, mixed $connect = null ]) : mixed
Parameters
- $id : mixed = 0
- $entite : mixed = ''
- $args : mixed = ''
- $ancre : mixed = ''
- $connect : mixed = null
Tags
url_de_base()
Calcule l'url de base du site
url_de_base([int|bool|array<string|int, mixed> $profondeur = null ]) : string|array<string|int, mixed>
Calcule l'URL de base du site, en priorité sans se fier à la méta (adresse_site) qui peut être fausse (sites avec plusieurs noms d’hôtes, déplacements, erreurs). En dernier recours, lorsqu'on ne trouve rien, on utilise adresse_site comme fallback.
Parameters
- $profondeur : int|bool|array<string|int, mixed> = null
-
- si non renseignée : retourne l'url pour la profondeur $GLOBALS['profondeur_url']
- si int : indique que l'on veut l'url pour la profondeur indiquée
- si bool : retourne le tableau static complet
- si array : réinitialise le tableau static complet avec la valeur fournie
Tags
Return values
string|array<string|int, mixed>url_de_()
fonction testable de construction d'une url appelee par url_de_base()
url_de_(string $http, string $host, string $request[, int $prof = 0 ]) : string
Parameters
- $http : string
- $host : string
- $request : string
- $prof : int = 0
Return values
stringgenerer_url_ecrire()
Crée une URL vers un script de l'espace privé
generer_url_ecrire([string $script = '' ][, string $args = '' ][, bool $no_entities = false ][, bool|string $rel = false ]) : string
Parameters
- $script : string = ''
-
Nom de la page privée (xx dans exec=xx)
- $args : string = ''
-
Arguments à transmettre, tel que
arg1=yy&arg2=zz
- $no_entities : bool = false
-
Si false : transforme les
&
en&
- $rel : bool|string = false
-
URL relative ?
- false : l’URL sera complète et contiendra l’URL du site
- true : l’URL sera relavive.
- string : on transmet l'url à la fonction
Tags
Return values
string —URL
get_spip_script()
Retourne le nom du fichier d'exécution de SPIP
get_spip_script([string $default = '' ]) : string
Parameters
- $default : string = ''
-
Script par défaut
Tags
Return values
string —Nom du fichier (constante _SPIP_SCRIPT), sinon nom par défaut
generer_url_public()
Crée une URL vers une page publique de SPIP
generer_url_public([string $script = '' ][, string|array<string|int, mixed> $args = '' ][, bool $no_entities = false ][, bool $rel = true ][, string $action = '' ]) : string
Parameters
- $script : string = ''
-
Nom de la page
- $args : string|array<string|int, mixed> = ''
-
Arguments à transmettre a l'URL, soit sous la forme d'un string tel que
arg1=yy&arg2=zz
soit sous la forme d'un array tel que array(arg1
=>yy
,arg2
=>zz
) - $no_entities : bool = false
-
Si false : transforme les
&
en&
- $rel : bool = true
-
URL relative ?
- false : l’URL sera complète et contiendra l’URL du site
- true : l’URL sera relavive.
- $action : string = ''
-
- Fichier d'exécution public (spip.php par défaut)
Tags
Return values
string —URL
generer_url_prive()
generer_url_prive(mixed $script[, mixed $args = '' ][, mixed $no_entities = false ]) : mixed
Parameters
- $script : mixed
- $args : mixed = ''
- $no_entities : mixed = false
generer_url_action()
Créer une URL
generer_url_action(string $script[, string $args = '' ][, bool $no_entities = false ][, bool $public = false ]) : string
Parameters
- $script : string
-
Nom du script à exécuter
- $args : string = ''
-
Arguments à transmettre a l'URL sous la forme
arg1=yy&arg2=zz
- $no_entities : bool = false
-
Si false : transforme les & en &
- $public : bool = false
-
URL relative ? false : l’URL sera complète et contiendra l’URL du site. true : l’URL sera relative.
Return values
string —URL
generer_url_api()
Créer une URL
generer_url_api(string $script, string $path, string $args[, bool $no_entities = false ][, bool $public = null ]) : string
Parameters
- $script : string
-
Nom du script à exécuter
- $path : string
- $args : string
-
Arguments à transmettre a l'URL sous la forme
arg1=yy&arg2=zz
- $no_entities : bool = false
-
Si false : transforme les & en &
- $public : bool = null
-
URL public ou relative a l'espace ou l'on est ?
Return values
string —URL
test_plugin_actif()
Vérifie la présence d'un plugin actif, identifié par son préfixe
test_plugin_actif(string $plugin) : bool
Parameters
- $plugin : string
Return values
booljoli_repertoire()
Retourne un joli chemin de répertoire
joli_repertoire(string $rep) : string
Pour afficher ecrire/action/
au lieu de action/
dans les messages
ou tmp/
au lieu de ../tmp/
Parameters
- $rep : string
-
Chemin d’un répertoire
Return values
stringspip_timer()
Débute ou arrête un chronomètre et retourne sa valeur
spip_timer([string $t = 'rien' ][, bool $raw = false ]) : float|int|string|void
On exécute 2 fois la fonction, la première fois pour démarrer le chrono, la seconde fois pour l’arrêter et récupérer la valeur
Parameters
- $t : string = 'rien'
-
Nom du chronomètre
- $raw : bool = false
-
- false : retour en texte humainement lisible
- true : retour en millisecondes
Tags
Return values
float|int|string|voidspip_touch()
spip_touch(mixed $fichier[, mixed $duree = 0 ][, mixed $touch = true ]) : mixed
Parameters
- $fichier : mixed
- $duree : mixed = 0
- $touch : mixed = true
http_script()
Produit une balise `<script>` valide
http_script(string $script[, string $src = '' ][, string $noscript = '' ]) : string
Parameters
- $script : string
-
Code source du script
- $src : string = ''
-
Permet de faire appel à un fichier javascript distant
- $noscript : string = ''
-
Contenu de la balise
<noscript>
Tags
Return values
string —Balise HTML <script>
et son contenu
texte_script()
Sécurise du texte à écrire dans du PHP ou du Javascript.
texte_script(string|null $texte) : string
Transforme n'importe quel texte en une chaîne utilisable
en PHP ou Javascript en toute sécurité, à l'intérieur d'apostrophes
simples ('
uniquement ; pas "
)
Utile particulièrement en filtre dans un squelettes pour écrire un contenu dans une variable JS ou PHP.
Échappe les apostrophes (') du contenu transmis.
Parameters
- $texte : string|null
-
texte à échapper
Tags
Return values
string —texte échappé
test_valeur_serveur()
Tester qu'une variable d'environnement est active
test_valeur_serveur(string|bool $truc) : bool
Sur certains serveurs, la valeur 'Off' tient lieu de false dans certaines
variables d'environnement comme $_SERVER['HTTPS']
ou ini_get('display_errors')
Parameters
- $truc : string|bool
-
La valeur de la variable d'environnement
Return values
bool —true si la valeur est considérée active ; false sinon.
exec_info_dist()
Page `exec=info` : retourne le contenu de la fonction php `phpinfo()`
exec_info_dist() : mixed
Si l’utiliseur est un webmestre.
html5_permis()
Indique si le code HTML5 est permis sur le site public
html5_permis() : bool
Return values
bool —true si la constante _VERSION_HTML n'est pas définie ou égale à html5
formats_image_acceptables()
Lister les formats image acceptes par les lib et fonctions images
formats_image_acceptables([bool|null $gd = null ][, bool $svg_allowed = true ]) : array<string|int, mixed>
Parameters
- $gd : bool|null = null
- $svg_allowed : bool = true
Return values
array<string|int, mixed>spip_getimagesize()
Extension de la fonction getimagesize pour supporter aussi les images SVG
spip_getimagesize(string $fichier) : array<string|int, mixed>|bool
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>|boolavertir_auteurs()
Poser une alerte qui sera affiche aux auteurs de bon statut ('' = tous) au prochain passage dans l'espace prive chaque alerte doit avoir un nom pour eviter duplication a chaque hit les alertes affichees une fois sont effacees
avertir_auteurs(string $nom, string $message[, string $statut = '' ]) : mixed
Parameters
- $nom : string
- $message : string
- $statut : string = ''
spip_version_compare()
Compare 2 numéros de version entre elles.
spip_version_compare(string $v1, string $v2[, string $op = null ]) : int|bool
Cette fonction est identique (arguments et retours) a la fonction PHP version_compare() qu'elle appelle. Cependant, cette fonction reformate les numeros de versions pour ameliorer certains usages dans SPIP ou bugs dans PHP. On permet ainsi de comparer 3.0.4 à 3.0.* par exemple.
Parameters
- $v1 : string
-
Numero de version servant de base a la comparaison. Ce numero ne peut pas comporter d'etoile.
- $v2 : string
-
Numero de version a comparer. Il peut posseder des etoiles tel que 3.0.*
- $op : string = null
-
Un operateur eventuel (<, >, <=, >=, =, == ...)
Return values
int|bool —Sans operateur : int. -1 pour inferieur, 0 pour egal, 1 pour superieur Avec operateur : bool.
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
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
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
Return values
string —Code HTML
afficher_librairies()
Crée le code HTML de la liste des librairies présentes
afficher_librairies() : string
Tags
Return values
string —Code HTML
liste_librairies()
Faire la liste des librairies disponibles
liste_librairies() : array<string|int, mixed>
Tags
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
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_info_plugin_dist()
Affichage de la description d'un plugin (en ajax)
exec_info_plugin_dist() : mixed
Tags
exec_informer_dist()
Affiche en ajax des informations d'une rubrique selectionnée dans le mini navigateur
exec_informer_dist() : mixed
Tags
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
exec_plonger_dist()
Afficher en ajax les sous-rubriques d'une rubrique (composant du mini-navigateur)
exec_plonger_dist() : mixed
Tags
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
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
exec_rechercher_dist()
Prépare la fonction de recherche ajax du mini navigateur de rubriques
exec_rechercher_dist() : mixed
Tags
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
Return values
stringproposer_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
Return values
stringexec_selectionner_dist()
Affichage en ajax du sélecteur (mini-navigateur) de rubrique AJAX
exec_selectionner_dist() : mixed
Tags
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
intgenie_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
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
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
Return values
stringgenie_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
intmise_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
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
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
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
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
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
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
stringafficher_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
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
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
Return values
void|string —La chaîne hachée si fonction crypt présente, rien sinon.
verifier_htaccess()
Installe ou vérifie un fichier .htaccess, y compris sa prise en compte par Apache
verifier_htaccess(string $rep[, bool $force = false ]) : bool
Parameters
- $rep : string
-
Nom du répertoire où SPIP doit vérifier l'existence d'un fichier .htaccess
- $force : bool = false
Tags
Return values
boolgerer_htaccess()
Créer un fichier .htaccess pour chaque répertoire d'extension dans `_DIR_IMG` si la configuration le demande
gerer_htaccess() : string
Tags
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
&
(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
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
&
(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
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
&
(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
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
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
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
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
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
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
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
boolauth_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>|stringauth_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|stringauth_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|boolauth_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
stringauth_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
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 encoreldap
. - $defaut : mixed = false
Tags
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
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
stringauth_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
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
boolauth_deloger()
Déconnexion de l'auteur
auth_deloger() : mixed
Tags
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
Return values
boolauth_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
boolauth_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
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
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>|boolask_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
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
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
Return values
boolautoriser_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
stringautoriser_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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Return values
trueautoriser_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
Return values
falseautoriser_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
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
Return values
trueautoriser_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
Return values
trueautoriser_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
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
Return values
trueautoriser_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
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
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
Return values
trueautoriser_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
Return values
trueautoriser_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
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
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
Return values
trueautoriser_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
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
Return values
trueautoriser_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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Return values
array<string|int, Bouton>bandeau_creer_url()
Créer l'URL à partir de exec et args, sauf si c'est déjà une url formatée
bandeau_creer_url(string $url[, string $args = '' ][, array<string|int, mixed>|null $contexte = null ]) : string
Parameters
- $url : string
- $args : string = ''
- $contexte : array<string|int, mixed>|null = null
Return values
stringinc_bandeau_dist()
Construire tout le bandeau supérieur de l'espace privé
inc_bandeau_dist() : string
Return values
string —Code HTML du bandeau
obtenir_menus_favoris()
Retourne la liste des noms d'entrées de menus favoris de l'auteur connecté
obtenir_menus_favoris() : array<string|int, mixed>
Return values
array<string|int, mixed>definir_barre_onglets()
Définir la liste des onglets dans une page de l'interface privée.
definir_barre_onglets(string $script) : array<string|int, mixed>
On passe la main au pipeline "ajouter_onglets".
Parameters
- $script : string
Tags
Return values
array<string|int, mixed>barre_onglets()
Création de la barre d'onglets
barre_onglets(string $rubrique, string $ongletCourant[, string $class = 'barre_onglet' ]) : string
Parameters
- $rubrique : string
- $ongletCourant : string
- $class : string = 'barre_onglet'
Tags
Return values
stringinit_charset()
Initialisation
init_charset() : void
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
test_iconv()
Test le fonctionnement correct d'iconv
test_iconv() : bool
Celui-ci coupe sur certaines versions la chaine quand un caractère n'appartient pas au charset
Tags
Return values
bool —true si iconv fonctionne correctement
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  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 {
;
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
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 Ĉ 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
Return values
stringtranslitteration()
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
Return values
stringtranslitteration_complexe()
Translittération complexe
translitteration_complexe(string|null $texte[, bool $chiffres = false ]) : string
à
est retourné sous la forme a`
et pas à
mais si $chiffre=true
, on retourne a8
(vietnamien)
Parameters
- $texte : string|null
- $chiffres : bool = false
Tags
Return values
stringtranslitteration_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
stringbom_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_utf8()
Vérifie qu'une chaîne est en utf-8 valide
is_utf8(string $string) : bool
Note: preg_replace permet de contourner un "stack overflow" sur PCRE
Parameters
- $string : string
-
texte dont on vérifie qu'il est de l'utf-8
Tags
Return values
bool —true si c'est le cas
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
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
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
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
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
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
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
Return values
string —Code HTML
init_entete()
Envoi du DOCTYPE et du `<head><title> </head>`
init_entete([string $titre = '' ][, int $dummy = 0 ][, bool $minipres = false ]) : string
Parameters
- $titre : string = ''
-
Titre de la page
- $dummy : int = 0
-
Valeur non utilisée…
- $minipres : bool = false
Tags
Return values
string —Entête du fichier HTML avec le DOCTYPE
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
Return values
stringinit_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
Return values
stringinit_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
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
stringinc_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
boolecrire_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
booleffacer_config()
Effacer une configuration : revient a ecrire une valeur null
effacer_config(string $cfg) : bool
Parameters
- $cfg : string
Return values
boolliste_metas()
Définir les `meta` de configuration
liste_metas() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —Couples nom de la meta
=> valeur par défaut
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
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
stringspip_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
Return values
bool —true si le cookie a été posé, false sinon.
spip_cookie_envoye()
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
Return values
boolrecuperer_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
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
vauttrue
.
Parameters
- $choix : null|int|array<string|int, mixed> = null
- $ajouter : bool = false
Tags
Return values
array<string|int, mixed>|stringanalyse_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
stringcvtautosave_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>|falsecvtconf_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
stringcvtconf_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 tablespip_metas
ou stocker (par défaut 'meta')_meta_casier
: nom du casier dans lequel sérialiser (par défaut xx deformulaire_configurer_xx
)_meta_prefixe
: préfixer lesmeta
(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
stringcvtconf_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>|falsecvtmulti_sauver_post()
Sauvegarder les valeurs postees dans une variable encodee pour les recuperer a la prochaine etape
cvtmulti_sauver_post(string $form, bool $je_suis_poste, array<string|int, mixed> &$valeurs) : array<string|int, mixed>
Parameters
- $form : string
- $je_suis_poste : bool
- $valeurs : array<string|int, mixed>
Return values
array<string|int, mixed>cvtmulti_formulaire_charger_etapes()
Charger une etape du cvt multi
cvtmulti_formulaire_charger_etapes(array<string|int, mixed> $args, array<string|int, mixed> $valeurs) : array<string|int, mixed>
Parameters
- $args : array<string|int, mixed>
- $valeurs : array<string|int, mixed>
Return values
array<string|int, mixed>cvtmulti_formulaire_verifier_etapes()
Verifier les etapes de saisie
cvtmulti_formulaire_verifier_etapes(array<string|int, mixed> $args, array<string|int, mixed> $erreurs) : array<string|int, mixed>
Parameters
- $args : array<string|int, mixed>
- $erreurs : array<string|int, mixed>
Return values
array<string|int, mixed>cvtmulti_styliser()
Selectionner le bon fond en fonction de l'etape L'etape 1 est sur le fond sans suffixe Les autres etapes x sont sur le fond _x
cvtmulti_styliser(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
- $flux : array<string|int, mixed>
Return values
array<string|int, mixed>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
Return values
bool|stringvalider_url_distante()
Valider qu'une URL d'un document distant est bien distante et pas une url localhost qui permet d'avoir des infos sur le serveur inspiree de https://core.trac.wordpress.org/browser/trunk/src/wp-includes/http.php?rev=36435#L500
valider_url_distante(string $url[, array<string|int, mixed> $known_hosts = [] ]) : false|string
Parameters
- $url : string
- $known_hosts : array<string|int, mixed> = []
-
url/hosts externes connus et acceptes
Return values
false|string —url ou false en cas d'echec
prepare_donnees_post()
Preparer les donnes pour un POST si $donnees est une chaine - charge a l'envoyeur de la boundariser, de gerer le Content-Type, de séparer les entetes des données par une ligne vide etc... - on traite les retour ligne pour les mettre au bon format - on decoupe en entete/corps (separes par ligne vide) si $donnees est un tableau - structuration en chaine avec boundary si necessaire ou fournie et bon Content-Type
prepare_donnees_post(string|array<string|int, mixed> $donnees[, string $boundary = '' ]) : array{: string, : string}
Parameters
- $donnees : string|array<string|int, mixed>
- $boundary : string = ''
Return values
array{: string, : string} —entete,corps
url_to_ascii()
Convertir une URL dont le host est en utf8 en ascii
url_to_ascii(string $url_idn) : array<string|int, mixed>|string
Parameters
- $url_idn : string
Return values
array<string|int, mixed>|stringrecuperer_url()
Récupère le contenu d'une URL au besoin encode son contenu dans le charset local
recuperer_url(string $url[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|bool
Parameters
- $url : string
- $options : array<string|int, mixed> = []
-
bool transcoder : true si on veut transcoder la page dans le charset du site string methode : Type de requête HTTP à faire (HEAD, GET, POST, PUT, DELETE) int taille_max : Arrêter le contenu au-delà (0 = seulement les entetes ==> requête HEAD). Par defaut taille_max = 1Mo ou 16Mo si copie dans un fichier array headers : tableau associatif d'entetes https a envoyer string|array datas : Pour envoyer des donnees (array) et/ou entetes au complet, avec saut de ligne entre headers et donnees ( string @see prepare_donnees_post()) (force la methode POST si donnees non vide) string boundary : boundary pour formater les datas au format array bool refuser_gz : Pour forcer le refus de la compression (cas des serveurs orthographiques) int if_modified_since : Un timestamp unix pour arrêter la récuperation si la page distante n'a pas été modifiée depuis une date donnée string uri_referer : Pour préciser un référer différent string file : nom du fichier dans lequel copier le contenu int follow_location : nombre de redirections a suivre (0 pour ne rien suivre) string version_http : version du protocole HTTP a utiliser (par defaut defini par la constante _INC_DISTANT_VERSION_HTTP)
Tags
Return values
array<string|int, mixed>|bool —false si echec array sinon : int status : le status de la page string headers : les entetes de la page string page : le contenu de la page (vide si copie dans un fichier) int last_modified : timestamp de derniere modification string location : url de redirection envoyee par la page string url : url reelle de la page recuperee int length : taille du contenu ou du fichier récupéré int content_length : (optionnel) taille annoncée par le serveur distant dans ses headers (si annoncée)
string file : nom du fichier si enregistre dans un fichier
recuperer_url_cache()
Récuperer une URL si on l'a pas déjà dans un cache fichier
recuperer_url_cache(string $url[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|bool|mixed
Le délai de cache est fourni par l'option delai_cache
Les autres options et le format de retour sont identiques à la fonction recuperer_url
Parameters
- $url : string
- $options : array<string|int, mixed> = []
-
int delai_cache : anciennete acceptable pour le contenu (en seconde)
Tags
Return values
array<string|int, mixed>|bool|mixedrecuperer_body()
Recuperer le contenu sur lequel pointe la resource passee en argument $taille_max permet de tronquer de l'url dont on a deja recupere les en-tetes
recuperer_body(resource $handle[, int $taille_max = _INC_DISTANT_MAX_SIZE ][, string $fichier = '' ]) : bool|int|string
Parameters
- $handle : resource
- $taille_max : int = _INC_DISTANT_MAX_SIZE
- $fichier : string = ''
-
fichier dans lequel copier le contenu de la resource
Tags
Return values
bool|int|string —bool false si echec int taille du fichier si argument fichier fourni string contenu de la resource
recuperer_entetes_complets()
Lit les entetes de reponse HTTP sur la socket $handle et retourne false en cas d'echec, un tableau associatif en cas de succes, contenant : - le status - le tableau complet des headers - la date de derniere modif si connue - l'url de redirection si specifiee
recuperer_entetes_complets(resource $handle[, int|bool $if_modified_since = false ]) : bool|array<string|int, mixed>
Parameters
- $handle : resource
- $if_modified_since : int|bool = false
Tags
Return values
bool|array<string|int, mixed> —int status string headers int last_modified string location
nom_fichier_copie_locale()
Calcule le nom canonique d'une copie local d'un fichier distant
nom_fichier_copie_locale(string $source, string $extension) : string
Si on doit conserver une copie locale des fichiers distants, autant que ca soit à un endroit canonique
Parameters
- $source : string
-
URL de la source
- $extension : string
-
Extension du fichier
Tags
Return values
string —Nom du fichier pour copie locale
fichier_copie_locale()
Donne le nom de la copie locale de la source
fichier_copie_locale(string $source) : string|null
Soit obtient l'extension du fichier directement de l'URL de la source, soit tente de le calculer.
Parameters
- $source : string
-
URL de la source distante
Tags
Return values
string|null —- string: Nom du fichier calculé
- null: Copie locale impossible
recuperer_infos_distantes()
Récupérer les infos d'un document distant, sans trop le télécharger
recuperer_infos_distantes(string $source[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|false
Parameters
- $source : string
-
URL de la source
- $options : array<string|int, mixed> = []
-
int $taille_max : Taille maximum du fichier à télécharger bool $charger_si_petite_image : Pour télécharger le document s'il est petit string $callback_valider_url : callback pour valider l'URL finale du document apres redirection
Tags
Return values
array<string|int, mixed>|false —Couples des informations obtenues parmis :
- 'body' = chaine
- 'type_image' = booleen
- 'titre' = chaine
- 'largeur' = intval
- 'hauteur' = intval
- 'taille' = intval
- 'extension' = chaine
- 'fichier' = chaine
- 'mime_type' = chaine
distant_trouver_mime_type_selon_headers()
Retrouver un mime type depuis les headers
distant_trouver_mime_type_selon_headers(string $source, string $headers) : string
Parameters
- $source : string
- $headers : string
Return values
stringdistant_trouver_extension_selon_headers()
Retrouver une extension de fichier depuis les headers
distant_trouver_extension_selon_headers(string $source, string $headers) : false|string
Parameters
- $source : string
- $headers : string
Return values
false|stringneed_proxy()
Tester si un host peut etre recuperer directement ou doit passer par un proxy
need_proxy(string $host[, string $http_proxy = null ][, string $http_noproxy = null ]) : string
On peut passer en parametre le proxy et la liste des host exclus, pour les besoins des tests, lors de la configuration
Parameters
- $host : string
- $http_proxy : string = null
- $http_noproxy : string = null
Return values
stringinit_http()
Initialise une requete HTTP avec entetes
init_http(string $method, string $url[, bool $refuse_gz = false ][, string $referer = '' ][, string $datas = '' ][, string $vers = 'HTTP/1.0' ][, string $date = '' ]) : array<string|int, mixed>
Décompose l'url en son schema+host+path+port et lance la requete. Retourne le descripteur sur lequel lire la réponse.
Parameters
- $method : string
-
HEAD, GET, POST
- $url : string
- $refuse_gz : bool = false
- $referer : string = ''
- $datas : string = ''
- $vers : string = 'HTTP/1.0'
- $date : string = ''
Tags
Return values
array<string|int, mixed>lance_requete()
Lancer la requete proprement dite
lance_requete(string $method, string $scheme, array<string|int, mixed> $user, string $host, string $path, string $port, bool $noproxy[, bool $refuse_gz = false ][, string $referer = '' ][, string $datas = '' ][, string $vers = 'HTTP/1.0' ][, int|string $date = '' ]) : bool|resource
Parameters
- $method : string
-
type de la requete (GET, HEAD, POST...)
- $scheme : string
-
protocole (http, tls, ftp...)
- $user : array<string|int, mixed>
-
couple (utilisateur, mot de passe) en cas d'authentification http
- $host : string
-
nom de domaine
- $path : string
-
chemin de la page cherchee
- $port : string
-
port utilise pour la connexion
- $noproxy : bool
-
protocole utilise si requete sans proxy
- $refuse_gz : bool = false
-
refuser la compression GZ
- $referer : string = ''
-
referer
- $datas : string = ''
-
donnees postees
- $vers : string = 'HTTP/1.0'
-
version HTTP
- $date : int|string = ''
-
timestamp pour entente If-Modified-Since
Tags
Return values
bool|resource —false|int si echec resource socket vers l'url demandee
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
Return values
stringget_spip_doc()
Donne le chemin complet du fichier
get_spip_doc(string|null $fichier) : bool|string
Parameters
- $fichier : string|null
Tags
Return values
bool|stringcreer_repertoire_documents()
Créer un sous-répertoire IMG/$ext/ tel que IMG/pdf
creer_repertoire_documents(string $ext) : string
Parameters
- $ext : string
Tags
Return values
stringeffacer_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|stringdetermine_upload()
Trouver le dossier utilisé pour upload un fichier
determine_upload([string $type = '' ]) : bool|string
Parameters
- $type : string = ''
Tags
Return values
bool|stringdeplacer_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 destinationfalse
: valeur par défaut. On ne fait que copier le fichier source vers la destination.
Tags
Return values
bool|mixed|stringcheck_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
Return values
bool|stringcorriger_extension()
Corrige l'extension du fichier dans quelques cas particuliers
corriger_extension(string $ext) : string
Parameters
- $ext : string
Tags
Return values
stringlire_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
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()
ecrire_tableau_edition()
Enregistre la liste des éléments édités
ecrire_tableau_edition(array<string|int, mixed> $edition) : mixed
Parameters
- $edition : 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()
Tags
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
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
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
Return values
array<string|int, mixed> —Liste de tableaux ['objet' => x, 'id_objet' => n]
debloquer_tous()
Quand l'auteur veut libérer tous ses objets (tous types)
debloquer_tous(int $id_auteur) : mixed
Parameters
- $id_auteur : int
Tags
debloquer_edition()
Quand l'auteur libère un objet précis
debloquer_edition(int $id_auteur, int $id_objet[, string $type = 'article' ]) : mixed
Parameters
- $id_auteur : int
-
Identifiant de l'auteur
- $id_objet : int
-
Identifiant de l'objet édité
- $type : string = 'article'
-
Type de l'objet
Tags
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
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
stringcontroles_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
stringinc_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_titre_email()
Nettoyer le titre d'un email
nettoyer_titre_email(string $titre) : string
Parameters
- $titre : string
Tags
Return values
stringnettoyer_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
Return values
stringinc_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
boolmail_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|nullexif_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
boolexif_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|nullexif_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|nullexporter_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
stringexporter_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
Return values
stringinc_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
stringcharger_filtre()
Charger un filtre depuis le php
charger_filtre(string $fonc[, string $default = 'filtre_identite_dist' ]) : string
- on inclue tous les fichiers fonctions des plugins et du skel
- on appelle chercher_filtre
Pour éviter de perdre le texte si le filtre demandé est introuvable,
on transmet filtre_identite_dist
en filtre par défaut.
Parameters
- $fonc : string
-
Nom du filtre
- $default : string = 'filtre_identite_dist'
-
Filtre par défaut
Tags
Return values
string —Fonction PHP correspondante du filtre
filtre_identite_dist()
Retourne le texte tel quel
filtre_identite_dist(string $texte) : string
Parameters
- $texte : string
-
texte
Tags
Return values
string —texte
chercher_filtre()
Cherche un filtre
chercher_filtre(string $fonc[, string|null $default = null ]) : string
Pour une filtre F
retourne la première fonction trouvée parmis :
- filtre_F
- filtre_F_dist
- F
Peut gérer des appels par des fonctions statiques de classes tel que Foo::Bar
En absence de fonction trouvée, retourne la fonction par défaut indiquée.
Parameters
- $fonc : string
-
Nom du filtre
- $default : string|null = null
-
Nom du filtre appliqué par défaut si celui demandé n'est pas trouvé
Return values
string —Fonction PHP correspondante du filtre demandé
appliquer_filtre()
Applique un filtre s'il existe, sinon retourne une chaîne vide
appliquer_filtre(mixed $arg, string $filtre) : string
Fonction générique qui prend en argument l’objet (texte, etc) à modifier et le nom du filtre.
- À la différence de la fonction
filtrer()
, celle-ci ne lève pas d'erreur de squelettes si le filtre n'est pas trouvé. - À la différence de la fonction
appliquer_si_filtre()
le contenu d'origine n'est pas retourné si le filtre est absent.
Les arguments supplémentaires transmis à cette fonction sont utilisés comme arguments pour le filtre appelé.
Parameters
- $arg : mixed
-
texte (le plus souvent) sur lequel appliquer le filtre
- $filtre : string
-
Nom du filtre à appliquer
Tags
Return values
string —texte traité par le filtre si le filtre existe, Chaîne vide sinon.
appliquer_si_filtre()
Applique un filtre s'il existe, sinon retourne le contenu d'origine sans modification
appliquer_si_filtre(mixed $arg, string $filtre) : string
Se référer à appliquer_filtre()
pour les détails.
Parameters
- $arg : mixed
-
texte (le plus souvent) sur lequel appliquer le filtre
- $filtre : string
-
Nom du filtre à appliquer
Tags
Return values
string —texte traité par le filtre si le filtre existe, texte d'origine sinon
spip_version()
Retourne la version de SPIP
spip_version() : string
Si l'on retrouve un numéro de révision GIT ou SVN, il est ajouté entre crochets. Si effectivement le SPIP est installé par Git ou Svn, 'GIT' ou 'SVN' est ajouté avant sa révision.
Tags
Return values
string —Version de SPIP
header_silencieux()
Masque la version de SPIP si la globale spip_header_silencieux le demande.
header_silencieux(string $version) : string
Parameters
- $version : string
Tags
Return values
stringversion_vcs_courante()
Retourne une courte description d’une révision VCS d’un répertoire
version_vcs_courante(string $dir[, array<string|int, mixed> $raw = false ]) : mixed
Parameters
- $dir : string
-
Le répertoire à tester
- $raw : array<string|int, mixed> = false
-
True pour avoir les données brutes, false pour un texte à afficher
Tags
decrire_version_git()
Retrouve un numéro de révision Git d'un répertoire
decrire_version_git(string $dir) : array<string|int, mixed>|null
Parameters
- $dir : string
-
Chemin du répertoire
Return values
array<string|int, mixed>|null —null si aucune info trouvée array ['branch' => xx, 'commit' => yy] sinon.
filtrer()
Charge et exécute un filtre (graphique ou non)
filtrer(string $filtre, 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
Return values
string —Code HTML retourné par le filtre
trouver_filtre_matrice()
Cherche un filtre spécial indiqué dans la globale `spip_matrice` et charge le fichier éventuellement associé contenant le filtre.
trouver_filtre_matrice(string $filtre) : bool
Les filtres d'images par exemple sont déclarés de la sorte, tel que :
$GLOBALS['spip_matrice']['image_reduire'] = true;
$GLOBALS['spip_matrice']['image_monochrome'] = 'filtres/images_complements.php';
Parameters
- $filtre : string
Return values
bool —true si on trouve le filtre dans la matrice, false sinon.
filtre_set()
Filtre `set` qui sauve la valeur en entrée dans une variable
filtre_set(array<string|int, mixed> &$Pile, mixed $val, string $key[, bool $continue = null ]) : mixed
La valeur pourra être retrouvée avec #GET{variable}
.
Parameters
- $Pile : array<string|int, mixed>
-
Pile de données
- $val : mixed
-
Valeur à sauver
- $key : string
-
Clé d'enregistrement
- $continue : bool = null
-
True pour retourner la valeur
Tags
filtre_setenv()
Filtre `setenv` qui enregistre une valeur dans l'environnement du squelette
filtre_setenv(array<string|int, mixed> &$Pile, mixed $val, mixed $key[, null|mixed $continue = null ]) : string|mixed
La valeur pourra être retrouvée avec #ENV{variable}
.
Parameters
- $Pile : array<string|int, mixed>
- $val : mixed
-
Valeur à enregistrer
- $key : mixed
-
Nom de la variable
- $continue : null|mixed = null
-
Si présent, retourne la valeur en sortie
Tags
Return values
string|mixed —Retourne $val
si $continue
présent, sinon ''.
filtre_sanitize_env()
filtre_sanitize_env(array<string|int, mixed> &$Pile, array<string|int, mixed>|string $keys) : string
Parameters
- $Pile : array<string|int, mixed>
- $keys : array<string|int, mixed>|string
Return values
stringfiltre_debug()
Filtre `debug` qui affiche un debug de la valeur en entrée
filtre_debug(mixed $val[, mixed|null $key = null ]) : mixed
Log la valeur dans debug.log
et l'affiche si on est webmestre.
Parameters
- $val : mixed
-
La valeur à debugguer
- $key : mixed|null = null
-
Clé pour s'y retrouver
Tags
Return values
mixed —Retourne la valeur (sans la modifier).
image_filtrer()
Exécute un filtre image
image_filtrer(array<string|int, mixed> $args) : string
Fonction générique d'entrée des filtres images. Accepte en entrée :
- un texte complet,
- un img-log (produit par #LOGO_XX),
- un tag
<img ...>
complet, - un nom de fichier local (passer le filtre
|copie_locale
si on veut l'appliquer à un document distant).
Applique le filtre demande à chacune des occurrences
Parameters
- $args : array<string|int, mixed>
-
Liste des arguments :
- le premier est le nom du filtre image à appliquer
- le second est le texte sur lequel on applique le filtre
- les suivants sont les arguments du filtre image souhaité.
Tags
Return values
string —texte qui a reçu les filtres
infos_image()
Retourne les informations d'une image
infos_image(string $img[, mixed $force_refresh = false ]) : array<string|int, mixed>
Pour les filtres largeur
et hauteur
taille_image
et poids_image
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante). - $force_refresh : mixed = false
Return values
array<string|int, mixed> —largeur hauteur poids
poids_image()
Retourne les dimensions d'une image
poids_image(string $img[, mixed $force_refresh = false ]) : array<string|int, mixed>
Pour les filtres largeur
et hauteur
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante). - $force_refresh : mixed = false
Return values
array<string|int, mixed> —largeur hauteur poids
taille_image()
taille_image(mixed $img[, mixed $force_refresh = false ]) : mixed
Parameters
- $img : mixed
- $force_refresh : mixed = false
largeur()
Retourne la largeur d'une image
largeur(string $img) : int|null
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante).
Tags
Return values
int|null —Largeur en pixels, NULL ou 0 si aucune image.
hauteur()
Retourne la hauteur d'une image
hauteur(string $img) : int|null
Parameters
- $img : string
-
Balise HTML
<img ...>
ou chemin de l'image (qui peut être une URL distante).
Tags
Return values
int|null —Hauteur en pixels, NULL ou 0 si aucune image.
corriger_entites_html()
Échappement des entités HTML avec correction des entités « brutes »
corriger_entites_html(string $texte) : string
Ces entités peuvent être générées par les butineurs lorsqu'on rentre des caractères n'appartenant pas au charset de la page [iso-8859-1 par défaut]
Attention on limite cette correction aux caracteres « hauts » (en fait > 99
pour aller plus vite que le > 127 qui serait logique), de manière à
préserver des eéhappements de caractères « bas » (par exemple [
ou "
)
et au cas particulier de &
qui devient &amp;
dans les URL
Parameters
- $texte : string
Tags
Return values
stringcorriger_toutes_entites_html()
Échappement des entités HTML avec correction des entités « brutes » ainsi que les `&eacute;` en `é`
corriger_toutes_entites_html(string $texte) : string
Identique à corriger_entites_html()
en corrigeant aussi les
&eacute;
en é
Parameters
- $texte : string
Tags
Return values
stringproteger_amp()
Échappe les `&` en `&`
proteger_amp(string $texte) : string
Parameters
- $texte : string
Return values
stringentites_html()
Échappe en entités HTML certains caractères d'un texte
entites_html(string $texte[, bool $tout = false ][, bool $quote = true ]) : mixed|string
Traduira un code HTML en transformant en entités HTML les caractères
en dehors du charset de la page ainsi que les "
, <
et >
.
Ceci permet d’insérer le texte d’une balise dans un <textarea> </textarea>
sans dommages.
Parameters
- $texte : string
-
chaine a echapper
- $tout : bool = false
-
corriger toutes les
&xx;
en&xx;
- $quote : bool = true
-
Échapper aussi les simples quotes en
'
Tags
Return values
mixed|stringfiltrer_entites()
Convertit les caractères spéciaux HTML dans le charset du site.
filtrer_entites(string $texte) : string
Parameters
- $texte : string
-
texte à convertir
Tags
Return values
string —texte converti
filtre_filtrer_entites_dist()
Version sécurisée de filtrer_entites
filtre_filtrer_entites_dist(string $t) : string
Parameters
- $t : string
Tags
Return values
stringsupprimer_caracteres_illegaux()
Supprime des caractères illégaux
supprimer_caracteres_illegaux(string|array<string|int, mixed> $texte) : string|array<string|int, mixed>
Remplace les caractères de controle par le caractère -
Parameters
- $texte : string|array<string|int, mixed>
Tags
Return values
string|array<string|int, mixed>corriger_caracteres()
Correction de caractères
corriger_caracteres(string|array<string|int, mixed> $texte) : string|array<string|int, mixed>
Supprimer les caracteres windows non conformes et les caracteres de controle illégaux
Parameters
- $texte : string|array<string|int, mixed>
Tags
Return values
string|array<string|int, mixed>texte_backend()
Encode du HTML pour transmission XML notamment dans les flux RSS
texte_backend(string|null $texte) : string
Ce filtre transforme les liens en liens absolus, importe les entitées html et échappe les tags html.
Parameters
- $texte : string|null
-
texte à transformer
Tags
Return values
string —texte encodé pour XML
texte_backendq()
Encode et quote du HTML pour transmission XML notamment dans les flux RSS
texte_backendq(string|null $texte) : string
Comme texte_backend(), mais avec addslashes final pour squelettes avec PHP (rss)
Parameters
- $texte : string|null
-
texte à transformer
Tags
Return values
string —texte encodé et quote pour XML
supprimer_numero()
Enlève un numéro préfixant un texte
supprimer_numero(string|null $texte) : string
Supprime 10.
dans la chaine 10. Titre
Parameters
- $texte : string|null
-
Texte
Tags
Return values
string —Texte sans son numéro éventuel
recuperer_numero()
Récupère un numéro préfixant un texte
recuperer_numero(string|null $texte) : string
Récupère le numéro 10
dans la chaine 10. Titre
Parameters
- $texte : string|null
-
Texte
Tags
Return values
string —Numéro de titre, sinon chaîne vide
supprimer_tags()
Suppression basique et brutale de tous les tags
supprimer_tags(string|array<string|int, mixed>|null $texte[, string $rempl = '' ]) : string|array<string|int, mixed>
Supprime tous les tags <...>
.
Utilisé fréquemment pour écrire des RSS.
Parameters
- $texte : string|array<string|int, mixed>|null
-
texte ou tableau de textes à échapper
- $rempl : string = ''
-
Inutilisé.
Tags
Return values
string|array<string|int, mixed> —texte ou tableau de textes converti
echapper_tags()
Convertit les chevrons de tag en version lisible en HTML
echapper_tags(string $texte[, string $rempl = '' ]) : string
Transforme les chevrons de tag <...>
en entité HTML.
Parameters
- $texte : string
-
texte à échapper
- $rempl : string = ''
-
Inutilisé.
Tags
Return values
string —texte converti
textebrut()
Convertit un texte HTML en texte brut
textebrut(string $texte) : string
Enlève les tags d'un code HTML, élimine les doubles espaces.
Parameters
- $texte : string
-
texte à convertir
Tags
Return values
string —texte converti
liens_ouvrants()
Remplace les liens SPIP en liens ouvrant dans une nouvelle fenetre (target=blank)
liens_ouvrants(string $texte) : string
Parameters
- $texte : string
-
texte avec des liens
Tags
Return values
string —texte avec liens ouvrants
liens_nofollow()
Ajouter un attribut rel="nofollow" sur tous les liens d'un texte
liens_nofollow(string $texte) : string
Parameters
- $texte : string
Return values
stringPtoBR()
Transforme les sauts de paragraphe HTML `p` en simples passages à la ligne `br`
PtoBR(string $texte) : string
Parameters
- $texte : string
-
texte à transformer
Tags
Return values
string —texte sans paraghaphes
majuscules()
Passe un texte en majuscules, y compris les accents, en HTML
majuscules(string $texte) : string
Encadre le texte du style CSS text-transform: uppercase;
.
Le cas spécifique du i turc est géré.
Parameters
- $texte : string
-
texte
Tags
Return values
string —texte en majuscule
taille_en_octets()
Renvoie une taille de dossier ou de fichier humainement lisible en ajustant le format et l'unité.
taille_en_octets(int $octets[, string $systeme = 'BI' ]) : string
La fonction renvoie la valeur et l'unité en fonction du système utilisé (binaire ou décimal).
Parameters
- $octets : int
-
Taille d'un dossier ou fichier en octets
- $systeme : string = 'BI'
-
Système d'unité dans lequel calculer et afficher la taille lisble. Vaut
BI
(défaut) ouSI
.
Tags
Return values
string —Taille affichée de manière humainement lisible
attribut_html()
Rend une chaine utilisable sans dommage comme attribut HTML
attribut_html(string|null $texte[, bool $textebrut = true ]) : string
Parameters
- $texte : string|null
-
texte à mettre en attribut
- $textebrut : bool = true
-
Passe le texte en texte brut (enlève les balises html) ?
Tags
Return values
string —texte prêt pour être utilisé en attribut HTML
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
Return values
string —texte prêt pour être utilisé en attribut HTML
vider_url()
Vider les URL nulles
vider_url(string $url[, bool $entites = true ]) : string
- Vide les URL vides comme
http://
oumailto:
(sans rien d'autre) - échappe les entités et gère les
&
Parameters
- $url : string
-
URL à vérifier et échapper
- $entites : bool = true
-
true
pour échapper les entités HTML.
Tags
Return values
string —URL ou chaîne vide
antispam()
Maquiller une adresse e-mail
antispam(string $texte) : string
Remplace @
par 3 caractères aléatoires.
Parameters
- $texte : string
-
Adresse email
Tags
Return values
string —Adresse email maquillée
filtre_securiser_acces_dist()
Vérifie un accès à faible sécurité
filtre_securiser_acces_dist(int $id_auteur, string $cle, string $dir[, string $op = '' ][, string $args = '' ]) : bool
Vérifie qu'un visiteur peut accéder à la page demandée, qui est protégée par une clé, calculée à partir du low_sec de l'auteur, et des paramètres le composant l'appel (op, args)
Parameters
- $id_auteur : int
-
L'auteur qui demande la page
- $cle : string
-
La clé à tester
- $dir : string
-
Un type d'accès (nom du répertoire dans lequel sont rangés les squelettes demandés, tel que 'rss')
- $op : string = ''
-
Nom de l'opération éventuelle
- $args : string = ''
-
Nom de l'argument calculé
Tags
Return values
bool —True si on a le droit d'accès, false sinon.
sinon()
Retourne le second paramètre lorsque le premier est considere vide, sinon retourne le premier paramètre.
sinon(mixed $texte[, mixed $sinon = '' ]) : mixed
En php sinon($a, 'rien')
retourne $a
, ou 'rien'
si $a
est vide.
Parameters
- $texte : mixed
-
Contenu de reference a tester
- $sinon : mixed = ''
-
Contenu a retourner si le contenu de reference est vide
Tags
Return values
mixed —Retourne $texte, sinon $sinon.
choixsivide()
Filtre `|choixsivide{vide, pas vide}` alias de `|?{si oui, si non}` avec les arguments inversés
choixsivide(mixed $a, mixed $vide, mixed $pasvide) : mixed
Parameters
- $a : mixed
-
La valeur à tester
- $vide : mixed
-
Ce qui est retourné si
$a
est considéré vide - $pasvide : mixed
-
Ce qui est retourné sinon
Tags
choixsiegal()
Filtre `|choixsiegal{valeur, sioui, sinon}`
choixsiegal(mixed $a1, mixed $a2, mixed $v, mixed $f) : mixed
Parameters
- $a1 : mixed
-
La valeur à tester
- $a2 : mixed
-
La valeur de comparaison
- $v : mixed
-
Ce qui est retourné si la comparaison est vraie
- $f : mixed
-
Ce qui est retourné sinon
Tags
filtrer_ical()
Adapte un texte pour être inséré dans une valeur d'un export ICAL
filtrer_ical(string $texte) : string
Passe le texte en utf8, enlève les sauts de lignes et échappe les virgules.
Parameters
- $texte : string
Tags
Return values
stringpost_autobr()
Transforme les sauts de ligne simples en sauts forcés avec `_ `
post_autobr(string $texte[, string $delim = "
_ " ]) : string
Ne modifie pas les sauts de paragraphe (2 sauts consécutifs au moins), ou les retours à l'intérieur de modèles ou de certaines balises html.
Parameters
- $texte : string
- $delim : string = " _ "
-
Ce par quoi sont remplacés les sauts
Tags
Return values
stringextraire_idiome()
Extrait une langue des extraits idiomes (`<:module:cle_de_langue:>`)
extraire_idiome(string $letexte[, string $lang = null ][, array<string|int, mixed> $options = [] ]) : string
Retrouve les balises <:cle_de_langue:>
d'un texte et remplace son contenu
par l'extrait correspondant à la langue demandée (si possible), sinon dans la
langue par défaut du site.
Ne pas mettre de span@lang=fr si on est déjà en fr.
Parameters
- $letexte : string
- $lang : string = null
-
Langue à retrouver (si vide, utilise la langue en cours).
- $options : array<string|int, mixed> = []
-
Options { @var bool $echappe_span True pour échapper les balises span (false par défaut) @var string $lang_defaut Code de langue : permet de définir la langue utilisée par défaut, en cas d'absence de traduction dans la langue demandée. Par défaut la langue du site. Indiquer 'aucune' pour ne pas retourner de texte si la langue exacte n'a pas été trouvée. }
Tags
Return values
stringextraire_multi()
Extrait une langue des extraits polyglottes (`<multi>`)
extraire_multi(string $letexte[, string $lang = null ][, array<string|int, mixed> $options = [] ]) : string
Retrouve les balises <multi>
d'un texte et remplace son contenu
par l'extrait correspondant à la langue demandée.
Si la langue demandée n'est pas trouvée dans le multi, ni une langue
approchante (exemple fr
si on demande fr_TU
), on retourne l'extrait
correspondant à la langue par défaut (option 'lang_defaut'), qui est
par défaut la langue du site. Et si l'extrait n'existe toujours pas
dans cette langue, ça utilisera la première langue utilisée
dans la balise <multi>
.
Ne pas mettre de span@lang=fr si on est déjà en fr.
Parameters
- $letexte : string
- $lang : string = null
-
Langue à retrouver (si vide, utilise la langue en cours).
- $options : array<string|int, mixed> = []
-
Options { @var bool $echappe_span True pour échapper les balises span (false par défaut) @var string $lang_defaut Code de langue : permet de définir la langue utilisée par défaut, en cas d'absence de traduction dans la langue demandée. Par défaut la langue du site. Indiquer 'aucune' pour ne pas retourner de texte si la langue exacte n'a pas été trouvée. }
Tags
Return values
stringfiltre_initiale()
Calculer l'initiale d'un nom
filtre_initiale(string $nom) : string
Parameters
- $nom : string
Return values
string —L'initiale en majuscule
unique()
Retourne la donnée si c'est la première fois qu'il la voit
unique(string $donnee[, string $famille = '' ][, bool $cpt = false ]) : string|int|array<string|int, mixed>|null|void
Il est possible de gérer différentes "familles" de données avec le second paramètre.
Parameters
- $donnee : string
-
Donnée que l'on souhaite unique
- $famille : string = ''
-
Famille de stockage (1 unique donnée par famille)
- spip_raz : (interne) Vide la pile de mémoire et la retourne
- spip_set : (interne) Affecte la pile de mémoire avec la donnée
- $cpt : bool = false
-
True pour obtenir le nombre d'éléments différents stockés
Tags
Return values
string|int|array<string|int, mixed>|null|void —- string : Donnée si c'est la première fois qu'elle est vue
- void : si la donnée a déjà été vue
- int : si l'on demande le nombre d'éléments
- array (interne) : si on dépile
- null (interne) : si on empile
alterner()
Filtre qui alterne des valeurs en fonction d'un compteur
alterner(int $i, array<string|int, mixed> ...$args) : mixed
Affiche à tour de rôle et dans l'ordre, un des arguments transmis à chaque incrément du compteur.
S'il n'y a qu'un seul argument, et que c'est un tableau, l'alternance se fait sur les valeurs du tableau.
Souvent appliqué à l'intérieur d'une boucle, avec le compteur #COMPTEUR_BOUCLE
Parameters
- $i : int
-
Le compteur
- $args : array<string|int, mixed>
-
Liste des éléments à alterner
Tags
Return values
mixed —Une des valeurs en fonction du compteur.
extraire_attribut()
Récupérer un attribut d'une balise HTML
extraire_attribut(string|array<string|int, mixed> $balise, string $attribut[, bool $complet = false ]) : string|array<string|int, mixed>|null
la regexp est mortelle : cf. tests/unit/filtres/extraire_attribut.php
Si on a passé un tableau de balises, renvoyer un tableau de résultats
(dans ce cas l'option $complet
n'est pas disponible)
Parameters
- $balise : string|array<string|int, mixed>
-
texte ou liste de textes dont on veut extraire des balises
- $attribut : string
-
Nom de l'attribut désiré
- $complet : bool = false
-
true pour retourner un tableau avec
- le texte de la balise
- l'ensemble des résultats de la regexp ($r)
Return values
string|array<string|int, mixed>|null —- texte de l'attribut retourné, ou tableau des textes d'attributs (si 1er argument tableau)
- Tableau complet (si 2e argument)
- null lorsque l’attribut n’existe pas.
inserer_attribut()
Insérer (ou modifier) un attribut html dans une balise
inserer_attribut(string|null $balise, string $attribut, string|null $val[, bool $proteger = true ][, bool $vider = false ]) : string
Parameters
- $balise : string|null
-
Code html de la balise (ou contenant une balise)
- $attribut : string
-
Nom de l'attribut html à modifier
- $val : string|null
-
Valeur de l'attribut à appliquer
- $proteger : bool = true
-
Prépare la valeur en tant qu'attribut de balise (mais conserve les balises html).
- $vider : bool = false
-
True pour vider l'attribut. Une chaîne vide pour
$val
fera pareil.
Tags
Return values
string —Code html modifié
vider_attribut()
Supprime un attribut HTML
vider_attribut(string|null $balise, string $attribut) : string
Parameters
- $balise : string|null
-
Code HTML de l'élément
- $attribut : string
-
Nom de l'attribut à enlever
Tags
Return values
string —Code HTML sans l'attribut
modifier_class()
Fonction support pour les filtres |ajouter_class |supprimer_class |commuter_class
modifier_class(string $balise, string|array<string|int, mixed> $class[, string $operation = 'ajouter' ]) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
- $operation : string = 'ajouter'
Return values
stringajouter_class()
Ajoute une ou plusieurs classes sur une balise (si pas deja presentes)
ajouter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
Return values
stringsupprimer_class()
Supprime une ou plusieurs classes sur une balise (si presentes)
supprimer_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
Return values
stringcommuter_class()
Bascule une ou plusieurs classes sur une balise : ajoutees si absentes, supprimees si presentes
commuter_class(string $balise, string|array<string|int, mixed> $class) : string
Parameters
- $balise : string
- $class : string|array<string|int, mixed>
Return values
stringtester_config()
Un filtre pour déterminer le nom du statut des inscrits
tester_config(int|null $id[, string $mode = '' ]) : string
Parameters
- $id : int|null
- $mode : string = ''
Return values
stringfloatstr()
floatstr(mixed $a) : mixed
Parameters
- $a : mixed
strize()
strize(mixed $f, mixed $a, mixed $b) : mixed
Parameters
- $f : mixed
- $a : mixed
- $b : mixed
plus()
Additionne 2 nombres
plus(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a+$b
strplus()
strplus(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
moins()
Soustrait 2 nombres
moins(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a-$b
strmoins()
strmoins(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
mult()
Multiplie 2 nombres
mult(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a*$b
strmult()
strmult(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
div()
Divise 2 nombres
div(int $a, int $b) : int
Parameters
- $a : int
- $b : int
Tags
Return values
int —$a/$b (ou 0 si $b est nul)
strdiv()
strdiv(mixed $a, mixed $b) : mixed
Parameters
- $a : mixed
- $b : mixed
modulo()
Retourne le modulo 2 nombres
modulo(int $nb, int $mod[, int $add = 0 ]) : int
Parameters
- $nb : int
- $mod : int
- $add : int = 0
Tags
Return values
int —($nb % $mod) + $add
nom_acceptable()
Vérifie qu'un nom (d'auteur) ne comporte pas d'autres tags que <multi> et ceux volontairement spécifiés dans la constante
nom_acceptable(string $nom) : bool
Parameters
- $nom : string
-
Nom (signature) proposé
Return values
bool —- false si pas conforme,
- true sinon
email_valide()
Vérifier la conformité d'une ou plusieurs adresses email (suivant RFC 822)
email_valide(string|array<string|int, mixed> $adresses) : bool|string|array<string|int, mixed>
Parameters
- $adresses : string|array<string|int, mixed>
-
Adresse ou liste d'adresse si on fournit un tableau, il est filtre et la fonction renvoie avec uniquement les adresses email valides (donc possiblement vide)
Return values
bool|string|array<string|int, mixed> —- false si une des adresses n'est pas conforme,
- la normalisation de la dernière adresse donnée sinon
- renvoie un tableau si l'entree est un tableau
afficher_enclosures()
Permet d'afficher un symbole à côté des liens pointant vers les documents attachés d'un article (liens ayant `rel=enclosure`).
afficher_enclosures(string $tags) : string
Parameters
- $tags : string
-
texte
Tags
Return values
string —texte
afficher_tags()
Filtre des liens HTML `<a>` selon la valeur de leur attribut `rel` et ne retourne que ceux là.
afficher_tags(string $tags[, string $rels = 'tag,directory' ]) : string
Parameters
- $tags : string
-
texte
- $rels : string = 'tag,directory'
-
Attribut
rel
à capturer (ou plusieurs séparés par des virgules)
Tags
Return values
string —Liens trouvés
enclosure2microformat()
Convertir les médias fournis par un flux RSS (podcasts) en liens conformes aux microformats
enclosure2microformat(string $e) : string
Passe un <enclosure url="fichier" length="5588242" type="audio/mpeg"/>
au format microformat <a rel="enclosure" href="fichier" ...>fichier</a>
.
Peut recevoir un <link
ou un <media:content
parfois.
Attention : length="zz"
devient title="zz"
, pour rester conforme.
Parameters
- $e : string
-
Tag RSS
<enclosure>
Tags
Return values
string —Tag HTML <a>
avec microformat.
microformat2enclosure()
Convertir les liens conformes aux microformats en médias pour flux RSS, par exemple pour les podcasts
microformat2enclosure(string $tags) : string
Passe un texte ayant des liens avec microformat
<a rel="enclosure" href="fichier" ...>fichier</a>
au format RSS <enclosure url="fichier" ... />
.
Parameters
- $tags : string
-
texte HTML ayant des tag
<a>
avec microformat
Tags
Return values
string —Tags RSS <enclosure>
.
tags2dcsubject()
Créer les éléments ATOM `<dc:subject>` à partir des tags
tags2dcsubject(string $tags) : string
Convertit les liens avec attribut rel="tag"
en balise <dc:subject></dc:subject>
pour les flux RSS au format Atom.
Parameters
- $tags : string
-
texte
Tags
Return values
string —Tags RSS Atom <dc:subject>
.
extraire_balise()
Retourne la premiere balise html du type demandé
extraire_balise(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, mixed $profondeur = 1 ]) : string|array<string|int, mixed>
Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.
Parameters
- $texte : string|array<string|int, mixed>
-
texte(s) dont on souhaite extraire une balise html
- $tag : string = 'a'
-
Nom de la balise html à extraire
- $profondeur : mixed = 1
Tags
Return values
string|array<string|int, mixed> —- Code html de la première occurence de la balise trouvée, sinon chaine vide
- Tableau de résultats, si tableau en entrée.
extraire_balises()
Extrait toutes les balises html du type demandé
extraire_balises(string|array<string|int, mixed> $texte[, string $tag = 'a' ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>
Retourne dans un tableau le contenu de chaque balise jusqu'à sa fermeture correspondante. Si on a passe un tableau de textes, retourne un tableau de resultats.
Parameters
- $texte : string|array<string|int, mixed>
-
texte(s) dont on souhaite extraire une balise html
- $tag : string = 'a'
-
Nom de la balise html à extraire
- $options : array<string|int, mixed> = []
-
int nb_max : nombre d'occurence maxi à extraire int profondeur : niveau de profondeur d'extraction en cas d'intrication de balises identiques
Tags
Return values
array<string|int, mixed> —- Liste des codes html des occurrences de la balise, sinon tableau vide
- Tableau de résultats, si tableau en entrée.
in_any()
Indique si le premier argument est contenu dans le second
in_any(string $val, array<string|int, mixed>|string $vals[, string $def = '' ]) : string
Cette fonction est proche de in_array()
en PHP avec comme principale
différence qu'elle ne crée pas d'erreur si le second argument n'est pas
un tableau (dans ce cas elle tentera de le désérialiser, et sinon retournera
la valeur par défaut transmise).
Parameters
- $val : string
-
Valeur à chercher dans le tableau
- $vals : array<string|int, mixed>|string
-
Tableau des valeurs. S'il ce n'est pas un tableau qui est transmis, la fonction tente de la désérialiser.
- $def : string = ''
-
Valeur par défaut retournée si
$vals
n'est pas un tableau.
Tags
Return values
string —- ' ' si la valeur cherchée est dans le tableau
- '' si la valeur n'est pas dans le tableau
$def
si on n'a pas transmis de tableau
valeur_numerique()
Retourne le résultat d'une expression mathématique simple
valeur_numerique(string $expr) : int
N'accepte que les *, + et - (à ameliorer si on l'utilise vraiment).
Parameters
- $expr : string
-
Expression mathématique
nombre operateur nombre
comme3*2
Tags
Return values
int —Résultat du calcul
regledetrois()
Retourne un calcul de règle de trois
regledetrois(int $a, int $b, int $c) : int
Parameters
- $a : int
- $b : int
- $c : int
Tags
Return values
int —Retourne $a*$b/$c
form_hidden()
Crée des tags HTML input hidden pour chaque paramètre et valeur d'une URL
form_hidden([string|null $action = '' ]) : string
Fournit la suite de Input-Hidden correspondant aux paramètres de l'URL donnée en argument, compatible avec les types_urls
Parameters
- $action : string|null = ''
-
URL
Tags
Return values
string —Suite de champs input hidden
filtre_reset()
Retourne la première valeur d'un tableau
filtre_reset(array<string|int, mixed> $array) : mixed|null|false
Plus précisément déplace le pointeur du tableau sur la première valeur et la retourne.
Parameters
- $array : array<string|int, mixed>
Tags
Return values
mixed|null|false —- null si $array n'est pas un tableau,
- false si le tableau est vide
- la première valeur du tableau sinon.
filtre_end()
Retourne la dernière valeur d'un tableau
filtre_end(array<string|int, mixed> $array) : mixed|null|false
Plus précisément déplace le pointeur du tableau sur la dernière valeur et la retourne.
Parameters
- $array : array<string|int, mixed>
Tags
Return values
mixed|null|false —- null si $array n'est pas un tableau,
- false si le tableau est vide
- la dernière valeur du tableau sinon.
filtre_push()
Empile une valeur à la fin d'un tableau
filtre_push(array<string|int, mixed> $array, mixed $val) : array<string|int, mixed>|string
Parameters
- $array : array<string|int, mixed>
- $val : mixed
Tags
Return values
array<string|int, mixed>|string —- '' si $array n'est pas un tableau ou si echec.
- le tableau complété de la valeur sinon.
filtre_find()
Indique si une valeur est contenue dans un tableau
filtre_find(array<string|int, mixed> $array, mixed $val) : bool
Parameters
- $array : array<string|int, mixed>
- $val : mixed
Tags
Return values
bool —false
si$array
n'est pas un tableautrue
si la valeur existe dans le tableau,false
sinon.
urls_absolues_css()
Passer les url relatives à la css d'origine en url absolues
urls_absolues_css(string $contenu, string $source) : string
Parameters
- $contenu : string
-
Contenu du fichier CSS
- $source : string
-
Chemin du fichier CSS
Tags
Return values
string —Contenu avec urls en absolus
direction_css()
Inverse le code CSS (left <--> right) d'une feuille de style CSS
direction_css(string $css[, string $voulue = '' ]) : string
Récupère le chemin d'une CSS existante et :
- regarde si une CSS inversée droite-gauche existe dans le meme répertoire
- sinon la crée (ou la recrée) dans
_DIR_VAR/cache_css/
Si on lui donne à manger une feuille nommée *_rtl.css
il va faire l'inverse.
Parameters
- $css : string
-
Chemin vers le fichier CSS
- $voulue : string = ''
-
Permet de forcer le sens voulu (en indiquant
ltr
,rtl
ou un code de langue). En absence, prend le sens de la langue en cours.
Tags
Return values
string —Chemin du fichier CSS inversé
url_absolue_css()
Transforme les urls relatives d'un fichier CSS en absolues
url_absolue_css(string $css) : string
Récupère le chemin d'une css existante et crée (ou recrée) dans _DIR_VAR/cache_css/
une css dont les url relatives sont passées en url absolues
Le calcul n'est pas refait si le fichier cache existe déjà et que la source n'a pas été modifiée depuis.
Parameters
- $css : string
-
Chemin ou URL du fichier CSS source
Tags
Return values
string —- Chemin du fichier CSS transformé (si source lisible et mise en cache réussie)
- Chemin ou URL du fichier CSS source sinon.
table_valeur()
Récupère la valeur d'une clé donnée dans un tableau (ou un objet).
table_valeur(mixed $table, string $cle[, mixed $defaut = '' ][, bool $conserver_null = false ]) : mixed
Parameters
- $table : mixed
-
Tableau ou objet PHP (ou chaîne serialisée de tableau, ce qui permet d'enchaîner le filtre)
- $cle : string
-
Clé du tableau (ou paramètre public de l'objet) Cette clé peut contenir des caractères / pour sélectionner des sous éléments dans le tableau, tel que
sous/element/ici
pour obtenir la valeur de$tableau['sous']['element']['ici']
- $defaut : mixed = ''
-
Valeur par defaut retournée si la clé demandée n'existe pas
- $conserver_null : bool = false
-
Permet de forcer la fonction à renvoyer la valeur null d'un index et non pas $defaut comme cela est fait naturellement par la fonction isset. On utilise alors array_key_exists() à la place de isset().
Tags
Return values
mixed —Valeur trouvée ou valeur par défaut.
filtre_match_dist()
Retrouve un motif dans un texte à partir d'une expression régulière
filtre_match_dist(string|null $texte, string|int $expression[, string $modif = 'UuimsS' ][, int $capte = 0 ]) : bool|string
S'appuie sur la fonction preg_match()
en PHP
Parameters
- $texte : string|null
-
texte dans lequel chercher
- $expression : string|int
-
Expression régulière de recherche, sans le délimiteur
- $modif : string = 'UuimsS'
-
- string : Modificateurs de l'expression régulière
- int : Numéro de parenthèse capturante
- $capte : int = 0
-
Numéro de parenthèse capturante
Tags
Return values
bool|string —- false : l'expression n'a pas été trouvée
- true : expression trouvée, mais pas la parenthèse capturante
- string : expression trouvée.
replace()
Remplacement de texte à base d'expression régulière
replace(string $texte, string $expression[, string $replace = '' ][, string $modif = 'UimsS' ]) : string
Parameters
- $texte : string
-
Texte dans lequel faire le remplacement
- $expression : string
-
Expression régulière
- $replace : string = ''
-
Texte de substitution des éléments trouvés
- $modif : string = 'UimsS'
-
Modificateurs pour l'expression régulière.
Tags
Return values
string —Texte
traiter_doublons_documents()
Cherche les documents numerotés dans un texte traite par `propre()`
traiter_doublons_documents(array<string|int, mixed> &$doublons, string $letexte) : string
Affecte la liste des doublons['documents']
Parameters
- $doublons : array<string|int, mixed>
-
Liste des doublons
- $letexte : string
-
Le texte
Return values
string —Le texte
vide()
Filtre vide qui ne renvoie rien
vide(mixed $texte) : string
Parameters
- $texte : mixed
Tags
Return values
string —Chaîne vide
env_to_params()
Écrit des balises HTML `<param...>` à partir d'un tableau de données tel que `#ENV`
env_to_params(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string
Permet d'écrire les balises <param>
à indiquer dans un <object>
en prenant toutes les valeurs du tableau transmis.
Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine
Parameters
- $env : array<string|int, mixed>|string
-
Tableau cle => valeur des paramètres à écrire, ou chaine sérialisée de ce tableau
- $ignore_params : array<string|int, mixed> = []
-
Permet de compléter les clés ignorées du tableau.
Tags
Return values
string —Code HTML résultant
env_to_attributs()
Écrit des attributs HTML à partir d'un tableau de données tel que `#ENV`
env_to_attributs(array<string|int, mixed>|string $env[, array<string|int, mixed> $ignore_params = [] ]) : string
Permet d'écrire des attributs d'une balise HTML en utilisant les données du tableau transmis. Chaque clé deviendra le nom de l'attribut (et la valeur, sa valeur)
Certaines clés spécifiques à SPIP et aux modèles embed sont omises : id, lang, id_document, date, date_redac, align, fond, recurs, emb, dir_racine
Parameters
- $env : array<string|int, mixed>|string
-
Tableau cle => valeur des attributs à écrire, ou chaine sérialisée de ce tableau
- $ignore_params : array<string|int, mixed> = []
-
Permet de compléter les clés ignorées du tableau.
Tags
Return values
string —Code HTML résultant
concat()
Concatène des chaînes
concat(array<string|int, mixed> ...$args) : string
Parameters
- $args : array<string|int, mixed>
Tags
Return values
string —Chaînes concaténés
charge_scripts()
Retourne le contenu d'un ou plusieurs fichiers
charge_scripts(array<string|int, mixed>|string $files[, bool $script = true ]) : string
Les chemins sont cherchés dans le path de SPIP
Parameters
- $files : array<string|int, mixed>|string
-
- array : Liste de fichiers
- string : fichier ou fichiers séparés par
|
- $script : bool = true
-
- si true, considère que c'est un fichier js à chercher
javascript/
- si true, considère que c'est un fichier js à chercher
Tags
Return values
string —Contenu du ou des fichiers, concaténé
http_img_variante_svg_si_possible()
Trouver la potentielle variante SVG -xx.svg d'une image -xx.png Cette fonction permet le support multi-version SPIP des plugins qui fournissent une icone PNG et sa variante SVG
http_img_variante_svg_si_possible(string $img_file) : string
Parameters
- $img_file : string
Return values
stringhttp_img_pack()
Produit une balise img avec un champ alt d'office si vide
http_img_pack(string $img, string $alt[, string $atts = '' ][, string $title = '' ][, array<string|int, mixed> $options = [] ]) : string
Attention le htmlentities et la traduction doivent être appliqués avant.
Parameters
- $img : string
- $alt : string
- $atts : string = ''
- $title : string = ''
- $options : array<string|int, mixed> = []
-
chemin_image : utiliser chemin_image sur $img fourni, ou non (oui par dafaut) utiliser_suffixe_size : utiliser ou non le suffixe de taille dans le nom de fichier de l'image sous forme -xx.png (pour les icones essentiellement) (oui par defaut) variante_svg_si_possible: utiliser l'image -xx.svg au lieu de -32.png par exemple (si la variante svg est disponible)
Return values
stringhttp_style_background()
Générer une directive `style='background:url()'` à partir d'un fichier image
http_style_background(string $img[, string $att = '' ][, string $size = null ]) : string
Parameters
- $img : string
- $att : string = ''
- $size : string = null
Return values
stringhelper_filtre_balise_img_svg_arguments()
helper_filtre_balise_img_svg_arguments(mixed $alt_or_size, mixed $class_or_size, mixed $size) : mixed
Parameters
- $alt_or_size : mixed
- $class_or_size : mixed
- $size : mixed
helper_filtre_balise_img_svg_size()
helper_filtre_balise_img_svg_size(mixed $img, mixed $size) : mixed
Parameters
- $img : mixed
- $size : mixed
filtre_balise_img_dist()
Générer une balise HTML `img` à partir d'un nom de fichier et/ou renseigne son alt/class/width/height selon les arguments passés
filtre_balise_img_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_img)] [(#FICHIER|balise_img{1024})] [(#FICHIER|balise_img{1024x*})] [(#FICHIER|balise_img{1024x640})] [(#FICHIER|balise_img{'un nuage',1024x640})] [(#FICHIER|balise_img{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_img{'@2x','',''})]
Parameters
- $img : string
-
chemin vers un fichier ou balise
<img src='...'>
(generee par un filtre image par exemple) - $alt : string = ''
-
texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)
- $class : string = null
-
attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree
- $size : string|int = null
-
taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions
Tags
Return values
string —Code HTML de la balise IMG
filtre_balise_svg_dist()
Inserer un svg inline http://www.accede-web.com/notices/html-css-javascript/6-images-icones/6-2-svg-images-vectorielles/
filtre_balise_svg_dist(string $img[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
pour l'inserer avec une balise , utiliser le filtre |balise_img
Le class et le alt peuvent etre omis et dans ce cas size peut-être renseigné comme dernier argument : [(#FICHIER|balise_svg{1024x640})] [(#FICHIER|balise_svg{'un nuage',1024x640})] [(#FICHIER|balise_svg{'un nuage','spip_logo',1024x640})] Si le alt ou la class sont ambigu et peuvent etre interpretes comme une taille, il suffit d'indiquer une taille vide pour lever l'ambiguite [(#FICHIER|balise_svg{'un nuage','@2x',''})]
Parameters
- $img : string
-
chemin vers un fichier ou balise
<svg ... >... </svg>
deja preparee - $alt : string = ''
-
texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)
- $class : string = null
-
attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree
- $size : string|int = null
-
taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions
Return values
string —Code HTML de la balise SVG
filtre_balise_img_svg_dist()
Génère une balise HTML `img` ou un `svg` inline suivant le nom du fichier.
filtre_balise_img_svg_dist(mixed $src[, string $alt = '' ][, string $class = null ][, string|int $size = null ]) : string
Parameters
- $src : mixed
- $alt : string = ''
-
texte alternatif ; une valeur nulle pour explicitement ne pas avoir de balise alt sur l'image (au lieu d'un alt vide)
- $class : string = null
-
attribut class ; null par defaut (ie si img est une balise, son attribut class sera inchange. pas de class inseree
- $size : string|int = null
-
taille imposee @2x : pour imposer une densite x2 (widht et height seront divisees par 2) largeur : pour une image carree largeurx* : pour imposer uniquement la largeur (un attribut height sera aussi ajoute, mais calcule automatiquement pour respecter le ratio initial de l'image) largeurxhauteur pour fixer les 2 dimensions
Tags
Return values
string —Code HTML de la balise IMG
filtre_info_plugin_dist()
Obtient des informations sur les plugins actifs
filtre_info_plugin_dist(string $plugin, string $type_info[, bool $reload = false ]) : array<string|int, mixed>|string|bool
Parameters
- $plugin : string
-
Préfixe du plugin ou chaîne vide
- $type_info : string
-
Type d'info demandée
- $reload : bool = false
-
true (à éviter) pour forcer le recalcul du cache des informations des plugins.
Tags
Return values
array<string|int, mixed>|string|bool —- Liste sérialisée des préfixes de plugins actifs (si $plugin = '')
- Suivant $type_info, avec $plugin un préfixe
- est_actif : renvoie true s'il est actif, false sinon
- x : retourne l'information x du plugin si présente (et plugin actif)
- tout : retourne toutes les informations du plugin actif
puce_changement_statut()
Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
puce_changement_statut(int $id_objet, string $statut, int $id_rubrique, string $type[, bool $ajax = false ]) : string
Parameters
- $id_objet : int
-
Identifiant de l'objet
- $statut : string
-
Statut actuel de l'objet
- $id_rubrique : int
-
Identifiant du parent
- $type : string
-
Type d'objet
- $ajax : bool = false
-
Indique s'il ne faut renvoyer que le coeur du menu car on est dans une requete ajax suite à un post de changement rapide
Tags
Return values
string —Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)
filtre_puce_statut_dist()
Affiche la puce statut d'un objet, avec un menu rapide pour changer de statut si possibilité de l'avoir
filtre_puce_statut_dist(string $statut, string $objet[, int $id_objet = 0 ][, int $id_parent = 0 ]) : string
Utilisable sur tout objet qui a declaré ses statuts
Parameters
- $statut : string
-
Statut actuel de l'objet
- $objet : string
-
Type d'objet
- $id_objet : int = 0
-
Identifiant de l'objet
- $id_parent : int = 0
-
Identifiant du parent
Tags
Return values
string —Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)
encoder_contexte_ajax()
Encoder un contexte pour l'ajax
encoder_contexte_ajax(string|array<string|int, mixed> $c[, string $form = '' ][, string $emboite = null ][, string $ajaxid = '' ]) : string
Encoder le contexte, le signer avec une clé, le crypter avec le secret du site, le gziper si possible.
L'entrée peut-être sérialisée (le #ENV**
des fonds ajax et ajax_stat)
Parameters
- $c : string|array<string|int, mixed>
-
contexte, peut etre un tableau serialize
- $form : string = ''
-
nom du formulaire eventuel
- $emboite : string = null
-
contenu a emboiter dans le conteneur ajax
- $ajaxid : string = ''
-
ajaxid pour cibler le bloc et forcer sa mise a jour
Tags
Return values
string —hash du contexte
decoder_contexte_ajax()
Décoder un hash de contexte pour l'ajax
decoder_contexte_ajax(string $c[, string $form = '' ]) : array<string|int, mixed>|string|bool
Précude inverse de encoder_contexte_ajax()
Parameters
- $c : string
-
hash du contexte
- $form : string = ''
-
nom du formulaire eventuel
Tags
Return values
array<string|int, mixed>|string|bool —- array|string : contexte d'environnement, possiblement sérialisé
- false : erreur de décodage
_xor()
Encrypte ou décrypte un message
_xor(string $message[, null|string $key = null ]) : string
Parameters
- $message : string
-
Message à encrypter ou décrypter
- $key : null|string = null
-
Clé de cryptage / décryptage. Une clé sera calculée si non transmise
Tags
Return values
string —Message décrypté ou encrypté
url_reponse_forum()
Retourne une URL de réponse de forum (aucune action ici)
url_reponse_forum(string $texte) : string
Parameters
- $texte : string
Tags
Return values
stringurl_rss_forum()
retourne une URL de suivi rss d'un forum (aucune action ici)
url_rss_forum(string $texte) : string
Parameters
- $texte : string
Tags
Return values
stringlien_ou_expose()
Génère des menus avec liens ou `<strong class='on'>` non clicable lorsque l'item est sélectionné Le parametre $on peut recevoir un selecteur simplifié de type 'a.active' 'strong.active.expose' pour préciser la balise (a, span ou strong uniquement) et la/les classes à utiliser quand on est expose
lien_ou_expose(string $url[, string $libelle = null ][, bool $on = false ][, string $class = '' ][, string $title = '' ][, string $rel = '' ][, string $evt = '' ]) : string
Parameters
- $url : string
-
URL du lien
- $libelle : string = null
-
texte du lien
- $on : bool = false
-
État exposé ou non (génère un lien). Si $on vaut true ou 1 ou ' ', l'etat expose est rendu par un ... Si $on est de la forme span.active.truc par exemple, l'etat expose est rendu par ... Seules les balises a, span et strong sont acceptees dans ce cas
- $class : string = ''
-
classes CSS ajoutées au lien
- $title : string = ''
-
Title ajouté au lien
- $rel : string = ''
-
Attribut
rel
ajouté au lien - $evt : string = ''
-
Complement à la balise
a
pour gérer un événement javascript, de la formeonclick='...'
Tags
Return values
string —Code HTML
singulier_ou_pluriel()
Afficher un message "un truc"/"N trucs" Les items sont à indiquer comme pour la fonction _T() sous la forme : "module:chaine"
singulier_ou_pluriel(int $nb, string $chaine_un, string $chaine_plusieurs[, string $var = 'nb' ][, array<string|int, mixed> $vars = [] ]) : string
Parameters
- $nb : int
-
: le nombre
- $chaine_un : string
-
: l'item de langue si $nb vaut un
- $chaine_plusieurs : string
-
: l'item de lanque si $nb >= 2
- $var : string = 'nb'
-
: La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")
- $vars : array<string|int, mixed> = []
-
: Les autres variables nécessaires aux chaines de langues (facultatif)
Return values
string —: la chaine de langue finale en utilisant la fonction _T()
prepare_icone_base()
Fonction de base pour une icone dans un squelette.
prepare_icone_base(string $type, string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Il peut s'agir soit d'un simple lien, structure html : <span><a><img><b>texte</b></span>
,
soit d'un bouton d'action, structure identique au retour de #BOUTON_ACTION
.
Parameters
- $type : string
-
'lien' ou 'bouton'
- $lien : string
-
url
- $texte : string
-
texte du lien / alt de l'image
- $fond : string
-
objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
new/del/edit
- $class : string = ''
-
Classes supplémentaires (horizontale, verticale, ajax…)
- $javascript : string = ''
-
code javascript tel que "onclick='...'" par exemple ou texte du message de confirmation s'il s'agit d'un bouton
Return values
stringicone_base()
Crée un lien ayant une icone
icone_base(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
- $lien : string
-
URL du lien
- $texte : string
-
texte du lien
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du lien (
edit
,new
,del
) - $class : string = ''
-
classe CSS, tel que
left
,right
pour définir un alignement - $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
filtre_icone_verticale_dist()
Crée un lien précédé d'une icone au dessus du texte
filtre_icone_verticale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
- $lien : string
-
URL du lien
- $texte : string
-
texte du lien
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du lien (
edit
,new
,del
) - $class : string = ''
-
classe CSS à ajouter, tel que
left
,right
,center
pour définir un alignement. Il peut y en avoir plusieurs :left ajax
- $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
filtre_icone_horizontale_dist()
Crée un lien précédé d'une icone horizontale
filtre_icone_horizontale_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $javascript = '' ]) : string
Parameters
- $lien : string
-
URL du lien
- $texte : string
-
texte du lien
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du lien (
edit
,new
,del
) - $class : string = ''
-
classe CSS à ajouter
- $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
filtre_bouton_action_horizontal_dist()
Crée un bouton d'action intégrant une icone horizontale
filtre_bouton_action_horizontal_dist(string $lien, string $texte, string $fond[, string $fonction = '' ][, string $class = '' ][, string $confirm = '' ]) : string
Parameters
- $lien : string
-
URL de l'action
- $texte : string
-
texte du bouton
- $fond : string
-
Objet avec ou sans son extension et sa taille (article, article-24, article-24.png)
- $fonction : string = ''
-
Fonction du bouton (
edit
,new
,del
) - $class : string = ''
-
classes à ajouter au bouton, à l'exception de
ajax
qui est placé sur le formulaire. - $confirm : string = ''
-
Message de confirmation à ajouter en javascript sur le bouton
Tags
Return values
string —Code HTML du lien
filtre_explode_dist()
Explose un texte en tableau suivant un séparateur
filtre_explode_dist(string $a, string $b) : array<string|int, mixed>
Parameters
- $a : string
-
texte
- $b : string
-
Séparateur
Tags
Return values
array<string|int, mixed> —Liste des éléments
filtre_implode_dist()
Implose un tableau en chaine en liant avec un séparateur
filtre_implode_dist(array<string|int, mixed> $a, string $b) : string
Parameters
- $a : array<string|int, mixed>
-
Tableau
- $b : string
-
Séparateur
Tags
Return values
string —texte
bando_images_background()
Produire les styles privés qui associent item de menu avec icone en background
bando_images_background() : string
Return values
string —Code CSS
bouton_action()
Générer un bouton_action utilisé par #BOUTON_ACTION
bouton_action(string $libelle, string $url[, string $class = '' ][, string $confirm = '' ][, string $title = '' ][, string $callback = '' ]) : string
Parameters
- $libelle : string
-
Libellé du bouton
- $url : string
-
URL d'action sécurisée, généralement obtenue avec generer_action_auteur()
- $class : string = ''
-
Classes à ajouter au bouton, à l'exception de
ajax
qui est placé sur le formulaire. - $confirm : string = ''
-
Message de confirmation oui/non avant l'action
- $title : string = ''
-
Attribut title à ajouter au bouton
- $callback : string = ''
-
Callback js a appeler lors de l'évènement action et avant execution de l'action (ou après confirmation éventuelle si $confirm est non vide). Si la callback renvoie false, elle annule le déclenchement de l'action.
Return values
stringgenerer_objet_info()
Donner n'importe quelle information sur un objet de maniere generique.
generer_objet_info(int|string|null $id_objet, string $type_objet, string $info[, string $etoile = '' ][, array<string|int, mixed> $params = [] ]) : string
La fonction va gerer en interne deux cas particuliers les plus utilises : l'URL et le titre (qui n'est pas forcemment le champ SQL "titre").
On peut ensuite personnaliser les autres infos en creant une fonction generer_objet_<nom_info>($id_objet, $type_objet, $ligne). $ligne correspond a la ligne SQL de tous les champs de l'objet, les fonctions de personnalisation n'ont donc pas a refaire de requete.
Parameters
- $id_objet : int|string|null
- $type_objet : string
- $info : string
- $etoile : string = ''
- $params : array<string|int, mixed> = []
-
Tableau de paramètres supplémentaires transmis aux fonctions generer_xxx
Tags
Return values
stringgenerer_objet_introduction()
Fonction privée pour donner l'introduction d'un objet de manière générique.
generer_objet_introduction(int $id_objet, string $type_objet, array<string|int, mixed> $ligne_sql[, int $introduction_longueur = null ][, int|string $longueur_ou_suite = null ][, string $suite = null ][, string $connect = '' ]) : string
Cette fonction est mutualisée entre les balises #INTRODUCTION et #INFO_INTRODUCTION. Elle se charge de faire le tri entre descriptif, texte et chapo, et normalise les paramètres pour la longueur et la suite. Ensuite elle fait appel au filtre 'introduction' qui construit celle-ci à partir de ces données.
Parameters
- $id_objet : int
-
Numéro de l'objet
- $type_objet : string
-
Type d'objet
- $ligne_sql : array<string|int, mixed>
-
Ligne SQL de l'objet avec au moins descriptif, texte et chapo
- $introduction_longueur : int = null
-
Longueur de l'introduction donnée dans la description de la table l'objet
- $longueur_ou_suite : int|string = null
-
Longueur de l'introduction OU points de suite si on coupe
- $suite : string = null
-
Points de suite si on coupe
- $connect : string = ''
-
Nom du connecteur à la base de données
Tags
Return values
stringappliquer_traitement_champ()
Appliquer a un champ SQL le traitement qui est configure pour la balise homonyme dans les squelettes
appliquer_traitement_champ(string $texte, string $champ[, string $table_objet = '' ][, array<string|int, mixed> $env = [] ][, string $connect = '' ]) : string
Parameters
- $texte : string
- $champ : string
- $table_objet : string = ''
- $env : array<string|int, mixed> = []
- $connect : string = ''
Return values
stringgenerer_objet_lien()
Generer un lien (titre clicable vers url) vers un objet
generer_objet_lien(int $id_objet, string $objet[, int $longueur = 80 ][, null|string $connect = '' ]) : string
Parameters
- $id_objet : int
- $objet : string
- $longueur : int = 80
- $connect : null|string = ''
Return values
stringwrap()
Englobe (Wrap) un texte avec des balises
wrap(string $texte, string $wrap) : string
Parameters
- $texte : string
- $wrap : string
Tags
Return values
stringfiltre_print_dist()
afficher proprement n'importe quoi On affiche in fine un pseudo-yaml qui premet de lire humainement les tableaux et de s'y reperer
filtre_print_dist(mixed $u[, string $join = '<br>' ][, int $indent = 0 ]) : array<string|int, mixed>|mixed|string
Les textes sont retournes avec simplement mise en forme typo
le $join sert a separer les items d'un tableau, c'est en general un \n ou
selon si on fait du html ou du texte
les tableaux-listes (qui n'ont que des cles numeriques), sont affiches sous forme de liste separee par des virgules :
c'est VOULU !
Parameters
- $u : mixed
- $join : string = '<br>'
- $indent : int = 0
Return values
array<string|int, mixed>|mixed|stringobjet_info()
Renvoyer l'info d'un objet telles que definies dans declarer_tables_objets_sql
objet_info(string $objet, string $info) : string|array<string|int, mixed>
Parameters
- $objet : string
- $info : string
Return values
string|array<string|int, mixed>objet_afficher_nb()
Filtre pour afficher 'Aucun truc' ou '1 truc' ou 'N trucs' avec la bonne chaîne de langue en fonction de l'objet utilisé
objet_afficher_nb(int $nb, string $objet) : mixed|string
Parameters
- $nb : int
-
Nombre d'éléments
- $objet : string
-
Objet
Return values
mixed|string —texte traduit du comptage, tel que '3 articles'
objet_icone()
Filtre pour afficher l'img icone d'un objet
objet_icone(string $objet[, int $taille = 24 ][, string $class = '' ]) : string
Parameters
- $objet : string
- $taille : int = 24
- $class : string = ''
Return values
stringobjet_T()
Renvoyer une traduction d'une chaine de langue contextuelle à un objet si elle existe, la traduction de la chaine generique
objet_T(string $objet, string $chaine[, array<string|int, mixed> $args = [] ][, array<string|int, mixed> $options = [] ]) : string
Ex : [(#ENV{objet}|objet_label{trad_reference})] va chercher si une chaine objet:trad_reference existe et renvoyer sa trad le cas echeant sinon renvoie la trad de la chaine trad_reference Si la chaine fournie contient un prefixe il est remplacé par celui de l'objet pour chercher la chaine contextuelle
Les arguments $args et $options sont ceux de la fonction _T
Parameters
- $objet : string
- $chaine : string
- $args : array<string|int, mixed> = []
- $options : array<string|int, mixed> = []
Return values
stringinsert_head_css_conditionnel()
Fonction de secours pour inserer le head_css de facon conditionnelle
insert_head_css_conditionnel(string $flux) : string
Appelée en filtre sur le squelette qui contient #INSERT_HEAD, elle vérifie l'absence éventuelle de #INSERT_HEAD_CSS et y suplée si besoin pour assurer la compat avec les squelettes qui n'utilisent pas.
Parameters
- $flux : string
-
Code HTML
Return values
string —Code HTML
produire_fond_statique()
Produire un fichier statique à partir d'un squelette dynamique
produire_fond_statique(string $fond[, array<string|int, mixed> $contexte = [] ][, array<string|int, mixed> $options = [] ][, string $connect = '' ]) : string
Permet ensuite à Apache de le servir en statique sans repasser par spip.php à chaque hit sur le fichier.
Formats supportés : html, css, js, json, xml, svg
Si le format est passé dans contexte['format']
, on l'utilise
sinon on regarde l'extension du fond, sinon on utilise "html"
Parameters
- $fond : string
- $contexte : array<string|int, mixed> = []
- $options : array<string|int, mixed> = []
- $connect : string = ''
Tags
Return values
stringtimestamp()
Ajouter un timestamp a une url de fichier [(#CHEMIN{monfichier}|timestamp)]
timestamp(string $fichier) : string
Parameters
- $fichier : string
-
Le chemin du fichier sur lequel on souhaite ajouter le timestamp
Return values
string —$fichier auquel on a ajouté le timestamp
supprimer_timestamp()
Supprimer le timestamp d'une url
supprimer_timestamp(string $url) : string
Parameters
- $url : string
Return values
stringfiltre_nettoyer_titre_email_dist()
Nettoyer le titre d'un email
filtre_nettoyer_titre_email_dist(string $titre) : string
Éviter une erreur lorsqu'on utilise |nettoyer_titre_email
dans un squelette de mail
Parameters
- $titre : string
Tags
Return values
stringfiltre_chercher_rubrique_dist()
Afficher le sélecteur de rubrique
filtre_chercher_rubrique_dist(string $titre, int $id_objet, int $id_parent, string $objet, int $id_secteur, bool $restreint[, bool $actionable = false ][, bool $retour_sans_cadre = false ]) : string
Il permet de placer un objet dans la hiérarchie des rubriques de SPIP
Parameters
- $titre : string
- $id_objet : int
- $id_parent : int
- $objet : string
- $id_secteur : int
- $restreint : bool
- $actionable : bool = false
-
true : fournit le selecteur dans un form directement postable
- $retour_sans_cadre : bool = false
Tags
Return values
stringsinon_interdire_acces()
Rediriger une page suivant une autorisation, et ce, n'importe où dans un squelette, même dans les inclusions.
sinon_interdire_acces([bool $ok = false ][, string $url = '' ][, int $statut = 0 ][, string $message = null ]) : string|void
En l'absence de redirection indiquée, la fonction redirige par défaut sur une 403 dans l'espace privé et 404 dans l'espace public.
Parameters
- $ok : bool = false
-
Indique si l'on doit rediriger ou pas
- $url : string = ''
-
Adresse eventuelle vers laquelle rediriger
- $statut : int = 0
-
Statut HTML avec lequel on redirigera
- $message : string = null
-
message d'erreur
Tags
Return values
string|void —Chaîne vide si l'accès est autorisé
filtre_compacte_dist()
Assurer le fonctionnement de |compacte meme sans l'extension compresseur
filtre_compacte_dist(string $source[, null|string $format = null ]) : string
Parameters
- $source : string
- $format : null|string = null
Return values
stringspip_affiche_mot_de_passe_masque()
Afficher partiellement un mot de passe que l'on ne veut pas rendre lisible par un champ hidden
spip_affiche_mot_de_passe_masque(string|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
stringidentifiant_slug()
Cette fonction permet de transformer un texte clair en nom court pouvant servir d'identifiant, class, id, url... en ne conservant que des caracteres alphanumeriques et un separateur
identifiant_slug(string $texte[, string $type = '' ][, array<string|int, mixed> $options = [] ]) : string
Parameters
- $texte : string
-
texte à transformer en nom machine
- $type : string = ''
- $options : array<string|int, mixed> = []
-
string separateur : par défaut, un underscore
_
. int longueur_maxi : par defaut 60 int longueur_mini : par defaut 0
Return values
stringlabel_nettoyer()
Prépare un texte pour un affichage en label ou titre
label_nettoyer(string $text[, bool $ucfirst = true ]) : string
Enlève un ':' à la fin d'une chaine de caractère, ainsi que les espaces qui pourraient l'accompagner, Met la première lettre en majuscule (par défaut)
Utile afficher dans un contexte de titre des chaines de langues qui contiennent des ':'
Parameters
- $text : string
- $ucfirst : bool = true
Tags
Return values
stringlabel_ponctuer()
Prépare un texte pour un affichage en label ou titre en ligne, systématiquement avec ' :' à la fin
label_ponctuer(string $text[, bool $ucfirst = true ]) : string
Ajoute ' :' aux chaines qui n'en ont pas (ajoute le caractère adapté à la langue utilisée). Passe la première lettre en majuscule par défaut.
Parameters
- $text : string
- $ucfirst : bool = true
Tags
Return values
stringhelper_filtre_objet_lister_enfants_ou_parents()
Helper pour les filtres associés aux fonctions objet_lister_(parents|enfants)(_par_type)?
helper_filtre_objet_lister_enfants_ou_parents(string $objet, int|string $id_objet, mixed $fonction) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
- $fonction : mixed
Return values
array<string|int, mixed>filtre_objet_lister_parents_dist()
Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents{#OBJET})]
filtre_objet_lister_parents_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>filtre_objet_lister_parents_par_type_dist()
Cherche les contenus parents d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_parents_par_type{#OBJET})]
filtre_objet_lister_parents_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>filtre_objet_lister_enfants_dist()
Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants{#OBJET})]
filtre_objet_lister_enfants_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>filtre_objet_lister_enfants_par_type_dist()
Cherche les contenus enfants d'un objet Supporte l'ecriture inverseee sous la forme [(#ID_OBJET|objet_lister_enfants_par_type{#OBJET})]
filtre_objet_lister_enfants_par_type_dist(string $objet, int|string $id_objet) : array<string|int, mixed>
Parameters
- $objet : string
- $id_objet : int|string
Tags
Return values
array<string|int, mixed>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
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
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
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
oustatus
, selon l'importance Défaut =alert
(sauf en cas de chaîne vide) - $id : string = null
-
Identifiant HTML du conteneur
Tags
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
oustatus
, selon l'importance Défaut =alert
(sauf en cas de chaîne vide) - $id : string = null
-
Identifiant HTML du conteneur
Tags
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
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
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
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
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
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
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
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
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
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()
Retourne l'heure d'une date
heures(string $numdate) : string
Parameters
- $numdate : string
-
La date à extraire
Tags
Return values
string —heures, sinon 0
minutes()
Retourne les minutes d'une date
minutes(string $numdate) : string
Parameters
- $numdate : string
-
La date à extraire
Tags
Return values
string —minutes, sinon 0
secondes()
Retourne les secondes d'une date
secondes(string $numdate) : string
Parameters
- $numdate : string
-
La date à extraire
Tags
Return values
string —secondes, sinon 0
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
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
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
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
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
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 queY-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
stringnom_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
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
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
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
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
Return values
string —Nom du mois
annee()
Affiche l'année sur 4 chiffres d'une date donnée
annee(string $numdate) : string
Parameters
- $numdate : string
-
Une écriture de date
Tags
Return values
string —Année (sur 4 chiffres)
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
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
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 queY-m-d h:i:s
Tags
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
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
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
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
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 courantejour
pour forcer l'affichage du nom du jourhcal
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
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
Return values
string —La date formatée
date_822()
Retourne une date formattée au format "RFC 822"
date_822(string $date_heure) : string
Utilisé pour <pubdate>
dans certains flux RSS
Parameters
- $date_heure : string
-
Une écriture de date
Tags
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
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
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
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
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
stringchercher_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
Return values
stringavoir_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
boolstatuts_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
stringafficher_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
stringauteurs_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
stringbouton_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
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
stringfiltre_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
stringafficher_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
stringlister_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 :
- string : indique le nom du filtre de traitement demandé (par exemple :
image_reduire
) ; - array : tableau reprenant la valeur de
$img
et chacun des arguments passés au filtre utilisé.
- string : indique le nom du filtre de traitement demandé (par exemple :
- $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
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_extension_normalisee()
_image_extension_normalisee(mixed $extension) : mixed
Parameters
- $extension : mixed
_image_extensions_conservent_transparence()
_image_extensions_conservent_transparence() : 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
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
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
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
Return values
resource|null —Une ressource de type Image GD.
_image_imagepng()
Affiche ou sauvegarde une image au format PNG
_image_imagepng(resource $img, string $fichier) : bool
Utilise les fonctions spécifiques GD.
Parameters
- $img : resource
-
Une ressource de type Image GD.
- $fichier : string
-
Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.png).
Return values
bool —- false si l'image créée a une largeur nulle ou n'existe pas ;
- true si une image est bien retournée.
_image_imagegif()
Affiche ou sauvegarde une image au format GIF
_image_imagegif(resource $img, string $fichier) : bool
Utilise les fonctions spécifiques GD.
Parameters
- $img : resource
-
Une ressource de type Image GD.
- $fichier : string
-
Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.gif).
Return values
bool —- false si l'image créée a une largeur nulle ou n'existe pas ;
- true si une image est bien retournée.
_image_imagejpg()
Affiche ou sauvegarde une image au format JPG
_image_imagejpg(resource $img, string $fichier[, int $qualite = _IMG_GD_QUALITE ]) : bool
Utilise les fonctions spécifiques GD.
Parameters
- $img : resource
-
Une ressource de type Image GD.
- $fichier : string
-
Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.jpg).
- $qualite : int = _IMG_GD_QUALITE
-
Le niveau de qualité du fichier résultant : de 0 (pire qualité, petit fichier) à 100 (meilleure qualité, gros fichier). Par défaut, prend la valeur (85) de la constante _IMG_GD_QUALITE (modifiable depuis mes_options.php).
Return values
bool —- false si l'image créée a une largeur nulle ou n'existe pas ;
- true si une image est bien retournée.
_image_imageico()
Crée un fichier-image au format ICO
_image_imageico(resource $img, string $fichier) : bool
Utilise les fonctions de la classe phpthumb_functions.
Parameters
- $img : resource
-
Une ressource de type Image GD.
- $fichier : string
-
Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.jpg).
Tags
Return values
bool —true si le fichier a bien été créé ; false sinon.
_image_imagewebp()
Affiche ou sauvegarde une image au format WEBP
_image_imagewebp(resource $img, string $fichier[, mixed $qualite = _IMG_GD_QUALITE ]) : bool
Utilise les fonctions spécifiques GD.
Parameters
- $img : resource
-
Une ressource de type Image GD.
- $fichier : string
-
Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.webp).
- $qualite : mixed = _IMG_GD_QUALITE
Return values
bool —- false si l'image créée a une largeur nulle ou n'existe pas ;
- true si une image est bien retournée.
_image_imagesvg()
Sauvegarde une image au format SVG
_image_imagesvg(string $img, string $fichier) : bool
- N'UTILISE PAS GD - C'est une fonction derogatoire pour faciliter le traitement des SVG
Parameters
- $img : string
-
contenu du SVG ou chemin vers le SVG source (et c'est alors une copie)
- $fichier : string
-
Le path vers l'image (ex : local/cache-vignettes/L180xH51/image.png).
Return values
bool —- false si l'image créée a une largeur nulle ou n'existe pas ;
- true si une image est bien retournée.
_image_gd_output()
Finalise le traitement GD
_image_gd_output(resource|string $img, array<string|int, mixed> $valeurs[, int $qualite = _IMG_GD_QUALITE ][, mixed $fonction = null ]) : bool
Crée un fichier_image temporaire .src ou vérifie que le fichier_image définitif a bien été créé.
Parameters
- $img : resource|string
-
Une ressource de type Image GD (ou une string pour un SVG)
- $valeurs : array<string|int, mixed>
-
Un tableau des informations (tailles, traitement, path...) accompagnant l'image.
- $qualite : int = _IMG_GD_QUALITE
-
N'est utilisé que pour les images jpg. Le niveau de qualité du fichier résultant : de 0 (pire qualité, petit fichier) à 100 (meilleure qualité, gros fichier). Par défaut, prend la valeur (85) de la constante _IMG_GD_QUALITE (modifiable depuis mes_options.php).
- $fonction : mixed = null
Tags
Return values
bool —- true si le traitement GD s'est bien finalisé ;
- false sinon.
reconstruire_image_intermediaire()
Reconstruit une image à partir des sources de contrôle de son ancienne construction
reconstruire_image_intermediaire(string $fichier_manquant) : mixed
Parameters
- $fichier_manquant : string
-
Chemin vers le fichier manquant
Tags
ramasse_miettes()
Indique qu'un fichier d'image calculé est à conserver
ramasse_miettes(string $fichier) : mixed
Permet de rendre une image définitive et de supprimer les images intermédiaires à son calcul.
Supprime le fichier de contrôle de l’image cible (le $fichier.src) ce qui indique que l'image est définitive.
Remonte ensuite la chaîne des fichiers de contrôle pour supprimer les images temporaires (mais laisse les fichiers de contrôle permettant de les reconstruire).
Parameters
- $fichier : string
-
Chemin du fichier d'image calculé
Tags
image_graver()
Clôture une série de filtres d'images
image_graver(string $img) : string
Ce filtre est automatiquement appelé à la fin d'une série de filtres d'images dans un squelette.
Parameters
- $img : string
-
Code HTML de l'image
Tags
Return values
string —Code HTML de l'image
_image_tag_changer_taille()
Applique des attributs de taille (width, height) à une balise HTML
_image_tag_changer_taille(string $tag, int $width, int $height[, bool|string $style = false ]) : string
Utilisé avec des balises <img>
tout particulièrement.
Modifie l'attribut style s'il était renseigné, en enlevant les informations éventuelles width / height dedans.
Parameters
- $tag : string
-
Code html de la balise
- $width : int
-
Hauteur
- $height : int
-
Largeur
- $style : bool|string = false
-
Attribut html style à appliquer. False extrait celui présent dans la balise
Tags
Return values
string —Code html modifié de la balise.
_image_ecrire_tag()
Écriture de la balise img en sortie de filtre image
_image_ecrire_tag(array<string|int, mixed> $valeurs[, array<string|int, mixed> $surcharge = [] ]) : string
Reprend le tag initial et surcharge les attributs modifiés
Parameters
- $valeurs : array<string|int, mixed>
-
Description de l'image tel que retourné par
_image_valeurs_trans()
- $surcharge : array<string|int, mixed> = []
-
Permet de surcharger certaines descriptions présentes dans
$valeurs
tel que 'style', 'width', 'height'
Tags
Return values
string —Retourne le code HTML de l'image
_image_creer_vignette()
Crée si possible une miniature d'une image
_image_creer_vignette(array<string|int, mixed> $valeurs, int $maxWidth, int $maxHeight[, string $process = 'AUTO' ][, bool $force = false ]) : array<string|int, mixed>|null
Parameters
- $valeurs : array<string|int, mixed>
-
Description de l'image, telle que retournée par
_image_valeurs_trans()
- $maxWidth : int
-
Largeur maximum en px de la miniature à réaliser
- $maxHeight : int
-
Hauteur maximum en px de la miniateure à réaliser
- $process : string = 'AUTO'
-
Librairie graphique à utiliser (gd2, ou autre fournie par plugin). AUTO utilise la librairie sélectionnée dans la configuration.
- $force : bool = false
Tags
Return values
array<string|int, mixed>|null —Description de l'image, sinon null.
_image_ratio()
Réduire des dimensions en respectant un ratio
_image_ratio(int $srcWidth, int $srcHeight, int $maxWidth, int $maxHeight) : array<string|int, mixed>
Réduit des dimensions (hauteur, largeur) pour qu'elles soient incluses dans une hauteur et largeur maximum fournies en respectant la proportion d'origine
Parameters
- $srcWidth : int
-
Largeur de l'image source
- $srcHeight : int
-
Hauteur de l'image source
- $maxWidth : int
-
Largeur maximum souhaitée
- $maxHeight : int
-
Hauteur maximum souhaitée
Tags
Return values
array<string|int, mixed> —Liste [ largeur, hauteur, ratio de réduction ]
ratio_passe_partout()
Réduire des dimensions en respectant un ratio sur la plus petite dimension
ratio_passe_partout(int $srcWidth, int $srcHeight, int $maxWidth, int $maxHeight) : array<string|int, mixed>
Réduit des dimensions (hauteur, largeur) pour qu'elles soient incluses dans la plus grande hauteur ou largeur maximum fournie en respectant la proportion d'origine
Parameters
- $srcWidth : int
-
Largeur de l'image source
- $srcHeight : int
-
Hauteur de l'image source
- $maxWidth : int
-
Largeur maximum souhaitée
- $maxHeight : int
-
Hauteur maximum souhaitée
Tags
Return values
array<string|int, mixed> —Liste [ largeur, hauteur, ratio de réduction ]
process_image_svg_identite()
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_svg_identite(array<string|int, mixed> $image) : string
Parameters
- $image : array<string|int, mixed>
-
tableau des valeurs crees par _image_valeurs_trans
Return values
stringprocess_image_reduire()
Réduit une image
process_image_reduire(array<string|int, mixed> $fonction, string $img, int $taille, int $taille_y, bool $force[, string $process = 'AUTO' ]) : string
Parameters
- $fonction : array<string|int, mixed>
-
Un tableau à 2 éléments :
- string : indique le nom du filtre de traitement demandé (par exemple :
image_reduire
) ; - array : tableau reprenant la valeur de
$img
et chacun des arguments passés au filtre utilisé.
- string : indique le nom du filtre de traitement demandé (par exemple :
- $img : string
-
Chemin de l'image ou texte contenant une balise img
- $taille : int
-
Largeur désirée
- $taille_y : int
-
Hauteur désirée
- $force : bool
- $process : string = 'AUTO'
-
Librairie graphique à utiliser (gd2 ou autre fournie par plugin). AUTO utilise la librairie sélectionnée dans la configuration.
Tags
Return values
string —Code HTML de la balise img produite
couleur_html_to_hex()
Transforme un code couleur textuel (black, white, green...) et code hexadécimal
couleur_html_to_hex(string $couleur) : string
Parameters
- $couleur : string
-
Le code couleur textuel
Return values
string —Le code hexadécimal de la couleur (sans le #) ou le code couleur textuel si non trouvé
couleur_hex_to_hsl()
Retourne une couleur hsl a partir d'une couleur hex
couleur_hex_to_hsl(string $couleur[, string|null $format = null ]) : string
Parameters
- $couleur : string
- $format : string|null = null
-
Si précisé, remplace h, s ou l par sa valeur dans la chaine passée.
Tags
Return values
string —Couleur tel que "hsl(200, 40%, 34%)" ou valeur formattée
couleur_hex_to_rgb()
Retourne une couleur rgb a partir d'une couleur hex
couleur_hex_to_rgb(string $couleur[, string|null $format = null ]) : string
Parameters
- $couleur : string
- $format : string|null = null
-
Si précisé, remplace r, g ou b par sa valeur dans la chaine passée.
Tags
Return values
string —Couleur tel que "rgb(200, 40, 84)" ou valeur formattée
couleur_foncer()
Rend une couleur (code hexadécimal) plus foncée
couleur_foncer(string $couleur[, float $coeff = 0.5 ]) : string
Parameters
- $couleur : string
-
Code hexadécimal d'une couleur
- $coeff : float = 0.5
-
Coefficient (de 0 à 1)
Tags
Return values
string —Code hexadécimal de la couleur plus foncée
couleur_eclaircir()
Eclaircit une couleur (code hexadécimal)
couleur_eclaircir(string $couleur[, float $coeff = 0.5 ]) : string
Parameters
- $couleur : string
-
Code hexadécimal d'une couleur
- $coeff : float = 0.5
-
Coefficient (de 0 à 1)
Tags
Return values
string —Code hexadécimal de la couleur éclaircie
image_select()
Selectionne les images qui vont subir une transformation sur un critere de taille
image_select(string $img[, int $width_min = 0 ][, int $height_min = 0 ][, int $width_max = 10000 ][, int $height_max = 1000 ]) : Le
Les images exclues sont marquees d'une class filtre_inactif qui bloque les filtres suivants dans la fonction image_filtrer
Parameters
- $img : string
-
Un tag html
<img src=...>
. - $width_min : int = 0
-
Largeur minimale de l'image à traiter (0 par défaut)
- $height_min : int = 0
-
Hauteur minimale de l'image à traiter (0 par défaut)
- $width_max : int = 10000
-
Largeur minimale de l'image à traiter (10000 par défaut)
- $height_max : int = 1000
-
Hauteur minimale de l'image à traiter (10000 par défaut)
Return values
Le —tag html <img src=...>
avec une class filtre_inactif
ou pas
image_passe_partout()
Réduit les images à une taille maximale (chevauchant un rectangle)
image_passe_partout(string $img[, int $taille_x = -1 ][, int $taille_y = -1 ][, bool $force = false ][, bool $cherche_image = false ][, string $process = 'AUTO' ]) : string
L'image possède un côté réduit dans les dimensions indiquées et l'autre côté (hauteur ou largeur) de l'image peut être plus grand que les dimensions du rectangle.
Alors que image_reduire produit la plus petite image tenant dans un rectangle, image_passe_partout produit la plus grande image qui remplit ce rectangle.
Parameters
- $img : string
-
Chemin de l'image ou code html d'une balise img
- $taille_x : int = -1
-
- Largeur maximale en pixels désirée
- -1 prend la taille de réduction des vignettes par défaut
- 0 la taille s'adapte à la largeur
- $taille_y : int = -1
-
- Hauteur maximale en pixels désirée
- -1 pour prendre pareil que la largeur
- 0 la taille s'adapte à la hauteur
- $force : bool = false
- $cherche_image : bool = false
-
Inutilisé
- $process : string = 'AUTO'
-
Librairie graphique à utiliser (gd2 ou autre librairie prise en charge par plugin). AUTO utilise la librairie sélectionnée dans la configuration.
Tags
Return values
string —Code HTML de l'image ou du texte.
image_reduire()
Réduit les images à une taille maximale (inscrite dans un rectangle)
image_reduire(string $img[, int $taille = -1 ][, int $taille_y = -1 ][, bool $force = false ][, bool $cherche_image = false ][, string $process = 'AUTO' ]) : string
L'image possède un côté dans les dimensions indiquées et l'autre côté (hauteur ou largeur) de l'image peut être plus petit que les dimensions du rectangle.
Peut être utilisé pour réduire toutes les images d'un texte.
Parameters
- $img : string
-
Chemin de l'image ou code html d'une balise img
- $taille : int = -1
-
- Largeur maximale en pixels désirée
- -1 prend la taille de réduction des vignettes par défaut
- 0 la taille s'adapte à la largeur
- $taille_y : int = -1
-
- Hauteur maximale en pixels désirée
- -1 pour prendre pareil que la largeur
- 0 la taille s'adapte à la hauteur
- $force : bool = false
- $cherche_image : bool = false
-
Inutilisé
- $process : string = 'AUTO'
-
Librairie graphique à utiliser (gd2 ou autre librairie prise en charge par plugin). AUTO utilise la librairie sélectionnée dans la configuration.
Tags
Return values
string —Code HTML de l'image ou du texte.
image_recadre_avec_fallback()
Usage espace privé: recadre une image uniquement si GD2 et image_recadre (plugin activé) existe sinon retourne le image_passe_partout usuel
image_recadre_avec_fallback(mixed $im, mixed $width[, mixed $height = '-' ][, mixed $position = 'focus' ][, mixed $background_color = 'white' ]) : mixed
Parameters
- $im : mixed
- $width : mixed
- $height : mixed = '-'
- $position : mixed = 'focus'
- $background_color : mixed = 'white'
image_reduire_par()
Réduit les images d'un certain facteur
image_reduire_par(string $img[, int $val = 1 ][, bool $force = false ]) : string
Parameters
- $img : string
-
Chemin de l'image ou code html d'une balise img
- $val : int = 1
-
Facteur de réduction
- $force : bool = false
Tags
Return values
string —Code HTML de l'image ou du texte.
filtre_couleur_saturation_dist()
Modifie la saturation de la couleur transmise
filtre_couleur_saturation_dist(string $couleur, float $val[, bool|string $strict = false ]) : string
Parameters
- $couleur : string
-
Couleur en écriture hexadécimale, tel que
ff3300
- $val : float
-
Pourcentage désiré (entre 0 et 1)
- $strict : bool|string = false
-
Si true, ne change vraiment que la saturation, sans toucher à la luminosité
Tags
Return values
string —Couleur en écriture hexadécimale.
filtre_couleur_luminance_dist()
Modifie la luminance de la couleur transmise
filtre_couleur_luminance_dist(string $couleur, float $val) : string
Parameters
- $couleur : string
-
Couleur en écriture hexadécimale, tel que
ff3300
- $val : float
-
Pourcentage désiré (entre 0 et 1)
Tags
Return values
string —Couleur en écriture hexadécimale.
filtre_image_dist()
Filtre d'incrustation d'un document image
filtre_image_dist(string $t) : string
Ne fait rien.
Parameters
- $t : string
-
Contenu
Tags
Return values
string —Rien.
filtre_audio_dist()
Filtre d'incrustation d'un document audio
filtre_audio_dist(string $t) : string
Ne fait rien.
Parameters
- $t : string
-
Contenu
Tags
Return values
string —Rien.
filtre_video_dist()
Filtre d'incrustation d'un document video
filtre_video_dist(string $t) : string
Ne fait rien.
Parameters
- $t : string
-
Contenu
Tags
Return values
string —Rien.
filtre_application_dist()
Filtre d'incrustation d'un document application
filtre_application_dist(string $t) : string
Ne fait rien.
Parameters
- $t : string
-
Contenu
Tags
Return values
string —Rien.
filtre_message_dist()
Filtre d'incrustation d'un document message
filtre_message_dist(string $t) : string
Ne fait rien.
Parameters
- $t : string
-
Contenu
Tags
Return values
string —Rien.
filtre_multipart_dist()
Filtre d'incrustation d'un document multipart
filtre_multipart_dist(string $t) : string
Ne fait rien.
Parameters
- $t : string
-
Contenu
Tags
Return values
string —Rien.
filtre_text_dist()
Filtre d'incrustation d'un document test
filtre_text_dist(string $t) : string
Échappe les chevrons et l'esperluette.
Parameters
- $t : string
-
Contenu
Tags
Return values
string —Contenu échappé.
filtre_text_csv_dist()
Filtre d'incrustation d'un document CSV
filtre_text_csv_dist(string $t) : string
Produit un joli tableau à partir du texte CSV
Parameters
- $t : string
-
texte CSV
Tags
Return values
string —Tableau (formaté en SPIP)
filtre_text_html_dist()
Filtre d'incrustation d'un document text/html
filtre_text_html_dist(string $t) : string
Incrustation de HTML, si on est capable de le sécuriser, sinon, afficher la source
Parameters
- $t : string
-
Code html
Tags
Return values
string —Code html sécurisé ou texte échappé
filtre_audio_x_pn_realaudio()
Filtre d'incrustation d'un document RealAudio
filtre_audio_x_pn_realaudio(string $id) : string
Retourne les paramètres <param>
nécessaires à la balise <object>
Parameters
- $id : string
Tags
Return values
string —Code HTML des balises <param>
resolve_path()
Nettoyer une URL contenant des `../`
resolve_path(string $url) : string
Inspiré (de loin) par PEAR:NetURL:resolvePath
Parameters
- $url : string
-
URL
Tags
Return values
string —URL nettoyée
suivre_lien()
Suivre un lien depuis une URL donnée vers une nouvelle URL
suivre_lien(string $url, string $lien) : string
Parameters
- $url : string
-
URL de base
- $lien : string
-
Lien ajouté à l'URL
Tags
Return values
string —URL complète.
url_absolue()
Transforme une URL relative en URL absolue
url_absolue(string $url[, string $base = '' ]) : string
S'applique sur une balise SPIP d'URL.
Parameters
- $url : string
-
URL
- $base : string = ''
-
URL de base de destination (par défaut ce sera l'URL de notre site)
Tags
Return values
string —texte ou URL (en absolus)
protocole_implicite()
Supprimer le protocole d'une url absolue pour le rendre implicite (URL commencant par "//")
protocole_implicite(string $url_absolue) : string
Parameters
- $url_absolue : string
Return values
stringprotocole_verifier()
Verifier qu'une url est absolue et que son protocole est bien parmi une liste autorisee
protocole_verifier(string $url_absolue[, array<string|int, mixed> $protocoles_autorises = ['http', 'https'] ]) : bool
Parameters
- $url_absolue : string
- $protocoles_autorises : array<string|int, mixed> = ['http', 'https']
Return values
boolliens_absolus()
Transforme les URLs relatives en URLs absolues
liens_absolus(string|null $texte[, string $base = '' ]) : string
Ne s'applique qu'aux textes contenant des liens
Parameters
- $texte : string|null
-
texte
- $base : string = ''
-
URL de base de destination (par défaut ce sera l'URL de notre site)
Tags
Return values
string —texte avec des URLs absolues
abs_url()
Transforme une URL ou des liens en URL ou liens absolus
Uses url_absolue
or liens_absolus
.
abs_url(string $texte[, string $base = '' ]) : string
Parameters
- $texte : string
-
texte ou URL
- $base : string = ''
-
URL de base de destination (par défaut ce sera l'URL de notre site)
Tags
Return values
string —texte ou URL (en absolus)
spip_htmlspecialchars()
htmlspecialchars wrapper (PHP >= 5.4 compat issue)
spip_htmlspecialchars(string $string[, int $flags = null ][, string $encoding = 'UTF-8' ][, bool $double_encode = true ]) : string
Parameters
- $string : string
- $flags : int = null
- $encoding : string = 'UTF-8'
- $double_encode : bool = true
Return values
stringspip_htmlentities()
htmlentities wrapper (PHP >= 5.4 compat issue)
spip_htmlentities(string $string[, int $flags = null ][, string $encoding = 'UTF-8' ][, bool $double_encode = true ]) : string
Parameters
- $string : string
- $flags : int = null
- $encoding : string = 'UTF-8'
- $double_encode : bool = true
Return values
stringselecteur_lister_objets()
Fournit la liste des objets ayant un sélecteur
selecteur_lister_objets([array<string|int, mixed> $includelist = [] ][, array<string|int, mixed> $excludelist = [] ]) : array<string|int, mixed>
Concrètement, va chercher tous les formulaires/selecteur/hierarchie-{trucs}.html
Ensuite on ajoute les parents obligatoires éventuels
Parameters
- $includelist : array<string|int, mixed> = []
-
Liste d’inclusion décrivant les objets à lister
- $excludelist : array<string|int, mixed> = []
-
Liste d’exclusion décrivant les objets à ne pas lister
Tags
Return values
array<string|int, mixed> —Retourne un tableau de deux entrées listant les objets à lister et les objets sélectionnables
- selectionner : tableau des objets que l'on pourra sélectionner (avec un +)
- afficher : tableau des objets à afficher (mais pas forcément sélectionnables)
picker_selected()
Extrait des informations d'un tableau d'entrées `array("rubrique|9", "article|8", ...)` ou une chaine brute `rubrique|9,article|8,...`
picker_selected(array<string|int, mixed>|string $selected[, string $type = '' ]) : array<string|int, mixed>
Peut retourner un tableau de couples (objet => id_objet) ou la liste
des identifiants d'un objet précis si $type
est fourni.
Parameters
- $selected : array<string|int, mixed>|string
-
Liste des entrées : tableau ou chaine séparée par des virgules
- $type : string = ''
-
Type de valeur à recuperer tel que
rubrique
,article
Tags
Return values
array<string|int, mixed> —liste des couples (objets => id_objet) ou liste des identifiants d'un type d'objet.
picker_identifie_id_rapide()
Récupère des informations sur un objet pour pouvoir l'ajouter aux éléments sélectionnés
picker_identifie_id_rapide(string|int $ref[, array<string|int, mixed>|bool $rubriques_ou_objets = false ][, bool $articles = false ]) : mixed
Parameters
- $ref : string|int
-
Référence de l'objet à chercher sous forme raccourcie rub123 art123 ou meme 123 si pas d'ambiguité ou si un article
- $rubriques_ou_objets : array<string|int, mixed>|bool = false
-
Soit un booléen (pouvant être une chaîne vide aussi) indiquant que les rubriques sont sélectionnables soit un tableau complet des objets sélectionnables.
- $articles : bool = false
-
Booléen indiquant si les articles sont sélectionnables
Tags
test_enfants_rubrique()
Déterminer si une rubrique a des enfants à afficher ou non
test_enfants_rubrique(int $id_rubrique[, array<string|int, mixed> $types = [] ]) : string
On test d'abord si la rubrique a des sous rubriques, et sinon on regarde les autres types sélectionnables, puis on regarde si la rubrique contient certains de ces objets
Parameters
- $id_rubrique : int
-
Identifiant de la rubrique
- $types : array<string|int, mixed> = []
-
Liste de type d'objets. Si l'un de ces objet est présent dans la rubrique, alors cette rubrique est à afficher
Tags
Return values
string —Comme le filtre oui
: espace (
) si rubrique à afficher, chaîne vide sinon.
spip_fopen_lock()
Ouvre un fichier et le vérrouille
spip_fopen_lock(string $fichier, string $mode, int $verrou) : resource|bool
Parameters
- $fichier : string
-
Chemin du fichier
- $mode : string
-
Mode d'ouverture du fichier (r,w,...)
- $verrou : int
-
Type de verrou (avec _SPIP_LOCK_MODE = 1)
Tags
Return values
resource|bool —Ressource sur le fichier ouvert, sinon false.
spip_fclose_unlock()
Dévérrouille et ferme un fichier
spip_fclose_unlock(resource $handle) : bool
Parameters
- $handle : resource
-
Chemin du fichier
Tags
Return values
bool —true si succès, false sinon.
spip_file_get_contents()
Retourne le contenu d'un fichier, même si celui ci est compréssé avec une extension en `.gz`
spip_file_get_contents(string $fichier) : string
Parameters
- $fichier : string
-
Chemin du fichier
Return values
string —Contenu du fichier
lire_fichier()
Lit un fichier et place son contenu dans le paramètre transmis.
lire_fichier(string $fichier, string &$contenu[, array<string|int, mixed> $options = [] ]) : bool
Décompresse automatiquement les fichiers .gz
Parameters
- $fichier : string
-
Chemin du fichier
- $contenu : string
-
Le contenu du fichier sera placé dans cette variable
- $options : array<string|int, mixed> = []
-
Options tel que :
- 'phpcheck' => 'oui' : vérifie qu'on a bien du php
Tags
Return values
bool —true si l'opération a réussie, false sinon.
ecrire_fichier()
Écrit un fichier de manière un peu sûre
ecrire_fichier(string $fichier, string $contenu[, bool $ignorer_echec = false ][, bool $truncate = true ]) : bool
Cette écriture s’exécute de façon sécurisée en posant un verrou sur le fichier avant sa modification. Les fichiers .gz sont compressés.
Parameters
- $fichier : string
-
Chemin du fichier
- $contenu : string
-
Contenu à écrire
- $ignorer_echec : bool = false
-
- true pour ne pas raler en cas d'erreur
- false affichera un message si on est webmestre
- $truncate : bool = true
-
Écriture avec troncation ?
Tags
Return values
bool —- true si l’écriture s’est déroulée sans problème.
ecrire_fichier_securise()
Écrire un contenu dans un fichier encapsulé en PHP pour en empêcher l'accès en l'absence de fichier htaccess
ecrire_fichier_securise(string $fichier, string $contenu[, bool $ecrire_quand_meme = false ][, bool $truncate = true ]) : mixed
Parameters
- $fichier : string
-
Chemin du fichier
- $contenu : string
-
Contenu à écrire
- $ecrire_quand_meme : bool = false
-
- true pour ne pas raler en cas d'erreur
- false affichera un message si on est webmestre
- $truncate : bool = true
-
Écriture avec troncation ?
Tags
ecrire_fichier_calcule_si_modifie()
ecrire_fichier_calcule_si_modifie(string $fichier, string $contenu[, bool $force = false ]) : bool|null
Parameters
- $fichier : string
- $contenu : string
- $force : bool = false
Return values
bool|null —false en cas d'erreur true en cas d'ecriture suite à modification null si fichier inchangé car pas de modif
lire_fichier_securise()
Lire un fichier encapsulé en PHP
lire_fichier_securise(string $fichier, string &$contenu[, array<string|int, mixed> $options = [] ]) : bool
Parameters
- $fichier : string
-
Chemin du fichier
- $contenu : string
-
Le contenu du fichier sera placé dans cette variable
- $options : array<string|int, mixed> = []
-
Options tel que :
- 'phpcheck' => 'oui' : vérifie qu'on a bien du php
Tags
Return values
bool —true si l'opération a réussie, false sinon.
raler_fichier()
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.
raler_fichier(string $fichier) : never
Arrête le script PHP par un exit;
Parameters
- $fichier : string
Tags
Return values
neverjeune_fichier()
Teste si un fichier est récent (moins de n secondes)
jeune_fichier(string $fichier, int $n) : bool
Parameters
- $fichier : string
-
Chemin du fichier
- $n : int
-
Âge testé, en secondes
Return values
bool —- true si récent, false sinon
supprimer_fichier()
Supprimer un fichier de manière sympa (flock)
supprimer_fichier(string $fichier[, bool $lock = true ]) : bool
Parameters
- $fichier : string
-
Chemin du fichier
- $lock : bool = true
-
true pour utiliser un verrou
Return values
bool —- true si le fichier n'existe pas ou s'il a bien été supprimé
- false si on n'arrive pas poser le verrou ou si la suppression échoue
spip_unlink()
Supprimer brutalement un fichier ou un dossier, s'il existe
spip_unlink(string $f) : mixed
Parameters
- $f : string
-
Chemin du fichier
Tags
spip_clear_opcode_cache()
Invalidates a PHP file from any active opcode caches.
spip_clear_opcode_cache(string $filepath) : mixed
If the opcode cache does not support the invalidation of individual files, the entire cache will be flushed. kudo : http://cgit.drupalcode.org/drupal/commit/?id=be97f50
Parameters
- $filepath : string
-
The absolute path of the PHP file to invalidate.
spip_attend_invalidation_opcode_cache()
Attendre l'invalidation de l'opcache
spip_attend_invalidation_opcode_cache([mixed $timestamp = null ]) : mixed
Si opcache est actif et en mode validate_timestamps
,
le timestamp du fichier ne sera vérifié qu'après une durée
en secondes fixée par revalidate_freq
.
Il faut donc attendre ce temps là pour être sûr qu'on va bien bénéficier de la recompilation du fichier par l'opcache.
Ne fait rien en dehors de ce cas
Parameters
- $timestamp : mixed = null
Tags
supprimer_repertoire()
Suppression complete d'un repertoire.
supprimer_repertoire(string $dir) : bool
Parameters
- $dir : string
-
Chemin du repertoire
Tags
Return values
bool —Suppression reussie.
sous_repertoire()
Crée un sous répertoire
sous_repertoire(string $base[, string $subdir = '' ][, bool $nobase = false ][, bool $tantpis = false ]) : string
Retourne $base/{$subdir}/
si le sous-repertoire peut être crée
Parameters
- $base : string
-
- Chemin du répertoire parent (avec $subdir)
- sinon chemin du répertoire à créer
- $subdir : string = ''
-
- Nom du sous répertoire à créer,
- non transmis,
$subdir
vaut alors ce qui suit le dernier/
dans$base
- $nobase : bool = false
-
true pour ne pas avoir le chemin du parent
$base/
dans le retour - $tantpis : bool = false
-
true pour ne pas raler en cas de non création du répertoire
Tags
Return values
string —Chemin du répertoire créé.
preg_files()
Parcourt récursivement le repertoire `$dir`, et renvoie les fichiers dont le chemin vérifie le pattern (preg) donné en argument.
preg_files(string $dir[, int|string $pattern = -1 ][, int $maxfiles = 10000 ][, array<string|int, mixed> $recurs = [] ]) : array<string|int, mixed>
En cas d'echec retourne un array()
vide
Parameters
- $dir : string
-
Répertoire à parcourir
- $pattern : int|string = -1
-
Expression régulière pour trouver des fichiers, tel que
[.]lock$
- $maxfiles : int = 10000
-
Nombre de fichiers maximums retournés
- $recurs : array<string|int, mixed> = []
-
false pour ne pas descendre dans les sous répertoires
Tags
Return values
array<string|int, mixed> —Chemins des fichiers trouvés.
inc_genie_dist()
Prévoit l'exécution de la tâche cron la plus urgente
inc_genie_dist([array<string|int, mixed> $taches = [] ]) : mixed
Les tâches sont dans un tableau 'nom de la tâche' => périodicité
Cette fonction exécute la tache la plus urgente, c'est à dire celle dont la date de dernière exécution + la périodicité est minimale.
La date de la prochaîne exécution de chaque tâche est indiquée dans la
table SQL spip_jobs
La fonction exécutant la tâche est (généralement) un homonyme de préfixe "genie_". Le fichier homonyme du repertoire "genie/" est automatiquement lu et il est supposé définir cette fonction.
Parameters
- $taches : array<string|int, mixed> = []
-
Tâches dont on force maintenant l'exécution le plus tôt possible. Sinon, prendra la tâche la plus prioritaire.
Tags
taches_generales()
taches_generales([mixed $taches_generales = [] ]) : mixed
Parameters
- $taches_generales : mixed = []
genie_queue_watch_dist()
Une tâche périodique pour surveiller les tâches crons et les relancer si besoin
genie_queue_watch_dist() : int
Quand ce cron s'execute, il n'est plus dans la queue, donc il se replanifie lui même, avec last=time() avec une dose d'aleatoire pour ne pas planifier toutes les taches au meme moment
Tags
Return values
intqueue_genie_replan_job()
Replanifier une tache periodique
queue_genie_replan_job(string $function, int $period[, int $last = 0 ][, int $time = null ][, int $priority = 0 ]) : mixed
Parameters
- $function : string
-
nom de la fonction a appeler
- $period : int
-
periodicite en secondes
- $last : int = 0
-
date du dernier appel (timestamp)
- $time : int = null
-
date de replanification si null calculee automaitquement a partir de $last et $period si 0 = asap mais on n'insere pas le job si deja en cours d'execution
- $priority : int = 0
-
priorite
Tags
redirige_par_entete()
Envoyer le navigateur sur une nouvelle adresse
redirige_par_entete(string $url[, string $equiv = '' ][, int $status = 302 ]) : mixed
Le tout en évitant les attaques par la redirection (souvent indique par un $_GET
)
Parameters
- $url : string
-
URL de redirection
- $equiv : string = ''
-
?
- $status : int = 302
-
Code de redirection (301 ou 302)
Tags
redirige_formulaire()
redirige_formulaire(mixed $url[, mixed $equiv = '' ][, mixed $format = 'message' ]) : mixed
Parameters
- $url : mixed
- $equiv : mixed = ''
- $format : mixed = 'message'
Tags
redirige_url_ecrire()
Effectue une redirection par header PHP vers un script de l’interface privée
redirige_url_ecrire([string $script = '' ][, string $args = '' ][, string $equiv = '' ]) : mixed
Parameters
- $script : string = ''
-
Nom de la page privée (exec)
- $args : string = ''
-
Arguments à transmettre. Exemple
etape=1&autre=oui
- $equiv : string = ''
Tags
http_no_cache()
http_no_cache() : mixed
inc_icone_renommer_dist()
inc_icone_renommer_dist(mixed $fond, mixed $fonction) : mixed
Parameters
- $fond : mixed
- $fonction : mixed
inc_iconifier_dist()
Retourne le formulaire de gestion de logo sur les objets.
inc_iconifier_dist(string $objet, int $id, string $script[, bool $visible = false ][, bool $flag_modif = true ]) : string|array<string|int, mixed>
Parameters
- $objet : string
- $id : int
- $script : string
- $visible : bool = false
- $flag_modif : bool = true
Return values
string|array<string|int, mixed> —- Contenu du squelette calculé
- ou tableau d'information sur le squelette.
importer_csv_importcharset()
Importer le charset d'une ligne
importer_csv_importcharset(string $texte[, bool|string $definir_charset_source = false ]) : array<string|int, mixed>
Importe un texte de CSV dans un charset et le passe dans le charset du site (utf8 probablement) Les CSV peuvent sous ms@@@ avoir le charset 'iso-8859-1', mais pasfois aussi 'windows-1252' :/
Parameters
- $texte : string
- $definir_charset_source : bool|string = false
-
false : ne fait rien string : utilisera pour les prochains imports le charset indiqué true : remet le charset d'import par défaut de la fonction
Return values
array<string|int, mixed>importer_csv_nettoie_key()
enlever les accents des cles presentes dans le head, sinon ca pose des problemes .
importer_csv_nettoie_key(string $key) : string
..
Parameters
- $key : string
Return values
stringinc_importer_csv_dist()
Lit un fichier csv et retourne un tableau si $head est true, la premiere ligne est utilisee en header pour generer un tableau associatif
inc_importer_csv_dist(string $file[, array<string|int, mixed> $options = [] ]) : false|array<string|int, mixed>
Parameters
- $file : string
- $options : array<string|int, mixed> = []
-
bool $head string $delim string $enclos int $len string $charset_source : Permet de définir un charset source du CSV, si différent de utf-8 ou iso-8859-1
Return values
false|array<string|int, mixed>chemin_import_js()
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
chemin_import_js(string $fichier) : string
Parameters
- $fichier : string
-
Nom du fichier
Tags
Return values
string —URL absolue du fichier local sinon chaîne vide.
importmap_contexte_produire_fond_statique()
Liste des paramètres utiles à la compilation des fonds dynamiques pour les fichiers `_initjs` ou la balise `#IMPORT_JS{}`
importmap_contexte_produire_fond_statique([mixed $contexte = [] ]) : mixed
Parameters
- $contexte : mixed = []
Tags
importmap_insert_head()
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>
importmap_insert_head(mixed $flux) : mixed
Insertion du module d'initialisation, côté privé, et côté public
Parameters
- $flux : mixed
Tags
inc_informer_dist()
inc_informer_dist(mixed $id, mixed $col, mixed $exclus, mixed $rac, mixed $type[, mixed $do = 'aff' ]) : mixed
Parameters
- $id : mixed
- $col : mixed
- $exclus : mixed
- $rac : mixed
- $type : mixed
- $do : mixed = 'aff'
Tags
install_fichier_connexion()
Écrit un fichier PHP nécessitant SPIP
install_fichier_connexion(string $nom, string $texte) : mixed
Écrit le texte transmis dans un fichier PHP. Cette fonction ajoute les entêtes PHP et le test de sécurité vérifiant que SPIP est chargé.
Parameters
- $nom : string
-
Chemin du fichier à créer
- $texte : string
-
Code source du fichier (sans l'ouverture/fermeture PHP)
Tags
analyse_fichier_connection()
Analyse un fichier de connexion à une base de données
analyse_fichier_connection(string $file) : array<string|int, mixed>
Le fichier contient normalement le résultat de la fonction install_connexion(). L'analyse tient également compte des syntaxes des versions précédentes.
Parameters
- $file : string
-
Chemin du fichier de connexion à analyser
Return values
array<string|int, mixed> —Tableau des informations sur la connexion
bases_referencees()
Liste les connecteurs aux bases SQL disponibles
bases_referencees([string $exclu = '' ]) : array<string|int, mixed>
Dans le code SPIP ces connecteurs sont souvent appelés $connect ou $serveur
Parameters
- $exclu : string = ''
-
Exclure un connecteur particulier (nom du fichier)
Tags
Return values
array<string|int, mixed> —Liste des noms de connecteurs
install_mode_appel()
install_mode_appel(mixed $server_db[, mixed $tout = true ]) : mixed
Parameters
- $server_db : mixed
- $tout : mixed = true
tester_compatibilite_hebergement()
tester_compatibilite_hebergement() : mixed
info_etape()
info_etape(mixed $titre[, mixed $complement = '' ]) : mixed
Parameters
- $titre : mixed
- $complement : mixed = ''
bouton_suivant()
Retourne le code HTML d'un bouton `suivant>>` pour les phases d'installation
bouton_suivant([string $code = '' ]) : string
Parameters
- $code : string = ''
-
texte du bouton
Return values
string —Code HTML du bouton
info_progression_etape()
info_progression_etape(mixed $en_cours, mixed $phase, mixed $dir[, mixed $erreur = false ]) : mixed
Parameters
- $en_cours : mixed
- $phase : mixed
- $dir : mixed
- $erreur : mixed = false
fieldset()
fieldset(mixed $legend[, mixed $champs = [] ][, mixed $apres = '' ][, mixed $avant = '' ]) : mixed
Parameters
- $legend : mixed
- $champs : mixed = []
- $apres : mixed = ''
- $avant : mixed = ''
fieldset_champs()
fieldset_champs([mixed $champs = [] ]) : mixed
Parameters
- $champs : mixed = []
install_select_serveur()
install_select_serveur() : mixed
install_connexion_form()
install_connexion_form(mixed $db, mixed $login, mixed $pass, mixed $predef, mixed $hidden, mixed $etape[, mixed $jquery = true ]) : mixed
Parameters
- $db : mixed
- $login : mixed
- $pass : mixed
- $predef : mixed
- $hidden : mixed
- $etape : mixed
- $jquery : mixed = true
predef_ou_cache()
predef_ou_cache(mixed $adresse_db, mixed $login_db, mixed $pass_db, mixed $server_db) : mixed
Parameters
- $adresse_db : mixed
- $login_db : mixed
- $pass_db : mixed
- $server_db : mixed
install_etape_liste_bases()
install_etape_liste_bases(mixed $server_db, mixed $login_db[, mixed $disabled = [] ]) : mixed
Parameters
- $server_db : mixed
- $login_db : mixed
- $disabled : mixed = []
install_propager()
install_propager(mixed $hidden) : mixed
Parameters
- $hidden : mixed
taille_du_cache()
Évalue approximativement la taille du cache
taille_du_cache() : int
Pour de gros volumes, impossible d'ouvrir chaque fichier, on y va donc à l'estime !
Return values
int —Taille approximative en octets
inc_suivre_invalideur_dist()
Invalider les caches liés à telle condition
inc_suivre_invalideur_dist(string $cond[, bool $modif = true ]) : mixed
Les invalideurs sont de la forme 'objet/id_objet'. La condition est géneralement "id='objet/id_objet'".
Ici on se contente de noter la date de mise à jour dans les metas,
pour le type d'objet en question (non utilisé cependant) et pour
tout le site (sur la meta derniere_modif
)
Parameters
- $cond : string
-
Condition d'invalidation
- $modif : bool = true
-
Inutilisé
Tags
purger_repertoire()
Purge un répertoire de ses fichiers
purger_repertoire(string $dir[, array<string|int, mixed> $options = [] ]) : int
Utilisée entre autres pour vider le cache depuis l'espace privé
Parameters
- $dir : string
-
Chemin du répertoire à purger
- $options : array<string|int, mixed> = []
-
Tableau des options. Peut être :
- atime : timestamp pour ne supprimer que les fichiers antérieurs à cette date (via fileatime)
- mtime : timestamp pour ne supprimer que les fichiers antérieurs à cette date (via filemtime)
- limit : nombre maximum de suppressions
Tags
Return values
int —Nombre de fichiers supprimés
inc_retire_caches_dist()
inc_retire_caches_dist([mixed $chemin = '' ]) : mixed
Parameters
- $chemin : mixed = ''
retire_caches()
retire_caches([mixed $chemin = '' ]) : mixed
Parameters
- $chemin : mixed = ''
calcul_invalideurs()
calcul_invalideurs(mixed $corps, mixed $primary, mixed &$boucles, mixed $id_boucle) : mixed
Parameters
- $corps : mixed
- $primary : mixed
- $boucles : mixed
- $id_boucle : mixed
supprime_invalideurs()
supprime_invalideurs() : mixed
Tags
maj_invalideurs()
maj_invalideurs(mixed $fichier, mixed &$page) : mixed
Parameters
- $fichier : mixed
- $page : mixed
insere_invalideur()
insere_invalideur(mixed $inval, mixed $fichier) : mixed
Parameters
- $inval : mixed
- $fichier : mixed
applique_invalideur()
applique_invalideur(mixed $depart) : mixed
Parameters
- $depart : mixed
suivre_invalideur()
suivre_invalideur(mixed $cond[, mixed $modif = true ]) : mixed
Parameters
- $cond : mixed
- $modif : mixed = true
inc_journal_dist()
inc_journal_dist(mixed $phrase[, mixed $opt = [] ]) : mixed
Parameters
- $phrase : mixed
- $opt : mixed = []
Tags
changer_langue()
Changer la langue courante
changer_langue(string $lang[, string|array<string|int, mixed> $liste_langues = null ]) : string|bool
Définit la langue utilisée par la langue désignée si elle fait partie des langues utilisables dans le site.
Cette fonction définit les globales : spip_lang, spip_lang_rtl, spip_lang_right, spip_lang_left
Parameters
- $lang : string
-
La langue à utiliser
- $liste_langues : string|array<string|int, mixed> = null
-
La liste des langues valides
Tags
Return values
string|bool —string : La langue qui a été utilisée si trouvée false : aucune langue ne correspondait à la demande
choisir_traduction()
choisir_traduction(mixed $trads[, mixed $lang = '' ]) : mixed
Parameters
- $trads : mixed
- $lang : mixed = ''
approcher_langue()
approcher_langue(mixed $trads[, mixed $lang = '' ]) : mixed
Parameters
- $trads : mixed
- $lang : mixed = ''
traduire_nom_langue()
Traduit un code de langue (fr, en, etc...) vers le nom de la langue en toute lettres dans cette langue (français, English, etc....).
traduire_nom_langue(string $lang) : string
Si le spip ne connait pas le nom de la langue, il retourne le code
Parameters
- $lang : string
-
Code de langue
Return values
string —Nom de la langue, sinon son code.
lang_dir()
lang_dir([mixed $lang = '' ][, mixed $droitier = 'ltr' ][, mixed $gaucher = 'rtl' ]) : mixed
Parameters
- $lang : mixed = ''
- $droitier : mixed = 'ltr'
- $gaucher : mixed = 'rtl'
lang_typo()
lang_typo([mixed $lang = '' ]) : mixed
Parameters
- $lang : mixed = ''
changer_typo()
changer_typo([mixed $lang = '' ]) : mixed
Parameters
- $lang : mixed = ''
menu_langues()
menu_langues(mixed $nom_select[, mixed $default = '' ]) : mixed
Parameters
- $nom_select : mixed
- $default : mixed = ''
select_langues()
select_langues(mixed $nom_select, mixed $change, mixed $options[, mixed $label = '' ]) : mixed
Parameters
- $nom_select : mixed
- $change : mixed
- $options : mixed
- $label : mixed = ''
liste_options_langues()
Lister les langues disponibles
liste_options_langues(string $nom_select) : array<string|int, mixed>
Retourne un tableau de langue utilisables, triées par code de langue, mais pas le même tableau en fonction du paramètre $nom_select.
Parameters
- $nom_select : string
-
Attribut name du select Selon son nom, retourne une liste différente :
- var_lang ou changer_lang : liste des langues sélectionnées dans la config multilinguisme
- var_lang_ecrire : toutes les langues présentes en fichier de langue
Return values
array<string|int, mixed> —Liste des langues
verifier_lang_url()
Redirige sur la bonne langue lorsque l'option forcer_lang est active
verifier_lang_url() : mixed
Cette fonction est appelee depuis ecrire/public.php si on a installé la variable de personnalisation $forcer_lang ; elle renvoie le brouteur si necessaire vers l'URL xxxx?lang=ll
utiliser_langue_site()
Utilise la langue du site
utiliser_langue_site([string|array<string|int, mixed>|null $liste_langues = null ]) : string
Change la langue en cours d'utilisation par la langue du site si ce n'est pas déjà le cas.
Note : Cette fonction initialise la globale spip_lang au chargement de inc/lang
Parameters
- $liste_langues : string|array<string|int, mixed>|null = null
-
liste des langues valides
Return values
string —La langue sélectionnée
utiliser_langue_visiteur()
Initialise la langue pour un visiteur du site
utiliser_langue_visiteur([string|array<string|int, mixed>|null $liste_langues = null ]) : string
La langue est choisie dans cet ordre :
- Dans le cookie 'spip_lang' ou 'spip_lang_ecrire' s'il existe (selon l'espace public ou privé).
- Sinon dans la session du visiteur.
- Sinon dans une des langues définie en préférence du navigateur
- Sinon la langue du site
Parameters
- $liste_langues : string|array<string|int, mixed>|null = null
-
liste des langues valides
Return values
string —La langue utilisée
match_langue()
Verifier qu'une chaine suceptible d'etre un nom de langue a le bon format
match_langue(string $chaine) : int
Parameters
- $chaine : string
Return values
intinit_langues()
Initialisation des listes de langues
init_langues() : mixed
Initialise les métas :
- langues_proposees : liste des traductions disponibles
- langue_site : langue par défaut du site
Lorsque ces métas n'existent pas encore (c'est à dire à l'installation), elles sont calculées en obtenant la liste des langues dans les fichiers de lang
html_lang_attributes()
Retourne une balise <html>
html_lang_attributes() : string
Retourne une balise HTML contenant les attributs 'lang' et 'dir' définis sur la langue en cours d'utilisation, ainsi que des classes CSS de ces du nom de la langue et direction choisie.
Tags
Return values
string —Code html de la balise
aide_lang_dir()
Calcul de la direction du texte et la mise en page selon la langue
aide_lang_dir(string $spip_lang, string $spip_lang_rtl) : string
En hébreu le ? ne doit pas être inversé.
Parameters
- $spip_lang : string
- $spip_lang_rtl : string
Return values
stringcadre_depliable()
Affiche un cadre complet muni d’un bouton pour le déplier.
cadre_depliable(string $icone, string $titre, bool $deplie, string $contenu[, string $ids = '' ][, string $style_cadre = 'r' ]) : string
Parameters
- $icone : string
-
Chemin vers l’icone que prendra le cadre
- $titre : string
-
Titre du cadre
- $deplie : bool
-
true ou false, défini si le cadre est déplié au chargement de la page (true) ou pas (false)
- $contenu : string
-
Contenu du cadre
- $ids : string = ''
-
id que prendra la partie pliée ou dépliée
- $style_cadre : string = 'r'
-
classe CSS que prendra le cadre
Return values
string —Code HTML du cadre dépliable
block_parfois_visible()
block_parfois_visible(mixed $nom, mixed $invite, mixed $masque[, mixed $style = '' ][, mixed $visible = false ]) : mixed
Parameters
- $nom : mixed
- $invite : mixed
- $masque : mixed
- $style : mixed = ''
- $visible : mixed = false
debut_block_depliable()
debut_block_depliable(mixed $deplie[, mixed $id = '' ]) : mixed
Parameters
- $deplie : mixed
- $id : mixed = ''
fin_block()
fin_block() : mixed
bouton_block_depliable()
bouton_block_depliable(mixed $texte, mixed $deplie[, mixed $ids = '' ]) : mixed
Parameters
- $texte : mixed
- $deplie : mixed
- $ids : mixed = ''
inc_lien_dist()
Production de la balise a+href à partir des raccourcis `[xxx->url]` etc.
inc_lien_dist(string $lien[, string $texte = '' ][, string $class = '' ][, string $title = '' ][, string $hlang = '' ][, string $rel = '' ][, string $connect = '' ][, array<string|int, mixed> $env = [] ]) : string
Parameters
- $lien : string
- $texte : string = ''
- $class : string = ''
- $title : string = ''
- $hlang : string = ''
- $rel : string = ''
- $connect : string = ''
- $env : array<string|int, mixed> = []
Tags
Return values
stringexpanser_liens()
expanser_liens(mixed $t[, string $connect = '' ][, mixed $env = [] ]) : mixed
Parameters
- $t : mixed
- $connect : string = ''
- $env : mixed = []
nettoyer_raccourcis_typo()
nettoyer_raccourcis_typo(mixed $texte[, string $connect = '' ]) : mixed
Parameters
- $texte : mixed
- $connect : string = ''
traiter_raccourci_lien_atts()
traiter_raccourci_lien_atts(mixed $texte) : mixed
Parameters
- $texte : mixed
virtuel_redirige()
Retourne la valeur d'un champ de redirection (articles virtuels)
virtuel_redirige(string $virtuel[, bool $url = false ]) : string
Parameters
- $virtuel : string
- $url : bool = false
Tags
Return values
stringcalculer_url()
calculer_url(mixed $ref[, mixed $texte = '' ][, mixed $pour = 'url' ][, string $connect = '' ][, mixed $echappe_typo = true ]) : mixed
Parameters
- $ref : mixed
- $texte : mixed = ''
- $pour : mixed = 'url'
- $connect : string = ''
- $echappe_typo : mixed = true
traiter_lien_explicite()
traiter_lien_explicite(mixed $ref[, mixed $texte = '' ][, mixed $pour = 'url' ][, string $connect = '' ][, mixed $echappe_typo = true ]) : mixed
Parameters
- $ref : mixed
- $texte : mixed = ''
- $pour : mixed = 'url'
- $connect : string = ''
- $echappe_typo : mixed = true
liens_implicite_glose_dist()
liens_implicite_glose_dist(mixed $texte, mixed $id, mixed $type, mixed $args, mixed $ancre[, string $connect = '' ]) : mixed
Parameters
- $texte : mixed
- $id : mixed
- $type : mixed
- $args : mixed
- $ancre : mixed
- $connect : string = ''
traiter_lien_implicite()
Transformer un lien raccourci art23 en son URL Par defaut la fonction produit une url prive si on est dans le prive ou publique si on est dans le public.
traiter_lien_implicite(string $ref[, string $texte = '' ][, string $pour = 'url' ][, string $connect = '' ]) : array<string|int, mixed>|bool|string
La globale lien_implicite_cible_public permet de forcer un cas ou l'autre : $GLOBALS['lien_implicite_cible_public'] = true; => tous les liens raccourcis pointent vers le public $GLOBALS['lien_implicite_cible_public'] = false; => tous les liens raccourcis pointent vers le prive unset($GLOBALS['lien_implicite_cible_public']); => retablit le comportement automatique
Parameters
- $ref : string
- $texte : string = ''
- $pour : string = 'url'
- $connect : string = ''
Return values
array<string|int, mixed>|bool|stringtyper_raccourci()
typer_raccourci(mixed $lien) : mixed
Parameters
- $lien : mixed
Tags
traiter_raccourci_titre()
Retourne le titre et la langue d'un objet éditorial
traiter_raccourci_titre(int $id, string $type[, string|null $connect = null ]) : array<string|int, mixed>
Parameters
- $id : int
-
Identifiant de l'objet
- $type : string
-
Type d'objet
- $connect : string|null = null
-
Connecteur SQL utilisé
Return values
array<string|int, mixed> —{
traiter_raccourci_ancre()
traiter_raccourci_ancre(mixed $letexte) : mixed
Parameters
- $letexte : mixed
traiter_raccourci_glossaire()
traiter_raccourci_glossaire(mixed $texte) : mixed
Parameters
- $texte : mixed
glossaire_std()
glossaire_std(mixed $terme) : mixed
Parameters
- $terme : mixed
inc_lien_court()
inc_lien_court(mixed $url) : mixed
Parameters
- $url : mixed
spip_livrer_fichier()
Envoyer un fichier dont on fourni le chemin, le mime type, en attachment ou non, avec un expire
spip_livrer_fichier(string $fichier[, string $content_type = 'application/octet-stream' ][, array<string|int, mixed> $options = [] ]) : mixed
Parameters
- $fichier : string
- $content_type : string = 'application/octet-stream'
- $options : array<string|int, mixed> = []
-
bool|string $attachment int $expires int|null range
Tags
spip_livrer_fichier_entetes()
Envoyer les entetes du fichier, sauf ce qui est lie au mode d'envoi (entier ou par parties)
spip_livrer_fichier_entetes(string $fichier[, string $content_type = 'application/octet-stream' ][, bool|string $attachment = false ][, int|string $expires = 0 ]) : mixed
Parameters
- $fichier : string
- $content_type : string = 'application/octet-stream'
- $attachment : bool|string = false
- $expires : int|string = 0
Tags
spip_livrer_fichier_entier()
Envoyer les contenu entier du fichier
spip_livrer_fichier_entier(string $fichier) : mixed
Parameters
- $fichier : string
Tags
spip_livrer_fichier_partie()
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
spip_livrer_fichier_partie(string $fichier[, string $range = null ]) : mixed
Parameters
- $fichier : string
- $range : string = null
Tags
inc_log_dist()
Utiliser spip_logger()
inc_log_dist(mixed $message[, mixed $logname = null ][, mixed $logdir = null ][, mixed $logsuf = null ]) : mixed
Parameters
- $message : mixed
- $logname : mixed = null
- $logdir : mixed = null
- $logsuf : mixed = null
produire_image_math()
produire_image_math(mixed $tex) : mixed
Parameters
- $tex : mixed
traiter_math()
Active la recherche et l'affichage d'expressions mathématiques dans le texte transmis, dans tous les textes à l'intérieur d'une balise `<math>`.
traiter_math(string $letexte[, string $source = '' ][, bool $defaire_amp = false ]) : string
Encadrer un texte de balises <math> ... </math>
active la recherche
d'expressions mathématiques écrites entre caractères $
au sein de ce texte :
$$expression$$
traitera l'expression comme un paragraphe centré (p)$expression$
traitera l'expression comme un texte en ligne (span)
Un serveur distant calculera une image à partir de l'expression mathématique donnée. Cette image est mise en cache localement (local/cache-Tex)
Parameters
- $letexte : string
- $source : string = ''
- $defaire_amp : bool = false
-
true pour passer les
&
en&
dans les expressions mathématiques.
Tags
Return values
stringinc_meta_dist()
inc_meta_dist([mixed $table = 'meta' ]) : mixed
Parameters
- $table : mixed = 'meta'
lire_metas()
lire_metas([mixed $table = 'meta' ]) : mixed
Parameters
- $table : mixed = 'meta'
touch_meta()
Mettre en cache la liste des meta, sauf les valeurs sensibles pour qu'elles ne soient pas visibiles dans un fichier (souvent en 777)
touch_meta([bool|int $antidate = false ][, string $table = 'meta' ]) : mixed
Parameters
- $antidate : bool|int = false
-
Date de modification du fichier à appliquer si indiqué (timestamp)
- $table : string = 'meta'
-
Table SQL d'enregistrement des meta.
effacer_meta()
Supprime une meta
effacer_meta(string $nom[, string $table = 'meta' ]) : mixed
Parameters
- $nom : string
-
Nom de la meta
- $table : string = 'meta'
-
Table SQL d'enregistrement de la meta.
Tags
ecrire_meta()
Met à jour ou crée une meta avec la clé et la valeur indiquée
ecrire_meta(string $nom, string $valeur[, string|null $importable = null ][, string $table = 'meta' ]) : mixed
Parameters
- $nom : string
-
Nom de la meta
- $valeur : string
-
Valeur à enregistrer
- $importable : string|null = null
-
Cette meta s'importe-elle avec une restauration de sauvegarde ? 'oui' ou 'non'
- $table : string = 'meta'
-
Table SQL d'enregistrement de la meta.
Tags
cache_meta()
Retourne le nom du fichier cache d'une table SQL de meta
cache_meta([string $table = 'meta' ]) : string
Parameters
- $table : string = 'meta'
-
Table SQL d'enregistrement des meta.
Return values
string —Nom du fichier cache
installer_table_meta()
Installer une table de configuration supplementaire
installer_table_meta(string $table) : mixed
Parameters
- $table : string
supprimer_table_meta()
Supprimer une table de configuration supplémentaire
supprimer_table_meta(string $table[, bool $force = false ]) : mixed
Si $force=true, on ne verifie pas qu'elle est bien vide
Parameters
- $table : string
- $force : bool = false
install_debut_html()
Retourne le début d'une page HTML minimale (de type installation)
Utiliser Spip\Afficher\Minipage\Admin
install_debut_html([string $titre = 'AUTO' ][, string $onLoad = '' ][, bool $all_inline = false ]) : string
Parameters
- $titre : string = 'AUTO'
-
Titre.
AUTO
, indique que l'on est dans le processus d'installation de SPIP - $onLoad : string = ''
-
Attributs pour la balise
<body>
- $all_inline : bool = false
-
Inliner les css et js dans la page (limiter le nombre de hits)
Tags
Return values
string —Code HTML
install_fin_html()
Retourne la fin d'une page HTML minimale (de type installation ou erreur)
Utiliser Spip\Afficher\Minipage\Admin
install_fin_html() : string
Tags
Return values
string —Code HTML
minipres()
Retourne une page HTML contenant, dans une présentation minimale, le contenu transmis dans `$titre` et `$corps`.
Utiliser Spip\Afficher\Minipage\Admin
minipres([string $titre = '' ][, string $corps = '' ][, array<string|int, mixed> $options = [] ]) : string
Appelée pour afficher un message d’erreur (l’utilisateur n’a pas accès à cette page par exemple).
Lorsqu’aucun argument n’est transmis, un header 403 est renvoyé, ainsi qu’un message indiquant une interdiction d’accès.
Parameters
- $titre : string = ''
-
Titre de la page
- $corps : string = ''
-
Corps de la page
- $options : array<string|int, mixed> = []
-
string onload : Attribut onload de
<body>
bool all_inline : Inliner les css et js dans la page (limiter le nombre de hits) int status : status de la page
Tags
Return values
string —HTML de la page
traiter_modeles()
Traiter les modeles d'un texte
traiter_modeles(string $texte[, bool|array<string|int, mixed> $doublons = false ][, string $echap = '' ][, string $connect = '' ][, Liens|null $collecteurLiens = null ][, array<string|int, mixed> $env = [] ]) : string
Parameters
- $texte : string
- $doublons : bool|array<string|int, mixed> = false
- $echap : string = ''
- $connect : string = ''
- $collecteurLiens : Liens|null = null
- $env : array<string|int, mixed> = []
Return values
stringcollecter_requests()
Collecte des champs postés
collecter_requests(array<string|int, mixed> $include_list[, array<string|int, mixed> $exclude_list = [] ][, array<string|int, mixed>|null $set = null ][, bool $tous = false ]) : array<string|int, mixed>
Fonction générique pour la collecte des posts dans action/editer_xxx
Parameters
- $include_list : array<string|int, mixed>
-
Les champs à récupérer
- $exclude_list : array<string|int, mixed> = []
-
Les champs à ignorer
- $set : array<string|int, mixed>|null = null
-
array : Tableau des champs postés null : Les champs sont obtenus par des _request() sur les noms de la liste d’inclusion
- $tous : bool = false
-
true : Recupère tous les champs de white_list meme ceux n'ayant pas ete postés
Tags
Return values
array<string|int, mixed> —Tableau des champs et valeurs collectées
objet_modifier_champs()
Modifie le contenu d'un objet
objet_modifier_champs(string $objet, int $id_objet, array<string|int, mixed> $options[, array<string|int, mixed>|null $c = null ][, string $serveur = '' ]) : bool|string
Fonction generique pour l'API de modification de contenu, qui se charge entre autres choses d'appeler les pipelines pre_edition et post_edition
Attention, pour éviter des hacks on interdit des champs (statut, id_secteur, id_rubrique, id_parent), mais la securite doit étre assurée en amont
Parameters
- $objet : string
-
Type d'objet
- $id_objet : int
-
Identifiant de l'objet
- $options : array<string|int, mixed>
-
array data : tableau des donnees sources utilisees pour la detection de conflit ($_POST sinon fourni ou si nul) array nonvide : valeur par defaut des champs que l'on ne veut pas vide string date_modif : champ a mettre a date('Y-m-d H:i:s') s'il y a modif string invalideur : id de l'invalideur eventuel array champs : non documente (utilise seulement par inc/rechercher ?) string action : action realisee, passee aux pipelines pre/post edition (par defaut 'modifier') bool indexation : deprecie
- $c : array<string|int, mixed>|null = null
-
Couples champ/valeur à modifier
- $serveur : string = ''
-
Nom du connecteur à la base de données
Tags
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
spip_nfslock()
Crée un verrou pour NFS
spip_nfslock(string $fichier[, int $max_age = 0 ]) : int|bool
(Excerpts from Chuck's notes: this becomes complex, due to our dear friend, the NFS mounted mail spool. the netbsd code didn't do this properly, as far as I could tell.
- you can't trust exclusive creating opens over NFS, the protocol just doesn't support it. so to do a lock you have to create a tmp file and then try and hard link it to your lock file.
- to detect a stale lock file you have to see how old it is, but you can't use time(0) because that is the time on the local system and the file gets the times of the NFS server. when is a lock file stale? people seem to like 120 or 300 seconds.)
NB: It is critical that nfslock()ed files be unlocked by nfsunlock(). Simply unlinking the lock file is a good way to trash someone else's lock file. All it takes is for the process doing the unlink to get hung for a few minutes when it doesn't expect it. Meanwhile, its lock expires and a second process forces the lock and creates its own. Then the first process comes along and kills the second process' lock while it's still valid.
Security considerations: If we're root, be very careful to see that the temp file we opened is what we think it is. The problem is that we could lose a race with someone who takes our tmp file and replaces it with, say, a hard link to /etc/passwd. Then, if the first lock attempt fails, we'll write a char to the file (see 4. below); this would truncate the passwd file. So we make sure that the link count is 1. We don't really care about any other screwing around since we don't write anything sensitive to the lock file, nor do we change its owner or mode. If someone beats us on a race and replaces our temp file with anything else, it's no big deal- the file may get truncated, but there's no possible security breach. ...Actually the possibility of the race ever happening, given the random name of the file, is virtually nil.
args: path = path to directory of lock file (/net/u/1/a/alexis/.mailspool) namelock = file name of lock file (alexis.lock) max_age = age of lockfile, in seconds, after which the lock is stale. stale locks are always broken. Defaults to DEFAULT_LOCKTIME if zero. Panix mail locks go stale at 300 seconds, the default. notify = 1 if we should tell stdout that we're sleeping on a lock
Returns the time that the lock was created on the other system. This is important for nfsunlock(). If the lock already exists, returns NFSL_LOCKED. If there is some other failure, return NFSL_SYSF. If NFSL_LOCKED is returned, errno is also set to EEXIST. If we're root and the link count on the tmp file is wrong, return NFSL_SECV.
Mods of 7/13/95: Change a bit of code to re-stat the lockfile after closing it. This is to work around a bug in SunOS that appears to to affect some SunOS 4.1.3 machines (but not all). The bug is that close() updates the stat st_ctime field for that file. So use lstat on fullpath instead of fstat on tmpfd. This alteration applies to both nfslock and nfslock1.
Mod of 5/4/95: Change printf's to fprintf(stderr... in nfslock and nfslock1.
Mods of 4/29/95: Fix freeing memory before use if a stat fails. Remove code that forbids running as root; instead, if root, check link count on tmp file after opening it.
Mods of 4/27/95: Return the create time instead of the lockfile's fd, which is useless. Added new routines nfsunlock(), nfslock_test(), nfslock_renew().
Mods of 1/8/95: Eliminate some security checks since this code never runs as root. In particular, we completely eliminate the safeopen routine. But add one check: if we are root, fail immediately.
Change arguments: take a path and a filename. Don't assume a global or macro pointing to a mailspool.
Add notify argument; if 1, tell user when we're waiting for a lock.
Add max_age argument and DEFAULT_LOCKTIME.
Change comments drastically.
Parameters
- $fichier : string
-
Chemin du fichier
- $max_age : int = 0
-
Age maximum du verrou
Tags
Return values
int|bool —Timestamp du verrou, false si erreur
spip_nfsunlock()
Unlock an nfslock()ed file
spip_nfsunlock(string $fichier, int $birth[, int $max_age = 0 ][, bool $test = false ]) : mixed
This can get tricky because the lock may have expired (perhaps even during a process that should be "atomic"). We have to make sure we don't unlock some other process' lock, and return a panic code if we think our lock file has been broken illegally. What's done in reaction to that panic (of anything) is up to the caller. See the comments on nfslock()!
args: path = path to directory of lock file (/net/u/1/a/alexis/.mailspool) namelock = file name of lock file (alexis.lock) max_age = age of lockfile, in seconds, after which the lock is stale. stale locks are always broken. Defaults to DEFAULT_LOCKTIME if zero. Panix mail locks go stale at 300 seconds, the default. birth = time the lock was created (as returned by nfslock()).
Returns NFSL_OK if successful, NFSL_LOST if the lock has been lost legitimately (because more than max_age has passed since the lock was created), and NFSL_STOLEN if it's been tampered with illegally (i.e. while this program is within the expiry period). Returns NFSL_SYSF if another system failure prevents it from even trying to unlock the file.
Note that for many programs, a return code of NFSL_LOST or NFSL_STOLEN is equally disastrous; a NFSL_STOLEN means that some other program may have trashed your file, but a NFSL_LOST may mean that you have trashed someone else's file (if in fact you wrote the file that you locked after you lost the lock) or that you read inconsistent information.
In practice, a return code of NFSL_LOST or NFSL_STOLEN will virtually never happen unless someone is violating the locking protocol.
Parameters
- $fichier : string
-
Chemin du fichier
- $birth : int
-
Timestamp de l'heure de création du verrou
- $max_age : int = 0
-
Age maximum du verrou
- $test : bool = false
-
Mode de test return bool true si déverrouillé, false sinon
Tags
spip_nfslock_test()
Test a lock to see if it's still valid.
spip_nfslock_test(string $fichier, int $birth[, int $max_age = 0 ]) : mixed
Args, return codes, and behavior are identical to nfsunlock except that nfslock_test doesn't remove the lock. NFSL_OK means the lock is good, NFLS_LOST and NFSL_STOLEN means it's bad, and NFSL_SYSF means we couldn't tell due to system failure.
The source for this routine is almost identical to nfsunlock(), but it's coded separately to make things as clear as possible.
Parameters
- $fichier : string
-
Chemin du fichier
- $birth : int
-
Timestamp de l'heure de création du verrou
- $max_age : int = 0
-
Age maximum du verrou return bool true si déverrouillé, false sinon
Tags
inc_notifications_dist()
La fonction de notification de base, qui dispatche le travail
inc_notifications_dist(string $quoi[, int $id = 0 ][, array<string|int, mixed> $options = [] ]) : mixed
Parameters
- $quoi : string
-
Événement de notification
- $id : int = 0
-
id de l'objet en relation avec l'événement
- $options : array<string|int, mixed> = []
-
Options de notification, interprétées en fonction de la notification
notifications_nettoyer_emails()
Néttoyage des emails avant un envoi
notifications_nettoyer_emails(array<string|int, mixed> &$emails[, array<string|int, mixed> $exclure = [] ]) : mixed
On passe par référence pour la perf
les emails liste par $exclure seront exclus de la liste
Parameters
- $emails : array<string|int, mixed>
- $exclure : array<string|int, mixed> = []
notifications_envoyer_mails()
Envoyer un email de notification
notifications_envoyer_mails(array<string|int, mixed>|string $emails, string $texte[, string $sujet = '' ][, string $from = '' ][, string $headers = '' ]) : mixed
Le sujet peut être vide, dans ce cas il reprendra la première ligne non vide du texte
Parameters
- $emails : array<string|int, mixed>|string
- $texte : string
- $sujet : string = ''
- $from : string = ''
- $headers : string = ''
email_notification_objet()
Notifier un événement sur un objet
email_notification_objet(int $id_objet, string $type_objet, string $modele) : string
Récupère le fond désigné dans $modele, prend la première ligne comme sujet et l'interprète pour envoyer l'email
Parameters
- $id_objet : int
- $type_objet : string
- $modele : string
Return values
stringemail_notification_article()
Notifier un événement sur un article
email_notification_article(int $id_article, string $modele) : string
Récupère le fond désigné dans $modele, prend la première ligne comme sujet et l'interprète pour envoyer l'email
Parameters
- $id_article : int
- $modele : string
Return values
stringf_tidy()
Indente un code HTML
f_tidy(string $texte) : string
Indente et valide un code HTML si la globale 'xhtml' est définie à true.
Cette fonction est appelée par le pipeline affichage_final
Parameters
- $texte : string
-
Contenu de la page envoyée au navigateur
Tags
Return values
string —Contenu de la page envoyée au navigateur
f_insert_head()
Offre `#INSERT_HEAD` sur tous les squelettes (bourrin)
f_insert_head(string $texte) : string
À activer dans mes_options via :
$GLOBALS['spip_pipeline']['affichage_final'] .= '|f_insert_head';
Ajoute le contenu du pipeline insert head dans la page HTML si cela n'a pas été fait.
Parameters
- $texte : string
-
Contenu de la page envoyée au navigateur
Tags
Return values
string —Contenu de la page envoyée au navigateur
f_admin()
Insérer au besoin les boutons admins
f_admin(string $texte) : string
Cette fonction est appelée par le pipeline affichage_final
Parameters
- $texte : string
-
Contenu de la page envoyée au navigateur
Tags
Return values
string —Contenu de la page envoyée au navigateur
f_recuperer_fond()
Actions sur chaque inclusion
f_recuperer_fond(array<string|int, mixed> $flux) : array<string|int, mixed>
Appelle f_afficher_blocs_ecrire() sur les inclusions dans l'espace privé. Ne change rien dans l'espace public.
Cette fonction est appelée par le pipeline recuperer_fond
Parameters
- $flux : array<string|int, mixed>
-
Description et contenu de l'inclusion
Tags
Return values
array<string|int, mixed> —Description et contenu de l'inclusion
f_queue()
Gérer le lancement du cron si des tâches sont en attente
f_queue(string $texte) : string
Parameters
- $texte : string
-
Contenu de la page envoyée au navigateur
Tags
Return values
string —Contenu de la page envoyée au navigateur
f_jQuery_prive()
Inserer jQuery et ses plugins pour l'espace privé
f_jQuery_prive(string $texte) : string
La fonction ajoute les balises scripts dans le texte qui appelent les scripts jQuery ainsi que certains de ses plugins. La liste des js chargée peut être complété par le pipeline 'jquery_plugins'
Cette fonction est appelée par le pipeline header_prive
Parameters
- $texte : string
-
Contenu qui sera inséré dans le head HTML
Tags
Return values
string —Contenu complété des scripts javascripts, dont jQuery
affichage_final_prive_title_auto()
Ajout automatique du title dans les pages du privé en squelette
affichage_final_prive_title_auto(string $texte) : string
Appellé dans le pipeline affichage_final_prive
Parameters
- $texte : string
Return values
stringf_boite_infos()
f_boite_infos(mixed $flux) : mixed
Parameters
- $flux : mixed
f_afficher_blocs_ecrire()
Utilisation du pipeline recuperer_fond dans le prive
f_afficher_blocs_ecrire(array<string|int, mixed> $flux) : array<string|int, mixed>
Branchement automatise de affiche_gauche, affiche_droite, affiche_milieu pour assurer la compat avec les versions precedentes des exec en php Branche de affiche_objet
Les pipelines ne recevront plus exactement le meme contenu en entree, mais la compat multi vertions pourra etre assuree par une insertion au bon endroit quand le contenu de depart n'est pas vide
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline
Tags
Return values
array<string|int, mixed> —Données du pipeline
afficher_blocs_ecrire_preparer_marqueur()
Vérifie la présence d'un marqueur dans le HTML et l'ajoute si nécessaire.
afficher_blocs_ecrire_preparer_marqueur(string $texte, string $marqueur, string $inserer_avant[, string $ouvrir = '' ][, string $fermer = '' ]) : string
Fonction à appeler avant d'insérer des contenus via pipelines. Le marqueur peut optionnellement être encapsulé dans des balises. S'il est déjà présent et encapsulé, il ne faut PAS qu'il y ait d'espace blanc en trop.
Parameters
- $texte : string
-
Contenu HTML
- $marqueur : string
-
Marqueur cherché, tel que
<!--affiche_milieu-->
- $inserer_avant : string
-
Expression régulière indiquant avant quel élément insérer le marqueur s'il est absent Exemple :
<div id=["\']wysiwyg
- $ouvrir : string = ''
-
Balise ouvrante si le marqueur doit être encapsulé Exemple :
<div class="affiche_milieu">
- $fermer : string = ''
-
Balise fermante si le marqueur doit être encapsulé Exemple :
</div>
Return values
string —HTML avec le marqueur, ou inchangé si ajout impossible.
f_queue_affiche_milieu()
Afficher les taches en attente liees a un objet
f_queue_affiche_milieu(string $flux) : string
Parameters
- $flux : string
Tags
Return values
stringmise_a_jour_affiche_milieu()
Afficher le message de mise à jour dans toutes les pages du privé pour les webmestres
mise_a_jour_affiche_milieu(string $flux) : string
Parameters
- $flux : string
Tags
Return values
stringtrouver_objet_exec()
Trouver l'objet qui correspond à l'exec de l'espace privé passé en argument
trouver_objet_exec(string|null $exec) : array<string|int, mixed>|bool
renvoie false si pas d'objet en cours, ou un tableau associatif contenant les informations table_objet_sql,table,type,id_table_objet,edition
Parameters
- $exec : string|null
-
nom de la page testee
Return values
array<string|int, mixed>|boolinc_plonger_dist()
inc_plonger_dist(mixed $id_rubrique[, mixed $idom = '' ][, mixed $list = [] ][, mixed $col = 1 ][, mixed $exclu = 0 ][, mixed $do = 'aff' ]) : mixed
Parameters
- $id_rubrique : mixed
- $idom : mixed = ''
- $list : mixed = []
- $col : mixed = 1
- $exclu : mixed = 0
- $do : mixed = 'aff'
Tags
liste_plugin_files()
Retourne la description de chaque plugin présent dans un répertoire
liste_plugin_files([string|null $dir_plugins = null ]) : array<string|int, mixed>
Lecture des sous repertoire plugin existants
Parameters
- $dir_plugins : string|null = null
-
- string : Chemin (relatif à la racine du site) du répertoire à analyser.
- null : utilise le chemin
_DIR_PLUGINS
.
Tags
Return values
array<string|int, mixed>fast_find_plugin_dirs()
Recherche rapide des répertoires de plugins contenus dans un répertoire
fast_find_plugin_dirs(string $dir[, int $max_prof = 100 ]) : array<string|int, mixed>
Parameters
- $dir : string
-
Chemin du répertoire dont on souhaite retourner les sous répertoires
- $max_prof : int = 100
-
Profondeur maximale des sous répertoires
Tags
Return values
array<string|int, mixed> —Liste complète des répeertoires
is_plugin_dir()
Indique si un répertoire (ou plusieurs) est la racine d'un plugin SPIP
is_plugin_dir(string|array<string|int, string> $dir[, string|null $dir_plugins = null ]) : string|array<string|int, string>
Vérifie le ou les chemins relatifs transmis pour vérifier qu'ils contiennent
un paquet.xml
. Les chemins valides sont retournés.
Parameters
- $dir : string|array<string|int, string>
-
Chemin (relatif à
$dir_plugins
), ou liste de chemins à tester - $dir_plugins : string|null = null
-
- string : Chemin de répertoire (relatif à la
_DIR_RACINE
), départ des chemin(s) à tester - null (par défaut) : utilise le chemin
_DIR_PLUGINS
- string : Chemin de répertoire (relatif à la
Tags
Return values
string|array<string|int, string> —- string : Le chemin accepté (c'était un plugin)
- '' : ce n'était pas un chemin valide
- array : Ensemble des chemins acceptés (si
$dir
était array)
plugin_version_compatible()
Teste si le numéro de version d'un plugin est dans un intervalle donné.
plugin_version_compatible(string $intervalle, string $version[, string $avec_quoi = '' ]) : bool
Cette fonction peut être volontairement trompée (phase de développement) : voir commentaire infra sur l'utilisation de la constante _DEV_VERSION_SPIP_COMPAT
Parameters
- $intervalle : string
-
Un intervalle entre 2 versions. ex: [2.0.0-dev;2.1.*]
- $version : string
-
Un numéro de version. ex: 3.1.99]
- $avec_quoi : string = ''
-
Ce avec quoi est testée la compatibilité. par défaut ('') avec un plugin (cas des 'necessite'), parfois ('spip') avec SPIP.
Tags
Return values
bool —True si dans l'intervalle, false sinon.
liste_plugin_valides()
Construire la liste des infos strictement necessaires aux plugins à activer afin de les mémoriser dans une meta pas trop grosse
liste_plugin_valides(array<string|int, mixed> $liste_plug[, bool $force = false ]) : array<string|int, mixed>
Parameters
- $liste_plug : array<string|int, mixed>
- $force : bool = false
Tags
Return values
array<string|int, mixed>plugin_valide_resume()
Ne retenir un plugin que s'il est valide et dans leur plus recente version compatible avec la version presente de SPIP
plugin_valide_resume(array<string|int, mixed> &$liste, string $plug, array<string|int, mixed> $infos, string $dir_type) : string|array<string|int, mixed>
Parameters
- $liste : array<string|int, mixed>
- $plug : string
- $infos : array<string|int, mixed>
- $dir_type : string
Tags
Return values
string|array<string|int, mixed> —string prefixe dans $liste si on a accepte le plugin array description short si on ne le retient pas (pour memorisation dans une table des erreurs)
plugin_fixer_procure()
Compléter la liste des plugins avec les éventuels procure
plugin_fixer_procure(array<string|int, mixed> &$liste, array<string|int, mixed> &$infos) : mixed
les balises <procure>
sont considerées comme des plugins proposés,
mais surchargeables (on peut activer un plugin qui procure ça pour l'améliorer,
donc avec le même prefixe, qui sera pris en compte si il a une version plus grande)
Parameters
- $liste : array<string|int, mixed>
- $infos : array<string|int, mixed>
Tags
liste_chemin_plugin()
Extrait les chemins d'une liste de plugin
liste_chemin_plugin(array<string|int, mixed> $liste[, string $dir_plugins = _DIR_PLUGINS ]) : array<string|int, mixed>
Sélectionne au passage ceux qui sont dans $dir_plugins
uniquement
si valeur non vide
Parameters
- $liste : array<string|int, mixed>
- $dir_plugins : string = _DIR_PLUGINS
Tags
Return values
array<string|int, mixed>liste_chemin_plugin_actifs()
Liste les chemins vers les plugins actifs du dossier fourni en argument a partir d'une liste d'elelements construits par plugin_valide_resume
liste_chemin_plugin_actifs([string $dir_plugins = _DIR_PLUGINS ]) : array<string|int, mixed>
Parameters
- $dir_plugins : string = _DIR_PLUGINS
-
Chemin du répertoire de plugins
Tags
Return values
array<string|int, mixed>plugin_trier()
Trier les plugins en vériant leur dépendances (qui doivent être présentes)
plugin_trier(array<string|int, mixed> $infos, array<string|int, mixed> $liste_non_classee) : array<string|int, mixed>
Pour tester "utilise", il faut connaître tous les plugins qui seront forcément absents à la fin, car absent de la liste des plugins actifs.
Il faut donc construire une liste ordonnée.
Cette fonction détecte des dépendances circulaires, avec un doute sur un "utilise" qu'on peut ignorer. Mais ne pas insérer silencieusement et risquer un bug sournois latent
Parameters
- $infos : array<string|int, mixed>
-
Répertoire (plugins, plugins-dist, ...) => Couples (prefixes => infos completes) des plugins qu'ils contiennent
- $liste_non_classee : array<string|int, mixed>
-
Couples (prefixe => description) des plugins qu'on souhaite utiliser
Tags
Return values
array<string|int, mixed> —Tableau de 3 éléments :
- $liste : couples (prefixes => description) des plugins valides
- $ordre : couples (prefixes => infos completes) des plugins triés (les plugins nécessités avant les plugins qui les utilisent)
- $liste_non_classee : couples (prefixes => description) des plugins qui n'ont pas satisfait leurs dépendances
plugins_erreurs()
Collecte les erreurs de dépendances des plugins dans la meta `plugin_erreur_activation`
plugins_erreurs(array<string|int, mixed> $liste_non_classee, array<string|int, mixed> $liste, array<string|int, mixed> $infos[, mixed $msg = [] ]) : mixed
Parameters
- $liste_non_classee : array<string|int, mixed>
-
Couples (prefixe => description) des plugins en erreur
- $liste : array<string|int, mixed>
-
Couples (prefixe => description) des plugins qu'on souhaite utiliser
- $infos : array<string|int, mixed>
-
Répertoire (plugins, plugins-dist, ...) => Couples (prefixes => infos completes) des plugins qu'ils contiennent
- $msg : mixed = []
Tags
plugin_donne_erreurs()
Retourne les erreurs d'activation des plugins, au format html ou brut
plugin_donne_erreurs([bool $raw = false ][, bool $raz = true ]) : string|array<string|int, mixed>
Parameters
- $raw : bool = false
-
- true : pour obtenir le tableau brut des erreurs
- false : Code HTML
- $raz : bool = true
-
- true pour effacer la meta qui stocke les erreurs.
Tags
Return values
string|array<string|int, mixed> —- Liste des erreurs ou code HTML des erreurs
plugin_necessite()
Teste des dépendances
plugin_necessite(array<string|int, mixed> $n, array<string|int, mixed> $liste[, mixed $balise = 'necessite' ]) : array<string|int, mixed>
Et vérifie que chaque dépendance est présente dans la liste de plugins donnée
Parameters
- $n : array<string|int, mixed>
-
Tableau de dépendances dont on souhaite vérifier leur présence
- $liste : array<string|int, mixed>
-
Tableau des plugins présents
- $balise : mixed = 'necessite'
Tags
Return values
array<string|int, mixed> —Tableau des messages d'erreurs reçus. Il sera vide si tout va bien.
plugin_controler_necessite()
Vérifie qu'une dépendance (plugin) est bien présente.
plugin_controler_necessite(array<string|int, mixed> $liste, string $nom, string $intervalle, string $balise) : mixed
Parameters
- $liste : array<string|int, mixed>
-
Liste de description des plugins
- $nom : string
-
Le plugin donc on cherche la presence
- $intervalle : string
-
L'éventuelle intervalle de compatibilité de la dépendance. ex: [1.1.0;]
- $balise : string
-
Permet de définir si on teste un utilise ou un nécessite
Tags
plugin_message_incompatibilite()
plugin_message_incompatibilite(string $intervalle, string $version, string $nom, string $balise) : string
Parameters
- $intervalle : string
-
L'éventuelle intervalle de compatibilité de la dépendance. ex: [1.1.0;]
- $version : string
-
La version en cours active pour le plugin demandé (ou php ou extension php demandée)
- $nom : string
-
Le plugin (ou php ou extension php) qui est absent
- $balise : string
-
Le type de balise utilisé (necessite ou utilise)
Tags
Return values
string —Le message d'erreur.
plugin_controler_lib()
plugin_controler_lib(mixed $lib, mixed $url) : mixed
Parameters
- $lib : mixed
- $url : mixed
Tags
actualise_plugins_actifs()
Calcule la liste des plugins actifs et recompile les fichiers caches qui leurs sont relatifs
actualise_plugins_actifs([bool $pipe_recherche = false ]) : bool
Parameters
- $pipe_recherche : bool = false
-
?
Tags
Return values
bool —true si il y a eu des modifications sur la liste des plugins actifs, false sinon
ecrire_plugin_actifs()
Calcule ou modifie la liste des plugins actifs et recompile les fichiers caches qui leurs sont relatifs
ecrire_plugin_actifs(string|array<string|int, string> $plugin[, bool $pipe_recherche = false ][, string $operation = 'raz' ]) : bool
Parameters
- $plugin : string|array<string|int, string>
-
Plugin ou plugins concernés (leur chemin depuis le répertoire plugins)
- $pipe_recherche : bool = false
-
?
- $operation : string = 'raz'
-
- raz : recalcule tout
- ajoute : ajoute le plugin indiqué à la liste des plugins actifs
- enleve : enleve le plugin indiqué de la liste des plugins actifs
- force : ?
Tags
Return values
bool —true si il y a eu des modifications sur la liste des plugins actifs, false sinon
plugins_precompile_chemin()
Écrit le fichier de déclaration des chemins (path) des plugins actifs
plugins_precompile_chemin(array<string|int, mixed> $plugin_valides, array<string|int, mixed> $ordre) : mixed
Le fichier créé, une fois exécuté permet à SPIP de rechercher des fichiers dans les répertoires des plugins concernés.
Parameters
- $plugin_valides : array<string|int, mixed>
-
Couples (prefixe => description) des plugins qui seront actifs
- $ordre : array<string|int, mixed>
-
Couples (prefixe => infos complètes) des plugins qui seront actifs, dans l'ordre de leurs dépendances
Tags
plugins_precompile_xxxtions()
Écrit les fichiers de chargement des fichiers d'options et de fonctions des plugins
plugins_precompile_xxxtions(array<string|int, mixed> $plugin_valides, array<string|int, mixed> $ordre) : mixed
Les onglets et menus déclarés dans le fichier paquet.xml des plugins sont également ajoutés au fichier de fonctions créé.
Parameters
- $plugin_valides : array<string|int, mixed>
-
Couples (prefixe => description) des plugins qui seront actifs
- $ordre : array<string|int, mixed>
-
Couples (prefixe => infos complètes) des plugins qui seront actifs, dans l'ordre de leurs dépendances
Tags
plugin_ongletbouton()
Compile les entrées d'un menu et retourne le code php d'exécution
plugin_ongletbouton(string $nom, array<string|int, mixed> $val) : string
Génère et retourne un code php (pour enregistrement dans un fichier de cache) permettant d'obtenir la liste des entrées de menus, ou des onglets de l'espace privé.
Définit également une constante (UPDATED$nom et UPDATED_md5$nom), signalant une modification de ces menus
Parameters
- $nom : string
-
Nom du type de menu Exemple: boutons_plugins, onglets_plugins
- $val : array<string|int, mixed>
-
Liste des entrées de ce menu
Tags
Return values
string —Code php
plugins_amorcer_plugins_actifs()
Chargement des plugins actifs dans le path de SPIP et exécution de fichiers d'options des plugins
plugins_amorcer_plugins_actifs() : mixed
Les fichiers d'options peuvent déclarer des pipelines ou de nouveaux chemins.
La connaissance chemins peut être nécessaire pour la construction du fichier d'exécution des pipelines.
pipeline_matrice_precompile()
Crée la liste des filtres à traverser pour chaque pipeline
pipeline_matrice_precompile(array<string|int, mixed> $plugin_valides, array<string|int, mixed> $ordre, string $pipe_recherche) : array<string|int, mixed>
Complète la globale spip_pipeline
des fonctions que doit traverser un pipeline,
et la globale spip_matrice
des fichiers à charger qui contiennent ces fonctions.
Retourne aussi pour certaines balises présentes dans les paquet.xml (script, style, genie), un code PHP à insérer au début de la chaîne du ou des pipelines associés à cette balise (insert_head, insert_head_css, taches_generales_cron, ...). Ce sont des écritures raccourcies pour des usages fréquents de ces pipelines.
Parameters
- $plugin_valides : array<string|int, mixed>
-
Couples (prefixe => description) des plugins qui seront actifs
- $ordre : array<string|int, mixed>
-
Couples (prefixe => infos complètes) des plugins qui seront actifs, dans l'ordre de leurs dépendances
- $pipe_recherche : string
Return values
array<string|int, mixed> —Couples (nom du pipeline => Code PHP à insérer au début du pipeline)
pipeline_precompile()
Précompilation des pipelines
pipeline_precompile([array<string|int, mixed> $prepend_code = [] ]) : mixed
Crée le fichier d'exécution des pipelines
dont le chemin est défini par _CACHE_PIPELINES
La liste des pipelines est définie par la globale spip_pipeline
qui a été remplie soit avec les fichiers d'options, soit avec
des descriptions de plugins (paquet.xml) dont celui de SPIP lui-même.
Les fichiers à charger pour accéder aux fonctions qui doivent traverser
un pipeline se trouve dans la globale spip_matrice
.
Parameters
- $prepend_code : array<string|int, mixed> = []
-
Code PHP à insérer avant le passage dans la chaîne des fonctions d'un pipeline Couples 'Nom du pipeline' => Code PHP à insérer
Tags
plugin_est_installe()
Indique si un chemin de plugin fait parti des plugins activés sur le site
plugin_est_installe(string $plug_path) : bool
Parameters
- $plug_path : string
-
Chemin du plugin
Return values
bool —true si le plugin est actif, false sinon
plugin_installes_meta()
Parcours les plugins activés et appelle leurs fonctions d'installation si elles existent.
plugin_installes_meta() : mixed
Elle ajoute ensuite les plugins qui ont été installés dans la valeur "plugin_installes" de la table meta. Cette meta ne contient que les noms des plugins qui ont une version_base.
Tags
ecrire_fichier_php()
Écrit un fichier PHP
ecrire_fichier_php(string $nom, string $contenu[, string $comment = '' ]) : mixed
Parameters
- $nom : string
-
Chemin du fichier
- $contenu : string
-
Contenu du fichier (sans les balises ouvrantes et fermantes de PHP)
- $comment : string = ''
-
Commentaire : code écrit en tout début de fichier, après la balise PHP ouvrante
Tags
inc_precharger_article_dist()
Retourne les valeurs à charger pour un formulaire d'édition d'un article
inc_precharger_article_dist(string|int $id_article[, int $id_rubrique = 0 ][, int $lier_trad = 0 ]) : array<string|int, mixed>
Lors d'une création, certains champs peuvent être préremplis (c'est le cas des traductions)
Parameters
- $id_article : string|int
-
Identifiant de l'article, ou "new" pour une création
- $id_rubrique : int = 0
-
Identifiant éventuel de la rubrique parente
- $lier_trad : int = 0
-
Identifiant éventuel de la traduction de référence
Return values
array<string|int, mixed> —Couples clés / valeurs des champs du formulaire à charger.
inc_precharger_traduction_article_dist()
Récupère les valeurs d'une traduction de référence pour la création d'un article (préremplissage du formulaire).
inc_precharger_traduction_article_dist(string|int $id_article[, int $id_rubrique = 0 ][, int $lier_trad = 0 ]) : array<string|int, mixed>
Parameters
- $id_article : string|int
-
Identifiant de l'article, ou "new" pour une création
- $id_rubrique : int = 0
-
Identifiant éventuel de la rubrique parente
- $lier_trad : int = 0
-
Identifiant éventuel de la traduction de référence
Tags
Return values
array<string|int, mixed> —Couples clés / valeurs des champs du formulaire à charger
precharger_objet()
Retourne les valeurs à charger pour un formulaire d'édition d'un objet
precharger_objet(string $type, string|int $id_objet[, int $id_rubrique = 0 ][, int $lier_trad = 0 ][, string $champ_titre = 'titre' ]) : array<string|int, mixed>
Lors d'une création, certains champs peuvent être préremplis (c'est le cas des traductions)
Parameters
- $type : string
-
Type d'objet (article, breve...)
- $id_objet : string|int
-
Identifiant de l'objet, ou "new" pour une création
- $id_rubrique : int = 0
-
Identifiant éventuel de la rubrique parente
- $lier_trad : int = 0
-
Identifiant éventuel de la traduction de référence
- $champ_titre : string = 'titre'
-
Nom de la colonne SQL de l'objet donnant le titre : pas vraiment idéal ! On devrait pouvoir le savoir dans la déclaration de l'objet
Return values
array<string|int, mixed> —Couples clés / valeurs des champs du formulaire à charger.
precharger_traduction_objet()
Récupère les valeurs d'une traduction de référence pour la création d'un objet (préremplissage du formulaire).
precharger_traduction_objet(string $type, string|int $id_objet[, int $id_rubrique = 0 ][, int $lier_trad = 0 ][, string $champ_titre = 'titre' ]) : array<string|int, mixed>
Parameters
- $type : string
-
Type d'objet (article, breve...)
- $id_objet : string|int
-
Identifiant de l'objet, ou "new" pour une création
- $id_rubrique : int = 0
-
Identifiant éventuel de la rubrique parente
- $lier_trad : int = 0
-
Identifiant éventuel de la traduction de référence
- $champ_titre : string = 'titre'
-
Nom de la colonne SQL de l'objet donnant le titre
Return values
array<string|int, mixed> —Couples clés / valeurs des champs du formulaire à charger
inc_prepare_recherche_dist()
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
inc_prepare_recherche_dist(string $recherche[, string $table = 'articles' ][, bool $cond = false ][, string $serveur = '' ][, array<string|int, mixed> $modificateurs = [] ][, string $primary = '' ]) : array<string|int, mixed>
Le paramètre $serveur est utilisé pour savoir sur quelle base on cherche mais l'index des résultats est toujours stocké sur le serveur principal car on ne sait pas si la base distante dispose d'une table spip_resultats ni meme si on aurait le droit d'ecrire dedans
Parameters
- $recherche : string
-
chaine recherchee
- $table : string = 'articles'
-
table dans laquelle porte la recherche
- $cond : bool = false
-
critere conditionnel sur {recherche?}
- $serveur : string = ''
-
serveur de base de donnees
- $modificateurs : array<string|int, mixed> = []
-
modificateurs de boucle, ie liste des criteres presents
- $primary : string = ''
-
cle primaire de la table de recherche
Return values
array<string|int, mixed>generer_select_where_explicites()
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
generer_select_where_explicites(string $table, string $primary, array<string|int, mixed> $rows, string $serveur) : array<string|int, mixed>
Parameters
- $table : string
- $primary : string
- $rows : array<string|int, mixed>
- $serveur : string
Return values
array<string|int, mixed>inc_preselectionner_parent_nouvel_objet_dist()
Preselectionner la rubrique lors de la creation desactive par defaut suite a remontee utilisateur mais activable par define ou surchargeable
inc_preselectionner_parent_nouvel_objet_dist(string $objet, array<string|int, mixed> $row) : string
Parameters
- $objet : string
- $row : array<string|int, mixed>
Return values
stringdebut_cadre()
Uses boite_ouvrir
debut_cadre(mixed $style[, mixed $icone = '' ][, mixed $fonction = '' ][, mixed $titre = '' ][, mixed $id = '' ][, mixed $class = '' ][, mixed $padding = true ]) : mixed
Parameters
- $style : mixed
- $icone : mixed = ''
- $fonction : mixed = ''
- $titre : mixed = ''
- $id : mixed = ''
- $class : mixed = ''
- $padding : mixed = true
fin_cadre()
Uses boite_fermer
fin_cadre() : mixed
debut_cadre_relief()
Uses boite_ouvrir
debut_cadre_relief([mixed $icone = '' ][, mixed $dummy = '' ][, mixed $fonction = '' ][, mixed $titre = '' ][, mixed $id = '' ][, mixed $class = '' ]) : mixed
Parameters
- $icone : mixed = ''
- $dummy : mixed = ''
- $fonction : mixed = ''
- $titre : mixed = ''
- $id : mixed = ''
- $class : mixed = ''
fin_cadre_relief()
Uses boite_fermer
fin_cadre_relief() : mixed
debut_cadre_enfonce()
Uses boite_ouvrir
debut_cadre_enfonce([mixed $icone = '' ][, mixed $dummy = '' ][, mixed $fonction = '' ][, mixed $titre = '' ][, mixed $id = '' ][, mixed $class = '' ]) : mixed
Parameters
- $icone : mixed = ''
- $dummy : mixed = ''
- $fonction : mixed = ''
- $titre : mixed = ''
- $id : mixed = ''
- $class : mixed = ''
fin_cadre_enfonce()
Uses boite_fermer
fin_cadre_enfonce() : mixed
debut_cadre_sous_rub()
Uses boite_ouvrir
debut_cadre_sous_rub([mixed $icone = '' ][, mixed $dummy = '' ][, mixed $fonction = '' ][, mixed $titre = '' ][, mixed $id = '' ][, mixed $class = '' ]) : mixed
Parameters
- $icone : mixed = ''
- $dummy : mixed = ''
- $fonction : mixed = ''
- $titre : mixed = ''
- $id : mixed = ''
- $class : mixed = ''
fin_cadre_sous_rub()
Uses boite_fermer
fin_cadre_sous_rub() : mixed
debut_cadre_couleur()
Uses boite_ouvrir
debut_cadre_couleur([mixed $icone = '' ][, mixed $dummy = '' ][, mixed $fonction = '' ][, mixed $titre = '' ][, mixed $id = '' ][, mixed $class = '' ]) : mixed
Parameters
- $icone : mixed = ''
- $dummy : mixed = ''
- $fonction : mixed = ''
- $titre : mixed = ''
- $id : mixed = ''
- $class : mixed = ''
fin_cadre_couleur()
Uses boite_fermer
fin_cadre_couleur() : mixed
debut_cadre_trait_couleur()
Uses boite_ouvrir
debut_cadre_trait_couleur([mixed $icone = '' ][, mixed $dummy = '' ][, mixed $fonction = '' ][, mixed $titre = '' ][, mixed $id = '' ][, mixed $class = '' ]) : mixed
Parameters
- $icone : mixed = ''
- $dummy : mixed = ''
- $fonction : mixed = ''
- $titre : mixed = ''
- $id : mixed = ''
- $class : mixed = ''
fin_cadre_trait_couleur()
Uses boite_fermer
fin_cadre_trait_couleur() : mixed
debut_boite_alerte()
Uses boite_ouvrir
debut_boite_alerte() : mixed
fin_boite_alerte()
Uses boite_fermer
fin_boite_alerte() : mixed
debut_boite_info()
Uses boite_ouvrir
debut_boite_info() : mixed
fin_boite_info()
Uses boite_fermer
fin_boite_info() : mixed
gros_titre()
Affiche le titre d’une page de l’interface privée. Utilisée par la plupart des fichiers `exec/xx.php`.
gros_titre(string $titre[, string $ze_logo = '' ]) : string
Parameters
- $titre : string
-
Le titre en question
- $ze_logo : string = ''
-
Une image de logo
Return values
string —Code PHP.
bloc_des_raccourcis()
bloc_des_raccourcis(mixed $bloc) : mixed
Parameters
- $bloc : mixed
debut_onglet()
debut_onglet([mixed $classe = 'barre_onglet' ]) : mixed
Parameters
- $classe : mixed = 'barre_onglet'
Tags
fin_onglet()
fin_onglet() : mixed
Tags
onglet()
onglet(mixed $texte, mixed $lien, mixed $onglet_ref, mixed $onglet[, mixed $icone = '' ]) : mixed
Parameters
- $texte : mixed
- $lien : mixed
- $onglet_ref : mixed
- $onglet : mixed
- $icone : mixed = ''
Tags
icone_verticale()
Crée un lien précédé d'une icone au dessus du texte
icone_verticale(string $texte, string $lien, string $fond[, string $fonction = '' ][, string $align = '' ][, string $javascript = '' ]) : string
Parameters
- $texte : string
-
texte du lien
- $lien : string
-
URL 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
) - $align : string = ''
-
Classe CSS, tel que
left
,right
pour définir un alignement - $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
icone_horizontale()
Crée un lien précédé d'une icone horizontale
icone_horizontale(string $texte, string $lien, string $fond[, string $fonction = '' ][, string $dummy = '' ][, string $javascript = '' ]) : string
Parameters
- $texte : string
-
texte du lien
- $lien : string
-
URL 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
) - $dummy : string = ''
-
Inutilisé
- $javascript : string = ''
-
Javascript ajouté sur le lien
Tags
Return values
string —Code HTML du lien
debut_grand_cadre()
Retourne le code HTML d'un début de cadre pour le centre de page (haut de page)
debut_grand_cadre() : string
Return values
string —Code HTML
fin_grand_cadre()
Retourne le code HTML d'une fin de cadre pour le centre de page (haut de page)
fin_grand_cadre() : string
Return values
string —Code HTML
debut_gauche()
Retourne le code HTML du début de la colonne gauche
debut_gauche() : string
Return values
string —Code HTML
fin_gauche()
Retourne le code HTML de la fin de la colonne
fin_gauche() : string
Return values
string —Code HTML
creer_colonne_droite()
Retourne le code HTML du changement de colonne (passer de la gauche à la droite)
creer_colonne_droite() : string
Return values
string —Code HTML
debut_droite()
Retourne le code HTML de la colonne droite et du centre de page
debut_droite() : string
Return values
string —Code HTML
liste_objets_bloques()
Retourne la liste des objets édités récemment (si les drapeaux d'édition sont actifs)
liste_objets_bloques(string $exec[, array<string|int, mixed> $contexte = [] ][, array<string|int, mixed>|null $auteur = null ]) : string
Si notre page est une page d'édition d'un objet, on déclare au passage l'auteur comme éditant l'objet
Parameters
- $exec : string
-
Nom de la page exec en cours
- $contexte : array<string|int, mixed> = []
-
contexte de la page
- $auteur : array<string|int, mixed>|null = null
-
Session de l'auteur. Sera prise sur l'auteur connecté si non indiquée.
Tags
Return values
string —Code HTML
fin_page()
Retourne le code HTML de fin de page de l'interface privée.
fin_page() : string
Elle génère au passage un appel pour déclencher les tâches cron
Tags
Return values
string —Code HTML
html_tests_js()
Retourne des tests javascript à exécuter
html_tests_js() : string
- Teste que javascript est actif : si non, un hit sur exec=test_ajax est généré
- Rejoue la session si demandé (par verifier_session() si l'ip a changé)
Tags
Return values
string —Code HTML
info_maj_spip()
Retourne la liste des mises à jour de SPIP possibles
info_maj_spip() : string
Return values
string —texte présentant la liste des mises à jour existantes
info_copyright()
Retourne les informations de copyright (version de SPIP, de l'écran de sécurité) pour le pied de page de l'espace privé
info_copyright() : string
Return values
string —Code HTML
enfant_rub()
Crée l'affichage des listes de rubriques dans le privé
enfant_rub(int $collection[, int $debut = 0 ][, int $limite = 500 ]) : array<string|int, mixed>
Parameters
- $collection : int
-
L'identifiant numérique de la rubrique à lister
- $debut : int = 0
-
Le numéro de la pagination si paginé (> 500)
- $limite : int = 500
-
Le pas de pagination si paginé (> 500)
Return values
array<string|int, mixed> —Un tableau des sous rubriques
sous_enfant_rub()
Affiche les enfants d'une sous rubrique dans un bloc dépliable (Utilisé dans les pages du privé)
sous_enfant_rub(int $collection2) : string
Parameters
- $collection2 : int
-
L'identifiant numérique de la rubrique parente
Return values
string —Le contenu du bloc dépliable
afficher_enfant_rub()
Affiche la liste des rubriques enfants d'une rubrique (Utilisé dans les pages du privé notamment ?exec=rubriques)
afficher_enfant_rub([int $id_rubrique = 0 ]) : string
Si plus de 500 rubriques enfants, on pagine par 500 les résultats
Parameters
- $id_rubrique : int = 0
-
L'identifiant numérique de la rubrique parente (0 par défaut, la racine)
Return values
string —Le contenu textuel affiché, la liste des sous rubriques
inc_puce_statut_dist()
Afficher la puce statut d'un objet
inc_puce_statut_dist(int $id_objet, string $statut, int $id_parent, string $type[, bool $ajax = false ][, bool $menu_rapide = _ACTIVER_PUCE_RAPIDE ]) : string
Utilise une fonction spécifique pour un type d'objet si elle existe, tel que puce_statut_$type_dist(), sinon tente avec puce_statut_changement_rapide().
Parameters
- $id_objet : int
-
Identifiant de l'objet
- $statut : string
-
Statut actuel de l'objet
- $id_parent : 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
- $menu_rapide : bool = _ACTIVER_PUCE_RAPIDE
-
Indique si l'on peut changer le statut, ou si on l'affiche simplement
Tags
Return values
string —Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)
statut_image()
Récuperer l'image correspondant au statut pour un objet éditorial indiqué
statut_image(string $objet, string $statut) : string|null
Retrouve l'image correspondant au statut, telle que declarée dans
declarer_tables_objets_sql
sous la forme :
```
array(
'imagepardefaut.png',
'statut1' => 'imagestatut1.png',
'statut2' => 'imagestatut2.png',
...
)
```
Mettre une chaine vide pour ne pas avoir d'image pour un statut particulier.
Si rien n'est declaré et que le statut est dans un des cas connus habituels (prepa, prop, publie, refuse, poubelle), alors on renvoie l'image par défaut pour ce statut
Parameters
- $objet : string
- $statut : string
Return values
string|null —null si pas capable de déterminer l'image
statut_titre()
Récupérer le titre correspondant au statut pour un objet éditorial indiqué
statut_titre(string $objet, string $statut) : string
Retrouve le titre correspondant au statut, tel qu'il a été declaré dans
declarer_tables_objets_sql
sous la forme :
```
array(
'titre par defaut',
'statut1' => 'titre statut 1',
'statut2' => 'titre statut 2',
...
)
Mettre une chaine vide pour ne pas avoir de titre pour un statut particulier.
Si rien n'est declaré et que le statut est dans un des cas connus habituels
(prepa, prop, publie, refuse, poubelle), alors on renvoie le texte par défaut pour ce statut
Parameters
- $objet : string
- $statut : string
Return values
stringstatut_texte_instituer()
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
statut_texte_instituer(string $objet, string $statut) : string
si rien de declare et que le statut est dans les cas connus (prepa, prop, publie, refuse, poubelle) renvoyer le texte par defaut
Parameters
- $objet : string
- $statut : string
Return values
stringpuce_statut_auteur_dist()
Afficher la puce statut d'un auteur
puce_statut_auteur_dist(int $id, string $statut, int $id_parent, string $type[, string $ajax = '' ][, bool $menu_rapide = _ACTIVER_PUCE_RAPIDE ]) : string
Ne semble plus servir : desactive Hack de compatibilite: les appels directs ont un $type != 'auteur' si l'auteur ne peut pas se connecter
Parameters
- $id : int
- $statut : string
- $id_parent : int
- $type : string
- $ajax : string = ''
- $menu_rapide : bool = _ACTIVER_PUCE_RAPIDE
Return values
stringpuce_statut_rubrique_dist()
puce_statut_rubrique_dist(mixed $id, mixed $statut, mixed $id_rubrique, mixed $type[, mixed $ajax = '' ][, mixed $menu_rapide = _ACTIVER_PUCE_RAPIDE ]) : mixed
Parameters
- $id : mixed
- $statut : mixed
- $id_rubrique : mixed
- $type : mixed
- $ajax : mixed = ''
- $menu_rapide : mixed = _ACTIVER_PUCE_RAPIDE
puce_statut_changement_rapide()
Retourne le contenu d'une puce avec changement de statut possible si on en a l'autorisation, sinon simplement l'image de la puce
puce_statut_changement_rapide(int $id, string $statut, int $id_rubrique[, string $type = 'article' ][, bool $ajax = false ][, bool $menu_rapide = _ACTIVER_PUCE_RAPIDE ]) : string
Parameters
- $id : int
-
Identifiant de l'objet
- $statut : string
-
Statut actuel de l'objet
- $id_rubrique : int
-
Identifiant du parent, une rubrique
- $type : string = 'article'
-
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
- $menu_rapide : bool = _ACTIVER_PUCE_RAPIDE
-
Indique si l'on peut changer le statut, ou si on l'affiche simplement
Return values
string —Code HTML de l'image de puce de statut à insérer (et du menu de changement si présent)
afficher_script_statut()
afficher_script_statut(mixed $id, mixed $type, mixed $n, mixed $img, mixed $statut, mixed $titre[, mixed $act = '' ]) : mixed
Parameters
- $id : mixed
- $type : mixed
- $n : mixed
- $img : mixed
- $statut : mixed
- $titre : mixed
- $act : mixed = ''
puce_statut()
puce_statut(mixed $statut[, mixed $atts = '' ]) : mixed
Parameters
- $statut : mixed
- $atts : mixed = ''
queue_add_job()
Ajouter une tâche à la file
queue_add_job(string $function, string $description[, array<string|int, mixed> $arguments = [] ][, string $file = '' ][, bool $no_duplicate = false ][, int $time = 0 ][, int $priority = 0 ]) : int
Les tâches sont ensuites exécutées par date programmée croissant/priorité décroissante
Parameters
- $function : string
-
The function name to call.
- $description : string
-
A human-readable description of the queued job.
- $arguments : array<string|int, mixed> = []
-
Optional array of arguments to pass to the function.
- $file : string = ''
-
Optional file path which needs to be included for $fucntion.
- $no_duplicate : bool = false
-
If TRUE, do not add the job to the queue if one with the same function and arguments already exists. If 'function_only' test of existence is only on function name (for cron job)
- $time : int = 0
-
time for starting the job. If 0, job will start as soon as possible
- $priority : int = 0
-
-10 (low priority) to +10 (high priority), 0 is the default
Tags
Return values
int —id of job
queue_purger()
Purger la file de tâche et reprogrammer les tâches périodiques
queue_purger() : mixed
queue_remove_job()
Retirer une tache de la file d'attente
queue_remove_job(int $id_job) : int|bool
Parameters
- $id_job : int
-
id de la tache a retirer
Return values
int|boolqueue_link_job()
Associer une tache avec un objet
queue_link_job(int $id_job, array<string|int, mixed> $objets) : mixed
Parameters
- $id_job : int
-
id de la tache a lier
- $objets : array<string|int, mixed>
-
peut être un simple tableau array('objet'=>'article','id_objet'=>23) ou un tableau composé de tableaux simples pour lieur plusieurs objets en une fois
queue_unlink_job()
Dissocier une tache d'un objet
queue_unlink_job(int $id_job) : mixed
Parameters
- $id_job : int
-
id de la tache à dissocier
Tags
queue_start_job()
Lancer une tache decrite par sa ligne SQL
queue_start_job(array<string|int, mixed> $row) : mixed
Parameters
- $row : array<string|int, mixed>
-
describe the job, with field of table spip_jobs
Return values
mixed —return the result of job
queue_schedule()
Exécute les prochaînes tâches cron et replanifie les suivantes
queue_schedule([array<string|int, mixed> $force_jobs = null ]) : null|bool
Prend une par une les tâches en attente et les lance, dans la limite d'un temps disponible total et d'un nombre maxi de tâches
La date de la prochaine tâche à exécuter est mise à jour après chaque chaque tâche finie afin de relancer le scheduler uniquement quand c'est nécessaire
Parameters
- $force_jobs : array<string|int, mixed> = null
-
list of id_job to execute when provided
Tags
Return values
null|bool —- null : pas de tâche à réaliser maintenant
- false : pas de connexion SQL
- true : une planification a été faite.
queue_close_job()
Terminer un job au status _JQ_PENDING
queue_close_job(array<string|int, mixed> &$row, int $time[, int $result = 0 ]) : mixed
- le reprogrammer si c'est un cron
- supprimer ses liens
- le detruire en dernier
Parameters
- $row : array<string|int, mixed>
- $time : int
- $result : int = 0
Tags
queue_error_handler()
Récuperer des erreurs autant que possible en terminant la gestion de la queue
queue_error_handler() : mixed
Tags
queue_is_cron_job()
Tester si une tâche était une tâche périodique à reprogrammer
queue_is_cron_job(string $function, string $inclure) : bool|int
Parameters
- $function : string
-
Nom de la fonction de tâche
- $inclure : string
-
Nom de l'inclusion contenant la fonction
Tags
Return values
bool|int —Périodicité de la tâche en secondes, si tâche périodique, sinon false.
queue_update_next_job_time()
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_update_next_job_time([int $next_time = null ]) : mixed
Parameters
- $next_time : int = null
-
temps de la tache ajoutee ou 0 pour ASAP
Tags
queue_set_next_job_time()
Mettre a jour la date de prochain job
queue_set_next_job_time(int $next) : mixed
Parameters
- $next : int
queue_affichage_cron()
Déclenche le cron en asynchrone ou retourne le code HTML pour le déclencher
queue_affichage_cron() : string
Retourne le HTML à ajouter à la page pour declencher le cron ou rien si on a réussi à le lancer en asynchrone.
Un verrou (cron.lock) empêche l'exécution du cron plus d'une fois par seconde.
Tags
Return values
stringqueue_lancer_url_http_async()
Lancer le cron via un hit http sans attendre le resultat
queue_lancer_url_http_async(string $url_cron) : bool
Parameters
- $url_cron : string
Return values
bool —: true si l'url a pu être appelée en asynchrone, false sinon
inc_recherche_to_array_dist()
inc_recherche_to_array_dist(mixed $recherche[, mixed $options = [] ]) : mixed
Parameters
- $recherche : mixed
- $options : mixed = []
liste_des_champs()
Donne la liste des champs/tables où l'on sait chercher / remplacer avec un poids pour le score
liste_des_champs() : array<string|int, mixed>
Utilise l'information rechercher_champs
sur la déclaration
des objets éditoriaux.
Tags
Return values
array<string|int, mixed> —Couples (type d'objet => Couples (champ => score))
liste_des_jointures()
liste_des_jointures() : mixed
expression_recherche()
expression_recherche(mixed $recherche, mixed $options) : mixed
Parameters
- $recherche : mixed
- $options : mixed
recherche_en_base()
Effectue une recherche sur toutes les tables de la base de données
recherche_en_base([string $recherche = '' ][, null|array<string|int, mixed>|string $tables = null ][, array<string|int, mixed> $options = [] ][, string $serveur = '' ]) : array<string|int, mixed>
Parameters
- $recherche : string = ''
-
Le terme de recherche
- $tables : null|array<string|int, mixed>|string = null
-
- null : toutes les tables acceptant des recherches
- array : liste des tables souhaitées
- string : une chaîne listant les tables souhaitées, séparées par des virgules (préférer array cependant)
- $options : array<string|int, mixed> = []
-
{ @var pour $toutvoir éviter autoriser(voir) @var pour $flags éviter les flags regexp par défaut (UimsS) @var pour $champs retourner les champs concernés @var pour $score retourner un score }
- $serveur : string = ''
Tags
Return values
array<string|int, mixed>remplace_en_base()
remplace_en_base([mixed $recherche = '' ][, mixed $remplace = null ][, mixed $tables = null ][, mixed $options = [] ]) : mixed
Parameters
- $recherche : mixed = ''
- $remplace : mixed = null
- $tables : mixed = null
- $options : mixed = []
roles_presents()
Vérifie qu'un objet dispose de rôles fonctionnels
roles_presents(string $objet[, string $objet_destination = '' ]) : bool|array<string|int, mixed>
Retourne une description des rôles si c'est le cas
Parameters
- $objet : string
-
Objet source qui possède la table de liaison
- $objet_destination : string = ''
-
Objet sur quoi on veut lier Si défini, le retour ne contient que les roles possibles pour cet objet Sinon retourne tous les roles possibles quelque soit l'objet
Return values
bool|array<string|int, mixed> —false si rôles indisponibles on non déclarés array : description des roles applicables dans 3 index : colonne, titres, roles
roles_colonne()
Retrouve la colonne de liaison d'un rôle si définie entre 2 objets
roles_colonne(string $objet, string $objet_destination) : string
Parameters
- $objet : string
-
Objet source qui possède la table de liaison
- $objet_destination : string
-
Objet sur quoi on veut lier
Return values
string —Nom de la colonne, sinon vide
roles_trouver_dans_qualif()
Extrait le rôle et la colonne de role d'un tableau de qualification
roles_trouver_dans_qualif(string $objet, string $objet_destination[, array<string|int, mixed> $qualif = [] ]) : array<string|int, mixed>
Calcule également une condition where pour ce rôle.
Pour un objet pouvant recevoir des roles sur sa liaison avec un autre objet, on retrouve le rôle en question dans le tableau de qualification. Si le rôle n'est pas défini dedans, on prend le rôle par défaut déclaré.
Parameters
- $objet : string
-
Objet source de la liaison
- $objet_destination : string
-
Objet de destination de la liaison
- $qualif : array<string|int, mixed> = []
-
tableau de qualifications array(champ => valeur)
Return values
array<string|int, mixed> —Liste (role, colonne, (array)condition) si role possible Liste ('', '', array()) sinon.
roles_creer_condition_role()
Gérer l'ajout dans la condition where du rôle
roles_creer_condition_role(string $objet_source, string $objet, array<string|int, mixed> $cond[, bool $tous_si_absent = false ]) : array<string|int, mixed>
On ajoute la condition uniquement si la liaison entre les 2 objets a une colonne de rôle !
Parameters
- $objet_source : string
-
Objet source (qui possède la table de liens)
- $objet : string
-
Objet de destination
- $cond : array<string|int, mixed>
-
Tableau de conditions where qui peut avoir un index spécial 'role' définissant le role à appliquer ou valant '*' pour tous les roles.
- $tous_si_absent : bool = false
-
true pour ne pas appliquer une condition sur le rôle s'il n'est pas indiqué dans la liste des conditions entrantes. Autrement dit, on n'applique pas de rôle par défaut si aucun n'est défini.
Return values
array<string|int, mixed> —Liste (Tableau de conditions where complété du role, Colonne du role, role utilisé)
roles_complets()
Liste des identifiants dont on ne peut ajouter de rôle
roles_complets(string $objet_source, string $objet, int $id_objet, string $objet_lien) : array<string|int, mixed>
Lister les id objet_source associés à l'objet id_objet via la table de lien objet_lien, et détermine dans cette liste lesquels ont les rôles complets, c'est à dire qu'on ne peut leur affecteur d'autres rôles parmi ceux qui existe pour cette liaison.
Parameters
- $objet_source : string
-
Objet dont on veut récupérer la liste des identifiants
- $objet : string
-
Objet sur lequel est liée la source
- $id_objet : int
-
Identifiant d'objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Tags
Return values
array<string|int, mixed> —Liste des identifiants
roles_presents_sur_id()
Liste les roles attribués entre 2 objets/id_objet sur une table de liaison donnée
roles_presents_sur_id(string $id_objet_source, string $objet_source, string $objet, int $id_objet, string $objet_lien) : array<string|int, mixed>
Parameters
- $id_objet_source : string
-
Identifiant de l'objet qu'on lie
- $objet_source : string
-
Objet qu'on lie
- $objet : string
-
Objet sur lequel est liée la source
- $id_objet : int
-
Identifiant d'objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Return values
array<string|int, mixed> —Liste des roles
roles_presents_liaisons()
Lister des rôles présents sur une liaion, pour un objet sur un autre, classés par identifiant de l'objet
roles_presents_liaisons(string $objet_source, string $objet, int $id_objet, string $objet_lien) : array<string|int, mixed>|bool
Lister les id objet_source associés à l'objet id_objet via la table de lien objet_lien, et groupe cette liste par identifiant (la clé) et ses roles attribués (tableau de valeur)
On retourne cette liste dans l'index 'ids' et la description des roles pour la liaison dans l'index 'roles' pour éviter le le faire recalculer aux fonctions utilisant celle ci.
Parameters
- $objet_source : string
-
Objet dont on veut récupérer la liste des identifiants
- $objet : string
-
Objet sur lequel est liée la source
- $id_objet : int
-
Identifiant d'objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Return values
array<string|int, mixed>|bool —- Tableau d'index
- roles : tableau de description des roles,
- ids : tableau des identifiants / roles.
- False si pas de role déclarés
roles_connus_en_base()
Lister des rôles connus en base pour une liaion, pour un objet source
roles_connus_en_base(string $objet_source, string $objet, string $objet_lien) : array<string|int, mixed>|bool
On retourne cette liste dans le datalist de saisie libre role.
Parameters
- $objet_source : string
-
Objet dont on veut récupérer la liste des identifiants
- $objet : string
-
Objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Return values
array<string|int, mixed>|bool —- Tableau de roles : tableau de description des roles,
- false si pas de role déclarés
calculer_rubriques_if()
Recalcule les statuts d'une rubrique
calculer_rubriques_if(int $id_rubrique, array<string|int, mixed> $modifs[, array<string|int, mixed> $infos = [] ][, bool $postdate = false ]) : mixed
Fonction à appeler lorsque le statut d'un objet change dans une rubrique ou que la rubrique est deplacée.
Si le statut passe a "publie", la rubrique et ses parents y passent aussi et les langues utilisees sont recalculées. Conséquences symétriques s'il est depublié.
S'il est deplacé alors qu'il était publiée, double conséquence.
Tout cela devrait passer en SQL, sous forme de Cascade SQL.
Parameters
- $id_rubrique : int
-
Identifiant de la rubrique
- $modifs : array<string|int, mixed>
-
Tableau de description des modifications. Peut avoir 2 index, 'statut' étant obligatoire :
- statut : indique le nouveau statut de la rubrique
- id_rubrique : indiquer la rubrique dans laquelle on déplace la rubrique (son nouveau parent donc)
- $infos : array<string|int, mixed> = []
-
Infos sur l'objet modifié : statut_ancien, objet, id_objet…
- $postdate : bool = false
-
true pour recalculer aussi la date du prochain article post-daté
Tags
publier_branche_rubrique()
Publie une rubrique et sa hiérarchie de rubriques
publier_branche_rubrique(int $id_rubrique) : bool
Fonction à appeler lorsqu'on dépublie ou supprime quelque chose dans une rubrique.
Parameters
- $id_rubrique : int
-
Identifiant de la rubrique
Tags
Return values
bool —true si le statut change effectivement
depublier_branche_rubrique_if()
Dépublie si nécessaire des éléments d'une hiérarchie de rubriques
depublier_branche_rubrique_if(int $id_rubrique) : bool
Fonction à appeler lorsqu'on dépublie ou supprime quelque chose dans une rubrique.
Parameters
- $id_rubrique : int
-
Identifiant de la rubrique
Tags
Return values
bool —true si le statut change effectivement
depublier_rubrique_if()
Dépublier une rubrique si aucun contenu publié connu n'est trouvé dedans
depublier_rubrique_if(int $id_rubrique[, string|null $date = null ]) : bool
Parameters
- $id_rubrique : int
-
Identifiant de la rubrique à tester
- $date : string|null = null
-
Date pour le calcul des éléments post-datés. null = date actuelle.
Tags
Return values
bool —true si la rubrique a été dépubliée
calculer_rubriques()
Recalcule des héritages de rubriques
calculer_rubriques() : mixed
Recalcule le statut des rubriques, les langues héritées et la date du prochain article post-daté
Cette fonction est appelée après importation: elle calcule les meta-donnes resultantes et remet de la coherence au cas où la base importée en manquait
Cette fonction doit etre invoquée sans processus concurrent potentiel.
Tags
calculer_rubriques_publiees()
Recalcule l'ensemble des données associées à l'arborescence des rubriques
calculer_rubriques_publiees() : mixed
Attention, faute de SQL transactionnel on travaille sur des champs temporaires afin de ne pas casser la base pendant la demi seconde de recalculs
Tags
propager_les_secteurs()
Recalcule les secteurs et les profondeurs des rubriques (et articles)
propager_les_secteurs() : mixed
Cherche les rubriques ayant des id_secteur ou profondeurs ne correspondant pas avec leur parent, et les met à jour. De même avec les articles et leur id_secteur On procede en iterant la profondeur de 1 en 1 pour ne pas risquer une boucle infinie sur reference circulaire
Tags
calculer_langues_rubriques_etape()
Recalcule les langues héritées des sous-rubriques
calculer_langues_rubriques_etape() : bool
Cherche les langues incorrectes de sous rubriques, qui doivent hériter de la rubrique parente lorsque langue_choisie est différent de oui, et les corrige.
Return values
bool —true si un changement a eu lieu
calculer_langues_rubriques()
Recalcule les langues des rubriques et articles
calculer_langues_rubriques() : mixed
Redéfinit la langue du site sur les rubriques sans langue spécifiée (langue_choisie différent de 'oui')
Redéfinit les langues des articles sans langue spécifiée (langue_choisie différent de 'oui') en les rebasant sur la langue de la rubrique parente lorsque ce n'est pas le cas.
Tags
calculer_langues_utilisees()
Calcule la liste des langues réellement utilisées dans le site public
calculer_langues_utilisees([string $serveur = '' ]) : string
La recherche de langue est effectuée en recréant une boucle pour chaque objet éditorial gérant des langues de sorte que les éléments non publiés ne sont pas pris en compte.
Parameters
- $serveur : string = ''
-
Nom du connecteur à la base de données
Tags
Return values
string —Liste des langues utilisées séparées par des virgules
calcul_branche_in()
Calcul d'une branche de rubrique
calcul_branche_in(string|int|array<string|int, mixed> $id) : string
Liste des id_rubrique contenues dans une rubrique donnée
Parameters
- $id : string|int|array<string|int, mixed>
-
Identifiant de la, ou des rubriques noeuds
Tags
Return values
string —Liste des identifiants séparés par des virgules, incluant les rubriques noeuds et toutes leurs descendances
calcul_hierarchie_in()
Calcul d'une hiérarchie
calcul_hierarchie_in(string|int|array<string|int, mixed> $id[, bool $tout = true ]) : string
Liste des id_rubrique contenant une rubrique donnée
Parameters
- $id : string|int|array<string|int, mixed>
-
Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies
- $tout : bool = true
-
inclure la rubrique de depart dans la hierarchie ou non
Tags
Return values
string —Liste des identifiants séparés par des virgules, incluant les rubriques transmises et toutes leurs parentées
inc_calcul_branche_in_dist()
Calcul d'une branche de rubriques
inc_calcul_branche_in_dist(string|int|array<string|int, mixed> $id) : string
Liste des id_rubrique contenues dans une rubrique donnée pour le critere {branche}
Fonction surchargeable pour optimisation
Parameters
- $id : string|int|array<string|int, mixed>
-
Identifiant de la, ou des rubriques noeuds
Tags
Return values
string —Liste des identifiants séparés par des virgules, incluant les rubriques noeuds et toutes leurs descendances
inc_calcul_hierarchie_in_dist()
Calcul d'une hiérarchie
inc_calcul_hierarchie_in_dist(string|int|array<string|int, mixed> $id[, bool $tout = true ]) : string
Liste des id_rubrique contenant une rubrique donnée, contrairement à la fonction calcul_branche_in() qui calcule les rubriques contenues
Parameters
- $id : string|int|array<string|int, mixed>
-
Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies
- $tout : bool = true
-
inclure la rubrique de depart dans la hierarchie ou non
Tags
Return values
string —Liste des identifiants séparés par des virgules, incluant les rubriques transmises et toutes leurs parentées
calculer_prochain_postdate()
Calcule la date du prochain article post-daté
calculer_prochain_postdate([bool $check = false ]) : mixed
Appelée lorsqu'un (ou plusieurs) article post-daté arrive à terme ou est redaté
Parameters
- $check : bool = false
-
true pour affecter le statut des rubriques concernées.
Tags
creer_rubrique_nommee()
Crée une arborescence de rubrique
creer_rubrique_nommee(string $titre[, int $id_parent = 0 ][, string $serveur = '' ]) : int
creer_rubrique_nommee('truc/machin/chose') va créer une rubrique truc, une sous-rubrique machin, et une sous-sous-rubrique chose, sans créer de rubrique si elle existe déjà à partir de $id_parent (par défaut, à partir de la racine)
NB: cette fonction est très pratique, mais pas utilisée dans le core pour rester légère elle n'appelle pas calculer_rubriques()
Parameters
- $titre : string
-
Titre des rubriques, séparés par des /
- $id_parent : int = 0
-
Identifiant de la rubrique parente
- $serveur : string = ''
-
Nom du connecteur à la base de données
Return values
int —Identifiant de la rubrique la plus profonde.
inc_securiser_action_dist()
Génère ou vérifie une action sécurisée
inc_securiser_action_dist([string $action = '' ][, string $arg = '' ][, string $redirect = '' ][, bool|int|string $mode = false ][, string|int $att = '' ][, bool $public = false ]) : array<string|int, mixed>|string
Interface d'appel:
- au moins un argument: retourne une URL ou un formulaire securisés
- sans argument : vérifie la sécurité et retourne
_request('arg')
, ou exit.
Parameters
- $action : string = ''
- $arg : string = ''
- $redirect : string = ''
- $mode : bool|int|string = false
-
- -1 : renvoyer action, arg et hash sous forme de array()
- true ou false : renvoyer une url, avec & (false) ou & (true)
- string : renvoyer un formulaire
- $att : string|int = ''
-
id_auteur pour lequel generer l'action en mode url ou array() atributs du formulaire en mode formulaire
- $public : bool = false
Tags
Return values
array<string|int, mixed>|stringdemander_confirmation_avant_action()
Confirmer avant suppression si on arrive par un bouton action a appeler dans la fonction action avant toute action destructrice
demander_confirmation_avant_action(string $titre, string $titre_bouton[, string|null $url_action = null ]) : bool
demander_confirmation_avant_action("Supprimer l'article xxxx", "Oui je veux le supprimer");
L'action affiche le formulaire de demande de confirmation sans rendre la main au premier appel, si l'utilisateur clique, cela relance l'action avec un confirm et quand on repasse ici, la fonction ne fera rien et l'action se finira normalement
Parameters
- $titre : string
- $titre_bouton : string
- $url_action : string|null = null
Return values
boolsecuriser_action_auteur()
Retourne une URL ou un formulaire sécurisés
securiser_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
- $arg : string
- $redirect : string = ''
- $mode : bool|int|string = false
-
- -1 : renvoyer action, arg et hash sous forme de array()
- true ou false : renvoyer une url, avec & (false) ou & (true)
- string : renvoyer un formulaire
- $att : string|int = ''
-
- id_auteur pour lequel générer l'action en mode URL ou array()
- atributs du formulaire en mode formulaire
- $public : bool = false
Tags
Return values
array<string|int, mixed>|string —- string URL, si $mode = true ou false,
- string code HTML du formulaire, si $mode texte,
- array Tableau (action=>x, arg=>x, hash=>x) si $mode=-1.
caracteriser_auteur()
Caracteriser un auteur : l'auteur loge si $id_auteur=null
caracteriser_auteur([int|null $id_auteur = null ]) : array<string|int, mixed>
Parameters
- $id_auteur : int|null = null
Return values
array<string|int, mixed>_action_auteur()
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_auteur(string $action, int $id_auteur, string|null $pass, string $alea) : string
Parameters
- $action : string
- $id_auteur : int
- $pass : string|null
- $alea : string
Return values
string_action_get_alea()
_action_get_alea(string $alea) : string
Parameters
- $alea : string
Return values
stringcalculer_action_auteur()
Calculer le hash qui signe une action pour un auteur
calculer_action_auteur(string $action[, int|null $id_auteur = null ]) : string
Parameters
- $action : string
- $id_auteur : int|null = null
Tags
Return values
stringverifier_action_auteur()
Verifier le hash de signature d'une action toujours exclusivement pour l'auteur en cours
verifier_action_auteur(string $action, string $hash) : bool
Parameters
- $action : string
- $hash : string
Return values
boolsecret_du_site()
Renvoyer le secret du site (le generer si il n'existe pas encore)
secret_du_site() : string
Tags
Return values
stringcalculer_cle_action()
Calculer une signature valable pour une action et pour le site
calculer_cle_action(string $action) : string
Parameters
- $action : string
Tags
Return values
stringverifier_cle_action()
Verifier la cle de signature d'une action valable pour le site
verifier_cle_action(string $action, string $cle) : bool
Parameters
- $action : string
- $cle : string
Return values
boolcalculer_token_previsu()
Calculer le token de prévisu
calculer_token_previsu(string $url[, int|null $id_auteur = null ][, string $alea = 'alea_ephemere' ]) : string
Il permettra de transmettre une URL publique d’un élément non encore publié, pour qu’une personne tierce le relise. Valable quelques temps.
Parameters
- $url : string
-
Url à autoriser en prévisu
- $id_auteur : int|null = null
-
qui génère le token de prévisu. Null utilisera auteur courant.
- $alea : string = 'alea_ephemere'
-
Nom de l’alea à utiliser
Tags
Return values
string —Token, de la forme "{id}*{hash}"
verifier_token_previsu()
Vérifie un token de prévisu
verifier_token_previsu(string $token) : false|array<string|int, mixed>
Découpe le token pour avoir l’id_auteur, Retrouve à partir de l’url un objet/id_objet en cours de parcours Recrée un token pour l’auteur et l’objet trouvé et le compare au token.
Parameters
- $token : string
-
Token, de la forme '{id}*{hash}'
Tags
Return values
false|array<string|int, mixed> —False
si echec,
- Tableau (id auteur, type d’objet, id_objet) sinon.
decrire_token_previsu()
Décrire un token de prévisu en session
decrire_token_previsu() : bool|array<string|int, mixed>
Tags
Return values
bool|array<string|int, mixed>inc_selectionner_dist()
Affiche un mini-navigateur ajax positionné sur une rubrique
inc_selectionner_dist(int $sel[, string $idom = '' ][, int $exclus = 0 ][, bool $aff_racine = false ][, bool $recur = true ][, string $do = 'aff' ]) : string
Parameters
- $sel : int
-
Identifiant de la rubrique
- $idom : string = ''
-
Identifiant dans le dom de l'élément
- $exclus : int = 0
- $aff_racine : bool = false
- $recur : bool = true
- $do : string = 'aff'
-
Type d'action
Tags
Return values
string —Code HTML
construire_selectionner_hierarchie()
Construit le sélectionneur de hierarchie
construire_selectionner_hierarchie(string $idom, string $liste, int $racine, string $url, string $name[, string $url_init = '' ]) : string
Parameters
- $idom : string
-
Identifiant dans le dom de l'élément
- $liste : string
- $racine : int
- $url : string
- $name : string
- $url_init : string = ''
Tags
Return values
string —Code HTML
mini_hier()
Récupère les identifiants de hierarchie d'une rubrique
mini_hier(int $id_rubrique) : array<string|int, mixed>
Parameters
- $id_rubrique : int
Tags
Return values
array<string|int, mixed> —Liste de tous les id_parent de la rubrique
inc_session_dist()
3 actions sur les sessions, selon le type de l'argument:
inc_session_dist([int|array<string|int, mixed>|bool $auteur = false ]) : bool|null|void
- numerique: efface toutes les sessions de l'auteur (retour quelconque)
- tableau: cree une session pour l'auteur decrit et retourne l'identifiant
- bool: predicat de validite de la session indiquee par le cookie
Parameters
- $auteur : int|array<string|int, mixed>|bool = false
Tags
Return values
bool|null|voidsupprimer_sessions()
Supprimer toutes les vieilles sessions d'un auteur
supprimer_sessions(int $id_auteur[, bool $toutes = true ][, bool $actives = true ]) : mixed
Cette fonction efface toutes les sessions appartenant a l'auteur On en profite pour effacer toutes les sessions creees il y a plus de 4*RENOUVELLE_ALEA Tenir compte de l'ancien format ou les noms commencaient par "session" et du meme coup des repertoires plats
Attention : id_auteur peut etre negatif (cas des auteurs temporaires pendant le dump)
Parameters
- $id_auteur : int
-
Identifiant d'auteur dont on veut supprimer les sessions
- $toutes : bool = true
-
Supprimer aussi les vieilles sessions des autres auteurs ?
- $actives : bool = true
-
false pour ne pas supprimer les sessions valides de $id_auteur. false revient donc a uniquement supprimer les vieilles sessions !
Tags
ajouter_session()
Ajoute une session pour l'auteur décrit par un tableau issu d'un SELECT-SQL
ajouter_session(array<string|int, mixed> $auteur) : bool|string
Parameters
- $auteur : array<string|int, mixed>
-
Description de la session de l'auteur. Peut contenir (par exemple) les clés : id_auteur, nom, login, email, statut, lang, ...
Tags
Return values
bool|stringdefinir_duree_cookie_session()
Calcule le temps de validité en seconde du cookie de session
definir_duree_cookie_session(array<string|int, mixed> $auteur) : int
Applique un coefficient multiplicateur à la durée de renouvellement de l'alea
(noté ensuite dR
, valant 12h par défaut) pour déterminer la durée du cookie.
2 * dR
, par défaut20 * dR
si le visiteur a indiqué vouloir rester connecté quelques jours sur le formulaire de login (la clécookie
vaut alorsoui
)c * dR
, un coeficient défini manuellement si la clécookie
est numérique
Parameters
- $auteur : array<string|int, mixed>
-
Description de l'auteur
Return values
int —Durée en secondes
lire_cookie_session()
Lire le cookie de session et le valider de façon centralisée
lire_cookie_session([bool $accepter_test = false ]) : string|null
Parameters
- $accepter_test : bool = false
Return values
string|nulleffacer_cookie_session()
Annuler le cookie de session
effacer_cookie_session() : void
set_cookie_session()
Prolonger / Changer la valeur du cookie de session
set_cookie_session([string|null $valeur_cookie = null ][, int $expires = 0 ]) : string|null
Parameters
- $valeur_cookie : string|null = null
-
nouveau cookie (string), prolonger le cookie existant (null)
- $expires : int = 0
-
timestamp d'expiration
Return values
string|nullverifier_session()
Vérifie si le cookie spip_session indique une session valide
verifier_session([bool $change = false ]) : bool|int|null
Si oui, la decrit dans le tableau $visiteur_session et retourne id_auteur La rejoue si IP change puis accepte le changement si $change=true
Retourne false en cas d'echec, l'id_auteur de la session si defini, null sinon
Parameters
- $change : bool = false
Tags
Return values
bool|int|nullsession_get()
Lire une valeur dans la session SPIP
session_get(string $nom) : mixed|null
Parameters
- $nom : string
-
Clé dont on souhaite la valeur
Tags
Return values
mixed|null —Valeur, si trouvée, null
sinon.
session_set()
Ajouter une donnée dans la session SPIP
session_set(string $nom[, mixed $val = null ]) : void|array<string|int, mixed>
Parameters
- $nom : string
- $val : mixed = null
Tags
Return values
void|array<string|int, mixed>terminer_actualiser_sessions()
En fin de hit, synchroniser toutes les sessions
terminer_actualiser_sessions() : mixed
Tags
actualiser_sessions()
Mettre à jour les sessions existantes pour un auteur
actualiser_sessions(array<string|int, mixed> $auteur[, array<string|int, mixed> $supprimer_cles = [] ]) : mixed
Quand on modifie une fiche auteur on appelle cette fonction qui va mettre à jour les fichiers de session de l'auteur en question. (auteurs identifiés seulement)
Ne concerne que les sessions des auteurs loges (id_auteur connu)
Parameters
- $auteur : array<string|int, mixed>
- $supprimer_cles : array<string|int, mixed> = []
-
Liste des clés à supprimer des tableaux de sessions
Tags
lister_sessions_auteur()
lister les sessions et en verifier le nombre maxi en supprimant les plus anciennes si besoin https://core.spip.net/issues/3807
lister_sessions_auteur(int $id_auteur[, int $nb_max = null ]) : array<string|int, mixed>
Parameters
- $id_auteur : int
- $nb_max : int = null
Return values
array<string|int, mixed>preparer_ecriture_session()
Préparer le tableau de session avant écriture
preparer_ecriture_session(array<string|int, mixed> $auteur) : array<string|int, mixed>
Nettoyage de quelques variables sensibles, et appel d'un pipeline
Parameters
- $auteur : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>ecrire_fichier_session()
Ecrire le fichier d'une session
ecrire_fichier_session(string $fichier, array<string|int, mixed> $auteur) : bool
Parameters
- $fichier : string
- $auteur : array<string|int, mixed>
Tags
Return values
boolchemin_fichier_session()
Calculer le chemin vers le fichier de session
chemin_fichier_session(string $alea, string $cookie_session[, bool $tantpis = false ]) : string
Parameters
- $alea : string
- $cookie_session : string
- $tantpis : bool = false
Tags
Return values
stringfichier_session()
Calculer le nom du fichier session
Use chemin_fichier_session()
with lire_cookie_session()
as 2nd parameter
fichier_session(string $alea[, bool $tantpis = false ]) : string
Parameters
- $alea : string
- $tantpis : bool = false
Return values
stringrejouer_session()
Code à insérer par `inc/presentation` pour rejouer la session
rejouer_session() : string
Tags
Return values
stringhash_env()
On verifie l'IP et le nom du navigateur
hash_env() : string
Tags
Return values
stringspip_php_session_start()
Démarre une session PHP si ce n'est pas déjà fait.
spip_php_session_start() : bool
Tags
Return values
bool —True si une session PHP est ouverte.
is_php_session_started()
Indique si une sesssion PHP est active
is_php_session_started() : bool
Tags
Return values
bool —true si une session PHP est active
inc_simplexml_to_array_dist()
Transforme un texte XML en tableau PHP
inc_simplexml_to_array_dist(string|object $u[, bool $utiliser_namespace = false ]) : array<string|int, mixed>
Parameters
- $u : string|object
- $utiliser_namespace : bool = false
Return values
array<string|int, mixed>xmlObjToArr()
Transforme un objet SimpleXML en tableau PHP http://www.php.net/manual/pt_BR/book.simplexml.php#108688 xaviered at gmail dot com 17-May-2012 07:00
xmlObjToArr(object $obj[, bool $utiliser_namespace = false ]) : array<string|int, mixed>
Parameters
- $obj : object
- $utiliser_namespace : bool = false
Return values
array<string|int, mixed>svg_charger()
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_charger(string $fichier[, null|int $maxlen = null ]) : false|string
Parameters
- $fichier : string
- $maxlen : null|int = null
-
pour limiter la taille chargee en memoire si on lit depuis le disque et qu'on a besoin que du debut du fichier
Return values
false|string —false si on a pas pu charger l'image
svg_lire_balise_svg()
Lire la balise <svg...> qui demarre le fichier et la parser pour renvoyer un tableau de ses attributs
svg_lire_balise_svg(string $fichier) : array<string|int, mixed>|bool
Parameters
- $fichier : string
Return values
array<string|int, mixed>|boolsvg_lire_attributs()
Attributs de la balise SVG
svg_lire_attributs(string $img) : array<string|int, mixed>|bool
Parameters
- $img : string
Return values
array<string|int, mixed>|boolsvg_nettoyer()
Nettoyer le code d'une balise <svg> pour en retirer le marqueur utf8-bom, l'entête xml et les commentaires
svg_nettoyer(mixed $svg) : string
Parameters
- $svg : mixed
Return values
stringsvg_dimension_to_pixels()
Convertir l'attribut widht/height d'un SVG en pixels (approximatif eventuellement, du moment qu'on respecte le ratio)
svg_dimension_to_pixels(string $dimension[, mixed $precision = 2 ]) : bool|float|int
Parameters
- $dimension : string
- $precision : mixed = 2
Return values
bool|float|intsvg_change_balise_svg()
Modifier la balise SVG en entete du source
svg_change_balise_svg(string $svg, string $old_balise_svg, array<string|int, mixed> $attributs) : string
Parameters
- $svg : string
- $old_balise_svg : string
- $attributs : array<string|int, mixed>
Return values
stringsvg_insert_shapes()
svg_insert_shapes(string $svg, string $shapes[, bool|string $start = true ]) : string
Parameters
- $svg : string
- $shapes : string
- $start : bool|string = true
-
inserer au debut (true) ou a la fin (false)
Return values
stringsvg_clip_in_box()
Clipper le SVG dans une box
svg_clip_in_box(string $svg, int $x, int $y, int $width, int $height) : string
Parameters
- $svg : string
- $x : int
- $y : int
- $width : int
- $height : int
Return values
stringsvg_redimensionner()
Redimensionner le SVG via le width/height de la balise
svg_redimensionner(string $img, string $new_width, string $new_height) : bool|string
Parameters
- $img : string
- $new_width : string
- $new_height : string
Return values
bool|stringsvg_couleur_to_hexa()
Transformer une couleur extraite du SVG en hexa
svg_couleur_to_hexa(string $couleur) : string
Parameters
- $couleur : string
Return values
stringsvg_couleur_to_rgb()
Transformer une couleur extraite du SVG en rgb
svg_couleur_to_rgb(string $couleur) : array<string|int, mixed>
Parameters
- $couleur : string
Return values
array<string|int, mixed>svg_getimagesize_from_attr()
Calculer les dimensions width/heigt/viewBox du SVG d'apres les attributs de la balise <svg>
svg_getimagesize_from_attr(array<string|int, mixed> $attributs) : array<string|int, mixed>
Parameters
- $attributs : array<string|int, mixed>
Return values
array<string|int, mixed>svg_force_viewBox_px()
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_force_viewBox_px(string $img[, bool $force_width_and_height = false ]) : string
Les manipulations d'image par les filtres images se font en px, on a donc besoin d'une viewBox en px Certains svg produits avec des unites exotiques subiront donc peut etre des deformations...
Parameters
- $img : string
- $force_width_and_height : bool = false
Return values
stringsvg_extract_couleurs()
Extract all colors in SVG
svg_extract_couleurs(string $img) : array<string|int, mixed>|mixed
Parameters
- $img : string
Return values
array<string|int, mixed>|mixedsvg_recadrer()
Redimensionner le SVG via le width/height de la balise
svg_recadrer(string $img, string $new_width, string $new_height, mixed $offset_width, mixed $offset_height[, mixed $background_color = '' ]) : string
Parameters
- $img : string
- $new_width : string
- $new_height : string
- $offset_width : mixed
- $offset_height : mixed
- $background_color : mixed = ''
Return values
stringsvg_ajouter_background()
Ajouter un background au SVG : un rect pleine taille avec la bonne couleur
svg_ajouter_background(string $img, string $background_color) : string
Parameters
- $img : string
- $background_color : string
Return values
stringsvg_ajouter_voile()
Ajouter un voile au SVG : un rect pleine taille avec la bonne couleur/opacite, en premier plan
svg_ajouter_voile(string $img, string $background_color, mixed $opacity) : bool|string
Parameters
- $img : string
- $background_color : string
- $opacity : mixed
Return values
bool|stringsvg_transformer()
Ajouter un background au SVG : un rect pleine taille avec la bonne couleur
svg_transformer(string $img, array<string|int, mixed> $attributs) : string
Parameters
- $img : string
- $attributs : array<string|int, mixed>
Return values
stringsvg_apply_filter()
Ajouter + appliquer un filtre a un svg
svg_apply_filter(string $img, string $filter_def) : bool|string
Parameters
- $img : string
- $filter_def : string
-
definition du filtre (contenu de
...
Return values
bool|stringsvg_filter_blur()
Filtre blur en utilisant <filter>
svg_filter_blur(string $img, int $blur_width) : string
Parameters
- $img : string
- $blur_width : int
Return values
stringsvg_filter_grayscale()
Filtre grayscale en utilisant <filter>
svg_filter_grayscale(string $img, float $intensity) : bool|string
Parameters
- $img : string
- $intensity : float
Return values
bool|stringsvg_filter_sepia()
Filtre sepia en utilisant <filter>
svg_filter_sepia(string $img, float $intensity) : bool|string
FIXME: $intensity unused ?
Parameters
- $img : string
- $intensity : float
Return values
bool|stringsvg_flip()
Ajouter un background au SVG : un rect pleine taille avec la bonne couleur
svg_flip(string $img, mixed $HorV) : string
Parameters
- $img : string
- $HorV : mixed
Return values
stringsvg_rotate()
svg_rotate(string $img, int $angle, float $center_x, float $center_y) : string
Parameters
- $img : string
- $angle : int
-
angle en degres
- $center_x : float
-
centre X de la rotation entre 0 et 1, relatif a la pleine largeur (0=bord gauche, 1=bord droit)
- $center_y : float
-
centre Y de la rotation entre 0 et 1, relatif a la pleine hauteur (0=bord top, 1=bord bottom)
Return values
stringsvg_filtrer_couleurs()
Filtrer les couleurs d'un SVG avec une callback (peut etre lent si beaucoup de couleurs)
svg_filtrer_couleurs(string $img, string $callback_filter) : bool|mixed|string
Parameters
- $img : string
- $callback_filter : string
Return values
bool|mixed|stringdefinir_raccourcis_alineas()
Raccourcis dépendant du sens de la langue
definir_raccourcis_alineas() : array<string|int, mixed>
Return values
array<string|int, mixed> —Tablea ('','')
traiter_tableau()
Traitement des raccourcis de tableaux
traiter_tableau(string $bloc) : string
Ne fait rien ici. Voir plugin Textwheel.
Parameters
- $bloc : string
Return values
stringtraiter_listes()
Traitement des listes
traiter_listes(string $texte) : string
Ne fais rien. Voir Plugin Textwheel. (merci a Michael Parienti)
Parameters
- $texte : string
Return values
stringtraiter_raccourcis()
Nettoie un texte, traite les raccourcis autre qu'URL, la typo, etc.
traiter_raccourcis(string $letexte) : string
Ne fais rien ici. Voir plugin Textwheel.
Parameters
- $letexte : string
Tags
Return values
stringechappe_js()
Échapper et affichier joliement les `<script` et `<iframe`.
echappe_js(string $t[, string $class = ' class = "echappe-js"' ]) : string
..
Parameters
- $t : string
- $class : string = ' class = "echappe-js"'
-
Attributs HTML du conteneur à ajouter
Return values
stringinterdire_scripts()
Empêcher l'exécution de code PHP et JS
interdire_scripts(string $arg[, int $mode_filtre = null ]) : string
Sécurité : empêcher l'exécution de code PHP, en le transformant en joli code dans l'espace privé. Cette fonction est aussi appelée par propre et typo.
De la même manière, la fonction empêche l'exécution de JS mais selon le mode de protection passe en argument
Il ne faut pas désactiver globalement la fonction dans l'espace privé car elle protège aussi les balises des squelettes qui ne passent pas forcement par propre ou typo après si elles sont appelées en direct
Parameters
- $arg : string
-
Code à protéger
- $mode_filtre : int = null
-
Mode de protection -1 : protection dans l'espace privé et public 0 : protection dans l'espace public 1 : aucune protection utilise la valeur de la globale filtrer_javascript si non fourni
Tags
Return values
string —Code protégé
typo()
Applique la typographie générale
typo(string $letexte[, bool|string $echapper = true ][, string|null $connect = null ][, array<string|int, mixed> $env = [] ]) : string
Effectue un traitement pour que les textes affichés suivent les règles
de typographie. Fait une protection préalable des balises HTML et SPIP.
Transforme les balises <multi>
Parameters
- $letexte : string
-
texte d'origine
- $echapper : bool|string = true
-
Échapper ?
- $connect : string|null = null
-
Nom du connecteur à la bdd
- $env : array<string|int, mixed> = []
-
Environnement (pour les calculs de modèles)
Tags
Return values
string —texte transformé
corriger_typo()
Corrige la typographie
corriger_typo(string $letexte[, string $lang = '' ]) : string
Applique les corrections typographiques adaptées à la langue indiquée.
Parameters
- $letexte : string
-
texte
- $lang : string = ''
-
Langue
Tags
Return values
string —texte
paragrapher()
Paragrapher seulement
paragrapher(string $letexte[, bool $forcer = true ]) : string
/!\ appelée dans inc/filtres et public/composer
Ne fait rien ici. Voir plugin Textwheel
Parameters
- $letexte : string
- $forcer : bool = true
Return values
stringtraiter_retours_chariots()
Harmonise les retours chariots et mange les paragraphes HTML
traiter_retours_chariots(string $letexte) : string
Ne sert plus
Parameters
- $letexte : string
-
texte
Return values
string —texte
propre()
Transforme les raccourcis SPIP, liens et modèles d'un texte en code HTML
propre(string $t[, string|null $connect = null ][, array<string|int, mixed> $env = [] ]) : string
Filtre à appliquer aux champs du type #TEXTE*
Parameters
- $t : string
-
texte avec des raccourcis SPIP
- $connect : string|null = null
-
Nom du connecteur à la bdd
- $env : array<string|int, mixed> = []
-
Environnement (pour les calculs de modèles)
Tags
Return values
string —texte transformé
definir_puce()
Retourne une image d'une puce
definir_puce() : string
Le nom de l'image est déterminé par la globale 'puce' ou 'puce_prive' ou les mêmes suffixées de '_rtl' pour ce type de langues.
Tags
Return values
string —Code HTML de la puce
spip_balisage_code()
Preparer le markup html pour les extraits de code en ligne ou en bloc
spip_balisage_code(string $corps[, bool $bloc = false ][, string $attributs = '' ][, string $langage = '' ]) : string
Parameters
- $corps : string
- $bloc : bool = false
- $attributs : string = ''
- $langage : string = ''
Return values
stringcode_echappement()
Echapper les elements perilleux en les passant en base64
code_echappement(string $rempl[, string $source = '' ][, bool $no_transform = false ][, string|null $mode = null ]) : string
Creer un bloc base64 correspondant a $rempl ; au besoin en marquant une $source differente ; le script detecte automagiquement si ce qu'on echappe est un div ou un span
Parameters
- $rempl : string
- $source : string = ''
- $no_transform : bool = false
- $mode : string|null = null
Tags
Return values
stringtraiter_echap_html_dist()
traiter_echap_html_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
- $regs : mixed
- $options : mixed = []
traiter_echap_pre_dist()
traiter_echap_pre_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
- $regs : mixed
- $options : mixed = []
traiter_echap_code_dist()
traiter_echap_code_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
- $regs : mixed
- $options : mixed = []
traiter_echap_cadre_dist()
traiter_echap_cadre_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
- $regs : mixed
- $options : mixed = []
traiter_echap_frame_dist()
traiter_echap_frame_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
- $regs : mixed
- $options : mixed = []
traiter_echap_script_dist()
traiter_echap_script_dist(mixed $regs[, mixed $options = [] ]) : mixed
Parameters
- $regs : mixed
- $options : mixed = []
echappe_html()
pour $source voir commentaire infra (echappe_retour)
echappe_html(string $letexte[, string $source = '' ][, bool $no_transform = false ][, array<string|int, mixed>|null $html_tags = null ][, string $callback_prefix = '' ][, array<string|int, mixed> $callback_options = [] ]) : string|array<string|int, string>
Parameters
- $letexte : string
- $source : string = ''
- $no_transform : bool = false
-
déprécié, cet argument ne doit plus être utilisé, utiliser directement Spip\Texte\Collecteur\HtmlTag::proteger_balisesHtml dans ce cas
- $html_tags : array<string|int, mixed>|null = null
-
le passage d'une preg au format string est déprécié
- $callback_prefix : string = ''
- $callback_options : array<string|int, mixed> = []
Tags
Return values
string|array<string|int, string>retablir_echappements_modeles()
Réinserer les échappements des modèles
retablir_echappements_modeles(mixed $texte) : mixed
Parameters
- $texte : mixed
echappe_retour()
Traitement final des echappements Rq: $source sert a faire des echappements "a soi" qui ne sont pas nettoyes par propre() : exemple dans multi et dans typo()
echappe_retour(string $letexte[, string $source = '' ][, string $filtre = '' ]) : array<string|int, mixed>|mixed|string|array<string|int, string>
Parameters
- $letexte : string
- $source : string = ''
- $filtre : string = ''
Tags
Return values
array<string|int, mixed>|mixed|string|array<string|int, string>echappe_retour_modeles()
echappe_retour_modeles(mixed $letexte[, mixed $interdire_scripts = false ]) : mixed
Parameters
- $letexte : mixed
- $interdire_scripts : mixed = false
Tags
couper()
Coupe un texte à une certaine longueur.
couper(string $texte[, int $taille = 50 ][, string $suite = null ]) : string
Il essaie de ne pas couper les mots et enlève le formatage du texte.
Si le texte original est plus long que l’extrait coupé, alors des points
de suite sont ajoutés à l'extrait, tel que (…)
.
Parameters
- $texte : string
-
texte à couper
- $taille : int = 50
-
Taille de la coupe
- $suite : string = null
-
Points de suite ajoutés.
Tags
Return values
string —texte coupé
protege_js_modeles()
protege_js_modeles(mixed $texte) : mixed
Parameters
- $texte : mixed
echapper_faux_tags()
echapper_faux_tags(mixed $letexte) : mixed
Parameters
- $letexte : mixed
Tags
echapper_html_suspect()
Si le html contenu dans un texte ne passe pas sans transformation a travers safehtml on l'echappe si safehtml ne renvoie pas la meme chose on echappe les < en < pour montrer le contenu brut
echapper_html_suspect(string $texte[, array<string|int, mixed> $options = [] ][, string $connect = null ][, array<string|int, mixed> $env = [] ]) : string
Parameters
- $texte : string
- $options : array<string|int, mixed> = []
-
bool strict : etre strict ou non sur la detection string wrap_suspect : si le html est suspect, on wrap l'affichage avec la balise indiquee dans cette option via la fonction wrap() string texte_source_affiche : si le html est suspect, on utilise ce texte pour l'affichage final et pas le texte utilise pour la detection
- $connect : string = null
- $env : array<string|int, mixed> = []
Tags
Return values
stringsafehtml()
Sécurise un texte HTML
safehtml(string $t) : string
Échappe le code PHP et JS. Applique en plus safehtml si un plugin le définit dans inc/safehtml.php
Permet de protéger les textes issus d'une origine douteuse (forums, syndications...)
Parameters
- $t : string
-
texte à sécuriser
Tags
Return values
string —texte sécurisé
is_html_safe()
Detecter si un texte est "safe" ie non modifie significativement par safehtml()
is_html_safe(string $texte) : bool
Parameters
- $texte : string
Return values
boolsupprime_img()
Supprime les modèles d'image d'un texte
supprime_img(string $letexte[, string|null $message = null ]) : string
Fonction en cas de texte extrait d'un serveur distant:
on ne sait pas (encore) rapatrier les documents joints
Sert aussi à nettoyer un texte qu'on veut mettre dans un <a>
etc.
Parameters
- $letexte : string
-
texte à nettoyer
- $message : string|null = null
-
Message de remplacement pour chaque image enlevée
Tags
Return values
string —texte sans les modèles d'image
find_langs_in_path()
Rechercher tous les lang/file dans le path qui seront ensuite chargés dans l'ordre du path
find_langs_in_path(string $file[, string $dirname = 'lang' ]) : array<string|int, mixed>
Version dédiée et optimisée pour cet usage de find_in_path
Parameters
- $file : string
-
Nom du fichier cherché, tel que
mots_fr.php
- $dirname : string = 'lang'
-
Nom du répertoire de recherche
Tags
Return values
array<string|int, mixed> —Liste des fichiers de langue trouvés, dans l'ordre des chemins
chercher_module_lang()
Recherche le ou les fichiers de langue d'un module de langue
chercher_module_lang(string $module[, string $lang = '' ]) : array<string|int, mixed>
Parameters
- $module : string
-
Nom du module de langue, tel que
mots
ouecrire
- $lang : string = ''
-
Langue dont on veut obtenir les traductions. Paramètre optionnel uniquement si le module est
local
Return values
array<string|int, mixed> —Liste des fichiers touvés pour ce module et cette langue.
charger_langue()
Charge en mémoire les couples cle/traduction d'un module de langue et une langue donnée
charger_langue(string $lang[, string $module = 'spip' ]) : mixed
Interprête un fichier de langue pour le module et la langue désignée
s'il existe, et sinon se rabat soit sur la langue principale du site
(définie par la meta langue_site
), soit sur le français.
Définit la globale idx_lang
qui sert à la lecture du fichier de langue
(include) et aux surcharges via surcharger_langue()
Parameters
- $lang : string
-
Code de langue
- $module : string = 'spip'
-
Nom du module de langue
Tags
lire_fichier_langue()
Retourne les entrées d’un fichier de langue
lire_fichier_langue(string $fichier) : string
Les fichiers de langue retournent un array [ cle => valeur ].
Parameters
- $fichier : string
Return values
string —Chemin du fichier de langue (un fichier PHP)
surcharger_langue()
Surcharger le fichier de langue courant avec un ou plusieurs autres
surcharger_langue(array<string|int, mixed> $fichiers) : mixed
Charge chaque fichier de langue dont les chemins sont transmis et surcharge les infos de cette langue/module déjà connues par les nouvelles données chargées. Seule les clés nouvelles ou modifiées par la surcharge sont impactées (les clés non présentes dans la surcharge ne sont pas supprimées !).
La fonction suppose la présence de la globale idx_lang
indiquant
la destination des couples de traduction, de la forme
i18n_{$module}_{$lang}
Parameters
- $fichiers : array<string|int, mixed>
-
Liste des chemins de fichiers de langue à surcharger.
Tags
inc_traduire_dist()
Traduire une chaine internationalisée
inc_traduire_dist(string $ori, string $lang[, bool $raw = false ]) : string|Description
Lorsque la langue demandée n'a pas de traduction pour la clé de langue
transmise, la fonction cherche alors la traduction dans la langue
principale du site (défini par la meta langue_site
), puis, à défaut
dans la langue française.
Les traductions sont cherchées dans les modules de langue indiqués.
Par exemple le module mots
dans la clé mots:titre_mot
, pour une
traduction es
(espagnol) provoquera une recherche dans tous les fichiers
lang\mots_es.php
.
Des surcharges locales peuvent être présentes également
dans les fichiers lang/local_es.php
ou lang/local.php
Parameters
- $ori : string
-
Clé de traduction, tel que
bouton_enregistrer
oumots:titre_mot
- $lang : string
-
Code de langue, la traduction doit se faire si possible dans cette langue
- $raw : bool = false
-
- false : retourne le texte (par défaut)
- true : retourne une description de la chaine de langue (module, texte, langue)
Tags
Return values
string|Description —- string : Traduction demandée. Chaîne vide si aucune traduction trouvée.
- Description : traduction et description (texte, module, langue)
definir_details_traduction()
Modifie le texte de traduction pour indiquer des éléments servant au debug de celles-ci. (pour var_mode=traduction)
definir_details_traduction(Description $desc, string $modules) : Description
Parameters
- $desc : Description
- $modules : string
-
Les modules qui étaient demandés
Return values
Descriptionurls_decoder_url()
Décoder une URL en utilisant les fonctions inverses
urls_decoder_url(string $url[, string $fond = '' ][, array<string|int, mixed> $contexte = [] ][, bool $assembler = false ]) : array<string|int, mixed>
Gère les URLs transformées par le htaccess.
Parameters
- $url : string
-
URL à décoder
- $fond : string = ''
-
Fond initial par défaut
- $contexte : array<string|int, mixed> = []
-
contexte initial à prendre en compte
- $assembler : bool = false
-
true
si l'URL correspond à l'URL principale de la page qu'on est en train d'assembler dans ce cas la fonction redirigera automatiquement si besoin et utilisera les eventuelles globales$_SERVER['REDIRECT_url_propre']
et$_ENV['url_propre']
provenant du htaccess
Tags
Return values
array<string|int, mixed> —Liste $fond, $contexte, $url_redirect
.
Si l'url n'est pas valide, $fond restera à la valeur initiale passée. Il suffit d'appeler la fonction sans $fond et de vérifier qu'à son retour celui-ci est non vide pour vérifier une URL
urls_transition_retrouver_anciennes_url_propres()
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_propres(string $url_propre, string $entite[, array<string|int, mixed> $contexte = [] ]) : array<string|int, mixed>
Parameters
- $url_propre : string
- $entite : string
- $contexte : array<string|int, mixed> = []
Return values
array<string|int, mixed>urls_transition_retrouver_anciennes_url_html()
Le bloc qui suit sert a faciliter les transitions depuis le mode 'urls-html/standard' vers les modes 'urls propres|arbos'
urls_transition_retrouver_anciennes_url_html(string $url, string $entite[, array<string|int, mixed> $contexte = [] ]) : array<string|int, mixed>
Parameters
- $url : string
- $entite : string
- $contexte : array<string|int, mixed> = []
Return values
array<string|int, mixed>urls_liste_objets()
Lister les objets pris en compte dans les URLs c'est à dire suceptibles d'avoir une URL propre
urls_liste_objets([bool $preg = true ]) : string|array<string|int, mixed>
Parameters
- $preg : bool = true
-
Permet de définir si la fonction retourne une chaine avec
|
comme séparateur pour utiliser en preg, ou un array()
Return values
string|array<string|int, mixed>nettoyer_url_page()
Nettoyer une URL, en repérant notamment les raccourcis d'objets
nettoyer_url_page(string $url[, array<string|int, mixed> $contexte = [] ]) : array<string|int, mixed>
Repère les entités comme ?article13
, ?rubrique21
...
les traduisant pour compléter le contexte fourni en entrée
Parameters
- $url : string
- $contexte : array<string|int, mixed> = []
Return values
array<string|int, mixed>generer_objet_url_ecrire()
Générer l'URL d'un objet dans l'espace privé
generer_objet_url_ecrire(int|string|null $id, string $objet[, string $args = '' ][, string $ancre = '' ][, bool|null $public = null ][, string $connect = '' ]) : string
L'URL est calculée en fonction de son état publié ou non, calculé à partir de la déclaration de statut.
Parameters
- $id : int|string|null
-
Identifiant de l'objet
- $objet : string
-
Type d'objet
- $args : string = ''
- $ancre : string = ''
- $public : bool|null = null
- $connect : string = ''
Return values
stringspip_xml_load()
Lit un fichier xml donné et renvoie son arbre.
spip_xml_load(string $fichier[, bool $strict = true ][, bool $clean = true ][, int $taille_max = 1048576 ][, string|array<string|int, mixed> $datas = '' ][, int $profondeur = -1 ]) : array<string|int, mixed>|bool
Parameters
- $fichier : string
-
Chemin local ou URL distante du fichier XML
- $strict : bool = true
-
true pour râler si une balise n'est pas correctement fermée, false sinon.
- $clean : bool = true
-
?
- $taille_max : int = 1048576
-
Taille maximale si fichier distant
- $datas : string|array<string|int, mixed> = ''
-
Données à envoyer pour récupérer le fichier distant
- $profondeur : int = -1
-
?
Tags
Return values
array<string|int, mixed>|bool —- array : l'arbre XML,
- false si l'arbre xml ne peut être créé ou est vide
spip_xml_parse()
Parse une chaine XML donnée et retourne un tableau.
spip_xml_parse(string &$texte[, bool $strict = true ][, bool $clean = true ][, int $profondeur = -1 ]) : array<string|int, mixed>|bool
Parameters
- $texte : string
-
texte XML
- $strict : bool = true
-
true pour râler si une balise n'est pas correctement fermée, false sinon.
- $clean : bool = true
-
?
- $profondeur : int = -1
-
?
Tags
Return values
array<string|int, mixed>|bool —- array : l'arbre XML,
- false si l'arbre xml ne peut être créé ou est vide
spip_xml_aplatit()
spip_xml_aplatit(mixed $arbre[, mixed $separateur = ' ' ]) : mixed
Parameters
- $arbre : mixed
- $separateur : mixed = ' '
spip_xml_tagname()
spip_xml_tagname(mixed $tag) : mixed
Parameters
- $tag : mixed
spip_xml_decompose_tag()
spip_xml_decompose_tag(mixed $tag) : mixed
Parameters
- $tag : mixed
spip_xml_match_nodes()
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.
spip_xml_match_nodes(string $regexp, array<string|int, mixed> &$arbre, array<string|int, mixed> &$matches[, bool $init = true ]) : bool
Les branches qui valident la regexp sont retournées dans le tableau $matches
.
Parameters
- $regexp : string
-
Expression régulière
- $arbre : array<string|int, mixed>
-
Arbre XML
- $matches : array<string|int, mixed>
-
Branches de l'arbre validant la rexgep
- $init : bool = true
-
?
Tags
Return values
bool —false si aucun élément ne valide l'expression régulière, true sinon.
install_etape__dist()
Affiche l'étape 0 d'installation : écran d'accueil.
install_etape__dist() : mixed
Tags
install_etape_1_dist()
Affichage de l'étape 1 d'installation : tests des répertoires et hébergement ; demande d'identifiants de connexion à la BDD
install_etape_1_dist() : mixed
Teste que l'hébergement est compatible, que les répertoires qui doivent être accessibles en écriture le sont effectivement, auquel cas demande les identifiants de connexion à une base de données
Tags
install_etape_2_dist()
install_etape_2_dist() : mixed
install_etape_2_bases()
install_etape_2_bases(mixed $login_db, mixed $server_db) : mixed
Parameters
- $login_db : mixed
- $server_db : mixed
install_etape_2_form()
install_etape_2_form(mixed $hidden, mixed $checked, mixed $res, mixed $etape) : mixed
Parameters
- $hidden : mixed
- $checked : mixed
- $res : mixed
- $etape : mixed
install_bases()
install_bases(mixed $adresse_db, mixed $login_db, mixed $pass_db, mixed $server_db, mixed $choix_db, mixed $sel_db, mixed $chmod_db) : mixed
Parameters
- $adresse_db : mixed
- $login_db : mixed
- $pass_db : mixed
- $server_db : mixed
- $choix_db : mixed
- $sel_db : mixed
- $chmod_db : mixed
preparer_prefixe_tables()
Préparer le préfixe des tables
preparer_prefixe_tables(string $prefixe) : string
Contrairement a ce qui est dit dans le message (trop strict mais c'est pour notre bien), on tolère les chiffres en plus des minuscules. On corrige aussi le préfixe afin qu'il ne commence pas par un chiffre cf https://core.spip.net/issues/3626
Parameters
- $prefixe : string
-
Le préfixe demandé
Return values
string —Le préfixe corrigé
install_propose_ldap()
install_propose_ldap() : mixed
install_premier_auteur()
install_premier_auteur(mixed $email, mixed $login, mixed $nom, mixed $pass, mixed $hidden, mixed $auteur_obligatoire) : mixed
Parameters
- $email : mixed
- $login : mixed
- $nom : mixed
- $pass : mixed
- $hidden : mixed
- $auteur_obligatoire : mixed
install_etape_3_dist()
install_etape_3_dist() : mixed
install_etape_3b_dist()
install_etape_3b_dist() : mixed
echouer_etape_3b()
echouer_etape_3b(mixed $echec) : never
Parameters
- $echec : mixed
Return values
neverinstall_etape_4_dist()
install_etape_4_dist() : mixed
test_ecrire()
test_ecrire(mixed $my_dir) : mixed
Parameters
- $my_dir : mixed
install_etape_chmod_dist()
install_etape_chmod_dist() : mixed
install_etape_fin_dist()
install_etape_fin_dist() : mixed
install_verifier_htaccess()
install_verifier_htaccess() : mixed
install_etape_ldap1_dist()
install_etape_ldap1_dist() : mixed
install_etape_ldap2_dist()
install_etape_ldap2_dist() : mixed
install_etape_ldap3_dist()
install_etape_ldap3_dist() : mixed
install_etape_ldap4_dist()
install_etape_ldap4_dist() : mixed
liste_statuts_ldap()
liste_statuts_ldap() : mixed
install_ldap_correspondances()
install_ldap_correspondances() : mixed
install_etape_ldap5_dist()
install_etape_ldap5_dist() : mixed
etape_ldap5_save()
etape_ldap5_save() : mixed
etape_ldap5_suite()
etape_ldap5_suite() : mixed
iterateur_CONDITION_dist()
Créer une boucle sur un itérateur CONDITION
iterateur_CONDITION_dist(Boucle $b) : Boucle
Annonce au compilateur les "champs" disponibles, c'est à dire aucun. Une boucle CONDITION n'a pas de données !
Parameters
- $b : Boucle
-
Description de la boucle
Return values
Boucle —Description de la boucle complétée des champs
iterateur_DATA_dist()
Créer une boucle sur un itérateur DATA
iterateur_DATA_dist(Boucle $b) : Boucle
Annonce au compilateur les "champs" disponibles, c'est à dire 'cle', 'valeur' et '*' (tout nom possible).
On ne peut effectivement pas connaître à la compilation la structure des données qui seront obtenues. On indique donc au compilateur que toute balise utilisée dans la boucle est possiblement un champ des données reçues.
Parameters
- $b : Boucle
-
Description de la boucle
Return values
Boucle —Description de la boucle complétée des champs
inc_file_to_array_dist()
file -> tableau
inc_file_to_array_dist(string $data) : array<string|int, mixed>
Parameters
- $data : string
Return values
array<string|int, mixed>inc_plugins_to_array_dist()
plugins -> tableau
inc_plugins_to_array_dist() : array<string|int, mixed>
Return values
array<string|int, mixed>inc_xml_to_array_dist()
xml -> tableau
inc_xml_to_array_dist(string $data) : array<string|int, mixed>
Parameters
- $data : string
Return values
array<string|int, mixed>inc_object_to_array()
object -> tableau
inc_object_to_array(object $object) : array<string|int, mixed>
Parameters
- $object : object
-
The object to convert
Return values
array<string|int, mixed>inc_sql_to_array_dist()
sql -> tableau
inc_sql_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
- $data : string
Return values
array<string|int, mixed>|boolinc_json_to_array_dist()
json -> tableau
inc_json_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
- $data : string
Return values
array<string|int, mixed>|boolinc_csv_to_array_dist()
csv -> tableau
inc_csv_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
- $data : string
Return values
array<string|int, mixed>|boolinc_rss_to_array_dist()
RSS -> tableau
inc_rss_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
- $data : string
Return values
array<string|int, mixed>|boolinc_atom_to_array_dist()
atom, alias de rss -> tableau
inc_atom_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
- $data : string
Return values
array<string|int, mixed>|boolinc_glob_to_array_dist()
glob -> tableau lister des fichiers selon un masque, pour la syntaxe cf php.net/glob
inc_glob_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
- $data : string
Return values
array<string|int, mixed>|boolinc_yaml_to_array_dist()
YAML -> tableau
inc_yaml_to_array_dist(string $data) : bool|array<string|int, mixed>
Parameters
- $data : string
Return values
bool|array<string|int, mixed>inc_pregfiles_to_array_dist()
pregfiles -> tableau lister des fichiers a partir d'un dossier de base et selon une regexp.
inc_pregfiles_to_array_dist(string $dir[, string $regexp = -1 ][, int $limit = 10000 ]) : array<string|int, mixed>|bool
pour la syntaxe cf la fonction spip preg_files
Parameters
- $dir : string
- $regexp : string = -1
- $limit : int = 10000
Return values
array<string|int, mixed>|boolinc_ls_to_array_dist()
ls -> tableau ls : lister des fichiers selon un masque glob et renvoyer aussi leurs donnees php.net/stat
inc_ls_to_array_dist(string $data) : array<string|int, mixed>|bool
Parameters
- $data : string
Return values
array<string|int, mixed>|boolXMLObjectToArray()
Object -> tableau
XMLObjectToArray(object $object) : array<string|int, mixed>|bool
Parameters
- $object : object
Return values
array<string|int, mixed>|booliterateur_php_dist()
Créer une boucle sur un itérateur PHP
iterateur_php_dist(Boucle $b, string $iteratorName) : Boucle
Annonce au compilateur les "champs" disponibles, c'est à dire 'cle', 'valeur' et toutes les méthodes de l'itérateur désigné.
Parameters
- $b : Boucle
-
Description de la boucle
- $iteratorName : string
-
Nom de l'itérateur à utiliser
Return values
Boucle —Description de la boucle complétée des champs
maj2021_supprimer_toutes_sessions_si_aucun_backup_cles()
Supprime toutes les sessions des auteurs si on a pas encore généré de config/cles.php avec son backup
maj2021_supprimer_toutes_sessions_si_aucun_backup_cles() : mixed
Obligera tous les auteurs à se reconnecter :
- le webmestre qui fait la mise a jour génèrera une cle avec un backup
- les autres auteurs vont tous regénérer un mot de passe plus sécure au premier login
maj_timestamp_mysql()
Mise à jour des bdd Mysql pour réparer les timestamp auto-update absents
maj_timestamp_mysql([mixed $tables = null ]) : mixed
Parameters
- $tables : mixed = null
Tags
notifications_instituerarticle_dist()
notifications_instituerarticle_dist(mixed $quoi, mixed $id_article, mixed $options) : mixed
Parameters
- $quoi : mixed
- $id_article : mixed
- $options : mixed
plugins_afficher_liste_dist()
Afficher une liste de plugins dans l'interface
plugins_afficher_liste_dist(string $url_page, array<string|int, mixed> $liste_plugins, array<string|int, mixed> $liste_plugins_checked, array<string|int, mixed> $liste_plugins_actifs[, string $dir_plugins = _DIR_PLUGINS ][, string $afficher_un = 'afficher_plugin' ]) : string
Parameters
- $url_page : string
- $liste_plugins : array<string|int, mixed>
- $liste_plugins_checked : array<string|int, mixed>
- $liste_plugins_actifs : array<string|int, mixed>
- $dir_plugins : string = _DIR_PLUGINS
- $afficher_un : string = 'afficher_plugin'
Return values
stringaffiche_block_initiale()
affiche_block_initiale(mixed $initiale, mixed $block, mixed $block_actif) : mixed
Parameters
- $initiale : mixed
- $block : mixed
- $block_actif : mixed
plugins_afficher_nom_plugin_dist()
plugins_afficher_nom_plugin_dist(mixed $url_page, mixed $plug_file, mixed $checked, mixed $actif[, mixed $expose = false ][, mixed $class_li = 'item' ][, mixed $dir_plugins = _DIR_PLUGINS ]) : mixed
Parameters
- $url_page : mixed
- $plug_file : mixed
- $checked : mixed
- $actif : mixed
- $expose : mixed = false
- $class_li : mixed = 'item'
- $dir_plugins : mixed = _DIR_PLUGINS
plugins_afficher_plugin_dist()
plugins_afficher_plugin_dist(mixed $url_page, mixed $plug_file, mixed $checked, mixed $actif[, mixed $expose = false ][, mixed $class_li = 'item' ][, mixed $dir_plugins = _DIR_PLUGINS ]) : mixed
Parameters
- $url_page : mixed
- $plug_file : mixed
- $checked : mixed
- $actif : mixed
- $expose : mixed = false
- $class_li : mixed = 'item'
- $dir_plugins : mixed = _DIR_PLUGINS
Tags
plugin_bouton_config()
plugin_bouton_config(mixed $nom, mixed $infos, mixed $dir) : mixed
Parameters
- $nom : mixed
- $infos : mixed
- $dir : mixed
plugin_checkbox()
plugin_checkbox(mixed $id_input, mixed $file, mixed $actif) : mixed
Parameters
- $id_input : mixed
- $file : mixed
- $actif : mixed
plugin_nom()
plugin_nom(mixed $info, mixed $dir_plugins, mixed $plug_file) : mixed
Parameters
- $info : mixed
- $dir_plugins : mixed
- $plug_file : mixed
plugin_resume()
plugin_resume(mixed $info, mixed $dir_plugins, mixed $plug_file, mixed $url_page) : mixed
Parameters
- $info : mixed
- $dir_plugins : mixed
- $plug_file : mixed
- $url_page : mixed
plugin_desintalle()
plugin_desintalle(mixed $plug_file, mixed $nom[, mixed $dir_plugins = null ]) : mixed
Parameters
- $plug_file : mixed
- $nom : mixed
- $dir_plugins : mixed = null
plugin_etat_en_clair()
Traduit un type d'état de plugin
plugin_etat_en_clair(string $etat) : string
Si l'état n'existe pas, prendra par défaut 'developpement'
Parameters
- $etat : string
-
Le type d'état (stable, test, ...)
Return values
string —Traduction de l'état dans la langue en cours
plugin_propre()
plugin_propre(mixed $texte[, mixed $module = '' ][, mixed $propre = 'propre' ]) : mixed
Parameters
- $texte : mixed
- $module : mixed = ''
- $propre : mixed = 'propre'
plugin_typo()
plugin_typo(mixed $texte[, mixed $module = '' ]) : mixed
Parameters
- $texte : mixed
- $module : mixed = ''
affiche_bloc_plugin()
affiche_bloc_plugin(mixed $plug_file, mixed $info[, mixed $dir_plugins = null ]) : mixed
Parameters
- $plug_file : mixed
- $info : mixed
- $dir_plugins : mixed = null
Tags
formater_credits()
formater_credits(mixed $infos[, mixed $sep = ', ' ]) : mixed
Parameters
- $infos : mixed
- $sep : mixed = ', '
plugins_afficher_repertoires_dist()
plugins_afficher_repertoires_dist(mixed $url_page, mixed $liste_plugins, mixed $liste_plugins_actifs) : mixed
Parameters
- $url_page : mixed
- $liste_plugins : mixed
- $liste_plugins_actifs : mixed
chemin_plug()
chemin_plug(mixed $racine, mixed $plug) : mixed
Parameters
- $racine : mixed
- $plug : mixed
tree_open_close_dir()
tree_open_close_dir(mixed &$current, mixed $target[, mixed $deplie = [] ]) : mixed
Parameters
- $current : mixed
- $target : mixed
- $deplie : mixed = []
plugins_extraire_boutons_dist()
Analyser un arbre xml et extraire les infos concernant les boutons et onglets
plugins_extraire_boutons_dist(array<string|int, mixed> $arbre) : array<string|int, mixed>
Parameters
- $arbre : array<string|int, mixed>
Return values
array<string|int, mixed>plugins_extraire_pipelines_dist()
Extraire les infos de pipeline
plugins_extraire_pipelines_dist(array<string|int, mixed> &$arbre) : mixed
Parameters
- $arbre : array<string|int, mixed>
plugins_get_infos_dist()
Lecture du fichier de configuration d'un plugin
plugins_get_infos_dist([string|array<string|int, mixed>|bool $plug = false ][, bool $reload = false ][, string $dir = _DIR_PLUGINS ][, bool $clean_old = false ]) : array<string|int, mixed>
Parameters
- $plug : string|array<string|int, mixed>|bool = false
- $reload : bool = false
- $dir : string = _DIR_PLUGINS
- $clean_old : bool = false
Tags
Return values
array<string|int, mixed>plugins_get_infos_un()
plugins_get_infos_un(mixed $plug, mixed $reload, mixed $dir, mixed &$cache) : mixed
Parameters
- $plug : mixed
- $reload : mixed
- $dir : mixed
- $cache : mixed
plugins_infos_paquet()
lecture d'un texte conforme a la DTD paquet.dtd et conversion en tableau PHP identique a celui fourni par plugin.xml manque la description
plugins_infos_paquet(array<string|int, mixed> $desc[, string $plug = '' ][, string $dir_plugins = _DIR_PLUGINS ]) : array<string|int, mixed>
Parameters
- $desc : array<string|int, mixed>
- $plug : string = ''
- $dir_plugins : string = _DIR_PLUGINS
Return values
array<string|int, mixed>paquet_readable_files()
Verifier le presence des fichiers remarquables options/actions/administrations et le logo et peupler la description du plugin en consequence
paquet_readable_files(array<string|int, mixed> &$tree, string $dir) : mixed
Parameters
- $tree : array<string|int, mixed>
- $dir : string
paquet_debutElement()
Appeler le validateur, qui memorise le texte dans le tableau "versions" On memorise en plus dans les index de numero de version de SPIP les attributs de la balise rencontree qu'on complete par des entrees nommees par les sous-balises de "paquet", et initialisees par un tableau vide, rempli a leur rencontre.
paquet_debutElement(object $phraseur, string $name, array<string|int, mixed> $attrs) : mixed
La sous-balise "spip", qui ne peut apparaitre qu'apres les autres, reprend les valeurs recuperees precedement (valeurs par defaut)
Parameters
- $phraseur : object
- $name : string
- $attrs : array<string|int, mixed>
paquet_textElement()
Appeler l'indenteur pour sa gestion de la profondeur, et memoriser les attributs dans le tableau avec l'oppose de la profondeur comme index, avec '' comme sous-index (les autres sont les attributs)
paquet_textElement(object $phraseur, string $data) : mixed
Parameters
- $phraseur : object
- $data : string
paquet_finElement()
Si on sait deja que le texte n'est pas valide on ne fait rien.
paquet_finElement(object $phraseur, string $name) : mixed
Pour une balise sans attribut, le traitement est forcement toujours le meme. Pour une balise sans texte, idem mais parce que la DTD est bien fichue
Parameters
- $phraseur : object
- $name : string
info_paquet_licence()
Cas particulier de la balise licence : transformer en lien sur url fournie dans l'attribut lien
info_paquet_licence(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_chemin()
Cas particulier de la balise chemin : stocker un tableau
info_paquet_chemin(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_auteur()
Cas particulier de la balise auteur peupler le mail si besoin (en le protegeant, mais est-ce bien la place pour cela ?) et le lien vers le site de l'auteur si fournit
info_paquet_auteur(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_credit()
Cas particulier de la balise credit peupler le lien vers le site externe si necessaire
info_paquet_credit(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_copyright()
Cas particulier de la balise copyright : transformer en lien sur url fournie dans l'attribut lien
info_paquet_copyright(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_paquet()
Cas particulier de la balise paquet : Remplacer cet index qui ne sert a rien par un index balise=paquet et ajouter la reference a la dtd
info_paquet_paquet(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_traduire()
Cas particulier sur la balise traduire : Elle n'a pas de 'nom'
info_paquet_traduire(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_spip()
Cas particulier de la balise spip : Remplacer cet index qui ne sert a rien par un index balise=spip et ajouter la reference a la dtd
info_paquet_spip(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_pipeline()
Pipelines : plusieurs declarations possibles pour un meme pipeline
info_paquet_pipeline(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_style()
Style : plusieurs declarations possibles.
info_paquet_style(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Traitement de l'attribut source pour générer en remplacement les attributs url et path
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_script()
Script : plusieurs declarations possibles.
info_paquet_script(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Traitement de l'attribut source pour générer en remplacement les attributs url et path
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
info_paquet_genie()
Genie : plusieurs declarations possibles pour les crons
info_paquet_genie(object $phraseur, array<string|int, mixed> $attrs, string $texte) : mixed
Parameters
- $phraseur : object
- $attrs : array<string|int, mixed>
- $texte : string
plugins_installer_dist()
Installe ou retire un plugin
plugins_installer_dist(string $plug, string $action[, string $dir_type = '_DIR_PLUGINS' ]) : array<string|int, mixed>|bool
Permet d'installer ou retirer un plugin en incluant les fichiers associés et en lançant les fonctions spécifiques.
- d'abord sur l'argument
test
, - ensuite sur l'action demandée si le test repond
false
- enfin sur l'argument
test
à nouveau.
L'index install_test
du tableau résultat est un tableau formé :
- du résultat 3
- des echo de l'étape 2
Parameters
- $plug : string
-
Nom du plugin
- $action : string
-
Nom de l'action (install|uninstall)
- $dir_type : string = '_DIR_PLUGINS'
-
Répertoire du plugin
Tags
Return values
array<string|int, mixed>|bool —- False si le plugin n'a pas d'installation,
- true si déjà installé,
- le tableau de get_infos sinon
spip_plugin_install()
Fonction standard utilisée par defaut pour install/desinstall
spip_plugin_install(string $action, array<string|int, mixed> $infos, string $version_cible) : bool|void
Parameters
- $action : string
-
Nom de l'action (install|uninstall)
- $infos : array<string|int, mixed>
-
Tableau des informations du XML du plugin complété par le nom et la table meta
- $version_cible : string
-
Référence de la version du schéma de données cible
Return values
bool|voidliste_plugin_actifs()
Retourne un tableau des plugins activés sur le site
liste_plugin_actifs() : array<string|int, mixed>
Retourne la meta plugin
désérialisée.
Chaque élément du tableau est lui-même un tableau contenant
les détails du plugin en question : répertoire et version.
Tags
Return values
array<string|int, mixed> —Tableau des plugins actifs
plugins_verifie_conformite_dist()
plugins_verifie_conformite_dist(mixed $plug, mixed &$arbre[, mixed $dir_plugins = _DIR_PLUGINS ]) : mixed
Parameters
- $plug : mixed
- $arbre : mixed
- $dir_plugins : mixed = _DIR_PLUGINS
affiche_boutons_admin()
Ajoute les boutons d'administration de la page s'ils n'y sont pas déjà
affiche_boutons_admin(string $contenu) : string
Insère la feuille de style selon les normes, dans le <head>
puis les boutons.
Feuilles de style admin : d'abord la CSS officielle, puis la perso
Parameters
- $contenu : string
-
Contenu HTML de la page qui va être envoyée au navigateur
Tags
Return values
string —Contenu HTML, avec boutons d'administrations et sa CSS
securiser_redirect_action()
securiser_redirect_action(string $redirect) : string
Parameters
- $redirect : string
Return values
stringtraiter_appels_actions()
traiter_appels_actions() : mixed
refuser_traiter_formulaire_ajax()
refuser_traiter_formulaire_ajax() : mixed
traiter_appels_inclusions_ajax()
traiter_appels_inclusions_ajax() : mixed
traiter_formulaires_dynamiques()
traiter_formulaires_dynamiques([mixed $get = false ]) : mixed
Parameters
- $get : mixed = false
assembler()
assembler(mixed $fond[, string $connect = '' ]) : mixed
Parameters
- $fond : mixed
- $connect : string = ''
calculer_contexte()
Calcul le contexte de la page
calculer_contexte() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —Un tableau du contexte de la page
calculer_contexte_implicite()
Calculer le contexte implicite, qui n'apparait pas dans le ENV d'un cache mais est utilise pour distinguer deux caches differents
calculer_contexte_implicite() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>auto_content_type()
auto_content_type(mixed $page) : mixed
Parameters
- $page : mixed
inclure_page()
inclure_page(mixed $fond, mixed $contexte[, string $connect = '' ]) : mixed
Parameters
- $fond : mixed
- $contexte : mixed
- $connect : string = ''
public_produire_page_dist()
Produire la page et la mettre en cache lorsque c'est necessaire
public_produire_page_dist(string $fond, array<string|int, mixed> $contexte, int $use_cache, string $cache_key, array<string|int, mixed> $contexte_cache, array<string|int, mixed> &$page, int &$lastinclude[, string $connect = '' ]) : array<string|int, mixed>
Parameters
- $fond : string
- $contexte : array<string|int, mixed>
- $use_cache : int
- $cache_key : string
- $contexte_cache : array<string|int, mixed>
- $page : array<string|int, mixed>
- $lastinclude : int
- $connect : string = ''
Return values
array<string|int, mixed>inserer_balise_dynamique()
inserer_balise_dynamique(mixed $contexte_exec, mixed $contexte_compil) : mixed
Parameters
- $contexte_exec : mixed
- $contexte_compil : mixed
inclure_balise_dynamique()
Inclusion de balise dynamique Attention, un appel explicite a cette fonction suppose certains include
inclure_balise_dynamique(string|array<string|int, mixed> $texte[, bool $echo = true ][, array<string|int, mixed> $contexte_compil = [] ]) : string|void
Parameters
- $texte : string|array<string|int, mixed>
- $echo : bool = true
-
Faut-il faire echo ou return
- $contexte_compil : array<string|int, mixed> = []
-
contexte de la compilation
Return values
string|voidmessage_page_indisponible()
message_page_indisponible(mixed $page, mixed $contexte) : mixed
Parameters
- $page : mixed
- $contexte : mixed
arguments_balise_dyn_depuis_modele()
gerer le flag qui permet de reperer qu'une balise dynamique a ete inseree depuis un modele utilisee dans les #FORMULAIRE_xx
arguments_balise_dyn_depuis_modele(string|null $arg[, string $operation = 'set' ]) : mixed
Parameters
- $arg : string|null
- $operation : string = 'set'
creer_contexte_de_modele()
creer_contexte_de_modele(mixed $args) : mixed
Parameters
- $args : mixed
styliser_modele()
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
styliser_modele(string $modele, int $id[, null|array<string|int, mixed> $contexte = null ]) : string
Parameters
- $modele : string
- $id : int
- $contexte : null|array<string|int, mixed> = null
-
contexte eventuel : attention sa presence n'est pas garantie et il ne doit etre utilise que pour trouver le id_xx si pas de $id fourni (cas appel depuis styliser)
Return values
stringinclure_modele()
Calcule le modele et retourne la mini-page ainsi calculee
inclure_modele(string $type, int $id, array<string|int, mixed> $params, array<string|int, mixed> $lien[, string $connect = '' ][, array<string|int, mixed> $env = [] ]) : string|false
Parameters
- $type : string
-
Nom du modele
- $id : int
- $params : array<string|int, mixed>
-
Paramètres du modèle
- $lien : array<string|int, mixed>
-
Informations du lien entourant l'appel du modèle en base de données
- $connect : string = ''
- $env : array<string|int, mixed> = []
Return values
string|falsespip_securise_valeur_env_modele()
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é
spip_securise_valeur_env_modele(mixed $valeur) : array<string|int, mixed>|float|int|mixed|string|array<string|int, string>|null
Parameters
- $valeur : mixed
Return values
array<string|int, mixed>|float|int|mixed|string|array<string|int, string>|nullevaluer_fond()
evaluer_fond(mixed $fond[, mixed $contexte = [] ][, string $connect = '' ]) : mixed
Parameters
- $fond : mixed
- $contexte : mixed = []
- $connect : string = ''
page_base_href()
page_base_href(mixed &$texte) : mixed
Parameters
- $texte : mixed
envoyer_entetes()
Envoyer les entetes (headers)
envoyer_entetes(mixed $entetes) : mixed
Ceux spécifiques à SPIP commencent par X-Spip
Parameters
- $entetes : mixed
interprete_argument_balise()
Retourne le code PHP d'un argument de balise s'il est présent
interprete_argument_balise(int $n, Champ $p) : string|null
Parameters
- $n : int
-
Numéro de l'argument
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
string|null —Code PHP si cet argument est présent, sinon null
balise_NOM_SITE_SPIP_dist()
Compile la balise `#NOM_SITE_SPIP` retournant le nom du site
balise_NOM_SITE_SPIP_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_EMAIL_WEBMASTER_dist()
Compile la balise `#EMAIL_WEBMASTER` retournant l'adresse courriel du webmestre
balise_EMAIL_WEBMASTER_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_DESCRIPTIF_SITE_SPIP_dist()
Compile la balise `#DESCRIPTIF_SITE_SPIP` qui retourne le descriptif du site !
balise_DESCRIPTIF_SITE_SPIP_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_CHARSET_dist()
Compile la balise `#CHARSET` qui retourne le nom du jeu de caractères utilisé par le site tel que `utf-8`
balise_CHARSET_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_LANG_LEFT_dist()
Compile la balise `#LANG_LEFT` retournant 'left' si la langue s'écrit de gauche à droite, sinon 'right'
balise_LANG_LEFT_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_LANG_RIGHT_dist()
Compile la balise `#LANG_RIGHT` retournant 'right' si la langue s'écrit de gauche à droite, sinon 'left'
balise_LANG_RIGHT_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_LANG_DIR_dist()
Compile la balise `#LANG_DIR` retournant 'ltr' si la langue s'écrit de gauche à droite, sinon 'rtl'
balise_LANG_DIR_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_PUCE_dist()
Compile la balise `#PUCE` affichant une puce
balise_PUCE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_DATE_dist()
Compile la balise `#DATE` qui retourne la date de mise en ligne
balise_DATE_dist(Champ $p) : Champ
Cette balise retourne soit le champ date
d'une table si elle est
utilisée dans une boucle, sinon la date de calcul du squelette.
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_DATE_REDAC_dist()
Compile la balise `#DATE_REDAC` qui retourne la date de première publication
balise_DATE_REDAC_dist(Champ $p) : Champ
Cette balise retourne le champ date_redac
d'une table
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_DATE_MODIF_dist()
Compile la balise `#DATE_MODIF` qui retourne la date de dernière modification
balise_DATE_MODIF_dist(Champ $p) : Champ
Cette balise retourne le champ date_modif
d'une table
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_DATE_NOUVEAUTES_dist()
Compile la balise `#DATE_NOUVEAUTES` indiquant la date de dernier envoi du mail de nouveautés
balise_DATE_NOUVEAUTES_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_DOSSIER_SQUELETTE_dist()
Compile la balise `#DOSSIER_SQUELETTE` retournant le chemin vers le répertoire du fichier squelette dans lequel elle est appelee (comme __DIR__ en php)
balise_DOSSIER_SQUELETTE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_SQUELETTE_dist()
Compile la balise `#SQUELETTE` retournant le chemin du squelette courant
balise_SQUELETTE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_SPIP_VERSION_dist()
Compile la balise `#SPIP_VERSION` qui affiche la version de SPIP
balise_SPIP_VERSION_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_NOM_SITE_dist()
Compile la balise `#NOM_SITE` qui affiche le nom du site.
balise_NOM_SITE_dist(Champ $p) : Champ
Affiche le nom du site ou sinon l'URL ou le titre de l'objet
Utiliser #NOM_SITE*
pour avoir le nom du site ou rien.
Cette balise interroge les colonnes nom_site
ou url_site
dans la boucle la plus proche.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_NOTES_dist()
Compile la balise `#NOTE` qui affiche les notes de bas de page
balise_NOTES_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_RECHERCHE_dist()
Compile la balise `#RECHERCHE` qui retourne le terme de recherche demandé
balise_RECHERCHE_dist(Champ $p) : Champ
Retourne un terme demandé en recherche, en le prenant dans _request()
sous la clé recherche
.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_COMPTEUR_BOUCLE_dist()
Compile la balise `#COMPTEUR_BOUCLE` qui retourne le numéro de l’itération actuelle de la boucle
balise_COMPTEUR_BOUCLE_dist(Champ $p) : Champ|null
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ|null —Pile complétée par le code à générer
balise_TOTAL_BOUCLE_dist()
Compile la balise `#TOTAL_BOUCLE` qui retourne le nombre de résultats affichés par la boucle
balise_TOTAL_BOUCLE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_POINTS_dist()
Compile la balise `#POINTS` qui affiche la pertinence des résultats
balise_POINTS_dist(Champ $p) : Champ
Retourne le calcul points
réalisé par le critère recherche
.
Cette balise nécessite donc la présence de ce critère.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_POPULARITE_ABSOLUE_dist()
Compile la balise `#POPULARITE_ABSOLUE` qui affiche la popularité absolue
balise_POPULARITE_ABSOLUE_dist(Champ $p) : Champ
Cela correspond à la popularité quotidienne de l'article
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_POPULARITE_SITE_dist()
Compile la balise `#POPULARITE_SITE` qui affiche la popularité du site
balise_POPULARITE_SITE_dist(Champ $p) : Champ
La popularité du site est la somme de toutes les popularités absolues.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_POPULARITE_MAX_dist()
Compile la balise `#POPULARITE_MAX` qui affiche la popularité maximum parmis les popularités des articles
balise_POPULARITE_MAX_dist(Champ $p) : Champ
Cela correspond à la popularité quotidienne de l'article
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_VALEUR_dist()
Compile la balise `#VALEUR` retournant le champ `valeur`
balise_VALEUR_dist(Champ $p) : Champ
Utile dans une boucle DATA pour retourner une valeur.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_EXPOSE_dist()
Compile la balise `#EXPOSE` qui met en évidence l'élément sur lequel la page se trouve
balise_EXPOSE_dist(Champ $p) : Champ
Expose dans une boucle l'élément de la page sur laquelle on se trouve,
en retournant on
si l'élément correspond à la page, une chaîne vide sinon.
On peut passer les paramètres à faire retourner par la balise.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
calculer_balise_expose()
Calcul de la balise expose
calculer_balise_expose(Champ $p, string $on, string $off) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
- $on : string
-
texte à afficher si l'élément est exposé (code à écrire tel que "'on'")
- $off : string
-
texte à afficher si l'élément n'est pas exposé (code à écrire tel que "''")
Tags
Return values
Champ —Pile complétée par le code à générer
balise_INTRODUCTION_dist()
Compile la balise `#INTRODUCTION`
balise_INTRODUCTION_dist(Champ $p) : Champ
Retourne une introduction d'un objet éditorial, c'est à dire les 600
premiers caractères environ du champ 'texte' de l'objet ou le contenu
indiqué entre <intro>
et </intro>
de ce même champ.
Pour les articles, l'introduction utilisée est celle du champ descriptif
s'il est renseigné, sinon il est pris dans les champs chapo
et texte
et
est par défaut limité à 500 caractères.
Pour les rubriques, l'introduction utilisée est celle du champ descriptif
s'il est renseigné, sinon du champ texte.
La balise accèpte 1 paramètre indiquant la longueur en nombre de caractères de l'introduction.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_LANG_dist()
Compile la balise `#LANG` qui affiche la langue de l'objet (ou d'une boucle supérieure), et à defaut la langue courante
balise_LANG_dist(Champ $p) : Champ
La langue courante est celle du site ou celle qui a été passée dans l'URL par le visiteur.
L'étoile #LANG*
n'affiche rien si aucune langue n'est trouvée dans le SQL ou le contexte.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_LESAUTEURS_dist()
Compile la balise `#LESAUTEURS` chargée d'afficher la liste des auteurs d'un objet
balise_LESAUTEURS_dist(Champ $p) : Champ
- Soit le champ
lesauteurs
existe dans la table et à ce moment là, la balise retourne son contenu, - soit la balise appelle le modele
lesauteurs.html
en lui passant le coupleobjet
etid_objet
dans son environnement.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_RANG_dist()
Compile la balise `#RANG` chargée d'afficher le numéro de l'objet
balise_RANG_dist(Champ $p) : Champ
Affiche le « numero de l'objet ». Soit 1
quand on a un titre 1. Premier article
.
Ceci est transitoire afin de préparer une migration vers un vrai système de
tri des articles dans une rubrique (et plus si affinités).
La balise permet d'extraire le numero masqué par le filtre supprimer_numero
.
La balise recupère le champ declaré dans la définition table_titre
de l'objet, ou à defaut du champ titre
Si un champ rang
existe, il est pris en priorité.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_POPULARITE_dist()
Compile la balise `#POPULARITE` qui affiche la popularité relative.
balise_POPULARITE_dist(Champ $p) : Champ
C'est à dire le pourcentage de la fréquentation de l'article (la popularité absolue) par rapport à la popularité maximum.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_PAGINATION_dist()
Compile la balise `#PAGINATION` chargée d'afficher une pagination
balise_PAGINATION_dist(Champ $p[, string $liste = 'true' ]) : Champ
Elle charge le modèle pagination.html
(par défaut), mais un paramètre
permet d'indiquer d'autres modèles. #PAGINATION{nom}
utilisera le
modèle pagination_nom.html
.
Cette balise nécessite le critère pagination
sur la boucle où elle
est utilisée.
Parameters
- $p : Champ
-
Pile au niveau de la balise
- $liste : string = 'true'
-
Afficher ou non les liens de pagination (variable de type
string
car code à faire écrire au compilateur) :true
pour les afficherfalse
pour afficher uniquement l'ancre.
Tags
Return values
Champ —Pile complétée par le code à générer
balise_ANCRE_PAGINATION_dist()
Compile la balise `#ANCRE_PAGINATION` chargée d'afficher l'ancre de la pagination
balise_ANCRE_PAGINATION_dist(Champ $p) : Champ
Cette ancre peut ainsi être placée au-dessus la liste des éléments de la boucle alors qu'on mettra les liens de pagination en-dessous de cette liste paginée.
Cette balise nécessite le critère pagination
sur la boucle où elle
est utilisée.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_GRAND_TOTAL_dist()
Compile la balise `#GRAND_TOTAL` qui retourne le nombre total de résultats d'une boucle
balise_GRAND_TOTAL_dist(Champ $p) : Champ
Cette balise set équivalente à #TOTAL_BOUCLE
sauf pour les boucles paginées.
Dans ce cas elle indique le nombre total d'éléments répondant aux critères
hors pagination.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_SELF_dist()
Compile la balise `#SELF` qui retourne l’URL de la page appelée.
balise_SELF_dist(Champ $p) : Champ
Cette URL est nettoyée des variables propres à l’exécution de SPIP
tel que var_mode
.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_CHEMIN_dist()
Compile la balise `#CHEMIN` qui cherche un fichier dans les chemins connus de SPIP et retourne son chemin complet depuis la racine
balise_CHEMIN_dist(Champ $p) : Champ
Signature : #CHEMIN{chemin/vers/fichier.ext}
Retourne une chaîne vide si le fichier n'est pas trouvé.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_CHEMIN_IMAGE_dist()
Compile la balise `#CHEMIN_IMAGE` qui cherche une image dans le thème de l'espace privé utilisé par SPIP et retourne son chemin complet depuis la racine
balise_CHEMIN_IMAGE_dist(Champ $p) : Champ
Signature : #CHEMIN_IMAGE{image.png}
Retourne une chaîne vide si le fichier n'est pas trouvé.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_ENV_dist()
Compile la balise `#ENV` qui permet de récupérer le contexte d'environnement transmis à un squelette.
balise_ENV_dist(Champ $p[, array<string|int, mixed> $src = null ]) : Champ
La syntaxe #ENV{toto, valeur par defaut}
renverra valeur par defaut
si $toto
est vide.
La recherche de la clé s'appuyant sur la fonction table_valeur
il est possible de demander un sous élément d'un tableau :
#ENV{toto/sous/element, valeur par defaut}
retournera l'équivalent de
#ENV{toto}|table_valeur{sous/element}
c'est-à-dire en quelque sorte
$env['toto']['sous']['element']
s'il existe, sinon la valeur par défaut.
Si le tableau est vide on renvoie ''
(utile pour #SESSION
)
Enfin, la balise utilisée seule #ENV
retourne le tableau complet
de l'environnement. À noter que ce tableau est retourné sérialisé.
En standard est appliqué le filtre entites_html
, mais si l'étoile est
utilisée pour désactiver les filtres par défaut, par exemple avec
[(#ENV*{toto})]
, il faut s'assurer de la sécurité
anti-javascript, par exemple en filtrant avec safehtml
: [(#ENV*{toto}|safehtml)]
Parameters
- $p : Champ
-
Pile ; arbre de syntaxe abstrait positionné au niveau de la balise.
- $src : array<string|int, mixed> = null
-
Tableau dans lequel chercher la clé demandée en paramètre de la balise. Par defaut prend dans le contexte du squelette.
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_CONFIG_dist()
Compile la balise `#CONFIG` qui retourne une valeur de configuration
balise_CONFIG_dist(Champ $p) : Champ
Cette balise appelle la fonction lire_config()
pour obtenir les
configurations du site.
Par exemple #CONFIG{gerer_trad}
donne 'oui ou 'non' selon le réglage.
Le 3ème argument permet de contrôler la sérialisation du résultat
(mais ne sert que pour le dépot meta
) qui doit parfois désérialiser,
par exemple avec |in_array{#CONFIG{toto,#ARRAY,1}}
. Ceci n'affecte
pas d'autres dépots et |in_array{#CONFIG{toto/,#ARRAY}}
sera
équivalent.
Òn peut appeler d'autres tables que spip_meta
avec un
#CONFIG{/infos/champ,defaut}
qui lit la valeur de champ
dans une table des meta qui serait spip_infos
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_CONNECT_dist()
Compile la balise `#CONNECT` qui retourne le nom du connecteur de base de données
balise_CONNECT_dist(Champ $p) : Champ
Retourne le nom du connecteur de base de données utilisé (le nom
du fichier config/xx.php
sans l'extension, utilisé pour calculer
les données du squelette).
Retourne NULL
si le connecteur utilisé est celui par défaut de SPIP
(connect.php), sinon retourne son nom.
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_SESSION_dist()
Compile la balise `#SESSION` qui permet d’accéder aux informations liées au visiteur authentifié et de différencier automatiquement le cache en fonction du visiteur.
balise_SESSION_dist(Champ $p) : Champ
Cette balise est un tableau des données du visiteur (nom, email etc). Si elle est invoquée, elle lève un drapeau dans le fichier cache, qui permet à public/cacher de créer un cache différent par visiteur
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_SESSION_SET_dist()
Compile la balise `#SESSION_SET` qui d’insérer dans la session des données supplémentaires
balise_SESSION_SET_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_EVAL_dist()
Compile la balise `#EVAL` qui évalue un code PHP
balise_EVAL_dist(Champ $p) : Champ
À utiliser avec précautions !
Parameters
- $p : Champ
-
Pile au niveau de la balise.
Tags
Return values
Champ —Pile completée du code PHP d'exécution de la balise
balise_CHAMP_SQL_dist()
Compile la balise `#CHAMP_SQL` qui renvoie la valeur d'un champ SQL
balise_CHAMP_SQL_dist(Champ $p) : Champ
Signature : #CHAMP_SQL{champ}
Cette balise permet de récupérer par exemple un champ notes
dans une table
SQL externe (impossible avec la balise #NOTES
qui est une balise calculée).
Ne permet pas de passer une expression comme argument, qui ne peut être qu'un texte statique !
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_VAL_dist()
Compile la balise `#VAL` qui retourne simplement le premier argument qui lui est transmis
balise_VAL_dist(Champ $p) : Champ
Cela permet d'appliquer un filtre à une chaîne de caractère
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_REM_dist()
Compile la balise `#REM` servant à commenter du texte
balise_REM_dist(Champ $p) : Champ
Retourne toujours une chaîne vide.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_NULL_dist()
Une balise #NULL quand on a besoin de passer un argument null sur l'appel d'un filtre ou formulaire (evite un #EVAL{null})
balise_NULL_dist(Champ $p) : mixed
Parameters
- $p : Champ
balise_HTTP_HEADER_dist()
Compile la balise `#HTTP_HEADER` envoyant des entêtes de retour HTTP
balise_HTTP_HEADER_dist(Champ $p) : Champ
Doit être placée en tête de fichier et ne fonctionne pas dans une inclusion.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_FILTRE_dist()
Compile la balise `#FILTRE` qui exécute un filtre à l'ensemble du squelette une fois calculé.
balise_FILTRE_dist(Champ $p) : Champ|null
Le filtrage se fait au niveau du squelette, sans s'appliquer aux <INCLURE>
.
Plusieurs filtres peuvent être indiqués, séparés par des barres verticales |
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ|null —Pile complétée par le code à générer
balise_CACHE_dist()
Compile la balise `#CACHE` definissant la durée de validité du cache du squelette
balise_CACHE_dist(Champ $p) : Champ
Signature : #CACHE{duree[,type]}
Le premier argument est la durée en seconde du cache. Le second (aucune valeur par défaut) indique le type de cache :
cache-client
autorise gestion du IF_MODIFIED_SINCEstatique
ne respecte pas l'invalidation par modif de la base (mais s'invalide tout de même à l'expiration du delai)
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_INSERT_HEAD_dist()
Compile la balise `#INSERT_HEAD` permettant d'insérer du contenu dans le `<head>` d'une page HTML
balise_INSERT_HEAD_dist(Champ $p) : Champ
La balise permet aux plugins d'insérer des styles, js ou autre
dans l'entête sans modification du squelette.
Les css doivent être inserées de préférence par #INSERT_HEAD_CSS
pour en faciliter la surcharge.
On insère ici aussi un morceau de PHP qui verifiera à l'exécution
que le pipeline insert_head_css
a bien été vu
et dans le cas contraire l'appelera. Ceal permet de ne pas oublier
les css de #INSERT_HEAD_CSS
même si cette balise n'est pas presente.
Il faut mettre ce php avant le insert_head
car le compresseur y mets
ensuite un php du meme type pour collecter
CSS et JS, et on ne veut pas qu'il rate les css insérées en fallback
par insert_head_css_conditionnel
.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_INSERT_HEAD_CSS_dist()
Compile la balise `#INSERT_HEAD_CSS` homologue de `#INSERT_HEAD` pour les CSS
balise_INSERT_HEAD_CSS_dist(Champ $p) : Champ
Et par extension pour le JS inline qui doit préférentiellement être inséré avant les CSS car bloquant sinon.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_INCLUDE_dist()
Compile la balise `#INCLUDE` alias de `#INCLURE`
balise_INCLUDE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_INCLURE_dist()
Compile la balise `#INCLURE` qui inclut un résultat de squelette
balise_INCLURE_dist(Champ $p) : Champ
Signature : [(#INCLURE{fond=nom_du_squelette, argument, argument=xx})]
L'argument env
permet de transmettre tout l'environnement du squelette
en cours au squelette inclus.
On parle d’inclusion « statique » car le résultat de compilation est
ajouté au squelette en cours, dans le même fichier de cache.
Cette balise est donc différente d’une inclusion « dynamique » avec
<INCLURE.../>
qui, elle, crée un fichier de cache séparé
(avec une durée de cache qui lui est propre).
L'inclusion est realisée au calcul du squelette, pas au service
ainsi le produit du squelette peut être utilisé en entrée de filtres
à suivre. On peut faire un #INCLURE{fichier}
sans squelette
(Incompatible avec les balises dynamiques).
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_TRAD_dist()
Compile la balise `#TRAD` qui traduit une clé de langue
balise_TRAD_dist(Champ $p) : Champ
Signature:
#TRAD{module:cle, #ARRAY{arg,val,...}}
ou #TRAD{module:cle, #ARRAY{arg,val,...}, #ARRAY{sanitize,0}}
Parameters
- $p : Champ
Tags
Return values
Champbalise_MODELE_dist()
Compile la balise `#MODELE` qui inclut un résultat de squelette de modèle
balise_MODELE_dist(Champ $p) : Champ
#MODELE{nom}
insère le résultat d’un squelette contenu dans le
répertoire modeles/
. L’identifiant de la boucle parente est transmis
par défaut avec le paramètre id
à cette inclusion.
Des arguments supplémentaires peuvent être transmis :
[(#MODELE{nom, argument=xx, argument})]
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_SET_dist()
Compile la balise `#SET` qui affecte une variable locale au squelette
balise_SET_dist(Champ $p) : Champ
Signature : #SET{cle,valeur}
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_GET_dist()
Compile la balise `#GET` qui récupère une variable locale au squelette
balise_GET_dist(Champ $p) : Champ
Signature : #GET{cle[,defaut]}
La clé peut obtenir des sous clés séparés par des /
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_DOUBLONS_dist()
Compile la balise `#DOUBLONS` qui redonne les doublons enregistrés
balise_DOUBLONS_dist(Champ $p) : Champ
#DOUBLONS{mots}
ou#DOUBLONS{mots,famille}
donne l'état des doublons(MOTS)
à cet endroit sous forme de tableau d'id_mot commearray(1,2,3,...)
#DOUBLONS
tout seul donne la liste brute de tous les doublons#DOUBLONS*{mots}
donne la chaine brute,1,2,3,...
(changera si la gestion des doublons evolue)
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_PIPELINE_dist()
Compile la balise `#PIPELINE` pour permettre d'insérer des sorties de pipeline dans un squelette
balise_PIPELINE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_EDIT_dist()
Compile la balise `#EDIT` qui ne fait rien dans SPIP
balise_EDIT_dist(Champ $p) : Champ
Cette balise ne retourne rien mais permet d'indiquer, pour certains plugins qui redéfinissent cette balise, le nom du champ SQL (ou le nom d'un contrôleur) correspondant à ce qui est édité. Cela sert particulièrement au plugin Crayons. Ainsi en absence du plugin, la balise est toujours reconnue (mais n'a aucune action).
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_TOTAL_UNIQUE_dist()
Compile la balise `#TOTAL_UNIQUE` qui récupère le nombre d'éléments différents affichés par le filtre `unique`
balise_TOTAL_UNIQUE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_ARRAY_dist()
Compile la balise `#ARRAY` créant un tableau PHP associatif
balise_ARRAY_dist(Champ $p) : Champ
Crée un array
PHP à partir d'arguments calculés.
Chaque paire d'arguments représente la clé et la valeur du tableau.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_LISTE_dist()
Compile la balise `#LISTE` qui crée un tableau PHP avec les valeurs, sans préciser les clés
balise_LISTE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_AUTORISER_dist()
Compile la balise `#AUTORISER` qui teste une autorisation
balise_AUTORISER_dist(Champ $p) : Champ
Appelle la fonction autoriser()
avec les mêmes arguments,
et renvoie un espace ' ' si OK (l'action est autorisée),
sinon une chaine vide '' (l'action n'est pas autorisée).
Cette balise créée un cache par session.
Signature : #AUTORISER{faire[,type[,id[,auteur[,options]]]}
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_PLUGIN_dist()
Compile la balise `#PLUGIN` qui permet d’afficher les informations d'un plugin actif
balise_PLUGIN_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_AIDER_dist()
Compile la balise `#AIDER` qui permet d’afficher l’icone de l’aide au sein des squelettes.
balise_AIDER_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_ACTION_FORMULAIRE()
Compile la balise `#ACTION_FORMULAIRE` qui insère le contexte des formulaires charger / vérifier / traiter avec les hidden de l'URL d'action
balise_ACTION_FORMULAIRE(Champ $p) : Champ
Accèpte 2 arguments optionnels :
- L'url de l'action (par défaut
#ENV{action}
- Le nom du formulaire (par défaut
#ENV{form}
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_BOUTON_ACTION_dist()
Compile la balise `#BOUTON_ACTION` qui génère un bouton d'action en post, ajaxable
balise_BOUTON_ACTION_dist(Champ $p) : Champ
Cette balise s'utilise à la place des liens action_auteur
, sous la forme
#BOUTON_ACTION{libelle[,url[,class[,confirm[,title[,callback]]]]]}
- libelle : texte du bouton
- url : URL d’action sécurisée
- class : Classes à ajouter au bouton, à l'exception de
ajax
qui est placé sur le formulaire. Pour d'autres classes sur le formulaire, utiliser le filtreajouter_class
- confirm : message de confirmation oui/non avant l'action
- title : attribut title à ajouter au bouton
- callback : callback js a appeler lors de l'évènement action et avant execution de l'action (ou après confirmation éventuelle si $confirm est non vide). Si la callback renvoie false, elle annule le déclenchement de l'action.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_SLOGAN_SITE_SPIP_dist()
Compile la balise `#SLOGAN_SITE_SPIP` qui retourne le slogan du site
balise_SLOGAN_SITE_SPIP_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_HTML5_dist()
Compile la balise `#HTML5` indiquant si l'espace public peut utiliser du HTML5
balise_HTML5_dist(Champ $p) : Champ
Renvoie ' '
si le webmestre souhaite que SPIP génère du code (X)HTML5 sur
le site public, et ''
si le code doit être strictement compatible HTML4
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_TRI_dist()
Compile la balise `#TRI` permettant d'afficher un lien de changement d'ordre de tri d'une colonne de la boucle
balise_TRI_dist(Champ $p[, string $liste = 'true' ]) : Champ
La balise #TRI{champ[,libelle]}
champ prend >
ou <
pour afficher
le lien de changement de sens croissant ou decroissant (>
<
indiquent
un sens par une flèche)
Parameters
- $p : Champ
-
Pile au niveau de la balise
- $liste : string = 'true'
-
Inutilisé
Tags
Return values
Champ —Pile complétée par le code à générer
balise_SAUTER_dist()
Compile la balise `#SAUTER{n}` qui permet de sauter en avant n resultats dans une boucle
balise_SAUTER_dist(Champ $p) : Champ
La balise modifie le compteur courant de la boucle, mais pas les autres
champs qui restent les valeurs de la boucle avant le saut. Il est donc
preferable d'utiliser la balise juste avant la fermeture </BOUCLE>
L'argument n
doit être supérieur à zéro sinon la balise ne fait rien
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_PUBLIE_dist()
Compile la balise `#PUBLIE` qui indique si un objet est publié ou non
balise_PUBLIE_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_PRODUIRE_dist()
Compile la balise `#PRODUIRE` qui génère un fichier statique à partir d'un squelette SPIP
balise_PRODUIRE_dist(Champ $p) : Champ
Le format du fichier sera extrait de la pre-extension du squelette
(typo.css.html, messcripts.js.html)
ou par l'argument format=css
ou format=js
passé en argument.
S'il n'y a pas de format détectable, on utilise .html
, comme pour les squelettes.
La syntaxe de la balise est la même que celle de #INCLURE
.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_LAYOUT_PRIVE_dist()
Compile la balise `#LAYOUT_PRIVE` relative à la disposition de l'espace privé.
balise_LAYOUT_PRIVE_dist(Champ $p) : Champ
- Avec param : pour définir une nouvelle disposition.
- Sans param : pour récupérer la classe correspondante à la disposition
courante sous la forme 'layout-
'
Les dispositions possibles sont listées dans la CSS layout.css Cette balise n'a pas vocation à être utilisée en dehors du privé.
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_CONST_dist()
Compile la balise `#CONST` qui retourne la valeur de la constante passée en argument
balise_CONST_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
Pile au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code à générer
balise_PARAM_dist()
Affiche un paramètre public du container SPIP.
balise_PARAM_dist(Champ $p) : Champ
Parameters
- $p : Champ
Return values
Champboucle_DEFAUT_dist()
Compile une boucle standard, sans condition rajoutée
boucle_DEFAUT_dist(string $id_boucle, array<string|int, mixed> &$boucles) : string
Parameters
- $id_boucle : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
Return values
string —Code PHP compilé de la boucle
boucle_BOUCLE_dist()
Compile une boucle récursive
boucle_BOUCLE_dist(string $id_boucle, array<string|int, mixed> &$boucles) : string
<BOUCLE(BOUCLE)>
Parameters
- $id_boucle : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
Tags
Return values
string —Code PHP compilé de la boucle
boucle_HIERARCHIE_dist()
Compile une boucle HIERARCHIE
boucle_HIERARCHIE_dist(string $id_boucle, array<string|int, mixed> &$boucles) : string
La boucle <BOUCLE(HIERARCHIE)>
retourne la liste des RUBRIQUES
qui mènent de la racine du site à la rubrique ou à l’article en cours.
Cette boucle (aliasée sur la table RUBRIQUES)
- recherche un id_rubrique dans les boucles parentes,
- extrait sa hiérarchie, en prenant ou non la rubrique en cours en fonction du critère {tout}
- crée une condition WHERE avec ces identifiants ansi qu'une clause ORDER
- compile la boucle.
Le code compilé calculant la hierarchie est ajouté au tout début de la fonction de boucle et quitte la boucle si aucune rubrique n'est trouvée.
Parameters
- $id_boucle : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
Tags
Return values
string —Code PHP compilé de la boucle
cache_key()
Returns a key cache (id) for this data
cache_key(array<string|int, mixed> $contexte, array<string|int, mixed> $page) : string
Parameters
- $contexte : array<string|int, mixed>
- $page : array<string|int, mixed>
Return values
stringecrire_cache()
Écrire le cache dans un casier
ecrire_cache(string $cache_key, array<string|int, mixed> $valeur) : bool
Parameters
- $cache_key : string
- $valeur : array<string|int, mixed>
Return values
boollire_cache()
lire le cache depuis un casier
lire_cache(string $cache_key) : null|mixed
Parameters
- $cache_key : string
Return values
null|mixed —null: probably cache miss
cache_signature()
Signature du cache
cache_signature(mixed &$page) : string
Parano : on signe le cache, afin d'interdire un hack d'injection dans notre memcache
Parameters
- $page : mixed
Return values
stringgzip_page()
Faut-il compresser ce cache ?
gzip_page(array<string|int, mixed> $page) : array<string|int, mixed>
A partir de 16ko ca vaut le coup (pas de passage par reference car on veut conserver la version non compressee pour l'afficher) on positionne un flag gz si on comprime, pour savoir si on doit decompresser ou pas
Parameters
- $page : array<string|int, mixed>
Return values
array<string|int, mixed>gunzip_page()
Faut-il decompresser ce cache ?
gunzip_page(array<string|int, mixed> &$page) : void
(passage par reference pour alleger) on met a jour le flag gz quand on decompresse, pour ne pas risquer de decompresser deux fois de suite un cache (ce qui echoue)
Parameters
- $page : array<string|int, mixed>
cache_valide()
Gestion des delais d'expiration du cache... $page passee par reference pour accelerer
cache_valide(array<string|int, mixed> &$page, int $date) : int
Parameters
- $page : array<string|int, mixed>
- $date : int
Return values
int —- 1 si il faut mettre le cache a jour
- 0 si le cache est valide
- -1 si il faut calculer sans stocker en cache
creer_cache()
Creer le fichier cache
creer_cache(array<string|int, mixed> &$page, string &$cache_key) : mixed
Passage par reference de $page par souci d'economie
Parameters
- $page : array<string|int, mixed>
- $cache_key : string
public_cacher_dist()
Interface du gestionnaire de cache
public_cacher_dist(array<string|int, mixed> $contexte, int &$use_cache, string &$cache_key, array<string|int, mixed> &$page, int &$lastmodified) : string|void
Si son 3e argument est non vide, elle passe la main a creer_cache Sinon, elle recoit un contexte (ou le construit a partir de REQUEST_URI) et affecte les 4 autres parametres recus par reference:
- use_cache qui vaut -1 s'il faut calculer la page sans la mettre en cache 0 si on peut utiliser un cache existant 1 s'il faut calculer la page et la mettre en cache
- cache_key est un identifiant pour ce cache, ou vide si pas cachable
- page qui est le tableau decrivant la page, si le cache la contenait
- lastmodified qui vaut la date de derniere modif du fichier. Elle retourne '' si tout va bien un message d'erreur si le calcul de la page est totalement impossible
Parameters
- $contexte : array<string|int, mixed>
- $use_cache : int
- $cache_key : string
- $page : array<string|int, mixed>
- $lastmodified : int
Return values
string|voidargumenter_inclure()
argumenter_inclure(mixed $params, mixed $rejet_filtres, mixed $p, mixed &$boucles, mixed $id_boucle[, mixed $echap = true ][, mixed $lang = '' ][, mixed $fond1 = false ]) : mixed
Parameters
- $params : mixed
- $rejet_filtres : mixed
- $p : mixed
- $boucles : mixed
- $id_boucle : mixed
- $echap : mixed = true
- $lang : mixed = ''
- $fond1 : mixed = false
calculer_inclure()
Compile une inclusion <INCLURE> ou #INCLURE
calculer_inclure(Inclure $p, array<string|int, mixed> &$boucles, string $id_boucle) : string
Parameters
- $p : Inclure
-
Description de l'inclusion (AST au niveau de l'inclure)
- $boucles : array<string|int, mixed>
-
AST du squelette
- $id_boucle : string
-
Identifiant de la boucle contenant l'inclure
Return values
string —Code PHP appelant l'inclusion
instituer_boucle()
Gérer les statuts declarés pour cette table
instituer_boucle(Boucle &$boucle[, bool $echapper = true ][, bool $ignore_previsu = false ]) : mixed
S'il existe des statuts sur cette table, déclarés dans la description d'un objet éditorial, applique leurs contraintes
Parameters
- $boucle : Boucle
-
Descrition de la boucle
- $echapper : bool = true
-
true pour échapper le code créé
- $ignore_previsu : bool = false
-
true pour ne tester que le cas publie et ignorer l'eventuel var_mode=preview de la page
calculer_boucle()
Produit le corps PHP d'une boucle Spip.
calculer_boucle(string $id_boucle, array<string|int, mixed> &$boucles) : string
Ce corps remplit une variable $t0 retournée en valeur. Ici on distingue boucles recursives et boucle à requête SQL et on insère le code d'envoi au debusqueur du resultat de la fonction.
Parameters
- $id_boucle : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
Return values
string —Code PHP compilé de la boucle
calculer_boucle_nonrec()
Compilation d'une boucle (non recursive).
calculer_boucle_nonrec(string $id_boucle, array<string|int, mixed> &$boucles, string $trace) : string
Parameters
- $id_boucle : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $trace : string
-
Code PHP (en mode debug uniquement) servant à conserver une trace des premières valeurs de la boucle afin de pouvoir les afficher dans le débugueur ultérieurement
Return values
string —Code PHP compilé de la boucle récursive
calculer_requete_sql()
Calcule le code PHP d'une boucle contenant les informations qui produiront une requête SQL
calculer_requete_sql(Boucle $boucle) : string
Le code produit est un tableau associatif $command contenant les informations
pour que la boucle produise ensuite sa requête, tel que $command['from'] = 'spip_articles';
Parameters
- $boucle : Boucle
-
AST de la boucle
Return values
string —Code PHP compilé définissant les informations de requête
memoriser_contexte_compil()
Retourne une chaîne des informations du contexte de compilation
memoriser_contexte_compil(object $p) : string
Retourne la source, le nom, l'identifiant de boucle, la ligne, la langue de l'élément dans une chaîne.
Parameters
- $p : object
-
Objet de l'AST dont on mémorise le contexte
Tags
Return values
string —Informations du contexte séparés par des virgules, qui peut être utilisé pour la production d'un tableau array()
reconstruire_contexte_compil()
Reconstruit un contexte de compilation
reconstruire_contexte_compil(array<string|int, mixed> $context_compil) : Contexte
Pour un tableau d'information de contexte donné, retourne un objet Contexte (objet générique de l'AST) avec ces informations
Parameters
- $context_compil : array<string|int, mixed>
-
Tableau des informations du contexte
Tags
Return values
Contexte —Objet Contexte
calculer_dec()
Calcule le code d'affectation d'une valeur à une commande de boucle
calculer_dec(string $nom, string $val) : array<string|int, mixed>
Décrit le code qui complète le tableau $command qui servira entre autres à l'itérateur. Pour un nom de commande donnée et un code PHP décrivant ou récupérant une valeur, on retourne le code PHP qui fait l'affectation.
L'index 0 du tableau retourné indique, lorsqu'il n'est pas vide, que l'affectation de la variable pourra être statique (c'est à dire qu'il ne dépend pas d'une quelconque variable PHP), et donc attribué une fois pour toutes quelque soit le nombre d'appels de la boucle.
Parameters
- $nom : string
-
Nom de la commande
- $val : string
-
Code PHP décrivant la valeur à affecter
Return values
array<string|int, mixed> —- index 0 : Code pour une affectation statique. Si non rempli, la propriété devra être ré-affectée à chaque appel de la boucle.
- index 1 : Code de l'affectation
calculer_dump_array()
Calcule l'expression PHP décrivant un tableau complexe (ou une chaîne)
calculer_dump_array(mixed $a) : string
Lorsqu'un tableau est transmis, reconstruit de quoi créer le tableau en code PHP (une sorte de var_export) en appelant pour chaque valeur cette fonction de manière récursive.
Si le premier index (0) du tableau est "'?'", retourne un code de test entre les 3 autres valeurs (v1 ? v2 : v3). Les valeurs pouvant être des tableaux aussi.
Parameters
- $a : mixed
-
Les données dont on veut construire un équivalent de var_export
Return values
string —Expression PHP décrivant un texte ou un tableau
calculer_dump_join()
calculer_dump_join(mixed $a) : mixed
Parameters
- $a : mixed
calculer_from()
Calcule l'expression PHP décrivant les informations FROM d'une boucle
calculer_from(Boucle &$boucle) : string
Parameters
- $boucle : Boucle
-
Description de la boucle
Return values
string —Code PHP construisant un tableau des alias et noms des tables du FROM
calculer_from_type()
Calcule l'expression PHP décrivant des informations de type de jointure pour un alias de table connu dans le FROM
calculer_from_type(Boucle &$boucle) : string
Parameters
- $boucle : Boucle
-
Description de la boucle
Return values
string —Code PHP construisant un tableau des alias et type de jointure du FROM
calculer_order()
calculer_order(mixed &$boucle) : mixed
Parameters
- $boucle : mixed
calculer_liste()
calculer_liste(mixed $tableau, mixed $descr, mixed &$boucles[, mixed $id_boucle = '' ]) : mixed
Parameters
- $tableau : mixed
- $descr : mixed
- $boucles : mixed
- $id_boucle : mixed = ''
Tags
compile_cas()
compile_cas(array<string|int, mixed> $tableau, array<string|int, mixed> $descr, array<string, Boucle> &$boucles, string $id_boucle) : array<string|int, mixed>|false
Parameters
- $tableau : array<string|int, mixed>
- $descr : array<string|int, mixed>
- $boucles : array<string, Boucle>
- $id_boucle : string
Tags
Return values
array<string|int, mixed>|falsecompile_concatene_parties_codes()
Concatene 2 parties de code, en simplifiant si l'une des 2 est vides
compile_concatene_parties_codes(string $partie1, string $partie2) : string
Parameters
- $partie1 : string
- $partie2 : string
Return values
stringcompile_retour()
production d'une expression conditionnelle ((v=EXP) ? (p . v .s) : a) mais si EXP est de la forme (t ? 'C' : '') on produit (t ? (p . C . s) : a) de meme si EXP est de la forme (t ? '' : 'C')
compile_retour(string $code, string $avant, string $apres, string $altern, string $tab, int $n) : mixed|string
Parameters
- $code : string
-
le code principal, dont le resultat conditionnera le reste
- $avant : string
-
la partie conditionnelle avant, qui est calculee apres le code, mais s'affiche avant si le code produit un resultat
- $apres : string
-
la partie conditionnelle apres, qui est calculee apres le code, et s'affiche apres si le code produit un resultat
- $altern : string
-
la partie alternative apres, qui est calculee apres le code, et s'affiche apres, si le code ne produit pas de resultat
- $tab : string
-
tabulation
- $n : int
-
compteur
Return values
mixed|stringcompile_inclure_doublons()
compile_inclure_doublons(mixed $lexemes) : mixed
Parameters
- $lexemes : mixed
public_compiler_dist()
public_compiler_dist(mixed $squelette, mixed $nom, mixed $gram, mixed $sourcefile[, string $connect = '' ]) : mixed
Parameters
- $squelette : mixed
- $nom : mixed
- $gram : mixed
- $sourcefile : mixed
- $connect : string = ''
compiler_squelette()
compiler_squelette(mixed $squelette, mixed $boucles, mixed $nom, mixed $descr, mixed $sourcefile[, string $connect = '' ]) : mixed
Parameters
- $squelette : mixed
- $boucles : mixed
- $nom : mixed
- $descr : mixed
- $sourcefile : mixed
- $connect : string = ''
requeteur_php_dist()
Requeteur pour les boucles (php:nom_iterateur)
requeteur_php_dist(array<string, Boucle> &$boucles, Boucle &$boucle, string &$id) : mixed
Analyse si le nom d'iterateur correspond bien a une classe PHP existante et dans ce cas charge la boucle avec cet iterateur. Affichera une erreur dans le cas contraire.
Parameters
- $boucles : array<string, Boucle>
-
Liste des boucles
- $boucle : Boucle
-
La boucle parcourue
- $id : string
-
L'identifiant de la boucle parcourue
requeteur_data_dist()
Requeteur pour les boucles (data:type de donnee) note: (DATA) tout court ne passe pas par ici.
requeteur_data_dist(array<string, Boucle> &$boucles, Boucle &$boucle, string &$id) : mixed
Analyse si le type de donnee peut etre traite et dans ce cas charge la boucle avec cet iterateur. Affichera une erreur dans le cas contraire.
Parameters
- $boucles : array<string, Boucle>
-
Liste des boucles
- $boucle : Boucle
-
La boucle parcourue
- $id : string
-
L'identifiant de la boucle parcourue
public_composer_dist()
public_composer_dist(mixed $squelette, mixed $mime_type, mixed $gram, mixed $source[, string $connect = '' ]) : mixed
Parameters
- $squelette : mixed
- $mime_type : mixed
- $gram : mixed
- $source : mixed
- $connect : string = ''
squelette_traduit()
squelette_traduit(mixed $squelette, mixed $sourcefile, mixed $phpfile, mixed $boucles) : mixed
Parameters
- $squelette : mixed
- $sourcefile : mixed
- $phpfile : mixed
- $boucles : mixed
squelette_obsolete()
squelette_obsolete(mixed $skel, mixed $squelette) : mixed
Parameters
- $skel : mixed
- $squelette : mixed
invalideur_session()
invalideur_session(mixed &$Cache[, mixed $code = null ]) : mixed
Parameters
- $Cache : mixed
- $code : mixed = null
analyse_resultat_skel()
analyse_resultat_skel(mixed $nom, mixed $cache, mixed $corps[, mixed $source = '' ]) : mixed
Parameters
- $nom : mixed
- $cache : mixed
- $corps : mixed
- $source : mixed = ''
synthetiser_balise_dynamique()
Synthétise une balise dynamique : crée l'appel à l'inclusion en transmettant les arguments calculés et le contexte de compilation.
synthetiser_balise_dynamique(string $nom, array<string|int, mixed> $args, string $file, array<string|int, mixed> $context_compil) : string
Parameters
- $nom : string
-
Nom de la balise dynamique
- $args : array<string|int, mixed>
-
Liste des arguments calculés
- $file : string
-
Chemin du fichier de squelette à inclure
- $context_compil : array<string|int, mixed>
-
Tableau d'informations sur la compilation
Tags
Return values
string —Code PHP pour inclure le squelette de la balise dynamique
argumenter_squelette()
Crée le code PHP pour transmettre des arguments (généralement pour une inclusion)
argumenter_squelette(array<string|int, mixed>|string $v) : string
Parameters
- $v : array<string|int, mixed>|string
-
Arguments à transmettre :
- string : un simple texte à faire écrire
- array : couples ('nom' => 'valeur') liste des arguments et leur valeur
Tags
Return values
string —- Code PHP créant le tableau des arguments à transmettre,
- ou texte entre quote
'
(si$v
était une chaîne)
executer_balise_dynamique_dans_un_modele()
Fonction proxy pour retarder le calcul d'un formulaire si on est au depart dans un modele
executer_balise_dynamique_dans_un_modele(mixed ...$args) : string
un modele est toujours inséré en texte dans son contenant donc si on est dans le public avec un cache on va perdre le dynamisme et on risque de mettre en cache les valeurs pre-remplies du formulaire on passe donc par une fonction proxy qui si besoin va collecter les arguments et injecter le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction (dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave))
Parameters
- $args : mixed
Tags
Return values
stringexecuter_balise_dynamique()
Calcule et retourne le code PHP retourné par l'exécution d'une balise dynamique.
executer_balise_dynamique(string $nom, array<string|int, mixed> $args, array<string|int, mixed> $context_compil) : string
Vérifier les arguments et filtres et calcule le code PHP à inclure.
- charge le fichier PHP de la balise dynamique dans le répertoire
balise/
, soit du nom complet de la balise, soit d'un nom générique (comme 'formulaire_.php'). Dans ce dernier cas, le nom de la balise est ajouté en premier argument. - appelle une éventuelle fonction de traitement des arguments
balise_NOM_stat()
- crée le code PHP de la balise si une fonction
balise_NOM_dyn()
(ou variantes) est effectivement trouvée.
Parameters
- $nom : string
-
Nom de la balise dynamique
- $args : array<string|int, mixed>
-
Liste des arguments calculés de la balise
- $context_compil : array<string|int, mixed>
-
Tableau d'informations sur la compilation
Tags
Return values
string —Code PHP d'exécutant l'inclusion du squelette (ou texte) de la balise dynamique
chercher_balise_generique()
Pour une balise "NOM" donné, cherche s'il existe une balise générique qui peut la traiter
chercher_balise_generique(string $nom) : array<string|int, mixed>|null
Le nom de balise doit contenir au moins un souligné "A_B", auquel cas on cherche une balise générique "A_"
S'il y a plus d'un souligné, tel que "A_B_C_D" on cherche différentes balises génériques en commençant par la plus longue possible, tel que "A_B_C_", sinon "A_B_" sinon "A_"
Parameters
- $nom : string
Return values
array<string|int, mixed>|nulllang_select_public()
Selectionner la langue de l'objet dans la boucle
lang_select_public(string $lang, string $lang_select[, null|string $titre = null ]) : mixed
Applique sur un item de boucle la langue de l'élément qui est parcourru. Sauf dans les cas ou il ne le faut pas !
La langue n'est pas modifiée lorsque :
- la globale 'forcer_lang' est définie à true
- l'objet ne définit pas de langue
- le titre contient une balise multi.
Parameters
- $lang : string
-
Langue de l'objet
- $lang_select : string
-
'oui' si critère lang_select est présent, '' sinon.
- $titre : null|string = null
-
Titre de l'objet
Tags
nettoyer_env_doublons()
nettoyer_env_doublons(mixed $envd) : mixed
Parameters
- $envd : mixed
match_self()
Cherche la présence d'un opérateur SELF ou SUBSELECT
match_self(string|array<string|int, mixed> $w) : string|bool
Cherche dans l'index 0 d'un tableau, la valeur SELF ou SUBSELECT indiquant pour une expression WHERE de boucle que nous sommes face à une sous-requête.
Cherche de manière récursive également dans les autres valeurs si celles-ci sont des tableaux
Parameters
- $w : string|array<string|int, mixed>
-
Description d'une condition WHERE de boucle (ou une partie de cette description)
Return values
string|bool —Opérateur trouvé (SELF ou SUBSELECT) sinon false.
remplace_sous_requete()
Remplace une condition décrivant une sous requête par son code
remplace_sous_requete(array<string|int, mixed>|string $w, string $sousrequete) : array<string|int, mixed>|string
Parameters
- $w : array<string|int, mixed>|string
-
Description d'une condition WHERE de boucle (ou une partie de cette description) qui possède une description de sous-requête
- $sousrequete : string
-
Code PHP de la sous requête (qui doit remplacer la description)
Return values
array<string|int, mixed>|string —Tableau de description du WHERE dont la description de sous-requête est remplacée par son code.
trouver_sous_requetes()
Sépare les conditions de boucles simples de celles possédant des sous-requêtes.
trouver_sous_requetes(array<string|int, mixed> $where) : array<string|int, mixed>
Parameters
- $where : array<string|int, mixed>
-
Description d'une condition WHERE de boucle
Return values
array<string|int, mixed> —Liste de 2 tableaux :
- Conditions simples (ne possédant pas de sous requêtes)
- Conditions avec des sous requêtes
calculer_select()
calculer_select(mixed ...$args) : mixed
Parameters
- $args : mixed
Tags
preparer_calculer_select()
Calcule une requête et l’exécute
preparer_calculer_select([array<string|int, mixed> $select = [] ][, array<string|int, mixed> $from = [] ][, array<string|int, mixed> $from_type = [] ][, array<string|int, mixed> $where = [] ][, array<string|int, mixed> $join = [] ][, array<string|int, mixed> $groupby = [] ][, array<string|int, mixed> $orderby = [] ][, string $limit = '' ][, array<string|int, mixed> $having = [] ][, string $table = '' ][, string $id = '' ][, string $serveur = '' ][, bool|array<string|int, mixed>|string $requeter = true ]) : array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}
Cette fonction est présente dans les squelettes compilés. Elle peut permettre de générer des requêtes avec jointure.
Parameters
- $select : array<string|int, mixed> = []
- $from : array<string|int, mixed> = []
- $from_type : array<string|int, mixed> = []
- $where : array<string|int, mixed> = []
- $join : array<string|int, mixed> = []
- $groupby : array<string|int, mixed> = []
- $orderby : array<string|int, mixed> = []
- $limit : string = ''
- $having : array<string|int, mixed> = []
- $table : string = ''
- $id : string = ''
- $serveur : string = ''
- $requeter : bool|array<string|int, mixed>|string = true
Return values
array{select: array, from: array, where: array, orderby: string, having: array, serveur: string, requeter: bool|array|string, debug: array}executer_calculer_select()
executer_calculer_select(array<string|int, mixed> $requete) : mixed
Parameters
- $requete : array<string|int, mixed>
compter_calculer_select()
compter_calculer_select(array<string|int, mixed> $requete) : int
Parameters
- $requete : array<string|int, mixed>
Return values
intcalculer_where_to_string()
Analogue a calculer_mysql_expression et autre (a unifier ?)
calculer_where_to_string(string|array<string|int, mixed> $v[, string $join = 'AND' ]) : string
Parameters
- $v : string|array<string|int, mixed>
- $join : string = 'AND'
Return values
stringcalculer_jointnul()
calculer_jointnul(mixed $cle, mixed $exp[, mixed $equiv = '' ]) : mixed
Parameters
- $cle : mixed
- $exp : mixed
- $equiv : mixed = ''
reinjecte_joint()
reinjecte_joint(mixed $afrom, mixed $from) : mixed
Parameters
- $afrom : mixed
- $from : mixed
remplacer_jointnul()
remplacer_jointnul(mixed $cle, mixed $exp[, mixed $equiv = '' ]) : mixed
Parameters
- $cle : mixed
- $exp : mixed
- $equiv : mixed = ''
calculer_nom_fonction_squel()
calculer_nom_fonction_squel(mixed $skel[, mixed $mime_type = 'html' ][, string $connect = '' ]) : mixed
Parameters
- $skel : mixed
- $mime_type : mixed = 'html'
- $connect : string = ''
critere_racine_dist()
Compile le critère {racine}
critere_racine_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Ce critère sélectionne les éléments à la racine d'une hiérarchie, c'est à dire ayant id_parent=0
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_exclus_dist()
Compile le critère {exclus}
critere_exclus_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>
Exclut du résultat l’élément dans lequel on se trouve déjà
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
Return values
void|array<string|int, mixed>critere_doublons_dist()
Compile le critère {doublons} ou {unique}
critere_doublons_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>
Ce critères enlève de la boucle les éléments déjà sauvegardés dans un précédent critère {doublon} sur une boucle de même table.
Il est possible de spécifier un nom au doublon tel que {doublons sommaire}
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
Return values
void|array<string|int, mixed>critere_lang_select_dist()
Compile le critère {lang_select}
critere_lang_select_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Ce critère indique d'utiliser la langue de l'objet de la boucle comme langue du contexte intérieur de la boucle.
Cela revient à faire [(#LANG|lang_select)]
en tout début de boucle.
En conséquence, _T
utiliseront la langue de l'objet
au lieu de la langue du contexte global.
Certaines boucles telles que articles et rubriques ont ce comportement par défaut.
Le critère accepte un paramètre optionnel :
- '' ou 'oui' pour activer ce comportement.
- 'non' pour désactiver ce comportement.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_debut_dist()
Compile le critère {debut_xxx}
critere_debut_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Limite le nombre d'éléments affichés.
Ce critère permet de faire commencer la limitation des résultats par une variable passée dans l’URL et commençant par 'debut_' tel que {debut_page,10}. Le second paramètre est le nombre de résultats à afficher.
Note : il est plus simple d'utiliser le critère pagination.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_pagination_dist()
Compile le critère `pagination` qui demande à paginer une boucle.
critere_pagination_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Demande à paginer la boucle pour n'afficher qu'une partie des résultats, et gère l'affichage de la partie de page demandée par debut_xx dans dans l'environnement du squelette.
Le premier paramètre indique le nombre d'éléments par page, le second,
rarement utilisé permet de définir le nom de la variable désignant la
page demandée (debut_xx
), qui par défaut utilise l'identifiant de la boucle.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_recherche_dist()
Compile le critère `recherche` qui permet de sélectionner des résultats d'une recherche.
critere_recherche_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Le texte cherché est pris dans le premier paramètre {recherche xx}
ou à défaut dans la clé recherche
de l'environnement du squelette.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_traduction_dist()
Compile le critère `traduction`
critere_traduction_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Sélectionne toutes les traductions de l'élément courant (la boucle englobante) en différentes langues (y compris l'élément englobant)
Équivalent à (id_trad>0 AND id_trad=id_trad(precedent)) OR id_xx=id_xx(precedent)
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_origine_traduction_dist()
Compile le critère {origine_traduction}
critere_origine_traduction_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Sélectionne les éléments qui servent de base à des versions traduites (par exemple les articles "originaux" sur une boucle articles)
Équivalent à (id_trad>0 AND id_xx=id_trad) OR (id_trad=0)
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_meme_parent_dist()
Compile le critère {meme_parent}
critere_meme_parent_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>
Sélectionne les éléments ayant le même parent que la boucle parente, c'est à dire les frères et sœurs.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Return values
void|array<string|int, mixed>critere_branche_dist()
Compile le critère `branche` qui sélectionne dans une boucle les éléments appartenant à une branche d'une rubrique.
critere_branche_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Cherche l'identifiant de la rubrique en premier paramètre du critère {branche XX}
s'il est renseigné, sinon, sans paramètre ({branche}
tout court) dans les
boucles parentes. On calcule avec lui la liste des identifiants
de rubrique de toute la branche.
La boucle qui possède ce critère cherche une liaison possible avec
la colonne id_rubrique
, et tentera de trouver une jointure avec une autre
table si c'est nécessaire pour l'obtenir.
Ce critère peut être rendu optionnel avec {branche ?}
en remarquant
cependant que le test s'effectue sur la présence d'un champ 'id_rubrique'
sinon d'une valeur 'id_rubrique' dans l'environnement (et non 'branche'
donc).
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_logo_dist()
Compile le critère `logo` qui liste les objets qui ont un logo
critere_logo_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_groupby_dist()
Compile le critère `groupby` qui regroupe les éléments selon une colonne.
critere_groupby_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>
C'est la commande SQL «GROUP BY»
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
Return values
void|array<string|int, mixed>critere_groupby_supprimer_dist()
Compile le critère `groupby_supprimer` qui supprime toutes les fusions qui le précèdent
critere_groupby_supprimer_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void
Ce critère retire toutes les définitions de «GROUP BY» qui le précèdent. Par exemple pour en ajouter d'autres ensuite.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_fusion_dist()
Compile le critère `fusion` qui regroupe les éléments selon une colonne.
Utiliser {groupby}
critere_fusion_dist(mixed ...$args) : void|array<string|int, mixed>
Parameters
- $args : mixed
Return values
void|array<string|int, mixed>critere_fusion_supprimer_dist()
Compile le critère `fusion_supprimer` qui supprime toutes les fusions qui le précèdent
Utiliser {groupby_supprimer}
critere_fusion_supprimer_dist(mixed ...$args) : void
Parameters
- $args : mixed
critere_collate_dist()
Compile le critère `{collate}` qui permet de spécifier l'interclassement à utiliser pour les tris de la boucle.
critere_collate_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>
Cela permet avec le critère {par}
de trier un texte selon
l'interclassement indiqué. L'instruction s'appliquera sur les critères {par}
qui succèdent ce critère, ainsi qu'au critère {par}
précédent
si aucun interclassement ne lui est déjà appliqué.
Techniquement, c'est la commande SQL "COLLATE" qui utilisée. (elle peut être appliquée sur les order by, group by, where, like ...)
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
Return values
void|array<string|int, mixed>critere_collecte_dist()
Compile le critère `{collecte}` qui permet de spécifier l'interclassement à utiliser pour les tris de la boucle.
Utiliser {collate}
critere_collecte_dist(mixed ...$args) : void|array<string|int, mixed>
Parameters
- $args : mixed
Return values
void|array<string|int, mixed>calculer_critere_arg_dynamique()
calculer_critere_arg_dynamique(mixed $idb, mixed &$boucles, mixed $crit[, mixed $suffix = '' ]) : mixed
Parameters
- $idb : mixed
- $boucles : mixed
- $crit : mixed
- $suffix : mixed = ''
critere_par_dist()
Compile le critère `{par}` qui permet d'ordonner les résultats d'une boucle
critere_par_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Demande à trier la boucle selon certains champs (en SQL, la commande ORDER BY
).
Si plusieurs tris sont demandés (plusieurs fois le critère {par x}{par y}
dans une boucle ou plusieurs champs
séparés par des virgules dans le critère {par x, y, z}
), ils seront appliqués dans l'ordre.
Quelques particularités :
{par hasard}
: trie par hasard{par num titre}
: trie par numéro de titre{par multi titre}
: trie par la langue extraite d'une balise polyglotte<multi>
sur le champ titre{!par date}
: trie par date inverse en utilisant le champ date principal déclaré pour la table (si c'est un objet éditorial).{!par points}
: trie par pertinence de résultat de recherche (avec le critère{recherche}
){par FUNCTION_SQL(n)}
: trie en utilisant une fonction SQL (peut dépendre du moteur SQL utilisé). Exemple :{par SUBSTRING_INDEX(titre, ".", -1)}
(tri ~ alphabétique en ignorant les numéros de titres (exemple erroné car faux dès qu'un titre possède un point.)).{par table.champ}
: trie en effectuant une jointure sur la table indiquée.{par #BALISE}
: trie sur la valeur retournée par la balise (doit être un champ de la table, ou 'hasard').
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_parinverse()
Calculs pour le critère `{par}` ou `{inverse}` pour ordonner les résultats d'une boucle
critere_parinverse(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Les expressions intermédiaires {par expr champ}
sont calculées dans des fonctions
calculer_critere_par_expression_{expr}()
notamment {par num champ}
ou {par multi champ}
.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
calculer_critere_par_hasard()
Calculs pour le critère `{par hasard}`
calculer_critere_par_hasard(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : string
Ajoute le générateur d'aléatoire au SELECT de la boucle.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
Return values
string —Clause pour le Order by
calculer_critere_par_expression_num()
Calculs pour le critère `{par num champ}` qui extrait le numéro préfixant un texte
calculer_critere_par_expression_num(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $tri, string $champ) : string|array<string|int, mixed>
Tri par numéro de texte (tel que "10. titre"). Le numéro calculé est ajouté au SELECT
de la boucle. L'écriture {par num #ENV{tri}}
est aussi prise en compte.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
- $tri : array<string|int, mixed>
-
Paramètre en cours du critère
- $champ : string
-
texte suivant l'expression ('titre' dans {par num titre})
Tags
Return values
string|array<string|int, mixed> —Clause pour le Order by (array si erreur)
calculer_critere_par_expression_sinum()
Calculs pour le critère `{par sinum champ}` qui ordonne les champs avec numéros en premier
calculer_critere_par_expression_sinum(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $tri, string $champ) : string|array<string|int, mixed>
Ajoute au SELECT la valeur 'sinum' qui vaut 0 si le champ a un numéro, 1 s'il n'en a pas.
Ainsi {par sinum titre, num titre, titre}
mettra les éléments sans numéro en fin de liste,
contrairement à {par num titre, titre}
seulement.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
- $tri : array<string|int, mixed>
-
Paramètre en cours du critère
- $champ : string
-
texte suivant l'expression ('titre' dans {par sinum titre})
Tags
Return values
string|array<string|int, mixed> —Clause pour le Order by (array si erreur)
calculer_critere_par_expression_multi()
Calculs pour le critère `{par multi champ}` qui extrait la langue en cours dans les textes ayant des balises `<multi>` (polyglottes)
calculer_critere_par_expression_multi(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $tri, string $champ) : string|array<string|int, mixed>
Ajoute le calcul du texte multi extrait dans le SELECT de la boucle.
Il ne peut y avoir qu'un seul critère de tri multi
par boucle.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
- $tri : array<string|int, mixed>
-
Paramètre en cours du critère
- $champ : string
-
texte suivant l'expression ('titre' dans {par multi titre})
Tags
Return values
string|array<string|int, mixed> —Clause pour le Order by (array si erreur)
calculer_critere_par_champ()
Retourne le champ de tri demandé en ajoutant éventuellement les jointures nécessaires à la boucle.
calculer_critere_par_champ(string $idb, array<string|int, mixed> &$boucles, Critere $crit, string $par[, bool $raw = false ]) : array<string|int, mixed>|string
- si le champ existe dans la table, on l'utilise
- si c'est une exception de jointure, on l'utilise (et crée la jointure au besoin)
- si c'est un champ dont la jointure est déjà présente on la réutilise
- si c'est un champ dont la jointure n'est pas présente, on la crée.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
- $par : string
-
Nom du tri à analyser ('champ' ou 'table.champ')
- $raw : bool = false
-
Retourne le champ pour le compilateur ("'alias.champ'") ou brut ('alias.champ')
Tags
Return values
array<string|int, mixed>|stringcritere_inverse_dist()
Compile le critère `{inverse}` qui inverse l'ordre utilisé par le précédent critère `{par}`
critere_inverse_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Accèpte un paramètre pour déterminer le sens : {inverse #X}
utilisera un tri croissant (ASC)
si la valeur retournée par #X
est considérée vrai (true
),
le sens contraire (DESC) sinon.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_par_ordre_liste_dist()
{par_ordre_liste champ,#LISTE{...}} pour trier selon une liste en retournant en premier les éléments de la liste
critere_par_ordre_liste_dist(string $idb, array<string, Boucle> &$boucles, Critere $crit) : void|array<string|int, mixed>
Parameters
- $idb : string
- $boucles : array<string, Boucle>
- $crit : Critere
Return values
void|array<string|int, mixed>critere_agenda_dist()
critere_agenda_dist(mixed $idb, mixed &$boucles, mixed $crit) : mixed
Parameters
- $idb : mixed
- $boucles : mixed
- $crit : mixed
calculer_critere_parties()
Compile les critères {i,j} et {i/j}
calculer_critere_parties(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Le critère {i,j} limite l'affiche de la boucle en commançant l'itération au i-ème élément, et pour j nombre d'éléments. Le critère {n-i,j} limite en commençant au n moins i-ème élément de boucle Le critère {i,n-j} limite en terminant au n moins j-ème élément de boucle.
Le critère {i/j} affiche une part d'éléments de la boucle. Commence à i*n/j élément et boucle n/j éléments. {2/4} affiche le second quart des éléments d'une boucle.
Traduit si possible (absence de n dans {i,j}) la demande en une expression LIMIT du gestionnaire SQL
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
calculer_parties()
Compile certains critères {i,j} et {i/j}
calculer_parties(array<string|int, mixed> &$boucles, string $id_boucle, string $debut, string $mode[, string $total_parties = null ]) : mixed
Calcule une expression déterminant $debut_boucle et $fin_boucle (le début et la fin des éléments de la boucle qui doivent être affichés) et les déclare dans la propriété «mode_partie» de la boucle, qui se charge également de déplacer le pointeur de boucle sur le premier élément à afficher.
Place dans la propriété partie un test vérifiant que l'élément de boucle en cours de lecture appartient bien à la plage autorisée. Trop tôt, passe à l'élément suivant, trop tard, sort de l'itération de boucle.
Parameters
- $boucles : array<string|int, mixed>
-
AST du squelette
- $id_boucle : string
-
Identifiant de la boucle
- $debut : string
-
Valeur ou code pour trouver le début (i dans {i,j})
- $mode : string
-
Mode (++, p+, +- ...) : 2 signes début & fin
- le signe - indique -- qu'il faut soustraire debut du total {n-3,x}. 3 étant $debut -- qu'il faut raccourcir la fin {x,n-3} de 3 elements. 3 étant $total_parties
- le signe p indique une pagination
- $total_parties : string = null
-
Valeur ou code pour trouver la fin (j dans {i,j})
calculer_critere_parties_aux()
Analyse un des éléments des critères {a,b} ou {a/b}
calculer_critere_parties_aux(string $idb, array<string|int, mixed> &$boucles, array<string|int, mixed> $param) : array<string|int, mixed>
Pour l'élément demandé (a ou b) retrouve la valeur de l'élément, et de combien il est soustrait si c'est le cas comme dans {a-3,b}
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $param : array<string|int, mixed>
-
Paramètre à analyser (soit a, soit b dans {a,b} ou {a/b})
Return values
array<string|int, mixed> —Valeur de l'élément (peut être une expression PHP), Nombre soustrait
calculer_criteres()
Compile les critères d'une boucle
calculer_criteres(string $idb, array<string|int, mixed> &$boucles) : string|array<string|int, mixed>
Cette fonction d'aiguillage cherche des fonctions spécifiques déclarées pour chaque critère demandé, dans l'ordre ci-dessous :
- critere_{serveur}{table}{critere}, sinon avec _dist
- critere_{serveur}_{critere}, sinon avec _dist
- critere_{table}_{critere}, sinon avec _dist
- critere_{critere}, sinon avec _dist
- calculer_critere_defaut, sinon avec _dist
Émet une erreur de squelette si un critère retourne une erreur.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
Return values
string|array<string|int, mixed> —string : Chaine vide sans erreur array : Erreur sur un des critères
kwote()
Désemberlificote les guillements et échappe (ou fera échapper) le contenu... Madeleine de Proust, revision MIT-1958 sqq, revision CERN-1989 hum, c'est kwoi cette fonxion ? on va dire qu'elle desemberlificote les guillemets.
kwote(string $lisp[, string $serveur = '' ][, string $type = '' ]) : string
..
Parameters
- $lisp : string
-
Code compilé
- $serveur : string = ''
-
Connecteur de bdd utilisé
- $type : string = ''
-
Type d'échappement (char, int...)
Return values
string —Code compilé rééchappé
critere_IN_dist()
Compile un critère possédant l'opérateur IN : {xx IN yy}
critere_IN_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>
Permet de restreindre un champ sur une liste de valeurs tel que {id_article IN 3,4} {id_article IN #LISTE{3,4}}
Si on a une liste de valeurs dans #ENV{x}, utiliser la double etoile pour faire par exemple {id_article IN #ENV**{liste_articles}}
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Return values
void|array<string|int, mixed>critere_IN_cas()
critere_IN_cas(mixed $idb, mixed &$boucles, mixed $crit2, mixed $arg, mixed $op, mixed $val, mixed $col) : mixed
Parameters
- $idb : mixed
- $boucles : mixed
- $crit2 : mixed
- $arg : mixed
- $op : mixed
- $val : mixed
- $col : mixed
critere_where_dist()
Compile le critère {where}
critere_where_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Ajoute une contrainte sql WHERE, tout simplement pour faire le pont entre php et squelettes, en utilisant la syntaxe attendue par la propriété $where d'une Boucle.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_having_dist()
Compile le critère {having}
critere_having_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Ajoute une contrainte sql HAVING, pour faire le pont entre php et squelettes, en utilisant la syntaxe attendue par la propriété $having d'une Boucle.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_id__dist()
Compile le critère `{id_?}`
critere_id__dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Ajoute automatiquement à la boucle des contraintes (nommées sélections conditionnelles)
équivalentes à {id_article ?}{id_rubrique ?}...
, adaptées à la table en cours d’utilisation.
Les champs sélectionnés par défaut sont :
- chaque champ id_xx de la table en cours d’utilisation (par exemple id_secteur sur la boucle ARTICLES)
- un champ 'objet', si cette table en dispose
- chaque clé primaire des tables des objets éditoriaux, s’ils sont éditables et liables (par exemple id_mot).
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
lister_champs_id_conditionnel()
Liste les champs qui peuvent servir de selection conditionnelle à une table SQL
lister_champs_id_conditionnel(string $table[, array<string|int, mixed>|null $desc = null ][, string $serveur = '' ]) : array<string|int, mixed>
Retourne, pour la table demandée :
- chaque champ id_xx de la table en cours d’utilisation (par exemple id_secteur sur la boucle ARTICLES)
- un champ 'objet' si la table le contient (pour les tables avec objet / id_objet par exemple)
- chaque clé primaire des tables des objets éditoriaux qui peuvent se lier facilement à cette table, -- soit parce que sa clé primaire de la table demandée est un champ dans la table principale -- soit parce qu’une table de liaison existe, d’un côté ou de l’autre
Parameters
- $table : string
-
Nom de la table SQL
- $desc : array<string|int, mixed>|null = null
-
Description de la table SQL, si connu
- $serveur : string = ''
-
Connecteur sql a utiliser
Tags
Return values
array<string|int, mixed> —Liste de nom de champs (tel que id_article, id_mot, id_parent ...)
critere_tri_dist()
Compile le critère `{tri}` permettant le tri dynamique d'un champ
critere_tri_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Le critère {tri}
gère un champ de tri qui peut être modifié dynamiquement par la balise #TRI
.
Il s'utilise donc conjointement avec la balise #TRI
dans la même boucle
pour génerér les liens qui permettent de changer le critère de tri et le sens du tri
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
calculer_critere_DEFAUT_dist()
Compile un critère non déclaré explicitement
calculer_critere_DEFAUT_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : void|array<string|int, mixed>
Compile les critères non déclarés, ainsi que les parties de boucles avec les critères {0,1} ou {1/2}
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Return values
void|array<string|int, mixed>calculer_critere_DEFAUT_args()
Compile un critère non déclaré explicitement, dont on reçoit une analyse
calculer_critere_DEFAUT_args(string $idb, array<string|int, mixed> &$boucles, Critere $crit, array<string|int, mixed> $args) : mixed
Ajoute en fonction des arguments trouvés par calculer_critere_infixe() les conditions WHERE à appliquer sur la boucle.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
- $args : array<string|int, mixed>
-
Description du critère Cf. retour de calculer_critere_infixe()
Tags
calculer_critere_infixe()
Décrit un critère non déclaré explicitement
calculer_critere_infixe(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : array<string|int, mixed>|string
Décrit un critère non déclaré comme {id_article} {id_article>3} en retournant un tableau de l'analyse si la colonne (ou l'alias) existe vraiment.
Ajoute au passage pour chaque colonne utilisée (alias et colonne véritable) un modificateur['criteres'][colonne].
S'occupe de rechercher des exceptions, tel que
- les id_parent, id_enfant, id_secteur,
- des colonnes avec des exceptions déclarées,
- des critères de date (jour_relatif, ...),
- des critères sur tables jointes explicites (mots.titre),
- des critères sur tables de jointure non explicite (id_mot sur une boucle articles...)
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Return values
array<string|int, mixed>|string —Liste si on trouve le champ :
- string $arg Opérande avant l'opérateur : souvent la colonne d'application du critère, parfois un calcul plus complexe dans le cas des dates.
- string $op L'opérateur utilisé, tel que '='
- string[] $val Liste de codes PHP obtenant les valeurs des comparaisons (ex: id_article sur la boucle parente) Souvent (toujours ?) un tableau d'un seul élément.
- $col_alias
- $where_complement
Chaîne vide si on ne trouve pas le champ...
calculer_critere_infixe_externe()
Décrit un critère non déclaré explicitement, sur un champ externe à la table
calculer_critere_infixe_externe(Boucle $boucle, Critere $crit, string $op, array<string|int, mixed> $desc, string $col, string $col_alias, string $table) : array<string|int, mixed>|string
Décrit un critère non déclaré comme {id_article} {id_article>3} qui correspond à un champ non présent dans la table, et donc à retrouver par jointure si possible.
Parameters
- $boucle : Boucle
-
Description de la boucle
- $crit : Critere
-
Paramètres du critère dans cette boucle
- $op : string
-
L'opérateur utilisé, tel que '='
- $desc : array<string|int, mixed>
-
Description de la table
- $col : string
-
Nom de la colonne à trouver (la véritable)
- $col_alias : string
-
Alias de la colonne éventuel utilisé dans le critère ex: id_enfant
- $table : string
-
Nom de la table SQL de la boucle
Return values
array<string|int, mixed>|string —Liste si jointure possible :
- string $col
- string $col_alias
- string $table
- array $where
- array $desc
Chaîne vide si on ne trouve pas le champ par jointure...
primary_doublee()
Calcule une condition WHERE entre un nom du champ et une valeur
primary_doublee(array<string|int, mixed> $decompose, string $table) : array<string|int, string>
Ne pas appliquer sql_quote lors de la compilation, car on ne connait pas le serveur SQL
Parameters
- $decompose : array<string|int, mixed>
-
Liste nom du champ, code PHP pour obtenir la valeur
- $table : string
-
Nom de la table
Tags
Return values
array<string|int, string> —Liste de 3 éléments pour une description where du compilateur :
- operateur (=),
- table.champ,
- valeur
calculer_critere_externe_init()
Champ hors table, ça ne peut être qu'une jointure.
calculer_critere_externe_init(Boucle &$boucle, array<string|int, mixed> $joints, string $col, array<string|int, mixed> $desc, bool $cond[, bool|string $checkarrivee = false ]) : string
On cherche la table du champ et on regarde si elle est déjà jointe Si oui et qu'on y cherche un champ nouveau, pas de jointure supplementaire Exemple: criteres {titre_mot=...}{type_mot=...} Dans les 2 autres cas ==> jointure (Exemple: criteres {type_mot=...}{type_mot=...} donne 2 jointures pour selectioner ce qui a exactement ces 2 mots-cles.
Parameters
- $boucle : Boucle
-
Description de la boucle
- $joints : array<string|int, mixed>
-
Liste de jointures possibles (ex: $boucle->jointures ou $boucle->jointures_explicites)
- $col : string
-
Colonne cible de la jointure
- $desc : array<string|int, mixed>
-
Description de la table
- $cond : bool
-
Flag pour savoir si le critère est conditionnel ou non
- $checkarrivee : bool|string = false
-
string : nom de la table jointe où on veut trouver le champ. n'a normalement pas d'appel sans $checkarrivee.
Return values
string —Alias de la table de jointure (Lx) Vide sinon.
calculer_lien_externe_init()
Générer directement une jointure via une table de lien spip_xxx_liens pour un critère {id_xxx}
calculer_lien_externe_init(Boucle &$boucle, array<string|int, mixed> $joints, string $col, array<string|int, mixed> $desc, bool $cond[, bool|string $checkarrivee = false ]) : string
Parameters
- $boucle : Boucle
-
Description de la boucle
- $joints : array<string|int, mixed>
-
Liste de jointures possibles (ex: $boucle->jointures ou $boucle->jointures_explicites)
- $col : string
-
Colonne cible de la jointure
- $desc : array<string|int, mixed>
-
Description de la table
- $cond : bool
-
Flag pour savoir si le critère est conditionnel ou non
- $checkarrivee : bool|string = false
-
string : nom de la table jointe où on veut trouver le champ. n'a normalement pas d'appel sans $checkarrivee.
Tags
Return values
string —Alias de la table de jointure (Lx)
trouver_champ()
Recherche la présence d'un champ dans une valeur de tableau
trouver_champ(string $champ, array<string|int, mixed> $where) : bool
Parameters
- $champ : string
-
Expression régulière pour trouver un champ donné. Exemple : /\barticles.titre\b/
- $where : array<string|int, mixed>
-
Tableau de valeurs dans lesquels chercher le champ.
Return values
bool —true si le champ est trouvé quelque part dans $where false sinon.
calculer_critere_infixe_ops()
Détermine l'operateur et les opérandes d'un critère non déclaré
calculer_critere_infixe_ops(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : array<string|int, mixed>
Lorsque l'opérateur n'est pas explicite comme sur {id_article>0} c'est l'opérateur '=' qui est utilisé.
Traite les cas particuliers id_parent, id_enfant, date, lang
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Return values
array<string|int, mixed> —Liste :
- string $fct Nom d'une fonction SQL sur le champ ou vide (ex: SUM)
- string $col Nom de la colonne SQL utilisée
- string $op Opérateur
- string[] $val Liste de codes PHP obtenant les valeurs des comparaisons (ex: id_article sur la boucle parente) Souvent un tableau d'un seul élément.
- string $args_sql Suite des arguments du critère. ?
calculer_vieux_in()
calculer_vieux_in(mixed $params) : mixed
Parameters
- $params : mixed
calculer_critere_infixe_date()
Calcule les cas particuliers de critères de date
calculer_critere_infixe_date(string $idb, array<string|int, mixed> &$boucles, string $col) : string|array<string|int, mixed>
Lorsque la colonne correspond à un critère de date, tel que jour, jour_relatif, jour_x, age, age_relatif, age_x...
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $col : string
-
Nom du champ demandé
Return values
string|array<string|int, mixed> —chaine vide si ne correspond pas à une date, sinon liste
- expression SQL de calcul de la date,
- nom de la colonne de date (si le calcul n'est pas relatif)
calculer_param_date()
Calcule l'expression SQL permettant de trouver un nombre de jours écoulés.
calculer_param_date(string $date_compare, string $date_orig) : string
Le calcul SQL retournera un nombre de jours écoulés entre la date comparée et la colonne SQL indiquée
Parameters
- $date_compare : string
-
Code PHP permettant d'obtenir le timestamp référent. C'est à partir de lui que l'on compte les jours
- $date_orig : string
-
Nom de la colonne SQL qui possède la date
Return values
string —Expression SQL calculant le nombre de jours écoulé entre une valeur de colonne SQL et une date.
critere_DATA_source_dist()
Compile le critère {source} d'une boucle DATA
critere_DATA_source_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Permet de déclarer le mode d'obtention des données dans une boucle DATA (premier argument) et les données (la suite).
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_DATA_datacache_dist()
Compile le critère {datacache} d'une boucle DATA
critere_DATA_datacache_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Permet de transmettre une durée de cache (time to live) utilisée pour certaines sources d'obtention des données (par exemple RSS), indiquant alors au bout de combien de temps la donnée est à réobtenir.
La durée par défaut est 1 journée.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_php_args_dist()
Compile le critère {args} d'une boucle PHP
critere_php_args_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Permet de passer des arguments à un iterateur non-spip (PHP:xxxIterator){args argument1, argument2, argument3}
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_DATA_liste_dist()
Compile le critère {liste} d'une boucle DATA
critere_DATA_liste_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Passe une liste de données à l'itérateur DATA
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_DATA_enum_dist()
Compile le critère {enum} d'une boucle DATA
critere_DATA_enum_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Passe les valeurs de début et de fin d'une énumération, qui seront vues comme une liste d'autant d'éléments à parcourir pour aller du début à la fin.
Cela utilisera la fonction range() de PHP.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_DATA_datapath_dist()
Compile le critère {datapath} d'une boucle DATA
critere_DATA_datapath_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Extrait un chemin d'un tableau de données
(DATA){datapath query.results}
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
critere_si_dist()
Compile le critère {si}
critere_si_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Le critère {si condition} est applicable à toutes les boucles et conditionne l'exécution de la boucle au résultat de la condition. La partie alternative de la boucle est alors affichée si une condition n'est pas remplie (comme lorsque la boucle ne ramène pas de résultat). La différence étant que si la boucle devait réaliser une requête SQL (par exemple une boucle ARTICLES), celle ci n'est pas réalisée si la condition n'est pas remplie.
Les valeurs de la condition sont forcément extérieures à cette boucle (sinon il faudrait l'exécuter pour connaître le résultat, qui doit tester si on exécute la boucle !)
Si plusieurs critères {si} sont présents, ils sont cumulés : si une seule des conditions n'est pas vérifiée, la boucle n'est pas exécutée.
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_noeud_dist()
Compile le critère {noeud}
critere_noeud_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Trouver tous les objets qui ont des enfants (les noeuds de l'arbre) {noeud} {!noeud} retourne les feuilles
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
critere_feuille_dist()
Compile le critère {feuille}
critere_feuille_dist(string $idb, array<string|int, mixed> &$boucles, Critere $crit) : mixed
Trouver tous les objets qui n'ont pas d'enfants (les feuilles de l'arbre) {feuille} {!feuille} retourne les noeuds
Parameters
- $idb : string
-
Identifiant de la boucle
- $boucles : array<string|int, mixed>
-
AST du squelette
- $crit : Critere
-
Paramètres du critère dans cette boucle
Tags
public_debusquer_dist()
Point d'entrée pour les erreurs de compilation
public_debusquer_dist([bool|string|array<string|int, mixed> $message = '' ][, string|Contexte $lieu = '' ][, array<string|int, mixed> $opt = [] ]) : null|string|array<string|int, mixed>|true|void
Point d'entrée pour les appels involontaires ($message non vide => erreur) et volontaires (var_mode et var_profile)
Si pas d'autorisation, les erreurs ne sont pas affichées (mais seront dans les logs)
Si l'erreur vient de SPIP, en parler sur spip@rezo.net
Parameters
- $message : bool|string|array<string|int, mixed> = ''
-
- Message d'erreur (string|array)
- false pour retourner le texte des messages d'erreurs
- vide pour afficher les messages d'erreurs
- $lieu : string|Contexte = ''
-
Contexte : lieu d'origine de l'erreur
- $opt : array<string|int, mixed> = []
-
Options pour debug ou tests unitaires
- 'erreurs' = 'get' : Retourne le tableau des erreurs
- 'erreurs' = 'reset' : Efface le tableau des erreurs
Return values
null|string|array<string|int, mixed>|true|void —- string si $message à false.
- array si $opt 'erreurs' = 'get'
- true si $opt 'erreurs' = 'reset'
debusquer_compose_message()
debusquer_compose_message(mixed $msg) : mixed
Parameters
- $msg : mixed
debusquer_bandeau()
debusquer_bandeau(mixed $erreurs) : mixed
Parameters
- $erreurs : mixed
debusquer_contexte()
Affiche proprement dans un tableau le contexte d'environnement
debusquer_contexte(array<string|int, mixed>|string $env) : string
Parameters
- $env : array<string|int, mixed>|string
Return values
string —Code HTML
debusquer_loger_erreur()
debusquer_loger_erreur(mixed $msg, mixed $lieu) : mixed
Parameters
- $msg : mixed
- $lieu : mixed
debusquer_navigation()
debusquer_navigation(mixed $tableau[, mixed $caption = [] ][, mixed $id = 'debug-nav' ]) : mixed
Parameters
- $tableau : mixed
- $caption : mixed = []
- $id : mixed = 'debug-nav'
debusquer_requete()
Retourne le texte d'un message d'erreur de requête
debusquer_requete(array<string|int, mixed> $message) : string|array<string|int, mixed>
Si une boucle cree des soucis, on peut afficher la requete fautive avec son code d'erreur
Parameters
- $message : array<string|int, mixed>
-
Description du message en 3 éléments :
- numéro d'erreur
- texte de l'erreur
- requête en erreur
Return values
string|array<string|int, mixed> —Retourne le texte de l'erreur a afficher ou un tableau si l'erreur est critique
trouve_boucle_debug()
trouve_boucle_debug(mixed $n, mixed $nom[, mixed $debut = 0 ][, mixed $boucle = '' ]) : mixed
Parameters
- $n : mixed
- $nom : mixed
- $debut : mixed = 0
- $boucle : mixed = ''
trouve_squelette_inclus()
trouve_squelette_inclus(mixed $script) : mixed
Parameters
- $script : mixed
reference_boucle_debug()
reference_boucle_debug(mixed $n, mixed $nom, mixed $self) : mixed
Parameters
- $n : mixed
- $nom : mixed
- $self : mixed
ancre_texte()
ancre_texte(mixed $texte[, mixed $fautifs = [] ][, mixed $nocpt = false ]) : mixed
Parameters
- $texte : mixed
- $fautifs : mixed = []
- $nocpt : mixed = false
debusquer_squelette()
debusquer_squelette(mixed $fonc, mixed $mode, mixed $self) : mixed
Parameters
- $fonc : mixed
- $mode : mixed
- $self : mixed
emboite_texte()
emboite_texte(mixed $res[, mixed $fonc = '' ][, mixed $self = '' ]) : mixed
Parameters
- $res : mixed
- $fonc : mixed = ''
- $self : mixed = ''
count_occ()
count_occ(mixed $regs) : mixed
Parameters
- $regs : mixed
debusquer_format_millisecondes()
debusquer_format_millisecondes(mixed $t) : mixed
Parameters
- $t : mixed
debusquer_navigation_squelettes()
debusquer_navigation_squelettes(mixed $self) : mixed
Parameters
- $self : mixed
debusquer_navigation_boucles()
debusquer_navigation_boucles(mixed $boucles, mixed $nom_skel, mixed $self, mixed $nom_source) : mixed
Parameters
- $boucles : mixed
- $nom_skel : mixed
- $self : mixed
- $nom_source : mixed
debusquer_source()
debusquer_source(mixed $objet, mixed $affiche) : mixed
Parameters
- $objet : mixed
- $affiche : mixed
debusquer_entete()
debusquer_entete(mixed $titre, mixed $corps) : mixed
Parameters
- $titre : mixed
- $corps : mixed
decompiler_boucle()
decompiler_boucle(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $struct : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_include()
decompiler_include(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $struct : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_texte()
decompiler_texte(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $struct : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_polyglotte()
decompiler_polyglotte(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $struct : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_idiome()
decompiler_idiome(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $struct : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_champ()
decompiler_champ(mixed $struct[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $struct : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_liste()
decompiler_liste(mixed $sources[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $sources : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_criteres()
decompiler_criteres(mixed $boucle[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $boucle : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
decompiler_()
decompiler_(mixed $liste[, mixed $fmt = '' ][, mixed $prof = 0 ]) : mixed
Parameters
- $liste : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
public_decompiler()
public_decompiler(mixed $liste[, mixed $fmt = '' ][, mixed $prof = 0 ][, mixed $quoi = '' ]) : mixed
Parameters
- $liste : mixed
- $fmt : mixed = ''
- $prof : mixed = 0
- $quoi : mixed = ''
filtre_introduction_dist()
Calcul d'une introduction
filtre_introduction_dist(string $descriptif, string $texte, string $longueur, string $connect[, string $suite = null ]) : string
L'introduction est prise dans le descriptif s'il est renseigné,
sinon elle est calculée depuis le texte : à ce moment là,
l'introduction est prise dans le contenu entre les balises
<intro>
et </intro>
si présentes, sinon en coupant le
texte à la taille indiquée.
Cette fonction est utilisée par la balise #INTRODUCTION
Parameters
- $descriptif : string
-
Descriptif de l'introduction
- $texte : string
-
texte à utiliser en absence de descriptif
- $longueur : string
-
Longueur de l'introduction
- $connect : string
-
Nom du connecteur à la base de données
- $suite : string = null
-
points de suite si on coupe (par defaut _INTRODUCTION_SUITE et sinon (...)
Tags
Return values
string —Introduction calculée
filtre_pagination_dist()
Filtre calculant une pagination, utilisé par la balise `#PAGINATION`
filtre_pagination_dist(int $total, string $nom, int $position, int $pas[, bool $liste = true ][, string $modele = '' ][, string $connect = '' ][, array<string|int, mixed> $env = [] ]) : string
Le filtre cherche le modèle pagination.html
par défaut, mais peut
chercher un modèle de pagination particulier avec l'argument $modele
.
S'il $modele='prive'
, le filtre cherchera le modèle pagination_prive.html
.
Parameters
- $total : int
-
Nombre total d'éléments
- $nom : string
-
Nom identifiant la pagination
- $position : int
-
Page à afficher (tel que la 3è page)
- $pas : int
-
Nombre d'éléments par page
- $liste : bool = true
-
- True pour afficher toute la liste des éléments,
- False pour n'afficher que l'ancre
- $modele : string = ''
-
Nom spécifique du modèle de pagination
- $connect : string = ''
-
Nom du connecteur à la base de données
- $env : array<string|int, mixed> = []
-
Environnement à transmettre au modèle
Tags
Return values
string —Code HTML de la pagination
filtre_bornes_pagination_dist()
Calcule les bornes d'une pagination
filtre_bornes_pagination_dist(int $courante, int $nombre[, int $max = 10 ]) : array<string|int, int>
Parameters
- $courante : int
-
Page courante
- $nombre : int
-
Nombre de pages
- $max : int = 10
-
Nombre d'éléments par page
Tags
Return values
array<string|int, int> —Liste (première page, dernière page).
filtre_pagination_affiche_texte_lien_page_dist()
filtre_pagination_affiche_texte_lien_page_dist(mixed $type_pagination, mixed $numero_page, mixed $rang_item) : mixed
Parameters
- $type_pagination : mixed
- $numero_page : mixed
- $rang_item : mixed
lister_objets_avec_logos()
Retourne pour une clé primaire d'objet donnée les identifiants ayant un logo
lister_objets_avec_logos(string $type) : string
Parameters
- $type : string
-
Nom de la clé primaire de l'objet
Tags
Return values
string —Liste des identifiants ayant un logo (séparés par une virgule)
calculer_notes()
Renvoie l'état courant des notes, le purge et en prépare un nouveau
calculer_notes() : string
Fonction appelée par la balise #NOTES
Tags
Return values
string —Code HTML des notes
retrouver_rang_lien()
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}})]
retrouver_rang_lien(string $objet_source, int $ids, string $objet_lie, int $idl, string $objet_lien) : string
Parameters
- $objet_source : string
- $ids : int
- $objet_lie : string
- $idl : int
- $objet_lien : string
Return values
stringlister_objets_liens()
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)
lister_objets_liens(string $objet_source, string $objet, int $id_objet, string $objet_lien) : mixed
Parameters
- $objet_source : string
- $objet : string
- $id_objet : int
- $objet_lien : string
Tags
calculer_rang_smart()
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_rang_smart(string $titre, string $objet_source, int $id, array<string|int, mixed> $env) : int|string
Parameters
- $titre : string
- $objet_source : string
- $id : int
- $env : array<string|int, mixed>
Return values
int|stringcalculer_balise_tri()
Calcul de la balise #TRI
calculer_balise_tri(string $champ_ou_sens, string $libelle, string $classe, string $tri_nom, string $tri_champ, string $tri_sens, array<string|int, mixed>|string|int $liste_tri_sens_defaut[, string $nom_pagination = '' ]) : string
Parameters
- $champ_ou_sens : string
-
- soit le nom de champ sur lequel effectuer le nouveau tri
- soit
<
et>
pour définir le sens du tri sur le champ actuel
- $libelle : string
-
Texte du lien
- $classe : string
-
Classe ajoutée au lien, telle que
ajax
- $tri_nom : string
-
Nom du paramètre définissant le tri
- $tri_champ : string
-
Nom du champ actuel utilisé pour le tri
- $tri_sens : string
-
Sens de tri actuel, 1 ou -1
- $liste_tri_sens_defaut : array<string|int, mixed>|string|int
-
Soit la liste des sens de tri par défaut pour chaque champ Soit une valeur par défaut pour tous les champs (1, -1, inverse)
- $nom_pagination : string = ''
-
Nom de la boucle
Return values
string —HTML avec un lien cliquable
tri_protege_champ()
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_protege_champ(string $t) : string
Parameters
- $t : string
Return values
stringtri_champ_order()
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_order(string $t[, array<string|int, mixed> $from = null ][, mixed $senstri = '' ]) : string
Parameters
- $t : string
- $from : array<string|int, mixed> = null
- $senstri : mixed = ''
Return values
stringtri_champ_select()
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
tri_champ_select(string $t) : string
Parameters
- $t : string
Return values
stringformate_liste_critere_par_ordre_liste()
Fonction de mise en forme utilisee par le critere {par_ordre_liste..}
formate_liste_critere_par_ordre_liste(array<string|int, mixed> $valeurs[, string $serveur = '' ]) : string
Parameters
- $valeurs : array<string|int, mixed>
- $serveur : string = ''
Tags
Return values
stringfiltre_styles_inline_page_login_pass_dist()
generer le style dynamique inline pour la page de login et spip_pass
filtre_styles_inline_page_login_pass_dist(array<string|int, mixed> &$Pile, mixed ...$dummy) : string
Parameters
- $Pile : array<string|int, mixed>
-
Pile de données
- $dummy : mixed
Return values
stringformat_boucle_html()
format_boucle_html(mixed $preaff, mixed $avant, mixed $nom, mixed $type, mixed $crit, mixed $corps, mixed $apres, mixed $altern, mixed $postaff, mixed $prof) : mixed
Parameters
- $preaff : mixed
- $avant : mixed
- $nom : mixed
- $type : mixed
- $crit : mixed
- $corps : mixed
- $apres : mixed
- $altern : mixed
- $postaff : mixed
- $prof : mixed
format_inclure_html()
format_inclure_html(mixed $file, mixed $args, mixed $prof) : mixed
Parameters
- $file : mixed
- $args : mixed
- $prof : mixed
format_polyglotte_html()
format_polyglotte_html(mixed $args, mixed $prof) : mixed
Parameters
- $args : mixed
- $prof : mixed
format_idiome_html()
format_idiome_html(mixed $nom, mixed $module, mixed $args, mixed $filtres, mixed $prof) : mixed
Parameters
- $nom : mixed
- $module : mixed
- $args : mixed
- $filtres : mixed
- $prof : mixed
format_champ_html()
format_champ_html(mixed $nom, mixed $boucle, mixed $etoile, mixed $avant, mixed $apres, mixed $args, mixed $filtres, mixed $prof) : mixed
Parameters
- $nom : mixed
- $boucle : mixed
- $etoile : mixed
- $avant : mixed
- $apres : mixed
- $args : mixed
- $filtres : mixed
- $prof : mixed
format_critere_html()
format_critere_html(mixed $critere) : mixed
Parameters
- $critere : mixed
format_liste_html()
format_liste_html(mixed $fonc, mixed $args, mixed $prof) : mixed
Parameters
- $fonc : mixed
- $args : mixed
- $prof : mixed
format_suite_html()
format_suite_html(mixed $args) : mixed
Parameters
- $args : mixed
format_texte_html()
format_texte_html(mixed $texte) : mixed
Parameters
- $texte : mixed
declarer_interfaces()
Déclarer les interfaces de la base pour le compilateur
declarer_interfaces() : mixed
On utilise une fonction qui initialise les valeurs, sans écraser d'eventuelles prédéfinition dans mes_options et les envoie dans un pipeline pour les plugins
decompose_champ_id_objet()
Décomposer un champ id_truc en (id_objet,objet,truc)
decompose_champ_id_objet(string $champ) : array<string|int, mixed>|string
Exemple : décompose id_article en (id_objet,objet,article)
Parameters
- $champ : string
-
Nom du champ à décomposer
Return values
array<string|int, mixed>|string —Tableau si décomposable : 'id_objet', 'objet', Type de l'objet Chaine sinon : le nom du champ (non décomposable donc)
trouver_champs_decomposes()
Mapping d'un champ d'une jointure en deux champs id_objet,objet si nécessaire
trouver_champs_decomposes(string $champ, array<string|int, mixed> $desc) : array<string|int, mixed>
Si le champ demandé existe dans la table, on l'utilise, sinon on regarde si le champ se décompose en objet/id_objet et si la table possède ces champs, et dans ce cas, on les retourne.
Parameters
- $champ : string
-
Nom du champ à tester (ex. id_article)
- $desc : array<string|int, mixed>
-
Description de la table
Tags
Return values
array<string|int, mixed> —Liste du/des champs. Soit
- array($champ), si le champ existe dans la table ou si on ne peut décomposer.
- array(id_objet, objet), si le champ n'existe pas mais qu'on peut décomposer
calculer_jointure()
Calculer et construite une jointure entre $depart et $arrivee
calculer_jointure(Boucle &$boucle, array<string|int, mixed> $depart, array<string|int, mixed> $arrivee[, string $col = '' ][, bool $cond = false ][, int $max_liens = 5 ]) : string
L'objet boucle est modifié pour compléter la requête. La fonction retourne l'alias d'arrivée une fois la jointure construire, en general un "Lx"
Parameters
- $boucle : Boucle
-
Description de la boucle
- $depart : array<string|int, mixed>
-
Table de départ, sous la forme (nom de la table, description de la table)
- $arrivee : array<string|int, mixed>
-
Table d'arrivée, sous la forme (nom de la table, description de la table)
- $col : string = ''
-
Colonne cible de la jointure
- $cond : bool = false
-
Flag pour savoir si le critère est conditionnel ou non
- $max_liens : int = 5
-
Nombre maximal de liaisons possibles pour trouver la jointure.
Tags
Return values
string —Alias de la table de jointure (Lx)
fabrique_jointures()
Fabriquer une jointure à l'aide d'une liste descriptive d'étapes
fabrique_jointures(Boucle &$boucle, array<string|int, mixed> $res[, bool $cond = false ][, array<string|int, mixed> $desc = [] ][, string $nom = '' ][, string $col = '' ][, bool $echap = true ]) : string
Ajoute
- la jointure dans le tableau $boucle->join,
- la table de jointure dans le from
- un modificateur 'lien'
Parameters
- $boucle : Boucle
-
Description de la boucle
- $res : array<string|int, mixed>
-
Chaîne des jointures $res = array( array(table_depart,array(table_arrivee,desc),jointure), ... ) Jointure peut être un tableau pour les jointures sur champ decomposé array('id_article','id_objet','objet','article') array('id_objet','id_article','objet','article')
- $cond : bool = false
-
Flag pour savoir si le critère est conditionnel ou non
- $desc : array<string|int, mixed> = []
-
Description de la table de départ
- $nom : string = ''
-
Nom de la table de départ
- $col : string = ''
-
Colonne cible de la jointure
- $echap : bool = true
-
Écrire les valeurs dans boucle->join en les échappant ou non ?
Tags
Return values
string —Alias de la table de jointure (Lx)
nogroupby_if()
Condition suffisante pour qu'un Group-By ne soit pas nécéssaire
nogroupby_if(array<string|int, mixed> $depart, array<string|int, mixed> $arrivee, string|array<string|int, mixed> $col) : bool
À améliorer, notamment voir si calculer_select ne pourrait pas la réutiliser lorsqu'on sait si le critere conditionnel est finalement present
Parameters
- $depart : array<string|int, mixed>
- $arrivee : array<string|int, mixed>
- $col : string|array<string|int, mixed>
Tags
Return values
boolliste_champs_jointures()
Lister les champs candidats a une jointure, sur une table si un join est fourni dans la description, c'est lui qui l'emporte sauf si cle primaire explicitement demandee par $primary
liste_champs_jointures(string $nom, array<string|int, mixed> $desc[, bool $primary = false ]) : array<string|int, mixed>
sinon on construit une liste des champs a partir de la liste des cles de la table
Parameters
- $nom : string
- $desc : array<string|int, mixed>
- $primary : bool = false
Tags
Return values
array<string|int, mixed>split_key()
Eclater une cle composee en plusieurs champs
split_key(string $v[, array<string|int, mixed> $join = [] ]) : array<string|int, mixed>
Parameters
- $v : string
- $join : array<string|int, mixed> = []
Tags
Return values
array<string|int, mixed>calculer_chaine_jointures()
Constuire la chaine de jointures, de proche en proche
calculer_chaine_jointures(objetc &$boucle, array<string|int, mixed> $depart, array<string|int, mixed> $arrivee[, array<string|int, mixed> $vu = [] ][, array<string|int, mixed> $milieu_exclus = [] ][, int $max_liens = 5 ]) : array<string|int, mixed>
Parameters
- $boucle : objetc
- $depart : array<string|int, mixed>
-
sous la forme array(nom de la table, description)
- $arrivee : array<string|int, mixed>
-
sous la forme array(nom de la table, description)
- $vu : array<string|int, mixed> = []
-
tables deja vues dans la jointure, pour ne pas y repasser
- $milieu_exclus : array<string|int, mixed> = []
-
cles deja utilisees, pour ne pas les reutiliser
- $max_liens : int = 5
-
nombre maxi d'etapes
Tags
Return values
array<string|int, mixed>trouver_cles_table()
applatit les cles multiples redondance avec split_key() ? a mutualiser
trouver_cles_table(array<string|int, mixed> $keys) : array<string|int, mixed>
Parameters
- $keys : array<string|int, mixed>
Return values
array<string|int, mixed>chercher_champ_dans_tables()
Indique si une colonne (ou plusieurs colonnes) est présente dans l'une des tables indiquée.
chercher_champ_dans_tables(string|array<string|int, mixed> $cle, array<string|int, mixed> $tables, string $connect[, bool|string $checkarrivee = false ]) : array<string|int, mixed>|false
Parameters
- $cle : string|array<string|int, mixed>
-
Nom de la ou des colonnes à trouver dans les tables indiquées
- $tables : array<string|int, mixed>
-
Liste de noms de tables ou des couples (alias => nom de table).
$boucle->from
(alias => nom de table) : les tables déjà utilisées dans une boucle$boucle->jointures
: les tables utilisables en tant que jointure$boucle->jointures_explicites
les jointures explicitement indiquées à l'écriture de la boucle
- $connect : string
-
Nom du connecteur SQL
- $checkarrivee : bool|string = false
-
false : peu importe la table, si on trouve le/les champs, c'est bon. string : nom de la table où on veut trouver le champ.
Return values
array<string|int, mixed>|false —false : on n'a pas trouvé array : infos sur la table trouvée. Les clés suivantes sont retournés :
- 'desc' : tableau de description de la table,
- 'table' : nom de la table
- 'alias' : alias utilisé pour la table (si pertinent. ie: avec
$boucle->from
transmis par exemple)
trouver_champ_exterieur()
Cherche une colonne (ou plusieurs colonnes) dans les tables de jointures possibles indiquées.
trouver_champ_exterieur(string|array<string|int, mixed> $cle, array<string|int, mixed> $joints, Boucle &$boucle[, bool|string $checkarrivee = false ]) : array<string|int, mixed>|string
Parameters
- $cle : string|array<string|int, mixed>
-
Nom de la ou des colonnes à trouver dans les tables de jointures
- $joints : array<string|int, mixed>
-
Liste des jointures possibles (ex: $boucle->jointures ou $boucle->jointures_explicites)
- $boucle : Boucle
-
Description de la boucle
- $checkarrivee : bool|string = false
-
false : peu importe la table, si on trouve le/les champs, c'est bon. string : nom de la table jointe où on veut trouver le champ.
Tags
Return values
array<string|int, mixed>|string —chaîne vide : on n'a pas trouvé liste si trouvé : nom de la table, description de la table, clé(s) de la table
trouver_jointure_champ()
Cherche a ajouter la possibilite d'interroger un champ sql dans une boucle.
trouver_jointure_champ(string $champ, object &$boucle[, array<string|int, mixed> $jointures = false ][, bool $cond = false ][, bool|string $checkarrivee = false ]) : string
Cela construira les jointures necessaires si une possibilite est trouve et retournera le nom de l'alias de la table contenant ce champ (L2 par exemple pour 'spip_mots AS L2' dans le FROM),
Parameters
- $champ : string
-
Nom du champ cherche (exemple id_article)
- $boucle : object
-
Informations connues de la boucle
- $jointures : array<string|int, mixed> = false
-
Liste des tables parcourues (articles, mots) pour retrouver le champ sql et calculer la jointure correspondante. En son absence et par defaut, on utilise la liste des jointures connues par SPIP pour la table en question ($boucle->jointures)
- $cond : bool = false
-
flag pour savoir si le critere est conditionnel ou non
- $checkarrivee : bool|string = false
-
false : peu importe la table, si on trouve le/les champs, c'est bon. string : nom de la table jointe où on veut trouver le champ.
Tags
Return values
stringphraser_vieux_modele()
phraser_vieux_modele(mixed $p) : mixed
Parameters
- $p : mixed
phraser_vieux_inclu()
phraser_vieux_inclu(mixed $p) : mixed
Parameters
- $p : mixed
normaliser_args_inclumodel()
Accepte la syntaxe historique {arg1=val1}{arg2=val2}... dans les INCLURE au lieu de {arg1=val1,arg2=val2,...}
normaliser_args_inclumodel(Champ|Inclure $p) : mixed
Parameters
- $p : Champ|Inclure
normaliser_inclure()
Trim les arguments de <INCLURE> et repère l'argument spécial fond=
normaliser_inclure(Inclure $champ) : mixed
Parameters
- $champ : Inclure
public_parametrer_dist()
public_parametrer_dist(mixed $fond[, mixed $contexte = '' ][, mixed $cache = '' ][, string $connect = '' ]) : mixed
Parameters
- $fond : mixed
- $contexte : mixed = ''
- $cache : mixed = ''
- $connect : string = ''
presenter_contexte()
Retourne une présentation succincte du contexte pour les logs
presenter_contexte(array<string|int, mixed> $contexte[, mixed $profondeur_max = 1 ][, mixed $max_lines = 0 ]) : string
Parameters
- $contexte : array<string|int, mixed>
- $profondeur_max : mixed = 1
- $max_lines : mixed = 0
Return values
stringtester_redirection()
Si le champ virtuel est non vide c'est une redirection.
tester_redirection(string $fond, array<string|int, mixed> $contexte, string $connect) : array<string|int, mixed>|bool
avec un eventuel raccourci Spip
si le raccourci a un titre il sera pris comme corps du 302
Parameters
- $fond : string
- $contexte : array<string|int, mixed>
- $connect : string
Tags
Return values
array<string|int, mixed>|boolpublic_tester_redirection_dist()
Si le champ virtuel est non vide c'est une redirection.
public_tester_redirection_dist(string $fond, array<string|int, mixed> $contexte, string $connect) : array<string|int, mixed>|bool
avec un eventuel raccourci Spip
si le raccourci a un titre il sera pris comme corps du 302
Parameters
- $fond : string
- $contexte : array<string|int, mixed>
- $connect : string
Tags
Return values
array<string|int, mixed>|boolphraser_inclure()
Parser les <INCLURE> dans le texte
phraser_inclure(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
- $texte : string
- $ligne : int
- $result : array<string|int, mixed>
Return values
array<string|int, mixed>phraser_polyglotte()
Phraser les <multi>...</multi> on passe en dernier de toutes les analyses : a ce stade il ne reste que des morceaux de texte entre balises/boucles, donc une <multi> ne peut pas contenir de balises
phraser_polyglotte(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
- $texte : string
- $ligne : int
- $result : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>phraser_preparer_idiomes()
Repérer les balises de traduction (idiomes)
phraser_preparer_idiomes(string $texte, int $ligne, string $sep, array<string|int, mixed> $result) : string
Phrase les idiomes tel que
<:chaine:>
<:module:chaine:>
<:module:chaine{arg1=texte1,arg2=#BALISE}|filtre1{texte2,#BALISE}|filtre2:>
<:module:chaine{arg1=texte1,arg2=[(#BALISE)]}|filtre1{texte2,#BALISE}|filtre2:>
<:module:{=#VAL{chaine},arg1=texte1,arg2=[(#BALISE)]}|filtre1{texte2,#BALISE}|filtre2:>
<:{=#VAL{module:chaine},arg1=texte1,arg2=[(#BALISE)]}|filtre1{texte2,#BALISE}|filtre2:>
Pour permettre une syntaxe complète dans les arguments, on transforme la syntaxe <:..:> en une syntaxe standard de balises
[(#TRAD_IDIOME{module:chaine,arg1=texte1,arg2=[(#BALISE)]}|filtre1{texte2,#BALISE}|filtre2)]
qui est ensuite parsée comme une balise standard
Parameters
- $texte : string
- $ligne : int
- $sep : string
- $result : array<string|int, mixed>
Tags
Return values
stringphraser_champs()
Repère et phrase les balises SPIP tel que `#NOM` dans un texte
phraser_champs(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>
Phrase également ses arguments si la balise en a (#NOM{arg, ...}
)
Parameters
- $texte : string
- $ligne : int
- $result : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>phraser_champs_etendus()
Phraser les champs etendus
phraser_champs_etendus(string $texte, int $ligne, array<string|int, mixed> $result) : array<string|int, mixed>
Parameters
- $texte : string
- $ligne : int
- $result : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>phraser_args()
Analyse les filtres d'un champ etendu et affecte le resultat renvoie la liste des lexemes d'origine augmentee de ceux trouves dans les arguments des filtres (rare) sert aussi aux arguments des includes et aux criteres de boucles Tres chevelu
phraser_args(string $texte, string $fin, string $sep, array<string|int, mixed> $result, Champ|Inclure|Boucle &$pointeur_champ, int &$pos_debut) : array<string|int, mixed>
Parameters
- $texte : string
- $fin : string
- $sep : string
- $result : array<string|int, mixed>
- $pointeur_champ : Champ|Inclure|Boucle
- $pos_debut : int
Tags
Return values
array<string|int, mixed>phraser_arg()
phraser_arg(mixed &$texte, mixed $sep, mixed $result, mixed &$pointeur_champ) : mixed
Parameters
- $texte : mixed
- $sep : mixed
- $result : mixed
- $pointeur_champ : mixed
phraser_champs_exterieurs()
Reconstruire un tableau de resultat ordonné selon l'ordre d'apparition dans le texte issu de phraser_champs_interieurs() et phraser les inclure sur les morceaux intermédiaires
phraser_champs_exterieurs(string $texte, int $ligne, string $sep, array<string|int, mixed> $nested_res) : array<string|int, mixed>
Parameters
- $texte : string
- $ligne : int
- $sep : string
- $nested_res : array<string|int, mixed>
Return values
array<string|int, mixed>phraser_champs_interieurs()
Parser un texte pour trouver toutes les balises complètes `[...(#TRUC)...]` en gérant les imbrications possibles
phraser_champs_interieurs(string $texte, int $no_ligne, string $sep) : array<string|int, mixed>
Pour cela on commence par les plus profondes, sans rien dedans,
on les remplace par un placehoder inactif %###N@
ou N indexe un tableau comportant le resultat de leur analyse
et on recommence jusqu'à ce qu'on ne trouve plus rien
Parameters
- $texte : string
- $no_ligne : int
- $sep : string
Return values
array<string|int, mixed>phraser_vieux()
Gerer les derogations de syntaxe historiques Ne concerne plus que #MODELE et <INCLURE> / #INCLURE
phraser_vieux(Champ|Inclure &$champ) : mixed
Parameters
- $champ : Champ|Inclure
Tags
phraser_criteres()
Analyse les critères de boucle
phraser_criteres(array<string|int, mixed> $params, Boucle &$result) : mixed
Chaque paramètre de la boucle (tel que {id_article>3}) est analysé pour construire un critère (objet Critere) de boucle.
Un critère a une description plus fine que le paramètre original car on en extrait certaines informations tel que la négation et l'opérateur utilisé s'il y a.
La fonction en profite pour déclarer des modificateurs de boucles en présence de certains critères (tout, plat) ou initialiser des variables de compilation (doublons)...
Parameters
- $params : array<string|int, mixed>
-
Tableau de description des paramètres passés à la boucle. Chaque paramètre deviendra un critère
- $result : Boucle
-
Description de la boucle Elle sera complété de la liste de ses critères
phraser_critere_infixe()
phraser_critere_infixe(mixed $arg1, mixed $arg2, mixed $args, mixed $op, mixed $not, mixed $cond) : mixed
Parameters
- $arg1 : mixed
- $arg2 : mixed
- $args : mixed
- $op : mixed
- $not : mixed
- $cond : mixed
public_compte_ligne()
Compter le nombre de lignes dans une partie texte
public_compte_ligne(string $texte[, int $debut = 0 ][, int|null $fin = null ]) : int
Parameters
- $texte : string
- $debut : int = 0
- $fin : int|null = null
Return values
intpublic_trouver_premiere_boucle()
Trouver la boucle qui commence en premier dans un texte On repere les boucles via <BOUCLE_xxx( et ensuite on regarde son vrai debut soit <B_xxx> soit <BB_xxx>
public_trouver_premiere_boucle(string $texte, string $id_parent, array<string|int, mixed> $descr[, int $pos_debut_texte = 0 ]) : array<string|int, mixed>|null
Parameters
- $texte : string
- $id_parent : string
- $descr : array<string|int, mixed>
- $pos_debut_texte : int = 0
Return values
array<string|int, mixed>|nullpublic_trouver_fin_boucle()
Trouver la fin de la boucle (balises </B <//B </BB) en faisant attention aux boucles anonymes qui ne peuvent etre imbriquees
public_trouver_fin_boucle(string $texte, string $id_parent, array<string|int, mixed> $boucle, int $pos_debut_texte, object $result) : array<string|int, mixed>
Parameters
- $texte : string
- $id_parent : string
- $boucle : array<string|int, mixed>
- $pos_debut_texte : int
- $result : object
Return values
array<string|int, mixed> —la description de la boucle dans un tableau associatif
phraser_placeholder_hash()
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_hash(string &$texte, string $placeholder_prefixe) : string
Parameters
- $texte : string
- $placeholder_prefixe : string
Return values
stringphraser_placeholder_memoriser()
Memoriser un champ ou une boucle associé a son placeholder
phraser_placeholder_memoriser(string $champ, string $nom_champ_placeholder, mixed $boucle_ou_champ) : mixed
Parameters
- $champ : string
- $nom_champ_placeholder : string
- $boucle_ou_champ : mixed
Tags
phraser_placeholder_reinjecter()
Reinejcter un champ ou une boucle associé a son placeholder
phraser_placeholder_reinjecter(mixed &$champ) : mixed
Parameters
- $champ : mixed
Tags
public_placeholder_generer()
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_placeholder_generer(string $nom_structure, mixed &$boucle_ou_champ, string $placeholder_pattern, int $nb_lignes[, bool $force_balise_etendue = false ]) : string
Parameters
- $nom_structure : string
- $boucle_ou_champ : mixed
- $placeholder_pattern : string
- $nb_lignes : int
- $force_balise_etendue : bool = false
Return values
stringpublic_phraser_html_dist()
Analyseur syntaxique des squelettes HTML SPIP On commence par analyser les boucles, les mémoriser, et les remplacer dans le texte par des placeholder qui ne genent pas la suite de l'analyse des balises et autres
public_phraser_html_dist(string $texte, string $id_parent, array<string, Boucle> &$boucles, array<string|int, mixed> $descr[, int $ligne_debut_texte = 1 ][, string|null $boucle_placeholder = null ]) : array<string|int, mixed>
Parameters
- $texte : string
- $id_parent : string
- $boucles : array<string, Boucle>
- $descr : array<string|int, mixed>
- $ligne_debut_texte : int = 1
- $boucle_placeholder : string|null = null
Return values
array<string|int, mixed>quete_virtuel()
Retourne l'URL de redirection d'un article virtuel, seulement si il est publié
quete_virtuel(int $id_article, string $connect) : array<string|int, mixed>|bool|null
Parameters
- $id_article : int
- $connect : string
Return values
array<string|int, mixed>|bool|nullquete_parent_lang()
Retourne le couple `parent,lang` pour toute table
quete_parent_lang(string $table, int $id[, string $connect = '' ]) : array<string|int, mixed>
En pratique id_rubrique
si présent (ou id_parent
pour table rubriques)
et champ lang
si présent
Parameters
- $table : string
- $id : int
- $connect : string = ''
Return values
array<string|int, mixed>quete_parent()
Retourne le parent d'une rubrique
quete_parent(int $id_rubrique[, string $connect = '' ]) : int
Repose sur la fonction quete_parent_lang pour la mutualisation +mise en cache SQL des requêtes
Parameters
- $id_rubrique : int
- $connect : string = ''
Tags
Return values
intquete_rubrique()
Retourne la rubrique d'un article
quete_rubrique(int $id_article, string $serveur) : int
Repose sur la fonction quete_parent_lang pour la mutualisation +mise en cache SQL des requêtes
Parameters
- $id_article : int
- $serveur : string
Tags
Return values
intquete_profondeur()
Retourne la profondeur d'une rubrique
quete_profondeur(int $id[, string $connect = '' ]) : int
Parameters
- $id : int
- $connect : string = ''
Tags
Return values
intquete_condition_postdates()
Retourne la condition sur la date lorsqu'il y a des post-dates
quete_condition_postdates(string $champ_date[, string $serveur = '' ][, bool $ignore_previsu = false ]) : string
Parameters
- $champ_date : string
-
Nom de la colonne de date dans la table SQL
- $serveur : string = ''
- $ignore_previsu : bool = false
-
true pour forcer le test même en prévisu
Return values
string —Morceau de la requête SQL testant la date
quete_condition_statut()
Calculer la condition pour filtrer les status,
quete_condition_statut(string $mstatut, string $previsu, string $publie[, string $serveur = '' ][, bool $ignore_previsu = false ]) : array<string|int, mixed>|string
Parameters
- $mstatut : string
-
Le champ de la table sur lequel porte la condition
- $previsu : string
-
Mode previsu : statut ou liste des statuts séparés par une virgule
- $publie : string
-
Mode publie : statut ou liste des statuts séparés par une virgule
- $serveur : string = ''
-
Serveur de BDD
- $ignore_previsu : bool = false
-
true pour forcer le test même en prévisu
Return values
array<string|int, mixed>|stringquete_fichier()
Retourne le fichier d'un document
quete_fichier(int $id_document[, string $serveur = '' ]) : array<string|int, mixed>|bool|null
Parameters
- $id_document : int
- $serveur : string = ''
Return values
array<string|int, mixed>|bool|nullquete_document()
Toute les infos sur un document
quete_document(int $id_document[, string $serveur = '' ]) : array<string|int, mixed>|bool
Parameters
- $id_document : int
- $serveur : string = ''
Return values
array<string|int, mixed>|boolquete_meta()
Récuperer une meta sur un site (spip) distant (en local il y a plus simple)
quete_meta(string $nom, string $serveur) : array<string|int, mixed>|bool|null
Parameters
- $nom : string
-
Nom de la méta
- $serveur : string
-
Connecteur
Return values
array<string|int, mixed>|bool|nullquete_logo()
Retourne le logo d'un objet, éventuellement par héritage
@param bool $flag Lorsque le drapeau est évalué comme "true", la fonction ne renvoie que le chemin du fichier, sinon elle renvoie le tableau plus complet.
quete_logo(string $cle_objet, string $onoff, int $id, int $id_rubrique[, mixed $flag = false ]) : array<string|int, mixed>|string
Si flag != false, retourne le chemin du fichier, sinon retourne un tableau de 3 elements : le chemin du fichier, celui du logo de survol, l'attribut style=w/h.
Parameters
- $cle_objet : string
-
Nom de la clé de l'objet dont on veut chercher le logo.
- $onoff : string
-
Sélectionne quel(s) logo(s) : "on" pour le logo normal, "off" pour le logo de survol, ou "ON" pour l'ensemble.
- $id : int
-
Identifiant de l'objet dont on veut chercher le logo.
- $id_rubrique : int
-
Identifiant de la rubrique parente si l'on veut aller chercher son logo dans le cas où l'objet demandé n'en a pas.
- $flag : mixed = false
Tags
Return values
array<string|int, mixed>|string —Retourne soit un tableau, soit le chemin du fichier.
quete_logo_objet()
Chercher le logo d'un contenu précis
quete_logo_objet(int $id_objet, string $objet, string $mode) : bool|array<string|int, mixed>
Parameters
- $id_objet : int
-
Idenfiant de l'objet dont on cherche le logo
- $objet : string
-
Type de l'objet dont on cherche le logo
- $mode : string
-
"on" ou "off" suivant le logo normal ou survol
Return values
bool|array<string|int, mixed>quete_logo_file()
Retourne le logo d’un fichier (document spip) sinon la vignette du type du fichier
quete_logo_file(array<string|int, mixed> $row[, string $connect = null ]) : bool|string
Fonction appeleé par la balise #LOGO_DOCUMENT
Parameters
- $row : array<string|int, mixed>
- $connect : string = null
Return values
bool|stringquete_logo_document()
Trouver l'image logo d'un document
quete_logo_document(array<string|int, mixed> $row, mixed $lien, mixed $align, mixed $mode_logo, mixed $x, mixed $y[, string $connect = '' ]) : string
Parameters
- $row : array<string|int, mixed>
-
description du document, issue de la base
- $lien : mixed
-
url de lien
- $align : mixed
-
alignement left/right
- $mode_logo : mixed
-
mode du logo : '' => automatique (vignette sinon apercu sinon icone) icone => icone du type du fichier apercu => apercu de l'image exclusivement, meme si une vignette existe vignette => vignette exclusivement, ou rien si elle n'existe pas
- $x : mixed
-
largeur maxi
- $y : mixed
-
hauteur maxi
- $connect : string = ''
-
serveur
Return values
stringquete_html_logo()
Recuperer le HTML du logo d'apres ses infos
quete_html_logo(array<string|int, mixed> $logo, string $align, string $lien) : string
Parameters
- $logo : array<string|int, mixed>
- $align : string
- $lien : string
Tags
Return values
stringdocument_spip_externe()
Retourne le chemin d’un document lorsque le connect est précisé
document_spip_externe(string $fichier, string $connect) : string|false
Sur un connecteur distant, voir si on connait l’adresse du site (spip distant) et l’utiliser le cas échéant.
Parameters
- $fichier : string
-
Chemin
- $connect : string
-
Nom du connecteur
Return values
string|falsevignette_logo_document()
Retourne la vignette explicitement attachee a un document le resutat est un fichier local existant, ou une URL ou vide si pas de vignette
vignette_logo_document(array<string|int, mixed> $row[, string $connect = '' ]) : string
Parameters
- $row : array<string|int, mixed>
- $connect : string = ''
Return values
stringcalcul_exposer()
Calcul pour savoir si un objet est expose dans le contexte fournit par $reference
calcul_exposer(int $id, string $prim, array<string|int, mixed> $reference, int $parent, string $type[, string $connect = '' ]) : bool|string
Parameters
- $id : int
- $prim : string
- $reference : array<string|int, mixed>
- $parent : int
- $type : string
- $connect : string = ''
Return values
bool|stringquete_debut_pagination()
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
quete_debut_pagination(string $primary, int|string $valeur, int $pas, object $iter) : int
Parameters
- $primary : string
- $valeur : int|string
- $pas : int
- $iter : object
Return values
intis_whereable()
Retourne true si ce where doit être appliqué, dans le cas des critères avec ? tel que `{id_article ?}`
is_whereable(mixed $value) : bool
Parameters
- $value : mixed
Return values
boolindex_boucle()
Retrouver l'index de la boucle d'une balise
index_boucle(Champ $p) : string
Retrouve à quelle boucle appartient une balise, utile dans le cas où une référence explicite est demandée
#MABALISE
: l'index est celui de la première boucle englobante#_autreboucle:MABALISE
: l'index est celui de la boucle _autreboucle
Parameters
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
string —- Identifiant de la boucle possédant ce champ.
- '' si une référence explicite incorrecte est envoyée
index_boucle_mere()
Retrouve la boucle mère d’une balise, sauf si son nom est explicité
index_boucle_mere(Champ $p) : string
#MABALISE
: l'index sera celui de la boucle parente#_autreboucle:MABALISE
: l'index est celui de la boucle _autreboucle, si elle existe
Parameters
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
string —- Identifiant de la boucle parente possédant ce champ, ou '' si pas de parent.
- '' si une référence explicite incorrecte est envoyée
index_pile()
Retourne la position dans la pile d'un champ SQL
index_pile(string $idb, string $nom_champ, array<string|int, mixed> &$boucles[, string $explicite = '' ][, null|string $defaut = null ][, bool $remonte_pile = true ][, bool $select = true ]) : string
Retourne le code PHP permettant de récupérer un champ SQL dans une boucle parente, en prenant la boucle la plus proche du sommet de pile (indiqué par $idb).
Si on ne trouve rien, on considère que ça doit provenir du contexte (par l'URL ou l'include) qui a été recopié dans Pile[0] (un essai d'affinage a débouché sur un bug vicieux)
Si ca référence un champ SQL, on le mémorise dans la structure $boucles afin de construire un requête SQL minimale (plutôt qu'un brutal 'SELECT *')
Parameters
- $idb : string
-
Identifiant de la boucle
- $nom_champ : string
-
Nom du champ SQL cherché
- $boucles : array<string|int, mixed>
-
AST du squelette
- $explicite : string = ''
-
Indique que le nom de la boucle est explicite dans la balise #_nomboucletruc:CHAMP
- $defaut : null|string = null
-
Code par defaut si le champ n'est pas trouvé dans l'index. Utilise
($Pile[0][$nom_champ] ?? null)
si non fourni - $remonte_pile : bool = true
-
Permettre de remonter la pile des boucles ou non (dans ce cas on ne cherche que dans la 1ère boucle englobante)
- $select : bool = true
-
Pour ajouter au select de la boucle, par defaut true
Return values
string —Code PHP pour obtenir le champ SQL
index_compose()
Reconstuire la cascade de condition de recherche d'un champ
index_compose(array<string|int, mixed> $conditionnel, string $defaut) : string
On ajoute la valeur finale par défaut pour les balises dont on ne saura qu'à l'exécution si elles sont definies ou non (boucle DATA)
Parameters
- $conditionnel : array<string|int, mixed>
-
Liste de codes PHP pour retrouver un champ
- $defaut : string
-
Valeur par défaut si aucun des moyens ne l'a trouvé
Return values
string —Code PHP complet de recherche d'un champ
index_tables_en_pile()
Cherche un champ dans une boucle
index_tables_en_pile(string $idb, string $nom_champ, array<string|int, Boucle> &$boucles, bool &$joker) : array<string|int, mixed>
Le champ peut être :
- un alias d'un autre : il faut alors le calculer, éventuellement en construisant une jointure.
- présent dans la table : on l'utilise
- absent, mais le type de boucle l'autorise (joker des itérateurs DATA) : on l'utilise et lève le drapeau joker
- absent, on cherche une jointure et on l'utilise si on en trouve.
Parameters
- $idb : string
-
Identifiant de la boucle
- $nom_champ : string
-
Nom du champ SQL cherché
- $boucles : array<string|int, Boucle>
-
AST du squelette
- $joker : bool
-
Le champ peut-il être inconnu à la compilation ? Ce drapeau sera levé si c'est le cas.
Tags
Return values
array<string|int, mixed> —Liste (Nom du champ véritable, nom du champ demandé). Le nom du champ véritable est une expression pour le SELECT de la boucle tel que "rubriques.titre" ou "mots.titre AS titre_mot". Les éléments de la liste sont vides si on ne trouve rien.
index_exception()
Retrouve un alias d'un champ dans une boucle
index_exception(Boucle &$boucle, array<string|int, mixed> $desc, string $nom_champ, array<string|int, mixed> $excep) : array<string|int, mixed>
Référence à une entite SPIP alias d'un champ SQL. Ça peut même être d'un champ dans une jointure qu'il faut provoquer si ce n'est fait
Parameters
- $boucle : Boucle
-
Boucle dont on prend un alias de champ
- $desc : array<string|int, mixed>
-
Description de la table SQL de la boucle
- $nom_champ : string
-
Nom du champ original demandé
- $excep : array<string|int, mixed>
-
Description de l'exception pour ce champ. Peut être :
- string : nom du champ véritable dans la table
- array :
- liste (table, champ) indique que le véritable champ est dans une autre table et construit la jointure dessus
- liste (table, champ, fonction) idem, mais en passant un nom de fonction qui s'occupera de créer la jointure.
Return values
array<string|int, mixed> —Liste (nom du champ alias, nom du champ). Le nom du champ alias est une expression pour le SELECT de la boucle du style "mots.titre AS titre_mot"
champ_sql()
Demande le champ '$champ' dans la pile
champ_sql(string $champ, Champ $p[, null|string $defaut = null ][, bool $remonte_pile = true ]) : string
Le champ est cherché dans l'empilement de boucles, sinon dans la valeur par défaut (qui est l'environnement du squelette si on ne la précise pas).
Parameters
- $champ : string
-
Champ recherché
- $p : Champ
-
AST au niveau de la balise
- $defaut : null|string = null
-
Code de la valeur par défaut si on ne trouve pas le champ dans une des boucles parentes. Sans précision, il sera pris dans l'environnement du squelette. Passer $defaut = '' pour ne pas prendre l'environnement.
- $remonte_pile : bool = true
-
Permettre de remonter dans la pile des boucles pour trouver le champ
Return values
string —Code PHP pour retrouver le champ
calculer_champ()
Calcule et retourne le code PHP d'exécution d'une balise SPIP et des ses filtres
calculer_champ(Champ $p) : string
Cette fonction qui sert d'API au compilateur demande à calculer le code PHP d'une balise, puis lui applique les filtres (automatiques et décrits dans le squelette)
Parameters
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
string —Code PHP pour d'exécution de la balise et de ses filtres
calculer_balise()
Calcule et retourne le code PHP d'exécution d'une balise SPIP
calculer_balise(string $nom, Champ $p) : Champ
Cette fonction qui sert d'API au compilateur demande à calculer le code PHP d'une balise (cette fonction ne calcule pas les éventuels filtres de la balise).
Pour une balise nommmée NOM
, elle demande à charger_fonction()
de chercher
s'il existe une fonction balise_NOM
ou balise_NOM_dist
éventuellement en chargeant le fichier balise/NOM.php.
Si la balise est de la forme PREFIXE_SUFFIXE
(cf LOGO_*
et URL_*
)
elle fait de même avec juste le PREFIXE
.
S'il n'y a pas de fonction trouvée, on considère la balise comme une référence
à une colonne de table SQL connue, sinon à l'environnement (cf. calculer_balise_DEFAUT_dist()
).
Les surcharges des colonnes SQL via charger_fonction sont donc possibles.
Parameters
- $nom : string
-
Nom de la balise
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
Champ —Pile complétée par le code PHP pour l'exécution de la balise et de ses filtres
calculer_balise_DEFAUT_dist()
Calcule et retourne le code PHP d'exécution d'une balise SPIP non déclarée
calculer_balise_DEFAUT_dist(string $nom, Champ $p) : string
Cette fonction demande à calculer le code PHP d'une balise qui n'a pas de fonction spécifique.
On considère la balise comme une référence à une colonne de table SQL connue, sinon à l'environnement.
Parameters
- $nom : string
-
Nom de la balise
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
string —Code PHP pour d'exécution de la balise et de ses filtres
calculer_balise_dynamique()
Calcule le code PHP d'exécution d'une balise SPIP dynamique
calculer_balise_dynamique(Champ $p, string $nom, array<string|int, mixed> $l[, array<string|int, mixed> $supp = [] ]) : Champ
Calcule les balises dynamiques, notamment les formulaire_*
.
Inclut le fichier associé à son nom, qui contient la fonction homonyme donnant les arguments à chercher dans la pile, et qui sont donc compilés.
On leur adjoint les arguments explicites de la balise (cf #LOGIN{url}
)
et d'éventuelles valeurs transmises d'autorité par la balise.
(cf https://core.spip.net/issues/1728)
La fonction executer_balise_dynamique()
définie par la
constante CODE_EXECUTER_BALISE
recevra à l'exécution la valeur de tout ca.
Parameters
- $p : Champ
-
AST au niveau de la balise
- $nom : string
-
Nom de la balise dynamique
- $l : array<string|int, mixed>
-
Liste des noms d'arguments (balises) à collecter
- $supp : array<string|int, mixed> = []
-
Liste de données supplémentaires à transmettre au code d'exécution.
Tags
Return values
Champ —Balise complétée de son code d'exécution
collecter_balise_dynamique()
Construction du tableau des arguments d'une balise dynamique.
collecter_balise_dynamique(array<string|int, mixed> $l, Champ &$p, string $nom) : array<string|int, mixed>
Pour chaque argument (un nom de balise), crée le code PHP qui le calculera.
Parameters
- $l : array<string|int, mixed>
-
Liste des noms d'arguments (balises) à collecter (chaque argument de la balise dynamique est considéré comme étant un nom de balise)
- $p : Champ
-
AST au niveau de la balise
- $nom : string
-
Nom de la balise
Tags
Return values
array<string|int, mixed> —Liste des codes PHP d'éxecution des balises collectées
trouver_nom_serveur_distant()
Récuperer le nom du serveur
trouver_nom_serveur_distant(Champ $p) : string
Mais pas si c'est un serveur spécifique dérogatoire
Parameters
- $p : Champ
-
AST positionné sur la balise
Return values
string —Nom de la connexion
balise_distante_interdite()
Teste si une balise est appliquée sur une base distante
balise_distante_interdite(Champ $p) : bool
La fonction loge une erreur si la balise est utilisée sur une base distante et retourne false dans ce cas.
Parameters
- $p : Champ
-
AST positionné sur la balise
Tags
Return values
bool —- true : La balise est autorisée
- false : La balise est interdite car le serveur est distant
champs_traitements()
champs_traitements(mixed $p) : mixed
Parameters
- $p : mixed
applique_filtres()
applique_filtres(mixed $p) : mixed
Parameters
- $p : mixed
Tags
compose_filtres()
compose_filtres(mixed &$p, mixed $code) : mixed
Parameters
- $p : mixed
- $code : mixed
filtre_logique()
filtre_logique(mixed $fonc, mixed $code, mixed $arg) : mixed
Parameters
- $fonc : mixed
- $code : mixed
- $arg : mixed
compose_filtres_args()
compose_filtres_args(mixed $p, mixed $args, mixed $sep) : mixed
Parameters
- $p : mixed
- $args : mixed
- $sep : mixed
calculer_argument_precedent()
Réserve les champs necessaires à la comparaison avec le contexte donné par la boucle parente.
calculer_argument_precedent(string $idb, string $nom_champ, array<string|int, mixed> &$boucles[, null|string $defaut = null ]) : mixed
Attention en recursif il faut les réserver chez soi-même ET chez sa maman
Parameters
- $idb : string
-
Identifiant de la boucle
- $nom_champ : string
- $boucles : array<string|int, mixed>
-
AST du squelette
- $defaut : null|string = null
rindex_pile()
rindex_pile(mixed $p, mixed $champ, mixed $motif) : mixed
Parameters
- $p : mixed
- $champ : mixed
- $motif : mixed
zbug_presenter_champ()
Retourne le nom de la balise indiquée pour les messages d’erreurs
zbug_presenter_champ(Pile $p[, string $champ = '' ]) : string
Parameters
- $p : Pile
-
Description de la balise
- $champ : string = ''
-
Nom du champ
Return values
string —Nom de la balise, avec indication de boucle explicite si présent.
sandbox_composer_texte()
Composer le code d'exécution d'un texte
sandbox_composer_texte(string $texte, Champ &$p) : string
En principe juste un echappement de guillemets sauf si on veut aussi echapper et interdire les scripts serveurs dans les squelettes
Parameters
- $texte : string
-
texte à composer
- $p : Champ
-
Balise qui appelle ce texte
Return values
string —texte
sandbox_composer_filtre()
Composer le code d'exécution d'un filtre
sandbox_composer_filtre(string $fonc, string $code, string $arglist, Champ &$p[, int $nb_arg_droite = 1000 ]) : string
Parameters
- $fonc : string
- $code : string
- $arglist : string
- $p : Champ
- $nb_arg_droite : int = 1000
-
nb d'arguments à droite du filtre dans le source spip |fff{a,b,c} Balise qui appelle ce filtre
Return values
stringanalyser_arguments_filtre()
Analyser les arguments d’un filtre
analyser_arguments_filtre(string $function) : ReflectionFunctionAbstract}
Notamment, la fonction contient elle un paramètre $Pile
en première position ?
Certains filtres demandent à recevoir le contexte du squelette,
par exemple le filtre |set
Parameters
- $function : string
-
Nom du filtre
Return values
ReflectionFunctionAbstract}sandbox_composer_interdire_scripts()
Composer le code de sécurisation anti script
sandbox_composer_interdire_scripts(string $code, Champ &$p) : string
Parameters
- $code : string
- $p : Champ
-
Balise sur laquelle s'applique le filtre
Return values
stringsandbox_filtrer_squelette()
Appliquer des filtres sur un squelette complet
sandbox_filtrer_squelette(array<string|int, mixed> $skel, string $corps, array<string|int, mixed> $filtres) : mixed|string
La fonction accèpte plusieurs tableaux de filtres à partir du 3ème argument qui seront appliqués dans l'ordre
Parameters
- $skel : array<string|int, mixed>
- $corps : string
- $filtres : array<string|int, mixed>
-
Tableau de filtres à appliquer.
Tags
Return values
mixed|stringechapper_php_callback()
Callback pour échapper du code PHP (les séquences `<?php ... ?>`)
echapper_php_callback([array<string|int, mixed>|null $r = null ]) : string|array<string|int, mixed>
Rappeler la fonction sans paramètre pour obtenir les substitutions réalisées.
Parameters
- $r : array<string|int, mixed>|null = null
-
- array : ce sont les captures de la regex à échapper
- NULL : demande à dépiler tous les échappements réalisés
Tags
Return values
string|array<string|int, mixed> —- string : hash de substitution du code php lorsque
$r
est un array - array : Liste( liste des codes PHP, liste des substitutions )
public_styliser_dist()
Déterminer le squelette qui sera utilisé pour rendre la page ou le bloc à partir de `$fond` et du `$contetxe`
public_styliser_dist(string $fond, array<string|int, mixed> $contexte[, string $lang = '' ][, string $connect = '' ]) : array<string|int, mixed>
Actuellement tous les squelettes se terminent par .html
pour des raisons historiques, ce qui est trompeur
Parameters
- $fond : string
- $contexte : array<string|int, mixed>
- $lang : string = ''
- $connect : string = ''
Return values
array<string|int, mixed>styliser_par_objets()
Cherche à échafauder un squelette générique pour un objet éditorial si aucun squelette approprié n'a été trouvé
styliser_par_objets(array<string|int, mixed> $flux) : array<string|int, mixed>
Échaffaude seulement pour des appels à prive/objets/liste/
ou
prive/objets/contenu/
pour lesquels aucun squelette n'a été trouvé,
et uniquement si l'on est dans l'espace privé.
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline styliser
Tags
Return values
array<string|int, mixed> —Données du pipeline styliser
quete_rubrique_fond()
Calcul de la rubrique associée à la requête (sélection de squelette spécifique par id_rubrique & lang)
quete_rubrique_fond(array<string|int, mixed> $contexte) : array<string|int, mixed>|false
Êttention, on repète cela à chaque inclusion, on optimise donc pour ne faire la recherche qu'une fois par contexte semblable du point de vue des id_xx
Parameters
- $contexte : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>|falsepublic_styliser_par_z_dist()
Recherche automatique d'un squelette Page à partir de `contenu/xx`
public_styliser_par_z_dist(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline
Return values
array<string|int, mixed> —Données modifiées du pipeline
z_blocs()
Lister les blocs de la page selon le contexte prive/public
z_blocs([bool $espace_prive = false ]) : array<string|int, mixed>
Parameters
- $espace_prive : bool = false
Return values
array<string|int, mixed>z_contenu_disponible()
Vérifie qu'un type à un contenu disponible, soit parcequ'il a un fond, soit parce qu'il est echafaudable
z_contenu_disponible(string $prefix_path, string $z_contenu, string $type, string $ext[, bool $echafauder = true ]) : mixed
Parameters
- $prefix_path : string
- $z_contenu : string
- $type : string
- $ext : string
- $echafauder : bool = true
z_fond_valide()
Teste si le fond de squelette trouvé est autorisé
z_fond_valide(string $squelette) : bool
Compare le chemin du squelette trouvé avec les chemins exclus connus.
Parameters
- $squelette : string
-
Un chemin de squelette
Return values
bool —true
si on peut l'utiliser, false
sinon.
z_trouver_bloc()
Trouve un bloc qui peut être sous le nom `contenu/article.html` ou `contenu/contenu.article.html`
z_trouver_bloc(string $prefix_path, string $bloc, string $fond, string $ext) : string
Parameters
- $prefix_path : string
-
chemin de base qui prefixe la recherche
- $bloc : string
-
nom du bloc cherche
- $fond : string
-
nom de la page (ou 'dist' pour le bloc par defaut)
- $ext : string
-
extension du squelette
Return values
stringz_echafaudable()
Tester si un type est echafaudable c'est à dire s'il correspond bien à un objet en base
z_echafaudable(string $type) : bool
Parameters
- $type : string
Tags
Return values
boolprive_echafauder_dist()
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
prive_echafauder_dist(string $exec, string $table, string $table_sql, array<string|int, mixed> $desc_exec, string $ext) : string
Parameters
- $exec : string
- $table : string
- $table_sql : string
- $desc_exec : array<string|int, mixed>
- $ext : string
Return values
stringz_sanitize_var_zajax()
Recuperer et verifier var_zajax si demande dans l'url
z_sanitize_var_zajax() : bool|string
Return values
bool|stringtrace_query_start()
trace_query_start() : mixed
trace_query_end()
trace_query_end(mixed $query, mixed $start, mixed $result, mixed $erreur[, mixed $serveur = '' ]) : mixed
Parameters
- $query : mixed
- $start : mixed
- $result : mixed
- $erreur : mixed
- $serveur : mixed = ''
trace_query_chrono()
trace_query_chrono(mixed $dt, mixed $query, mixed $result[, mixed $serveur = '' ]) : mixed
Parameters
- $dt : mixed
- $query : mixed
- $result : mixed
- $serveur : mixed = ''
chrono_requete()
chrono_requete(mixed $temps) : mixed
Parameters
- $temps : mixed
req_mysql_dist()
Crée la première connexion à un serveur MySQL via MySQLi
req_mysql_dist(string $host, int $port, string $login, string $pass[, string $db = '' ][, string $prefixe = '' ]) : array<string|int, mixed>|bool
Parameters
- $host : string
-
Chemin du serveur
- $port : int
-
Port de connexion
- $login : string
-
Nom d'utilisateur
- $pass : string
-
Mot de passe
- $db : string = ''
-
Nom de la base
- $prefixe : string = ''
-
Préfixe des tables SPIP
Return values
array<string|int, mixed>|bool —- false si la connexion a échoué
- tableau décrivant la connexion sinon
_mysql_link()
Retrouver un link d'une connexion MySQL via MySQLi
_mysql_link([string $serveur = '' ]) : object
Parameters
- $serveur : string = ''
-
Nom du serveur
Return values
object —Information de connexion pour mysqli
spip_mysql_set_charset()
Définit un charset pour la connexion avec Mysql
spip_mysql_set_charset(string $charset[, string $serveur = '' ][, bool $requeter = true ]) : mysqli_result|bool
Parameters
- $charset : string
-
Charset à appliquer
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
Return values
mysqli_result|bool —Jeu de résultats pour fetch()
spip_mysql_get_charset()
Teste si le charset indiqué est disponible sur le serveur SQL
spip_mysql_get_charset([array<string|int, mixed>|string $charset = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
Parameters
- $charset : array<string|int, mixed>|string = []
-
Nom du charset à tester.
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
Return values
array<string|int, mixed> —Description du charset (son nom est dans 'charset')
spip_mysql_query()
Exécute une requête MySQL, munie d'une trace à la demande
spip_mysql_query(string $query[, string $serveur = '' ][, bool $requeter = true ]) : mysqli_result|bool|string|array<string|int, mixed>
Parameters
- $query : string
-
Requête
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
mysqli_result|bool|string|array<string|int, mixed> —- mysqli_result|bool : Si requête exécutée
- string : texte de la requête si on ne l'exécute pas
- array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
spip_mysql_alter()
Modifie une structure de table MySQL
spip_mysql_alter(string $query[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
Parameters
- $query : string
-
Requête SQL (sans 'ALTER ')
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|bool|string —- string : texte de la requête si on ne l'exécute pas
- bool : Si requête exécutée
- array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
spip_mysql_optimize()
Optimise une table MySQL
spip_mysql_optimize(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $table : string
-
Nom de la table
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
Return values
bool —Toujours true
spip_mysql_explain()
Retourne une explication de requête (Explain) MySQL
spip_mysql_explain(string $query[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
Parameters
- $query : string
-
texte de la requête
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
Return values
array<string|int, mixed> —Tableau de l'explication
spip_mysql_select()
Exécute une requête de sélection avec MySQL
spip_mysql_select(string|array<string|int, mixed> $select, string|array<string|int, mixed> $from[, string|array<string|int, mixed> $where = '' ][, string|array<string|int, mixed> $groupby = '' ][, string|array<string|int, mixed> $orderby = '' ][, string $limit = '' ][, string|array<string|int, mixed> $having = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|resource|string
Instance de sql_select (voir ses specs).
Parameters
- $select : string|array<string|int, mixed>
-
Champs sélectionnés
- $from : string|array<string|int, mixed>
-
Tables sélectionnées
- $where : string|array<string|int, mixed> = ''
-
Contraintes
- $groupby : string|array<string|int, mixed> = ''
-
Regroupements
- $orderby : string|array<string|int, mixed> = ''
-
Tris
- $limit : string = ''
-
Limites de résultats
- $having : string|array<string|int, mixed> = ''
-
Contraintes posts sélections
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Tags
Return values
array<string|int, mixed>|bool|resource|string —- string : texte de la requête si on ne l'exécute pas
- ressource si requête exécutée, ressource pour fetch()
- false si la requête exécutée a ratée
- array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
spip_mysql_order()
Prépare une clause order by
spip_mysql_order(string|array<string|int, mixed> $orderby) : string
Regroupe en texte les éléments si un tableau est donné
Parameters
- $orderby : string|array<string|int, mixed>
-
texte du orderby à préparer
Tags
Return values
string —texte du orderby préparé
calculer_mysql_where()
Prépare une clause WHERE pour MySQL
calculer_mysql_where(array<string|int, mixed>|string $v) : string
Retourne une chaîne avec les bonnes parenthèses pour la contrainte indiquée, au format donnée par le compilateur
Parameters
- $v : array<string|int, mixed>|string
-
Description des contraintes
- string : texte du where
- sinon tableau : A et B peuvent être de type string ou array,
OP et C sont de type string :
- array(A) : A est le texte du where
- array(OP, A) : contrainte OP( A )
- array(OP, A, B) : contrainte (A OP B)
- array(OP, A, B, C) : contrainte (A OP (B) : C)
Return values
string —Contrainte pour clause WHERE
calculer_mysql_expression()
Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
calculer_mysql_expression(string $expression, array<string|int, mixed>|string $v[, string $join = 'AND' ]) : string
Renvoie grosso modo "$expression join($join, $v)"
Parameters
- $expression : string
-
Mot clé de l'expression, tel que "WHERE" ou "ORDER BY"
- $v : array<string|int, mixed>|string
-
Données de l'expression
- $join : string = 'AND'
-
Si les données sont un tableau, elles seront groupées par cette jointure
Return values
string —texte de l'expression, une partie donc, du texte la requête.
spip_mysql_select_as()
Renvoie des `nom AS alias`
spip_mysql_select_as(array<string|int, mixed> $args) : string
Parameters
- $args : array<string|int, mixed>
Return values
string —Sélection de colonnes pour une clause SELECT
_mysql_traite_query()
Prépare le texte d'une requête avant son exécution
_mysql_traite_query(string $query[, string $db = '' ][, string $prefixe = '' ][, bool $echappe_textes = true ]) : string
Change les préfixes de tables SPIP par ceux véritables
Parameters
- $query : string
-
Requête à préparer
- $db : string = ''
-
Nom de la base de donnée
- $prefixe : string = ''
-
Préfixe de tables à appliquer
- $echappe_textes : bool = true
-
Pour ne pas essayer de re-echapper une chaine deja echappee qu'on traite en recursif
Return values
string —Requête préparée
spip_mysql_selectdb()
Sélectionne une base de données
spip_mysql_selectdb(string $db[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $db : string
-
Nom de la base à utiliser
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
bool —- True cas de succès.
- False en cas d'erreur.
spip_mysql_listdbs()
Retourne les bases de données accessibles
spip_mysql_listdbs([string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
Retourne un tableau du nom de toutes les bases de données 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
- $requeter : bool = true
-
Inutilisé
Return values
array<string|int, mixed> —Liste de noms de bases de données
spip_mysql_create()
Crée une table SQL
spip_mysql_create(string $nom, array<string|int, mixed> $champs, array<string|int, mixed> $cles[, bool $autoinc = false ][, bool $temporary = false ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|resource|string
Crée une table SQL nommee $nom
à partir des 2 tableaux $champs
et $cles
Parameters
- $nom : string
-
Nom de la table SQL
- $champs : array<string|int, mixed>
-
Couples (champ => description SQL)
- $cles : array<string|int, mixed>
-
Couples (type de clé => champ(s) de la clé)
- $autoinc : bool = false
-
True pour ajouter un auto-incrément sur la Primary Key
- $temporary : bool = false
-
True pour créer une table temporaire
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
Tags
Return values
array<string|int, mixed>|null|resource|string —- null si champs ou cles n'est pas un tableau
- true si la requête réussie, false sinon.
_mysql_remplacements_definitions_table()
Adapte pour Mysql la déclaration SQL d'une colonne d'une table
_mysql_remplacements_definitions_table(string|array<string|int, mixed> $query) : string|array<string|int, mixed>
Parameters
- $query : string|array<string|int, mixed>
-
Définition SQL d'un champ de table ou liste de déclarations
Tags
Return values
string|array<string|int, mixed> —Définition SQL adaptée pour MySQL d'un champ de table
spip_mysql_create_base()
Crée une base de données MySQL
spip_mysql_create_base(string $nom[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $nom : string
-
Nom de la base
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool —true si la base est créee.
spip_mysql_create_view()
Crée une vue SQL nommée `$nom`
spip_mysql_create_view(string $nom, string $query_select[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $nom : string
-
Nom de la vue à creer
- $query_select : string
-
texte de la requête de sélection servant de base à la vue
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Effectuer la requete, sinon la retourner
Return values
bool|string —- true si la vue est créée
- false si erreur ou si la vue existe déja
- string texte de la requête si $requeter vaut false
spip_mysql_drop_table()
Supprime une table SQL
spip_mysql_drop_table(string $table[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
Nom de la table SQL
- $exist : bool = false
-
True pour ajouter un test d'existence avant de supprimer
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- string texte de la requête si demandé
- true si la requête a réussie, false sinon
spip_mysql_drop_view()
Supprime une vue SQL
spip_mysql_drop_view(string $view[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $view : string
-
Nom de la vue SQL
- $exist : bool = false
-
True pour ajouter un test d'existence avant de supprimer
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- string texte de la requête si demandé
- true si la requête a réussie, false sinon
spip_mysql_showbase()
Retourne une ressource de la liste des tables de la base de données
spip_mysql_showbase(string $match[, string $serveur = '' ][, bool $requeter = true ]) : mysqli_result|bool|string
Parameters
- $match : string
-
Filtre sur tables à récupérer
- $serveur : string = ''
-
Connecteur de la base
- $requeter : bool = true
-
true pour éxecuter la requête false pour retourner le texte de la requête.
Return values
mysqli_result|bool|string —Ressource à utiliser avec sql_fetch()
spip_mysql_repair()
Répare une table SQL
spip_mysql_repair(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string|array<string|int, mixed>
Utilise REPAIR TABLE ...
de MySQL
Parameters
- $table : string
-
Nom de la table SQL
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string|array<string|int, mixed> —- string texte de la requête si demandée,
- true si la requête a réussie, false sinon
spip_mysql_table_exists()
Indique si une table existe dans la base de données
spip_mysql_table_exists(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
Table dont on cherche l’existence
- $serveur : string = ''
-
Connecteur de la base
- $requeter : bool = true
-
true pour éxecuter la requête false pour retourner le texte de la requête.
Return values
bool|string —- true si la table existe, false sinon
- string : requete sql, si $requeter = true
spip_mysql_showtable()
Obtient la description d'une table ou vue MySQL
spip_mysql_showtable(string $nom_table[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|string
Récupère la définition d'une table ou d'une vue avec colonnes, indexes, etc. au même format que la définition des tables SPIP, c'est à dire un tableau avec les clés
field
(tableau colonne => description SQL) etkey
(tableau type de clé => colonnes)
Parameters
- $nom_table : string
-
Nom de la table SQL
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|string —- chaîne vide si pas de description obtenue
- string texte de la requête si demandé
- array description de la table sinon
spip_mysql_fetch()
Rècupère une ligne de résultat
spip_mysql_fetch(mysqli_result $r[, string $t = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|false
Récupère la ligne suivante d'une ressource de résultat
Parameters
- $r : mysqli_result
-
Jeu de résultats (issu de sql_select)
- $t : string = ''
-
Structure de résultat attendu (défaut MYSQLI_ASSOC)
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
array<string|int, mixed>|null|false —- array Ligne de résultat
- null Pas de résultat
- false Erreur
spip_mysql_seek()
Place le pointeur de résultat sur la position indiquée
spip_mysql_seek(mysqli_result $r, int $row_number[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $r : mysqli_result
-
Jeu de résultats
- $row_number : int
-
Position. Déplacer le pointeur à cette ligne
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
bool —True si déplacement réussi, false sinon.
spip_mysql_countsel()
Retourne le nombre de lignes d'une sélection
spip_mysql_countsel([array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = '' ][, array<string|int, mixed>|string $having = [] ][, string $serveur = '' ][, bool $requeter = true ]) : int|string
Parameters
- $from : array<string|int, mixed>|string = []
-
Tables à consulter (From)
- $where : array<string|int, mixed>|string = []
-
Conditions a remplir (Where)
- $groupby : array<string|int, mixed>|string = ''
-
Critère de regroupement (Group by)
- $having : array<string|int, mixed>|string = []
-
Tableau des des post-conditions à remplir (Having)
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
int|string —- string texte de la requête si demandé
- int Nombre de lignes (0 si la requête n'a pas réussie)
spip_mysql_error()
Retourne la dernière erreur generée
spip_mysql_error([string $query = '' ][, string $serveur = '' ][, bool $requeter = true ]) : string
Parameters
- $query : string = ''
-
Requête qui était exécutée
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Tags
Return values
string —Erreur eventuelle
spip_mysql_errno()
Retourne le numero de la dernière erreur SQL
spip_mysql_errno([string $serveur = '' ][, bool $requeter = true ]) : int
Parameters
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
int —0, pas d'erreur. Autre, numéro de l'erreur.
spip_mysql_count()
Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
spip_mysql_count(Ressource $r[, string $serveur = '' ][, bool $requeter = true ]) : int
Parameters
- $r : Ressource
-
Ressource de résultat
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
int —Nombre de lignes
spip_mysql_free()
Libère une ressource de résultat
spip_mysql_free(mysqli_result $r[, string $serveur = '' ][, bool $requeter = true ]) : bool
Indique à MySQL de libérer de sa mémoire la ressource de résultat indiquée car on n'a plus besoin de l'utiliser.
Parameters
- $r : mysqli_result
-
Jeu de résultats
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
bool —True si réussi
spip_mysql_insert()
Insère une ligne dans une table
spip_mysql_insert(string $table, string $champs, string $valeurs[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
Parameters
- $table : string
-
Nom de la table SQL
- $champs : string
-
Liste des colonnes impactées,
- $valeurs : string
-
Liste des valeurs,
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string|int|array<string|int, mixed> —- int|true identifiant de l'élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur,
- Tableau de description de la requête et du temps d'exécution, si var_profile activé
spip_mysql_insertq()
Insère une ligne dans une table, en protégeant chaque valeur
spip_mysql_insertq(string $table[, string $couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
Parameters
- $table : string
-
Nom de la table SQL
- $couples : string = []
-
Couples (colonne => valeur)
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string|int|array<string|int, mixed> —- int|true identifiant de l'élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur,
- Tableau de description de la requête et du temps d'exécution, si var_profile activé
spip_mysql_insertq_multi()
Insère plusieurs lignes d'un coup dans une table
spip_mysql_insertq_multi(string $table[, array<string|int, mixed> $tab_couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : int|bool|string
Parameters
- $table : string
-
Nom de la table SQL
- $tab_couples : array<string|int, mixed> = []
-
Tableau de tableaux associatifs (colonne => valeur)
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
int|bool|string —- int|true identifiant du dernier élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_update()
Met à jour des enregistrements d'une table SQL
spip_mysql_update(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
Parameters
- $table : string
-
Nom de la table
- $champs : array<string|int, mixed>
-
Couples (colonne => valeur)
- $where : string|array<string|int, mixed> = ''
-
Conditions a remplir (Where)
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|bool|string —- string : texte de la requête si demandé
- true si la requête a réussie, false sinon
- array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
spip_mysql_updateq()
Met à jour des enregistrements d'une table SQL et protège chaque valeur
spip_mysql_updateq(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
Protège chaque valeur transmise avec sql_quote(), adapté au type de champ attendu par la table SQL
Parameters
- $table : string
-
Nom de la table
- $champs : array<string|int, mixed>
-
Couples (colonne => valeur)
- $where : string|array<string|int, mixed> = ''
-
Conditions a remplir (Where)
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Tags
Return values
array<string|int, mixed>|bool|string —- string : texte de la requête si demandé
- true si la requête a réussie, false sinon
- array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
spip_mysql_delete()
Supprime des enregistrements d'une table
spip_mysql_delete(string $table[, string|array<string|int, mixed> $where = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
Nom de la table SQL
- $where : string|array<string|int, mixed> = ''
-
Conditions à vérifier
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- int : nombre de suppressions réalisées,
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_replace()
Insère où met à jour une entrée d’une table SQL
spip_mysql_replace(string $table, array<string|int, mixed> $couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.
Préférez updateq ou insertq.
Parameters
- $table : string
-
Nom de la table SQL
- $couples : array<string|int, mixed>
-
Couples colonne / valeur à modifier,
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- true si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_replace_multi()
Insère où met à jour des entrées d’une table SQL
spip_mysql_replace_multi(string $table, array<string|int, mixed> $tab_couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.
Préférez insertq_multi et sql_updateq
Parameters
- $table : string
-
Nom de la table SQL
- $tab_couples : array<string|int, mixed>
-
Tableau de tableau (colonne / valeur à modifier),
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- true si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_mysql_multi()
Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
spip_mysql_multi(string $objet, string $lang) : string
Cette sélection est mise dans l'alias multi
(instruction AS multi).
Parameters
- $objet : string
-
Colonne ayant le texte
- $lang : string
-
Langue à extraire
Return values
string —texte de sélection pour la requête
spip_mysql_hex()
Prépare une chaîne hexadécimale
spip_mysql_hex(string $v) : string
Par exemple : FF ==> 0xFF en MySQL
Parameters
- $v : string
-
Chaine hexadecimale
Return values
string —Valeur hexadécimale pour MySQL
spip_mysql_quote()
Échapper une valeur selon son type ou au mieux comme le fait `_q()` mais pour MySQL avec ses spécificités
spip_mysql_quote(string|array<string|int, mixed>|number $v[, string $type = '' ]) : string|number
Parameters
- $v : string|array<string|int, mixed>|number
-
texte, nombre ou tableau à échapper
- $type : string = ''
-
Description du type attendu (par exemple description SQL de la colonne recevant la donnée)
Return values
string|number —Donnée prête à être utilisée par le gestionnaire SQL
spip_mysql_date_proche()
Tester si une date est proche de la valeur d'un champ
spip_mysql_date_proche(string $champ, int $interval, string $unite) : string
Parameters
- $champ : string
-
Nom du champ a tester
- $interval : int
-
Valeur de l'intervalle : -1, 4, ...
- $unite : string
-
Utité utilisée (DAY, MONTH, YEAR, ...)
Return values
string —Expression SQL
spip_mysql_in()
Retourne une expression IN pour le gestionnaire de base de données
spip_mysql_in(string $val, string $valeurs[, string $not = '' ][, string $serveur = '' ][, bool $requeter = true ]) : string
IN (...) est limité à 255 éléments, d'où cette fonction assistante
Parameters
- $val : string
-
Colonne SQL sur laquelle appliquer le test
- $valeurs : string
-
Liste des valeurs possibles (séparés par des virgules)
- $not : string = ''
-
- '' sélectionne les éléments correspondant aux valeurs
- 'NOT' inverse en sélectionnant les éléments ne correspondant pas aux valeurs
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
string —Expression de requête SQL
spip_mysql_cite()
Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
spip_mysql_cite(string|number $v, string $type) : string|number
Parameters
- $v : string|number
-
texte ou nombre à échapper
- $type : string
-
Type de donnée attendue, description SQL de la colonne de destination
Return values
string|number —texte ou nombre échappé
spip_versions_mysql()
Teste si on a les fonctions MySQLi (pour l'install)
spip_versions_mysql() : bool
Return values
bool —True si on a les fonctions, false sinon
test_rappel_nom_base_mysql()
Tester si mysql ne veut pas du nom de la base dans les requêtes
test_rappel_nom_base_mysql(string $server_db) : string
Parameters
- $server_db : string
Return values
string —- chaîne vide si nom de la base utile
- chaîne : code compilé pour le faire désactiver par SPIP sinon
test_sql_mode_mysql()
Teste si on peut changer les modes de MySQL
test_sql_mode_mysql(string $server_db) : string
Parameters
- $server_db : string
-
Nom de la connexion
Tags
Return values
string —- chaîne vide si on ne peut pas appliquer de mode
- chaîne : code compilé pour l'indiquer le résultat du test à SPIP
req_sqlite3_dist()
req_sqlite3_dist(mixed $addr, mixed $port, mixed $login, mixed $pass[, mixed $db = '' ][, mixed $prefixe = '' ]) : mixed
Parameters
- $addr : mixed
- $port : mixed
- $login : mixed
- $pass : mixed
- $db : mixed = ''
- $prefixe : mixed = ''
spip_sqlite3_constantes()
spip_sqlite3_constantes() : mixed
spip_versions_sqlite3()
spip_versions_sqlite3() : mixed
_sqlite_init_functions()
Déclarer à SQLite des fonctions spécifiques utilisables dans les requêtes SQL
_sqlite_init_functions(PDO|resource &$sqlite) : false|void
SQLite ne supporte nativement que certaines fonctions dans les requêtes SQL. Cependant, il permet d'étendre très facilement celles-ci en déclarant de nouvelles fonctions.
C'est ce qui est fait ici, en ajoutant des fonctions qui existent aussi dans d'autres moteurs, notamment en MySQL.
Parameters
- $sqlite : PDO|resource
-
Représente la connexion Sqlite
Tags
Return values
false|void_sqlite_add_function()
Déclare une fonction à SQLite
_sqlite_add_function(PDO &$sqlite, string &$f, array<string|int, mixed> &$r) : mixed
Parameters
- $sqlite : PDO
-
Représente la connexion Sqlite
- $f : string
-
Nom de la fonction à créer
- $r : array<string|int, mixed>
-
Tableau indiquant :
- le nom de la fonction à appeler,
- le nombre de paramètres attendus de la fonction (-1 = infini, par défaut)
Tags
_sqlite_func_ceil()
Mapping de `CEIL` pour SQLite
_sqlite_func_ceil(float $a) : int
Parameters
- $a : float
Return values
int_sqlite_func_concat()
Mapping de `CONCAT` pour SQLite
_sqlite_func_concat(array<string|int, string> ...$args) : string
Parameters
- $args : array<string|int, string>
Return values
string_sqlite_func_dayofmonth()
Mapping de `DAYOFMONTH` pour SQLite
_sqlite_func_dayofmonth(string $d) : string
Parameters
- $d : string
Tags
Return values
string_sqlite_func_find_in_set()
Mapping de `FIND_IN_SET` pour SQLite
_sqlite_func_find_in_set(string $num, string $set) : int
Parameters
- $num : string
- $set : string
Return values
int_sqlite_func_floor()
Mapping de `FLOOR` pour SQLite
_sqlite_func_floor(float $a) : int
Parameters
- $a : float
Return values
int_sqlite_func_if()
Mapping de `IF` pour SQLite
_sqlite_func_if(bool $bool, string|int|float $oui, string|int|float $non) : mixed
Parameters
- $bool : bool
- $oui : string|int|float
- $non : string|int|float
_sqlite_func_insert()
Mapping de `INSERT` pour SQLite
_sqlite_func_insert(string $s, int $index, int $longueur, string $chaine) : string
Retourne une chaine de caractères à partir d'une chaine dans laquelle "chaine" à été inserée à la position "index" en remplacant "longueur" caractères.
Parameters
- $s : string
- $index : int
- $longueur : int
- $chaine : string
Return values
string_sqlite_func_instr()
Mapping de `INSTR` pour SQLite
_sqlite_func_instr(string $s, string $search) : int
Parameters
- $s : string
- $search : string
Return values
int_sqlite_func_least()
Mapping de `LEAST` pour SQLite
_sqlite_func_least(array<string|int, int> ...$args) : int
Parameters
- $args : array<string|int, int>
Return values
int_sqlite_func_greatest()
Mapping de `GREATEST` pour SQLite
_sqlite_func_greatest(array<string|int, int> ...$args) : int
Parameters
- $args : array<string|int, int>
Return values
int_sqlite_func_left()
Mapping de `LEFT` pour SQLite
_sqlite_func_left(string $s, int $lenght) : string
Parameters
- $s : string
- $lenght : int
Return values
string_sqlite_func_now()
Mappnig de `NOW` pour SQLite
_sqlite_func_now([bool $force_refresh = false ]) : string
Parameters
- $force_refresh : bool = false
Return values
string_sqlite_func_month()
Mapping de `MONTH` pour SQLite
_sqlite_func_month(string $d) : string
Parameters
- $d : string
Tags
Return values
string_sqlite_func_preg_replace()
Mapping de `PREG_REPLACE` pour SQLite
_sqlite_func_preg_replace(string $quoi, string $cherche, string $remplace) : string
Parameters
- $quoi : string
- $cherche : string
- $remplace : string
Return values
string_sqlite_func_extraire_multi()
Mapping pour `EXTRAIRE_MULTI` de SPIP pour SQLite
_sqlite_func_extraire_multi(string $quoi, string $lang) : mixed
Extrait une langue d'un texte
Parameters
- $quoi : string
-
le texte contenant ou non un multi
- $lang : string
-
la langue a extraire
Tags
_sqlite_func_rand()
Mapping de `RAND` pour SQLite
_sqlite_func_rand() : float
Return values
float_sqlite_func_right()
Mapping de `RIGHT` pour SQLite
_sqlite_func_right(string $s, int $length) : string
Parameters
- $s : string
- $length : int
Return values
string_sqlite_func_regexp_match()
Mapping de `REGEXP` pour SQLite
_sqlite_func_regexp_match(string $cherche, string $quoi) : bool
Parameters
- $cherche : string
- $quoi : string
Return values
bool_sqlite_func_date_format()
Mapping de `DATE_FORMAT` pour SQLite
_sqlite_func_date_format(string $date, string $conv) : string
Transforme un un appel à DATE_FORMAT() via strftime de PHP, mais les motifs de remplacements ne sont pas toujours identiques. On essaie de les contertir.
Parameters
- $date : string
- $conv : string
Return values
string_sqlite_func_strftime_format_converter()
Convertit un format demandé pour DATE_FORMAT() de mysql en un format adapté à strftime() de php.
_sqlite_func_strftime_format_converter(string $conv) : string
Certains paramètres ne correspondent pas et doivent être remplacés, d'autres n'ont tout simplement pas d'équivalent dans strftime : dans ce cas là on loggue, car il y a de grandes chances que le résultat soit inadapté.
Parameters
- $conv : string
Return values
string_sqlite_func_to_days()
Mapping de `DAYS` pour SQLite
_sqlite_func_to_days(string $d) : int
Nombre de jour entre 0000-00-00 et $d
Parameters
- $d : string
Tags
Return values
int_sqlite_func_substring()
Mapping de `SUBSTRING` pour SQLite
_sqlite_func_substring(string $string, int $start[, int $len = null ]) : string
Parameters
- $string : string
- $start : int
- $len : int = null
Return values
string_sqlite_timestampdiff()
Mapping de `TIMESTAMPDIFF` pour SQLite
_sqlite_timestampdiff(string $unit, string $date1, string $date2) : int
Calcul de la difference entre 2 timestamp, exprimes dans l'unite fournie en premier argument
Parameters
- $unit : string
- $date1 : string
- $date2 : string
Tags
Return values
int_sqlite_func_unix_timestamp()
Mapping de `UNIX_TIMESTAMP` pour SQLite
_sqlite_func_unix_timestamp(string $d) : int
Parameters
- $d : string
Return values
int_sqlite_func_year()
Mapping de `YEAR` pour SQLite
_sqlite_func_year(string $d) : string
Parameters
- $d : string
Tags
Return values
string_sqlite_func_date()
Version optimisée et memoizée de date() utilisé pour certains mapping SQLite
_sqlite_func_date(string $quoi, int $d) : string
Parameters
- $quoi : string
-
format : Y, m, ou d
- $d : int
-
timestamp
Tags
Return values
string_sqlite_func_vide()
Mapping de `VIDE()` de SPIP pour SQLite
_sqlite_func_vide() : mixed
req_sqlite_dist()
Connecteur à une base SQLite
req_sqlite_dist(string $addr, int $port, string $login, string $pass[, string $db = '' ][, string $prefixe = '' ][, string $sqlite_version = '' ]) : array<string|int, mixed>|bool
Parameters
- $addr : string
- $port : int
- $login : string
- $pass : string
- $db : string = ''
- $prefixe : string = ''
- $sqlite_version : string = ''
Return values
array<string|int, mixed>|boolspip_sqlite_open()
Ouvre une base SQLite avec PDO en spécifiant une classe spécifique pour les résultats
spip_sqlite_open(string $file) : PDO
Parameters
- $file : string
Tags
Return values
PDOspip_sqlite_query()
Fonction de requete generale, munie d'une trace a la demande
spip_sqlite_query(string $query[, string $serveur = '' ][, bool $requeter = true ]) : PDOStatement|bool|string|array<string|int, mixed>
Parameters
- $query : string
-
Requete a executer
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Effectuer la requete ?
- true pour executer
- false pour retourner le texte de la requete
Return values
PDOStatement|bool|string|array<string|int, mixed> —Resultat de la requete
spip_sqlite_alter()
Modifie une structure de table SQLite
spip_sqlite_alter(string $query[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $query : string
-
Requête SQL (sans 'ALTER ')
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
Return values
bool —False si erreur dans l'exécution, true sinon
spip_sqlite_create()
Crée une table SQL
spip_sqlite_create(string $nom, array<string|int, mixed> $champs, array<string|int, mixed> $cles[, bool $autoinc = false ][, bool $temporary = false ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|resource|string
Crée une table SQL nommee $nom
à partir des 2 tableaux $champs
et $cles
Parameters
- $nom : string
-
Nom de la table SQL
- $champs : array<string|int, mixed>
-
Couples (champ => description SQL)
- $cles : array<string|int, mixed>
-
Couples (type de clé => champ(s) de la clé)
- $autoinc : bool = false
-
True pour ajouter un auto-incrément sur la Primary Key
- $temporary : bool = false
-
True pour créer une table temporaire
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Tags
Return values
array<string|int, mixed>|null|resource|string —- string texte de la requête si demandée
- true si la requête réussie, false sinon.
spip_sqlite_create_base()
Crée une base de données SQLite
spip_sqlite_create_base(string $nom[, string $serveur = '' ][, string $option = true ]) : bool
Parameters
- $nom : string
-
Nom de la base (sans l'extension de fichier)
- $serveur : string = ''
-
Nom de la connexion
- $option : string = true
-
Options
Return values
bool —true si la base est créee.
spip_sqlite_create_view()
Crée une vue SQL nommée `$nom`
spip_sqlite_create_view(string $nom, string $query_select[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $nom : string
-
Nom de la vue a creer
- $query_select : string
-
texte de la requête de sélection servant de base à la vue
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Effectuer la requete, sinon la retourner
Return values
bool|string —- true si la vue est créée
- false si erreur ou si la vue existe déja
- string texte de la requête si $requeter vaut false
spip_sqlite_create_index()
Fonction de création d'un INDEX
spip_sqlite_create_index(string $nom, string $table, string|array<string|int, mixed> $champs[, string|bool $unique = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $nom : string
-
Nom de l'index
- $table : string
-
Table SQL de l'index
- $champs : string|array<string|int, mixed>
-
Liste de champs sur lesquels s'applique l'index
- $unique : string|bool = ''
-
Créer un index UNIQUE ?
- $serveur : string = ''
-
Nom de la connexion sql utilisee
- $requeter : bool = true
-
true pour executer la requête ou false pour retourner le texte de la requête
Return values
bool|string —string : requête, false si erreur, true sinon.
spip_sqlite_count()
Retourne le nombre de lignes d’une ressource de sélection obtenue avec `sql_select()`
spip_sqlite_count(PDOStatement $r[, string $serveur = '' ][, bool $requeter = true ]) : int
En PDO/sqlite3, il faut calculer le count par une requete count(*) pour les resultats de SELECT.
Parameters
- $r : PDOStatement
-
Jeu de résultats
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
int —Nombre de lignes
spip_sqlite_countsel()
Retourne le nombre de lignes d'une sélection
spip_sqlite_countsel([array<string|int, mixed>|string $from = [] ][, array<string|int, mixed>|string $where = [] ][, array<string|int, mixed>|string $groupby = '' ][, array<string|int, mixed>|string $having = [] ][, string $serveur = '' ][, bool $requeter = true ]) : int|bool|string
Parameters
- $from : array<string|int, mixed>|string = []
-
Tables à consulter (From)
- $where : array<string|int, mixed>|string = []
-
Conditions a remplir (Where)
- $groupby : array<string|int, mixed>|string = ''
-
Critère de regroupement (Group by)
- $having : array<string|int, mixed>|string = []
-
Tableau des des post-conditions à remplir (Having)
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
int|bool|string —- string texte de la requête si demandé
- int Nombre de lignes
- false si la requête a échouée
spip_sqlite_delete()
Supprime des enregistrements d'une table
spip_sqlite_delete(string $table[, string|array<string|int, mixed> $where = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
Nom de la table SQL
- $where : string|array<string|int, mixed> = ''
-
Conditions à vérifier
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- int : nombre de suppressions réalisées,
- texte de la requête si demandé,
- false en cas d'erreur.
spip_sqlite_drop_table()
Supprime une table SQL
spip_sqlite_drop_table(string $table[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
Nom de la table SQL
- $exist : bool = false
-
True pour ajouter un test d'existence avant de supprimer
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- string texte de la requête si demandé
- true si la requête a réussie, false sinon
spip_sqlite_drop_view()
Supprime une vue SQL
spip_sqlite_drop_view(string $view[, bool $exist = false ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $view : string
-
Nom de la vue SQL
- $exist : bool = false
-
True pour ajouter un test d'existence avant de supprimer
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- string texte de la requête si demandé
- true si la requête a réussie, false sinon
spip_sqlite_drop_index()
Fonction de suppression d'un INDEX
spip_sqlite_drop_index(string $nom, string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $nom : string
-
: nom de l'index
- $table : string
-
: table sql de l'index
- $serveur : string = ''
-
: nom de la connexion sql utilisee
- $requeter : bool = true
-
: true pour executer la requête ou false pour retourner le texte de la requête
Return values
bool —ou requete
spip_sqlite_error()
Retourne la dernière erreur generée
spip_sqlite_error([string $query = '' ][, string $serveur = '' ]) : string
Parameters
- $query : string = ''
-
Requête qui était exécutée
- $serveur : string = ''
-
Nom de la connexion
Tags
Return values
string —Erreur eventuelle
_sqlite_last_error_from_link()
_sqlite_last_error_from_link(mixed $link) : mixed
Parameters
- $link : mixed
spip_sqlite_errno()
Retourne le numero de la dernière erreur SQL
spip_sqlite_errno([string $serveur = '' ]) : int|string
Le numéro (en sqlite3/pdo) est un retour ODBC tel que (très souvent) HY000 http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html
Parameters
- $serveur : string = ''
-
nom de la connexion
Return values
int|string —0 pas d'erreur 1 ou autre erreur (en sqlite 2) 'HY000/1' : numéro de l'erreur SQLState / numéro d'erreur interne SQLite (en sqlite 3)
spip_sqlite_explain()
Retourne une explication de requête (Explain) SQLite
spip_sqlite_explain(string $query[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|string|bool
Parameters
- $query : string
-
texte de la requête
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|string|bool —- array : Tableau de l'explication
- string si on retourne le texte de la requête
- false si on a pas pu avoir d'explication
spip_sqlite_fetch()
Rècupère une ligne de résultat
spip_sqlite_fetch(PDOStatement $r[, string $t = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|null|false
Récupère la ligne suivante d'une ressource de résultat
Parameters
- $r : PDOStatement
-
Jeu de résultats (issu de sql_select)
- $t : string = ''
-
Structure de résultat attendu (défaut ASSOC)
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
array<string|int, mixed>|null|false —- array Ligne de résultat
- null Pas de résultat
- false Erreur
spip_sqlite_seek()
Place le pointeur de résultat sur la position indiquée
spip_sqlite_seek(PDOStatement $r, int $row_number[, string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $r : PDOStatement
-
Jeu de résultats
- $row_number : int
-
Position. Déplacer le pointeur à cette ligne
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
bool —True si déplacement réussi, false sinon.
spip_sqlite_free()
Libère une ressource de résultat
spip_sqlite_free(PDOStatement &$r[, string $serveur = '' ][, bool $requeter = true ]) : bool
Indique à SQLite de libérer de sa mémoire la ressoucre de résultat indiquée car on n'a plus besoin de l'utiliser.
Parameters
- $r : PDOStatement
-
Jeu de résultats
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Inutilisé
Return values
bool —True si réussi
spip_sqlite_get_charset()
Teste si le charset indiqué est disponible sur le serveur SQL (aucune action ici)
spip_sqlite_get_charset([array<string|int, mixed>|string $charset = [] ][, string $serveur = '' ][, bool $requeter = true ]) : mixed
Cette fonction n'a aucune action actuellement
Parameters
- $charset : array<string|int, mixed>|string = []
-
Nom du charset à tester.
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
spip_sqlite_hex()
Prépare une chaîne hexadécimale
spip_sqlite_hex(string $v) : string
Par exemple : FF ==> 255 en SQLite
Parameters
- $v : string
-
Chaine hexadecimale
Return values
string —Valeur hexadécimale pour SQLite
spip_sqlite_in()
Retourne une expression IN pour le gestionnaire de base de données
spip_sqlite_in(string $val, string $valeurs[, string $not = '' ][, string $serveur = '' ][, bool $requeter = true ]) : string
Parameters
- $val : string
-
Colonne SQL sur laquelle appliquer le test
- $valeurs : string
-
Liste des valeurs possibles (séparés par des virgules)
- $not : string = ''
-
- '' sélectionne les éléments correspondant aux valeurs
- 'NOT' inverse en sélectionnant les éléments ne correspondant pas aux valeurs
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
string —Expression de requête SQL
spip_sqlite_insert()
Insère une ligne dans une table
spip_sqlite_insert(string $table, string $champs, string $valeurs[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
Parameters
- $table : string
-
Nom de la table SQL
- $champs : string
-
Liste des colonnes impactées,
- $valeurs : string
-
Liste des valeurs,
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string|int|array<string|int, mixed> —- int|true identifiant de l'élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur,
- Tableau de description de la requête et du temps d'exécution, si var_profile activé
spip_sqlite_insertq()
Insère une ligne dans une table, en protégeant chaque valeur
spip_sqlite_insertq(string $table[, array<string|int, mixed> $couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string|int|array<string|int, mixed>
Parameters
- $table : string
-
Nom de la table SQL
- $couples : array<string|int, mixed> = []
-
Couples (colonne => valeur)
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string|int|array<string|int, mixed> —- int|true identifiant de l'élément inséré (si possible), ou true, si réussite
- texte de la requête si demandé,
- false en cas d'erreur,
- Tableau de description de la requête et du temps d'exécution, si var_profile activé
spip_sqlite_insertq_multi()
Insère plusieurs lignes d'un coup dans une table
spip_sqlite_insertq_multi(string $table[, array<string|int, mixed> $tab_couples = [] ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
Nom de la table SQL
- $tab_couples : array<string|int, mixed> = []
-
Tableau de tableaux associatifs (colonne => valeur)
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- true en cas de succès,
- texte de la requête si demandé,
- false en cas d'erreur.
spip_sqlite_preferer_transaction()
Retourne si le moteur SQL préfère utiliser des transactions.
spip_sqlite_preferer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
bool —Toujours true.
spip_sqlite_demarrer_transaction()
Démarre une transaction
spip_sqlite_demarrer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool|string
Pratique pour des sql_updateq() dans un foreach, parfois 100* plus rapide s'ils sont nombreux en sqlite !
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
true pour exécuter la requête ou false pour retourner le texte de la requête
Return values
bool|string —string si texte de la requête demandé, true sinon
spip_sqlite_terminer_transaction()
Clôture une transaction
spip_sqlite_terminer_transaction([string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
true pour exécuter la requête ou false pour retourner le texte de la requête
Return values
bool|string —string si texte de la requête demandé, true sinon
spip_sqlite_listdbs()
Liste les bases de données disponibles
spip_sqlite_listdbs([string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>
Parameters
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
array<string|int, mixed> —Liste des noms de bases
spip_sqlite_multi()
Retourne l'instruction SQL pour obtenir le texte d'un champ contenant une balise `<multi>` dans la langue indiquée
spip_sqlite_multi(string $objet, string $lang) : string
Cette sélection est mise dans l'alias multi
(instruction AS multi).
Parameters
- $objet : string
-
Colonne ayant le texte
- $lang : string
-
Langue à extraire
Return values
string —texte de sélection pour la requête
spip_sqlite_optimize()
Optimise une table SQL
spip_sqlite_optimize(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
nom de la table a optimiser
- $serveur : string = ''
-
nom de la connexion
- $requeter : bool = true
-
effectuer la requete ? sinon retourner son code
Tags
Return values
bool|string —true / false / requete
spip_sqlite_quote()
Échapper une valeur selon son type mais pour SQLite avec ses spécificités
spip_sqlite_quote(string|array<string|int, mixed>|number $v[, string $type = '' ]) : string|number
Parameters
- $v : string|array<string|int, mixed>|number
-
texte, nombre ou tableau à échapper
- $type : string = ''
-
Description du type attendu (par exemple description SQL de la colonne recevant la donnée)
Return values
string|number —Donnée prête à être utilisée par le gestionnaire SQL
spip_sqlite_date_proche()
Tester si une date est proche de la valeur d'un champ
spip_sqlite_date_proche(string $champ, int $interval, string $unite) : string
Parameters
- $champ : string
-
Nom du champ a tester
- $interval : int
-
Valeur de l'intervalle : -1, 4, ...
- $unite : string
-
Utité utilisée (DAY, MONTH, YEAR, ...)
Return values
string —Expression SQL
spip_sqlite_repair()
Répare une table SQL
spip_sqlite_repair(string $table[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, string>
Il n'y a pas de fonction native repair dans sqlite, mais on profite pour vérifier que tous les champs (text|char) ont bien une clause DEFAULT
Parameters
- $table : string
-
Nom de la table SQL
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, string> —Tableau avec clé 0 pouvant avoir " OK " ou " ERROR " indiquant l'état de la table après la réparation
spip_sqlite_replace()
Insère où met à jour une entrée d’une table SQL
spip_sqlite_replace(string $table, array<string|int, mixed> $couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.
Préférer à cette fonction updateq ou insertq.
Parameters
- $table : string
-
Nom de la table SQL
- $couples : array<string|int, mixed>
-
Couples colonne / valeur à modifier,
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- true si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_sqlite_replace_multi()
Insère où met à jour des entrées d’une table SQL
spip_sqlite_replace_multi(string $table, array<string|int, mixed> $tab_couples[, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
La clé ou les cles primaires doivent être présentes dans les données insérés. La fonction effectue une protection automatique des données.
Préférez insertq_multi et sql_updateq
Parameters
- $table : string
-
Nom de la table SQL
- $tab_couples : array<string|int, mixed>
-
Tableau de tableau (colonne / valeur à modifier),
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
bool|string —- true si réussite
- texte de la requête si demandé,
- false en cas d'erreur.
spip_sqlite_select()
Exécute une requête de sélection avec SQLite
spip_sqlite_select(string|array<string|int, mixed> $select, string|array<string|int, mixed> $from[, string|array<string|int, mixed> $where = '' ][, string|array<string|int, mixed> $groupby = '' ][, string|array<string|int, mixed> $orderby = '' ][, string $limit = '' ][, string|array<string|int, mixed> $having = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|resource|string
Instance de sql_select (voir ses specs).
Parameters
- $select : string|array<string|int, mixed>
-
Champs sélectionnés
- $from : string|array<string|int, mixed>
-
Tables sélectionnées
- $where : string|array<string|int, mixed> = ''
-
Contraintes
- $groupby : string|array<string|int, mixed> = ''
-
Regroupements
- $orderby : string|array<string|int, mixed> = ''
-
Tris
- $limit : string = ''
-
Limites de résultats
- $having : string|array<string|int, mixed> = ''
-
Contraintes posts sélections
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Tags
Return values
array<string|int, mixed>|bool|resource|string —- string : texte de la requête si on ne l'exécute pas
- ressource si requête exécutée, ressource pour fetch()
- false si la requête exécutée a ratée
- array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
spip_sqlite_selectdb()
Sélectionne un fichier de base de données
spip_sqlite_selectdb(string $db[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $db : string
-
Nom de la base à utiliser
- $serveur : string = ''
-
Nom du connecteur
- $requeter : bool = true
-
Inutilisé
Return values
bool|string —- Nom de la base en cas de success.
- False en cas d'erreur.
spip_sqlite_set_charset()
Définit un charset pour la connexion avec SQLite (aucune action ici)
spip_sqlite_set_charset(string $charset[, string $serveur = '' ][, bool $requeter = true ]) : mixed
Cette fonction n'a aucune action actuellement.
Parameters
- $charset : string
-
Charset à appliquer
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
inutilisé
spip_sqlite_showbase()
Retourne une ressource de la liste des tables de la base de données
spip_sqlite_showbase(string $match[, string $serveur = '' ][, bool $requeter = true ]) : PDOStatement|bool|string|array<string|int, mixed>
Parameters
- $match : string
-
Filtre sur tables à récupérer
- $serveur : string = ''
-
Connecteur de la base
- $requeter : bool = true
-
true pour éxecuter la requête false pour retourner le texte de la requête.
Return values
PDOStatement|bool|string|array<string|int, mixed> —Ressource à utiliser avec sql_fetch()
spip_sqlite_table_exists()
Indique si une table existe dans la base de données
spip_sqlite_table_exists(string $table[, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $table : string
-
Table dont on cherche l’existence
- $serveur : string = ''
-
Connecteur de la base
- $requeter : bool = true
-
true pour éxecuter la requête false pour retourner le texte de la requête.
Return values
bool|string —- true si la table existe, false sinon
- string : requete sql, si $requeter = true
spip_sqlite_showtable()
Obtient la description d'une table ou vue SQLite
spip_sqlite_showtable(string $nom_table[, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|string
Récupère la définition d'une table ou d'une vue avec colonnes, indexes, etc. au même format que la définition des tables SPIP, c'est à dire un tableau avec les clés
field
(tableau colonne => description SQL) etkey
(tableau type de clé => colonnes)
Parameters
- $nom_table : string
-
Nom de la table SQL
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|string —- chaîne vide si pas de description obtenue
- string texte de la requête si demandé
- array description de la table sinon
spip_sqlite_update()
Met à jour des enregistrements d'une table SQL
spip_sqlite_update(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = '' ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
Parameters
- $table : string
-
Nom de la table
- $champs : array<string|int, mixed>
-
Couples (colonne => valeur)
- $where : string|array<string|int, mixed> = ''
-
Conditions a remplir (Where)
- $desc : array<string|int, mixed> = ''
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|bool|string —- string : texte de la requête si demandé
- true si la requête a réussie, false sinon
- array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
spip_sqlite_updateq()
Met à jour des enregistrements d'une table SQL et protège chaque valeur
spip_sqlite_updateq(string $table, array<string|int, mixed> $champs[, string|array<string|int, mixed> $where = '' ][, array<string|int, mixed> $desc = [] ][, string $serveur = '' ][, bool $requeter = true ]) : array<string|int, mixed>|bool|string
Protège chaque valeur transmise avec sql_quote(), adapté au type de champ attendu par la table SQL
Parameters
- $table : string
-
Nom de la table
- $champs : array<string|int, mixed>
-
Couples (colonne => valeur)
- $where : string|array<string|int, mixed> = ''
-
Conditions a remplir (Where)
- $desc : array<string|int, mixed> = []
-
Tableau de description des colonnes de la table SQL utilisée (il sera calculé si nécessaire s'il n'est pas transmis).
- $serveur : string = ''
-
Nom de la connexion
- $requeter : bool = true
-
Exécuter la requête, sinon la retourner
Return values
array<string|int, mixed>|bool|string —- string : texte de la requête si demandé
- true si la requête a réussie, false sinon
- array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
_sqlite_init()
Initialise la première connexion à un serveur SQLite
_sqlite_init() : mixed
_sqlite_is_version()
Teste la version sqlite du link en cours
_sqlite_is_version([string $version = '' ][, string $link = '' ][, string $serveur = '' ][, bool $requeter = true ]) : bool|int
Parameters
- $version : string = ''
- $link : string = ''
- $serveur : string = ''
- $requeter : bool = true
Tags
Return values
bool|int_sqlite_link()
Retrouver un link d'une connexion SQLite
_sqlite_link([string $serveur = '' ]) : PDO|null
Parameters
- $serveur : string = ''
-
Nom du serveur
Return values
PDO|null —Information de connexion pour SQLite
_sqlite_calculer_cite()
Renvoie les bons echappements (mais pas sur les fonctions comme NOW())
_sqlite_calculer_cite(string|number $v, string $type) : string|number
Parameters
- $v : string|number
-
texte ou nombre à échapper
- $type : string
-
Type de donnée attendue, description SQL de la colonne de destination
Return values
string|number —texte ou nombre échappé
_sqlite_calculer_expression()
Calcule un expression pour une requête, en cumulant chaque élément avec l'opérateur de liaison ($join) indiqué
_sqlite_calculer_expression(string $expression, array<string|int, mixed>|string $v[, string $join = 'AND' ]) : string
Renvoie grosso modo "$expression join($join, $v)"
Parameters
- $expression : string
-
Mot clé de l'expression, tel que "WHERE" ou "ORDER BY"
- $v : array<string|int, mixed>|string
-
Données de l'expression
- $join : string = 'AND'
-
Si les données sont un tableau, elles seront groupées par cette jointure
Return values
string —texte de l'expression, une partie donc, du texte la requête.
_sqlite_calculer_order()
Prépare une clause order by
_sqlite_calculer_order(string|array<string|int, mixed> $orderby) : string
Regroupe en texte les éléments si un tableau est donné
Parameters
- $orderby : string|array<string|int, mixed>
-
texte du orderby à préparer
Tags
Return values
string —texte du orderby préparé
_sqlite_calculer_select_as()
Renvoie des `nom AS alias`
_sqlite_calculer_select_as(array<string|int, mixed> $args) : string
Parameters
- $args : array<string|int, mixed>
Return values
string —Sélection de colonnes pour une clause SELECT
_sqlite_calculer_where()
Prépare une clause WHERE pour SQLite
_sqlite_calculer_where(array<string|int, mixed>|string $v) : string
Retourne une chaîne avec les bonnes parenthèses pour la contrainte indiquée, au format donnée par le compilateur
Parameters
- $v : array<string|int, mixed>|string
-
Description des contraintes
- string : texte du where
- sinon tableau : A et B peuvent être de type string ou array,
OP et C sont de type string :
- array(A) : A est le texte du where
- array(OP, A) : contrainte OP( A )
- array(OP, A, B) : contrainte (A OP B)
- array(OP, A, B, C) : contrainte (A OP (B) : C)
Return values
string —Contrainte pour clause WHERE
_sqlite_charger_version()
Charger les modules SQLite
_sqlite_charger_version([string $version = '' ]) : array<string|int, mixed>|bool
Si possible et juste la version demandée, ou, si aucune version, on renvoie les versions sqlite disponibles sur ce serveur dans un tableau
Parameters
- $version : string = ''
Return values
array<string|int, mixed>|bool_sqlite_modifier_table()
Gestion des requêtes ALTER non reconnues de SQLite
_sqlite_modifier_table(string|array<string|int, mixed> $table, string|array<string|int, mixed> $colonne[, array<string|int, mixed> $opt = [] ][, string $serveur = '' ]) : bool
Requêtes non reconnues :
ALTER TABLE table DROP column
ALTER TABLE table CHANGE [COLUMN] columnA columnB definition
ALTER TABLE table MODIFY column definition
ALTER TABLE table ADD|DROP PRIMARY KEY
MODIFY
est transformé en CHANGE columnA columnA
par spip_sqlite_alter()
- Créer une table B avec le nouveau format souhaité
- Copier la table d'origine A vers B
- Supprimer la table A
- Renommer la table B en A
- Remettre les index (qui sont supprimés avec la table A)
Parameters
- $table : string|array<string|int, mixed>
-
- string : Nom de la table table,
- array : couple (nom de la table => nom futur)
- $colonne : string|array<string|int, mixed>
-
- string : nom de la colonne,
- array : couple (nom de la colonne => nom futur)
- $opt : array<string|int, mixed> = []
-
options comme les tables SPIP, qui sera mergé à la table créee :
array('field'=>array('nom'=>'syntaxe', ...), 'key'=>array('KEY nom'=>'colonne', ...))
- $serveur : string = ''
-
Nom de la connexion SQL en cours
Return values
bool —true si OK, false sinon.
_sqlite_ref_fonctions()
Nom des fonctions
_sqlite_ref_fonctions() : array<string|int, mixed>
Return values
array<string|int, mixed>_sqlite_remplacements_definitions_table()
Adapte les déclarations des champs pour SQLite
_sqlite_remplacements_definitions_table(string|array<string|int, mixed> $query[, bool $autoinc = false ]) : mixed
Parameters
- $query : string|array<string|int, mixed>
-
Déclaration d’un champ ou liste de déclarations de champs
- $autoinc : bool = false
_sqlite_collate_ci()
Definir la collation d'un champ en fonction de si une collation est deja explicite et du par defaut que l'on veut NOCASE
_sqlite_collate_ci(string $champ) : string
Parameters
- $champ : string
Return values
string_sqlite_requete_create()
Creer la requete pour la creation d'une table retourne la requete pour utilisation par sql_create() et sql_alter()
_sqlite_requete_create(mixed $nom, mixed $champs, mixed $cles[, bool $autoinc = false ][, bool $temporary = false ][, bool $_ifnotexists = true ][, string $serveur = '' ][, bool $requeter = true ]) : bool|string
Parameters
- $nom : mixed
- $champs : mixed
- $cles : mixed
- $autoinc : bool = false
- $temporary : bool = false
- $_ifnotexists : bool = true
- $serveur : string = ''
- $requeter : bool = true
Return values
bool|string_sqlite_ajouter_champs_timestamp()
Retrouver les champs 'timestamp' pour les ajouter aux 'insert' ou 'replace' afin de simuler le fonctionnement de mysql
_sqlite_ajouter_champs_timestamp(mixed $table, mixed $couples[, string $desc = '' ][, string $serveur = '' ]) : mixed
stocke le resultat pour ne pas faire de requetes showtable intempestives
Parameters
- $table : mixed
- $couples : mixed
- $desc : string = ''
- $serveur : string = ''
spip_versions_sqlite()
Renvoyer la liste des versions sqlite disponibles sur le serveur
spip_versions_sqlite() : array<string|int, mixed>|bool
Return values
array<string|int, mixed>|booltypographie_en_dist()
typographie_en_dist(mixed $letexte) : mixed
Parameters
- $letexte : mixed
typographie_fr_dist()
typographie_fr_dist(mixed $letexte) : mixed
Parameters
- $letexte : mixed
urls_page_generer_url_objet_dist()
Generer l'url d'un objet SPIP
urls_page_generer_url_objet_dist(int $id, string $objet[, string $args = '' ][, string $ancre = '' ]) : string
Parameters
- $id : int
- $objet : string
- $args : string = ''
- $ancre : string = ''
Return values
stringurls_page_decoder_url_dist()
Decoder une url page retrouve le fond et les parametres d'une URL abregee le contexte deja existant est fourni dans args sous forme de tableau ou query string
urls_page_decoder_url_dist(string $url, string $entite[, array<string|int, mixed> $contexte = [] ]) : array<string|int, mixed>
Parameters
- $url : string
- $entite : string
- $contexte : array<string|int, mixed> = []
Return values
array<string|int, mixed> —[$contexte_decode, $type, $url_redirect, $fond]
charger_dtd()
charger_dtd(mixed $grammaire, mixed $avail, mixed $rotlvl) : mixed
Parameters
- $grammaire : mixed
- $avail : mixed
- $rotlvl : mixed
compilerRegle()
compilerRegle(mixed $val) : mixed
Parameters
- $val : mixed
analyser_dtd()
analyser_dtd(mixed $loc, mixed $avail, mixed &$dtc) : mixed
Parameters
- $loc : mixed
- $avail : mixed
- $dtc : mixed
analyser_dtd_comment()
analyser_dtd_comment(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
analyser_dtd_pi()
analyser_dtd_pi(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
analyser_dtd_lexeme()
analyser_dtd_lexeme(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
analyser_dtd_data()
analyser_dtd_data(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
analyser_dtd_notation()
analyser_dtd_notation(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
analyser_dtd_entity()
analyser_dtd_entity(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
analyser_dtd_element()
analyser_dtd_element(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
analyser_dtd_attlist()
analyser_dtd_attlist(mixed $dtd, mixed &$dtc, mixed $grammaire) : mixed
Parameters
- $dtd : mixed
- $dtc : mixed
- $grammaire : mixed
expanserEntite()
Remplace dans la chaîne `$val` les sous-chaines de forme `%NOM;` par leur definition dans le tableau `$macros`
expanserEntite(string $val[, array<string|int, mixed> $macros = [] ]) : string|array<string|int, mixed>
Si le premier argument n'est pas une chaîne, retourne les statistiques (pour debug de DTD, inutilise en mode normal)
Parameters
- $val : string
- $macros : array<string|int, mixed> = []
Return values
string|array<string|int, mixed>xml_indenter_dist()
xml_indenter_dist(mixed $page[, mixed $apply = false ]) : mixed
Parameters
- $page : mixed
- $apply : mixed = false
xml_entites_html()
Encoder les entites
xml_entites_html(string $texte) : string
Parameters
- $texte : string
Return values
stringxml_debutElement()
xml_debutElement(mixed $phraseur, mixed $name, mixed $attrs) : mixed
Parameters
- $phraseur : mixed
- $name : mixed
- $attrs : mixed
xml_finElement()
xml_finElement(mixed $phraseur, mixed $name[, mixed $fusion_bal = false ]) : mixed
Parameters
- $phraseur : mixed
- $name : mixed
- $fusion_bal : mixed = false
xml_textElement()
xml_textElement(mixed $phraseur, mixed $data) : mixed
Parameters
- $phraseur : mixed
- $data : mixed
xml_piElement()
xml_piElement(mixed $phraseur, mixed $target, mixed $data) : mixed
Parameters
- $phraseur : mixed
- $target : mixed
- $data : mixed
xml_defaultElement()
xml_defaultElement(mixed $phraseur, mixed $data) : mixed
Parameters
- $phraseur : mixed
- $data : mixed
xml_parsestring()
xml_parsestring(mixed $phraseur, mixed $data) : mixed
Parameters
- $phraseur : mixed
- $data : mixed
coordonnees_erreur()
coordonnees_erreur(mixed $phraseur, mixed $msg) : mixed
Parameters
- $phraseur : mixed
- $msg : mixed
xml_sax_dist()
xml_sax_dist(mixed $page[, mixed $apply = false ][, mixed $phraseur = null ][, mixed $doctype = '' ][, mixed $charset = null ]) : mixed
Parameters
- $page : mixed
- $apply : mixed = false
- $phraseur : mixed = null
- $doctype : mixed = ''
- $charset : mixed = null
sax_bug()
sax_bug(mixed $data, mixed $dtc[, mixed $charset = null ]) : mixed
Parameters
- $data : mixed
- $dtc : mixed
- $charset : mixed = null
analyser_doctype()
analyser_doctype(mixed $data) : mixed
Parameters
- $data : mixed
xml_valider_dist()
Retourne une structure ValidateurXML, dont le champ "err" est un tableau ayant comme entrees des sous-tableaux [message, ligne, colonne]
xml_valider_dist(mixed $page[, mixed $apply = false ][, mixed $process = false ][, mixed $doctype = '' ][, mixed $charset = null ]) : mixed
Parameters
- $page : mixed
- $apply : mixed = false
- $process : mixed = false
- $doctype : mixed = ''
- $charset : mixed = null