From 7f185f84419d20bc4e98ff5c03c279cb580eeb4d Mon Sep 17 00:00:00 2001
From: "marcimat@rezo.net" <>
Date: Sat, 16 Feb 2013 02:05:43 +0000
Subject: [PATCH] Correction et ajout de phpDoc

---
 action/ajouter_documents.php        |  91 +++++++++-------
 action/dissocier_document.php       |  17 ++-
 action/verifier_documents_liens.php |  13 ++-
 formulaires/joindre_document.php    |   2 +-
 medias_autoriser.php                | 155 +++++++++++++++++++---------
 5 files changed, 187 insertions(+), 91 deletions(-)

diff --git a/action/ajouter_documents.php b/action/ajouter_documents.php
index aa7d3897..5d14a491 100644
--- a/action/ajouter_documents.php
+++ b/action/ajouter_documents.php
@@ -10,6 +10,12 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
+/**
+ * Gestion de l'action ajouter_documents
+ *
+ * @package SPIP\Medias\Action
+**/
+
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_spip('inc/getdocument');
@@ -21,18 +27,18 @@ include_spip('inc/renseigner_document');
  * Ajouter des documents
  *
  * @param int $id_document
- *   document a remplacer, ou pour une vignette, l'id_document de maman
+ *   Document à remplacer, ou pour une vignette, l'id_document de maman
  *   0 ou 'new' pour une insertion
- * @param  $files
- *   tableau de taleau de propriete pour chaque document a inserer
- * @param  $objet
- *   objet auquel associer le document
- * @param  $id_objet
+ * @param array $files
+ *   Tableau de taleau de propriété pour chaque document à insérer
+ * @param string $objet
+ *   Objet auquel associer le document
+ * @param int $id_objet
  *   id_objet
- * @param  $mode
- *   mode par defaut si pas precise pour le document
+ * @param string $mode
+ *   Mode par défaut si pas precisé pour le document
  * @return array
- *   liste des id_documents inseres
+ *   Liste des id_documents inserés
  */
 function action_ajouter_documents_dist($id_document, $files, $objet, $id_objet, $mode){
 	$ajouter_un_document = charger_fonction('ajouter_un_document','action');
@@ -52,27 +58,27 @@ function action_ajouter_documents_dist($id_document, $files, $objet, $id_objet,
 /**
  * Ajouter un document (au format $_FILES)
  *
- * http://doc.spip.org/@ajouter_un_document
- *
  * @param int $id_document
- *   document a remplacer, ou pour une vignette, l'id_document de maman
+ *   Document à remplacer, ou pour une vignette, l'id_document de maman
  *   0 ou 'new' pour une insertion
  * @param array $file
- *   proprietes au format $_FILE etendu :
- *     string tmp_name : source sur le serveur
- *     string name : nom du fichier envoye
- *     bool titrer : donner ou non un titre a partir du nom du fichier
- *     bool distant : pour utiliser une source distante sur internet
- *     string mode : vignette|image|documents|choix
+ *   Propriétes au format $_FILE étendu :
+ * 
+ *   - string tmp_name : source sur le serveur
+ *   - string name : nom du fichier envoye
+ *   - bool titrer : donner ou non un titre a partir du nom du fichier
+ *   - bool distant : pour utiliser une source distante sur internet
+ *   - string mode : vignette|image|documents|choix
  * @param string $objet
- *   objet auquel associer le document
+ *   Objet auquel associer le document
  * @param int $id_objet
  *   id_objet
  * @param string $mode
- *   mode par defaut si pas precise pour le document
+ *   Mode par défaut si pas precisé pour le document
  * @return array|bool|int|mixed|string|unknown
- * 	 si int : l'id_document ajouté (opération réussie)
- *   si string : une erreur s'est produit, la chaine est le message d'erreur
+ *
+ *   - int : l'id_document ajouté (opération réussie)
+ *   - string : une erreur s'est produit, la chaine est le message d'erreur
  *  
  */
 function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet, $mode) {
@@ -229,10 +235,14 @@ function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet,
 
 /**
  * Corrige l'extension du fichier dans quelques cas particuliers
- * (a passer dans ecrire/base/typedoc)
- * A noter : une extension 'pdf ' passe dans la requete de controle
- * mysql> SELECT * FROM spip_types_documents WHERE extension="pdf ";
+ * 
+ * @note
+ *     Une extension 'pdf ' passe dans la requête de contrôle
+ *     mysql> SELECT * FROM spip_types_documents WHERE extension="pdf ";
  *
+ * @todo
+ *     À passer dans base/typedoc
+ * 
  * @param string $ext
  * @return string
  */
@@ -259,13 +269,20 @@ function corriger_extension($ext) {
 }
 
 /**
- * Verifie la possibilite d'uploader une extension
- * renvoie un tableau descriptif si l'extension est acceptee
- * avec un index 'autozip' si il faut zipper
- * false ou message d'erreur si l'extension est refusee
- * Verifie aussi si l'extension est autorisee pour le mode demande
- * si on connait le mode a ce moment la
+ * Vérifie la possibilité d'uploader une extension
  * 
+ * Vérifie aussi si l'extension est autorisée pour le mode demandé
+ * si on connait le mode à ce moment là
+ *
+ * @param string $source
+ *     Nom du fichier
+ * @param string $mode
+ *     Mode d'inclusion du fichier, si connu
+ * @return array|bool|string
+ *
+ *     - array : extension acceptée (tableau descriptif).
+ *       Avec un index 'autozip' si il faut zipper
+ *     - false ou message d'erreur si l'extension est refusée
  */
 function verifier_upload_autorise($source, $mode=''){
 	$infos = array('fichier'=>$source);
@@ -301,15 +318,19 @@ function verifier_upload_autorise($source, $mode=''){
 
 
 /**
- * tester le type de document :
+ * Tester le type de document
+ * 
  * - le document existe et n'est pas de taille 0 ?
  * - interdit a l'upload ?
  * - quelle extension dans spip_types_documents ?
  * - est-ce "inclus" comme une image ?
  * 
- * le zipper si necessaire
+ * Le zipper si necessaire
  * 
- * @param array $file //format $_FILES
+ * @param array $file
+ *     Au format $_FILES
+ * @param string $mode
+ *     Mode d'inclusion du fichier, si connu
  * @return array
  */
 function fixer_fichier_upload($file, $mode=''){
@@ -430,4 +451,4 @@ function verifier_taille_document_acceptable($infos){
 }
 
 
-?>
\ No newline at end of file
+?>
diff --git a/action/dissocier_document.php b/action/dissocier_document.php
index af468fc1..04c7fea4 100644
--- a/action/dissocier_document.php
+++ b/action/dissocier_document.php
@@ -10,17 +10,24 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
+/**
+ * Gestion de l'action dissocier_document
+ *
+ * @package SPIP\Medias\Action
+**/
+
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 
 /**
  * Dissocier un document
- * $arg fournit les arguments de la fonction dissocier_document
- * sous la forme
- * $id_objet-$objet-$document-suppr-safe
  *
- * 4eme arg : suppr = true, false sinon
- * 5eme arg : safe = true, false sinon
+ * @param string $arg
+ *     fournit les arguments de la fonction dissocier_document
+ *     sous la forme `$id_objet-$objet-$document-suppr-safe`
+ *
+ *     - 4eme arg : suppr = true, false sinon
+ *     - 5eme arg : safe = true, false sinon
  * 
  * @return void
  */
diff --git a/action/verifier_documents_liens.php b/action/verifier_documents_liens.php
index 691eea78..ba0abea3 100644
--- a/action/verifier_documents_liens.php
+++ b/action/verifier_documents_liens.php
@@ -10,11 +10,20 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
+/**
+ * Gestion de l'action verifier_documents_liens
+ *
+ * @package SPIP\Medias\Action
+**/
+
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 /**
- * Verifier tous les fichiers brises
+ * Vérifier tous les fichiers brisés
  *
+ * @param int|null $id_document
+ *     Indique le document cible de l'action, sinon il sera
+ *     obtenu par la clé d'action sécurisée.
  */
 function action_verifier_documents_liens_dist($id_document=null) {
 
@@ -29,4 +38,4 @@ function action_verifier_documents_liens_dist($id_document=null) {
 
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php
index ab2e60ee..f61c72e1 100644
--- a/formulaires/joindre_document.php
+++ b/formulaires/joindre_document.php
@@ -87,7 +87,7 @@ function formulaires_joindre_document_charger_dist($id_document='new',$id_objet=
 			$valeurs['editable'] = autoriser('joindredocument',$objet,$id_objet)?' ':'';
 		}
 	}
-	
+
 	return $valeurs;
 }
 
diff --git a/medias_autoriser.php b/medias_autoriser.php
index d379af1a..f4342658 100644
--- a/medias_autoriser.php
+++ b/medias_autoriser.php
@@ -10,30 +10,59 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
+/**
+ * Définit les autorisations du plugin Médias
+ *
+ * @package SPIP\Medias\Autorisations
+**/
+
 if (!defined('_ECRIRE_INC_VERSION')) return;
 
-/* Pour que le pipeline de rale pas ! */
+/**
+ * Fonction d'appel pour le pipeline
+ * @pipeline autoriser
+ */
 function medias_autoriser(){}
 
-
-function autoriser_mediatheque_administrer_dist($faire,$quoi,$id,$qui,$options) {
+/**
+ * Autorisation d'administrer la médiathèque
+ *
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
+**/
+function autoriser_mediatheque_administrer_dist($faire,$type,$id,$qui,$opt) {
 	return $qui['statut'] == '0minirezo';
 }
 
-function autoriser_documents_menu_dist($faire,$quoi,$id,$qui,$options) {
-	return autoriser('administrer','mediatheque',$id,$qui,$options);
+/**
+ * Autorisation de voir le bouton Documents dans le menu
+ *
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
+**/
+function autoriser_documents_menu_dist($faire,$type,$id,$qui,$opt) {
+	return autoriser('administrer','mediatheque',$id,$qui,$opt);
 }
 
 /**
  * Autoriser le changement des dimensions sur un document
- * @param <type> $faire
- * @param <type> $quoi
- * @param <type> $id
- * @param <type> $qui
- * @param <type> $options
- * @return <type>
+ * 
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $options   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
  */
-function autoriser_document_tailler_dist($faire,$quoi,$id,$qui,$options) {
+function autoriser_document_tailler_dist($faire,$type,$id,$qui,$options) {
 
 	if (!$id_document=intval($id))
 		return false;
@@ -68,15 +97,21 @@ function autoriser_document_tailler_dist($faire,$quoi,$id,$qui,$options) {
 }
 
 /**
+ * Autorisation de joindre un document
+ * 
  * On ne peut joindre un document qu'a un objet qu'on a le droit d'editer
  * mais il faut prevoir le cas d'une *creation* par un redacteur, qui correspond
  * au hack id_objet = 0-id_auteur
+ * 
  * Il faut aussi que les documents aient ete actives sur les objets concernes
  * ou que ce soit un article, sur lequel on peut toujours uploader des images
  *
- * http://doc.spip.org/@autoriser_joindredocument_dist
- *
- * @return bool
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
  */
 function autoriser_joindredocument_dist($faire, $type, $id, $qui, $opt){
 	include_spip('inc/config');
@@ -100,15 +135,17 @@ function autoriser_joindredocument_dist($faire, $type, $id, $qui, $opt){
 
 
 /**
+ * Autorisation de modifier un document
+ * 
  * On ne peut modifier un document que s'il n'est pas lie a un objet qu'on n'a pas le droit d'editer
  *
  * @staticvar <type> $m
- * @param <type> $faire
- * @param <type> $type
- * @param <type> $id
- * @param <type> $qui
- * @param <type> $opt
- * @return <type>
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
  */
 function autoriser_document_modifier_dist($faire, $type, $id, $qui, $opt){
 	static $m = array();
@@ -148,15 +185,17 @@ function autoriser_document_modifier_dist($faire, $type, $id, $qui, $opt){
 
 
 /**
+ * Autorisation de supprimer un document
+ * 
  * On ne peut supprimer un document que s'il n'est lie a aucun objet
  * ET qu'on a le droit de le modifier !
  *
- * @param <type> $faire
- * @param <type> $type
- * @param <type> $id
- * @param <type> $qui
- * @param <type> $opt
- * @return <type>
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
  */
 function autoriser_document_supprimer_dist($faire, $type, $id, $qui, $opt){
 	if (!intval($id)
@@ -183,15 +222,26 @@ function autoriser_document_supprimer_dist($faire, $type, $id, $qui, $opt){
 }
 
 
-//
-// Peut-on voir un document dans _DIR_IMG ?
-// Tout le monde (y compris les visiteurs non enregistres), puisque par
-// defaut ce repertoire n'est pas protege ; si une extension comme
-// acces_restreint a positionne creer_htaccess, on regarde
-// si le document est lie a un element publie
-// (TODO: a revoir car c'est dommage de sortir de l'API true/false)
-//
-// http://doc.spip.org/@autoriser_document_voir_dist
+/**
+ * Autorisation de voir un document
+ * 
+ * Peut-on voir un document dans _DIR_IMG ?
+ *
+ * Tout le monde (y compris les visiteurs non enregistrés), puisque par
+ * défaut ce repertoire n'est pas protégé ; si une extension comme
+ * acces_restreint a positionné creer_htaccess, on regarde
+ * si le document est lié à un élément publié.
+ * 
+ * @todo
+ *     À revoir car c'est dommage de sortir de l'API true/false
+ * 
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
+**/
 function autoriser_document_voir_dist($faire, $type, $id, $qui, $opt) {
 
 	if (!isset($GLOBALS['meta']["creer_htaccess"])
@@ -219,26 +269,35 @@ function autoriser_document_voir_dist($faire, $type, $id, $qui, $opt) {
 
 
 /**
- * Auto-association de documents a du contenu editorial qui le reference
- * par defaut true pour tous les objets
+ * Autorisation d'auto-association de documents à du contenu editorial qui le référence
+ * 
+ * Par defaut true pour tous les objets
+ *
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
  */
-function autoriser_autoassocierdocument_dist($faire, $type, $id, $qui, $opts) {
+function autoriser_autoassocierdocument_dist($faire, $type, $id, $qui, $opt) {
 	return true;
 }
 
 /**
- * Autoriser a nettoyer les orphelins de la base des documents
- * reserve aux admins complets
+ * Autoriser à nettoyer les orphelins de la base des documents
  *
- * @param  $faire
- * @param  $type
- * @param  $id
- * @param  $qui
- * @param  $opt
- * @return bool
+ * Réservé aux admins complets.
+ *
+ * @param  string $faire Action demandée
+ * @param  string $type  Type d'objet sur lequel appliquer l'action
+ * @param  int    $id    Identifiant de l'objet
+ * @param  array  $qui   Description de l'auteur demandant l'autorisation
+ * @param  array  $opt   Options de cette autorisation
+ * @return bool          true s'il a le droit, false sinon
  */
 function autoriser_orphelins_supprimer_dist($faire, $type, $id, $qui, $opt){
 	if ($qui['statut'] == '0minirezo'
 	AND !$qui['restreint'])
 		return true;
-}
\ No newline at end of file
+}
-- 
GitLab