From eec6c0b4e2a95d9772b14b01f3ba93547bc454cf Mon Sep 17 00:00:00 2001
From: "cedric@yterium.com" <>
Date: Fri, 21 Jan 2011 23:10:49 +0000
Subject: [PATCH] PHPDoc

---
 action/ajouter_documents.php             | 69 +++++++++++++++---------
 action/changer_mode_document.php         | 31 +++++++----
 action/copier_local.php                  | 26 ++++++---
 action/editer_document.php               | 20 ++++---
 action/supprimer_document.php            |  2 +-
 action/tourner.php                       | 48 +++++++++++++----
 action/verifier_documents_brises.php     | 15 ++++--
 base/typedoc.php                         |  2 -
 exec/documents_edit.php                  |  2 +-
 exec/portfolio.php                       | 16 ++++--
 formulaires/changer_fichier_document.php |  2 +-
 formulaires/editer_document.php          |  2 +-
 formulaires/illustrer_document.php       |  2 +-
 formulaires/joindre_document.php         |  2 +-
 inc/choisir_mode_document.php            |  2 +-
 inc/documenter_objet.php                 |  2 +-
 inc/joindre_document.php                 |  2 +-
 inc/marquer_doublons_doc.php             | 19 ++++---
 inc/renseigner_document.php              |  2 +-
 19 files changed, 179 insertions(+), 87 deletions(-)

diff --git a/action/ajouter_documents.php b/action/ajouter_documents.php
index f9b4d901..4b01e12f 100644
--- a/action/ajouter_documents.php
+++ b/action/ajouter_documents.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -18,6 +18,23 @@ include_spip('inc/ajouter_documents'); // compat core
 include_spip('inc/choisir_mode_document'); // compat core
 include_spip('inc/renseigner_document');
 
+/**
+ * Ajouter des documents
+ *
+ * @param int $id_document
+ *   document a 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
+ *   id_objet
+ * @param  $mode
+ *   mode par defaut si pas precise pour le document
+ * @return array
+ *   liste des id_documents inseres
+ */
 function action_ajouter_documents_dist($id_document, $files, $objet, $id_objet, $mode){
 	$ajouter_un_document = charger_fonction('ajouter_un_document','action');
 	$ajoutes = array();
@@ -35,28 +52,27 @@ function action_ajouter_documents_dist($id_document, $files, $objet, $id_objet,
 
 /**
  * Ajouter un document (au format $_FILES)
- * $id_document,	# document a remplacer, ou pour une vignette, l'id_document de maman
- * $source,	# le fichier sur le serveur (/var/tmp/xyz34)
- * $nom_envoye,	# son nom chez le client (portequoi.pdf)
- * $objet,	# lie a un article, une breve ou une rubrique ?
- * $id_objet,	# identifiant de l'article (ou rubrique) lie
- * $mode,	# 'image' => image en mode image
- *          'vignette' => personnalisee liee a un document
- *          'document' => doc ou image en mode document
- *          'distant' => lien internet
- * $actifs	# les documents dont il faudra ouvrir la boite de dialogue
  *
- * @param unknown_type $id_document
- * @param array $source
- * @param unknown_type $nom_envoye
- * @param unknown_type $objet
- * @param unknown_type $id_objet
- * @param unknown_type $mode
- * @param unknown_type $documents_actifs
- * @param unknown_type $titrer
- * @return unknown
+ * http://doc.spip.org/@ajouter_un_document
+ *
+ * @param int $id_document
+ *   document a remplacer, ou pour une vignette, l'id_document de maman
+ *   0 ou 'new' pour une insertion
+ * @param array $file
+ *   proprietes au format $_FILE etendu :
+ *     strin 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
+ * @param int $id_objet
+ *   id_objet
+ * @param string $mode
+ *   mode par defaut si pas precise pour le document
+ * @return array|bool|int|mixed|string|unknown
  */
-// http://doc.spip.org/@ajouter_un_document
 function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet, $mode) {
 	
 	$source = $file['tmp_name'];
@@ -194,7 +210,6 @@ function action_ajouter_un_document_dist($id_document, $file, $objet, $id_objet,
 }
 
 
-if (!function_exists('corriger_extension')){
 /**
  * Corrige l'extension du fichier dans quelques cas particuliers
  * (a passer dans ecrire/base/typedoc)
@@ -219,7 +234,6 @@ function corriger_extension($ext) {
 	}
 	return $ext;
 }
-}
 
 /**
  * Verifie la possibilite d'uploader une extension
@@ -258,8 +272,6 @@ function verifier_upload_autorise($source){
  */
 function fixer_fichier_upload($file){
 
-
-
 	if (is_array($row=verifier_upload_autorise($file['name']))) {
 		$row['fichier'] = copier_document($row['extension'], $file['name'], $file['tmp_name']);
 		return $row;
@@ -307,7 +319,12 @@ function fixer_fichier_upload($file){
 	return false;
 }
 
-
+/**
+ * Verifier si le fichier respecte les contraintes de tailles
+ * 
+ * @param  $infos
+ * @return bool|mixed|string
+ */
 function verifier_taille_document_acceptable($infos){
 	
 	// si ce n'est pas une image
diff --git a/action/changer_mode_document.php b/action/changer_mode_document.php
index f6c66dd9..036b4755 100644
--- a/action/changer_mode_document.php
+++ b/action/changer_mode_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -13,17 +13,28 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 
-// Cette action permet de basculer du mode image au mode document et vice versa
+/**
+ * Cette action permet de basculer du mode image au mode document et vice versa
+ *
+ * http://doc.spip.org/@action_changer_mode_document_dist
+ *
+ * @return void
+ */
+function action_changer_mode_document_dist($id_document=null, $mode=null){
+	if (is_null($id_document) OR is_null($mode)){
+		$securiser_action = charger_fonction('securiser_action', 'inc');
+		$arg = $securiser_action();
 
-// http://doc.spip.org/@action_changer_mode_document_dist
-function action_changer_mode_document_dist()
-{
-	$securiser_action = charger_fonction('securiser_action', 'inc');
-	$arg = $securiser_action();
+		if (!preg_match(",^(\d+)\W(\w+)$,", $arg, $r))
+			spip_log("action_changer_mode_document $arg pas compris");
+		else {
+			array_shift($r);
+	    list($id_document, $mode) = $r;
+		}
+	}
 
-	if (!preg_match(",^(\d+)\W(\w+)$,", $arg, $r))
-		spip_log("action_changer_mode_document $arg pas compris");
-	else action_changer_mode_document_post($r[1],$r[2]);
+	if ($id_document)
+		action_changer_mode_document_post($id_document, $mode);
 }
 
 // http://doc.spip.org/@action_changer_mode_document_post
diff --git a/action/copier_local.php b/action/copier_local.php
index 2ae2808f..ff0f6648 100644
--- a/action/copier_local.php
+++ b/action/copier_local.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -12,12 +12,17 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
-// Fonction appellee lorsque l'utilisateur clique sur le bouton
-// 'copier en local' (document/portfolio).
-// Il s'agit de la partie logique, c'est a dire que cette fonction
-// realise la copie.
-
-// http://doc.spip.org/@action_copier_local_dist
+/**
+ * Fonction appellee lorsque l'utilisateur clique sur le bouton
+ * 'copier en local' (document/portfolio).
+ * Il s'agit de la partie logique, c'est a dire que cette fonction
+ * realise la copie.
+ *
+ * http://doc.spip.org/@action_copier_local_dist
+ *
+ * @param null $id_document
+ * @return bool|mixed|string
+ */
 function action_copier_local_dist($id_document=null) {
 
 	if (!$id_document){
@@ -37,7 +42,12 @@ function action_copier_local_dist($id_document=null) {
 	}
 }
 
-// http://doc.spip.org/@action_copier_local_post
+/**
+ * http://doc.spip.org/@action_copier_local_post
+ *
+ * @param  $id_document
+ * @return bool|mixed|string
+ */
 function action_copier_local_post($id_document) {
 
 	// Il faut la source du document pour le copier
diff --git a/action/editer_document.php b/action/editer_document.php
index 2f8b0c45..ee834cd3 100644
--- a/action/editer_document.php
+++ b/action/editer_document.php
@@ -1,12 +1,18 @@
 <?php
-/**
- * Plugin Portfolio/Gestion des documents
- * Licence GPL (c) 2006-2008 Cedric Morin, romy.tetue.net
- *
- */
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2011                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+
 /**
  * Action editer_document
  *
@@ -20,7 +26,7 @@ function action_editer_document_dist() {
 	// Envoi depuis le formulaire de creation d'un document
 	if (!$id_document = intval($arg)) {
 		$id_document = insert_document();
-	} 
+	}
 
 	if ($id_document = intval($id_document)) {
 		document_set($id_document);
@@ -129,6 +135,8 @@ function document_set ($id_document, $c=false) {
 	}
 
 }
+
+
 /**
  * determiner le statut d'un document : prepa/publie
  * si on trouve un element joint sans champ statut ou avec un statut='publie' alors le doc est publie aussi
diff --git a/action/supprimer_document.php b/action/supprimer_document.php
index 9f75b767..95d30ba4 100644
--- a/action/supprimer_document.php
+++ b/action/supprimer_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/action/tourner.php b/action/tourner.php
index 34fba0ef..dc80ac30 100644
--- a/action/tourner.php
+++ b/action/tourner.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -12,17 +12,47 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
-// http://doc.spip.org/@action_tourner_dist
-function action_tourner_dist() {
-	$securiser_action = charger_fonction('securiser_action', 'inc');
-	$arg = $securiser_action();
+/**
+ * Tourner un document
+ *
+ * http://doc.spip.org/@action_tourner_dist
+ *
+ * lorsque les arguments sont passes dans arg en GET :
+ * id_document-angle
+ *
+ * @param int $id_document
+ * @param int $angle
+ *   angle de rotation en degre>0
+ * @return void
+ */
+function action_tourner_dist($id_document=null, $angle=null) {
+	if (is_null($id_document) OR is_null($angle)){
+		$securiser_action = charger_fonction('securiser_action', 'inc');
+		$arg = $securiser_action();
+
+		if (!preg_match(",^\W*(\d+)\W?(-?\d+)$,", $arg, $r)) {
+			spip_log("action_tourner_dist $arg pas compris");
+		}
+		else{
+			array_shift($r);
+			list($id_document,$angle) = $r;
+		}
 
-	if (!preg_match(",^\W*(\d+)\W?(-?\d+)$,", $arg, $r)) {
-		spip_log("action_tourner_dist $arg pas compris");
-	} else  action_tourner_post($r[1],$r[2]);
+	}
+	if ($id_document AND autoriser('modifier','document',$id_document))
+		action_tourner_post($id_document,$angle);
 }
 
-// http://doc.spip.org/@action_tourner_post
+/**
+ * Tourner un document
+ *
+ * http://doc.spip.org/@action_tourner_post
+ *
+ * @param int $id_document
+ * @param int $angle
+ *   angle de rotation en degre>0
+ * @return
+ */
 function action_tourner_post($id_document,$angle)
 {
 	$row = sql_fetsel("fichier,extension", "spip_documents", "id_document=".intval($id_document));
diff --git a/action/verifier_documents_brises.php b/action/verifier_documents_brises.php
index b2646966..6c117d8c 100644
--- a/action/verifier_documents_brises.php
+++ b/action/verifier_documents_brises.php
@@ -1,9 +1,14 @@
 <?php
-/**
- * Plugin Portfolio/Gestion des documents
- * Licence GPL (c) 2006-2008 Cedric Morin, romy.tetue.net
- *
- */
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2011                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
diff --git a/base/typedoc.php b/base/typedoc.php
index e505a043..012ed1da 100644
--- a/base/typedoc.php
+++ b/base/typedoc.php
@@ -10,8 +10,6 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
-//
 if (!defined('_ECRIRE_INC_VERSION')) return;
 
 global $tables_images, $tables_sequences, $tables_documents, $tables_mime, $mime_alias;
diff --git a/exec/documents_edit.php b/exec/documents_edit.php
index f3d82b83..cbe1d0c7 100644
--- a/exec/documents_edit.php
+++ b/exec/documents_edit.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/exec/portfolio.php b/exec/portfolio.php
index 00173ce4..8bb68993 100644
--- a/exec/portfolio.php
+++ b/exec/portfolio.php
@@ -1,12 +1,18 @@
 <?php
-/**
- * Plugin Portfolio/Gestion des documents
- * Licence GPL (c) 2006-2008 Cedric Morin, romy.tetue.net
- *
- */
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2011                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
+
 include_spip('inc/presentation');
 
 function exec_portfolio(){
diff --git a/formulaires/changer_fichier_document.php b/formulaires/changer_fichier_document.php
index 62f55c3f..9b6620f6 100644
--- a/formulaires/changer_fichier_document.php
+++ b/formulaires/changer_fichier_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/formulaires/editer_document.php b/formulaires/editer_document.php
index 2bcf3315..8464e7c7 100644
--- a/formulaires/editer_document.php
+++ b/formulaires/editer_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/formulaires/illustrer_document.php b/formulaires/illustrer_document.php
index 8de5550f..05c6aef4 100644
--- a/formulaires/illustrer_document.php
+++ b/formulaires/illustrer_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php
index d97f3ee7..5770a0a1 100644
--- a/formulaires/joindre_document.php
+++ b/formulaires/joindre_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/inc/choisir_mode_document.php b/inc/choisir_mode_document.php
index bf5ddc52..a6cd211f 100644
--- a/inc/choisir_mode_document.php
+++ b/inc/choisir_mode_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/inc/documenter_objet.php b/inc/documenter_objet.php
index e443dd50..7235e26c 100644
--- a/inc/documenter_objet.php
+++ b/inc/documenter_objet.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/inc/joindre_document.php b/inc/joindre_document.php
index 05827288..e5a57a11 100644
--- a/inc/joindre_document.php
+++ b/inc/joindre_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
diff --git a/inc/marquer_doublons_doc.php b/inc/marquer_doublons_doc.php
index 5629424a..7d48a0a9 100644
--- a/inc/marquer_doublons_doc.php
+++ b/inc/marquer_doublons_doc.php
@@ -1,10 +1,17 @@
 <?php
-/*
- * Plugin xxx
- * (c) 2009 cedric
- * Distribue sous licence GPL
- *
- */
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2011                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
 
 // On liste tous les champs susceptibles de contenir des documents ou images si on veut que ces derniers soient lies a l objet lorsqu on y fait reference par imgXX docXX ou embXX
 // la dist ne regarde que chapo et texte, on laisse comme ca, mais ca permet d etendre a descriptif ou toto depuis d autre plugin comme agenda ou grappe
diff --git a/inc/renseigner_document.php b/inc/renseigner_document.php
index 94467299..d2fd721b 100644
--- a/inc/renseigner_document.php
+++ b/inc/renseigner_document.php
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2009                                                *
+ *  Copyright (c) 2001-2011                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
-- 
GitLab