X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fmessage.php;h=4f680aa0b7b7ebd448eecb65c3df326a1d8c6f77;hb=bd89b8262f11b24b90c156359759f185b3844d68;hp=8efe825cd96795faff5c3a566eef723ce5b6d728;hpb=f00068051195baad74d1cca13b7f81a7dbdc4467;p=friendica.git diff --git a/mod/message.php b/mod/message.php index 8efe825cd9..4f680aa0b7 100644 --- a/mod/message.php +++ b/mod/message.php @@ -1,23 +1,37 @@ . + * */ use Friendica\App; use Friendica\Content\Nav; use Friendica\Content\Pager; -use Friendica\Content\Smilies; use Friendica\Content\Text\BBCode; use Friendica\Core\ACL; -use Friendica\Core\L10n; use Friendica\Core\Renderer; -use Friendica\Core\System; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Mail; +use Friendica\Model\Notify\Type; use Friendica\Module\Security\Login; use Friendica\Util\DateTimeFormat; -use Friendica\Util\Proxy as ProxyUtils; use Friendica\Util\Strings; use Friendica\Util\Temporal; @@ -30,22 +44,22 @@ function message_init(App $a) } $new = [ - 'label' => L10n::t('New Message'), + 'label' => DI::l10n()->t('New Message'), 'url' => 'message/new', 'sel' => $a->argc > 1 && $a->argv[1] == 'new', 'accesskey' => 'm', ]; $tpl = Renderer::getMarkupTemplate('message_side.tpl'); - $a->page['aside'] = Renderer::replaceMacros($tpl, [ + DI::page()['aside'] = Renderer::replaceMacros($tpl, [ '$tabs' => $tabs, '$new' => $new, ]); - $base = System::baseUrl(); + $base = DI::baseUrl(); $head_tpl = Renderer::getMarkupTemplate('message-head.tpl'); - $a->page['htmlhead'] .= Renderer::replaceMacros($head_tpl, [ - '$baseurl' => System::baseUrl(true), + DI::page()['htmlhead'] .= Renderer::replaceMacros($head_tpl, [ + '$baseurl' => DI::baseUrl()->get(true), '$base' => $base ]); } @@ -53,34 +67,32 @@ function message_init(App $a) function message_post(App $a) { if (!local_user()) { - notice(L10n::t('Permission denied.') . EOL); + notice(DI::l10n()->t('Permission denied.')); return; } $replyto = !empty($_REQUEST['replyto']) ? Strings::escapeTags(trim($_REQUEST['replyto'])) : ''; $subject = !empty($_REQUEST['subject']) ? Strings::escapeTags(trim($_REQUEST['subject'])) : ''; $body = !empty($_REQUEST['body']) ? Strings::escapeHtml(trim($_REQUEST['body'])) : ''; - $recipient = !empty($_REQUEST['messageto']) ? intval($_REQUEST['messageto']) : 0; + $recipient = !empty($_REQUEST['recipient']) ? intval($_REQUEST['recipient']) : 0; $ret = Mail::send($recipient, $body, $subject, $replyto); $norecip = false; switch ($ret) { case -1: - notice(L10n::t('No recipient selected.') . EOL); + notice(DI::l10n()->t('No recipient selected.')); $norecip = true; break; case -2: - notice(L10n::t('Unable to locate contact information.') . EOL); + notice(DI::l10n()->t('Unable to locate contact information.')); break; case -3: - notice(L10n::t('Message could not be sent.') . EOL); + notice(DI::l10n()->t('Message could not be sent.')); break; case -4: - notice(L10n::t('Message collection failure.') . EOL); + notice(DI::l10n()->t('Message collection failure.')); break; - default: - info(L10n::t('Message sent.') . EOL); } // fake it to go back to the input form if no recipient listed @@ -88,7 +100,7 @@ function message_post(App $a) $a->argc = 2; $a->argv[1] = 'new'; } else { - $a->internalRedirect($a->cmd . '/' . $ret); + DI::baseUrl()->redirect(DI::args()->getCommand() . '/' . $ret); } } @@ -98,29 +110,29 @@ function message_content(App $a) Nav::setSelected('messages'); if (!local_user()) { - notice(L10n::t('Permission denied.') . EOL); + notice(DI::l10n()->t('Permission denied.')); return Login::form(); } - $myprofile = System::baseUrl() . '/profile/' . $a->user['nickname']; + $myprofile = DI::baseUrl() . '/profile/' . $a->user['nickname']; $tpl = Renderer::getMarkupTemplate('mail_head.tpl'); if ($a->argc > 1 && $a->argv[1] == 'new') { $button = [ - 'label' => L10n::t('Discard'), + 'label' => DI::l10n()->t('Discard'), 'url' => '/message', 'sel' => 'close', ]; } else { $button = [ - 'label' => L10n::t('New Message'), + 'label' => DI::l10n()->t('New Message'), 'url' => '/message/new', 'sel' => 'new', 'accesskey' => 'm', ]; } $header = Renderer::replaceMacros($tpl, [ - '$messages' => L10n::t('Messages'), + '$messages' => DI::l10n()->t('Messages'), '$button' => $button, ]); @@ -129,55 +141,24 @@ function message_content(App $a) return; } - // Check if we should do HTML-based delete confirmation - if (!empty($_REQUEST['confirm'])) { - //
can't take arguments in its "action" parameter - // so add any arguments as hidden inputs - $query = explode_querystring($a->query_string); - $inputs = []; - foreach ($query['args'] as $arg) { - if (strpos($arg, 'confirm=') === false) { - $arg_parts = explode('=', $arg); - $inputs[] = ['name' => $arg_parts[0], 'value' => $arg_parts[1]]; - } - } - - //$a->page['aside'] = ''; - return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ - '$method' => 'get', - '$message' => L10n::t('Do you really want to delete this message?'), - '$extra_inputs' => $inputs, - '$confirm' => L10n::t('Yes'), - '$confirm_url' => $query['base'], - '$confirm_name' => 'confirmed', - '$cancel' => L10n::t('Cancel'), - ]); - } - - // Now check how the user responded to the confirmation query - if (!empty($_REQUEST['canceled'])) { - $a->internalRedirect('message'); - } - $cmd = $a->argv[1]; if ($cmd === 'drop') { $message = DBA::selectFirst('mail', ['convid'], ['id' => $a->argv[2], 'uid' => local_user()]); if(!DBA::isResult($message)){ - info(L10n::t('Conversation not found.') . EOL); - $a->internalRedirect('message'); + notice(DI::l10n()->t('Conversation not found.')); + DI::baseUrl()->redirect('message'); } - if (DBA::delete('mail', ['id' => $a->argv[2], 'uid' => local_user()])) { - info(L10n::t('Message deleted.') . EOL); + if (!DBA::delete('mail', ['id' => $a->argv[2], 'uid' => local_user()])) { + notice(DI::l10n()->t('Message was not deleted.')); } $conversation = DBA::selectFirst('mail', ['id'], ['convid' => $message['convid'], 'uid' => local_user()]); if(!DBA::isResult($conversation)){ - info(L10n::t('Conversation removed.') . EOL); - $a->internalRedirect('message'); + DI::baseUrl()->redirect('message'); } - $a->internalRedirect('message/' . $conversation['id'] ); + DI::baseUrl()->redirect('message/' . $conversation['id'] ); } else { $r = q("SELECT `parent-uri`,`convid` FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($a->argv[2]), @@ -186,11 +167,11 @@ function message_content(App $a) if (DBA::isResult($r)) { $parent = $r[0]['parent-uri']; - if (DBA::delete('mail', ['parent-uri' => $parent, 'uid' => local_user()])) { - info(L10n::t('Conversation removed.') . EOL); + if (!DBA::delete('mail', ['parent-uri' => $parent, 'uid' => local_user()])) { + notice(DI::l10n()->t('Conversation was not removed.')); } } - $a->internalRedirect('message'); + DI::baseUrl()->redirect('message'); } } @@ -198,73 +179,37 @@ function message_content(App $a) $o .= $header; $tpl = Renderer::getMarkupTemplate('msg-header.tpl'); - $a->page['htmlhead'] .= Renderer::replaceMacros($tpl, [ - '$baseurl' => System::baseUrl(true), + DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ + '$baseurl' => DI::baseUrl()->get(true), '$nickname' => $a->user['nickname'], - '$linkurl' => L10n::t('Please enter a link URL:') + '$linkurl' => DI::l10n()->t('Please enter a link URL:') ]); - $preselect = isset($a->argv[2]) ? [$a->argv[2]] : []; - - $prename = $preurl = $preid = ''; - - if ($preselect) { - $r = q("SELECT `name`, `url`, `id` FROM `contact` WHERE `uid` = %d AND `id` = %d LIMIT 1", - intval(local_user()), - intval($a->argv[2]) - ); - if (!DBA::isResult($r)) { - $r = q("SELECT `name`, `url`, `id` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' LIMIT 1", - intval(local_user()), - DBA::escape(Strings::normaliseLink(base64_decode($a->argv[2]))) - ); - } - - if (!DBA::isResult($r)) { - $r = q("SELECT `name`, `url`, `id` FROM `contact` WHERE `uid` = %d AND `addr` = '%s' LIMIT 1", - intval(local_user()), - DBA::escape(base64_decode($a->argv[2])) - ); - } - - if (DBA::isResult($r)) { - $prename = $r[0]['name']; - $preid = $r[0]['id']; - $preselect = [$preid]; - } else { - $preselect = []; - } - } - - $prefill = $preselect ? $prename : ''; + $recipientId = $a->argv[2] ?? null; - // the ugly select box - $select = ACL::getMessageContactSelectHTML('messageto', 'message-to-select', $preselect, 4, 10); + $select = ACL::getMessageContactSelectHTML($recipientId); $tpl = Renderer::getMarkupTemplate('prv_message.tpl'); $o .= Renderer::replaceMacros($tpl, [ - '$header' => L10n::t('Send Private Message'), - '$to' => L10n::t('To:'), - '$showinputs' => 'true', - '$prefill' => $prefill, - '$preid' => $preid, - '$subject' => L10n::t('Subject:'), + '$header' => DI::l10n()->t('Send Private Message'), + '$to' => DI::l10n()->t('To:'), + '$subject' => DI::l10n()->t('Subject:'), '$subjtxt' => $_REQUEST['subject'] ?? '', '$text' => $_REQUEST['body'] ?? '', '$readonly' => '', - '$yourmessage'=> L10n::t('Your message:'), + '$yourmessage'=> DI::l10n()->t('Your message:'), '$select' => $select, '$parent' => '', - '$upload' => L10n::t('Upload photo'), - '$insert' => L10n::t('Insert web link'), - '$wait' => L10n::t('Please wait'), - '$submit' => L10n::t('Submit') + '$upload' => DI::l10n()->t('Upload photo'), + '$insert' => DI::l10n()->t('Insert web link'), + '$wait' => DI::l10n()->t('Please wait'), + '$submit' => DI::l10n()->t('Submit') ]); return $o; } - $_SESSION['return_path'] = $a->query_string; + $_SESSION['return_path'] = DI::args()->getQueryString(); if ($a->argc == 1) { @@ -281,12 +226,12 @@ function message_content(App $a) $total = $r[0]['total']; } - $pager = new Pager($a->query_string); + $pager = new Pager(DI::l10n(), DI::args()->getQueryString()); $r = get_messages(local_user(), $pager->getStart(), $pager->getItemsPerPage()); if (!DBA::isResult($r)) { - info(L10n::t('No messages.') . EOL); + notice(DI::l10n()->t('No messages.')); return $o; } @@ -337,27 +282,21 @@ function message_content(App $a) $messages = DBA::toArray($messages_stmt); DBA::update('mail', ['seen' => 1], ['parent-uri' => $message['parent-uri'], 'uid' => local_user()]); - - if ($message['convid']) { - // Clear Diaspora private message notifications - DBA::update('notify', ['seen' => 1], ['type' => NOTIFY_MAIL, 'parent' => $message['convid'], 'uid' => local_user()]); - } - // Clear DFRN private message notifications - DBA::update('notify', ['seen' => 1], ['type' => NOTIFY_MAIL, 'parent' => $message['parent-uri'], 'uid' => local_user()]); + DBA::update('notify', ['seen' => 1], ['type' => Type::MAIL, 'parent' => $message['id'], 'uid' => local_user()]); } else { $messages = false; } if (!DBA::isResult($messages)) { - notice(L10n::t('Message not available.') . EOL); + notice(DI::l10n()->t('Message not available.')); return $o; } $tpl = Renderer::getMarkupTemplate('msg-header.tpl'); - $a->page['htmlhead'] .= Renderer::replaceMacros($tpl, [ - '$baseurl' => System::baseUrl(true), + DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ + '$baseurl' => DI::baseUrl()->get(true), '$nickname' => $a->user['nickname'], - '$linkurl' => L10n::t('Please enter a link URL:') + '$linkurl' => DI::l10n()->t('Please enter a link URL:') ]); $mails = []; @@ -387,12 +326,8 @@ function message_content(App $a) $body_e = BBCode::convert($message['body']); $to_name_e = $message['name']; - $contact = Contact::getDetailsByURL($message['from-url']); - if (isset($contact["thumb"])) { - $from_photo = $contact["thumb"]; - } else { - $from_photo = $message['from-photo']; - } + $contact = Contact::getByURL($message['from-url'], false, ['thumb', 'addr', 'id', 'avatar']); + $from_photo = Contact::getThumb($contact, $message['from-photo']); $mails[] = [ 'id' => $message['id'], @@ -400,19 +335,19 @@ function message_content(App $a) 'from_url' => $from_url, 'from_addr' => $contact['addr'], 'sparkle' => $sparkle, - 'from_photo' => ProxyUtils::proxifyUrl($from_photo, false, ProxyUtils::SIZE_THUMB), + 'from_photo' => $from_photo, 'subject' => $subject_e, 'body' => $body_e, - 'delete' => L10n::t('Delete message'), + 'delete' => DI::l10n()->t('Delete message'), 'to_name' => $to_name_e, - 'date' => DateTimeFormat::local($message['created'], L10n::t('D, d M Y - g:i A')), + 'date' => DateTimeFormat::local($message['created'], DI::l10n()->t('D, d M Y - g:i A')), 'ago' => Temporal::getRelativeDate($message['created']), ]; $seen = $message['seen']; } - $select = $message['name'] . ''; + $select = $message['name'] . ''; $parent = ''; $tpl = Renderer::getMarkupTemplate('mail_display.tpl'); @@ -420,26 +355,25 @@ function message_content(App $a) '$thread_id' => $a->argv[1], '$thread_subject' => $message['title'], '$thread_seen' => $seen, - '$delete' => L10n::t('Delete conversation'), + '$delete' => DI::l10n()->t('Delete conversation'), '$canreply' => (($unknown) ? false : '1'), - '$unknown_text' => L10n::t("No secure communications available. You may be able to respond from the sender's profile page."), + '$unknown_text' => DI::l10n()->t("No secure communications available. You may be able to respond from the sender's profile page."), '$mails' => $mails, // reply - '$header' => L10n::t('Send Reply'), - '$to' => L10n::t('To:'), - '$showinputs' => '', - '$subject' => L10n::t('Subject:'), + '$header' => DI::l10n()->t('Send Reply'), + '$to' => DI::l10n()->t('To:'), + '$subject' => DI::l10n()->t('Subject:'), '$subjtxt' => $message['title'], '$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', - '$yourmessage' => L10n::t('Your message:'), + '$yourmessage' => DI::l10n()->t('Your message:'), '$text' => '', '$select' => $select, '$parent' => $parent, - '$upload' => L10n::t('Upload photo'), - '$insert' => L10n::t('Insert web link'), - '$submit' => L10n::t('Submit'), - '$wait' => L10n::t('Please wait') + '$upload' => DI::l10n()->t('Upload photo'), + '$insert' => DI::l10n()->t('Insert web link'), + '$submit' => DI::l10n()->t('Submit'), + '$wait' => DI::l10n()->t('Please wait') ]); return $o; @@ -500,31 +434,27 @@ function get_messages($uid, $start, $limit) function render_messages(array $msg, $t) { - $a = \get_app(); + $a = DI::app(); $tpl = Renderer::getMarkupTemplate($t); $rslt = ''; - $myprofile = System::baseUrl() . '/profile/' . $a->user['nickname']; + $myprofile = DI::baseUrl() . '/profile/' . $a->user['nickname']; foreach ($msg as $rr) { if ($rr['unknown']) { - $participants = L10n::t("Unknown sender - %s", $rr['from-name']); + $participants = DI::l10n()->t("Unknown sender - %s", $rr['from-name']); } elseif (Strings::compareLink($rr['from-url'], $myprofile)) { - $participants = L10n::t("You and %s", $rr['name']); + $participants = DI::l10n()->t("You and %s", $rr['name']); } else { - $participants = L10n::t("%s and You", $rr['from-name']); + $participants = DI::l10n()->t("%s and You", $rr['from-name']); } $body_e = $rr['body']; $to_name_e = $rr['name']; - $contact = Contact::getDetailsByURL($rr['url']); - if (isset($contact["thumb"])) { - $from_photo = $contact["thumb"]; - } else { - $from_photo = (($rr['thumb']) ? $rr['thumb'] : $rr['from-photo']); - } + $contact = Contact::getByURL($rr['url'], false, ['thumb', 'addr', 'id', 'avatar']); + $from_photo = Contact::getThumb($contact, $rr['thumb'] ?: $rr['from-photo']); $rslt .= Renderer::replaceMacros($tpl, [ '$id' => $rr['id'], @@ -532,15 +462,15 @@ function render_messages(array $msg, $t) '$from_url' => Contact::magicLink($rr['url']), '$from_addr' => $contact['addr'] ?? '', '$sparkle' => ' sparkle', - '$from_photo' => ProxyUtils::proxifyUrl($from_photo, false, ProxyUtils::SIZE_THUMB), + '$from_photo' => $from_photo, '$subject' => $rr['title'], - '$delete' => L10n::t('Delete conversation'), + '$delete' => DI::l10n()->t('Delete conversation'), '$body' => $body_e, '$to_name' => $to_name_e, - '$date' => DateTimeFormat::local($rr['mailcreated'], L10n::t('D, d M Y - g:i A')), + '$date' => DateTimeFormat::local($rr['mailcreated'], DI::l10n()->t('D, d M Y - g:i A')), '$ago' => Temporal::getRelativeDate($rr['mailcreated']), '$seen' => $rr['mailseen'], - '$count' => L10n::tt('%d message', '%d messages', $rr['count']), + '$count' => DI::l10n()->tt('%d message', '%d messages', $rr['count']), ]); }