[Devel] r382 - trunk

svn at agendadulibre.org svn at agendadulibre.org
Mar 23 Sep 22:22:27 CEST 2008


Author: thomas
Date: Tue Sep 23 22:22:26 2008
New Revision: 382

Log:
Le soumetteur d'un évènement peut maintenant modifier son évènement
durant la phase de modération. En réalité, cela était déjà possible,
mais le soumetteur n'avait pas connaissance du secret. Le secret lui
est maintenant envoyé par mail dès que l'évènement est ajouté dans la
base.

 * submit.php:

  - Modification du mail envoyé au soumetteur de l'évènement pour
    qu'il inclut les liens d'édition et d'annulation.

 * editevent.php:

  - Mise en place d'une petite page de confirmation que l'édition a
    bien été enregistrée. En effet, auparavant, après édition d'un
    évènement non validé, l'utilisateur était redirigé vers la page
    moderation.php, réservée aux modérateurs. Désormais, selon si
    l'utilisateur est un modérateur ou non, le comportement est
    différent.



Modified:
   trunk/editevent.php
   trunk/submit.php

Modified: trunk/editevent.php
==============================================================================
--- trunk/editevent.php	(original)
+++ trunk/editevent.php	Tue Sep 23 22:22:26 2008
@@ -102,7 +102,11 @@
 		     $diff . "\n\n".
 		     "Bonne journée\n\n".
 		     "-- L'équipe de modération");
-      return "moderation.php";
+
+      if ($user)
+	return "moderation.php";
+      else
+	return "";
     }
 }
 
@@ -163,7 +167,14 @@
 		     $_POST['__event_submitter'],
 		     $_POST['__event_tags']);
 
-  header("Location: " . $returnaddr);
+  if ($returnaddr != "")
+    header("Location: " . $returnaddr);
+
+  put_header("Édition d'un évènement");
+  echo "<p>Les modifications sur l'évènement <i>" . $_POST['__event_title'] . "</i> ont bien été enregistrées.</p>";
+  put_footer();
+
+  exit;
 }
 
 put_header("Édition d'un évènement");

Modified: trunk/submit.php
==============================================================================
--- trunk/submit.php	(original)
+++ trunk/submit.php	Tue Sep 23 22:22:26 2008
@@ -46,7 +46,8 @@
 }
 
 function notify_submitter ($db, $id, $title, $start, $end, $description, $city,
-			   $region, $locality, $url, $contact, $submitter, $tags)
+			   $region, $locality, $url, $contact, $submitter, $tags,
+			   $secret)
 {
   $mail_title = "Votre évènement : '" . $title . "' est en attente de modération";
 
@@ -54,7 +55,12 @@
     wordwrap("Votre évènement intitulé '" . $title .
 	     "', qui aura lieu le '" . date_timestamp2humanreadable($start) .
 	     "' a bien été enregistré dans l'Agenda du Libre. " .
-	     "L'équipe de modération le prendra en charge très prochainement.\n\n") .
+	     "L'équipe de modération le prendra en charge très prochainement. " .
+	     "Pendant la modération et après celle-ci si votre évènement est validé, " .
+	     "vous pouvez éditer votre évènement à l'adresse:\n" .
+	     "  " . calendar_absolute_url("editevent.php?id=" . $id . "&secret=" . $secret) . "\n\n" .
+	     "et vous pouvez l'annuler en utilisant l'adresse:\n" .
+	     "  " . calendar_absolute_url("cancelevent.php?id=" . $id . "&secret=" . $secret) . "\n\n") .
     "Merci de votre participation !\n" .
     "-- Agenda du Libre";
 
@@ -165,6 +171,8 @@
   if (! $submitter)
     $submitter = $contact;
 
+  $secret = md5(uniqid(rand(), true));
+
   /* Checks are done, add to database */
   $sql = "INSERT INTO events (title,description,start_time,end_time,city,region,locality,url,contact,submitter,tags,moderated,secret,submission_time) values (" .
     $db->quote_smart($title)                        . "," .
@@ -179,7 +187,7 @@
     $db->quote_smart($submitter)                    . "," .
     $db->quote_smart($tags)                         . "," .
     "'0'"                                           . "," .
-    "'" . md5(uniqid(rand(), true)) . "'"           . "," .
+    "'" . $secret . "'"                             . "," .
     "NOW()"                                               .
     ")";
 
@@ -194,7 +202,7 @@
   alert_moderators ($db, $db->insertid(), $title, $start, $end, $description, $city,
 		    $region, $locality, $url, $contact, $submitter, $tags);
   notify_submitter ($db, $db->insertid(), $title, $start, $end, $description, $city,
-		    $region, $locality, $url, $contact, $submitter, $tags);
+		    $region, $locality, $url, $contact, $submitter, $tags, $secret);
 
   echo "<p><b>Votre évènement a bien été ajouté à la liste des évènements en attente de modération." .
        "Il apparaîtra en ligne dès qu'un modérateur l'aura validé.</b></p>";


Plus d'informations sur la liste de diffusion Devel