diff --git a/ecrire/inc_spip_cal.php b/ecrire/inc_spip_cal.php
index dbd22a067ac2965b67d471c1a45fa6c6c21f53d0..f87c387d5d4a49946659cc9692027dd045686757 100644
--- a/ecrire/inc_spip_cal.php
+++ b/ecrire/inc_spip_cal.php
@@ -24,11 +24,12 @@ function ligne ($texte) {
 	echo filtrer_ical($texte)."\n";
 }
 
-function spip_cal_dist($id_auteur, $cle)
+function spip_action_ical_dist()
 {
-	  if (verifier_low_sec($id_auteur, $cle, 'ical')) {
-		$query = "SELECT * FROM spip_auteurs WHERE id_auteur=$id_auteur";
-		$result = spip_query($query);
+	global $id_auteur, $arg, $action;
+	spip_log("fonction spipcal $id_auteur, $arg, $action");
+	if (verifier_low_sec($id_auteur, $arg, $action)) {
+		$result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=" . intval($id_auteur));
 
 		if ($row = spip_fetch_array($result)) {
 			$id_utilisateur=$row['id_auteur'];
@@ -38,7 +39,7 @@ function spip_cal_dist($id_auteur, $cle)
 		}
 	  }
 	if (!$id_utilisateur) {
-		spip_log("spip_cal: acces interdit a $id_auteur par $cle");
+		spip_log("spip_cal: acces interdit a $id_auteur par $arg");
 		echo _T('info_acces_interdit');
 		exit;
 	}
diff --git a/spip_cal.php3 b/spip_cal.php3
index 697741cc8cd0a101b2bbea96448662429522e1f5..70b5780eb8d2b48df8b51e0500d64b66ec01c72b 100644
--- a/spip_cal.php3
+++ b/spip_cal.php3
@@ -10,23 +10,18 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-// prendre $var_* comme variables pour eviter les conflits avec les http_vars
-
 include ("ecrire/inc_version.php3");
+include_ecrire('inc_spip_cal');
 
-$var_nom = "spip_cal";
-
-$var_f = find_in_path('inc_' . $var_nom . '.php');
-
-if ($var_f) 
-	include($var_f);
-else
-	include_ecrire('inc_' . $var_nom);
+$id_auteur = $id;
+$arg = $cle;
+$action = 'ical';
+$var_nom = "spip_action_ical";
 
 if (function_exists($var_nom))
-	$var_nom($id, $cle);
+	$var_nom();
 elseif (function_exists($var_f = $var_nom .  "_dist"))
-	$var_f($id, $cle);
+	$var_f();
  else
-	spip_log("fonction $nom indisponible");
+	spip_log("fonction $var_nom indisponible");
 ?>