Skip to content
Extraits de code Groupes Projets
Valider 400bc9d6 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

phpdoc en partie issu de la documentation collaborative de doc.spip.org

parent 61429983
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -256,7 +256,8 @@ function sql_get_select($select = array(), $from = array(), $where = array(), ...@@ -256,7 +256,8 @@ function sql_get_select($select = array(), $from = array(), $where = array(),
* @param string $serveur * @param string $serveur
* Le serveur sollicite (pour retrouver la connexion) * Le serveur sollicite (pour retrouver la connexion)
* @param bool|string $option * @param bool|string $option
* Peut avoir 3 valeurs : * Peut avoir 3 valeurs :
*
* - false -> ne pas l'executer mais la retourner, * - false -> ne pas l'executer mais la retourner,
* - continue -> ne pas echouer en cas de serveur sql indisponible, * - continue -> ne pas echouer en cas de serveur sql indisponible,
* - true -> executer la requete. * - true -> executer la requete.
...@@ -433,17 +434,18 @@ function sql_listdbs($serveur='', $option=true) { ...@@ -433,17 +434,18 @@ function sql_listdbs($serveur='', $option=true) {
* *
* @api * @api
* @param string $nom * @param string $nom
* Nom de la base a utiliser * Nom de la base a utiliser
* @param string $serveur * @param string $serveur
* Nom du connecteur * Nom du connecteur
* @param bool|string $option * @param bool|string $option
* Peut avoir 2 valeurs : * Peut avoir 2 valeurs :
* - true -> executer la requete *
* - continue -> ne pas echouer en cas de serveur sql indisponible * - true -> executer la requete
* - continue -> ne pas echouer en cas de serveur sql indisponible
* *
* @return bool|string * @return bool|string
* True ou nom de la base en cas de success. * - True ou nom de la base en cas de success.
* False en cas d'erreur. * - False en cas d'erreur.
**/ **/
function sql_selectdb($nom, $serveur='', $option=true) function sql_selectdb($nom, $serveur='', $option=true)
{ {
...@@ -496,7 +498,37 @@ function sql_insertq($table, $couples=array(), $desc=array(), $serveur='', $opti ...@@ -496,7 +498,37 @@ function sql_insertq($table, $couples=array(), $desc=array(), $serveur='', $opti
return $r; return $r;
} }
// http://doc.spip.org/@sql_insertq_multi /**
* Insère plusieurs lignes d'un coup dans une table
*
* 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.
*
* @api
* @see sql_insertq()
*
* @param string $table
* Nom de la table SQL
* @param array $couples
* Tableau de tableaux associatifs (nom => valeur)
* @param array $desc
* Tableau de description des colonnes de la table SQL utilisée
* (il sera calculé si nécessaire s'il n'est pas transmis).
* @param string $serveur
* Nom du connecteur
* @param bool|string $option
* 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 bool|string
* - True en cas de succès,
* - Texte de la requête si demandé,
* - False en cas d'erreur.
**/
function sql_insertq_multi($table, $couples=array(), $desc=array(), $serveur='', $option=true) function sql_insertq_multi($table, $couples=array(), $desc=array(), $serveur='', $option=true)
{ {
$f = sql_serveur('insertq_multi', $serveur, $option==='continue' OR $option===false); $f = sql_serveur('insertq_multi', $serveur, $option==='continue' OR $option===false);
...@@ -680,11 +712,30 @@ function sql_create_base($nom, $serveur='', $option=true) ...@@ -680,11 +712,30 @@ function sql_create_base($nom, $serveur='', $option=true)
return $r; return $r;
} }
// Fonction pour creer une vue
// nom : nom de la vue, /**
// select_query : une requete select, idealement cree avec $req = sql_select() * Crée une vue SQL
// (en mettant $option du sql_select a false pour recuperer la requete) *
// http://doc.spip.org/@sql_create_view * @api
* @see sql_get_select() Pour obtenir le texte de la requête SELECT pour créer la vue.
*
* @param string $nom
* Nom de la vue
* @param string $select_query
* Une requête SELECT, idéalement crée avec `sql_get_select(...)`
* @param string $serveur
* Nom du connecteur
* @param bool|string $option
* 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 bool|string
* - true si succès,
* - texte de la requête si demandé
* - false en cas d'échec.
**/
function sql_create_view($nom, $select_query, $serveur='', $option=true) { function sql_create_view($nom, $select_query, $serveur='', $option=true) {
$f = sql_serveur('create_view', $serveur, $option==='continue' OR $option===false); $f = sql_serveur('create_view', $serveur, $option==='continue' OR $option===false);
if (!is_string($f) OR !$f) return false; if (!is_string($f) OR !$f) return false;
......
<?php <?php
/**
* Chargement d'une extension PHP
*
* @package SPIP\Core\Outils
**/
if (!defined('_ECRIRE_INC_VERSION')) return; if (!defined('_ECRIRE_INC_VERSION')) return;
// cette fonction (adaptee de phpMyAdmin) /**
// permet de charger un module php * Permet de charger un module PHP dont le nom est donné en argument
// dont le nom est donne en argument (ex: 'mysql') *
// retourne true en cas de succes * Fonction adaptée de phpMyAdmin.
// *
// 3 etapes : * Trois étapes :
// - 1) si le module est deja charge, on sort vainqueur *
// - 2) on teste si l'on a la possibilite de charger un module * 1) si le module est deja charge, on sort vainqueur
// via la meta 'dl_allowed'. Si elle n'est pas renseignee, * 2) on teste si l'on a la possibilité de charger un module
// elle sera cree en fonction des parametres de php * via la meta `dl_allowed`. Si elle n'est pas renseignée,
// - 3) si l'on peut, on charge le module par la fonction dl() * elle sera crée en fonction des paramètres de php
// * 3) si l'on peut, on charge le module par la fonction `dl()`
// http://doc.spip.org/@inc_charger_php_extension_dist *
* @note
* La fonction `dl()` n'est plus présente à partir de PHP 5.3.
*
* @param string $module
* Nom du module à charger (tel que 'mysql')
* @return bool
* true en cas de succes
**/
function inc_charger_php_extension_dist($module){ function inc_charger_php_extension_dist($module){
if (extension_loaded($module)) { if (extension_loaded($module)) {
return true; return true;
......
...@@ -2798,9 +2798,29 @@ function match($texte, $expression, $modif="UimsS",$capte=0) { ...@@ -2798,9 +2798,29 @@ function match($texte, $expression, $modif="UimsS",$capte=0) {
return false; return false;
} }
// filtre replace pour faire des operations avec expression reguliere
// [(#TEXTE|replace{^ceci$,cela,UimsS})] /**
// http://doc.spip.org/@replace * Remplacement de texte à base d'expression régulière
*
* @filtre replace
* @link http://www.spip.net/4309
* @see match()
* @example
* ```
* [(#TEXTE|replace{^ceci$,cela,UimsS})]
* ```
*
* @param string $texte
* Texte
* @param string $expression
* Expression régulière
* @param string $replace
* Texte de substitution des éléments trouvés
* @param string $modif
* Modificateurs pour l'expression régulière.
* @return string
* Texte
**/
function replace($texte, $expression, $replace='', $modif="UimsS") { function replace($texte, $expression, $replace='', $modif="UimsS") {
$expression=str_replace("\/","/", $expression); $expression=str_replace("\/","/", $expression);
$expression=str_replace("/","\/",$expression); $expression=str_replace("/","\/",$expression);
......
...@@ -124,7 +124,23 @@ function redirige_formulaire($url, $equiv = '', $format='message') { ...@@ -124,7 +124,23 @@ function redirige_formulaire($url, $equiv = '', $format='message') {
} }
} }
// http://doc.spip.org/@redirige_url_ecrire /**
* Effectue une redirection par header PHP vers un script de l’interface privée
*
* @uses redirige_par_entete() Qui tue le script PHP.
* @example
* ```
* include_spip('inc/headers');
* redirige_url_ecrire('rubriques','id_rubrique=' . $id_rubrique);
* ```
*
* @param string $script
* Nom de la page privée (exec)
* @param string args
* Arguments à transmettre. Exemple `etape=1&autre=oui`
* @param string $equiv
* @return void
**/
function redirige_url_ecrire($script='', $args='', $equiv='') { function redirige_url_ecrire($script='', $args='', $equiv='') {
return redirige_par_entete(generer_url_ecrire($script, $args, true), $equiv); return redirige_par_entete(generer_url_ecrire($script, $args, true), $equiv);
} }
......
...@@ -10,6 +10,12 @@ ...@@ -10,6 +10,12 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/ \***************************************************************************/
/**
* Gestion des meta de configuration
*
* @package SPIP\Core\Configuration
**/
if (!defined('_ECRIRE_INC_VERSION')) return; if (!defined('_ECRIRE_INC_VERSION')) return;
// Les parametres generaux du site sont dans une table SQL; // Les parametres generaux du site sont dans une table SQL;
...@@ -85,9 +91,16 @@ function lire_metas($table='meta') { ...@@ -85,9 +91,16 @@ function lire_metas($table='meta') {
return $GLOBALS[$table]; return $GLOBALS[$table];
} }
// Mettre en cache la liste des meta, sauf les valeurs sensibles
// pour qu'elles ne soient pas visibiles dans un fichier.souvent en 777 /**
// http://doc.spip.org/@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)
*
* @param bool|int $antidate
* Date de modification du fichier à appliquer si indiqué (timestamp)
* @param string $table
* Table SQL d'enregistrement des meta.
**/
function touch_meta($antidate= false, $table='meta'){ function touch_meta($antidate= false, $table='meta'){
$file = cache_meta($table); $file = cache_meta($table);
if (!$antidate OR !@touch($file, $antidate)) { if (!$antidate OR !@touch($file, $antidate)) {
...@@ -103,7 +116,18 @@ function touch_meta($antidate= false, $table='meta'){ ...@@ -103,7 +116,18 @@ function touch_meta($antidate= false, $table='meta'){
} }
} }
// http://doc.spip.org/@effacer_meta /**
* Supprime une meta
*
* @see ecrire_config()
* @see effacer_config()
* @see lire_config()
*
* @param string $nom
* Nom de la meta
* @param string $table
* Table SQL d'enregistrement de la meta.
**/
function effacer_meta($nom, $table='meta') { function effacer_meta($nom, $table='meta') {
// section critique sur le cache: // section critique sur le cache:
// l'invalider avant et apres la MAJ de la BD // l'invalider avant et apres la MAJ de la BD
...@@ -117,7 +141,22 @@ function effacer_meta($nom, $table='meta') { ...@@ -117,7 +141,22 @@ function effacer_meta($nom, $table='meta') {
if (!isset($touch[$table])) {touch_meta($antidate, $table); $touch[$table] = false;} if (!isset($touch[$table])) {touch_meta($antidate, $table); $touch[$table] = false;}
} }
// http://doc.spip.org/@ecrire_meta /**
* Met à jour où crée une meta avec la clé et valeur indiquée
*
* @see ecrire_config()
* @see effacer_config()
* @see lire_config()
*
* @param string $nom
* Nom de la meta
* @param string $valeur
* Valeur à enregistrer
* @param bool|null $importable
* Cette meta s'importe-elle avec une restauration de sauvegarde ?
* @param string $table
* Table SQL d'enregistrement de la meta.
**/
function ecrire_meta($nom, $valeur, $importable = NULL, $table='meta') { function ecrire_meta($nom, $valeur, $importable = NULL, $table='meta') {
static $touch = array(); static $touch = array();
...@@ -151,13 +190,20 @@ function ecrire_meta($nom, $valeur, $importable = NULL, $table='meta') { ...@@ -151,13 +190,20 @@ function ecrire_meta($nom, $valeur, $importable = NULL, $table='meta') {
if (!isset($touch[$table])) {touch_meta($antidate, $table); $touch[$table] = false;} if (!isset($touch[$table])) {touch_meta($antidate, $table); $touch[$table] = false;}
} }
function cache_meta($table='meta') /**
{ * Retourne le nom du fichier cache d'une table SQL de meta
*
* @param string $table
* Table SQL d'enregistrement des meta.
* @return string
* Nom du fichier cache
**/
function cache_meta($table='meta') {
return ($table=='meta') ? _FILE_META : (_DIR_CACHE . $table . '.php'); return ($table=='meta') ? _FILE_META : (_DIR_CACHE . $table . '.php');
} }
/** /**
* Une fonction pour installer une table de configuration supplementaire * Installer une table de configuration supplementaire
* @param string $table * @param string $table
*/ */
function installer_table_meta($table) { function installer_table_meta($table) {
...@@ -172,8 +218,9 @@ function installer_table_meta($table) { ...@@ -172,8 +218,9 @@ function installer_table_meta($table) {
} }
/** /**
* Une fonction pour supprimer une table de configuration supplementaire * Supprimer une table de configuration supplémentaire
* si $force=true, on ne verifie pas qu'elle est bien vide *
* Si $force=true, on ne verifie pas qu'elle est bien vide
* *
* @param string $table * @param string $table
* @param bool $force * @param bool $force
......
...@@ -249,8 +249,6 @@ function verifier_session($change=false) { ...@@ -249,8 +249,6 @@ function verifier_session($change=false) {
/** /**
* Lire une valeur dans la session SPIP * Lire une valeur dans la session SPIP
* *
* http://doc.spip.org/@session_get
*
* @param string $nom * @param string $nom
* @return mixed * @return mixed
*/ */
...@@ -260,8 +258,7 @@ function session_get($nom) { ...@@ -260,8 +258,7 @@ function session_get($nom) {
/** /**
* Ajouter une donnee dans la session SPIP * Ajouter une donnée dans la session SPIP
* http://doc.spip.org/@session_set
* *
* @param string $nom * @param string $nom
* @param null $val * @param null $val
......
...@@ -241,7 +241,7 @@ function journal($phrase, $opt = array()) { ...@@ -241,7 +241,7 @@ function journal($phrase, $opt = array()) {
* @api * @api
* @param string $var * @param string $var
* Clé souhaitée * Clé souhaitée
* @param bool|array $var * @param bool|array $c
* Tableau transmis (sinon cherche dans GET ou POST) * Tableau transmis (sinon cherche dans GET ou POST)
* @return mixed|null * @return mixed|null
* - null si la clé n'a pas été trouvée * - null si la clé n'a pas été trouvée
...@@ -313,19 +313,22 @@ function tester_url_absolue($url){ ...@@ -313,19 +313,22 @@ function tester_url_absolue($url){
} }
/** /**
* Prend une URL et lui ajoute/retire un parametre. * Prend une URL et lui ajoute/retire un paramètre
* Exemples : [(#SELF|parametre_url{suite,18})] (ajout)
* [(#SELF|parametre_url{suite,''})] (supprime)
* [(#SELF|parametre_url{suite})] (prend $suite dans la _request)
* [(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)
* *
* http://doc.spip.org/@parametre_url * @filtre parametre_url
* @link http://www.spip.net/4255
* @example
* ```
* [(#SELF|parametre_url{suite,18})] (ajout)
* [(#SELF|parametre_url{suite,''})] (supprime)
* [(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)
* ```
* *
* @param string $url * @param string $url URL
* @param string $c * @param string $c Nom du paramètre
* @param string|array $v * @param string|array|null $v Valeur du paramètre
* @param string $sep * @param string $sep Séparateur entre les paramètres
* @return string * @return string URL
*/ */
function parametre_url($url, $c, $v=NULL, $sep='&amp;') { function parametre_url($url, $c, $v=NULL, $sep='&amp;') {
// requete erronnee : plusieurs variable dans $c et aucun $v // requete erronnee : plusieurs variable dans $c et aucun $v
...@@ -496,14 +499,28 @@ function test_plugin_actif($plugin){ ...@@ -496,14 +499,28 @@ function test_plugin_actif($plugin){
/** /**
* Traduction des textes de SPIP * Traduction des textes de SPIP
* http://doc.spip.org/@_T
* *
* Traduit une clé de traduction en l'obtenant dans les fichiers de langues.
*
* @api
* @uses inc_traduire_dist()
* @uses _L()
* @example
* ```
* _T('bouton_enregistrer')
* _T('medias:image_tourner_droite')
* _T('medias:erreurs', array('nb'=>3)
* ```
*
* @param string $texte * @param string $texte
* Clé de traduction
* @param array $args * @param array $args
* Couples (variable => valeur) pour passer des variables à la chaîne traduite
* @param array $options * @param array $options
* string class : nom d'une classe a ajouter sur un span pour encapsuler la chaine * - 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 force : forcer un retour meme si la chaine n'a pas de traduction
* @return mixed|string * @return string
* Texte
*/ */
function _T($texte, $args=array(), $options=array()) { function _T($texte, $args=array(), $options=array()) {
static $traduire=false ; static $traduire=false ;
...@@ -552,9 +569,28 @@ function _T($texte, $args=array(), $options=array()) { ...@@ -552,9 +569,28 @@ function _T($texte, $args=array(), $options=array()) {
} }
// Remplacer les variables @....@ par leur valeur dans une chaine de langue.
// Aussi appelee quand une chaine n'est pas encore dans les fichiers de langue /**
// http://doc.spip.org/@_L * Remplace les variables `@...@` par leur valeur dans une chaîne de langue.
*
* 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.
*
* @see _T()
* @example
* ```
* _L('Texte avec @nb@ ...', array('nb'=>3)
* ```
*
* @param string $text
* Texte
* @param array $args
* Couples (variable => valeur) à transformer dans le texte
* @param string|null $class
* Encapsule les valeurs dans un span avec cette classe si transmis.
* @return string
* Texte
*/
function _L($text, $args=array(), $class=null) { function _L($text, $args=array(), $class=null) {
$f = $text; $f = $text;
if (is_array($args)) { if (is_array($args)) {
...@@ -1323,7 +1359,30 @@ function url_de_($http,$host,$request,$prof=0){ ...@@ -1323,7 +1359,30 @@ function url_de_($http,$host,$request,$prof=0){
// Attention, X?y=z et "X/?y=z" sont completement differents! // Attention, X?y=z et "X/?y=z" sont completement differents!
// http://httpd.apache.org/docs/2.0/mod/mod_dir.html // http://httpd.apache.org/docs/2.0/mod/mod_dir.html
// http://doc.spip.org/@generer_url_ecrire /**
* Crée une URL vers un script de l'espace privé
*
* @example
* ```
* generer_url_ecrire('admin_plugin')
* ```
*
* @param string $script
* Nom de la page privée (xx dans exec=xx)
* @param string $args
* Arguments à transmettre, tel que `arg1=yy&arg2=zz`
* @param bool $no_entities
* Si false : transforme les `&` en `&amp;`
* @param bool|string $rel
* 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
* @param string $action
* - Fichier d'exécution public (spip.php par défaut)
* @return string URL
**/
function generer_url_ecrire($script='', $args="", $no_entities=false, $rel=false) { function generer_url_ecrire($script='', $args="", $no_entities=false, $rel=false) {
if (!$rel) if (!$rel)
$rel = url_de_base() . _DIR_RESTREINT_ABS . _SPIP_ECRIRE_SCRIPT; $rel = url_de_base() . _DIR_RESTREINT_ABS . _SPIP_ECRIRE_SCRIPT;
...@@ -1350,9 +1409,20 @@ function generer_url_retour($script, $args="") ...@@ -1350,9 +1409,20 @@ function generer_url_retour($script, $args="")
// Adresse des scripts publics (a passer dans inc-urls...) // Adresse des scripts publics (a passer dans inc-urls...)
// //
// Detecter le fichier de base, a la racine, comme etant spip.php ou ''
// dans le cas de '', un $default = './' peut servir (comme dans urls/page.php) /**
// http://doc.spip.org/@get_spip_script * Retourne le nom du fichier d'exécution de SPIP
*
* @see _SPIP_SCRIPT
* @note
* Detecter le fichier de base, a la racine, comme etant spip.php ou ''
* dans le cas de '', un $default = './' peut servir (comme dans urls/page.php)
*
* @param string $default
* Script par défaut
* @return string
* Nom du fichier (constante _SPIP_SCRIPT), sinon nom par défaut
**/
function get_spip_script($default='') { function get_spip_script($default='') {
# cas define('_SPIP_SCRIPT', ''); # cas define('_SPIP_SCRIPT', '');
if (_SPIP_SCRIPT) if (_SPIP_SCRIPT)
...@@ -1361,7 +1431,29 @@ function get_spip_script($default='') { ...@@ -1361,7 +1431,29 @@ function get_spip_script($default='') {
return $default; return $default;
} }
// http://doc.spip.org/@generer_url_public /**
* Crée une URL vers une page publique de SPIP
*
* @example
* ```
* generer_url_public("rubrique","id_rubrique=$id_rubrique")
* ```
*
* @param string $script
* Nom de la page
* @param string $args
* Arguments à transmettre, tel que `arg1=yy&arg2=zz`
* @param bool $no_entities
* Si false : transforme les `&` en `&amp;`
* @param bool $rel
* URL relative ?
*
* - false : l’URL sera complète et contiendra l’URL du site
* - true : l’URL sera relavive.
* @param string $action
* - Fichier d'exécution public (spip.php par défaut)
* @return string URL
**/
function generer_url_public($script='', $args="", $no_entities=false, $rel=true, $action='') { function generer_url_public($script='', $args="", $no_entities=false, $rel=true, $action='') {
// si le script est une action (spip_pass, spip_inscription), // si le script est une action (spip_pass, spip_inscription),
// standardiser vers la nouvelle API // standardiser vers la nouvelle API
...@@ -1768,10 +1860,10 @@ function spip_initialisation_suite() { ...@@ -1768,10 +1860,10 @@ function spip_initialisation_suite() {
if (!defined('_DOCTYPE_AIDE')) define('_DOCTYPE_AIDE', if (!defined('_DOCTYPE_AIDE')) define('_DOCTYPE_AIDE',
"<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>"); "<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>");
// L'adresse de base du site ; on peut mettre '' si la racine est geree par /** 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 * le script de l'espace public, alias index.php */
if (!defined('_SPIP_SCRIPT')) define('_SPIP_SCRIPT', 'spip.php'); if (!defined('_SPIP_SCRIPT')) define('_SPIP_SCRIPT', 'spip.php');
// argument page, personalisable en cas de conflit avec un autre script /** Argument page, personalisable en cas de conflit avec un autre script */
if (!defined('_SPIP_PAGE')) define('_SPIP_PAGE', 'page'); if (!defined('_SPIP_PAGE')) define('_SPIP_PAGE', 'page');
// le script de l'espace prive // le script de l'espace prive
...@@ -2254,8 +2346,19 @@ function tester_url_ecrire($nom){ ...@@ -2254,8 +2346,19 @@ function tester_url_ecrire($nom){
return $exec[$nom] = ((find_in_path("{$nom}.php",'exec/') OR charger_fonction($nom,'exec',true))?$nom:''); return $exec[$nom] = ((find_in_path("{$nom}.php",'exec/') OR charger_fonction($nom,'exec',true))?$nom:'');
} }
// Charger dynamiquement une extension php
// http://doc.spip.org/@charger_php_extension /**
* Tente de charger dynamiquement une extension PHP
*
* @example
* ```
* $ok = charger_php_extension('sqlite');
* ```
* @uses inc_charger_php_extension_dist() Si la librairie n'est pas déjà charchée
*
* @param string $module Nom du module à charger
* @return bool true si le module est chargé
**/
function charger_php_extension($module) { function charger_php_extension($module) {
if (extension_loaded($module)) { if (extension_loaded($module)) {
return true; return true;
...@@ -2265,10 +2368,15 @@ function charger_php_extension($module) { ...@@ -2265,10 +2368,15 @@ function charger_php_extension($module) {
} }
} }
// Renvoie TRUE si et seulement si la configuration autorise
// le code HTML5 sur le site public /**
* Indique si le code HTML5 est permis sur le site public
*
* @return bool
* true si et seulement si la configuration autorise le code HTML5 sur le site public
**/
function html5_permis() { function html5_permis() {
return (isset($GLOBALS['meta']['version_html_max']) return (isset($GLOBALS['meta']['version_html_max'])
AND ('html5' == $GLOBALS['meta']['version_html_max'])); AND ('html5' == $GLOBALS['meta']['version_html_max']));
} }
...@@ -2277,18 +2385,34 @@ function html5_permis() { ...@@ -2277,18 +2385,34 @@ function html5_permis() {
* desormais depreciees ; plutot que d'obliger tout le monde a charger * desormais depreciees ; plutot que d'obliger tout le monde a charger
* vieilles_defs, on va assumer l'histoire de ces 3 fonctions ubiquitaires * vieilles_defs, on va assumer l'histoire de ces 3 fonctions ubiquitaires
*/ */
// Fonction depreciee
// http://doc.spip.org/@lire_meta /**
* lire_meta : fonction dépréciée
* @deprecated Utiliser `$GLOBALS['meta'][$nom]` ou `lire_config('nom')`
* @see lire_config()
* @param string $nom Clé de meta à lire
* @return mixed Valeur de la meta.
**/
function lire_meta($nom) { function lire_meta($nom) {
return $GLOBALS['meta'][$nom]; return $GLOBALS['meta'][$nom];
} }
// Fonction depreciee
// http://doc.spip.org/@ecrire_metas /**
* ecrire_metas : fonction dépréciée
* @deprecated
**/
function ecrire_metas() {} function ecrire_metas() {}
// Fonction depreciee, cf. http://doc.spip.org/@sql_fetch /**
// http://doc.spip.org/@spip_fetch_array * Retourne une ligne d'un résultat de requête mysql (déprécié)
*
* @see sql_fetch()
* @deprecated Utiliser sql_fetch()
* @param Ressource $r Ressource mysql
* @param int|null $t Type de retour
* @return array|void|bool Tableau de la ligne SQL
**/
function spip_fetch_array($r, $t=NULL) { function spip_fetch_array($r, $t=NULL) {
if (!isset($t)) { if (!isset($t)) {
if ($r) return sql_fetch($r); if ($r) return sql_fetch($r);
......
...@@ -125,6 +125,8 @@ function sandbox_composer_interdire_scripts($code, &$p){ ...@@ -125,6 +125,8 @@ function sandbox_composer_interdire_scripts($code, &$p){
* La fonction accèpte plusieurs tableaux de filtres à partir du 3ème argument * La fonction accèpte plusieurs tableaux de filtres à partir du 3ème argument
* qui seront appliqués dans l'ordre * qui seront appliqués dans l'ordre
* *
* @uses echapper_php_callback()
*
* @param array $skel * @param array $skel
* @param string $corps * @param string $corps
* @param array $filtres * @param array $filtres
...@@ -157,17 +159,16 @@ function sandbox_filtrer_squelette($skel, $corps, $filtres){ ...@@ -157,17 +159,16 @@ function sandbox_filtrer_squelette($skel, $corps, $filtres){
/** /**
* Callback pour échapper du code PHP * Callback pour échapper du code PHP (les séquences `<?php ... ?>`)
* *
* Rappeler la fonction sans paramètre pour obtenir les substitutions réalisées. * Rappeler la fonction sans paramètre pour obtenir les substitutions réalisées.
*
* @see sandbox_filtrer_squelette()
* *
* @param array|null $r * @param array|null $r
*
* - array : ce sont les captures de la regex à échapper * - array : ce sont les captures de la regex à échapper
* - NULL : demande à dépiler tous les échappements réalisés * - NULL : demande à dépiler tous les échappements réalisés
*
* @return string|array * @return string|array
*
* - string : hash de substitution du code php lorsque `$r` est un array * - string : hash de substitution du code php lorsque `$r` est un array
* - array : Liste( liste des codes PHP, liste des substitutions ) * - array : Liste( liste des codes PHP, liste des substitutions )
**/ **/
......
...@@ -547,11 +547,12 @@ function spip_mysql_create_base($nom, $serveur='',$requeter=true) { ...@@ -547,11 +547,12 @@ function spip_mysql_create_base($nom, $serveur='',$requeter=true) {
return spip_mysql_query("CREATE DATABASE `$nom`", $serveur, $requeter); return spip_mysql_query("CREATE DATABASE `$nom`", $serveur, $requeter);
} }
// Fonction de creation d'une vue SQL nommee $nom
// http://doc.spip.org/@spip_mysql_create_view
/** /**
* @param $nom * Fonction de création d'une vue SQL nommée $nom
* @param $query_select *
* @param string $nom
* @param string $query_select
* @param string $serveur * @param string $serveur
* @param bool $requeter * @param bool $requeter
* @return array|bool|null|resource|string * @return array|bool|null|resource|string
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter