• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/bot/keyboard.php
  • Класс: BitrixImBotKeyboard
  • Вызов: Keyboard::getKeyboardByJson
static function getKeyboardByJson($params, $textReplace = array(), $options = Array())
{
	if (is_string($params))
	{
		$params = CUtil::JsObjectToPhp($params);
	}
	if (!is_array($params))
	{
		return null;
	}

	$colors = is_array($params['COLORS'])? $params['COLORS']: Array();
	$voteMode = isset($params['VOTE']) && $params['VOTE'] == 'Y';

	$keyboard = new self($params['BOT_ID'], $colors, $voteMode);
	foreach ($params['BUTTONS'] as $button)
	{
		if (isset($button['TYPE']) && $button['TYPE'] == 'NEWLINE')
		{
			$keyboard->addNewLine();
		}
		elseif (isset($button['FUNCTION']) && $options['ENABLE_FUNCTIONS'] != 'Y')
		{
		}
		else
		{
			if (isset($button['TEXT']))
			{
				foreach ($textReplace as $key => $value)
				{
					$button['TEXT'] = str_replace($key, $value, $button['TEXT']);
				}
			}
			$keyboard->addButton($button);
		}
	}

	return $keyboard->isEmpty()? null: $keyboard;
}