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/FormData/UploadFormData.php
2014-10-18 18:48:28 +02:00

39 lines
1 KiB
PHP

<?php
namespace Szurubooru\FormData;
class UploadFormData implements \Szurubooru\IValidatable
{
public $contentFileName;
public $content;
public $url;
public $anonymous;
public $safety;
public $source;
public $tags;
public function __construct($inputReader = null)
{
if ($inputReader !== null)
{
$this->contentFileName = $inputReader->contentFileName;
$this->content = $inputReader->decodeBase64($inputReader->content);
$this->url = $inputReader->url;
$this->anonymous = $inputReader->anonymous;
$this->safety = \Szurubooru\Helpers\EnumHelper::postSafetyFromString($inputReader->safety);
$this->source = $inputReader->source;
$this->tags = preg_split('/[\s+]/', $inputReader->tags);
}
}
public function validate(\Szurubooru\Validator $validator)
{
if ($this->content === null and $this->url === null)
throw new \DomainException('Neither data or URL provided.');
$validator->validatePostTags($this->tags);
if ($this->source !== null)
$validator->validatePostSource($this->source);
}
}