View file upload/src/addons/BS/Contests/XF/Service/Thread/Creator.php

File size: 734B
<?php

namespace BS\Contests\XF\Service\Thread;

use BS\Contests\Entity\Contest;

class Creator extends XFCP_Creator
{
	protected $contest;

	public function setContest(Contest $contest)
	{
		$this->contest = $contest;
	}

	public function getContest()
	{
		return $this->contest;
	}

	protected function _validate()
	{
		$errors = parent::_validate();

		$contest = $this->contest;

		if ($contest)
		{
			$contest->preSave();
			$errors += $contest->getErrors();
		}

		return $errors;
	}

	protected function _save()
	{
		$thread = parent::_save();
		$contest = $this->contest;

		if ($thread && $contest)
		{
			$contest->set('thread_id', $thread->thread_id, ['forceSet' => true]);
			$contest->save();
		}

		return $thread;
	}
}