5 private static $arItems =
array();
7 public static function addItem($arItem)
9 if (!isset($arItem[
"sort"]))
10 $arItem[
"sort"] = self::DEFAULT_ITEM_SORT;
12 self::$arItems[] = $arItem;
14 return count(self::$arItems);
19 if (!empty(self::$arItems))
20 return self::$arItems;
43 return self::$arItems;
53 foreach (self::$arItems as $arSection)
55 if (!isset($arSection[
"items"]) || !is_array($arSection[
"items"]))
58 foreach ($arSection[
"items"] as $arItem)
60 if (isset($arItem[
"default"]) && $arItem[
"default"] ==
true && isset($arItem[
"data-url"]))
61 return $arItem[
"data-url"];
63 if (isset($arItem[
"data-url"]) && empty($firstUrl))
64 $firstUrl = $arItem[
"data-url"];
68 if ($firstUrl ==
'' && isset(
$arParams[
"MOBILE_APP_INDEX_PAGE"]))
69 $firstUrl =
$arParams[
"MOBILE_APP_INDEX_PAGE"];
77 private static function getTitleHtml(
$title)
79 return '<div class="order_title">' .
$title .
'</div>';
82 private static function getUpperButtonsHtml($arButtons)
84 $retHtml =
'<div class="order_nav"><ul>';
86 foreach ($arButtons as $arButton)
90 if (isset($arButton[
"CURRENT"]) && $arButton[
"CURRENT"])
91 $buttonHtml .=
' class="current"';
93 $buttonHtml .=
'><a href=';
95 if (isset($arButton[
"HREF"]))
96 $buttonHtml .=
'"' . $arButton[
"HREF"] .
'"';
98 $buttonHtml .=
'"javascript:void(0);"';
100 if (isset($arButton[
"ONCLICK"]))
101 $buttonHtml .=
' onclick="' . $arButton[
"ONCLICK"] .
'"';
103 $buttonHtml .=
'>' . $arButton[
"TITLE"] .
'</a></li>';
105 $retHtml .= $buttonHtml;
108 $retHtml .=
'</ul><div class="clb"></div></div>';
113 private static function getSectionHtml($arSection)
115 $retHtml =
'<div class="order_infoblock';
117 if (!isset($arSection[
"OPEN"]) || !$arSection[
"OPEN"])
118 $retHtml .=
' close';
120 if (isset($arSection[
"TOTAL"]) && $arSection[
"TOTAL"])
121 $retHtml .=
' total';
124 <div class="order_infoblock_title" onclick="BX.toggleClass(this.parentNode,\'close\');">' .
125 $arSection[
"TITLE"] .
'<span></span></div>';
127 if ($arSection[
"TYPE"] ==
"container")
129 $retHtml .= $arSection[
"HTML"];
134 <div class="order_infoblock_content">
135 <table class="order_infoblock_content_table">';
137 if(is_array($arSection[
"ROWS"]))
139 foreach ($arSection[
"ROWS"] as $row)
143 if (isset($row[
"HIGLIGHTED"]) && $row[
"HIGLIGHTED"] ==
true)
144 $retHtml .=
' class="order_detail_container_itogi_table_td_green"';
147 <td class="order_infoblock_content_table_tdtitle">' . $row[
"TITLE"] .
'</td>
148 <td class="order_infoblock_content_table_tdvalue';
150 $retHtml .=
'">' . $row[
"VALUE"] .
'</td></tr>';
154 $retHtml .=
'</table>';
156 if (isset($arSection[
"BOTTOM"]) && isset($arSection[
"BOTTOM"][
"VALUE"]))
158 $retHtml .=
'<div class=';
159 if (isset($arSection[
"BOTTOM"][
"STYLE"]))
161 if ($arSection[
"BOTTOM"][
"STYLE"] ==
'green')
162 $retHtml .=
'"order_infoblock_order_green">';
164 $retHtml .=
'"order_infoblock_order_canceled">';
167 $retHtml .= $arSection[
"BOTTOM"][
"VALUE"] .
'</div>';
170 $retHtml .=
'</div>';
173 $retHtml .=
'</div>';
178 public static function getHtml($arAdminDetail)
182 if (isset($arAdminDetail[
"TITLE"]))
183 $retHtml .= self::getTitleHtml($arAdminDetail[
"TITLE"]);
185 if (isset($arAdminDetail[
"UPPER_BUTTONS"]))
186 $retHtml .= self::getUpperButtonsHtml($arAdminDetail[
"UPPER_BUTTONS"]);
188 if (isset($arAdminDetail[
"SECTIONS"]) && is_array($arAdminDetail[
"SECTIONS"]))
189 foreach ($arAdminDetail[
"SECTIONS"] as $arSection)
190 $retHtml .= self::getSectionHtml($arSection);
203 $this->arDetail[
"TITLE"] = $strTitle;
208 $this->arDetail[
"UPPER_BUTTONS"][] = $arButton;
213 $this->arDetail[
"SECTIONS"][] = $arSection;
223 return $this->arDetail;
231 if (!is_array($arCB) || empty($arCB))
234 $arCBParams[
"ITEMS"] = $arCB;
237 $arCBParams[
"TITLE"] = $strTitle;
239 if (!empty($arChecked))
240 $arCBParams[
"CHECKED"] = $arChecked;
244 $arCBParams[
$key] = $param;
247 $GLOBALS[
"APPLICATION"]->IncludeComponent(
248 'bitrix:mobileapp.interface.checkboxes',
254 $resultHtml = ob_get_contents();
265 return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2N88f7jfwAJWAPJBTw90AAAAABJRU5ErkJggg==";
271 private static function getCustomAttribs($arField)
275 if(isset($arField[
"CUSTOM_ATTRS"]) && is_array($arField[
"CUSTOM_ATTRS"]))
278 foreach ($arField[
"CUSTOM_ATTRS"] as $attrName => $attrVal)
279 $strResult .=
' '.$attrName.
'="'.$attrVal.
'"';
285 private static function getCommonAttribs($arField)
288 $arCommonAttrs =
array(
"ID",
"NAME",
"HIDDEN");
290 if(is_array($arField))
293 foreach ($arCommonAttrs as $attrName)
295 if(isset($arField[$attrName]))
297 $strResult .=
' '.mb_strtolower($attrName).
'="'.$arField[$attrName].
'"';
309 $someAttribs = self::getCommonAttribs($arField);
310 $someAttribs .= self::getCustomAttribs($arField);
314 switch ($arField[
"TYPE"])
318 '<div class="mapp_edit_infoblock"'.
321 '<div class="mapp_edit_infoblock_title">'.$arField[
"TITLE"].
'</div>';
323 if(is_array($arField[
"DATA"]))
324 foreach ($arField[
"DATA"] as $fieldData)
327 $resultHtml .=
'</div>';
335 <div class="mapp_edit_li_container"'.
338 <label>'.$arField[
"VALUE"].
'</label>
346 $resultHtml =
'<input type="hidden" value="'.$arField[
"VALUE"].
'"'.$someAttribs.
'>';
350 $arFieldParams =
array(
352 "NAME" => $arField[
"NAME"],
353 "ITEMS" => $arField[
"VALUES"]
356 if(isset($arField[
"CHECKED"]) && is_array($arField[
"CHECKED"]))
357 $arFieldParams[
"CHECKED"] = $arField[
"CHECKED"];
361 'bitrix:mobileapp.interface.checkboxes',
366 $resultHtml = ob_get_contents();
373 $arItemParams =
array(
374 "NAME" => $arField[
"NAME"],
375 "TITLE" => $arField[
"TITLE"]
378 if(isset($arField[
"VALUE"]) && $arField[
"VALUE"] ==
true)
379 $arItemParams[
"VALUE"] = $arField[
"VALUE"];
381 if(isset($arField[
"CHECKED"]) && $arField[
"CHECKED"] ==
true)
382 $arItemParams[
"CHECKED"] = $arField[
"CHECKED"];
384 if(isset($arField[
"TITLE"]) && $arField[
"TITLE"] ==
true)
385 $arItemParams[
"TITLE"] = $arField[
"TITLE"];
387 $arFieldParams =
array(
389 "ITEMS" =>
array($arItemParams)
394 'bitrix:mobileapp.interface.checkboxes',
399 $resultHtml = ob_get_contents();
406 $arFieldsParams =
array(
407 "ITEMS" => $arField[
"VALUES"],
408 "TITLE" => $arField[
"TITLE"],
409 "RADIO_NAME" => $arField[
"NAME"],
413 if(isset($arField[
"SELECTED"]))
414 $arFieldsParams[
"SELECTED"] = $arField[
"SELECTED"];
419 'bitrix:mobileapp.interface.radiobuttons',
424 $resultHtml = ob_get_contents();
430 if(!isset($arField[
"VALUES"]))
431 $values =
array($arField[
"VALUE"]);
433 $values = $arField[
"VALUES"];
435 $resultHtml =
'<ul>';
437 foreach ($values as $value)
441 <div class="mapp_edit_input_container">
442 <input '.$someAttribs.
' type="text"';
444 if($value ==
'' && isset($arField[
"TITLE"]))
446 $resultHtml .=
' onblur="if (this.value==\'\'){this.value=\''.$arField[
"TITLE"].
'\'; BX.addClass(
this, \
'mapp_edit_input_empty\');}"'.
447 ' value="'.$arField[
"TITLE"].
'"'.
448 ' onfocus="if (this.value==\''.$arField[
"TITLE"].
'\') {this.value=\
'\'; BX.removeClass(
this, \
'mapp_edit_input_empty\');}"'.
449 ' class = "mapp_edit_input_empty"';
453 $resultHtml .=
' value="'.$value.
'"';
461 $resultHtml .=
'</ul>';
465 $resultHtml =
'<input type="button" class="mapp_edit_button"'.$someAttribs;
467 if(isset($arField[
"VALUE"]))
468 $resultHtml .=
' value="'.$arField[
"VALUE"].
'"';
476 if(!isset($arField[
"TITLE"]))
477 $arField[
"TITLE"] =
"";
479 $resultHtml .=
'<div class="mapp_edit_textarea_title">'.
484 <div class="mapp_edit_textarea_container">
486 ' class="mapp_edit_textarea"'.$someAttribs;
488 $resultHtml .=
'>'.$arField[
"VALUE"].
492 if(!isset($arField[
"HINT"]))
493 $arField[
"HINT"] =
"";
495 $resultHtml .=
'<span class="mapp_edit_textarea_hint">'.
501 case '2_RADIO_BUTTONS':
503 if(isset($arField[
"ID"]))
504 $id = $arField[
"ID"];
508 $value = isset($arField[
'VALUE']) && $arField[
'VALUE'] ==
'Y' ?
'Y' :
'N';
511 <div class="mapp_edit_li_container mapp_edit_tac">
512 <div class="mapp_edit_title_tac">'.$arField[
"TITLE"].
'</div>
513 <div class="mapp_edit_button_yn">
515 ' id="'.$id.
'_b1'.
'"'.
516 ' href="javascript:void(0);"'.
517 ($value ==
'Y' ?
' class="current"' :
'').
518 self::getCustomAttribs($arField[
"BUTT_Y"]).
520 $arField[
"BUTT_Y"][
"TITLE"].
523 ' id="'.$id.
'_b2'.
'"'.
524 ' href="javascript:void(0);"'
525 .($value !=
'Y' ?
' class="current"' :
'').
527 .$arField[
"BUTT_N"][
"TITLE"].
528 self::getCustomAttribs($arField[
"BUTT_N"]).
532 ' name="'.$arField[
"NAME"].
'"'.
534 ' value ="'.$value.
'"'.
535 self::getCustomAttribs($arField).
537 <div class="mapp_edit_clb"></div>
541 new FastButton(BX("'.$id.
'_b1'.
'"), function(){ toggle'.$id.
'(); '.$arField[
"BUTT_Y"][
"ONCLICK"].
'}, false);
542 new FastButton(BX("'.$id.
'_b2'.
'"), function(){ toggle'.$id.
'(); '.$arField[
"BUTT_N"][
"ONCLICK"].
'}, false);
543 function toggle'.$id.
'()
545 BX.toggleClass(BX("'.$id.
'_b1'.
'"),"current");
546 BX.toggleClass(BX("'.$id.
'_b2'.
'"),"current");
548 var input = BX("'.$id.
'");
550 if(input && input.value)
552 if(input.value == "Y")
564 $resultHtml = $arField[
"HTML_DATA"];
addUpperButton($arButton)
static getHtml($arAdminDetail)
static getFieldHtml($arField)
static getCheckBoxesHtml($arCB, $strTitle='', $arChecked=array(), $arParams=array())
static OnAdminMobileGetPushSettings()
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
ExecuteModuleEventEx($arEvent, $arParams=[])
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
sortByColumn(array &$array, $columns, $callbacks='', $defaultValueIfNotSetValue=null, $preserveKeys=false)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
$GLOBALS['_____370096793']