Hello, phpdoc@lists.php.net

    Here is a patch for user notes to allow reason to be specified
when deleting note from online version of manual. The patch is for
master php.net. BTW, it seems that master operates in
register_globals=on mode - at least I was unable to find where
$reason variable is set in php-master-web/manage/user-notes.php

    I didn't find a place where to fix links from user notes on
manual pages http://www.php.net/manual/en/  If somebody know how -
change
http://master.php.net/manage/user-notes.php?action=delete+<NUMBER>
to http://master.php.net/manage/user-notes.php?action=predelete+<NUMBER>
for this patch to work.

    It will be good if somebody test this on some mirror first.

t
-- 
--[ http://wiki.phpdoc.info/DocLinks ]--
--- user-notes_old.php  Thu Sep 15 16:30:32 2005
+++ user-notes.php      Sat Sep 24 19:44:48 2005
@@ -34,6 +34,16 @@
 
 Your note has been removed from the online manual.';
 
+$delete_reasons = array(
+  'integrated' => 'integrated in the manual',
+  'useless' => 'useless',
+  'bad+code' => 'bad code',
+  'spam' => 'spam',
+  'non-english' => 'non-english',
+  'already+in+docs' => 'already in docs'
+);
+
+
 db_connect();
 
 $action = (isset($_REQUEST['action']) ? $_REQUEST['action'] : '');
@@ -77,14 +87,11 @@
             hsc($row['user']),"</span><br />",
            "Note id: $id<br />\n",
            "<a 
href=\"http://www.php.net/manual/en/{$row['sect']}.php\">http://www.php.net/manual/en/{$row['sect']}.php</a><br
 />\n",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=edit+$id\"; 
target=\"_blank\">Edit Note</a><br />",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id&reason=integrated\";
 target=\"_blank\">Delete Note: Integrated in the manual</a><br />",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id&reason=useless\";
 target=\"_blank\">Delete Note: useless</a><br />",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id&reason=bad+code\";
 target=\"_blank\">Delete Note: bad code</a><br />",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id&reason=spam\";
 target=\"_blank\">Delete Note: spam</a><br />",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id&reason=non-english\";
 target=\"_blank\">Delete Note: non-english</a><br />",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id&reason=already+in+docs\";
 target=\"_blank\">Delete Note: already in docs</a><br />",
-            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id\"; 
target=\"_blank\">Delete Note: other reason</a><br />",
+            "<a 
href=\"http://master.php.net/manage/user-notes.php?action=edit+$id\"; 
target=\"_blank\">Edit Note</a><br />";
+            foreach ($delete_reasons as $rk => $rv) {
+              echo "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id&reason=$rk\";
 target=\"_blank\">Delete Note: $rv</a><br />";
+            }
+          echo "<a 
href=\"http://master.php.net/manage/user-notes.php?action=delete+$id\"; 
target=\"_blank\">Delete Note: other reason</a><br />",
             "<a 
href=\"http://master.php.net/manage/user-notes.php?action=reject+$id\"; 
target=\"_blank\">Reject Note</a>",
             "</p>",
            "<hr />";
@@ -226,6 +233,20 @@
       exit;
     }
   }
+case 'predelete': // used to choose reason when called from manual pages
+  if ($id) {
+    echo "<html><head><title>Delete reason</title></head>\n",
+      "<body>Choose a reason for deletion:\n\n",
+      "<form method='get' 
action='http://master.php.net/manage/user-notes.php'>\n",
+      "<input type='hidden' name='action' value='delete $id'/>\n\n";
+      foreach ($delete_reasons as $rk => $rv) {
+        echo "<input type='radio' name='reason' value='$rk'/>$rv<br/>\n";
+      }
+    echo "\n<input type='radio' name='reason' value='' 
checked='checked'/>Other reason<br/>\n",
+    echo "\n<br/><input type='submit' name='' value='Confirm'/>\n";
+    echo "</form></body></html>\n";
+    exit;
+  }
 case 'reject':
 case 'delete':
   if ($id) {

Reply via email to