szurubooru/src/Api/Jobs/EditPostSafetyJob.php

35 lines
758 B
PHP
Raw Normal View History

2014-05-03 14:20:48 +02:00
<?php
class EditPostSafetyJob extends AbstractPostEditJob
2014-05-03 14:20:48 +02:00
{
const SAFETY = 'safety';
public function execute()
{
$post = $this->post;
2014-05-04 19:06:40 +02:00
$newSafety = new PostSafety($this->getArgument(self::SAFETY));
2014-05-03 14:20:48 +02:00
2014-05-04 19:06:40 +02:00
$oldSafety = $post->getSafety();
2014-05-03 14:20:48 +02:00
$post->setSafety($newSafety);
if (!$this->skipSaving)
PostModel::save($post);
2014-05-03 14:20:48 +02:00
if ($oldSafety != $newSafety)
{
2014-05-04 19:23:09 +02:00
Logger::log('{user} changed safety of {post} to {safety}', [
2014-05-03 14:20:48 +02:00
'user' => TextHelper::reprUser(Auth::getCurrentUser()),
'post' => TextHelper::reprPost($post),
2014-05-04 19:06:40 +02:00
'safety' => $post->getSafety()->toString()]);
2014-05-03 14:20:48 +02:00
}
return $post;
}
public function requiresPrivilege()
{
2014-05-04 16:27:15 +02:00
return new Privilege(
2014-05-03 14:20:48 +02:00
Privilege::EditPostSafety,
2014-05-04 16:27:15 +02:00
Access::getIdentity($this->post->getUploader()));
2014-05-03 14:20:48 +02:00
}
}