Fixes an issue with password reset caused by bot code, a=chris

Chris Pollett [2017-01-21 00:Jan:st]
Fixes an issue with password reset caused by bot code, a=chris
Filename
src/controllers/RegisterController.php
src/library/UrlParser.php
src/models/UserModel.php
diff --git a/src/controllers/RegisterController.php b/src/controllers/RegisterController.php
index 7c5e6101b..60fadb197 100755
--- a/src/controllers/RegisterController.php
+++ b/src/controllers/RegisterController.php
@@ -1338,7 +1338,8 @@ class RegisterController extends Controller implements CrawlConstants
                 $missing[] = "email";
                 $data[strtoupper($field)] = "";
             } else if ($field == "user" && stripos($this->forbidden_usernames,
-                $_REQUEST[$field]) !== false) {
+                $_REQUEST[$field]) !== false && $_REQUEST['a'] ==
+                'createAccount') {
                 $error = true;
                 $missing[] = "user";
                 $data[strtoupper($field)] = "";
@@ -1419,4 +1420,4 @@ class RegisterController extends Controller implements CrawlConstants
         }
         return false;
     }
-}
\ No newline at end of file
+}
diff --git a/src/library/UrlParser.php b/src/library/UrlParser.php
index 45e1b5ed2..f28da4fbf 100755
--- a/src/library/UrlParser.php
+++ b/src/library/UrlParser.php
@@ -525,7 +525,8 @@ class UrlParser
     {
         $words = [];
         $url_parts = @parse_url($url);
-        $path_info = @pathinfo($url_parts['path']);
+        $path_info = (empty($url_parts['path'])) ? [] :
+            @pathinfo($url_parts['path']);
         $path = "";
         if (isset($path_info['dirname'])) {
             $path .= $path_info['dirname']."/";
@@ -1037,4 +1038,4 @@ class UrlParser
         }
         return $mime_type;
     }
-}
\ No newline at end of file
+}
diff --git a/src/models/UserModel.php b/src/models/UserModel.php
index 8cd422ced..296838f93 100755
--- a/src/models/UserModel.php
+++ b/src/models/UserModel.php
@@ -453,9 +453,11 @@ class UserModel extends Model
             clearstatcache($folder."/user_icon.jpg");
         }
         unset($user['USER_ID']);
-
         unset($user['IMAGE_STRING']);
         unset($user['USER_ICON']);
+        unset($user['IS_BOT_USER']);
+        unset($user['BOT_TOKEN']);
+        unset($user['CALLBACK_URL']);
         $user['USER_NAME'] = mb_strtolower($this->getUserName(
             $user_id));
         if (empty($user['USER_NAME'])) {
ViewGit