use Friendica\Content\Nav;
use Friendica\Content\Smilies;
use Friendica\Content\Text\BBCode;
+use Friendica\Core\Acl;
use Friendica\Core\L10n;
use Friendica\Core\System;
use Friendica\Database\DBM;
$preid = $r[0]['id'];
$preselect = [$preid];
} else {
- $preselect = false;
+ $preselect = [];
}
}
$prefill = $preselect ? $prename : '';
// the ugly select box
- $select = contact_select('messageto', 'message-to-select', $preselect, 4, true, false, false, 10);
+ $select = Acl::getMessageContactSelectHTML('messageto', 'message-to-select', $preselect, 4, 10);
$tpl = get_markup_template('prv_message.tpl');
$o .= replace_macros($tpl, [
*\r
* @param string $selname Name attribute of the select input tag\r
* @param string $selclass Class attribute of the select input tag\r
- * @param array $preselected Contact ID that should be already selected\r
+ * @param array $preselected Contact IDs that should be already selected\r
* @param int $size Length of the select box\r
- * @param bool $privmail\r
- * @param bool $celeb\r
- * @param bool $privatenet\r
* @param int $tabindex Select input tag tabindex attribute\r
* @return string\r
*/\r
- public static function getMessageContactSelectHTML(\r
- $selname, $selclass, array $preselected = [], $size = 4, $privmail = false, $celeb = false, $privatenet = false,\r
- $tabindex = null)\r
+ public static function getMessageContactSelectHTML($selname, $selclass, array $preselected = [], $size = 4, $tabindex = null)\r
{\r
$a = self::getApp();\r
\r
\r
// When used for private messages, we limit correspondence to mutual DFRN/Friendica friends and the selector\r
// to one recipient. By default our selector allows multiple selects amongst all contacts.\r
-\r
- $sql_extra = '';\r
-\r
- if ($privmail || $celeb) {\r
- $sql_extra .= sprintf(" AND `rel` = %d ", intval(CONTACT_IS_FRIEND));\r
- }\r
-\r
- if ($privmail) {\r
- $sql_extra .= sprintf(" AND `network` IN ('%s' , '%s') ", NETWORK_DFRN, NETWORK_DIASPORA);\r
- } elseif ($privatenet) {\r
- $sql_extra .= sprintf(" AND `network` IN ('%s' , '%s', '%s', '%s') ", NETWORK_DFRN, NETWORK_MAIL, NETWORK_FACEBOOK,\r
- NETWORK_DIASPORA);\r
- }\r
+ $sql_extra = sprintf(" AND `rel` = %d ", intval(CONTACT_IS_FRIEND));\r
+ $sql_extra .= sprintf(" AND `network` IN ('%s' , '%s') ", NETWORK_DFRN, NETWORK_DIASPORA);\r
\r
$tabindex_attr = !empty($tabindex) ? ' tabindex="' . intval($tabindex) . '"' : '';\r
\r
- if ($privmail && $preselected) {\r
+ $hidepreselected = '';\r
+ if ($preselected) {\r
$sql_extra .= " AND `id` IN (" . implode(",", $preselected) . ")";\r
$hidepreselected = ' style="display: none;"';\r
- } else {\r
- $hidepreselected = '';\r
}\r
\r
- if ($privmail) {\r
- $o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"$size\"$tabindex_attr$hidepreselected>\r\n";\r
- } else {\r
- $o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\"$tabindex_attr>\r\n";\r
- }\r
+ $o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"$size\"$tabindex_attr$hidepreselected>\r\n";\r
\r
$stmt = dba::p("SELECT `id`, `name`, `url`, `network` FROM `contact`\r
WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `notify` != ''\r
$arr = ['contact' => $contacts, 'entry' => $o];\r
\r
// e.g. 'network_pre_contact_deny', 'profile_pre_contact_allow'\r
-\r
Addon::callHooks($a->module . '_pre_' . $selname, $arr);\r
\r
$receiverlist = [];\r
$selected = '';\r
}\r
\r
- if ($privmail) {\r
- $trimmed = Protocol::formatMention($contact['url'], $contact['name']);\r
- } else {\r
- $trimmed = mb_substr($contact['name'], 0, 20);\r
- }\r
+ $trimmed = Protocol::formatMention($contact['url'], $contact['name']);\r
\r
$receiverlist[] = $trimmed;\r
\r
\r
$o .= '</select>' . PHP_EOL;\r
\r
- if ($privmail && $preselected) {\r
+ if ($preselected) {\r
$o .= implode(', ', $receiverlist);\r
}\r
\r