Your IP : 3.145.64.2


Current Path : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/imbot/lib/bot/
Upload File :
Current File : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/imbot/lib/bot/base.php

<?php
namespace Bitrix\ImBot\Bot;

use Bitrix\Main\Localization\Loc;

abstract class Base
{
	const MODULE_ID = "imbot";
	const BOT_CODE = "";

	protected static $lastError = null;

	public static function getBotId()
	{
		$class = self::getClassName();
		if (!$class::BOT_CODE)
			return false;

		return \Bitrix\Main\Config\Option::get(self::MODULE_ID, $class::BOT_CODE."_bot_id", 0);
	}

	public static function setBotId($id)
	{
		$class = self::getClassName();
		if (!$class::BOT_CODE)
			return false;

		\Bitrix\Main\Config\Option::set(self::MODULE_ID, $class::BOT_CODE."_bot_id", $id);

		return true;
	}

	public static function getBotOption($userId, $name, $value = false)
	{
		$class = self::getClassName();
		if (!$class::BOT_CODE)
			return false;

		return \CUserOptions::GetOption(self::MODULE_ID, $class::BOT_CODE.'_'.$name, $value, $userId);
	}

	public static function setBotOption($userId, $name, $value)
	{
		$class = self::getClassName();
		if (!$class::BOT_CODE)
			return false;

		\CUserOptions::SetOption(self::MODULE_ID, $class::BOT_CODE.'_'.$name, $value, false, $userId);

		return true;
	}

	public static function onChatStart($dialogId, $joinFields)
	{
		return true;
	}

	public static function onMessageAdd($messageId, $messageFields)
	{
		return true;
	}

	public static function onAnswerAdd($command, $params)
	{
		return null;
	}

	public static function onCommandAdd($messageId, $messageFields)
	{
		return true;
	}

	public static function onCommandLang($command, $lang = null)
	{
		return false;
	}

	public static function onBotDelete($bodId)
	{
		return self::setBotId(0);
	}

	public static function uploadAvatar($lang = LANGUAGE_ID)
	{
		$avatarUrl = '';

		$class = self::getClassName();
		if (!$class::BOT_CODE)
			return $avatarUrl;

		if (\Bitrix\Main\IO\File::isFileExists(\Bitrix\Main\Application::getDocumentRoot().'/bitrix/modules/imbot/install/avatar/'.$class::BOT_CODE.'/'.$lang.'.png'))
		{
			$avatarUrl = \Bitrix\Main\Application::getDocumentRoot().'/bitrix/modules/imbot/install/avatar/'.$class::BOT_CODE.'/'.$lang.'.png';
		}
		else if (\Bitrix\Main\IO\File::isFileExists(\Bitrix\Main\Application::getDocumentRoot().'/bitrix/modules/imbot/install/avatar/'.$class::BOT_CODE.'/default.png'))
		{
			$avatarUrl = \Bitrix\Main\Application::getDocumentRoot().'/bitrix/modules/imbot/install/avatar/'.$class::BOT_CODE.'/default.png';
		}

		$avatarUrl = $avatarUrl? \CFile::MakeFileArray($avatarUrl): '';

		return $avatarUrl;
	}

	public static function uploadIcon($iconName)
	{
		if ($iconName == '')
			return false;
		
		$iconId = false;

		$class = self::getClassName();
		if (!$class::BOT_CODE)
			return $iconId;

		if (\Bitrix\Main\IO\File::isFileExists(\Bitrix\Main\Application::getDocumentRoot().'/bitrix/modules/imbot/install/icon/'.$class::BOT_CODE.'/'.$iconName.'.png'))
		{
			$iconId = \Bitrix\Main\Application::getDocumentRoot().'/bitrix/modules/imbot/install/icon/'.$class::BOT_CODE.'/'.$iconName.'.png';
		}

		if ($iconId)
		{
			$iconId = \CFile::SaveFile(\CFile::MakeFileArray($iconId), 'imbot');
		}

		return $iconId;
	}

	/**
	 * @return \Bitrix\ImBot\Bot\Base
	 */
	public static function getClassName()
	{
		return get_called_class();
	}

	public static function getError()
	{
		if (!self::$lastError)
		{
			self::$lastError = new \Bitrix\ImBot\Error(null, '', '');
		}
		return self::$lastError;
	}
}