Linux mail.vriendennsm.nl 6.1.0-51-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.177-1 (2026-07-16) x86_64
Apache/2.4.68 (Debian)
Server IP : 217.154.75.17 & Your IP : 216.73.216.195
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
vnsm /
media /
system /
js /
Delete
Unzip
Name
Size
Permission
Date
Action
fields
[ DIR ]
drwxr-xr-x
2025-02-08 22:29
associations-edit-uncompressed.js
7.08
KB
-rwxr-xr-x
2023-07-08 16:23
associations-edit.js
2.07
KB
-rwxr-xr-x
2023-07-08 16:23
calendar-setup-uncompressed.js
8.75
KB
-rwxr-xr-x
2023-07-08 16:23
calendar-setup.js
3.02
KB
-rwxr-xr-x
2023-07-08 16:23
calendar-uncompressed.js
48.02
KB
-rwxr-xr-x
2023-07-08 16:23
calendar.js
29.5
KB
-rwxr-xr-x
2023-07-08 16:23
caption-uncompressed.js
1.3
KB
-rwxr-xr-x
2023-07-08 16:23
caption.js
491
B
-rwxr-xr-x
2023-07-08 16:23
color-field-adv-init.js
654
B
-rwxr-xr-x
2023-07-08 16:23
color-field-adv-init.min.js
413
B
-rwxr-xr-x
2023-07-08 16:23
color-field-init.js
199
B
-rwxr-xr-x
2023-07-08 16:23
color-field-init.min.js
182
B
-rwxr-xr-x
2023-07-08 16:23
combobox-uncompressed.js
6.66
KB
-rwxr-xr-x
2023-07-08 16:23
combobox.js
3.48
KB
-rwxr-xr-x
2023-07-08 16:23
core-uncompressed.js
27.37
KB
-rwxr-xr-x
2023-07-08 16:23
core.js
8.53
KB
-rwxr-xr-x
2023-07-08 16:23
frontediting-uncompressed.js
6.07
KB
-rwxr-xr-x
2023-07-08 16:23
frontediting.js
2.69
KB
-rwxr-xr-x
2023-07-08 16:23
helpsite.js
1.03
KB
-rwxr-xr-x
2023-07-08 16:23
highlighter-uncompressed.js
3.62
KB
-rwxr-xr-x
2023-07-08 16:23
highlighter.js
1.55
KB
-rwxr-xr-x
2023-07-08 16:23
html5fallback-uncompressed.js
13.3
KB
-rwxr-xr-x
2023-07-08 16:23
html5fallback.js
5.8
KB
-rwxr-xr-x
2023-07-08 16:23
jquery.Jcrop.js
73.88
KB
-rwxr-xr-x
2023-07-08 16:23
jquery.Jcrop.min.js
37.48
KB
-rwxr-xr-x
2023-07-08 16:23
keepalive-uncompressed.js
1.19
KB
-rwxr-xr-x
2023-07-08 16:23
keepalive.js
462
B
-rwxr-xr-x
2023-07-08 16:23
modal-fields-uncompressed.js
6.37
KB
-rwxr-xr-x
2023-07-08 16:23
modal-fields.js
2.18
KB
-rwxr-xr-x
2023-07-08 16:23
modal-uncompressed.js
13.13
KB
-rwxr-xr-x
2023-07-08 16:23
modal.js
9.89
KB
-rwxr-xr-x
2023-07-08 16:23
moduleorder.js
2.21
KB
-rwxr-xr-x
2023-07-08 16:23
mootools-core-uncompressed.js
147.28
KB
-rwxr-xr-x
2023-07-08 16:23
mootools-core.js
81.93
KB
-rwxr-xr-x
2023-07-08 16:23
mootools-more-uncompressed.js
340.69
KB
-rwxr-xr-x
2023-07-08 16:23
mootools-more.js
231.27
KB
-rwxr-xr-x
2023-07-08 16:23
mootree-uncompressed.js
21.39
KB
-rwxr-xr-x
2023-07-08 16:23
mootree.js
5.96
KB
-rwxr-xr-x
2023-07-08 16:23
multiselect-uncompressed.js
1.32
KB
-rwxr-xr-x
2023-07-08 16:23
multiselect.js
431
B
-rwxr-xr-x
2023-07-08 16:23
passwordstrength.js
2.27
KB
-rwxr-xr-x
2023-07-08 16:23
permissions-uncompressed.js
3.41
KB
-rwxr-xr-x
2023-07-08 16:23
permissions.js
1.85
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.classlist-uncompressed.js
10.59
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.classlist.js
4.74
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.event-uncompressed.js
13.11
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.event.js
6.32
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.filter-uncompressed.js
1.12
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.filter.js
525
B
-rwxr-xr-x
2023-07-08 16:23
polyfill.map-uncompressed.js
1.07
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.map.js
509
B
-rwxr-xr-x
2023-07-08 16:23
polyfill.xpath-uncompressed.js
29.32
KB
-rwxr-xr-x
2023-07-08 16:23
polyfill.xpath.js
28.75
KB
-rwxr-xr-x
2023-07-08 16:23
progressbar-uncompressed.js
2.78
KB
-rwxr-xr-x
2023-07-08 16:23
progressbar.js
1.08
KB
-rwxr-xr-x
2023-07-08 16:23
punycode-uncompressed.js
14.35
KB
-rwxr-xr-x
2023-07-08 16:23
punycode.js
2.76
KB
-rwxr-xr-x
2023-07-08 16:23
repeatable-uncompressed.js
16.88
KB
-rwxr-xr-x
2023-07-08 16:23
repeatable.js
5.68
KB
-rwxr-xr-x
2023-07-08 16:23
sendtestmail-uncompressed.js
1.64
KB
-rwxr-xr-x
2023-07-08 16:23
sendtestmail.js
1.02
KB
-rwxr-xr-x
2023-07-08 16:23
subform-repeatable-uncompressed.js
10.15
KB
-rwxr-xr-x
2023-07-08 16:23
subform-repeatable.js
5.33
KB
-rwxr-xr-x
2023-07-08 16:23
switcher-uncompressed.js
2.3
KB
-rwxr-xr-x
2023-07-08 16:23
switcher.js
1018
B
-rwxr-xr-x
2023-07-08 16:23
tabs-state-uncompressed.js
8.82
KB
-rwxr-xr-x
2023-07-08 16:23
tabs-state.js
2.5
KB
-rwxr-xr-x
2023-07-08 16:23
tabs.js
2.48
KB
-rwxr-xr-x
2023-07-08 16:23
validate-uncompressed.js
7.35
KB
-rwxr-xr-x
2023-07-08 16:23
validate.js
3.06
KB
-rwxr-xr-x
2023-07-08 16:23
Save
Rename
/** * @copyright (C) 2010 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ /** * Unobtrusive Form Validation library * * Inspired by: Chris Campbell <www.particletree.com> * * @since 1.5 */ var JFormValidator = function() { "use strict"; var handlers, inputEmail, custom, setHandler = function(name, fn, en) { en = (en === '') ? true : en; handlers[name] = { enabled : en, exec : fn }; }, findLabel = function(id, form){ var $label, $form = jQuery(form); if (!id) { return false; } $label = $form.find('#' + id + '-lbl'); if ($label.length) { return $label; } $label = $form.find('label[for="' + id + '"]'); if ($label.length) { return $label; } return false; }, handleResponse = function(state, $el) { // Get a label var $label = $el.data('label'); if ($label === undefined) { $label = findLabel($el.attr('id'), $el.get(0).form); $el.data('label', $label); } // Set the element and its label (if exists) invalid state if (state === false) { $el.addClass('invalid').attr('aria-invalid', 'true'); if ($label) { $label.addClass('invalid'); } } else { $el.removeClass('invalid').attr('aria-invalid', 'false'); if ($label) { $label.removeClass('invalid'); } } }, validate = function(el) { var $el = jQuery(el), tagName, handler; // Ignore the element if its currently disabled, because are not submitted for the http-request. For those case return always true. if ($el.attr('disabled')) { handleResponse(true, $el); return true; } // If the field is required make sure it has a value if ($el.attr('required') || $el.hasClass('required')) { tagName = $el.prop("tagName").toLowerCase(); if (tagName === 'fieldset' && ($el.hasClass('radio') || $el.hasClass('checkboxes'))) { if (!$el.find('input:checked').length){ handleResponse(false, $el); return false; } //If element has class placeholder that means it is empty. } else if (!$el.val() || $el.hasClass('placeholder') || ($el.attr('type') === 'checkbox' && !$el.is(':checked'))) { handleResponse(false, $el); return false; } } // Only validate the field if the validate class is set handler = ($el.attr('class') && $el.attr('class').match(/validate-([a-zA-Z0-9\_\-]+)/)) ? $el.attr('class').match(/validate-([a-zA-Z0-9\_\-]+)/)[1] : ""; // Try HTML5 pattern first then the handlers if ($el.attr('pattern') && $el.attr('pattern') != '') { if ($el.val().length) { var isValid = new RegExp('^'+$el.attr('pattern')+'$').test($el.val()); handleResponse(isValid, $el); return isValid; } if ($el.attr('required') || $el.hasClass('required')) { handleResponse(false, $el); return false; } handleResponse(true, $el); return true; } else { if (handler === '') { handleResponse(true, $el); return true; } // Check the additional validation types if ((handler) && (handler !== 'none') && (handlers[handler]) && $el.val()) { // Execute the validation handler and return result if (handlers[handler].exec($el.val(), $el) !== true) { handleResponse(false, $el); return false; } } // Return validation state handleResponse(true, $el); return true; } }, isValid = function(form) { var fields, valid = true, message, error, label, invalid = [], i, l; // Validate form fields fields = jQuery(form).find('input, textarea, select, fieldset'); for (i = 0, l = fields.length; i < l; i++) { // Ignore Rule/Filters/Assigned field for spead up validation // And other fields that has class="novalidate" if(jQuery(fields[i]).hasClass('novalidate')) { continue; } if (validate(fields[i]) === false) { valid = false; invalid.push(fields[i]); } } // Run custom form validators if present jQuery.each(custom, function(key, validator) { if (validator.exec() !== true) { valid = false; } }); if (!valid && invalid.length > 0) { message = Joomla.JText._('JLIB_FORM_FIELD_INVALID'); error = {"error": []}; for (i = invalid.length - 1; i >= 0; i--) { label = jQuery(invalid[i]).data("label"); if (label) { error.error.push(message + label.text().replace("*", "")); } } Joomla.renderMessages(error); } return valid; }, attachToForm = function(form) { var inputFields = [], elements, $form = jQuery(form); // Iterate through the form object and attach the validate method to all input fields. elements = $form.find('input, textarea, select, fieldset, button'); for (var i = 0, l = elements.length; i < l; i++) { var $el = jQuery(elements[i]), tagName = $el.prop("tagName").toLowerCase(); // Attach isValid method to submit button if ((tagName === 'input' || tagName === 'button') && ($el.attr('type') === 'submit' || $el.attr('type') === 'image')) { if ($el.hasClass('validate')) { $el.on('click', function() { return isValid(form); }); } } // Attach validate method only to fields else if (tagName !== 'button' && !(tagName === 'input' && $el.attr('type') === 'button')) { if ($el.hasClass('required')) { $el.attr('aria-required', 'true').attr('required', 'required'); } if (tagName !== 'fieldset') { $el.on('blur', function() { return validate(this); }); if ($el.hasClass('validate-email') && inputEmail) { elements[i].setAttribute('type', 'email'); } } inputFields.push($el); } } $form.data('inputfields', inputFields); }, initialize = function() { handlers = {}; custom = custom || {}; inputEmail = (function() { var input = document.createElement("input"); input.setAttribute("type", "email"); return input.type !== "text"; })(); // Default handlers setHandler('username', function(value, element) { var regex = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&]", "i"); return !regex.test(value); }); setHandler('password', function(value, element) { var regex = /^\S[\S ]{2,98}\S$/; return regex.test(value); }); setHandler('numeric', function(value, element) { var regex = /^(\d|-)?(\d|,)*\.?\d*$/; return regex.test(value); }); setHandler('email', function(value, element) { value = punycode.toASCII(value); var regex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; return regex.test(value); }); // Attach to forms with class 'form-validate' var forms = jQuery('form.form-validate'); for (var i = 0, l = forms.length; i < l; i++) { attachToForm(forms[i]); } }; // Initialize handlers and attach validation to form initialize(); return { isValid : isValid, validate : validate, setHandler : setHandler, attachToForm : attachToForm, custom: custom }; }; document.formvalidator = null; jQuery(function() { document.formvalidator = new JFormValidator(); });