this was proposed several times already and probably agreed on, too. All it takes is a developer, who is _that_ annoyed to implement something like this. Everything is in CVS, send in patches, not enough karma is not a valid excuse :)
Have a look at this patch. Maybe it will work ...
-- Ard
Index: cvs-php.php =================================================================== RCS file: /repository/phpweb/cvs-php.php,v retrieving revision 1.31 diff -u -r1.31 cvs-php.php --- cvs-php.php 11 Sep 2003 16:45:13 -0000 1.31 +++ cvs-php.php 12 Mar 2004 13:56:12 -0000 @@ -12,8 +12,8 @@ <?php // We have a form submitted, and the user have read all the comments -if (count($_POST) && isset($_POST['checkread'])) { +if (count($_POST) && (!is_array($_POST['purpose']) || !count($_POST['purpose']))) { // Clean up incoming POST vars if (get_magic_quotes_gpc()) { foreach ($_POST as $k => $v) { @@ -34,7 +35,7 @@ if (empty($_POST['fullname'])) { $error .= "You must supply your real name. "; } - if (empty($_POST['purpose'])) { + if (empty($_POST['realpurpose'])) { $error .= "You must supply a reason for requesting the CVS account. "; } if (empty($_POST['password'])) { @@ -53,7 +54,7 @@ "name" => $cleaned['fullname'], "email" => $cleaned['email'], "passwd" => $cleaned['password'], - "note" => $cleaned['purpose'] + "note" => $cleaned['realpurpose'] ) ); // Error while posting @@ -127,7 +128,7 @@ } // endif: no data or checkread not checked else { - if (count($_POST) && !isset($_POST['checkread'])) { + if (count($_POST)) { print <<<EOT <p class="formerror"> We could not have said it more clearly. Read everything on @@ -273,8 +274,24 @@ class="max" value="<?php echo clean($_POST['email']);?>" /></td> </tr> <tr> - <th class="subr">Purpose:</th> - <td><textarea cols="50" rows="5" name="purpose" class="max"><?php echo clean($_POST['purpose']);?></textarea></td> + <th class="subr">For what purpose do you require a CVS account:<br> + (check all that apply)</th> + <td> +<?php +$purposes = array("Learning PHP","Coding in PHP","Reading the PHP source", + "Using PHP extensions","Creating experimental PHP extensions", + "Submitting a patch to PHP","Adding notes to the documentation", + "Writing web pages with PHP","Setting up a php.net mirror site"); + +foreach ($purposes as $i => $p): ?> + <input type="checkbox" name="purpose[<?php echo $i?>]" value="1" + <?php echo $_POST['purpose'][$i] == '1' ? "checked":"" ?>/><?php echo $p?><br> +<?php endforeach; ?> + </td> +</tr> +<tr> + <th class="subr">If your intended purpose is not in the list, <br>please state it here:</th> + <td><textarea cols="50" rows="5" name="realpurpose" class="max"><?php echo clean($_POST['realpurpose']);?></textarea></td> </tr> <tr> <th class="subr">User ID:<br /> <small>(single word, lower case)</small></th> @@ -286,20 +303,6 @@ <td><input type="password" size="10" name="password" class="max" value="<?php echo clean($_POST['password']);?>" /></td> </tr> -<?php -// if checkread is set here, we're redisplaying the form because of an error. -if ($_POST['checkread']) { - echo "<input type=\"hidden\" name=\"checkread\" value=\"1\" />\n"; -} -else {?> -<tr> - <th class="subr">You have read <em>all</em> the comments above:</th> - <td> - <input type="checkbox" name="checkread" value="1" /> - </td> -</tr> -<?php -}?> <tr> <th colspan="2"><input type="submit" value="Send Request" /></th> </tr>
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php