瀏覽代碼

Fixed bug #126497 + problem with error handling in src/addressbook.php.

pallo 24 年之前
父節點
當前提交
c280d4d70c
共有 2 個文件被更改,包括 10 次插入4 次删除
  1. 7 1
      functions/addressbook.php
  2. 3 3
      src/addressbook.php

+ 7 - 1
functions/addressbook.php

@@ -335,13 +335,19 @@
 	    $this->error = _("E-mail address is missing");
 	    $this->error = _("E-mail address is missing");
 	    return false;
 	    return false;
 	 }
 	 }
+
+	 if(eregi("[\: \|\#\"\!]", $userdata["nickname"])) {
+	    $this->error = _("Nickname contain illegal characters");
+	    return false;
+	 }
+
 	 if(empty($userdata["nickname"])) {
 	 if(empty($userdata["nickname"])) {
 	    $userdata["nickname"] = $userdata["email"];
 	    $userdata["nickname"] = $userdata["email"];
 	 }
 	 }
 
 
 	 // Check that specified backend is writable
 	 // Check that specified backend is writable
 	 if(!$this->backends[$bnum]->writeable) {
 	 if(!$this->backends[$bnum]->writeable) {
-	    $this->error = sprintf(_("Addressbook %s is read-only", $bnum));
+	    $this->error = _("Addressbook is read-only");;
 	    return false;
 	    return false;
 	 }
 	 }
 
 

+ 3 - 3
src/addressbook.php

@@ -202,7 +202,7 @@
 	       printf("<INPUT TYPE=hidden NAME=backend VALUE=\"%s\">\n",
 	       printf("<INPUT TYPE=hidden NAME=backend VALUE=\"%s\">\n",
 		      htmlspecialchars($olddata["backend"]));
 		      htmlspecialchars($olddata["backend"]));
 	       print "<INPUT TYPE=hidden NAME=doedit VALUE=1>\n";
 	       print "<INPUT TYPE=hidden NAME=doedit VALUE=1>\n";
-	       print "</FORM>";	       
+	       print "</FORM>";
 	    }
 	    }
 	 }
 	 }
 
 
@@ -230,9 +230,9 @@
 	       print "</TABLE>\n";
 	       print "</TABLE>\n";
 	       address_form("editaddr", _("Update address"), $newdata);
 	       address_form("editaddr", _("Update address"), $newdata);
 	       printf("<INPUT TYPE=hidden NAME=oldnick VALUE=\"%s\">\n",
 	       printf("<INPUT TYPE=hidden NAME=oldnick VALUE=\"%s\">\n",
-		      htmlspecialchars($newdata["nickname"]));
+		      htmlspecialchars($oldnick));
 	       printf("<INPUT TYPE=hidden NAME=backend VALUE=\"%s\">\n",
 	       printf("<INPUT TYPE=hidden NAME=backend VALUE=\"%s\">\n",
-		      htmlspecialchars($newdata["backend"]));
+		      htmlspecialchars($backend));
 	       print "<INPUT TYPE=hidden NAME=doedit VALUE=1>\n";
 	       print "<INPUT TYPE=hidden NAME=doedit VALUE=1>\n";
 	       print "</FORM>";	       
 	       print "</FORM>";