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
|
###START_AUTOCODE
|
||||||
/* the code below is auto generated do not remove the above tag */
|
/* the code below is auto generated do not remove the above tag */
|
||||||
|
|
||||||
public $__table = 'notice'; // table name
|
public $__table = 'notice'; // table name
|
||||||
public $id; // int(4) primary_key not_null
|
public $id; // int(4) primary_key not_null
|
||||||
public $profile_id; // int(4) not_null
|
public $profile_id; // int(4) not_null
|
||||||
public $uri; // varchar(255) unique_key
|
public $uri; // varchar(255) unique_key
|
||||||
public $content; // varchar(140)
|
public $content; // varchar(140)
|
||||||
public $rendered; // text()
|
public $rendered; // text()
|
||||||
public $url; // varchar(255)
|
public $url; // varchar(255)
|
||||||
public $created; // datetime() not_null
|
public $created; // datetime() not_null
|
||||||
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
|
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
|
||||||
public $reply_to; // int(4)
|
public $reply_to; // int(4)
|
||||||
public $is_local; // tinyint(1)
|
public $is_local; // tinyint(1)
|
||||||
public $source; // varchar(32)
|
public $source; // varchar(32)
|
||||||
|
|
||||||
/* Static get */
|
/* Static get */
|
||||||
function staticGet($k,$v=null)
|
function staticGet($k,$v=NULL) {
|
||||||
{ return Memcached_DataObject::staticGet('Notice',$k,$v); }
|
return Memcached_DataObject::staticGet('Notice',$k,$v);
|
||||||
|
}
|
||||||
|
|
||||||
/* the code above is auto generated do not remove the tag below */
|
/* the code above is auto generated do not remove the tag below */
|
||||||
###END_AUTOCODE
|
###END_AUTOCODE
|
||||||
|
@ -746,10 +747,19 @@ class Notice extends Memcached_DataObject
|
||||||
if (!$id) {
|
if (!$id) {
|
||||||
common_log_db_error($reply, 'INSERT', __FILE__);
|
common_log_db_error($reply, 'INSERT', __FILE__);
|
||||||
return;
|
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();
|
common_init_locale();
|
||||||
mail_to_user($other, $subject, $body);
|
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