/** * 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]); } }