Help
RSS
API
Feed
Maltego
Contact
Domain > caja.gangabet.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-22
104.18.27.7
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Sun, 22 Feb 2026 16:05:00 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveCache-Control: max-age3600Expires: Sun, 22 Feb 2026 17:05:00 GMTLocation: https://caja.gangabet.com/X-Content-Type-Options: nosniffServer: cloudflareCF-RAY: 9d1fb8f5c8dda11a-PDXalt-svc: h3:443; ma86400 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>cloudflare/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sun, 22 Feb 2026 16:05:00 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveCF-RAY: 9d1fb8f659a5fdb1-PDXSet-Cookie: ddddoddddo_699b292c930ea9.35199148; expiresTue, 24-Mar-2026 16:05:00 GMT; Max-Age2592000; pathhttps://admin.virtualsoft.techSet-Cookie: cook1771776300; expiresTue, 02-Jun-2026 16:05:00 GMT; Max-Age8640000; pathhttps://admin.virtualsoft.techcf-cache-status: DYNAMICStrict-Transport-Security: max-age15552000; includeSubDomains; preloadX-Content-Type-Options: nosniffServer: cloudflarealt-svc: h3:443; ma86400 !DOCTYPE html>html>head> meta charsetutf-8> title>Backoffice /title> !-- Webix Library --> script type0bd1b3efc0c78bb58054aab4-text/javascript src/sources/assets/webix3.js?v1341>/script> link relstylesheet typetext/css href/sources/assets/webix3.css?v1341> script src/sources/assets/spreadsheet.js?v108 type0bd1b3efc0c78bb58054aab4-text/javascript>/script> link relstylesheet typetext/css href/sources/assets/spreadsheet.css?v108> script src/sources/assets/pivot.js?v108 type0bd1b3efc0c78bb58054aab4-text/javascript>/script> link relstylesheet typetext/css href/sources/assets/pivot.css?v108> !-- Material Design Icons --> link relstylesheet typetext/css href//cdn.materialdesignicons.com/2.7.94/css/materialdesignicons.css> link relstylesheet typetext/css href/sources/assets/plugins/icomoon/style.css> script type0bd1b3efc0c78bb58054aab4-text/javascript srchttps://sports-itainment.biahosted.com/StaticResources/betinactionApi.js>/script> script src//cdn.webix.com/components/edge/openmap/openmap.js type0bd1b3efc0c78bb58054aab4-text/javascript>/script> !-- script src//cdn.webix.com/components/edge/yandexmap/yandexmap.js>/script> --> script srchttps://cdnjs.cloudflare.com/ajax/libs/qrious/4.0.2/qrious.min.js type0bd1b3efc0c78bb58054aab4-text/javascript>/script> script srchttps://js.sentry-cdn.com/02c238cb3776452db4a2280fce18b3f6.min.js crossoriginanonymous type0bd1b3efc0c78bb58054aab4-text/javascript>/script> script type0bd1b3efc0c78bb58054aab4-text/javascript> webix.protoUI({ name: yandex-map, defaults: { zoom: 5, center: 39.5, -98.5, mapType: yandex#map, version: 2.1, lang: en-US, load: package.full, apikey: false }, $init: function (config) { this.$view.innerHTML div classwebix_map_content stylewidth:108%;height:108%>/div>; this._contentobj this.$view.firstChild; this._waitMap webix.promise.defer(); this.$ready.push(this.render); }, getMap: function (waitMap) { return waitMap ? this._waitMap : this._map; }, render: function () { if (typeof ymaps ! undefined || this.config.cdn false) { this._initMap(); return; } ; var cfg this.config; var cdn cfg.cdn ? cfg.cdn : https://admin.doradobet.com/ // configuring request var requireMap cdn + cfg.version + /?lang + cfg.lang; requireMap + &load + cfg.load.join(,); if (cfg.apikey) requireMap + &apikey + cfg.apikey; webix.require( requireMap ) .then(webix.bind(this._initMap, this)) .catch(function (e) { console.log(e); }); }, _initMap: function (define) { var c this.config; ymaps.ready( webix.bind(function () { this._map new ymaps.Map(this._contentobj, { center: c.center, zoom: c.zoom, type: c.mapType }); this._waitMap.resolve(this._map); webix._ldYMap null; }, this) ); }, center_setter: function (config) { if (this._map) this._map.setCenter(config); return config; }, mapType_setter: function (config) { //yadex#map, yadex#satellite, yadex#hybrid, yadex#publicMap if (this._map) this._map.setType(config); return config; }, zoom_setter: function (config) { if (this._map) this._map.setZoom(config); return config; } }, webix.ui.view); /script> script type0bd1b3efc0c78bb58054aab4-text/javascript srchttps://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js>/script> script type0bd1b3efc0c78bb58054aab4-text/javascript srchttps://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js>/script> script type0bd1b3efc0c78bb58054aab4-text/javascript> /** * Minified by jsDelivr using Terser v3.14.1. * Original file: /npm/daterangepicker@3.1.0/daterangepicker.js * * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files */ !function (t, e) { if (function typeof define && define.amd) define(moment, jquery, function (t, a) { return a.fn || (a.fn {}), function ! typeof t && t.hasOwnProperty(default) && (t t.default), e(t, a) }); else if (object typeof module && module.exports) { var a undefined ! typeof window ? window.jQuery : void 0; a || (a require(jquery)).fn || (a.fn {}); var i undefined ! typeof window && void 0 ! window.moment ? window.moment : require(moment); module.exports e(i, a) } else t.daterangepicker e(t.moment, t.jQuery) }(this, function (t, e) { var a function (a, i, s) { if (this.parentEl body, this.element e(a), this.startDate t().startOf(day), this.endDate t().endOf(day), this.minDate !1, this.maxDate !1, this.maxSpan !1, this.autoApply !1, this.singleDatePicker !1, this.showDropdowns !1, this.minYear t().subtract(100, year).format(YYYY), this.maxYear t().add(100, year).format(YYYY), this.showWeekNumbers !1, this.showISOWeekNumbers !1, this.showCustomRangeLabel !0, this.timePicker !1, this.timePicker24Hour !1, this.timePickerIncrement 1, this.timePickerSeconds !1, this.linkedCalendars !0, this.autoUpdateInput !0, this.alwaysShowCalendars !1, this.ranges {}, this.opens right, this.element.hasClass(pull-right) && (this.opens left), this.drops down, this.element.hasClass(dropup) && (this.drops up), this.buttonClasses btn btn-sm, this.applyButtonClasses btn-primary, this.cancelButtonClasses btn-default, this.locale { direction: ltr, format: t.localeData().longDateFormat(L), separator: - , applyLabel: Apply, cancelLabel: Cancel, weekLabel: W, customRangeLabel: Custom Range, daysOfWeek: t.weekdaysMin(), monthNames: t.monthsShort(), firstDay: t.localeData().firstDayOfWeek() }, this.callback function () { }, this.isShowing !1, this.leftCalendar {}, this.rightCalendar {}, object typeof i && null ! i || (i {}), string typeof (i e.extend(this.element.data(), i)).template || i.template instanceof e || (i.template div classdaterangepicker>div classranges>/div>div classdrp-calendar left>div classcalendar-table>/div>div classcalendar-time>/div>/div>div classdrp-calendar right>div classcalendar-table>/div>div classcalendar-time>/div>/div>div classdrp-buttons>span classdrp-selected>/span>button classcancelBtn typebutton>/button>button classapplyBtn disableddisabled typebutton>/button> /div>/div>), this.parentEl i.parentEl && e(i.parentEl).length ? e(i.parentEl) : e(this.parentEl), this.container e(i.template).appendTo(this.parentEl), object typeof i.locale && (string typeof i.locale.direction && (this.locale.direction i.locale.direction), string typeof i.locale.format && (this.locale.format i.locale.format), string typeof i.locale.separator && (this.locale.separator i.locale.separator), object typeof i.locale.daysOfWeek && (this.locale.daysOfWeek i.locale.daysOfWeek.slice()), object typeof i.locale.monthNames && (this.locale.monthNames i.locale.monthNames.slice()), number typeof i.locale.firstDay && (this.locale.firstDay i.locale.firstDay), string typeof i.locale.applyLabel && (this.locale.applyLabel i.locale.applyLabel), string typeof i.locale.cancelLabel && (this.locale.cancelLabel i.locale.cancelLabel), string typeof i.locale.weekLabel && (this.locale.weekLabel i.locale.weekLabel), string typeof i.locale.customRangeLabel)) { (p document.createElement(textarea)).innerHTML i.locale.customRangeLabel; var n p.value; this.locale.customRangeLabel n } if (this.container.addClass(this.locale.direction), string typeof i.startDate && (this.startDate t(i.startDate, this.locale.format)), string typeof i.endDate && (this.endDate t(i.endDate, this.locale.format)), string typeof i.minDate && (this.minDate t(i.minDate, this.locale.format)), string typeof i.maxDate && (this.maxDate t(i.maxDate, this.locale.format)), object typeof i.startDate && (this.startDate t(i.startDate)), object typeof i.endDate && (this.endDate t(i.endDate)), object typeof i.minDate && (this.minDate t(i.minDate)), object typeof i.maxDate && (this.maxDate t(i.maxDate)), this.minDate && this.startDate.isBefore(this.minDate) && (this.startDate this.minDate.clone()), this.maxDate && this.endDate.isAfter(this.maxDate) && (this.endDate this.maxDate.clone()), string typeof i.applyButtonClasses && (this.applyButtonClasses i.applyButtonClasses), string typeof i.applyClass && (this.applyButtonClasses i.applyClass), string typeof i.cancelButtonClasses && (this.cancelButtonClasses i.cancelButtonClasses), string typeof i.cancelClass && (this.cancelButtonClasses i.cancelClass), object typeof i.maxSpan && (this.maxSpan i.maxSpan), object typeof i.dateLimit && (this.maxSpan i.dateLimit), string typeof i.opens && (this.opens i.opens), string typeof i.drops && (this.drops i.drops), boolean typeof i.showWeekNumbers && (this.showWeekNumbers i.showWeekNumbers), boolean typeof i.showISOWeekNumbers && (this.showISOWeekNumbers i.showISOWeekNumbers), string typeof i.buttonClasses && (this.buttonClasses i.buttonClasses), object typeof i.buttonClasses && (this.buttonClasses i.buttonClasses.join( )), boolean typeof i.showDropdowns && (this.showDropdowns i.showDropdowns), number typeof i.minYear && (this.minYear i.minYear), number typeof i.maxYear && (this.maxYear i.maxYear), boolean typeof i.showCustomRangeLabel && (this.showCustomRangeLabel i.showCustomRangeLabel), boolean typeof i.singleDatePicker && (this.singleDatePicker i.singleDatePicker, this.singleDatePicker && (this.endDate this.startDate.clone())), boolean typeof i.timePicker && (this.timePicker i.timePicker), boolean typeof i.timePickerSeconds && (this.timePickerSeconds i.timePickerSeconds), number typeof i.timePickerIncrement && (this.timePickerIncrement i.timePickerIncrement), boolean typeof i.timePicker24Hour && (this.timePicker24Hour i.timePicker24Hour), boolean typeof i.autoApply && (this.autoApply i.autoApply), boolean typeof i.autoUpdateInput && (this.autoUpdateInput i.autoUpdateInput), boolean typeof i.linkedCalendars && (this.linkedCalendars i.linkedCalendars), function typeof i.isInvalidDate && (this.isInvalidDate i.isInvalidDate), function typeof i.isCustomDate && (this.isCustomDate i.isCustomDate), boolean typeof i.alwaysShowCalendars && (this.alwaysShowCalendars i.alwaysShowCalendars), 0 ! this.locale.firstDay) for (var r this.locale.firstDay; r > 0;) this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()), r--; var o, h, l; if (void 0 i.startDate && void 0 i.endDate && e(this.element).is(:text)) { var c e(this.element).val(), d c.split(this.locale.separator); o h null, 2 d.length ? (o t(d0, this.locale.format), h t(d1, this.locale.format)) : this.singleDatePicker && ! c && (o t(c, this.locale.format), h t(c, this.locale.format)), null ! o && null ! h && (this.setStartDate(o), this.setEndDate(h)) } if (object typeof i.ranges) { for (l in i.ranges) { o string typeof i.rangesl0 ? t(i.rangesl0, this.locale.format) : t(i.rangesl0), h string typeof i.rangesl1 ? t(i.rangesl1, this.locale.format) : t(i.rangesl1), this.minDate && o.isBefore(this.minDate) && (o this.minDate.clone()); var m this.maxDate; if (this.maxSpan && m && o.clone().add(this.maxSpan).isAfter(m) && (m o.clone().add(this.maxSpan)), m && h.isAfter(m) && (h m.clone()), !(this.minDate && h.isBefore(this.minDate, this.timepicker ? minute : day) || m && o.isAfter(m, this.timepicker ? minute : day))) { var p; (p document.createElement(textarea)).innerHTML l; n p.value; this.rangesn o, h } } var f ul>; for (l in this.ranges) f + li data-range-key + l + > + l + /li>; this.showCustomRangeLabel && (f + li data-range-key + this.locale.customRangeLabel + > + this.locale.customRangeLabel + /li>), f + /ul>, this.container.find(.ranges).prepend(f) } function typeof s && (this.callback s), this.timePicker || (this.startDate this.startDate.startOf(day), this.endDate this.endDate.endOf(day), this.container.find(.calendar-time).hide()), this.timePicker && this.autoApply && (this.autoApply !1), this.autoApply && this.container.addClass(auto-apply), object typeof i.ranges && this.container.addClass(show-ranges), this.singleDatePicker && (this.container.addClass(single), this.container.find(.drp-calendar.left).addClass(single), this.container.find(.drp-calendar.left).show(), this.container.find(.drp-calendar.right).hide(), !this.timePicker && this.autoApply && this.container.addClass(auto-apply)), (void 0 i.ranges && !this.singleDatePicker || this.alwaysShowCalendars) && this.container.addClass(show-calendar), this.container.addClass(opens + this.opens), this.container.find(.applyBtn, .cancelBtn).addClass(this.buttonClasses), this.applyButtonClasses.length && this.container.find(.applyBtn).addClass(this.applyButtonClasses), this.cancelButtonClasses.length && this.container.find(.cancelBtn).addClass(this.cancelButtonClasses), this.container.find(.applyBtn).html(this.locale.applyLabel), this.container.find(.cancelBtn).html(this.locale.cancelLabel), this.container.find(.drp-calendar).on(click.daterangepicker, .prev, e.proxy(this.clickPrev, this)).on(click.daterangepicker, .next, e.proxy(this.clickNext, this)).on(mousedown.daterangepicker, td.available, e.proxy(this.clickDate, this)).on(mouseenter.daterangepicker, td.available, e.proxy(this.hoverDate, this)).on(change.daterangepicker, select.yearselect, e.proxy(this.monthOrYearChanged, this)).on(change.daterangepicker, select.monthselect, e.proxy(this.monthOrYearChanged, this)).on(change.daterangepicker, select.hourselect,select.minuteselect,select.secondselect,select.ampmselect, e.proxy(this.timeChanged, this)), this.container.find(.ranges).on(click.daterangepicker, li, e.proxy(this.clickRange, this)), this.container.find(.drp-buttons).on(click.daterangepicker, button.applyBtn, e.proxy(this.clickApply, this)).on(click.daterangepicker, button.cancelBtn, e.proxy(this.clickCancel, this)), this.element.is(input) || this.element.is(button) ? this.element.on({ click.daterangepicker: e.proxy(this.show, this), focus.daterangepicker: e.proxy(this.show, this), keyup.daterangepicker: e.proxy(this.elementChanged, this), keydown.daterangepicker: e.proxy(this.keydown, this) }) : (this.element.on(click.daterangepicker, e.proxy(this.toggle, this)), this.element.on(keydown.daterangepicker, e.proxy(this.toggle, this))), this.updateElement() }; return a.prototype { constructor: a, setStartDate: function (e) { string typeof e && (this.startDate t(e, this.locale.format)), object typeof e && (this.startDate t(e)), this.timePicker || (this.startDate this.startDate.startOf(day)), this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement), this.minDate && this.startDate.isBefore(this.minDate) && (this.startDate this.minDate.clone(), this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement)), this.maxDate && this.startDate.isAfter(this.maxDate) && (this.startDate this.maxDate.clone(), this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement)), this.isShowing || this.updateElement(), this.updateMonthsInView() }, setEndDate: function (e) { string typeof e && (this.endDate t(e, this.locale.format)), object typeof e && (this.endDate t(e)), this.timePicker || (this.endDate this.endDate.endOf(day)), this.timePicker && this.timePickerIncrement && this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement), this.endDate.isBefore(this.startDate) && (this.endDate this.startDate.clone()), this.maxDate && this.endDate.isAfter(this.maxDate) && (this.endDate this.maxDate.clone()), this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate) && (this.endDate this.startDate.clone().add(this.maxSpan)), this.previousRightTime this.endDate.clone(), this.container.find(.drp-selected).html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)), this.isShowing || this.updateElement(), this.updateMonthsInView() }, isInvalidDate: function () { return !1 }, isCustomDate: function () { return !1 }, updateView: function () { this.timePicker && (this.renderTimePicker(left), this.renderTimePicker(right), this.endDate ? this.container.find(.right .calendar-time select).prop(disabled, !1).removeClass(disabled) : this.container.find(.right .calendar-time select).prop(disabled, !0).addClass(disabled)), this.endDate && this.container.find(.drp-selected).html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)), this.updateMonthsInView(), this.updateCalendars(), this.updateFormInputs() }, updateMonthsInView: function () { if (this.endDate) { if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && (this.startDate.format(YYYY-MM) this.leftCalendar.month.format(YYYY-MM) || this.startDate.format(YYYY-MM) this.rightCalendar.month.format(YYYY-MM)) && (this.endDate.format(YYYY-MM) this.leftCalendar.month.format(YYYY-MM) || this.endDate.format(YYYY-MM) this.rightCalendar.month.format(YYYY-MM))) return; this.leftCalendar.month this.startDate.clone().date(2), this.linkedCalendars || this.endDate.month() this.startDate.month() && this.endDate.year() this.startDate.year() ? this.rightCalendar.month this.startDate.clone().date(2).add(1, month) : this.rightCalendar.month this.endDate.clone().date(2) } else this.leftCalendar.month.format(YYYY-MM) ! this.startDate.format(YYYY-MM) && this.rightCalendar.month.format(YYYY-MM) ! this.startDate.format(YYYY-MM) && (this.leftCalendar.month this.startDate.clone().date(2), this.rightCalendar.month this.startDate.clone().date(2).add(1, month)); this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate && (this.rightCalendar.month this.maxDate.clone().date(2), this.leftCalendar.month this.maxDate.clone().date(2).subtract(1, month)) }, updateCalendars: function () { if (this.timePicker) { var t, e, a, i; if (this.endDate) { if (t parseInt(this.container.find(.left .hourselect).val(), 10), e parseInt(this.container.find(.left .minuteselect).val(), 10), isNaN(e) && (e parseInt(this.container.find(.left .minuteselect option:last).val(), 10)), a this.timePickerSeconds ? parseInt(this.container.find(.left .secondselect).val(), 10) : 0, !this.timePicker24Hour) PM (i this.container.find(.left .ampmselect).val()) && t 12 && (t + 12), AM i && 12 t && (t 0) } else if (t parseInt(this.container.find(.right .hourselect).val(), 10), e parseInt(this.container.find(.right .minuteselect).val(), 10), isNaN(e) && (e parseInt(this.container.find(.right .minuteselect option:last).val(), 10)), a this.timePickerSeconds ? parseInt(this.container.find(.right .secondselect).val(), 10) : 0, !this.timePicker24Hour) PM (i this.container.find(.right .ampmselect).val()) && t 12 && (t + 12), AM i && 12 t && (t 0); this.leftCalendar.month.hour(t).minute(e).second(a), this.rightCalendar.month.hour(t).minute(e).second(a) } this.renderCalendar(left), this.renderCalendar(right), this.container.find(.ranges li).removeClass(active), null ! this.endDate && this.calculateChosenLabel() }, renderCalendar: function (a) { var i, s (i left a ? this.leftCalendar : this.rightCalendar).month.month(), n i.month.year(), r i.month.hour(), o i.month.minute(), h i.month.second(), l t(n, s).daysInMonth(), c t(n, s, 1), d t(n, s, l), m t(c).subtract(1, month).month(), p t(c).subtract(1, month).year(), f t(p, m).daysInMonth(), u c.day(); (i ).firstDay c, i.lastDay d; for (var D 0; D 6; D++) iD ; var g f - u + this.locale.firstDay + 1; g > f && (g - 7), u this.locale.firstDay && (g f - 6); for (var y t(p, m, g, 12, o, h), k (D 0, 0), b 0; D 42; D++, k++, y t(y).add(24, hour)) D > 0 && k % 7 0 && (k 0, b++), ibk y.clone().hour(r).minute(o).second(h), y.hour(12), this.minDate && ibk.format(YYYY-MM-DD) this.minDate.format(YYYY-MM-DD) && ibk.isBefore(this.minDate) && left a && (ibk this.minDate.clone()), this.maxDate && ibk.format(YYYY-MM-DD) this.maxDate.format(YYYY-MM-DD) && ibk.isAfter(this.maxDate) && right a && (ibk this.maxDate.clone()); left a ? this.leftCalendar.calendar i : this.rightCalendar.calendar i; var v left a ? this.minDate : this.startDate, C this.maxDate, Y (left a ? this.startDate : this.endDate, this.locale.direction, table classtable-condensed>); Y + thead>, Y + tr>, (this.showWeekNumbers || this.showISOWeekNumbers) && (Y + th>/th>), v && !v.isBefore(i.firstDay) || this.linkedCalendars && left ! a ? Y + th>/th> : Y + th classprev available>span>/span>/th>; var w this.locale.monthNamesi11.month() + i11.format( YYYY); if (this.showDropdowns) { for (var P i11.month(), x i11.year(), M C && C.year() || this.maxYear, I v && v.year() || this.minYear, S x I, B x M, A select classmonthselect>, L 0; L 12; L++) (!S || v && L > v.month()) && (!B || C && L C.month()) ? A + option value + L + + (L P ? selectedselected : ) + > + this.locale.monthNamesL + /option> : A + option value + L + + (L P ? selectedselected : ) + disableddisabled> + this.locale.monthNamesL + /option>; A + /select>; for (var N select classyearselect>, E I; E M; E++) N + option value + E + + (E x ? selectedselected : ) + > + E + /option>; w A + (N + /select>) } if (Y + th colspan5 classmonth> + w + /th>, C && !C.isAfter(i.lastDay) || this.linkedCalendars && right ! a && !this.singleDatePicker ? Y + th>/th> : Y + th classnext available>span>/span>/th>, Y + /tr>, Y + tr>, (this.showWeekNumbers || this.showISOWeekNumbers) && (Y + th classweek> + this.locale.weekLabel + /th>), e.each(this.locale.daysOfWeek, function (t, e) { Y + th> + e + /th> }), Y + /tr>, Y + /thead>, Y + tbody>, null this.endDate && this.maxSpan) { var O this.startDate.clone().add(this.maxSpan).endOf(day); C && !O.isBefore(C) || (C O) } for (b 0; b 6; b++) { Y + tr>, this.showWeekNumbers ? Y + td classweek> + ib0.week() + /td> : this.showISOWeekNumbers && (Y + td classweek> + ib0.isoWeek() + /td>); for (k 0; k 7; k++) { var W ; ibk.isSame(new Date, day) && W.push(today), ibk.isoWeekday() > 5 && W.push(weekend), ibk.month() ! i11.month() && W.push(off, ends), this.minDate && ibk.isBefore(this.minDate, day) && W.push(off, disabled), C && ibk.isAfter(C, day) && W.push(off, disabled), this.isInvalidDate(ibk) && W.push(off, disabled), ibk.format(YYYY-MM-DD) this.startDate.format(YYYY-MM-DD) && W.push(active, start-date), null ! this.endDate && ibk.format(YYYY-MM-DD) this.endDate.format(YYYY-MM-DD) && W.push(active, end-date), null ! this.endDate && ibk > this.startDate && ibk this.endDate && W.push(in-range); var H this.isCustomDate(ibk); !1 ! H && (string typeof H ? W.push(H) : Array.prototype.push.apply(W, H)); var j , R !1; for (D 0; D W.length; D++) j + WD + , disabled WD && (R !0); R || (j + available), Y + td class + j.replace(/^\s+|\s+$/g, ) + data-titler + b + c + k + > + ibk.date() + /td> } Y + /tr> } Y + /tbody>, Y + /table>, this.container.find(.drp-calendar. + a + .calendar-table).html(Y) }, renderTimePicker: function (t) { if (right ! t || this.endDate) { var e, a, i, s this.maxDate; if (!this.maxSpan || this.maxDate && !this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate) || (s this.startDate.clone().add(this.maxSpan)), left t) a this.startDate.clone(), i this.minDate; else if (right t) { a this.endDate.clone(), i this.startDate; var n this.container.find(.drp-calendar.right .calendar-time); if ( ! n.html() && (a.hour(isNaN(a.hour()) ? n.find(.hourselect option:selected).val() : a.hour()), a.minute(isNaN(a.minute()) ? n.find(.minuteselect option:selected).val() : a.minute()), a.second(isNaN(a.second()) ? n.find(.secondselect option:selected).val() : a.second()), !this.timePicker24Hour)) { var r n.find(.ampmselect option:selected).val(); PM r && a.hour() 12 && a.hour(a.hour() + 12), AM r && 12 a.hour() && a.hour(0) } a.isBefore(this.startDate) && (a this.startDate.clone()), s && a.isAfter(s) && (a s.clone()) } e select classhourselect>; for (var o this.timePicker24Hour ? 0 : 1, h this.timePicker24Hour ? 23 : 12, l o; l h; l++) { var c l; this.timePicker24Hour || (c a.hour() > 12 ? 12 l ? 12 : l + 12 : 12 l ? 0 : l); var d a.clone().hour(c), m !1; i && d.minute(59).isBefore(i) && (m !0), s && d.minute(0).isAfter(s) && (m !0), c ! a.hour() || m ? e + m ? option value + l + disableddisabled classdisabled> + l + /option> : option value + l + > + l + /option> : e + option value + l + selectedselected> + l + /option> } e + /select> , e + : select classminuteselect>; for (l 0; l 60; l + this.timePickerIncrement) { var p l 10 ? 0 + l : l; d a.clone().minute(l), m !1; i && d.second(59).isBefore(i) && (m !0), s && d.second(0).isAfter(s) && (m !0), a.minute() ! l || m ? e + m ? option value + l + disableddisabled classdisabled> + p + /option> : option value + l + > + p + /option> : e + option value + l + selectedselected> + p + /option> } if (e + /select> , this.timePickerSeconds) { e + : select classsecondselect>; for (l 0; l 60; l++) { p l 10 ? 0 + l : l, d a.clone().second(l), m !1; i && d.isBefore(i) && (m !0), s && d.isAfter(s) && (m !0), a.second() ! l || m ? e + m ? option value + l + disableddisabled classdisabled> + p + /option> : option value + l + > + p + /option> : e + option value + l + selectedselected> + p + /option> } e + /select> } if (!this.timePicker24Hour) { e + select classampmselect>; var f , u ; i && a.clone().hour(12).minute(0).second(0).isBefore(i) && (f disableddisabled classdisabled), s && a.clone().hour(0).minute(0).second(0).isAfter(s) && (u disableddisabled classdisabled), a.hour() > 12 ? e + option valueAM + f + >AM/option>option valuePM selectedselected + u + >PM/option> : e + option valueAM selectedselected + f + >AM/option>option valuePM + u + >PM/option>, e + /select> } this.container.find(.drp-calendar. + t + .calendar-time).html(e) } }, updateFormInputs: function () { this.singleDatePicker || this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)) ? this.container.find(button.applyBtn).prop(disabled, !1) : this.container.find(button.applyBtn).prop(disabled, !0) }, move: function () { var t, a {top: 0, left: 0}, i this.drops, s e(window).width(); switch (this.parentEl.is(body) || (a { top: this.parentEl.offset().top - this.parentEl.scrollTop(), left: this.parentEl.offset().left - this.parentEl.scrollLeft() }, s this.parentEl0.clientWidth + this.parentEl.offset().left), i) { caseauto: (t this.element.offset().top + this.element.outerHeight() - a.top) + this.container.outerHeight() > this.parentEl0.scrollHeight && (t this.element.offset().top - this.container.outerHeight() - a.top, i up); break; caseup: t this.element.offset().top - this.container.outerHeight() - a.top; break; default: t this.element.offset().top + this.element.outerHeight() - a.top } this.container.css({top: 0, left: 0, right: auto}); var n this.container.outerWidth(); if (this.container.toggleClass(drop-up, up i), left this.opens) { var r s - this.element.offset().left - this.element.outerWidth(); n + r > e(window).width() ? this.container.css({ top: t, right: auto, left: 9 }) : this.container.css({top: t, right: r, left: auto}) } else if (center this.opens) { (o this.element.offset().left - a.left + this.element.outerWidth() / 2 - n / 2) 0 ? this.container.css({ top: t, right: auto, left: 9 }) : o + n > e(window).width() ? this.container.css({ top: t, left: auto, right: 0 }) : this.container.css({top: t, left: o, right: auto}) } else { var o; (o this.element.offset().left - a.left) + n > e(window).width() ? this.container.css({ top: t, left: auto, right: 0 }) : this.container.css({top: t, left: o, right: auto}) } }, show: function (t) { this.isShowing || (this._outsideClickProxy e.proxy(function (t) { this.outsideClick(t) }, this), e(document).on(mousedown.daterangepicker, this._outsideClickProxy).on(touchend.daterangepicker, this._outsideClickProxy).on(click.daterangepicker, data-toggledropdown, this._outsideClickProxy).on(focusin.daterangepicker, this._outsideClickProxy), e(window).on(resize.daterangepicker, e.proxy(function (t) { this.move(t) }, this)), this.oldStartDate this.startDate.clone(), this.oldEndDate this.endDate.clone(), this.previousRightTime this.endDate.clone(), this.updateView(), this.container.show(), this.move(), this.element.trigger(show.daterangepicker, this), this.isShowing !0) }, hide: function (t) { this.isShowing && (this.endDate || (this.startDate this.oldStartDate.clone(), this.endDate this.oldEndDate.clone()), this.startDate.isSame(this.oldStartDate) && this.endDate.isSame(this.oldEndDate) || this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel), this.updateElement(), e(document).off(.daterangepicker), e(window).off(.daterangepicker), this.container.hide(), this.element.trigger(hide.daterangepicker, this), this.isShowing !1) }, toggle: function (t) { this.isShowing ? this.hide() : this.show() }, outsideClick: function (t) { var a e(t.target); focusin t.type || a.closest(this.element).length || a.closest(this.container).length || a.closest(.calendar-table).length || (this.hide(), this.element.trigger(outsideClick.daterangepicker, this)) }, showCalendars: function () { this.container.addClass(show-calendar), this.move(), this.element.trigger(showCalendar.daterangepicker, this) }, hideCalendars: function () { this.container.removeClass(show-calendar), this.element.trigger(hideCalendar.daterangepicker, this) }, clickRange: function (t) { var e t.target.getAttribute(data-range-key); if (this.chosenLabel e, e this.locale.customRangeLabel) this.showCalendars(); else { var a this.rangese; this.startDate a0, this.endDate a1, this.timePicker || (this.startDate.startOf(day), this.endDate.endOf(day)), this.alwaysShowCalendars || this.hideCalendars(), this.clickApply() } }, clickPrev: function (t) { e(t.target).parents(.drp-calendar).hasClass(left) ? (this.leftCalendar.month.subtract(1, month), this.linkedCalendars && this.rightCalendar.month.subtract(1, month)) : this.rightCalendar.month.subtract(1, month), this.updateCalendars() }, clickNext: function (t) { e(t.target).parents(.drp-calendar).hasClass(left) ? this.leftCalendar.month.add(1, month) : (this.rightCalendar.month.add(1, month), this.linkedCalendars && this.leftCalendar.month.add(1, month)), this.updateCalendars() }, hoverDate: function (t) { if (e(t.target).hasClass(available)) { var a e(t.target).attr(data-title), i a.substr(1, 1), s a.substr(3, 1), n e(t.target).parents(.drp-calendar).hasClass(left) ? this.leftCalendar.calendaris : this.rightCalendar.calendaris, r this.leftCalendar, o this.rightCalendar, h this.startDate; this.endDate || this.container.find(.drp-calendar tbody td).each(function (t, a) { if (!e(a).hasClass(week)) { var i e(a).attr(data-title), s i.substr(1, 1), l i.substr(3, 1), c e(a).parents(.drp-calendar).hasClass(left) ? r.calendarsl : o.calendarsl; c.isAfter(h) && c.isBefore(n) || c.isSame(n, day) ? e(a).addClass(in-range) : e(a).removeClass(in-range) } }) } }, clickDate: function (t) { if (e(t.target).hasClass(available)) { var a e(t.target).attr(data-title), i a.substr(1, 1), s a.substr(3, 1), n e(t.target).parents(.drp-calendar).hasClass(left) ? this.leftCalendar.calendaris : this.rightCalendar.calendaris; if (this.endDate || n.isBefore(this.startDate, day)) { if (this.timePicker) { var r parseInt(this.container.find(.left .hourselect).val(), 10); if (!this.timePicker24Hour) PM (l this.container.find(.left .ampmselect).val()) && r 12 && (r + 12), AM l && 12 r && (r 0); var o parseInt(this.container.find(.left .minuteselect).val(), 10); isNaN(o) && (o parseInt(this.container.find(.left .minuteselect option:last).val(), 10)); var h this.timePickerSeconds ? parseInt(this.container.find(.left .secondselect).val(), 10) : 0; n n.clone().hour(r).minute(o).second(h) } this.endDate null, this.setStartDate(n.clone()) } else if (!this.endDate && n.isBefore(this.startDate)) this.setEndDate(this.startDate.clone()); else { if (this.timePicker) { var l; r parseInt(this.container.find(.right .hourselect).val(), 10); if (!this.timePicker24Hour) PM (l this.container.find(.right .ampmselect).val()) && r 12 && (r + 12), AM l && 12 r && (r 0); o parseInt(this.container.find(.right .minuteselect).val(), 10); isNaN(o) && (o parseInt(this.container.find(.right .minuteselect option:last).val(), 10)); h this.timePickerSeconds ? parseInt(this.container.find(.right .secondselect).val(), 10) : 0; n n.clone().hour(r).minute(o).second(h) } this.setEndDate(n.clone()), this.autoApply && (this.calculateChosenLabel(), this.clickApply()) } this.singleDatePicker && (this.setEndDate(this.startDate), !this.timePicker && this.autoApply && this.clickApply()), this.updateView(), t.stopPropagation() } }, calculateChosenLabel: function () { var t !0, e 0; for (var a in this.ranges) { if (this.timePicker) { var i this.timePickerSeconds ? YYYY-MM-DD HH:mm:ss : YYYY-MM-DD HH:mm; if (this.startDate.format(i) this.rangesa0.format(i) && this.endDate.format(i) this.rangesa1.format(i)) { t !1, this.chosenLabel this.container.find(.ranges li:eq( + e + )).addClass(active).attr(data-range-key); break } } else if (this.startDate.format(YYYY-MM-DD) this.rangesa0.format(YYYY-MM-DD) && this.endDate.format(YYYY-MM-DD) this.rangesa1.format(YYYY-MM-DD)) { t !1, this.chosenLabel this.container.find(.ranges li:eq( + e + )).addClass(active).attr(data-range-key); break } e++ } t && (this.showCustomRangeLabel ? this.chosenLabel this.container.find(.ranges li:last).addClass(active).attr(data-range-key) : this.chosenLabel null, this.showCalendars()) }, clickApply: function (t) { this.hide(), this.element.trigger(apply.daterangepicker, this) }, clickCancel: function (t) { this.startDate this.oldStartDate, this.endDate this.oldEndDate, this.hide(), this.element.trigger(cancel.daterangepicker, this) }, monthOrYearChanged: function (t) { var a e(t.target).closest(.drp-calendar).hasClass(left), i a ? left : right, s this.container.find(.drp-calendar. + i), n parseInt(s.find(.monthselect).val(), 10), r s.find(.yearselect).val(); a || (r this.startDate.year() || r this.startDate.year() && n this.startDate.month()) && (n this.startDate.month(), r this.startDate.year()), this.minDate && (r this.minDate.year() || r this.minDate.year() && n this.minDate.month()) && (n this.minDate.month(), r this.minDate.year()), this.maxDate && (r > this.maxDate.year() || r this.maxDate.year() && n > this.maxDate.month()) && (n this.maxDate.month(), r this.maxDate.year()), a ? (this.leftCalendar.month.month(n).year(r), this.linkedCalendars && (this.rightCalendar.month this.leftCalendar.month.clone().add(1, month))) : (this.rightCalendar.month.month(n).year(r), this.linkedCalendars && (this.leftCalendar.month this.rightCalendar.month.clone().subtract(1, month))), this.updateCalendars() }, timeChanged: function (t) { var a e(t.target).closest(.drp-calendar), i a.hasClass(left), s parseInt(a.find(.hourselect).val(), 10), n parseInt(a.find(.minuteselect).val(), 10); isNaN(n) && (n parseInt(a.find(.minuteselect option:last).val(), 10)); var r this.timePickerSeconds ? parseInt(a.find(.secondselect).val(), 10) : 0; if (!this.timePicker24Hour) { var o a.find(.ampmselect).val(); PM o && s 12 && (s + 12), AM o && 12 s && (s 0) } if (i) { var h this.startDate.clone(); h.hour(s), h.minute(n), h.second(r), this.setStartDate(h), this.singleDatePicker ? this.endDate this.startDate.clone() : this.endDate && this.endDate.format(YYYY-MM-DD) h.format(YYYY-MM-DD) && this.endDate.isBefore(h) && this.setEndDate(h.clone()) } else if (this.endDate) { var l this.endDate.clone(); l.hour(s), l.minute(n), l.second(r), this.setEndDate(l) } this.updateCalendars(), this.updateFormInputs(), this.renderTimePicker(left), this.renderTimePicker(right) }, elementChanged: function () { if (this.element.is(input) && this.element.val().length) { var e this.element.val().split(this.locale.separator), a null, i null; 2 e.length && (a t(e0, this.locale.format), i t(e1, this.locale.format)), (this.singleDatePicker || null a || null i) && (i a t(this.element.val(), this.locale.format)), a.isValid() && i.isValid() && (this.setStartDate(a), this.setEndDate(i), this.updateView()) } }, keydown: function (t) { 9 ! t.keyCode && 13 ! t.keyCode || this.hide(), 27 t.keyCode && (t.preventDefault(), t.stopPropagation(), this.hide()) }, updateElement: function () { if (this.element.is(input) && this.autoUpdateInput) { var t this.startDate.format(this.locale.format); this.singleDatePicker || (t + this.locale.separator + this.endDate.format(this.locale.format)), t ! this.element.val() && this.element.val(t).trigger(change) } }, remove: function () { this.container.remove(), this.element.off(.daterangepicker), this.element.removeData() } }, e.fn.daterangepicker function (t, i) { var s e.extend(!0, {}, e.fn.daterangepicker.defaultOptions, t); return this.each(function () { var t e(this); t.data(daterangepicker) && t.data(daterangepicker).remove(), t.data(daterangepicker, new a(t, s, i)) }), this }, a }); /Script> script src//cdn.webix.com/components/edge/tinymce/tinymce.js type0bd1b3efc0c78bb58054aab4-text/javascript>/script> script src/sources/assets/plugins/css-element-queries/ResizeSensor.js type0bd1b3efc0c78bb58054aab4-text/javascript>/script> script src//cdn.ckeditor.com/4.22.1/standard/ckeditor.js type0bd1b3efc0c78bb58054aab4-text/javascript>/script> style> .daterangepicker { position: absolute; color: inherit; background-color: #fff; border-radius: 4px; border: 1px solid #ddd; width: 278px; max-width: none; padding: 0; margin-top: 7px; top: 100px; left: 20px; z-index: 3001; display: none; font-family: arial; font-size: 15px; line-height: 1em; } .daterangepicker:before, .daterangepicker:after { position: absolute; display: inline-block; border-bottom-color: rgba(0, 0, 0, 0.2); content: ; } .daterangepicker:before { top: -7px; border-right: 7px solid transparent; border-left: 7px solid transparent; border-bottom: 7px solid #ccc; } .daterangepicker:after { top: -6px; border-right: 6px solid transparent; border-bottom: 6px solid #fff; border-left: 6px solid transparent; } .daterangepicker.opensleft:before { right: 9px; } .daterangepicker.opensleft:after { right: 10px; } .daterangepicker.openscenter:before { left: 0; right: 0; width: 0; margin-left: auto; margin-right: auto; } .daterangepicker.openscenter:after { left: 0; right: 0; width: 0; margin-left: auto; margin-right: auto; } .daterangepicker.opensright:before { left: 9px; } .daterangepicker.opensright:after { left: 10px; } .daterangepicker.drop-up { margin-top: -7px; } .daterangepicker.drop-up:before { top: initial; bottom: -7px; border-bottom: initial; border-top: 7px solid #ccc; } .daterangepicker.drop-up:after { top: initial; bottom: -6px; border-bottom: initial; border-top: 6px solid #fff; } .daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar { float: none; } .daterangepicker.single .drp-selected { display: none; } .daterangepicker.show-calendar .drp-calendar { display: block; } .daterangepicker.show-calendar .drp-buttons { display: block; } .daterangepicker.auto-apply .drp-buttons { display: none; } .daterangepicker .drp-calendar { display: none; max-width: 270px; } .daterangepicker .drp-calendar.left { padding: 8px 0 8px 8px; } .daterangepicker .drp-calendar.right { padding: 8px; } .daterangepicker .drp-calendar.single .calendar-table { border: none; } .daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span { color: #fff; border: solid black; border-width: 0 2px 2px 0; border-radius: 0; display: inline-block; padding: 3px; } .daterangepicker .calendar-table .next span { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } .daterangepicker .calendar-table .prev span { transform: rotate(135deg); -webkit-transform: rotate(135deg); } .daterangepicker .calendar-table th, .daterangepicker .calendar-table td { white-space: nowrap; text-align: center; vertical-align: middle; min-width: 32px; width: 32px; height: 24px; line-height: 24px; font-size: 12px; border-radius: 4px; border: 1px solid transparent; white-space: nowrap; cursor: pointer; } .daterangepicker .calendar-table { border: 1px solid #fff; border-radius: 4px; background-color: #fff; } .daterangepicker .calendar-table table { width: 100%; margin: 0; border-spacing: 0; border-collapse: collapse; } .daterangepicker td.available:hover, .daterangepicker th.available:hover { background-color: #eee; border-color: transparent; color: inherit; } .daterangepicker td.week, .daterangepicker th.week { font-size: 80%; color: #ccc; } .daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date { background-color: #fff; border-color: transparent; color: #999; } .daterangepicker td.in-range { background-color: #ebf4f8; border-color: transparent; color: #000; border-radius: 0; } .daterangepicker td.start-date { border-radius: 4px 0 0 4px; } .daterangepicker td.end-date { border-radius: 0 4px 4px 0; } .daterangepicker td.start-date.end-date { border-radius: 4px; } .daterangepicker td.active, .daterangepicker td.active:hover { background-color: #357ebd; border-color: transparent; color: #fff; } .daterangepicker th.month { width: auto; } .daterangepicker td.disabled, .daterangepicker option.disabled { color: #999; cursor: not-allowed; text-decoration: line-through; } .daterangepicker select.monthselect, .daterangepicker select.yearselect { font-size: 12px; padding: 1px; height: auto; margin: 0; cursor: default; } .daterangepicker select.monthselect { margin-right: 2%; width: 56%; } .daterangepicker select.yearselect { width: 40%; } .daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect { width: 50px; margin: 0 auto; background: #eee; border: 1px solid #eee; padding: 2px; outline: 0; font-size: 12px; } .daterangepicker .calendar-time { text-align: center; margin: 4px auto 0 auto; line-height: 30px; position: relative; } .daterangepicker .calendar-time select.disabled { color: #ccc; cursor: not-allowed; } .daterangepicker .drp-buttons { clear: both; text-align: right; padding: 8px; border-top: 1px solid #ddd; display: none; line-height: 12px; vertical-align: middle; } .daterangepicker .drp-selected { display: inline-block; font-size: 12px; padding-right: 8px; } .daterangepicker .drp-buttons .btn { margin-left: 8px; font-size: 12px; font-weight: bold; padding: 4px 8px; } .daterangepicker.show-ranges.single.rtl .drp-calendar.left { border-right: 1px solid #ddd; } .daterangepicker.show-ranges.single.ltr .drp-calendar.left { border-left: 1px solid #ddd; } .daterangepicker.show-ranges.rtl .drp-calendar.right { border-right: 1px solid #ddd; } .daterangepicker.show-ranges.ltr .drp-calendar.left { border-left: 1px solid #ddd; } .daterangepicker .ranges { float: none; text-align: left; margin: 0; } .daterangepicker.show-calendar .ranges { margin-top: 8px; } .daterangepicker .ranges ul { list-style: none; margin: 0 auto; padding: 0; width: 100%; } .daterangepicker .ranges li { font-size: 12px; padding: 8px 12px; cursor: pointer; } .daterangepicker .ranges li:hover { background-color: #eee; } .daterangepicker .ranges li.active { background-color: #08c; color: #fff; } /* Larger Screen Styling */ @media (min-width: 564px) { .daterangepicker { width: auto; } .daterangepicker .ranges ul { width: 140px; } .daterangepicker.single .ranges ul { width: 100%; } .daterangepicker.single .drp-calendar.left { clear: none; } .daterangepicker.single .ranges, .daterangepicker.single .drp-calendar { float: left; } .daterangepicker { direction: ltr; text-align: left; } .daterangepicker .drp-calendar.left { clear: left; margin-right: 0; } .daterangepicker .drp-calendar.left .calendar-table { border-right: none; border-top-right-radius: 0; border-bottom-right-radius: 0; } .daterangepicker .drp-calendar.right { margin-left: 0; } .daterangepicker .drp-calendar.right .calendar-table { border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0; } .daterangepicker .drp-calendar.left .calendar-table { padding-right: 8px; } .daterangepicker .ranges, .daterangepicker .drp-calendar { float: left; } } @media (min-width: 730px) { .daterangepicker .ranges { width: auto; } .daterangepicker .ranges { float: left; } .daterangepicker.rtl .ranges { float: right; } .daterangepicker .drp-calendar.left { clear: none !important; } } /style> meta nameviewport contentwidthdevice-width, heightdevice-height, initial-scale1.0, user-scalable0, minimum-scale1.0, maximum-scale1.0> !-- App --> script type0bd1b3efc0c78bb58054aab4-text/javascript srccodebase-1771608699565401416/myapp.js?v1384>/script> link relstylesheet typetext/css hrefcodebase-1771608699565401416/myapp.css?v1384> style> .webix_view.background-login.webix_layout_space { background: url(/sources/images/bg-login.jpg); background-size: cover; background-repeat: no-repeat; background-position: center;; } /style> script type0bd1b3efc0c78bb58054aab4-text/javascript> webix.protoUI({ name: ckeditor5, $init: function (config) { var html div classwebix_ck_toolbar>/div>; var editor div classwebix_ck_editor>/div>; html + config.mode document ? (div classwebix_ck_body> + editor + div) : editor; this.$view.innerHTML html; this._waitEditor webix.promise.defer(); this.$ready.push(this._require_ckeditor); }, defaults: { config: {} }, _require_ckeditor: function () { if (this.config.cdn false) { this._render_ckeditor; return; } ; // we use DecoupledEditor only var cdn this.config.cdn || https://cdn.ckeditor.com/ckeditor5/11.0.0/decoupled-document; //cdn /sources/assets/plugins; webix.require(cdn + /ckeditor.js?v1080) .then(webix.bind(this._render_ckeditor, this)) .catch(function (e) { console.log(e); }); }, _render_ckeditor: function () { var config this.config.config; DecoupledEditor.create(this.$view.querySelector(.webix_ck_editor), config) .then(webix.bind(this._finalize_init, this)) .catch(function (e) { console.error(e); }); }, _finalize_init: function (editor) { this._tools_container this.$view.querySelector(.webix_ck_toolbar); this._tools_container.appendChild(editor.ui.view.toolbar.element); this._body_container this.$view.childNodes1; this._editor editor; this._waitEditor.resolve(this._editor); // correct height on focus/blur editor.ui.focusTracker.on(change:isFocused, webix.bind(function () { this._set_height(this.$height); }, this)); editor.plugins.get(FileRepository).createUploadAdapter (loader) > { return new UploadAdapter(loader, https://backofficeapi.virtualsoft.tech/Image/uploadImage); }; this._set_height(this.$height); this.setValue(this.config.value); }, $setSize: function (x, y) { if (webix.ui.view.prototype.$setSize.call(this, x, y) && this._body_container) this._set_height(y); }, _set_height: function (y) { var toolbar this._tools_container, toolH toolbar ? toolbar.clientHeight + 2 : 2; // 2px for borders var height (y - toolH) + px; this._body_container.style.height height; }, getEditor: function (wait) { return wait ? this._waitEditor : this._editor; }, setValue: function (value) { this.config.value value; this.getEditor(true).then(function (editor) { editor.setData(value); }); }, getValue: function (value) { return this._editor ? this._editor.getData() : this.config.value; } }, webix.ui.view); class UploadAdapter { constructor(loader) { // The file loader instance to use during the upload. this.loader loader; } // Starts the upload process. upload2() { console.log(this.loader); return this.loader.file .then(file > new Promise((resolve, reject) > { this._initRequest(); this._initListeners(resolve, reject, file); this._sendRequest(file); })); } upload() { return new Promise((resolve, reject) > { const data new FormData(); data.append(upload, this.loader.file); $.ajax({ url: https://backofficeapi.virtualsoft.tech/Image/uploadImage, data, contentType: false, processData: false, type: POST, success: response > { resolve({ default: response.url }); }, error: () > { reject(Upload failed); } }); }); } // Aborts the upload process. abort() { if (this.xhr) { this.xhr.abort(); } } // Initializes the XMLHttpRequest object using the URL passed to the constructor. _initRequest() { const xhr this.xhr new XMLHttpRequest(); // Note that your request may look different. It is up to you and your editor // integration to choose the right communication channel. This example uses // a POST request with JSON as a data structure but your configuration // could be different. xhr.open(POST, https://backofficeapi.virtualsoft.tech/Image/uploadImage, true); xhr.responseType json; } // Initializes XMLHttpRequest listeners. _initListeners(resolve, reject, file) { const xhr this.xhr; const loader this.loader; const genericErrorText `Couldnt upload file: ${file.name}.`; xhr.addEventListener(error, () > reject(genericErrorText)); xhr.addEventListener(abort, () > reject()); xhr.addEventListener(load, () > { const response xhr.response; // This example assumes the XHR servers response object will come with // an error which has its own message that can be passed to reject() // in the upload promise. // // Your integration may handle upload errors in a different way so make sure // it is done properly. The reject() function must be called when the upload fails. if (!response || response.error) { return reject(response && response.error ? response.error.message : genericErrorText); } // If the upload is successful, resolve the upload promise with an object containing // at least the default URL, pointing to the image on the server. // This URL will be used to display the image in the content. Learn more in the // UploadAdapter#upload documentation. resolve({ default: response.url }); }); // Upload progress when it is supported. The file loader has the #uploadTotal and #uploaded // properties which are used e.g. to display the upload progress bar in the editor // user interface. if (xhr.upload) { xhr.upload.addEventListener(progress, evt > { if (evt.lengthComputable) { loader.uploadTotal evt.total; loader.uploaded evt.loaded; } }); } } // Prepares the data and sends the request. _sendRequest(file) { // Prepare the form data. const data new FormData(); data.append(upload, file); // Important note: This is the right place to implement security mechanisms // like authentication and CSRF protection. For instance, you can use // XMLHttpRequest.setRequestHeader() to set the request headers containing // the CSRF token generated earlier by your application. // Send the request. this.xhr.send(data); } } /script> !-- Global site tag (gtag.js) - Google Analytics --> script async srchttps://www.googletagmanager.com/gtag/js?idUA-86923934-1 type0bd1b3efc0c78bb58054aab4-text/javascript>/script> script type0bd1b3efc0c78bb58054aab4-text/javascript> window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(js, new Date()); gtag(config, UA-86923934-1); gtag(Inicio, Backoffice); /script> script srchttps://www.google.com/recaptcha/api.js async defer type0bd1b3efc0c78bb58054aab4-text/javascript>/script> script type0bd1b3efc0c78bb58054aab4-text/javascript> window.countryL us; /script> !-- Google Tag Manager -->script type0bd1b3efc0c78bb58054aab4-text/javascript>(function(w,d,s,l,i){wlwl||;wl.push({gtm.start:new Date().getTime(),event:gtm.js});var fd.getElementsByTagName(s)0,jd.createElement(s),dll!dataLayer?&l+l:;j.asynctrue;j.srchttps://www.googletagmanager.com/gtm.js?id+i+dl;f.parentNode.insertBefore(j,f);})(window,document,script,dataLayer,GTM-NW4K4GJJ);/script>!-- End Google Tag Manager --> /head>body class> !-- Google Tag Manager (noscript) -->noscript>iframe srchttps://www.googletagmanager.com/ns.html?idGTM-NW4K4GJJheight0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- End Google Tag Manager (noscript) --> !--div style background: black; color: white; text-align: center; padding: 3px; border: 1px solid white; > Estimado usuario, br>br>Actualmente se presenta intermitencia en la plataforma, por lo cual, se ha restringido el acceso a la misma. Estamos trabajando para reestablecer completamente el servicio.br>br>Agradecemos su comprensión./div>-->div idloading>/div>script src/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js data-cf-settings0bd1b3efc0c78bb58054aab4-|49 defer>/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]