660e8c6efc
as a bonus we've fixed several FIXME issues for favorite email notification and updated parts of the codebase for these activities to a more modern style.
39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
class FavCommand extends Command
|
|
{
|
|
var $other = null;
|
|
|
|
function __construct($user, $other)
|
|
{
|
|
parent::__construct($user);
|
|
$this->other = $other;
|
|
}
|
|
|
|
function handle($channel)
|
|
{
|
|
$notice = $this->getNotice($this->other);
|
|
|
|
$fave = new Fave();
|
|
$fave->user_id = $this->user->id;
|
|
$fave->notice_id = $notice->id;
|
|
$fave->find();
|
|
|
|
if ($fave->fetch()) {
|
|
// TRANS: Error message text shown when a favorite could not be set because it has already been favorited.
|
|
$channel->error($this->user, _('Could not create favorite: Already favorited.'));
|
|
return;
|
|
}
|
|
|
|
try {
|
|
$fave = Fave::addNew($this->user->getProfile(), $notice);
|
|
} catch (Exception $e) {
|
|
$channel->error($this->user, $e->getMessage());
|
|
return;
|
|
}
|
|
|
|
// TRANS: Text shown when a notice has been marked as favourite successfully.
|
|
$channel->output($this->user, _('Notice marked as fave.'));
|
|
}
|
|
}
|