]> git.mxchange.org Git - friendica.git/blobdiff - include/message.php
Improved type detection
[friendica.git] / include / message.php
index 0f4b53c626964a8122b1494032a000326f94990b..d6b1601110e9bb58f06cbd853e140d5f41e257d6 100644 (file)
@@ -1,17 +1,17 @@
 <?php
 
-       // send a private message
-
-
+// send a private message
 
+use Friendica\App;
+use Friendica\Core\System;
 
 function send_message($recipient=0, $body='', $subject='', $replyto=''){
 
        $a = get_app();
 
-       if(! $recipient) return -1;
+       if (! $recipient) return -1;
 
-       if(! strlen($subject))
+       if (! strlen($subject))
                $subject = t('[no subject]');
 
        $me = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
@@ -22,30 +22,30 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
                        intval(local_user())
        );
 
-       if(! (count($me) && (count($contact)))) {
+       if (! (count($me) && (count($contact)))) {
                return -2;
        }
 
        $guid = get_guid(32);
-       $uri = 'urn:X-dfrn:' . $a->get_baseurl() . ':' . local_user() . ':' . $guid;
+       $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
 
        $convid = 0;
        $reply = false;
 
        // look for any existing conversation structure
 
-       if(strlen($replyto)) {
+       if (strlen($replyto)) {
                $reply = true;
                $r = q("select convid from mail where uid = %d and ( uri = '%s' or `parent-uri` = '%s' ) limit 1",
                        intval(local_user()),
                        dbesc($replyto),
                        dbesc($replyto)
                );
-               if(count($r))
+               if (dbm::is_result($r))
                        $convid = $r[0]['convid'];
        }
 
-       if(! $convid) {
+       if (! $convid) {
 
                // create a new conversation
 
@@ -53,37 +53,29 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
                $recip_host = substr($recip_host,0,strpos($recip_host,'/'));
 
                $recip_handle = (($contact[0]['addr']) ? $contact[0]['addr'] : $contact[0]['nick'] . '@' . $recip_host);
-               $sender_handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
+               $sender_handle = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(),'://') + 3);
 
                $conv_guid = get_guid(32);
                $convuri = $recip_handle.':'.$conv_guid;
 
                $handles = $recip_handle . ';' . $sender_handle;
 
-               $r = q("insert into conv (uid,guid,creator,created,updated,subject,recips) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
-                       intval(local_user()),
-                       dbesc($conv_guid),
-                       dbesc($sender_handle),
-                       dbesc(datetime_convert()),
-                       dbesc(datetime_convert()),
-                       dbesc($subject),
-                       dbesc($handles)
-               );
+               $fields = array('uid' => local_user(), 'guid' => $conv_guid, 'creator' => $sender_handle,
+                               'created' => datetime_convert(), 'updated' => datetime_convert(),
+                               'subject' => $subject, 'recips' => $handles);
+               $r = dba::insert('conv', $fields);
 
-               $r = q("select * from conv where guid = '%s' and uid = %d limit 1",
-                       dbesc($conv_guid),
-                       intval(local_user())
-               );
-               if(count($r))
-                       $convid = $r[0]['id'];
+               $r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => local_user()), array('limit' => 1));
+               if (dbm::is_result($r))
+                       $convid = $r['id'];
        }
 
-       if(! $convid) {
+       if (! $convid) {
                logger('send message: conversation not found.');
                return -4;
        }
 
-       if(! strlen($replyto)) {
+       if (! strlen($replyto)) {
                $replyto = $convuri;
        }
 
@@ -109,11 +101,11 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
        );
 
 
-       $r = q("SELECT * FROM `mail` WHERE `uri` = '%s' and `uid` = %d LIMIT 1",
+       $r = q("SELECT * FROM `mail` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
                dbesc($uri),
                intval(local_user())
        );
-       if(count($r))
+       if (dbm::is_result($r))
                $post_id = $r[0]['id'];
 
        /**
@@ -130,12 +122,13 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
 
        $match = null;
 
-       if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) {
+       if (preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) {
                $images = $match[1];
-               if(count($images)) {
-                       foreach($images as $image) {
-                               if(! stristr($image,$a->get_baseurl() . '/photo/'))
+               if (count($images)) {
+                       foreach ($images as $image) {
+                               if (! stristr($image,System::baseUrl() . '/photo/')) {
                                        continue;
+                               }
                                $image_uri = substr($image,strrpos($image,'/') + 1);
                                $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
                                $r = q("UPDATE `photo` SET `allow_cid` = '%s'
@@ -149,8 +142,8 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
                }
        }
 
-       if($post_id) {
-               proc_run('php',"include/notifier.php","mail","$post_id");
+       if ($post_id) {
+               proc_run(PRIORITY_HIGH, "include/notifier.php", "mail", $post_id);
                return intval($post_id);
        } else {
                return -3;
@@ -158,36 +151,33 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
 
 }
 
-
-
-
-
 function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
 
-       $a = get_app();
-
-
-       if(! $recipient) return -1;
+       if (! $recipient) {
+               return -1;
+       }
 
-       if(! strlen($subject))
+       if (! strlen($subject)) {
                $subject = t('[no subject]');
+       }
 
        $guid = get_guid(32);
-       $uri = 'urn:X-dfrn:' . $a->get_baseurl() . ':' . local_user() . ':' . $guid;
+       $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
 
        $convid = 0;
        $reply = false;
 
-       require_once('include/Scrape.php');
+       require_once 'include/probe.php';
 
        $me = probe_url($replyto);
 
-       if(! $me['name'])
+       if (! $me['name']) {
                return -2;
+       }
 
        $conv_guid = get_guid(32);
 
-       $recip_handle = $recipient['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
+       $recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(),'://') + 3);
 
        $sender_nick = basename($replyto);
        $sender_host = substr($replyto,strpos($replyto,'://')+3);
@@ -196,28 +186,19 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
 
        $handles = $recip_handle . ';' . $sender_handle;
 
-       $r = q("insert into conv (uid,guid,creator,created,updated,subject,recips) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
-               intval($recipient['uid']),
-               dbesc($conv_guid),
-               dbesc($sender_handle),
-               dbesc(datetime_convert()),
-               dbesc(datetime_convert()),
-               dbesc($subject),
-               dbesc($handles)
-       );
+       $fields = array('uid' => $recipient['uid'], 'guid' => $conv_guid, 'creator' => $sender_handle,
+                       'created' => datetime_convert(), 'updated' => datetime_convert(),
+                       'subject' => $subject, 'recips' => $handles);
+       $r = dba::insert('conv', $fields);
 
-       $r = q("select * from conv where guid = '%s' and uid = %d limit 1",
-               dbesc($conv_guid),
-               intval($recipient['uid'])
-       );
-       if(count($r))
-               $convid = $r[0]['id'];
-
-       if(! $convid) {
+       $r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => $recipient['uid']), array('limit' => 1));
+       if (!dbm::is_result($r)) {
                logger('send message: conversation not found.');
                return -4;
        }
 
+       $convid = $r['id'];
+
        $r = q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`,
                `contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`, `unknown`)
                VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s', %d )",