forked from GNUsocial/gnu-social
send mail when @-replies are received
This commit is contained in:
parent
affb2f9359
commit
175c4665cc
@ -34,22 +34,23 @@ class Notice extends Memcached_DataObject
|
||||
###START_AUTOCODE
|
||||
/* the code below is auto generated do not remove the above tag */
|
||||
|
||||
public $__table = 'notice'; // table name
|
||||
public $id; // int(4) primary_key not_null
|
||||
public $profile_id; // int(4) not_null
|
||||
public $__table = 'notice'; // table name
|
||||
public $id; // int(4) primary_key not_null
|
||||
public $profile_id; // int(4) not_null
|
||||
public $uri; // varchar(255) unique_key
|
||||
public $content; // varchar(140)
|
||||
public $rendered; // text()
|
||||
public $rendered; // text()
|
||||
public $url; // varchar(255)
|
||||
public $created; // datetime() not_null
|
||||
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
|
||||
public $reply_to; // int(4)
|
||||
public $is_local; // tinyint(1)
|
||||
public $source; // varchar(32)
|
||||
public $created; // datetime() not_null
|
||||
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
|
||||
public $reply_to; // int(4)
|
||||
public $is_local; // tinyint(1)
|
||||
public $source; // varchar(32)
|
||||
|
||||
/* Static get */
|
||||
function staticGet($k,$v=null)
|
||||
{ return Memcached_DataObject::staticGet('Notice',$k,$v); }
|
||||
function staticGet($k,$v=NULL) {
|
||||
return Memcached_DataObject::staticGet('Notice',$k,$v);
|
||||
}
|
||||
|
||||
/* the code above is auto generated do not remove the tag below */
|
||||
###END_AUTOCODE
|
||||
@ -746,10 +747,19 @@ class Notice extends Memcached_DataObject
|
||||
if (!$id) {
|
||||
common_log_db_error($reply, 'INSERT', __FILE__);
|
||||
return;
|
||||
} else {
|
||||
$replied[$recipient->id] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (array_keys($replied) as $recipient) {
|
||||
$user = User::staticGet('id', $recipient);
|
||||
if ($user) {
|
||||
mail_attn_notify($user, $notice);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
50
lib/mail.php
50
lib/mail.php
@ -573,3 +573,53 @@ function mail_notify_fave($other, $user, $notice)
|
||||
common_init_locale();
|
||||
mail_to_user($other, $subject, $body);
|
||||
}
|
||||
|
||||
/**
|
||||
* notify a user that they have received an "attn:" message AKA "@-reply"
|
||||
*
|
||||
* @param User $user The user who recevied the notice
|
||||
* @param Notice $notice The notice that was sent
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function mail_notify_attn($user, $notice)
|
||||
{
|
||||
if (!$user->email || !$user->emailnotifyattn) {
|
||||
return;
|
||||
}
|
||||
|
||||
$sender = $notice->getProfile();
|
||||
|
||||
$bestname = $sender->getBestName();
|
||||
|
||||
common_init_locale($user->language);
|
||||
|
||||
$subject = sprintf(_('%s sent a notice to your attention'), $bestname);
|
||||
|
||||
$body = sprintf(_("%1\$s just sent a notice to your attention (an '@-reply') on %2\$s.\n\n".
|
||||
"The notice is here:\n\n".
|
||||
"\t%3\$s\n\n" .
|
||||
"It reads:\n\n".
|
||||
"\t%4\$s\n\n" .
|
||||
"You can reply back here:\n\n".
|
||||
"\t%5\$s\n\n" .
|
||||
"The list of all @-replies for you here:\n\n" .
|
||||
"%6\$s\n\n" .
|
||||
"Faithfully yours,\n" .
|
||||
"%2\$s\n\n" .
|
||||
"P.S. You can turn off these email notifications here: %7\$s\n"),
|
||||
$bestname,
|
||||
common_config('site', 'name'),
|
||||
common_local_url('shownotice',
|
||||
array('notice' => $notice->id)),
|
||||
$notice->content,
|
||||
common_local_url('newnotice',
|
||||
array('replyto' => $sender->nickname)),
|
||||
common_local_url('replies',
|
||||
array('nickname' => $user->nickname)),
|
||||
common_local_url('emailsettings'));
|
||||
|
||||
common_init_locale();
|
||||
mail_to_user($user, $subject, $body);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user