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/AbstractJob.php
2014-05-12 15:15:50 +02:00

74 lines
1.1 KiB
PHP

<?php
abstract class AbstractJob
{
const CONTEXT_NORMAL = 1;
const CONTEXT_BATCH_EDIT = 2;
const CONTEXT_BATCH_ADD = 3;
protected $arguments = [];
protected $context = self::CONTEXT_NORMAL;
public function prepare()
{
}
public abstract function execute();
public function getRequiredArguments()
{
return null;
}
public function getRequiredPrivileges()
{
return false;
}
public function isAuthenticationRequired()
{
return false;
}
public function isConfirmedEmailRequired()
{
return false;
}
public function getContext()
{
return $this->context;
}
public function setContext($context)
{
$this->context = $context;
}
public function getArgument($key)
{
if (!$this->hasArgument($key))
throw new ApiMissingArgumentException($key);
return $this->arguments[$key];
}
public function getArguments()
{
return $this->arguments;
}
public function hasArgument($key)
{
return isset($this->arguments[$key]);
}
public function setArgument($key, $value)
{
$this->arguments[$key] = $value;
}
public function setArguments(array $arguments)
{
$this->arguments = $arguments;
}
}