Your IP : 3.15.194.249


Current Path : /var/www/admin_ftp_12/data/www/httpdocs/bitrix/modules/blog/lib/copy/implement/
Upload File :
Current File : /var/www/admin_ftp_12/data/www/httpdocs/bitrix/modules/blog/lib/copy/implement/blogcomment.php

<?php
namespace Bitrix\Blog\Copy\Implement;

use Bitrix\Main\Copy\Container;
use Bitrix\Main\Error;
use Bitrix\Main\Result;

class BlogComment extends Base
{
	const BLOG_COMMENT_COPY_ERROR = "BLOG_COMMENT_COPY_ERROR";

	protected $ufEntityObject = "BLOG_COMMENT";
	protected $ufDiskFileField = "UF_BLOG_COMMENT_FILE";

	/**
	 * Adds comment.
	 *
	 * @param Container $container
	 * @param array $fields
	 * @return int|bool return comment id or false.
	 */
	public function add(Container $container, array $fields)
	{
		$commentId = \CBlogComment::add($fields);

		if (!$commentId)
		{
			$this->result->addError(new Error("Blog comment hasn't been added", self::BLOG_COMMENT_COPY_ERROR));
		}

		return $commentId;
	}

	/**
	 * Returns comment fields.
	 *
	 * @param Container $container
	 * @param int $entityId
	 * @return array $fields
	 */
	public function getFields(Container $container, $entityId)
	{
		$queryObject = \CBlogComment::getlist([], ["ID" => $entityId], false, false, ["*"]);

		return (($fields = $queryObject->fetch()) ? $fields : []);
	}

	/**
	 * Preparing data before creating a new comment.
	 *
	 * @param Container $container
	 * @param array $fields List comment fields.
	 * @return array $fields
	 */
	public function prepareFieldsToCopy(Container $container, array $fields)
	{
		unset($fields["ID"]);

		if ($container->getParentId())
		{
			$fields["POST_ID"] = $container->getParentId();
		}

		return $fields;
	}

	/**
	 * Starts copying children entities.
	 *
	 * @param Container $container
	 * @param int $entityId Entity id.
	 * @param int $copiedEntityId Copied entity id.
	 * @return Result
	 */
	public function copyChildren(Container $container, $entityId, $copiedEntityId)
	{
		$this->copyUfFields($entityId, $copiedEntityId, $this->ufEntityObject);

		return new Result();
	}

	public function update($entityId, array $fields)
	{
		return \CBlogComment::update($entityId, $fields);
	}

	public function getText($entityId)
	{
		$queryObject = \CBlogComment::getlist([], ["ID" => $entityId], false, false, ["POST_TEXT"]);

		if ($fields = $queryObject->fetch())
		{
			return ["POST_TEXT", $fields["POST_TEXT"]];
		}
		else
		{
			return ["POST_TEXT", ""];
		}
	}
}