Browse Source

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

svn/attic/tags/spip-3.1.0-alpha/21784
Matthieu Marcillaud 9 years ago
parent
commit
c7f3407b8b
  1. 111
      ecrire/base/abstract_sql.php
  2. 32
      ecrire/inc/flock.php
  3. 7
      ecrire/public/composer.php

111
ecrire/base/abstract_sql.php

@ -298,18 +298,21 @@ function sql_countsel($from = array(), $where = array(),
*
* @api
* @param string $q
* La requete a executer (sans la preceder de 'ALTER ')
* La requête à exécuter (sans la préceder de 'ALTER ')
* @param string $serveur
* Le serveur sollicite (pour retrouver la connexion)
* Le serveur sollicite (pour retrouver la connexion)
* @param bool|string $option
* Peut avoir 2 valeurs :
* - true -> executer la requete
* - continue -> ne pas echouer en cas de serveur sql indisponible
* Peut avoir 2 valeurs :
*
* - true : exécuter la requete
* - 'continue' : ne pas échouer en cas de serveur sql indisponible
* @return mixed
* 2 possibilites :
* - Incertain en cas d'execution correcte de la requete
* - false en cas de serveur indiponible ou d'erreur
* Ce retour n'est pas pertinent pour savoir si l'operation est correctement realisee.
* 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.
**/
function sql_alter($q, $serveur='', $option=true) {
$f = sql_serveur('alter', $serveur, $option==='continue' OR $option===false);
@ -557,6 +560,12 @@ function sql_insert($table, $noms, $valeurs, $desc=array(), $serveur='', $option
* @see sql_insert()
* @see sql_insertq_multi()
* @see sql_quote()
* @see objet_inserer()
* @example
* ```
* $titre = _request('titre');
* $id = sql_insertq('spip_rubriques', array('titre' => $titre));
* ```
*
* @param string $table
* Nom de la table SQL
@ -641,7 +650,44 @@ function sql_update($table, $exp, $where='', $desc=array(), $serveur='', $option
// Update est presque toujours appelee sur des constantes ou des dates
// Cette fonction est donc plus utile que la precedente,d'autant qu'elle
// permet de gerer les differences de representation des constantes.
// http://doc.spip.org/@sql_updateq
/**
* Met à jour du contenu d’une table SQL
*
* Le contenu transmis à la fonction est protégé automatiquement
* comme sql_quote().
*
* @api
* @see sql_quote()
* @see sql_update()
* @example
* ```
* sql_updateq('table', array('colonne' => $valeur), 'id_table=' . intval($id_table));
* sql_updateq("spip_auteurs", array("statut" => '6forum'), "id_auteur=$id_auteur") ;
* ```
*
* @param string $table
* Nom de la table SQL
* @param array $exp
* Couples (colonne => valeur)
* @param array|string $where
* Conditions à vérifier
* @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 si réussite
* - Texte de la requête si demandé,
* - False en cas d'erreur.
**/
function sql_updateq($table, $exp, $where='', $desc=array(), $serveur='', $option=true)
{
$f = sql_serveur('updateq', $serveur, $option==='continue' OR $option===false);
@ -858,7 +904,8 @@ function sql_alltable($spip=NULL, $serveur='', $option=true)
* @param string $serveur
* Nom du connecteur
* @param bool|string $option
* Peut avoir 3 valeurs :
* 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.
@ -890,7 +937,47 @@ function sql_showtable($table, $table_spip = false, $serveur='', $option=true)
return $f;
}
// http://doc.spip.org/@sql_create
/**
* Crée une table dans la base de données
*
* @api
* @example
* ```
* sql_create("spip_tables",
* array(
* "id_table" => "bigint(20) NOT NULL default '0'",
* "colonne1"=> "varchar(3) NOT NULL default 'oui'",
* "colonne2"=> "text NOT NULL default ''"
* ),
* array(
* 'PRIMARY KEY' => "id_table",
* 'KEY colonne1' => "colonne1"
* )
* );
* ```
*
* @param string $nom
* Nom de la table
* @param array $champs
* Couples (colonne => description)
* @param array $cles
* Clé (nomdelaclef => champ)
* @param bool $autoinc
* Si un champ est clef primaire est numérique alors la propriété
* d’autoincrémentation sera ajoutée
* @param bool $temporary
* true pour créer une table temporaire (au sens SQL)
* @param string $serveur
* Nom du connecteur
* @param bool|string $option
* 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.
* @return bool
* true si succès, false en cas d'echec
**/
function sql_create($nom, $champs, $cles=array(), $autoinc=false, $temporary=false, $serveur='', $option=true) {
$f = sql_serveur('create', $serveur, $option==='continue' OR $option===false);
if (!is_string($f) OR !$f) return false;

32
ecrire/inc/flock.php

@ -31,7 +31,24 @@ if (_SPIP_LOCK_MODE==2)
include_spip('inc/nfslock');
$GLOBALS['liste_verrous'] = array();
// http://doc.spip.org/@spip_fopen_lock
/**
* Ouvre un fichier et le vérrouille
*
* @link http://php.net/manual/fr/function.flock.php pour le type de verrou.
* @see _SPIP_LOCK_MODE
* @see spip_fopen_unlock()
* @uses spip_nfslock() si _SPIP_LOCK_MODE = 2.
*
* @param string $fichier
* Chemin du fichier
* @param string $mode
* Mode d'ouverture du fichier (r,w,...)
* @param string $verrou
* Type de verrou (avec _SPIP_LOCK_MODE = 1)
* @return Resource
* Ressource sur le fichier ouvert, sinon false.
**/
function spip_fopen_lock($fichier,$mode,$verrou){
if (_SPIP_LOCK_MODE==1){
if ($fl = @fopen($fichier,$mode))
@ -48,7 +65,18 @@ function spip_fopen_lock($fichier,$mode,$verrou){
}
return @fopen($fichier,$mode);
}
// http://doc.spip.org/@spip_fclose_unlock
/**
* Dévérrouille et ferme un fichier
*
* @see _SPIP_LOCK_MODE
* @see spip_fopen_lock()
*
* @param string $handle
* Chemin du fichier
* @return bool
* true si succès, false sinon.
**/
function spip_fclose_unlock($handle){
if (_SPIP_LOCK_MODE==1){
@flock($handle, LOCK_UN);

7
ecrire/public/composer.php

@ -616,9 +616,10 @@ function trouver_sous_requetes($where){
/**
* La fonction presente dans les squelettes compiles
*
* http://doc.spip.org/@calculer_select
* Calcule une requête et l’exécute
*
* Cette fonction est présente dans les squelettes compilés.
* Elle peut permettre de générer des requêtes avec jointure.
*
* @param array $select
* @param array $from

Loading…
Cancel
Save