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