예제 #1
0
 /**
  * Called via a callback when NickServ responds to
  * the bots query asking if a nick is registered
  *
  * @param array $data Data
  * @return void
  */
 public function handle_reg_response($data)
 {
     // Retrieve data
     $screenname = $data['screenname'];
     $nickdata = $this->regChecks[$screenname];
     $usernick = $nickdata['user']->nickname;
     if (isset($this->regChecksLookup[$usernick])) {
         if ($data['registered']) {
             // Send message
             $this->plugin->sendConfirmationCode($screenname, $nickdata['code'], $nickdata['user'], true);
         } else {
             // TRANS: Message given when using an unregistered IRC nickname.
             $this->plugin->sendMessage($screenname, _m('Your nickname is not registered so IRC connectivity cannot be enabled.'));
             $confirm = new Confirm_address();
             $confirm->user_id = $user->id;
             $confirm->address_type = $this->plugin->transport;
             if ($confirm->find(true)) {
                 $result = $confirm->delete();
                 if (!$result) {
                     common_log_db_error($confirm, 'DELETE', __FILE__);
                     // TRANS: Server error thrown on database error when deleting IRC nickname confirmation.
                     $this->serverError(_m('Could not delete confirmation.'));
                     return;
                 }
             }
         }
         // Unset lookup value
         unset($this->regChecksLookup[$usernick]);
         // Unset data
         unset($this->regChecks[$screename]);
     }
 }