X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FMsn%2FMsnPlugin.php;h=187486eedcb687aa4e75a429ef09446a8864d9a1;hb=3a3a53dfcc6582f637205bc9fb897d5152ca80b1;hp=acbc6446e08945f40d250a3873b22913b0682440;hpb=50610c2611b16aced92539117b9021253dc150f9;p=quix0rs-gnu-social.git diff --git a/plugins/Msn/MsnPlugin.php b/plugins/Msn/MsnPlugin.php index acbc6446e0..187486eedc 100644 --- a/plugins/Msn/MsnPlugin.php +++ b/plugins/Msn/MsnPlugin.php @@ -51,7 +51,7 @@ class MsnPlugin extends ImPlugin { public $user = null; public $password = null; public $nickname = null; - public $transport = 'msnim'; + public $transport = 'msn'; /** * Get the internationalized/translated display name of this IM service @@ -69,7 +69,7 @@ class MsnPlugin extends ImPlugin { * @return string an equivalent screenname in normalized form */ public function normalize($screenname) { - $screenname = str_replace(" ","", $screenname); + $screenname = str_replace(" ","", $screenname); return strtolower($screenname); } @@ -78,7 +78,7 @@ class MsnPlugin extends ImPlugin { * * @return string Screenname */ - public function daemon_screenname() { + public function daemonScreenname() { return $this->user; } @@ -89,12 +89,7 @@ class MsnPlugin extends ImPlugin { * @return boolean */ public function validate($screenname) { - // RFC 2822 (simplified) regexp - if(preg_match('/[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i', $screenname)) { - return true; - } else { - return false; - } + return Validate::email($screenname, common_config('email', 'check_domain')); } /** @@ -111,6 +106,7 @@ class MsnPlugin extends ImPlugin { require_once(INSTALLDIR.'/plugins/Msn/extlib/phpmsnclass/msn.class.php'); return false; case 'MsnManager': + case 'Msn_waiting_message': include_once $dir . '/'.strtolower($cls).'.php'; return false; default: @@ -120,7 +116,7 @@ class MsnPlugin extends ImPlugin { /* * Start manager on daemon start - * + * * @return boolean */ public function onStartImDaemonIoManagers(&$classes) { @@ -129,6 +125,25 @@ class MsnPlugin extends ImPlugin { return true; } + /** + * Ensure the database table is present + * + */ + public function onCheckSchema() { + $schema = Schema::get(); + + // For storing messages while sessions become ready + $schema->ensureTable('msn_waiting_message', + array(new ColumnDef('id', 'integer', null, + false, 'PRI', null, null, true), + new ColumnDef('screenname', 'varchar', 255, false), + new ColumnDef('message', 'text', null, false), + new ColumnDef('created', 'datetime', null, false), + new ColumnDef('claimed', 'datetime'))); + + return true; + } + /** * Get a microid URI for the given screenname * @@ -146,8 +161,8 @@ class MsnPlugin extends ImPlugin { * @param string $body Text to send * @return boolean success value */ - public function send_message($screenname, $body) { - $this->enqueue_outgoing_raw(array('to' => $screenname, 'message' => $body)); + public function sendMessage($screenname, $body) { + $this->enqueueOutgoingRaw(array('to' => $screenname, 'message' => $body)); return true; } @@ -157,8 +172,8 @@ class MsnPlugin extends ImPlugin { * @param array $data Data * @return true if processing completed, false if message should be reprocessed */ - public function receive_raw_message($data) { - $this->handle_incoming($data['sender'], $data['message']); + public function receiveRawMessage($data) { + $this->handleIncoming($data['sender'], $data['message']); return true; } @@ -183,7 +198,7 @@ class MsnPlugin extends ImPlugin { /** * Get plugin information - * + * * @param array $versions array to insert information into * @return void */