14 private $items = Array();
18 $this->botId = intval($botId);
24 if (isset($button[
'BOT_ID']) && intval($button[
'BOT_ID']) > 0)
26 $button[
'BOT_ID'] = intval($button[
'BOT_ID']);
30 $button[
'BOT_ID'] = $this->botId;
37 if (isset(
$params[
'LINK']) && preg_match(
'#^(?:/|https?://)#',
$params[
'LINK']))
41 else if (isset(
$params[
'FUNCTION']))
45 else if (isset(
$params[
'APP_ID']))
47 $button[
'APP_ID'] = intval(
$params[
'APP_ID']);
48 if (isset(
$params[
'APP_PARAMS']) && trim(
$params[
'APP_PARAMS']) <>
'')
50 $button[
'APP_PARAMS'] =
$params[
'APP_PARAMS'];
55 && in_array(
$params[
'ACTION'], [
'PUT',
'SEND',
'COPY',
'CALL',
'DIALOG'])
56 && trim(
$params[
'ACTION_VALUE']) <>
''
59 $button[
'ACTION'] =
$params[
'ACTION'];
60 $button[
'ACTION_VALUE'] =
$params[
'ACTION_VALUE'];
62 else if ($this->botId > 0 && isset(
$params[
'COMMAND']) && trim(
$params[
'COMMAND']) <>
'')
64 $button[
'COMMAND'] = mb_substr(
$params[
'COMMAND'], 0, 1) ==
'/'? mb_substr(
$params[
'COMMAND'], 1) :
$params[
'COMMAND'];
65 $button[
'COMMAND_PARAMS'] = isset(
$params[
'COMMAND_PARAMS']) && trim(
$params[
'COMMAND_PARAMS']) <>
''?
$params[
'COMMAND_PARAMS']:
'';
74 $button[
'CONTEXT'] = isset(
$params[
'CONTEXT']) && in_array(
$params[
'CONTEXT'], [
'MOBILE',
'DESKTOP']) ?
$params[
'CONTEXT'] :
'ALL';
76 $button[
'DISABLED'] = (isset(
$params[
'DISABLED']) &&
$params[
'DISABLED'] ==
'Y') ?
'Y' :
'N';
78 $this->items[] = $button;
94 $menu =
new self(
$params[
'BOT_ID']);
95 foreach (
$params[
'ITEMS'] as $button)
97 if (isset($button[
'FUNCTION']) &&
$options[
'ENABLE_FUNCTIONS'] !=
'Y')
102 if (isset($button[
'TEXT']))
104 foreach ($textReplace as
$key => $value)
106 $button[
'TEXT'] = str_replace(
$key, $value, $button[
'TEXT']);
109 $menu->addItem($button);
113 return $menu->isEmpty()?
null: $menu;
118 return empty($this->items);
123 return $this->
getJson()?
true:
false;
static jsonEncode($array=[])
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
if(empty($signedUserToken)) $key
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']