From 848c09935ac3abb471e0e43962ac774e1b559e2b Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 27 Jan 2015 08:04:24 +0100 Subject: [PATCH] The contact list in mails now contains not only the name but also the address. --- include/acl_selectors.php | 30 +++++++++++++--------- include/bbcode.php | 11 ++++++++ mod/message.php | 54 +++++++++++++++++++-------------------- view/theme/vier/style.css | 4 +++ 4 files changed, 60 insertions(+), 39 deletions(-) diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 0a9b2c90ae..6137136305 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -35,11 +35,12 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) { $selected = " selected=\"selected\" "; else $selected = ''; + $trimmed = mb_substr($rr['name'],0,12); $o .= "\r\n"; } - + } $o .= "\r\n"; @@ -89,13 +90,13 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $networks = array('dfrn','mail','dspr'); else $networks = array('dfrn','face','mail','dspr','stat'); - break; + break; default: break; } } } - + $x = array('options' => $options, 'size' => $size, 'single' => $single, 'mutual' => $mutual, 'exclude' => $exclude, 'networks' => $networks); call_hooks('contact_select_options', $x); @@ -117,15 +118,15 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $str_nets = implode(',',$x['networks']); $sql_extra .= " AND `network` IN ( $str_nets ) "; } - + $tabindex = (x($options, 'tabindex') ? "tabindex=\"" . $options["tabindex"] . "\"" : ""); if($x['single']) $o .= "\r\n"; - $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` + $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != '' $sql_extra ORDER BY `name` ASC ", @@ -150,7 +151,7 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $o .= "\r\n"; } - + } $o .= "\r\n"; @@ -164,6 +165,8 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) { + require_once("include/bbcode.php"); + $a = get_app(); $o = ''; @@ -180,7 +183,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p if($privmail) { $sql_extra .= " AND `network` IN ( 'dfrn', 'dspr' ) "; } - elseif($privatenet) { + elseif($privatenet) { $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) "; } @@ -188,10 +191,10 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p if($privmail) $o .= "\r\n"; - $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` + $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != '' $sql_extra ORDER BY `name` ASC ", @@ -212,11 +215,14 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p else $selected = ''; - $trimmed = mb_substr($rr['name'],0,20); + if($privmail) + $trimmed = GetProfileUsername($rr['url'], $rr['name'], false); + else + $trimmed = mb_substr($rr['name'],0,20); $o .= "\r\n"; } - + } $o .= "\r\n"; diff --git a/include/bbcode.php b/include/bbcode.php index 639d90cf4b..c2ebf35e63 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -619,6 +619,17 @@ function GetProfileUsername($profile, $username, $compact = false, $getnetwork = return($username." (".$diaspora.")"); } + $red = preg_replace("=https?://(.*)/channel/(.*)=ism", "$2@$1", $profile); + if ($red != $profile) { + if ($getnetwork) + // red is identified as Diaspora - friendica can't connect directly to it + return(NETWORK_DIASPORA); + elseif ($compact) + return($red); + else + return($username." (".$red.")"); + } + $StatusnetHost = preg_replace("=https?://(.*)/user/(.*)=ism", "$1", $profile); if ($StatusnetHost != $profile) { $StatusnetUser = preg_replace("=https?://(.*)/user/(.*)=ism", "$2", $profile); diff --git a/mod/message.php b/mod/message.php index 0a54f9428d..178d99bba5 100644 --- a/mod/message.php +++ b/mod/message.php @@ -139,7 +139,7 @@ function item_redir_and_replace_images($body, $images, $cid) { for($i = 0; $i < count($images); $i++) { $search = '/\[url\=(.*?)\]\[!#saved_image' . $i . '#!\]\[\/url\]' . '/is'; - $replace = '[url=' . z_path() . '/redir/' . $cid + $replace = '[url=' . z_path() . '/redir/' . $cid . '?f=1&url=' . '$1' . '][!#saved_image' . $i . '#!][/url]' ; $img_end = strpos($origbody, '[!#saved_image' . $i . '#!][/url]') + strlen('[!#saved_image' . $i . '#!][/url]'); @@ -256,17 +256,17 @@ function message_content(&$a) { if($r) info( t('Conversation removed.') . EOL ); - } + } //goaway($a->get_baseurl(true) . '/message' ); goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']); - } - + } + } if(($a->argc > 1) && ($a->argv[1] === 'new')) { - + $o .= $header; - + /* $plaintext = false; if(intval(get_pconfig(local_user(),'system','plaintext'))) $plaintext = true;*/ @@ -282,7 +282,7 @@ function message_content(&$a) { '$nickname' => $a->user['nickname'], '$linkurl' => t('Please enter a link URL:') )); - + $tpl = get_markup_template('msg-end.tpl'); $a->page['end'] .= replace_macros($tpl, array( '$baseurl' => $a->get_baseurl(true), @@ -290,9 +290,9 @@ function message_content(&$a) { '$nickname' => $a->user['nickname'], '$linkurl' => t('Please enter a link URL:') )); - + $preselect = (isset($a->argv[2])?array($a->argv[2]):false); - + $prename = $preurl = $preid = ''; @@ -306,19 +306,19 @@ function message_content(&$a) { $preurl = $r[0]['url']; $preid = $r[0]['id']; } - } + } $prefill = (($preselect) ? $prename : ''); // the ugly select box - + $select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10); $tpl = get_markup_template('prv_message.tpl'); $o .= replace_macros($tpl,array( '$header' => t('Send Private Message'), '$to' => t('To:'), - '$showinputs' => 'true', + '$showinputs' => 'true', '$prefill' => $prefill, '$autocomp' => $autocomp, '$preid' => $preid, @@ -347,8 +347,8 @@ function message_content(&$a) { $o .= $header; - - $r = q("SELECT count(*) AS `total` FROM `mail` + + $r = q("SELECT count(*) AS `total` FROM `mail` WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `created` DESC", intval(local_user()), dbesc($myprofile) @@ -356,10 +356,10 @@ function message_content(&$a) { if(count($r)) $a->set_pager_total($r[0]['total']); - $r = q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`, + $r = q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`, `mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network`, count( * ) as count - FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` + FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` WHERE `mail`.`uid` = %d GROUP BY `parent-uri` ORDER BY `mailcreated` DESC LIMIT %d , %d ", intval(local_user()), // @@ -394,7 +394,7 @@ function message_content(&$a) { $body_e = $rr['body']; $to_name_e = $rr['name']; } - + $o .= replace_macros($tpl, array( '$id' => $rr['id'], '$from_name' => $partecipants, @@ -411,7 +411,7 @@ function message_content(&$a) { '$count' => sprintf( tt('%d message', '%d messages', $rr['count']), $rr['count']), )); } - $o .= paginate($a); + $o .= paginate($a); return $o; } @@ -423,13 +423,13 @@ function message_content(&$a) { if( local_user() && feature_enabled(local_user(),'richtext') ) $plaintext = false; - $r = q("SELECT `mail`.*, `contact`.`name`, `contact`.`url`, `contact`.`thumb` - FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` + $r = q("SELECT `mail`.*, `contact`.`name`, `contact`.`url`, `contact`.`thumb` + FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` WHERE `mail`.`uid` = %d AND `mail`.`id` = %d LIMIT 1", intval(local_user()), intval($a->argv[1]) ); - if(count($r)) { + if(count($r)) { $contact_id = $r[0]['contact-id']; $convid = $r[0]['convid']; @@ -438,10 +438,10 @@ function message_content(&$a) { $sql_extra = sprintf(" and ( `mail`.`parent-uri` = '%s' OR `mail`.`convid` = '%d' ) ", dbesc($r[0]['parent-uri']), intval($convid) - ); + ); - $messages = q("SELECT `mail`.*, `contact`.`name`, `contact`.`url`, `contact`.`thumb` - FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` + $messages = q("SELECT `mail`.*, `contact`.`name`, `contact`.`url`, `contact`.`thumb` + FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` WHERE `mail`.`uid` = %d $sql_extra ORDER BY `mail`.`created` ASC", intval(local_user()) ); @@ -522,7 +522,7 @@ function message_content(&$a) { 'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'), 'ago' => relative_date($message['created']), ); - + $seen = $message['seen']; } @@ -545,9 +545,9 @@ function message_content(&$a) { '$thread_seen' => $seen, '$delete' => t('Delete conversation'), '$canreply' => (($unknown) ? false : '1'), - '$unknown_text' => t("No secure communications available. You may be able to respond from the sender's profile page."), + '$unknown_text' => t("No secure communications available. You may be able to respond from the sender's profile page."), '$mails' => $mails, - + // reply '$header' => t('Send Reply'), '$to' => t('To:'), diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css index a3cc593d36..31f2a9fe49 100644 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@ -2243,6 +2243,10 @@ blockquote { #prof-separator { display: none;} */ +#message-to-select { + height: 150px; +} + #prvmail-upload { margin-left: 10px; }