File manager - Edit - /home/opticamezl/www/newok/com_joomlaupdate.zip
Back
PK ��\4�2� % js/admin-update-default-es5.min.js.gznu �[��� � �Xmo�8��_�8CLE����^��{v�����`��͖&u�(N6�_H~wl�nq��p�"�3�g��C�d:Fi�Ǟh�8�2FZ?;9yAN�?c�>Z9!!Ļ`�uP��tSФg2�D�����}�f������d2�?3V�7v�K���1h$�]^}$��� E��;%cҞ��:i4yM�%J �:q �ݺ��z������Ɂ��Ca��Ț �0!���zt6Nί[d"����P�ABRkR�ꑲ�L��&!�H����1���C�}4(T-�Eg �EG�G\uM��~*����t�/Vp�O�\|�̪��fV����G��v(t��a.[�sb�e��=�K0LL��A�?����c+�(��R(3l�;P�qq���e��ן�:+"v�Z3��e�8��GY}�5���v8O�-<���E����v�����Q?����t���v�}t��_FW�M�"���*��G�6���0�R�%��PjZ�x��6��O��կ��V�ݽl]QƸ�c%�kK��H�&���<�vMbal�a%��Љ�"�7�R�ݮ��WY��0�)���9\d��q{|�ձ���/���{�h5��U��H��:��C���_��b�}�Xi�z6�J�֕Ca1z@+b����+\�C4G����=�n!YX �|�-#5e��� 7�;����~�o[1~��Ŏ���,1� z=?��$���qS���/�t�Q��t=���|A4t+��q����zO9�l�.(�'E �pd���n)O�����ѽ,���U1 ����@(~�u��TX��bX�!�� x�Mc��ȳ۵���<�g-6�r���v 质��� <�o L_V��^�g�=��.���N�rʝ�"JT@Y]J�;����Ә��A�T1o�)�}�Z ��/�6E� +�����l�[3������o=�|w�S7�O�8����d����h�x�h�]��Qa�8�*m&���j����� �T6|-��QZ �o;T ��,E��>�w��ʊ�����?1��&U��[E�i]]�/���vt��S5�Z(�'̺���x+�`2�r~J<B�[e�\ͦ����J(Z�P�����s^[�]�pZ�Je���J9Oxx���u�3e�g����݄�Y�W�C.������i^���"�:ʫw�[�Zqs,. �ὑ )P<|�8�a��5�j�4h��^뷨�t�(+N���럸 �M�6�!���ߚ�*��Q&�J/K�����RiT*��T��A�\��#���^�Tf�;[�[`)�;ez�4R3�W�-�0�������r.C#C4�}Q v�O-܃�&D��+a�=o��?�q���W��e��3�[�����(5��(�+�O�q3F�iqh��Θ�e||���e��RIrǢ<\��9x4V2����;���q�2>b�g����L���4ϣ�t����T�w�!F�<:O3_��R�v3B��M���U���P�hc�z�S�Y6e���a��� PK ��\ɽS˥[ �[ js/default.jsnu �[��� /** * @copyright (C) 2012 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ Joomla = window.Joomla || {}; ((Joomla, document) => { Joomla.submitbuttonUpload = () => { const form = document.getElementById('uploadForm'); const confirmBackup = document.getElementById('joomlaupdate-confirm-backup'); // do field validation if (form.install_package.value === '') { alert(Joomla.Text._('COM_INSTALLER_MSG_INSTALL_PLEASE_SELECT_A_PACKAGE'), true); } else if (form.install_package.files[0].size > form.max_upload_size.value) { alert(Joomla.Text._('COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG'), true); } else if (confirmBackup && confirmBackup.checked) { form.submit(); } }; Joomla.installpackageChange = () => { const form = document.getElementById('uploadForm'); const fileSize = form.install_package.files[0].size; const fileSizeMB = fileSize * 1.0 / 1024.0 / 1024.0; const fileSizeElement = document.getElementById('file_size'); const warningElement = document.getElementById('max_upload_size_warn'); if (form.install_package.value === '') { fileSizeElement.classList.add('hidden'); warningElement.classList.add('hidden'); } else if (fileSize) { fileSizeElement.classList.remove('hidden'); fileSizeElement.innerHTML = Joomla.sanitizeHtml(Joomla.Text._('JGLOBAL_SELECTED_UPLOAD_FILE_SIZE').replace('%s', `${fileSizeMB.toFixed(2)} MB`)); if (fileSize > form.max_upload_size.value) { warningElement.classList.remove('hidden'); } else { warningElement.classList.add('hidden'); } } }; document.addEventListener('DOMContentLoaded', () => { const confirmButton = document.getElementById('confirmButton'); const uploadForm = document.getElementById('uploadForm'); const uploadButton = document.getElementById('uploadButton'); const uploadField = document.getElementById('install_package'); const installButton = document.querySelector('.emptystate-btnadd', document.getElementById('joomlaupdate-wrapper')); const updateCheck = document.getElementById('joomlaupdate-confirm-backup'); const form = installButton ? installButton.closest('form') : null; const task = form ? form.querySelector('[name=task]', form) : null; if (uploadButton) { uploadButton.addEventListener('click', Joomla.submitbuttonUpload); uploadButton.disabled = updateCheck && !updateCheck.checked; if (updateCheck) { updateCheck.addEventListener('change', () => { uploadButton.disabled = !updateCheck.checked; }); } } if (confirmButton && updateCheck && !updateCheck.checked) { confirmButton.classList.add('disabled'); } if (confirmButton && updateCheck) { updateCheck.addEventListener('change', () => { if (updateCheck.checked) { confirmButton.classList.remove('disabled'); } else { confirmButton.classList.add('disabled'); } }); } if (uploadField) { uploadField.addEventListener('change', Joomla.installpackageChange); if (updateCheck) { uploadField.addEventListener('change', () => { const fileSize = uploadForm.install_package.files[0].size; const allowedSize = uploadForm.max_upload_size.value; if (fileSize <= allowedSize && updateCheck.disabled) { updateCheck.disabled = !updateCheck.disabled; } else if (fileSize <= allowedSize && !updateCheck.disabled && !updateCheck.checked) { updateCheck.disabled = false; } else if (fileSize <= allowedSize && updateCheck.checked) { updateCheck.checked = updateCheck.classList.contains('d-none'); uploadButton.disabled = true; } else if (fileSize > allowedSize && !updateCheck.disabled) { updateCheck.disabled = !updateCheck.disabled; updateCheck.checked = updateCheck.classList.contains('d-none'); uploadButton.disabled = true; } }); } } // Trigger (re-) install (including checkbox confirm if we update) if (installButton && installButton.getAttribute('href') === '#' && task) { installButton.addEventListener('click', e => { e.preventDefault(); if (updateCheck && !updateCheck.checked) { return; } task.value = 'update.download'; form.submit(); }); } }); })(Joomla, document); ((Joomla, document) => { /** * PreUpdateChecker * * @type {Object} */ const PreUpdateChecker = {}; /** * Config object * * @type {{serverUrl: string, selector: string}} */ PreUpdateChecker.config = { serverUrl: 'index.php?option=com_joomlaupdate&task=update.fetchextensioncompatibility', batchUrl: 'index.php?option=com_joomlaupdate&task=update.batchextensioncompatibility', selector: '.extension-check' }; /** * Extension compatibility states returned by the server. * * @type {{ * INCOMPATIBLE: number, * COMPATIBLE: number, * MISSING_COMPATIBILITY_TAG: number, * SERVER_ERROR: number}} */ PreUpdateChecker.STATE = { INCOMPATIBLE: 0, COMPATIBLE: 1, MISSING_COMPATIBILITY_TAG: 2, SERVER_ERROR: 3 }; PreUpdateChecker.cleanup = status => { // Set the icon in the nav-tab const infoIcon = document.querySelector('#joomlaupdate-precheck-extensions-tab .fa-spinner'); let iconColor = 'success'; let iconClass = 'check'; switch (status) { case 'danger': iconColor = 'danger'; iconClass = 'times'; break; case 'warning': iconColor = 'warning'; iconClass = 'exclamation-triangle'; break; } if (infoIcon) { infoIcon.classList.remove('fa-spinner', 'fa-spin'); infoIcon.classList.add(`fa-${iconClass}`, `text-${iconColor}`, 'bg-white'); } // Hide table of addons to load const checkedExtensions = document.querySelector('#compatibilityTable0'); const preupdateCheckWarning = document.querySelector('#preupdateCheckWarning'); if (checkedExtensions) { checkedExtensions.classList.add('hidden'); } if (preupdateCheckWarning) { preupdateCheckWarning.classList.add('hidden'); } }; /** * Run the PreUpdateChecker. * Called by document ready, setup below. */ PreUpdateChecker.run = () => { // eslint-disable-next-line no-undef PreUpdateChecker.nonCoreCriticalPlugins = Joomla.getOptions('nonCoreCriticalPlugins', []); // Grab all extensions based on the selector set in the config object const extensions = document.querySelectorAll(PreUpdateChecker.config.selector); // If there are no extensions to be checked we can exit here if (extensions.length === 0) { if (document.getElementById('preupdatecheckbox') !== null) { document.getElementById('preupdatecheckbox').style.display = 'none'; } if (document.getElementById('noncoreplugins') !== null) { document.getElementById('noncoreplugins').checked = true; } [].slice.call(document.querySelectorAll('button.submitupdate')).forEach(el => { el.classList.remove('disabled'); el.removeAttribute('disabled'); }); PreUpdateChecker.cleanup(); return; } // Let the user make an update although there *could* be dangerous plugins in the wild const onChangeEvent = () => { const nonCorePluginCheckbox = document.getElementById('noncoreplugins'); if (nonCorePluginCheckbox.checked) { if (window.confirm(Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_CONFIRM_MESSAGE'))) { [].slice.call(document.querySelectorAll('button.submitupdate')).forEach(el => { el.classList.remove('disabled'); el.removeAttribute('disabled'); }); } else { nonCorePluginCheckbox.checked = false; } } else { [].slice.call(document.querySelectorAll('button.submitupdate')).forEach(el => { el.classList.add('disabled'); el.setAttribute('disabled', ''); }); } }; if (document.getElementById('noncoreplugins') !== null) { document.getElementById('noncoreplugins').addEventListener('change', onChangeEvent); } // Get version of the available joomla update const joomlaUpdateWrapper = document.getElementById('joomlaupdate-wrapper'); PreUpdateChecker.joomlaTargetVersion = joomlaUpdateWrapper.getAttribute('data-joomla-target-version'); PreUpdateChecker.joomlaCurrentVersion = joomlaUpdateWrapper.getAttribute('data-joomla-current-version'); [].slice.call(document.querySelectorAll('.compatibilitytoggle')).forEach(el => { el.addEventListener('click', () => { const compatibilityTable = el.closest('.compatibilityTable'); if (el.dataset.state === 'closed') { el.dataset.state = 'open'; el.innerHTML = Joomla.sanitizeHtml(Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_LESS_COMPATIBILITY_INFORMATION')); [].slice.call(compatibilityTable.querySelectorAll('table .hidden')).forEach(elem => { elem.classList.remove('hidden'); }); } else { el.dataset.state = 'closed'; el.innerHTML = Joomla.sanitizeHtml(Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_MORE_COMPATIBILITY_INFORMATION')); [].slice.call(compatibilityTable.querySelectorAll('table .instver, table .upcomp, table .currcomp')).forEach(elem => { elem.classList.add('hidden'); }); } }); }); // Grab all extensions based on the selector set in the config object const extensionsInformation = []; [].slice.call(extensions).forEach(extension => { const thisInfo = { eid: extension.getAttribute('data-extension-id'), version: extension.getAttribute('data-extension-current-version') }; extensionsInformation.push(thisInfo); }); PreUpdateChecker.checkNextChunk(extensionsInformation); }; /** * Converts a simple object containing query string parameters to a single, escaped query string * * @param data {object|string} A plain object containing the query parameters to pass * @param prefix {string} Prefix for array-type parameters * * @returns {string} */ PreUpdateChecker.interpolateParameters = (data, prefix) => { let encodedString = ''; if (typeof data !== 'object' || data === null || !data) { return ''; } Object.keys(data).forEach(prop => { const item = data[prop]; if (encodedString.length > 0) { encodedString += '&'; } // Scalar values if (typeof item === 'object') { const newPrefix = prefix.length ? `${prefix}[${prop}]` : prop; encodedString += PreUpdateChecker.interpolateParameters(item, newPrefix); return; } if (prefix === '') { encodedString += `${encodeURIComponent(prop)}=${encodeURIComponent(item)}`; return; } encodedString += `${encodeURIComponent(prefix)}[${encodeURIComponent(prop)}]=${encodeURIComponent(item)}`; }); return encodedString; }; /** * Check the compatibility of several extensions. * * Asks the server to check the compatibility of as many extensions as possible. The server * returns these results and the remainder of the extensions not already checked. * * @param {Array} extensionsArray */ PreUpdateChecker.checkNextChunk = extensionsArray => { if (extensionsArray.length === 0) { return; } Joomla.request({ url: PreUpdateChecker.config.batchUrl, method: 'POST', data: PreUpdateChecker.interpolateParameters({ 'joomla-target-version': PreUpdateChecker.joomlaTargetVersion, 'joomla-current-version': PreUpdateChecker.joomlaCurrentVersion, extensions: extensionsArray }, ''), onSuccess(data) { const response = JSON.parse(data); if (response.messages) { Joomla.renderMessages(response.messages); } const extensions = response.data.extensions || []; response.data.compatibility.forEach(record => { const node = document.getElementById(`preUpdateCheck_${record.id}`); if (!node) { return; } PreUpdateChecker.setResultView({ element: node, compatibleVersion: 0, serverError: 0, compatibilityData: record }); }); PreUpdateChecker.checkNextChunk(extensions); }, onError(xhr) { // Report the XHR error Joomla.renderMessages(Joomla.ajaxErrorsMessages(xhr)); // Mark all pending extensions as errored out on the server side extensionsArray.forEach(info => { const node = document.getElementById(`preUpdateCheck_${info.eid}`); if (!node) { return; } PreUpdateChecker.setResultView({ element: node, compatibleVersion: 0, serverError: 1 }); }); } }); }; /** * Check the compatibility for a single extension. * Requests the server checking the compatibility based * on the data set in the element's data attributes. * * @param {Object} extension */ PreUpdateChecker.checkCompatibility = node => { // Result object passed to the callback // Set to server error by default const extension = { element: node, compatibleVersion: 0, serverError: 1 }; // Request the server to check the compatibility for the passed extension and joomla version Joomla.request({ url: `${PreUpdateChecker.config.serverUrl}&joomla-target-version=${encodeURIComponent(PreUpdateChecker.joomlaTargetVersion)}&joomla-current-version=${PreUpdateChecker.joomlaCurrentVersion}&extension-version=${node.getAttribute('data-extension-current-version')}&extension-id=${encodeURIComponent(node.getAttribute('data-extension-id'))}`, onSuccess(data) { const response = JSON.parse(data); // Extract the data from the JResponseJson object extension.serverError = 0; extension.compatibilityData = response.data; // Pass the retrieved data to the callback PreUpdateChecker.setResultView(extension); }, onError() { extension.serverError = 1; // Pass the retrieved data to the callback PreUpdateChecker.setResultView(extension); } }); }; /** * Set the result for a passed extensionData object containing state compatible version * * @param {Object} extensionData */ PreUpdateChecker.setResultView = extensionData => { let html = ''; // const direction = (document.dir !== undefined) ? document.dir : document.getElementsByTagName('html')[0].getAttribute('dir'); // Process Target Version Extension Compatibility if (extensionData.serverError) { // An error occurred -> show unknown error note html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR'); // Force result into group 4 = Pre update checks failed extensionData.compatibilityData = { resultGroup: 4 }; } else { // Switch the compatibility state switch (extensionData.compatibilityData.upgradeCompatibilityStatus.state) { case PreUpdateChecker.STATE.COMPATIBLE: if (extensionData.compatibilityData.upgradeWarning) { const compatibleVersion = Joomla.sanitizeHtml(extensionData.compatibilityData.upgradeCompatibilityStatus.compatibleVersion); html = `<span class="label label-warning">${compatibleVersion}</span>`; // @TODO activate when language strings are correct /* if (compatibilitytypes.querySelector('#updateorangewarning')) { compatibilitytypes.querySelector('#updateorangewarning').classList.remove('hidden'); } */ } else { html = extensionData.compatibilityData.upgradeCompatibilityStatus.compatibleVersion === false ? Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION') : Joomla.sanitizeHtml(extensionData.compatibilityData.upgradeCompatibilityStatus.compatibleVersion); } break; case PreUpdateChecker.STATE.INCOMPATIBLE: // No compatible version found -> display error label html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION'); // @TODO activate when language strings are correct /* if (document.querySelector('#updateyellowwarning')) { document.querySelector('#updateyellowwarning').classList.remove('hidden'); } */ break; case PreUpdateChecker.STATE.MISSING_COMPATIBILITY_TAG: // Could not check compatibility state -> display warning html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION'); // @TODO activate when language strings are correct /* if (document.querySelector('#updateyellowwarning')) { document.querySelector('#updateyellowwarning').classList.remove('hidden'); } */ break; default: // An error occurred -> show unknown error note html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN'); } } // Insert the generated html extensionData.element.innerHTML = html; // Process Current Version Extension Compatibility html = ''; if (extensionData.serverError) { // An error occurred -> show unknown error note html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR'); } else { // Switch the compatibility state switch (extensionData.compatibilityData.currentCompatibilityStatus.state) { case PreUpdateChecker.STATE.COMPATIBLE: html = extensionData.compatibilityData.currentCompatibilityStatus.compatibleVersion === false ? Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION') : extensionData.compatibilityData.currentCompatibilityStatus.compatibleVersion; break; case PreUpdateChecker.STATE.INCOMPATIBLE: // No compatible version found -> display error label html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION'); break; case PreUpdateChecker.STATE.MISSING_COMPATIBILITY_TAG: // Could not check compatibility state -> display warning html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION'); break; default: // An error occurred -> show unknown error note html = Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN'); } } // Insert the generated html const extensionId = extensionData.element.getAttribute('data-extension-id'); document.getElementById(`available-version-${extensionId}`).innerText = html; const compatType = document.querySelector(`#compatibilityTable${extensionData.compatibilityData.resultGroup} tbody`); if (compatType) { compatType.appendChild(extensionData.element.closest('tr')); } // Show the table document.getElementById(`compatibilityTable${extensionData.compatibilityData.resultGroup}`).classList.remove('hidden'); // Process the nonCoreCriticalPlugin list if (extensionData.compatibilityData.resultGroup === 3) { PreUpdateChecker.nonCoreCriticalPlugins = PreUpdateChecker.nonCoreCriticalPlugins // eslint-disable-next-line max-len .filter(ext => !(ext.package_id.toString() === extensionId || ext.extension_id.toString() === extensionId)); } // Have we finished? if (!document.querySelector('#compatibilityTable0 tbody td')) { document.getElementById('compatibilityTable0').classList.add('hidden'); let status = 'success'; PreUpdateChecker.nonCoreCriticalPlugins.forEach(plugin => { let problemPluginRow = document.querySelector(`td[data-extension-id="${plugin.extension_id}"]`); if (!problemPluginRow) { problemPluginRow = document.querySelector(`td[data-extension-id="${plugin.package_id}"]`); } if (problemPluginRow) { const tableRow = problemPluginRow.closest('tr'); tableRow.classList.add('error'); const pluginTitleTableCell = tableRow.querySelector('.exname'); pluginTitleTableCell.innerHTML = `${Joomla.sanitizeHtml(pluginTitleTableCell.innerHTML)} <div class="small"> ${document.querySelector(`td[data-extension-id="${plugin.extension_id}"]`) ? '' : ` - ${plugin.name}`} <span class="badge bg-warning"> <span class="icon-warning"></span> ${Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN')} </span> <button type="button" class="btn btn-sm btn-link hasPopover" title="${Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN')} " data-bs-content="${Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_DESC')} " > ${Joomla.Text._('COM_JOOMLAUPDATE_VIEW_DEFAULT_HELP')} </button> </div>`; const popoverElement = pluginTitleTableCell.querySelector('.hasPopover'); if (popoverElement) { popoverElement.style.cursor = 'pointer'; // eslint-disable-next-line no-new new bootstrap.Popover(popoverElement, { placement: 'top', html: true, trigger: 'focus' }); } status = 'danger'; } }); // Updates required if (document.querySelector('#compatibilityTable2 tbody td')) { status = 'danger'; } else if (status !== 'danger' && document.querySelector('#compatibilityTable1 tbody td')) { status = 'warning'; } if (PreUpdateChecker.nonCoreCriticalPlugins.length === 0 && status === 'success' && document.getElementById('preupdatecheckbox')) { document.getElementById('preupdatecheckbox').style.display = 'none'; } if (PreUpdateChecker.nonCoreCriticalPlugins.length === 0 && status === 'success' && document.getElementById('noncoreplugins')) { document.getElementById('noncoreplugins').checked = true; } if (PreUpdateChecker.nonCoreCriticalPlugins.length === 0 && status === 'success') { [].slice.call(document.querySelectorAll('button.submitupdate')).forEach(el => { el.classList.remove('disabled'); el.removeAttribute('disabled'); }); } else if (PreUpdateChecker.nonCoreCriticalPlugins.length > 0) { document.getElementById('preupdateCheckCompleteProblems').classList.remove('hidden'); } PreUpdateChecker.cleanup(status); } }; if (document.getElementById('preupdatecheck') !== null) { // Run PreUpdateChecker on document ready document.addEventListener('DOMContentLoaded', PreUpdateChecker.run, false); } })(Joomla, document); PK ��\�.�, �, js/default-es5.min.jsnu �[��� (function(){"use strict";/** * @copyright (C) 2012 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */Joomla=window.Joomla||{},function(r,i){r.submitbuttonUpload=function(){var t=i.getElementById("uploadForm"),a=i.getElementById("joomlaupdate-confirm-backup");t.install_package.value===""?alert(r.Text._("COM_INSTALLER_MSG_INSTALL_PLEASE_SELECT_A_PACKAGE"),!0):t.install_package.files[0].size>t.max_upload_size.value?alert(r.Text._("COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG"),!0):a&&a.checked&&t.submit()},r.installpackageChange=function(){var t=i.getElementById("uploadForm"),a=t.install_package.files[0].size,n=a*1/1024/1024,l=i.getElementById("file_size"),s=i.getElementById("max_upload_size_warn");t.install_package.value===""?(l.classList.add("hidden"),s.classList.add("hidden")):a&&(l.classList.remove("hidden"),l.innerHTML=r.sanitizeHtml(r.Text._("JGLOBAL_SELECTED_UPLOAD_FILE_SIZE").replace("%s",n.toFixed(2)+" MB")),a>t.max_upload_size.value?s.classList.remove("hidden"):s.classList.add("hidden"))},i.addEventListener("DOMContentLoaded",function(){var t=i.getElementById("confirmButton"),a=i.getElementById("uploadForm"),n=i.getElementById("uploadButton"),l=i.getElementById("install_package"),s=i.querySelector(".emptystate-btnadd",i.getElementById("joomlaupdate-wrapper")),e=i.getElementById("joomlaupdate-confirm-backup"),c=s?s.closest("form"):null,o=c?c.querySelector("[name=task]",c):null;n&&(n.addEventListener("click",r.submitbuttonUpload),n.disabled=e&&!e.checked,e&&e.addEventListener("change",function(){n.disabled=!e.checked})),t&&e&&!e.checked&&t.classList.add("disabled"),t&&e&&e.addEventListener("change",function(){e.checked?t.classList.remove("disabled"):t.classList.add("disabled")}),l&&(l.addEventListener("change",r.installpackageChange),e&&l.addEventListener("change",function(){var d=a.install_package.files[0].size,E=a.max_upload_size.value;d<=E&&e.disabled?e.disabled=!e.disabled:d<=E&&!e.disabled&&!e.checked?e.disabled=!1:d<=E&&e.checked?(e.checked=e.classList.contains("d-none"),n.disabled=!0):d>E&&!e.disabled&&(e.disabled=!e.disabled,e.checked=e.classList.contains("d-none"),n.disabled=!0)})),s&&s.getAttribute("href")==="#"&&o&&s.addEventListener("click",function(d){d.preventDefault(),!(e&&!e.checked)&&(o.value="update.download",c.submit())})})}(Joomla,document),function(r,i){var t={};t.config={serverUrl:"index.php?option=com_joomlaupdate&task=update.fetchextensioncompatibility",batchUrl:"index.php?option=com_joomlaupdate&task=update.batchextensioncompatibility",selector:".extension-check"},t.STATE={INCOMPATIBLE:0,COMPATIBLE:1,MISSING_COMPATIBILITY_TAG:2,SERVER_ERROR:3},t.cleanup=function(a){var n=i.querySelector("#joomlaupdate-precheck-extensions-tab .fa-spinner"),l="success",s="check";switch(a){case"danger":l="danger",s="times";break;case"warning":l="warning",s="exclamation-triangle";break}n&&(n.classList.remove("fa-spinner","fa-spin"),n.classList.add("fa-"+s,"text-"+l,"bg-white"));var e=i.querySelector("#compatibilityTable0"),c=i.querySelector("#preupdateCheckWarning");e&&e.classList.add("hidden"),c&&c.classList.add("hidden")},t.run=function(){t.nonCoreCriticalPlugins=r.getOptions("nonCoreCriticalPlugins",[]);var a=i.querySelectorAll(t.config.selector);if(a.length===0){i.getElementById("preupdatecheckbox")!==null&&(i.getElementById("preupdatecheckbox").style.display="none"),i.getElementById("noncoreplugins")!==null&&(i.getElementById("noncoreplugins").checked=!0),[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(function(e){e.classList.remove("disabled"),e.removeAttribute("disabled")}),t.cleanup();return}var n=function(){var c=i.getElementById("noncoreplugins");c.checked?window.confirm(r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_CONFIRM_MESSAGE"))?[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(function(o){o.classList.remove("disabled"),o.removeAttribute("disabled")}):c.checked=!1:[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(function(o){o.classList.add("disabled"),o.setAttribute("disabled","")})};i.getElementById("noncoreplugins")!==null&&i.getElementById("noncoreplugins").addEventListener("change",n);var l=i.getElementById("joomlaupdate-wrapper");t.joomlaTargetVersion=l.getAttribute("data-joomla-target-version"),t.joomlaCurrentVersion=l.getAttribute("data-joomla-current-version"),[].slice.call(i.querySelectorAll(".compatibilitytoggle")).forEach(function(e){e.addEventListener("click",function(){var c=e.closest(".compatibilityTable");e.dataset.state==="closed"?(e.dataset.state="open",e.innerHTML=r.sanitizeHtml(r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_LESS_COMPATIBILITY_INFORMATION")),[].slice.call(c.querySelectorAll("table .hidden")).forEach(function(o){o.classList.remove("hidden")})):(e.dataset.state="closed",e.innerHTML=r.sanitizeHtml(r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_MORE_COMPATIBILITY_INFORMATION")),[].slice.call(c.querySelectorAll("table .instver, table .upcomp, table .currcomp")).forEach(function(o){o.classList.add("hidden")}))})});var s=[];[].slice.call(a).forEach(function(e){var c={eid:e.getAttribute("data-extension-id"),version:e.getAttribute("data-extension-current-version")};s.push(c)}),t.checkNextChunk(s)},t.interpolateParameters=function(a,n){var l="";return typeof a!="object"||a===null||!a?"":(Object.keys(a).forEach(function(s){var e=a[s];if(l.length>0&&(l+="&"),typeof e=="object"){var c=n.length?n+"["+s+"]":s;l+=t.interpolateParameters(e,c);return}if(n===""){l+=encodeURIComponent(s)+"="+encodeURIComponent(e);return}l+=encodeURIComponent(n)+"["+encodeURIComponent(s)+"]="+encodeURIComponent(e)}),l)},t.checkNextChunk=function(a){a.length!==0&&r.request({url:t.config.batchUrl,method:"POST",data:t.interpolateParameters({"joomla-target-version":t.joomlaTargetVersion,"joomla-current-version":t.joomlaCurrentVersion,extensions:a},""),onSuccess:function(l){var s=JSON.parse(l);s.messages&&r.renderMessages(s.messages);var e=s.data.extensions||[];s.data.compatibility.forEach(function(c){var o=i.getElementById("preUpdateCheck_"+c.id);o&&t.setResultView({element:o,compatibleVersion:0,serverError:0,compatibilityData:c})}),t.checkNextChunk(e)},onError:function(l){r.renderMessages(r.ajaxErrorsMessages(l)),a.forEach(function(s){var e=i.getElementById("preUpdateCheck_"+s.eid);e&&t.setResultView({element:e,compatibleVersion:0,serverError:1})})}})},t.checkCompatibility=function(a){var n={element:a,compatibleVersion:0,serverError:1};r.request({url:t.config.serverUrl+"&joomla-target-version="+encodeURIComponent(t.joomlaTargetVersion)+"&joomla-current-version="+t.joomlaCurrentVersion+"&extension-version="+a.getAttribute("data-extension-current-version")+"&extension-id="+encodeURIComponent(a.getAttribute("data-extension-id")),onSuccess:function(s){var e=JSON.parse(s);n.serverError=0,n.compatibilityData=e.data,t.setResultView(n)},onError:function(){n.serverError=1,t.setResultView(n)}})},t.setResultView=function(a){var n="";if(a.serverError)n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR"),a.compatibilityData={resultGroup:4};else switch(a.compatibilityData.upgradeCompatibilityStatus.state){case t.STATE.COMPATIBLE:if(a.compatibilityData.upgradeWarning){var l=r.sanitizeHtml(a.compatibilityData.upgradeCompatibilityStatus.compatibleVersion);n='<span class="label label-warning">'+l+"</span>"}else n=a.compatibilityData.upgradeCompatibilityStatus.compatibleVersion===!1?r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION"):r.sanitizeHtml(a.compatibilityData.upgradeCompatibilityStatus.compatibleVersion);break;case t.STATE.INCOMPATIBLE:n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;case t.STATE.MISSING_COMPATIBILITY_TAG:n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;default:n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN")}if(a.element.innerHTML=n,n="",a.serverError)n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR");else switch(a.compatibilityData.currentCompatibilityStatus.state){case t.STATE.COMPATIBLE:n=a.compatibilityData.currentCompatibilityStatus.compatibleVersion===!1?r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION"):a.compatibilityData.currentCompatibilityStatus.compatibleVersion;break;case t.STATE.INCOMPATIBLE:n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;case t.STATE.MISSING_COMPATIBILITY_TAG:n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;default:n=r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN")}var s=a.element.getAttribute("data-extension-id");i.getElementById("available-version-"+s).innerText=n;var e=i.querySelector("#compatibilityTable"+a.compatibilityData.resultGroup+" tbody");if(e&&e.appendChild(a.element.closest("tr")),i.getElementById("compatibilityTable"+a.compatibilityData.resultGroup).classList.remove("hidden"),a.compatibilityData.resultGroup===3&&(t.nonCoreCriticalPlugins=t.nonCoreCriticalPlugins.filter(function(o){return!(o.package_id.toString()===s||o.extension_id.toString()===s)})),!i.querySelector("#compatibilityTable0 tbody td")){i.getElementById("compatibilityTable0").classList.add("hidden");var c="success";t.nonCoreCriticalPlugins.forEach(function(o){var d=i.querySelector('td[data-extension-id="'+o.extension_id+'"]');if(d||(d=i.querySelector('td[data-extension-id="'+o.package_id+'"]')),d){var E=d.closest("tr");E.classList.add("error");var u=E.querySelector(".exname");u.innerHTML=r.sanitizeHtml(u.innerHTML)+` <div class="small"> `+(i.querySelector('td[data-extension-id="'+o.extension_id+'"]')?"":" - "+o.name)+` <span class="badge bg-warning"> <span class="icon-warning"></span> `+r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN")+` </span> <button type="button" class="btn btn-sm btn-link hasPopover" title="`+r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN")+` " data-bs-content="`+r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_DESC")+` " > `+r.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_HELP")+` </button> </div>`;var _=u.querySelector(".hasPopover");_&&(_.style.cursor="pointer",new bootstrap.Popover(_,{placement:"top",html:!0,trigger:"focus"})),c="danger"}}),i.querySelector("#compatibilityTable2 tbody td")?c="danger":c!=="danger"&&i.querySelector("#compatibilityTable1 tbody td")&&(c="warning"),t.nonCoreCriticalPlugins.length===0&&c==="success"&&i.getElementById("preupdatecheckbox")&&(i.getElementById("preupdatecheckbox").style.display="none"),t.nonCoreCriticalPlugins.length===0&&c==="success"&&i.getElementById("noncoreplugins")&&(i.getElementById("noncoreplugins").checked=!0),t.nonCoreCriticalPlugins.length===0&&c==="success"?[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(function(o){o.classList.remove("disabled"),o.removeAttribute("disabled")}):t.nonCoreCriticalPlugins.length>0&&i.getElementById("preupdateCheckCompleteProblems").classList.remove("hidden"),t.cleanup(c)}},i.getElementById("preupdatecheck")!==null&&i.addEventListener("DOMContentLoaded",t.run,!1)}(Joomla,document)})(); PK ��\�{6��+ �+ js/default.min.jsnu �[��� /** * @copyright (C) 2012 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */Joomla=window.Joomla||{},((l,i)=>{l.submitbuttonUpload=()=>{const t=i.getElementById("uploadForm"),s=i.getElementById("joomlaupdate-confirm-backup");t.install_package.value===""?alert(l.Text._("COM_INSTALLER_MSG_INSTALL_PLEASE_SELECT_A_PACKAGE"),!0):t.install_package.files[0].size>t.max_upload_size.value?alert(l.Text._("COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG"),!0):s&&s.checked&&t.submit()},l.installpackageChange=()=>{const t=i.getElementById("uploadForm"),s=t.install_package.files[0].size,a=s*1/1024/1024,n=i.getElementById("file_size"),r=i.getElementById("max_upload_size_warn");t.install_package.value===""?(n.classList.add("hidden"),r.classList.add("hidden")):s&&(n.classList.remove("hidden"),n.innerHTML=l.sanitizeHtml(l.Text._("JGLOBAL_SELECTED_UPLOAD_FILE_SIZE").replace("%s",`${a.toFixed(2)} MB`)),s>t.max_upload_size.value?r.classList.remove("hidden"):r.classList.add("hidden"))},i.addEventListener("DOMContentLoaded",()=>{const t=i.getElementById("confirmButton"),s=i.getElementById("uploadForm"),a=i.getElementById("uploadButton"),n=i.getElementById("install_package"),r=i.querySelector(".emptystate-btnadd",i.getElementById("joomlaupdate-wrapper")),e=i.getElementById("joomlaupdate-confirm-backup"),o=r?r.closest("form"):null,c=o?o.querySelector("[name=task]",o):null;a&&(a.addEventListener("click",l.submitbuttonUpload),a.disabled=e&&!e.checked,e&&e.addEventListener("change",()=>{a.disabled=!e.checked})),t&&e&&!e.checked&&t.classList.add("disabled"),t&&e&&e.addEventListener("change",()=>{e.checked?t.classList.remove("disabled"):t.classList.add("disabled")}),n&&(n.addEventListener("change",l.installpackageChange),e&&n.addEventListener("change",()=>{const d=s.install_package.files[0].size,E=s.max_upload_size.value;d<=E&&e.disabled?e.disabled=!e.disabled:d<=E&&!e.disabled&&!e.checked?e.disabled=!1:d<=E&&e.checked?(e.checked=e.classList.contains("d-none"),a.disabled=!0):d>E&&!e.disabled&&(e.disabled=!e.disabled,e.checked=e.classList.contains("d-none"),a.disabled=!0)})),r&&r.getAttribute("href")==="#"&&c&&r.addEventListener("click",d=>{d.preventDefault(),!(e&&!e.checked)&&(c.value="update.download",o.submit())})})})(Joomla,document),((l,i)=>{const t={};t.config={serverUrl:"index.php?option=com_joomlaupdate&task=update.fetchextensioncompatibility",batchUrl:"index.php?option=com_joomlaupdate&task=update.batchextensioncompatibility",selector:".extension-check"},t.STATE={INCOMPATIBLE:0,COMPATIBLE:1,MISSING_COMPATIBILITY_TAG:2,SERVER_ERROR:3},t.cleanup=s=>{const a=i.querySelector("#joomlaupdate-precheck-extensions-tab .fa-spinner");let n="success",r="check";switch(s){case"danger":n="danger",r="times";break;case"warning":n="warning",r="exclamation-triangle";break}a&&(a.classList.remove("fa-spinner","fa-spin"),a.classList.add(`fa-${r}`,`text-${n}`,"bg-white"));const e=i.querySelector("#compatibilityTable0"),o=i.querySelector("#preupdateCheckWarning");e&&e.classList.add("hidden"),o&&o.classList.add("hidden")},t.run=()=>{t.nonCoreCriticalPlugins=l.getOptions("nonCoreCriticalPlugins",[]);const s=i.querySelectorAll(t.config.selector);if(s.length===0){i.getElementById("preupdatecheckbox")!==null&&(i.getElementById("preupdatecheckbox").style.display="none"),i.getElementById("noncoreplugins")!==null&&(i.getElementById("noncoreplugins").checked=!0),[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(e=>{e.classList.remove("disabled"),e.removeAttribute("disabled")}),t.cleanup();return}const a=()=>{const e=i.getElementById("noncoreplugins");e.checked?window.confirm(l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_CONFIRM_MESSAGE"))?[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(o=>{o.classList.remove("disabled"),o.removeAttribute("disabled")}):e.checked=!1:[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(o=>{o.classList.add("disabled"),o.setAttribute("disabled","")})};i.getElementById("noncoreplugins")!==null&&i.getElementById("noncoreplugins").addEventListener("change",a);const n=i.getElementById("joomlaupdate-wrapper");t.joomlaTargetVersion=n.getAttribute("data-joomla-target-version"),t.joomlaCurrentVersion=n.getAttribute("data-joomla-current-version"),[].slice.call(i.querySelectorAll(".compatibilitytoggle")).forEach(e=>{e.addEventListener("click",()=>{const o=e.closest(".compatibilityTable");e.dataset.state==="closed"?(e.dataset.state="open",e.innerHTML=l.sanitizeHtml(l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_LESS_COMPATIBILITY_INFORMATION")),[].slice.call(o.querySelectorAll("table .hidden")).forEach(c=>{c.classList.remove("hidden")})):(e.dataset.state="closed",e.innerHTML=l.sanitizeHtml(l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_MORE_COMPATIBILITY_INFORMATION")),[].slice.call(o.querySelectorAll("table .instver, table .upcomp, table .currcomp")).forEach(c=>{c.classList.add("hidden")}))})});const r=[];[].slice.call(s).forEach(e=>{const o={eid:e.getAttribute("data-extension-id"),version:e.getAttribute("data-extension-current-version")};r.push(o)}),t.checkNextChunk(r)},t.interpolateParameters=(s,a)=>{let n="";return typeof s!="object"||s===null||!s?"":(Object.keys(s).forEach(r=>{const e=s[r];if(n.length>0&&(n+="&"),typeof e=="object"){const o=a.length?`${a}[${r}]`:r;n+=t.interpolateParameters(e,o);return}if(a===""){n+=`${encodeURIComponent(r)}=${encodeURIComponent(e)}`;return}n+=`${encodeURIComponent(a)}[${encodeURIComponent(r)}]=${encodeURIComponent(e)}`}),n)},t.checkNextChunk=s=>{s.length!==0&&l.request({url:t.config.batchUrl,method:"POST",data:t.interpolateParameters({"joomla-target-version":t.joomlaTargetVersion,"joomla-current-version":t.joomlaCurrentVersion,extensions:s},""),onSuccess(a){const n=JSON.parse(a);n.messages&&l.renderMessages(n.messages);const r=n.data.extensions||[];n.data.compatibility.forEach(e=>{const o=i.getElementById(`preUpdateCheck_${e.id}`);o&&t.setResultView({element:o,compatibleVersion:0,serverError:0,compatibilityData:e})}),t.checkNextChunk(r)},onError(a){l.renderMessages(l.ajaxErrorsMessages(a)),s.forEach(n=>{const r=i.getElementById(`preUpdateCheck_${n.eid}`);r&&t.setResultView({element:r,compatibleVersion:0,serverError:1})})}})},t.checkCompatibility=s=>{const a={element:s,compatibleVersion:0,serverError:1};l.request({url:`${t.config.serverUrl}&joomla-target-version=${encodeURIComponent(t.joomlaTargetVersion)}&joomla-current-version=${t.joomlaCurrentVersion}&extension-version=${s.getAttribute("data-extension-current-version")}&extension-id=${encodeURIComponent(s.getAttribute("data-extension-id"))}`,onSuccess(n){const r=JSON.parse(n);a.serverError=0,a.compatibilityData=r.data,t.setResultView(a)},onError(){a.serverError=1,t.setResultView(a)}})},t.setResultView=s=>{let a="";if(s.serverError)a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR"),s.compatibilityData={resultGroup:4};else switch(s.compatibilityData.upgradeCompatibilityStatus.state){case t.STATE.COMPATIBLE:s.compatibilityData.upgradeWarning?a=`<span class="label label-warning">${l.sanitizeHtml(s.compatibilityData.upgradeCompatibilityStatus.compatibleVersion)}</span>`:a=s.compatibilityData.upgradeCompatibilityStatus.compatibleVersion===!1?l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION"):l.sanitizeHtml(s.compatibilityData.upgradeCompatibilityStatus.compatibleVersion);break;case t.STATE.INCOMPATIBLE:a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;case t.STATE.MISSING_COMPATIBILITY_TAG:a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;default:a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN")}if(s.element.innerHTML=a,a="",s.serverError)a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR");else switch(s.compatibilityData.currentCompatibilityStatus.state){case t.STATE.COMPATIBLE:a=s.compatibilityData.currentCompatibilityStatus.compatibleVersion===!1?l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION"):s.compatibilityData.currentCompatibilityStatus.compatibleVersion;break;case t.STATE.INCOMPATIBLE:a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;case t.STATE.MISSING_COMPATIBILITY_TAG:a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;default:a=l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN")}const n=s.element.getAttribute("data-extension-id");i.getElementById(`available-version-${n}`).innerText=a;const r=i.querySelector(`#compatibilityTable${s.compatibilityData.resultGroup} tbody`);if(r&&r.appendChild(s.element.closest("tr")),i.getElementById(`compatibilityTable${s.compatibilityData.resultGroup}`).classList.remove("hidden"),s.compatibilityData.resultGroup===3&&(t.nonCoreCriticalPlugins=t.nonCoreCriticalPlugins.filter(e=>!(e.package_id.toString()===n||e.extension_id.toString()===n))),!i.querySelector("#compatibilityTable0 tbody td")){i.getElementById("compatibilityTable0").classList.add("hidden");let e="success";t.nonCoreCriticalPlugins.forEach(o=>{let c=i.querySelector(`td[data-extension-id="${o.extension_id}"]`);if(c||(c=i.querySelector(`td[data-extension-id="${o.package_id}"]`)),c){const d=c.closest("tr");d.classList.add("error");const E=d.querySelector(".exname");E.innerHTML=`${l.sanitizeHtml(E.innerHTML)} <div class="small"> ${i.querySelector(`td[data-extension-id="${o.extension_id}"]`)?"":` - ${o.name}`} <span class="badge bg-warning"> <span class="icon-warning"></span> ${l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN")} </span> <button type="button" class="btn btn-sm btn-link hasPopover" title="${l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN")} " data-bs-content="${l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_DESC")} " > ${l.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_HELP")} </button> </div>`;const _=E.querySelector(".hasPopover");_&&(_.style.cursor="pointer",new bootstrap.Popover(_,{placement:"top",html:!0,trigger:"focus"})),e="danger"}}),i.querySelector("#compatibilityTable2 tbody td")?e="danger":e!=="danger"&&i.querySelector("#compatibilityTable1 tbody td")&&(e="warning"),t.nonCoreCriticalPlugins.length===0&&e==="success"&&i.getElementById("preupdatecheckbox")&&(i.getElementById("preupdatecheckbox").style.display="none"),t.nonCoreCriticalPlugins.length===0&&e==="success"&&i.getElementById("noncoreplugins")&&(i.getElementById("noncoreplugins").checked=!0),t.nonCoreCriticalPlugins.length===0&&e==="success"?[].slice.call(i.querySelectorAll("button.submitupdate")).forEach(o=>{o.classList.remove("disabled"),o.removeAttribute("disabled")}):t.nonCoreCriticalPlugins.length>0&&i.getElementById("preupdateCheckCompleteProblems").classList.remove("hidden"),t.cleanup(e)}},i.getElementById("preupdatecheck")!==null&&i.addEventListener("DOMContentLoaded",t.run,!1)})(Joomla,document); PK ��\�a�� � js/admin-update-default.jsnu �[��� /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ if (!Joomla) { throw new Error('Joomla API was not initialised properly'); } Joomla.Update = window.Joomla.Update || { stat_total: 0, stat_files: 0, stat_inbytes: 0, stat_outbytes: 0, password: null, totalsize: 0, ajax_url: null, return_url: null, cached_instance: null, genericErrorMessage: message => { const headerDiv = document.getElementById('errorDialogLabel'); const messageDiv = document.getElementById('errorDialogMessage'); const progressDiv = document.getElementById('joomlaupdate-progress'); const errorDiv = document.getElementById('joomlaupdate-error'); headerDiv.innerHTML = Joomla.Text._('COM_JOOMLAUPDATE_ERRORMODAL_HEAD_GENERIC'); messageDiv.innerHTML = message; if (message.toLowerCase() === 'invalid login') { messageDiv.innerHTML = Joomla.Text._('COM_JOOMLAUPDATE_ERRORMODAL_BODY_INVALIDLOGIN'); } progressDiv.classList.add('d-none'); errorDiv.classList.remove('d-none'); }, handleErrorResponse: xhr => { const isForbidden = xhr.status === 403; const headerDiv = document.getElementById('errorDialogLabel'); const messageDiv = document.getElementById('errorDialogMessage'); const progressDiv = document.getElementById('joomlaupdate-progress'); const errorDiv = document.getElementById('joomlaupdate-error'); if (isForbidden) { headerDiv.innerHTML = Joomla.Text._('COM_JOOMLAUPDATE_ERRORMODAL_HEAD_FORBIDDEN'); messageDiv.innerHTML = Joomla.Text._('COM_JOOMLAUPDATE_ERRORMODAL_BODY_FORBIDDEN'); } else { headerDiv.innerHTML = Joomla.Text._('COM_JOOMLAUPDATE_ERRORMODAL_HEAD_SERVERERROR'); messageDiv.innerHTML = Joomla.Text._('COM_JOOMLAUPDATE_ERRORMODAL_BODY_SERVERERROR'); } progressDiv.classList.add('d-none'); errorDiv.classList.remove('d-none'); }, startExtract: () => { // Reset variables Joomla.Update.stat_files = 0; Joomla.Update.stat_inbytes = 0; Joomla.Update.stat_outbytes = 0; Joomla.Update.cached_instance = null; document.getElementById('extbytesin').innerText = Joomla.Update.formatBytes(Joomla.Update.stat_inbytes); document.getElementById('extbytesout').innerText = Joomla.Update.formatBytes(Joomla.Update.stat_outbytes); document.getElementById('extfiles').innerText = Joomla.Update.stat_files; const postData = new FormData(); postData.append('task', 'startExtract'); postData.append('password', Joomla.Update.password); // Make the initial request to the extraction script Joomla.request({ url: Joomla.Update.ajax_url, data: postData, method: 'POST', perform: true, onSuccess: rawJson => { try { // If we can decode the response as JSON step through the update const data = JSON.parse(rawJson); Joomla.Update.stepExtract(data); } catch (e) { // Decoding failed; display an error Joomla.Update.genericErrorMessage(e.message); } }, onError: Joomla.Update.handleErrorResponse }); }, stepExtract: data => { // Did we get an error from the ZIP extraction engine? if (data.status === false) { Joomla.Update.genericErrorMessage(data.message); return; } const progressDiv = document.getElementById('progress-bar'); const titleDiv = document.getElementById('update-title'); // Add data to variables Joomla.Update.stat_inbytes = data.bytesIn; Joomla.Update.stat_percent = data.percent; Joomla.Update.stat_percent = Joomla.Update.stat_percent || 100 * (Joomla.Update.stat_inbytes / Joomla.Update.totalsize); // Update GUI Joomla.Update.stat_outbytes = data.bytesOut; Joomla.Update.stat_files = data.files; if (Joomla.Update.stat_percent < 100) { progressDiv.classList.remove('bg-success'); progressDiv.style.width = `${Joomla.Update.stat_percent}%`; progressDiv.setAttribute('aria-valuenow', Joomla.Update.stat_percent); } else if (Joomla.Update.stat_percent >= 100) { progressDiv.classList.add('bg-success'); progressDiv.style.width = '100%'; progressDiv.setAttribute('aria-valuenow', 100); } progressDiv.innerText = `${Joomla.Update.stat_percent.toFixed(1)}%`; document.getElementById('extbytesin').innerText = Joomla.Update.formatBytes(Joomla.Update.stat_inbytes); document.getElementById('extbytesout').innerText = Joomla.Update.formatBytes(Joomla.Update.stat_outbytes); document.getElementById('extfiles').innerText = Joomla.Update.stat_files; // Are we done extracting? if (data.done) { progressDiv.classList.add('bg-success'); progressDiv.style.width = '100%'; progressDiv.setAttribute('aria-valuenow', 100); titleDiv.innerHTML = Joomla.Text._('COM_JOOMLAUPDATE_UPDATING_COMPLETE'); Joomla.Update.finalizeUpdate(); return; } // This is required so we can get outside the scope of the previous XHR's success handler. window.setTimeout(() => { Joomla.Update.delayedStepExtract(data.instance); }, 50); }, delayedStepExtract: instance => { Joomla.Update.cached_instance = instance; const postData = new FormData(); postData.append('task', 'stepExtract'); postData.append('password', Joomla.Update.password); if (instance) { postData.append('instance', instance); } Joomla.request({ url: Joomla.Update.ajax_url, data: postData, method: 'POST', perform: true, onSuccess: rawJson => { try { const newData = JSON.parse(rawJson); Joomla.Update.stepExtract(newData); } catch (e) { Joomla.Update.genericErrorMessage(e.message); } }, onError: Joomla.Update.handleErrorResponse }); }, finalizeUpdate: () => { const postData = new FormData(); postData.append('task', 'finalizeUpdate'); postData.append('password', Joomla.Update.password); Joomla.request({ url: Joomla.Update.ajax_url, data: postData, method: 'POST', perform: true, onSuccess: () => { window.location = Joomla.Update.return_url; }, onError: Joomla.Update.handleErrorResponse }); }, formatBytes: (bytes, decimals = 2) => { if (bytes === 0) return `0 ${Joomla.Text._('JLIB_SIZE_BYTES')}`; const k = 1024; const dm = decimals < 0 ? 0 : decimals; const sizes = [Joomla.Text._('JLIB_SIZE_BYTES'), Joomla.Text._('JLIB_SIZE_KB'), Joomla.Text._('JLIB_SIZE_MB'), Joomla.Text._('JLIB_SIZE_GB'), Joomla.Text._('JLIB_SIZE_TB'), Joomla.Text._('JLIB_SIZE_PB'), Joomla.Text._('JLIB_SIZE_EB'), Joomla.Text._('JLIB_SIZE_ZB'), Joomla.Text._('JLIB_SIZE_YB')]; const i = Math.floor(Math.log(bytes) / Math.log(k)); return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`; }, resumeButtonHandler: e => { e.preventDefault(); document.getElementById('joomlaupdate-progress').classList.remove('d-none'); document.getElementById('joomlaupdate-error').classList.add('d-none'); if (Joomla.Update.cached_instance === false) { Joomla.Update.startExtract(); } else { Joomla.Update.delayedStepExtract(Joomla.Update.cached_instance); } }, restartButtonHandler: e => { e.preventDefault(); document.getElementById('joomlaupdate-progress').classList.remove('d-none'); document.getElementById('joomlaupdate-error').classList.add('d-none'); Joomla.Update.startExtract(); } }; // Add click handlers for the Resume and Restart Update buttons in the error pane. const elResume = document.getElementById('joomlaupdate-resume'); const elRestart = document.getElementById('joomlaupdate-restart'); if (elResume) { elResume.addEventListener('click', Joomla.Update.resumeButtonHandler); } if (elRestart) { elRestart.addEventListener('click', Joomla.Update.restartButtonHandler); } // Start the update const JoomlaUpdateOptions = Joomla.getOptions('joomlaupdate'); if (JoomlaUpdateOptions && Object.keys(JoomlaUpdateOptions).length) { Joomla.Update.password = JoomlaUpdateOptions.password; Joomla.Update.totalsize = JoomlaUpdateOptions.totalsize; Joomla.Update.ajax_url = JoomlaUpdateOptions.ajax_url; Joomla.Update.return_url = JoomlaUpdateOptions.return_url; Joomla.Update.startExtract(); } PK ��\2�� ! js/admin-update-default.min.js.gznu �[��� � �XQo�H~�p��F��z� ��BpRz"H+�UE6��5���q����m1��:�t:^�ޙ����.{{ό=�_FSŇ#4�:!�K���э@}+�C����m�!F�vp0�L�/R�CfK5<Lm����H~g��3�Xh\��!���B|Js)���TF�T�� F�u�=��w�o��oSGJN�SJ*���㋖1a� .8rr �)� �&�g���(`@N����3�(��5��/7<��pq=�ի�1�������Ð�4�5��/�n�0�(�X�ջ�.42�C69L��t�К ���̗B��n �x�!�B2lL[�eB���Y(�mv �I��I{��$�m�Ϫ��ڏ�*��$T�$�g�:�\Po.;mwQ�K�C{`�'���m��i��h_z���:��q{��;nμs��:I6v� P�Q��� �`�uM.nY�#�C.�JŒO���6?Z��ۭf�{�:7 ��C�u�k�YXf�/�H��I��-��s:b"!�lt$�.�줳b��+����ך=���V����SӞ����k��M�<��O��R����^��Kg2���b�;J�v�F�лC�|�Y�=�@�^���� ��m��@��[n�[ۻ�.3ÅI��%Yr�&o�3l$z�8ɏ����&�q��4�%NVI�g_6� i�J5n2du�Y�,��jR�~MBW�X̵��$�W�W�Y�-Eݜ�h��Հ�G2����I#PINj�*E?�}к����t�K�}���S,\�R[#D��-I�>CdI�ևH͒�8���J���b� ���>S��7�=�|^��;,��3Z���`s$ܿf��\8�C0I�ߔ�v�l�M�`��P�bT��]�{�q�J�8(��gR �л�ư2�;}����8Gn ����z�$m��� p�^��m�8��*Q<FT�:F�L�8ۿeaBN̒p�m�UǩT Ѧ�]�Yu�_�Tu��\�J�m����J����[��Hd���>�$�>Z�g��n��]z�u��7�^�%,-.+�A�hm� B6��������o�ӇJ)z�s;�s\,p>䰥�4��ST*+�ܯI��䆻��,��On���XNnlzaO&�bd��ݎŕ���D���C�3�R�}��;�c���ݗdqp]�!��+�X�h�m�m��~�7h|��&�_��N�y��2_;GN �v?�h1ݪ�g�L�)���J/K��R�T��T��a��T��#�&�RY�0�C�r,I�^W/f�uJ��roO�%w1B�Ƌ���>ϯ�T���Ј�x�V]�v��6��!Z%���Zr�����n����hr,=z@T�S��~�� �H����"}����E*�-��Y?%@��KL�0�6I=�X��$n/�f���-���uZ74�@���#>�/Y$&���Q�:��!�b���忢�U�J���h�i~H+(;1�Q�bm�wâ��n�fl\����D�qђ�����U+qi#����*�V'2 PK ��\a��� � "