File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/im/utils/dist/utils.bundle.js.map
Back
{"version":3,"file":"utils.bundle.js","sources":["../src/utils.js"],"sourcesContent":["/**\n * Bitrix Messenger\n * Utils\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2019 Bitrix\n */\n\nimport {DateFormat} from 'im.const';\nimport 'main.date';\n\nlet Utils =\n{\n\tbrowser:\n\t{\n\t\tisSafari()\n\t\t{\n\t\t\tif (!navigator.userAgent.toLowerCase().includes('safari'))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !this.isSafariBased();\n\t\t},\n\t\tisSafariBased()\n\t\t{\n\t\t\tif (!navigator.userAgent.toLowerCase().includes('applewebkit'))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tnavigator.userAgent.toLowerCase().includes('yabrowser')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('yaapp_ios_browser')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('crios')\n\t\t\t)\n\t\t},\n\t\tisChrome()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('chrome');\n\t\t},\n\t\tisFirefox()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('firefox');\n\t\t},\n\t\tisIe()\n\t\t{\n\t\t\treturn navigator.userAgent.match(/(Trident\\/|MSIE\\/)/) !== null;\n\t\t},\n\n\t\tfindParent(item, findTag)\n\t\t{\n\t\t\tlet isHtmlElement = findTag instanceof HTMLElement;\n\n\t\t\tif (\n\t\t\t\t!findTag\n\t\t\t\t|| typeof findTag !== 'string' && !isHtmlElement\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tfor (; item && item !== document; item = item.parentNode)\n\t\t\t{\n\t\t\t\tif (typeof findTag === 'string')\n\t\t\t\t{\n\t\t\t\t\tif (item.classList.contains(findTag))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (isHtmlElement)\n\t\t\t\t{\n\t\t\t\t\tif (item === findTag)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tplatform:\n\t{\n\t\tisMac()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('macintosh');\n\t\t},\n\t\tisLinux()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('linux');\n\t\t},\n\t\tisWindows()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('windows') || (!this.isMac() && !this.isLinux());\n\t\t},\n\t\tisBitrixMobile()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('bitrixmobile');\n\t\t},\n\t\tisBitrixDesktop()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('bitrixdesktop');\n\t\t},\n\t\tisMobile()\n\t\t{\n\t\t\treturn this.isAndroid() || this.isIos() || this.isBitrixMobile();\n\t\t},\n\t\tisIos()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('iphone') || navigator.userAgent.toLowerCase().includes('ipad');\n\t\t},\n\t\tgetIosVersion()\n\t\t{\n\t\t\tif (!this.isIos())\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet matches = navigator.userAgent.toLowerCase().match(/(iphone|ipad)(.+)(OS\\s([0-9]+)([_.]([0-9]+))?)/i);\n\t\t\tif (!matches || !matches[4])\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn parseFloat(matches[4]+'.'+(matches[6]? matches[6]: 0));\n\t\t},\n\t\tisAndroid()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('android');\n\t\t},\n\t\topenNewPage(url)\n\t\t{\n\t\t\tif (!url)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (this.isBitrixMobile())\n\t\t\t{\n\t\t\t\tif (typeof BX.MobileTools !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\tlet openWidget = BX.MobileTools.resolveOpenFunction(url);\n\t\t\t\t\tif (openWidget)\n\t\t\t\t\t{\n\t\t\t\t\t\topenWidget();\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tapp.openNewPage(url);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\twindow.open(url, '_blank');\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\t},\n\n\tdevice:\n\t{\n\t\tisDesktop()\n\t\t{\n\t\t\treturn !this.isMobile();\n\t\t},\n\n\t\tisMobile()\n\t\t{\n\t\t\tif (typeof this.isMobileStatic !== 'undefined')\n\t\t\t{\n\t\t\t\treturn this.isMobileStatic;\n\t\t\t}\n\n\t\t\tthis.isMobileStatic = (\n\t\t\t\tnavigator.userAgent.toLowerCase().includes('android')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('webos')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('iphone')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('ipad')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('ipod')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('blackberry')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('windows phone')\n\t\t\t);\n\n\t\t\treturn this.isMobileStatic;\n\t\t},\n\n\t\torientationHorizontal: 'horizontal',\n\t\torientationPortrait: 'portrait',\n\n\t\tgetOrientation()\n\t\t{\n\t\t\tif (!this.isMobile())\n\t\t\t{\n\t\t\t\treturn this.orientationHorizontal;\n\t\t\t}\n\n\t\t\treturn Math.abs(window.orientation) === 0? this.orientationPortrait: this.orientationHorizontal;\n\t\t},\n\t},\n\n\ttypes:\n\t{\n\t\tisString(item)\n\t\t{\n\t\t\treturn item === '' ? true : (item ? (typeof (item) == \"string\" || item instanceof String) : false);\n\t\t},\n\n\t\tisArray(item)\n\t\t{\n\t\t\treturn item && Object.prototype.toString.call(item) == \"[object Array]\";\n\t\t},\n\n\t\tisFunction(item)\n\t\t{\n\t\t\treturn item === null ? false : (typeof (item) == \"function\" || item instanceof Function);\n\t\t},\n\n\t\tisDomNode(item)\n\t\t{\n\t\t\treturn item && typeof (item) == \"object\" && \"nodeType\" in item;\n\t\t},\n\n\t\tisDate(item)\n\t\t{\n\t\t\treturn item && Object.prototype.toString.call(item) == \"[object Date]\";\n\t\t},\n\n\t\tisPlainObject(item)\n\t\t{\n\t\t\tif (!item || typeof item !== \"object\" || item.nodeType)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst hasProp = Object.prototype.hasOwnProperty;\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\titem.constructor\n\t\t\t\t\t&& !hasProp.call(item, \"constructor\")\n\t\t\t\t\t&& !hasProp.call(item.constructor.prototype, \"isPrototypeOf\")\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet key;\n\t\t\tfor (let key in item)\n\t\t\t{\n\t\t\t}\n\n\t\t\treturn typeof(key) === \"undefined\" || hasProp.call(item, key);\n\t\t},\n\t},\n\n\tdialog:\n\t{\n\t\tisChatId(dialogId)\n\t\t{\n\t\t\treturn dialogId.toString().startsWith('chat')\n\t\t},\n\n\t\tisEmptyDialogId(dialogId)\n\t\t{\n\t\t\tif (!dialogId)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (typeof dialogId === \"string\" && dialogId === 'chat0')\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t},\n\n\ttext:\n\t{\n\t\tquote(text, params, files = {}, localize = null)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text.toString();\n\t\t\t}\n\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\ttext = text.replace(/\\[USER=([0-9]{1,})](.*?)\\[\\/USER]/ig, (whole, userId, text) => text);\n\t\t\ttext = text.replace(/\\[CHAT=(imol\\|)?([0-9]{1,})](.*?)[\\/CHAT]/ig, (whole, imol, chatId, text) => text);\n\t\t\ttext = text.replace(/\\[SEND(?:=(.+?))?](.+?)?\\[\\/SEND]/ig, (whole, command, text) => text? text: command);\n\t\t\ttext = text.replace(/\\[PUT(?:=(.+?))?](.+?)?\\[\\/PUT]/ig, (whole, command, text) => text? text: command);\n\t\t\ttext = text.replace(/\\[CALL(?:=(.+?))?](.+?)?\\[\\/CALL]/ig, (whole, command, text) => text? text: command);\n\t\t\ttext = text.replace(/\\[ATTACH=([0-9]{1,})]/ig, (whole, command, text) => command === 10000? '': '['+localize['IM_UTILS_TEXT_ATTACH']+'] ');\n\t\t\ttext = text.replace(/\\[RATING=([1-5]{1})]/ig, (whole, rating) => '['+localize.IM_F_RATING+'] ');\n\t\t\ttext = text.replace(/ /ig, \" \");\n\n\t\t\ttext = text.replace(/------------------------------------------------------(.*?)------------------------------------------------------/gmis, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"]\");\n\t\t\ttext = text.replace(/^(>>(.*)\\n)/gi, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"]\\n\");\n\n\t\t\tif (params && params.FILE_ID && params.FILE_ID.length > 0)\n\t\t\t{\n\t\t\t\tlet filesText = [];\n\t\t\t\tparams.FILE_ID.forEach(fileId =>\n\t\t\t\t{\n\t\t\t\t\tif (files[fileId].type === 'image')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_IMAGE']);\n\t\t\t\t\t}\n\t\t\t\t\telse if (files[fileId].type === 'audio')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_AUDIO']);\n\t\t\t\t\t}\n\t\t\t\t\telse if (files[fileId].type === 'video')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_VIDEO']);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(files[fileId].name);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (filesText.length <= 0)\n\t\t\t\t{\n\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_FILE']);\n\t\t\t\t}\n\n\t\t\t\ttext = filesText.join('\\n')+text;\n\t\t\t}\n\t\t\telse if (params && params.ATTACH && params.ATTACH.length > 0)\n\t\t\t{\n\t\t\t\ttext = '['+localize['IM_UTILS_TEXT_ATTACH']+']\\n'+text;\n\t\t\t}\n\t\t\tif (text.length <= 0)\n\t\t\t{\n\t\t\t\ttext = localize['IM_UTILS_TEXT_DELETED'];\n\t\t\t}\n\n\t\t\treturn text.trim();\n\t\t},\n\n\t\tpurify(text, params, files = {}, localize = null)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text.toString();\n\t\t\t}\n\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\ttext = text.trim();\n\n\t\t\tif (text.startsWith('/me'))\n\t\t\t{\n\t\t\t\ttext = text.substr(4);\n\t\t\t}\n\t\t\telse if (text.startsWith('/loud'))\n\t\t\t{\n\t\t\t\ttext = text.substr(6);\n\t\t\t}\n\n\t\t\ttext = text.replace(/<br><br \\/>/ig, '<br />');\n\t\t\ttext = text.replace(/<br \\/><br>/ig, '<br />');\n\t\t\ttext = text.replace(/\\[[buis]](.*?)\\[\\/[buis]]/ig, '$1');\n\t\t\ttext = text.replace(/\\[CODE]\\n?([\\0-\\uFFFF]*?)\\[\\/CODE]/ig, '$1');\n\t\t\ttext = text.replace(/\\[url](.*?)\\[\\/url]/ig, '$1');\n\t\t\ttext = text.replace(/\\[RATING=([1-5]{1})]/ig, () => '['+localize['IM_UTILS_TEXT_RATING']+'] ');\n\t\t\ttext = text.replace(/\\[ATTACH=([0-9]{1,})]/ig, () => '['+localize['IM_UTILS_TEXT_ATTACH']+'] ');\n\t\t\ttext = text.replace(/\\[USER=([0-9]{1,})](.*?)\\[\\/USER]/ig, '$2');\n\t\t\ttext = text.replace(/\\[CHAT=([0-9]{1,})](.*?)\\[\\/CHAT]/ig, '$2');\n\t\t\ttext = text.replace(/\\[SEND=([0-9]{1,})](.*?)\\[\\/SEND]/ig, '$2');\n\t\t\ttext = text.replace(/\\[PUT=([0-9]{1,})](.*?)\\[\\/PUT]/ig, '$2');\n\t\t\ttext = text.replace(/\\[CALL=([0-9]{1,})](.*?)\\[\\/CALL]/ig, '$2');\n\t\t\ttext = text.replace(/\\[PCH=([0-9]{1,})](.*?)\\[\\/PCH]/ig, '$2');\n\t\t\ttext = text.replace(/<img.*?data-code=\"([^\"]*)\".*?>/ig, '$1');\n\t\t\ttext = text.replace(/<span.*?title=\"([^\"]*)\".*?>.*?<\\/span>/ig, '($1)');\n\t\t\ttext = text.replace(/<img.*?title=\"([^\"]*)\".*?>/ig, '($1)');\n\t\t\ttext = text.replace(/\\[ATTACH=([0-9]{1,})]/ig, (whole, command, text) => command === 10000? '': '['+localize['IM_UTILS_TEXT_ATTACH']+'] ');\n\t\t\ttext = text.replace(/<s>([^\"]*)<\\/s>/ig, ' ');\n\t\t\ttext = text.replace(/\\[s]([^\"]*)\\[\\/s]/ig, ' ');\n\t\t\ttext = text.replace(/\\[icon=([^\\]]*)]/ig, (whole) =>\n\t\t\t{\n\t\t\t\tlet title = whole.match(/title=(.*[^\\s\\]])/i);\n\t\t\t\tif (title && title[1])\n\t\t\t\t{\n\t\t\t\t\ttitle = title[1];\n\t\t\t\t\tif (title.indexOf('width=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('width='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title.indexOf('height=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('height='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title.indexOf('size=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('size='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = '('+title.trim()+')';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttitle = '('+localize['IM_UTILS_TEXT_ICON']+')';\n\t\t\t\t}\n\t\t\t\treturn title;\n\t\t\t});\n\n\t\t\ttext = text.replace(/------------------------------------------------------(.*?)------------------------------------------------------/gmis, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"] \");\n\t\t\ttext = text.replace(/^(>>(.*)\\n)/gi, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"] \");\n\n\t\t\ttext = text.replace(/<\\/?[^>]+>/gi, '');\n\n\t\t\tif (params && params.FILE_ID && params.FILE_ID.length > 0)\n\t\t\t{\n\t\t\t\tlet filesText = [];\n\t\t\t\tparams.FILE_ID.forEach(fileId =>\n\t\t\t\t{\n\t\t\t\t\tif (files[fileId].type === 'image')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_IMAGE']);\n\t\t\t\t\t}\n\t\t\t\t\telse if (files[fileId].type === 'audio')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_AUDIO']);\n\t\t\t\t\t}\n\t\t\t\t\telse if (files[fileId].type === 'video')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_VIDEO']);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(files[fileId].name);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (filesText.length <= 0)\n\t\t\t\t{\n\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_FILE']);\n\t\t\t\t}\n\n\t\t\t\ttext = filesText.join(' ')+text;\n\t\t\t}\n\t\t\telse if (params && params.ATTACH && params.ATTACH.length > 0)\n\t\t\t{\n\t\t\t\ttext = '['+localize['IM_UTILS_TEXT_ATTACH']+'] '+text;\n\t\t\t}\n\t\t\tif (text.length <= 0)\n\t\t\t{\n\t\t\t\ttext = localize['IM_UTILS_TEXT_DELETED'];\n\t\t\t}\n\n\t\t\treturn text.replace('\\n', ' ').trim();\n\t\t},\n\n\t\thtmlspecialchars(text)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\treturn text.replace(/&/g, '&')\n\t\t\t\t.replace(/\"/g, '"')\n\t\t\t\t.replace(/</g, '<')\n\t\t\t\t.replace(/>/g, '>');\n\t\t},\n\n\t\thtmlspecialcharsback(text)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\treturn text.replace(/\\"/g, '\"')\n\t\t\t\t.replace(/'/g, \"'\")\n\t\t\t\t.replace(/\\</g, '<')\n\t\t\t\t.replace(/\\>/g, '>')\n\t\t\t\t.replace(/\\&/g, '&')\n\t\t\t\t.replace(/\\ /g, ' ');\n\t\t},\n\n\t\tgetLocalizeForNumber(phrase, number, language = 'en', localize = null)\n\t\t{\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\tlet pluralFormType = 1;\n\n\t\t\tnumber = parseInt(number);\n\n\t\t\tif (number < 0)\n\t\t\t{\n\t\t\t\tnumber = number * -1;\n\t\t\t}\n\n\t\t\tif (language)\n\t\t\t{\n\t\t\t\tswitch (language)\n\t\t\t\t{\n\t\t\t\t\tcase 'de':\n\t\t\t\t\tcase 'en':\n\t\t\t\t\t\tpluralFormType = ((number !== 1) ? 1 : 0);\n\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'ru':\n\t\t\t\t\tcase 'ua':\n\t\t\t\t\t\tpluralFormType = (((number%10 === 1) && (number%100 !== 11)) ? 0 : (((number%10 >= 2) && (number%10 <= 4) && ((number%100 < 10) || (number%100 >= 20))) ? 1 : 2));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn localize[phrase + '_PLURAL_' + pluralFormType];\n\t\t}\n\t},\n\n\tdate:\n\t{\n\t\tgetFormatType(type = DateFormat.default, localize = null)\n\t\t{\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\tlet format = [];\n\t\t\tif (type === DateFormat.groupTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow\"],\n\t\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse if (type === DateFormat.message)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_TIME\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse if (type === DateFormat.recentTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"today\"],\n\t\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_RECENT\"]]\n\t\t\t\t]\n\t\t\t}\n\t\t\telse if (type === DateFormat.recentLinesTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow\"],\n\t\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_RECENT\"]]\n\t\t\t\t]\n\t\t\t}\n\t\t\telse if (type === DateFormat.readedTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"today\", \"today, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"yesterday\", \"yesterday, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_READED\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse if (type === DateFormat.vacationTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_SHORT\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"today\", \"today, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"yesterday\", \"yesterday, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_TIME\"]]\n\t\t\t\t];\n\t\t\t}\n\n\t\t\treturn format;\n\t\t},\n\n\t\tgetDateFunction(localize = null)\n\t\t{\n\t\t\tif (this.dateFormatFunction)\n\t\t\t{\n\t\t\t\treturn this.dateFormatFunction;\n\t\t\t}\n\n\t\t\tthis.dateFormatFunction = Object.create(BX.Main.Date);\n\t\t\tif (localize)\n\t\t\t{\n\t\t\t\tthis.dateFormatFunction._getMessage = (phrase) => localize[phrase];\n\t\t\t}\n\n\t\t\treturn this.dateFormatFunction;\n\t\t},\n\n\t\tformat(timestamp, format = null, localize = null)\n\t\t{\n\t\t\tif (!format)\n\t\t\t{\n\t\t\t\tformat = this.getFormatType(DateFormat.default, localize);\n\t\t\t}\n\n\t\t\treturn this.getDateFunction(localize).format(format, timestamp);\n\t\t},\n\n\t\tcast(date, def = new Date())\n\t\t{\n\t\t\tlet result = def;\n\n\t\t\tif (date instanceof Date)\n\t\t\t{\n\t\t\t\tresult = date;\n\t\t\t}\n\t\t\telse if (typeof date === \"string\")\n\t\t\t{\n\t\t\t\tresult = new Date(date);\n\t\t\t}\n\t\t\telse if (typeof date === \"number\")\n\t\t\t{\n\t\t\t\tresult = new Date(date*1000);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tresult instanceof Date\n\t\t\t\t&& Number.isNaN(result.getTime())\n\t\t\t)\n\t\t\t{\n\t\t\t\tresult = def;\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t},\n\n\tobject:\n\t{\n\t\tcountKeys(obj)\n\t\t{\n\t\t\tlet result = 0;\n\n\t\t\tfor (let i in obj)\n\t\t\t{\n\t\t\t\tif (obj.hasOwnProperty(i))\n\t\t\t\t{\n\t\t\t\t\tresult++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t},\n\n\tuser:\n\t{\n\t\tgetLastDateText(params, localize = null)\n\t\t{\n\t\t\tif (!params)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tlet dateFunction = Utils.date.getDateFunction(localize);\n\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\tlet text = '';\n\t\t\tlet online = {};\n\t\t\tif (params.bot || params.network)\n\t\t\t{\n\t\t\t\ttext = '';\n\t\t\t}\n\t\t\telse if (params.absent && !this.isMobileActive(params, localize))\n\t\t\t{\n\t\t\t\tonline = this.getOnlineStatus(params);\n\t\t\t\ttext = localize['IM_STATUS_VACATION_TITLE'].replace('#DATE#',\n\t\t\t\t\tdateFunction.format(Utils.date.getFormatType(DateFormat.vacationTitle, localize), params.absent.getTime()/1000)\n\t\t\t\t);\n\n\t\t\t\tif (online.isOnline && params.idle)\n\t\t\t\t{\n\t\t\t\t\t text = localize['IM_STATUS_AWAY_TITLE'].replace('#TIME#', this.getIdleText(params, localize))+'. '+text;\n\t\t\t\t}\n\t\t\t\telse if (online.isOnline && !online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\ttext = online.statusText+'. '+text;\n\t\t\t\t}\n\t\t\t\telse if (online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\tif (!Utils.platform.isMobile())\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = text+'. '+localize['IM_LAST_SEEN_'+(params.gender === 'F'? 'F': 'M')].replace('#POSITION#', text).replace('#LAST_SEEN#', online.lastSeenText);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (params.lastActivityDate)\n\t\t\t{\n\t\t\t\tonline = this.getOnlineStatus(params);\n\t\t\t\tif (online.isOnline && params.idle && !this.isMobileActive(params, localize))\n\t\t\t\t{\n\t\t\t\t\t text = localize['IM_STATUS_AWAY_TITLE'].replace('#TIME#', this.getIdleText(params, localize));\n\t\t\t\t}\n\t\t\t\telse if (online.isOnline && !online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\tif (Utils.platform.isMobile() && this.isMobileActive(params, localize))\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = localize['IM_STATUS_MOBILE'];\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = online.statusText;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\tif (Utils.platform.isMobile())\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = localize['IM_LAST_SEEN_SHORT_'+(params.gender === 'F'? 'F': 'M')].replace('#LAST_SEEN#', online.lastSeenText);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = localize['IM_LAST_SEEN_'+(params.gender === 'F'? 'F': 'M')].replace('#POSITION#', text).replace('#LAST_SEEN#', online.lastSeenText);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn text;\n\t\t},\n\n\t\tgetIdleText(params, localize = null)\n\t\t{\n\t\t\tif (!params)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tif (!params.idle)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\treturn Utils.date.getDateFunction(localize).format([\n\t\t\t [\"s60\", \"sdiff\"],\n\t\t\t [\"i60\", \"idiff\"],\n\t\t\t [\"H24\", \"Hdiff\"],\n\t\t\t [\"\", \"ddiff\"]\n\t\t\t], params.idle);\n\t\t},\n\n\t\tgetOnlineStatus(params, localize = null)\n\t\t{\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\tlet result = {\n\t\t\t\t'isOnline': false,\n\t\t\t\t'status': 'offline',\n\t\t\t\t'statusText': localize.IM_STATUS_OFFLINE,\n\t\t\t\t'lastSeen': params.lastActivityDate,\n\t\t\t\t'lastSeenText': '',\n\t\t\t};\n\n\t\t\tif (!params.lastActivityDate || params.lastActivityDate.getTime() === 0)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tlet date = new Date();\n\n\t\t\tresult.isOnline = date.getTime() - params.lastActivityDate.getTime() <= this.getOnlineLimit(localize)*1000;\n\t\t\tresult.status = result.isOnline? params.status: 'offline';\n\t\t\tresult.statusText = localize['IM_STATUS_'+result.status.toUpperCase()] || result.status;\n\n\t\t\tif (params.lastActivityDate.getTime() > 0 && date.getTime() - params.lastActivityDate.getTime() > 300*1000)\n\t\t\t{\n\t\t\t\tresult.lastSeenText = Utils.date.getDateFunction(localize).formatLastActivityDate(params.lastActivityDate);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\tisMobileActive(params, localize)\n\t\t{\n\t\t\tif (!params)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tparams.mobileLastDate\n\t\t\t\t&& new Date() - params.mobileLastDate < this.getOnlineLimit(localize)*1000\n\t\t\t\t&& params.lastActivityDate-params.mobileLastDate < 300*1000\n\t\t\t);\n\t\t},\n\n\t\tgetOnlineLimit(localize = null)\n\t\t{\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\treturn localize.LIMIT_ONLINE? parseInt(localize.LIMIT_ONLINE): 15*60;\n\t\t},\n\t},\n\n\tisDarkColor(hex)\n\t{\n\t\tif (!hex || !hex.match(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (hex.length === 4)\n\t\t{\n\t\t\thex = hex.replace(/#([A-Fa-f0-9])/gi, \"$1$1\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\thex = hex.replace(/#([A-Fa-f0-9])/gi, \"$1\");\n\t\t}\n\n\t\thex = hex.toLowerCase();\n\n\t\tlet darkColor = [\n\t\t\t\"#17a3ea\",\n\t\t\t\"#00aeef\",\n\t\t\t\"#00c4fb\",\n\t\t\t\"#47d1e2\",\n\t\t\t\"#75d900\",\n\t\t\t\"#ffab00\",\n\t\t\t\"#ff5752\",\n\t\t\t\"#468ee5\",\n\t\t\t\"#1eae43\"\n\t\t];\n\n\t\tif (darkColor.includes('#'+hex))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tlet bigint = parseInt(hex, 16);\n\n\t\tlet red = (bigint >> 16) & 255;\n\t\tlet green = (bigint >> 8) & 255;\n\t\tlet blue = bigint & 255;\n\n\t\tlet brightness = (red * 299 + green * 587 + blue * 114) / 1000;\n\n\t\treturn brightness < 128;\n\t},\n\n\thashCode(string = '')\n\t{\n\t\tlet hash = 0;\n\n\t\tif (typeof string === 'object' && string)\n\t\t{\n\t\t\tstring = JSON.stringify(string);\n\t\t}\n\t\telse if (typeof string !== 'string')\n\t\t{\n\t\t\tstring = string.toString();\n\t\t}\n\n\t\tif (typeof string !== 'string')\n\t\t{\n\t\t\treturn hash;\n\t\t}\n\n\t\tfor (let i = 0; i < string.length; i++)\n\t\t{\n\t\t\tlet char = string.charCodeAt(i);\n\t\t\thash = ((hash<<5)-hash)+char;\n\t\t\thash = hash & hash;\n\t\t}\n\t\treturn hash;\n\t},\n\n\t/**\n\t * The method compares versions, and returns - 0 if they are the same, 1 if version1 is greater, -1 if version1 is less\n\t *\n\t * @param version1\n\t * @param version2\n\t * @returns {number|NaN}\n\t */\n\tversionCompare(version1, version2)\n\t{\n\t\tlet isNumberRegExp = /^([\\d+\\.]+)$/;\n\n\t\tif (\n\t\t\t!isNumberRegExp.test(version1)\n\t\t\t|| !isNumberRegExp.test(version2)\n\t\t)\n\t\t{\n\t\t\treturn NaN;\n\t\t}\n\n\t\tversion1 = version1.toString().split('.');\n\t\tversion2 = version2.toString().split('.');\n\n\t\tif (version1.length < version2.length)\n\t\t{\n\t\t\twhile (version1.length < version2.length)\n\t\t\t{\n\t\t\t\tversion1.push(0);\n\t\t\t}\n\t\t}\n\t\telse if (version2.length < version1.length)\n\t\t{\n\t\t\twhile (version2.length < version1.length)\n\t\t\t{\n\t\t\t\tversion2.push(0);\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = 0; i < version1.length; i++)\n\t\t{\n\t\t\tif (version1[i] > version2[i])\n\t\t\t{\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse if (version1[i] < version2[i])\n\t\t\t{\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t},\n\n\t/**\n\t * Throttle function. Callback will be executed no more than 'wait' period (in ms).\n\t *\n\t * @param callback\n\t * @param wait\n\t * @param context\n\t * @returns {Function}\n\t */\n\tthrottle(callback, wait, context = this)\n\t{\n\t\tlet timeout = null;\n\t\tlet callbackArgs = null;\n\n\t\tconst nextCallback = () => {\n\t\t\tcallback.apply(context, callbackArgs);\n\t\t\ttimeout = null;\n\t\t};\n\n\t\treturn function()\n\t\t{\n\t\t\tif (!timeout)\n\t\t\t{\n\t\t\t\tcallbackArgs = arguments;\n\t\t\t\ttimeout = setTimeout(nextCallback, wait);\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Debounce function. Callback will be executed if it hast been called for longer than 'wait' period (in ms).\n\t *\n\t * @param callback\n\t * @param wait\n\t * @param context\n\t * @returns {Function}\n\t */\n\tdebounce(callback, wait, context = this)\n\t{\n\t\tlet timeout = null;\n\t\tlet callbackArgs = null;\n\n\t\tconst nextCallback = () => {\n\t\t\tcallback.apply(context, callbackArgs);\n\t\t};\n\n\t\treturn function()\n\t\t{\n\t\t\tcallbackArgs = arguments;\n\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(nextCallback, wait);\n\t\t}\n\t},\n\n\tgetLogTrackingParams(params = {})\n\t{\n\t\tlet result = [];\n\n\t\tlet {\n\t\t\tname = 'tracking',\n\t\t\tdata = [],\n\t\t\tdialog = null,\n\t\t\tmessage = null,\n\t\t\tfiles = null,\n\t\t} = params;\n\n\t\tname = encodeURIComponent(name);\n\n\t\tif (\n\t\t\tdata\n\t\t\t&& !(data instanceof Array)\n\t\t\t&& typeof data === 'object'\n\t\t)\n\t\t{\n\t\t\tlet dataArray = [];\n\t\t\tfor (let name in data)\n\t\t\t{\n\t\t\t\tif (data.hasOwnProperty(name))\n\t\t\t\t{\n\t\t\t\t\tdataArray.push(encodeURIComponent(name)+\"=\"+encodeURIComponent(data[name]));\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata = dataArray;\n\t\t}\n\t\telse if (!data instanceof Array)\n\t\t{\n\t\t\tdata = [];\n\t\t}\n\n\t\tif (dialog)\n\t\t{\n\t\t\tresult.push('timType='+dialog.type);\n\n\t\t\tif (dialog.type === 'lines')\n\t\t\t{\n\t\t\t\tresult.push('timLinesType='+dialog.entityId.split('|')[0]);\n\t\t\t}\n\t\t}\n\n\t\tif (files)\n\t\t{\n\t\t\tlet type = 'file';\n\t\t\tif (files instanceof Array && files[0])\n\t\t\t{\n\t\t\t\ttype = files[0].type;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttype = files.type;\n\t\t\t}\n\t\t\tresult.push('timMessageType='+type);\n\t\t}\n\t\telse if (message)\n\t\t{\n\t\t\tresult.push('timMessageType=text');\n\t\t}\n\n\t\tif (this.platform.isBitrixMobile())\n\t\t{\n\t\t\tresult.push('timDevice=bitrixMobile');\n\t\t}\n\t\telse if (this.platform.isBitrixDesktop())\n\t\t{\n\t\t\tresult.push('timDevice=bitrixDesktop');\n\t\t}\n\t\telse if (this.platform.isIos() || this.platform.isAndroid())\n\t\t{\n\t\t\tresult.push('timDevice=mobile');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.push('timDevice=web');\n\t\t}\n\n\t\treturn name + (data.length? '&'+data.join('&'): '') + (result.length? '&'+result.join('&'): '');\n\t}\n};\n\nexport {Utils};"],"names":["Utils","browser","isSafari","navigator","userAgent","toLowerCase","includes","isSafariBased","isChrome","isFirefox","isIe","match","findParent","item","findTag","isHtmlElement","HTMLElement","document","parentNode","classList","contains","platform","isMac","isLinux","isWindows","isBitrixMobile","isBitrixDesktop","isMobile","isAndroid","isIos","getIosVersion","matches","parseFloat","openNewPage","url","BX","MobileTools","openWidget","resolveOpenFunction","app","window","open","device","isDesktop","isMobileStatic","orientationHorizontal","orientationPortrait","getOrientation","Math","abs","orientation","types","isString","String","isArray","Object","prototype","toString","call","isFunction","Function","isDomNode","isDate","isPlainObject","nodeType","hasProp","hasOwnProperty","constructor","e","key","dialog","isChatId","dialogId","startsWith","isEmptyDialogId","text","quote","params","files","localize","message","replace","whole","userId","imol","chatId","command","rating","IM_F_RATING","FILE_ID","length","filesText","forEach","fileId","type","push","name","join","ATTACH","trim","purify","substr","title","indexOf","htmlspecialchars","htmlspecialcharsback","getLocalizeForNumber","phrase","number","language","pluralFormType","parseInt","date","getFormatType","DateFormat","default","format","groupTitle","recentTitle","recentLinesTitle","readedTitle","vacationTitle","getDateFunction","dateFormatFunction","create","Main","Date","_getMessage","timestamp","cast","def","result","Number","isNaN","getTime","object","countKeys","obj","i","user","getLastDateText","dateFunction","online","bot","network","absent","isMobileActive","getOnlineStatus","isOnline","idle","getIdleText","lastSeenText","statusText","gender","lastActivityDate","IM_STATUS_OFFLINE","getOnlineLimit","status","toUpperCase","formatLastActivityDate","mobileLastDate","LIMIT_ONLINE","isDarkColor","hex","darkColor","bigint","red","green","blue","brightness","hashCode","string","hash","JSON","stringify","char","charCodeAt","versionCompare","version1","version2","isNumberRegExp","test","NaN","split","throttle","callback","wait","context","timeout","callbackArgs","nextCallback","apply","arguments","setTimeout","debounce","clearTimeout","getLogTrackingParams","data","encodeURIComponent","Array","dataArray","entityId"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings