This repository has been archived on 2025-02-26. You can view files and clone it, but cannot push or open issues or pull requests.
szurubooru/src/Api/Jobs/EditPostSourceJob.php
2014-05-07 21:30:37 +02:00

41 lines
916 B
PHP

<?php
class EditPostSourceJob extends AbstractPostJob
{
const SOURCE = 'source';
public function isSatisfied()
{
return $this->hasArgument(self::SOURCE);
}
public function execute()
{
$post = $this->post;
$newSource = $this->getArgument(self::SOURCE);
$oldSource = $post->getSource();
$post->setSource($newSource);
if ($this->getContext() == self::CONTEXT_NORMAL)
PostModel::save($post);
if ($oldSource != $newSource)
{
Logger::log('{user} changed source of {post} to {source}', [
'user' => TextHelper::reprUser(Auth::getCurrentUser()),
'post' => TextHelper::reprPost($post),
'source' => $post->getSource()]);
}
return $post;
}
public function requiresPrivilege()
{
return new Privilege(
$this->getContext() == self::CONTEXT_BATCH_ADD
? Privilege::AddPostSource
: Privilege::EditPostSource,
Access::getIdentity($this->post->getUploader()));
}
}