X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fmessage.php;h=4404163dc3f27e492721ac7759146468239b931f;hb=0fe832ef8aeafa1ddba793a8b084005cf070f1f4;hp=dcc1fbc12eba1e86a0ada8da833d0a4a4df4bc8f;hpb=4ca68c7af05b7b41e1b04936b9080802ca2b7716;p=friendica.git diff --git a/include/message.php b/include/message.php index dcc1fbc12e..4404163dc3 100644 --- a/include/message.php +++ b/include/message.php @@ -7,29 +7,32 @@ 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; @@ -38,51 +41,48 @@ 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); - - $r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => local_user()), array('limit' => 1)); - if (DBM::is_result($r)) - $convid = $r['id']; + 'created' => datetime_convert(), 'updated' => datetime_convert(), + 'subject' => $subject, 'recips' => $handles); + if (dba::insert('conv', $fields)) { + $convid = dba::lastInsertId(); + } } - 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`, + $post_id = null; + $result = 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()), @@ -101,14 +101,9 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ dbesc($replyto), datetime_convert() ); - - - $r = q("SELECT * FROM `mail` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", - dbesc($uri), - intval(local_user()) - ); - if (DBM::is_result($r)) - $post_id = $r[0]['id']; + if ($result) { + $post_id = dba::lastInsertId(); + } /** * @@ -121,19 +116,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), @@ -145,61 +138,57 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ } if ($post_id) { - Worker::add(PRIORITY_HIGH, "notifier", "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; + $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; $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; + $convid = null; $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 = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => $recipient['uid']), array('limit' => 1)); - if (!DBM::is_result($r)) { + 'created' => datetime_convert(), 'updated' => datetime_convert(), + 'subject' => $subject, 'recips' => $handles); + if (dba::insert('conv', $fields)) { + $convid = dba::lastInsertId(); + } + + if (!$convid) { 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 +210,4 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){ ); return 0; - }