/**
  * Account spam test 
  * @return bool
  */
 public static function onAbortNewAccount($user, &$message)
 {
     global $wgCTAccessKey, $wgCTServerURL, $wgRequest, $wgCTAgent, $wgCTExtName;
     $allowAccount = true;
     // The facility in which to store the query parameters
     $ctRequest = new CleantalkRequest();
     $ctRequest->auth_key = $wgCTAccessKey;
     $ctRequest->sender_email = $user->mEmail;
     $ctRequest->sender_nickname = $user->mName;
     $ctRequest->agent = $wgCTAgent;
     $ctRequest->sender_ip = $wgRequest->getIP();
     $ctRequest->js_on = CTBody::JSTest();
     $ctRequest->submit_time = CTBody::SubmitTimeTest();
     $ctRequest->sender_info = json_encode(array('page_url' => htmlspecialchars(@$_SERVER['SERVER_NAME'] . @$_SERVER['REQUEST_URI'])));
     $ct = new Cleantalk();
     $ct->server_url = $wgCTServerURL;
     // Check
     $ctResult = $ct->isAllowUser($ctRequest);
     // Allow account if we have any API errors
     if ($ctResult->errno != 0) {
         if (CTBody::JSTest() != 1) {
             $ctResult->allow = 0;
             $ctResult->comment = "Forbidden. Please, enable Javascript.";
         } else {
             $ctResult->allow = 1;
         }
     }
     // Disallow account with CleanTalk comment
     if ($ctResult->allow == 0) {
         $allowAccount = false;
         $message = $ctResult->comment;
     }
     if ($ctResult->inactive === 1) {
         CTBody::SendAdminEmail($wgCTExtName, $ctResult->comment);
     }
     return $allowAccount;
 }