Файловый менеджер - Редактировать - /var/www/html/com_modules.zip
Ðазад
PK ! �N�_ js/admin-select-modal.jsnu �[��� /** * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ (document => { document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('#new-modules-list a.select-link').forEach(elem => { elem.addEventListener('click', ({ currentTarget, target }) => { let targetElem = currentTarget; // There is some bug with events in iframe where currentTarget is "null" // => prevent this here by bubble up if (!targetElem) { targetElem = target; if (targetElem && !targetElem.classList.contains('select-link')) { targetElem = targetElem.parentNode; } } const functionName = targetElem.getAttribute('data-function'); if (functionName && typeof window.parent[functionName] === 'function') { window.parent[functionName](targetElem); } }); }); }); })(document); PK ! )�S S js/admin-module-edit.jsnu �[��� /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ Joomla = window.Joomla || {}; (Joomla => { Joomla.submitbutton = task => { if (task === 'module.cancel' || document.formvalidator.isValid(document.getElementById('module-form'))) { Joomla.submitform(task, document.getElementById('module-form')); const options = Joomla.getOptions('module-edit'); if (window.self !== window.top) { if (window.parent.viewLevels) { const updPosition = document.getElementById('jform_position').value; const updTitle = document.getElementById('jform_title').value; const updMenus = document.querySelector('#jform_assignment').value; const updStatus = document.querySelector('#jform_published').value; const updAccess = document.querySelector('#jform_access').value; const tmpMenu = window.parent.document.getElementById(`menus-${options.itemId}`); const tmpRow = window.parent.document.getElementById(`tr-${options.itemId}`); const tmpStatus = window.parent.document.getElementById(`status-${options.itemId}`); window.parent.inMenus = []; window.parent.numMenus = [].slice.call(document.querySelectorAll('input[name="jform[assigned][]"]')).length; [].slice.call(document.querySelectorAll('input[name="jform[assigned][]"]')).forEach(element => { if (updMenus > 0) { if (element.checked) { window.parent.inMenus.push(parseInt(element.value, 10)); } } if (updMenus < 0) { if (!element.checked) { window.parent.inMenus.push(parseInt(element.value, 10)); } } }); if (updMenus === '-') { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`); if (!tmpRow.classList.contains('no') || tmpRow.classList.length === 0) { tmpRow.classList.add('no'); } } if (parseInt(updMenus, 10) === 0) { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-info">${Joomla.Text._('JALL')}</span>`); if (tmpRow.classList.contains('no')) { tmpRow.classList.remove('no'); } } if (parseInt(updMenus, 10) > 0) { if (window.parent.inMenus.indexOf(window.parent.menuId) >= 0) { if (window.parent.numMenus === window.parent.inMenus.length) { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-info">${Joomla.Text._('JALL')}</span>`); if (tmpRow.classList.contains('no') || tmpRow.classList.length === 0) { tmpRow.classList.remove('no'); } } else { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-success">${Joomla.Text._('JYES')}</span>`); if (tmpRow.classList.contains('no')) { tmpRow.classList.remove('no'); } } } if (window.parent.inMenus.indexOf(window.parent.menuId) < 0) { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`); if (!tmpRow.classList.contains('no')) { tmpRow.classList.add('no'); } } } if (parseInt(updMenus, 10) < 0) { if (window.parent.inMenus.indexOf(window.parent.menuId) >= 0) { if (window.parent.numMenus === window.parent.inMenus.length) { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-info">${Joomla.Text._('JALL')}</span>`); if (tmpRow.classList.contains('no')) { tmpRow.classList.remove('no'); } } else { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-success">${Joomla.Text._('JYES')}</span>`); if (tmpRow.classList.contains('no')) { tmpRow.classList.remove('no'); } } } if (window.parent.inMenus.indexOf(window.parent.menuId) < 0) { tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`); if (!tmpRow.classList.contains('no') || tmpRow.classList.length === 0) { tmpRow.classList.add('no'); } } } if (parseInt(updStatus, 10) === 1) { tmpStatus.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-success">${Joomla.Text._('JYES')}</span>`); if (tmpRow.classList.contains('unpublished')) { tmpRow.classList.remove('unpublished'); } } if (parseInt(updStatus, 10) === 0) { tmpStatus.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`); if (!tmpRow.classList.contains('unpublished') || tmpRow.classList.length === 0) { tmpRow.classList.add('unpublished'); } } if (parseInt(updStatus, 10) === -2) { tmpStatus.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-secondary">${Joomla.Text._('JTRASHED')}</span>`); if (!tmpRow.classList.contains('unpublished') || tmpRow.classList.length === 0) { tmpRow.classList.add('unpublished'); } } if (document.formvalidator.isValid(document.getElementById('module-form'))) { window.parent.document.querySelector(`#title-${options.itemId}`).innerText = updTitle; window.parent.document.querySelector(`#position-${options.itemId}`).innerText = updPosition; window.parent.document.querySelector(`#access-${options.itemId}`).innerHTML = Joomla.sanitizeHtml(window.parent.viewLevels[updAccess]); } } if (task !== 'module.apply') { window.parent.Joomla.Modal.getCurrent().close(); } } } }; })(Joomla); PK ! �g�b b ) js/admin-module-edit_assignment.min.js.gznu �[��� � ��MK1��C��u[{��T�)T+�g�ɸ]�N�d���wY-*~\� 3���2�n�]8���IJX2��(�aQ#�mh�E�2�S3�9�,��4���u�B�Mb1~C��"% ����K$���M��K�u�1��` !�7�q ���v��3w�ۓR���J�Q�������61�Xbv�WZ����8/����|3sRTHMB����Z��z�ҼL��X��! 5�#bV���e��TG�'��1��ޤT�n��$���U�m�� �[U�N)��P�"�[6�@�]k#��Rه��7���j��]0��X�F���_J�Q�pAZF PK ! ���V� � js/admin-modules-modal.min.js.gznu �[��� � �R�j1��+������mN��M�kB�LO�E;Y˕5�h6�����%�izh��y��F�^�{Ѕ���]��|����S�E���-�Ԉ �.���a)�^�i�"Z{�����;�!! ���8ǀl<��k�,L�[��(� �7�܇����r1�r'-]�q��FG�D~�E��B5�$SL�Tx��d�u���F�,У�3��L������ Y2�o���.s��MY�o1��%i/�3��4nIG���7�������̀��Pt�r&��̳҈yT�T!/�a�8S�C�tM��Mz�.$1�b�tf�+��#��l"�I�&̙"�l�5��#+D�V��|ӌ���<��j�ɔ{s\ o�f��R�A�)��B�k ���s�����ک�*~S�Hɵ��B<i�q%�u�y ��؟,�[����O�4��� PK ! ��e�K K js/admin-module-search.jsnu �[��� /** * @copyright (C) 2020 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ /** * Add a keyboard event listener to the Select a Module Type search element. * * IMPORTANT! This script is meant to be loaded deferred. This means that a. it's non-blocking * (the browser can load it whenever) and b. it doesn't need an on DOMContentLoaded event handler * because the browser is guaranteed to execute it only after the DOM content has loaded, the * whole point of it being deferred. * * The search box has a keyboard handler that fires every time you press a keyboard button or send * a keypress with a touch / virtual keyboard. We then iterate all module type cards and check if * the plain text (HTML stripped out) representation of the module title or description partially * matches the text you entered in the search box. If it doesn't we add a Bootstrap class to hide * the module. * * This way we limit the displayed modules only to those searched. * * This feature follows progressive enhancement. The search box is hidden by default and only * displayed when this JavaScript here executes. Furthermore, session storage is only used if it * is available in the browser. That's a bit of a pain but makes sure things won't break in older * browsers. * * Furthermore and to facilitate the user experience we auto-focus the search element which has a * suitable title so that non-sighted users are not startled. This way we address both UX concerns * and accessibility. * * Finally, the search string is saved into session storage on the assumption that the user is * probably going to be creating multiple instances of the same module, one after another, as is * typical when building a new Joomla! site. */ // Make sure the element exists i.e. a template override has not removed it. const elSearch = document.getElementById('comModulesSelectSearch'); const elSearchContainer = document.getElementById('comModulesSelectSearchContainer'); const elSearchHeader = document.getElementById('comModulesSelectTypeHeader'); const elSearchResults = document.getElementById('comModulesSelectResultsContainer'); const alertElement = document.querySelector('.modules-alert'); if (elSearch && elSearchContainer) { // Add the keyboard event listener which performs the live search in the cards elSearch.addEventListener('keyup', event => { /** @type {KeyboardEvent} event */ const partialSearch = event.target.value; let hasSearchResults = false; // Save the search string into session storage if (typeof sessionStorage !== 'undefined') { sessionStorage.setItem('Joomla.com_modules.new.search', partialSearch); } // Iterate all the module cards document.querySelectorAll('.comModulesSelectCard').forEach(card => { // First remove the class which hide the module cards card.classList.remove('d-none'); // An empty search string means that we should show everything if (!partialSearch) { return; } const cardHeader = card.querySelector('.new-module-title'); const cardBody = card.querySelector('.new-module-caption'); const title = cardHeader ? cardHeader.textContent : ''; const description = cardBody ? cardBody.textContent : ''; // If the module title and description don’t match add a class to hide it. if (title && !title.toLowerCase().includes(partialSearch.toLowerCase()) && description && !description.toLowerCase().includes(partialSearch.toLowerCase())) { card.classList.add('d-none'); } else { hasSearchResults = true; } }); if (hasSearchResults || !partialSearch) { alertElement.classList.add('d-none'); elSearchHeader.classList.remove('d-none'); elSearchResults.classList.remove('d-none'); } else { alertElement.classList.remove('d-none'); elSearchHeader.classList.add('d-none'); elSearchResults.classList.add('d-none'); } }); // For reasons of progressive enhancement the search box is hidden by default. elSearchContainer.classList.remove('d-none'); // Focus the just show element elSearch.focus(); try { if (typeof sessionStorage !== 'undefined') { // Load the search string from session storage elSearch.value = sessionStorage.getItem('Joomla.com_modules.new.search') || ''; // Trigger the keyboard handler event manually to initiate the search elSearch.dispatchEvent(new KeyboardEvent('keyup')); } } catch (e) { // This is probably Internet Explorer which doesn't support the KeyboardEvent constructor :( } } PK ! ��� � js/admin-module-search.min.jsnu �[��� /** * @copyright (C) 2020 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */const elSearch=document.getElementById("comModulesSelectSearch"),elSearchContainer=document.getElementById("comModulesSelectSearchContainer"),elSearchHeader=document.getElementById("comModulesSelectTypeHeader"),elSearchResults=document.getElementById("comModulesSelectResultsContainer"),alertElement=document.querySelector(".modules-alert");if(elSearch&&elSearchContainer){elSearch.addEventListener("keyup",o=>{const e=o.target.value;let s=!1;typeof sessionStorage<"u"&&sessionStorage.setItem("Joomla.com_modules.new.search",e),document.querySelectorAll(".comModulesSelectCard").forEach(t=>{if(t.classList.remove("d-none"),!e)return;const n=t.querySelector(".new-module-title"),c=t.querySelector(".new-module-caption"),l=n?n.textContent:"",a=c?c.textContent:"";l&&!l.toLowerCase().includes(e.toLowerCase())&&a&&!a.toLowerCase().includes(e.toLowerCase())?t.classList.add("d-none"):s=!0}),s||!e?(alertElement.classList.add("d-none"),elSearchHeader.classList.remove("d-none"),elSearchResults.classList.remove("d-none")):(alertElement.classList.remove("d-none"),elSearchHeader.classList.add("d-none"),elSearchResults.classList.add("d-none"))}),elSearchContainer.classList.remove("d-none"),elSearch.focus();try{typeof sessionStorage<"u"&&(elSearch.value=sessionStorage.getItem("Joomla.com_modules.new.search")||"",elSearch.dispatchEvent(new KeyboardEvent("keyup")))}catch{}} PK ! �4��� � js/admin-modules-modal.min.jsnu �[��� /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */window.parent.JoomlaExpectingPostMessage||(document.querySelectorAll(".js-module-insert").forEach(e=>{e.addEventListener("click",o=>{o.preventDefault();const a=o.target.getAttribute("data-module"),t=o.target.getAttribute("data-editor");window.parent.Joomla&&window.parent.Joomla.editors&&window.parent.Joomla.editors.instances&&Object.prototype.hasOwnProperty.call(window.parent.Joomla.editors.instances,t)&&window.parent.Joomla.editors.instances[t].replaceSelection(`{loadmoduleid ${a}}`),window.parent.Joomla.Modal&&window.parent.Joomla.Modal.getCurrent().close()})}),document.querySelectorAll(".js-position-insert").forEach(e=>{e.addEventListener("click",o=>{o.preventDefault();const a=o.target.getAttribute("data-position"),t=o.target.getAttribute("data-editor");window.Joomla&&window.Joomla.editors&&Joomla.editors.instances&&Object.prototype.hasOwnProperty.call(window.parent.Joomla.editors.instances,t)&&window.parent.Joomla.editors.instances[t].replaceSelection(`{loadposition ${a}}`),window.parent.Joomla.Modal&&window.parent.Joomla.Modal.getCurrent().close()})})); PK ! ��bY Y js/admin-modules-modal.jsnu �[��� /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ (() => { // Use a JoomlaExpectingPostMessage flag to be able to distinct legacy methods if (window.parent.JoomlaExpectingPostMessage) { return; } // Assign listener for click event (for single module id insertion) document.querySelectorAll('.js-module-insert').forEach(element => { element.addEventListener('click', event => { event.preventDefault(); const modid = event.target.getAttribute('data-module'); const editor = event.target.getAttribute('data-editor'); // Use the API if (window.parent.Joomla && window.parent.Joomla.editors && window.parent.Joomla.editors.instances && Object.prototype.hasOwnProperty.call(window.parent.Joomla.editors.instances, editor)) { window.parent.Joomla.editors.instances[editor].replaceSelection(`{loadmoduleid ${modid}}`); } if (window.parent.Joomla.Modal) { window.parent.Joomla.Modal.getCurrent().close(); } }); }); // Assign listener for click event (for position insertion) document.querySelectorAll('.js-position-insert').forEach(element => { element.addEventListener('click', event => { event.preventDefault(); const position = event.target.getAttribute('data-position'); const editor = event.target.getAttribute('data-editor'); // Use the API if (window.Joomla && window.Joomla.editors && Joomla.editors.instances && Object.prototype.hasOwnProperty.call(window.parent.Joomla.editors.instances, editor)) { window.parent.Joomla.editors.instances[editor].replaceSelection(`{loadposition ${position}}`); } if (window.parent.Joomla.Modal) { window.parent.Joomla.Modal.getCurrent().close(); } }); }); })(); PK ! ��mOf f js/admin-module-search.min.js.gznu �[��� � �T�r�0��+��1"�ǡ-ä�$��Q��ʒ+�q<��gCB a��#��v�v���i����Kgs$� 8�8�8'�s0db���HDp>$#���#���e)�Z�i)��]=J�T��@!��5pR�ŝNon�|j � �-\D<