email autocomplete

This commit is contained in:
friendica 2012-05-10 01:45:51 -07:00
parent 4a42414135
commit 774c51cc19
3 changed files with 69 additions and 18 deletions

View file

@ -25,8 +25,12 @@ function message_init(&$a) {
var a; var a;
a = $("#recip").autocomplete({ a = $("#recip").autocomplete({
serviceUrl: '$base/acl', serviceUrl: '$base/acl',
width: 350 width: 350,
onSelect: function(value,data) {
$("#recip-complete").val(data);
}
}); });
}); });
</script> </script>
@ -95,10 +99,6 @@ function message_content(&$a) {
$myprofile = $a->get_baseurl(true) . '/profile/' . $a->user['nickname']; $myprofile = $a->get_baseurl(true) . '/profile/' . $a->user['nickname'];
$tpl = get_markup_template('mail_head.tpl'); $tpl = get_markup_template('mail_head.tpl');
$header = replace_macros($tpl, array( $header = replace_macros($tpl, array(
'$messages' => t('Messages'), '$messages' => t('Messages'),
@ -173,27 +173,34 @@ function message_content(&$a) {
$preselect = (isset($a->argv[2])?array($a->argv[2]):false); $preselect = (isset($a->argv[2])?array($a->argv[2]):false);
if(defined('EMAIL_AUTOCOMP')) {
// here's where we want to do contact autocomplete $prename = $preurl = $preid = '';
// just figure out how to make it do the right thing
// pictures would be nice, but that didn't work when I tried.
// It sort of barely works, but needs help
// (the json backend is found in mod/acl.php)
$select = '<input type="text" id="recip" name="messageto" value="' . $preselect .'" />'; 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(count($r)) {
$prename = $r[0]['name'];
$preurl = $r[0]['url'];
$preid = $r[0]['id'];
} }
else { }
$prefill = (($preselect) ? $prename . ' [' . $preurl . ']' : '');
// the ugly select box // the ugly select box
$select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10); $select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10);
}
$tpl = get_markup_template('prv_message.tpl'); $tpl = get_markup_template('prv_message.tpl');
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$header' => t('Send Private Message'), '$header' => t('Send Private Message'),
'$to' => t('To:'), '$to' => t('To:'),
'$prefill' => $prefill,
'$autocomp' => $autocomp,
'$preid' => $preid,
'$subject' => t('Subject:'), '$subject' => t('Subject:'),
'$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''), '$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
'$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''), '$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''),

View file

@ -0,0 +1,35 @@
<h3>$header</h3>
<div id="prvmail-wrapper" >
<form id="prvmail-form" action="message" method="post" >
$parent
<div id="prvmail-to-label">$to</div>
<input type="text" id="recip" name="messageto" value="$prefill" maxlength="255" size="64" tabindex="10" />
<input type="hidden" id="recip-complete" name="messageto" value="$preid">
<div id="prvmail-subject-label">$subject</div>
<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
<div id="prvmail-message-label">$yourmessage</div>
<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
<div id="prvmail-submit-wrapper" >
<input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" />
<div id="prvmail-upload-wrapper" >
<div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
</div>
<div id="prvmail-link-wrapper" >
<div id="prvmail-link" class="icon border link" title="$insert" onclick="jotGetLink();" ></div>
</div>
<div id="prvmail-rotator-wrapper" >
<img id="prvmail-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div>
</div>
<div id="prvmail-end"></div>
</form>
</div>

View file

@ -3167,3 +3167,12 @@ ul.menu-popup {
#id_term { #id_term {
width:100px; width:100px;
} }
#recip {
}
.autocomplete-w1 { background:url(img/shadow.png) no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
.autocomplete { border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
.autocomplete .selected { background:#F0F0F0; }
.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }
.autocomplete strong { font-weight:normal; color:#3399FF; }