' . $title . ''; } private static function getUpperButtonsHtml($arButtons) { $retHtml = '
'; return $retHtml; } private static function getSectionHtml($arSection) { $retHtml = '
' . $arSection["TITLE"] . '
'; if ($arSection["TYPE"] == "container") { $retHtml .= $arSection["HTML"]; } else { $retHtml .= '
'; if(is_array($arSection["ROWS"])) { foreach ($arSection["ROWS"] as $row) { $retHtml .= ' '; } } $retHtml .= '
' . $row["VALUE"] . '
'; if (isset($arSection["BOTTOM"]) && isset($arSection["BOTTOM"]["VALUE"])) { $retHtml .= '
'; } $retHtml .= '
'; } $retHtml .= '
'; return $retHtml; } public static function getHtml($arAdminDetail) { $retHtml = ''; if (isset($arAdminDetail["TITLE"])) $retHtml .= self::getTitleHtml($arAdminDetail["TITLE"]); if (isset($arAdminDetail["UPPER_BUTTONS"])) $retHtml .= self::getUpperButtonsHtml($arAdminDetail["UPPER_BUTTONS"]); if (isset($arAdminDetail["SECTIONS"]) && is_array($arAdminDetail["SECTIONS"])) foreach ($arAdminDetail["SECTIONS"] as $arSection) $retHtml .= self::getSectionHtml($arSection); return $retHtml; } } class CAdminMobileDetail { private $arDetail; public function setTitle($strTitle) { $this->arDetail["TITLE"] = $strTitle; } public function addUpperButton($arButton) { $this->arDetail["UPPER_BUTTONS"][] = $arButton; } public function addSection($arSection) { $this->arDetail["SECTIONS"][] = $arSection; } public function getHtml() { return CAdminMobileDetailTmpl::getHtml($this->arDetail); } public function getItem() { return $this->arDetail; } } class CAdminMobileInterface { public static function getCheckBoxesHtml($arCB, $strTitle = '', $arChecked = array(), $arParams = array()) { if (!is_array($arCB) || empty($arCB)) return false; $arCBParams["ITEMS"] = $arCB; if ($strTitle <> '') $arCBParams["TITLE"] = $strTitle; if (!empty($arChecked)) $arCBParams["CHECKED"] = $arChecked; if (is_array($arParams)) foreach ($arParams as $key => $param) $arCBParams[$key] = $param; ob_start(); $GLOBALS["APPLICATION"]->IncludeComponent( 'bitrix:mobileapp.interface.checkboxes', '.default', $arCBParams, false ); $resultHtml = ob_get_contents(); ob_end_clean(); return $resultHtml; } } class CMobileLazyLoad { public static function getBase64Stub() { return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2N88f7jfwAJWAPJBTw90AAAAABJRU5ErkJggg=="; } } class CAdminMobileEdit { private static function getCustomAttribs($arField) { $strResult = ''; if(isset($arField["CUSTOM_ATTRS"]) && is_array($arField["CUSTOM_ATTRS"])) { $strResult .= ' '; foreach ($arField["CUSTOM_ATTRS"] as $attrName => $attrVal) $strResult .= ' '.$attrName.'="'.$attrVal.'"'; } return $strResult; } private static function getCommonAttribs($arField) { $strResult = ''; $arCommonAttrs = array("ID", "NAME", "HIDDEN"); if(is_array($arField)) { $strResult .= ' '; foreach ($arCommonAttrs as $attrName) { if(isset($arField[$attrName])) { $strResult .= ' '.mb_strtolower($attrName).'="'.$arField[$attrName].'"'; } } } return $strResult; } public static function getFieldHtml($arField) { global $APPLICATION; $resultHtml = ''; $someAttribs = self::getCommonAttribs($arField); $someAttribs .= self::getCustomAttribs($arField); switch ($arField["TYPE"]) { case 'BLOCK': $resultHtml = '
'. '
'.$arField["TITLE"].'
'; if(is_array($arField["DATA"])) foreach ($arField["DATA"] as $fieldData) $resultHtml .= self::getFieldHtml($fieldData); $resultHtml .= '
'; break; case 'TEXT_RO': $resultHtml = ''; break; case 'HIDDEN': $resultHtml = ''; break; case 'CHECKBOXES': $arFieldParams = array( "NOWRAP" => "Y", "NAME" => $arField["NAME"], "ITEMS" => $arField["VALUES"] ); if(isset($arField["CHECKED"]) && is_array($arField["CHECKED"])) $arFieldParams["CHECKED"] = $arField["CHECKED"]; ob_start(); $APPLICATION->IncludeComponent( 'bitrix:mobileapp.interface.checkboxes', '.default', $arFieldParams, false); $resultHtml = ob_get_contents(); ob_end_clean(); break; case 'CHECKBOX': $arItemParams = array( "NAME" => $arField["NAME"], "TITLE" => $arField["TITLE"] ); if(isset($arField["VALUE"]) && $arField["VALUE"] == true) $arItemParams["VALUE"] = $arField["VALUE"]; if(isset($arField["CHECKED"]) && $arField["CHECKED"] == true) $arItemParams["CHECKED"] = $arField["CHECKED"]; if(isset($arField["TITLE"]) && $arField["TITLE"] == true) $arItemParams["TITLE"] = $arField["TITLE"]; $arFieldParams = array( "NOWRAP" => "Y", "ITEMS" => array($arItemParams) ); ob_start(); $APPLICATION->IncludeComponent( 'bitrix:mobileapp.interface.checkboxes', '.default', $arFieldParams, false); $resultHtml = ob_get_contents(); ob_end_clean(); break; case 'RADIO': $arFieldsParams = array( "ITEMS" => $arField["VALUES"], "TITLE" => $arField["TITLE"], "RADIO_NAME" => $arField["NAME"], "NOWRAP" => "Y" ); if(isset($arField["SELECTED"])) $arFieldsParams["SELECTED"] = $arField["SELECTED"]; ob_start(); $APPLICATION->IncludeComponent( 'bitrix:mobileapp.interface.radiobuttons', '.default', $arFieldsParams, false); $resultHtml = ob_get_contents(); ob_end_clean(); break; case 'TEXT': if(!isset($arField["VALUES"])) $values = array($arField["VALUE"]); else $values = $arField["VALUES"]; $resultHtml = ''; break; case 'BUTTON': $resultHtml = ''; $resultHtml .= '
'; if(!isset($arField["HINT"])) $arField["HINT"] = ""; $resultHtml .= ''. $arField["HINT"]. ''; break; case '2_RADIO_BUTTONS': if(isset($arField["ID"])) $id = $arField["ID"]; else $id = "2rb_".rand(); $value = isset($arField['VALUE']) && $arField['VALUE'] == 'Y' ? 'Y' : 'N'; $resultHtml .= '
'.$arField["TITLE"].'
'. $arField["BUTT_Y"]["TITLE"]. ' ' .$arField["BUTT_N"]["TITLE"]. self::getCustomAttribs($arField["BUTT_N"]). '
'; break; case 'CUSTOM': $resultHtml = $arField["HTML_DATA"]; break; } return $resultHtml; } } ?>