X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fmessage.php;h=844a803c090243ec733ae8a07e8741c831a3f923;hb=380e85e0c5eb74c602ec6e812fa74cf533a8a9aa;hp=59146214164f92c92094eacc22bf563308e436dd;hpb=7e193cfb7a71c310c42a1e1deb796b457b893a36;p=friendica.git diff --git a/include/message.php b/include/message.php index 5914621416..844a803c09 100644 --- a/include/message.php +++ b/include/message.php @@ -4,30 +4,35 @@ use Friendica\App; use Friendica\Core\System; +use Friendica\Core\Worker; +use Friendica\Database\DBM; -function send_message($recipient=0, $body='', $subject='', $replyto=''){ - +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", intval(local_user()) ); $contact = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($recipient), - intval(local_user()) + intval($recipient), + intval(local_user()) ); - if (! (count($me) && (count($contact)))) { + if (!(count($me) && (count($contact)))) { return -2; } $guid = get_guid(32); - $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; + $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; $convid = 0; $reply = false; @@ -36,51 +41,50 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ if (strlen($replyto)) { $reply = true; - $r = q("select convid from mail where uid = %d and ( uri = '%s' or `parent-uri` = '%s' ) limit 1", + $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 (dbm::is_result($r)) + if (DBM::is_result($r)) { $convid = $r[0]['convid']; + } } - if (! $convid) { - + if (!$convid) { // create a new conversation - - $recip_host = substr($contact[0]['url'],strpos($contact[0]['url'],'://')+3); - $recip_host = substr($recip_host,0,strpos($recip_host,'/')); + $recip_host = substr($contact[0]['url'], strpos($contact[0]['url'], '://') + 3); + $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(System::baseUrl(), strpos(System::baseUrl(),'://') + 3); + $sender_handle = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); $conv_guid = get_guid(32); - $convuri = $recip_handle.':'.$conv_guid; + $convuri = $recip_handle . ':' . $conv_guid; $handles = $recip_handle . ';' . $sender_handle; $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); + 'created' => datetime_convert(), 'updated' => datetime_convert(), + 'subject' => $subject, 'recips' => $handles); + dba::insert('conv', $fields); - $r = dba::select('conv', array('id', array('guid' => $conv_guid, 'uid' => local_user())), array('limit' => 1)); - if (dbm::is_result($r)) + $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; } - - $r = q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`, + q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`, `contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`) VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s' )", intval(local_user()), @@ -105,8 +109,9 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ dbesc($uri), intval(local_user()) ); - if (dbm::is_result($r)) + if (DBM::is_result($r)) { $post_id = $r[0]['id']; + } /** * @@ -119,19 +124,17 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ * post and set them to the same permissions as the post itself. * */ - $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,System::baseUrl() . '/photo/')) { + 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' + $image_uri = substr($image, strrpos($image, '/') + 1); + $image_uri = substr($image_uri, 0, strpos($image_uri, '-')); + q("UPDATE `photo` SET `allow_cid` = '%s' WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ", dbesc('<' . $recipient . '>'), dbesc($image_uri), @@ -143,63 +146,57 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ } if ($post_id) { - proc_run(PRIORITY_HIGH, "include/notifier.php", "mail", $post_id); + Worker::add(PRIORITY_HIGH, "Notifier", "mail", $post_id); return intval($post_id); } else { return -3; } - } -function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){ - - if (! $recipient) { +function send_wallmessage($recipient = '', $body = '', $subject = '', $replyto = '') +{ + if (!$recipient) { return -1; } - if (! strlen($subject)) { + if (!strlen($subject)) { $subject = t('[no subject]'); } $guid = get_guid(32); - $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; - - $convid = 0; - $reply = false; - - require_once 'include/probe.php'; + $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; - $me = probe_url($replyto); + $me = Probe::uri($replyto); - if (! $me['name']) { + if (!$me['name']) { return -2; } $conv_guid = get_guid(32); - $recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(),'://') + 3); + $recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3); $sender_nick = basename($replyto); - $sender_host = substr($replyto,strpos($replyto,'://')+3); - $sender_host = substr($sender_host,0,strpos($sender_host,'/')); + $sender_host = substr($replyto, strpos($replyto, '://') + 3); + $sender_host = substr($sender_host, 0, strpos($sender_host, '/')); $sender_handle = $sender_nick . '@' . $sender_host; $handles = $recip_handle . ';' . $sender_handle; $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); + 'created' => datetime_convert(), 'updated' => datetime_convert(), + 'subject' => $subject, 'recips' => $handles); + dba::insert('conv', $fields); - $r = dba::select('conv', array('id', array('guid' => $conv_guid, 'uid' => $recipient['uid'])), array('limit' => 1)); - if (!dbm::is_result($r)) { + $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`, + 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 )", intval($recipient['uid']), @@ -221,5 +218,4 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){ ); return 0; - }