File manager - Edit - /home/ferretapmx/public_html/com_joomlaupdate.zip
Back
PK ���\��� joomla.asset.jsonnu �[��� { "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", "name": "com_joomlaupdate", "version": "4.0.0", "description": "Joomla CMS", "license": "GPL-2.0-or-later", "assets": [ { "name": "com_joomlaupdate.default", "type": "script", "uri": "com_joomlaupdate/default.min.js", "dependencies": [ "core" ], "attributes": { "type": "module" }, "version": "1c46f0" }, { "name": "com_joomlaupdate.admin-update", "type": "script", "uri": "com_joomlaupdate/admin-update-default.min.js", "dependencies": [ "core", "bootstrap.modal" ], "attributes": { "type": "module" }, "version": "b93c10" } ] }PK ���\��O+ O+ 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||{},((n,i)=>{n.submitbuttonUpload=()=>{const t=i.getElementById("uploadForm"),s=i.getElementById("joomlaupdate-confirm-backup");t.install_package.value===""?alert(n.Text._("COM_INSTALLER_MSG_INSTALL_PLEASE_SELECT_A_PACKAGE"),!0):t.install_package.files[0].size>t.max_upload_size.value?alert(n.Text._("COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG"),!0):s&&s.checked&&t.submit()},n.installpackageChange=()=>{const t=i.getElementById("uploadForm"),s=t.install_package.files[0].size,a=s*1/1024/1024,r=i.getElementById("file_size"),l=i.getElementById("max_upload_size_warn");t.install_package.value===""?(r.classList.add("hidden"),l.classList.add("hidden")):s&&(r.classList.remove("hidden"),r.innerHTML=n.sanitizeHtml(n.Text._("JGLOBAL_SELECTED_UPLOAD_FILE_SIZE").replace("%s",`${a.toFixed(2)} MB`)),s>t.max_upload_size.value?l.classList.remove("hidden"):l.classList.add("hidden"))},i.addEventListener("DOMContentLoaded",()=>{const t=i.getElementById("confirmButton"),s=i.getElementById("uploadForm"),a=i.getElementById("uploadButton"),r=i.getElementById("install_package"),l=i.querySelector(".emptystate-btnadd",i.getElementById("joomlaupdate-wrapper")),e=i.getElementById("joomlaupdate-confirm-backup"),o=l?l.closest("form"):null,c=o?o.querySelector("[name=task]",o):null;a&&(a.addEventListener("click",n.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")}),r&&(r.addEventListener("change",n.installpackageChange),e&&r.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)})),l&&l.getAttribute("href")==="#"&&c&&l.addEventListener("click",d=>{d.preventDefault(),!(e&&!e.checked)&&(c.value="update.download",o.submit())})})})(Joomla,document),((n,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 r="success",l="check";switch(s){case"danger":r="danger",l="times";break;case"warning":r="warning",l="exclamation-triangle";break}a&&(a.classList.remove("fa-spinner","fa-spin"),a.classList.add(`fa-${l}`,`text-${r}`,"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=n.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),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(n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_CONFIRM_MESSAGE"))?i.querySelectorAll("button.submitupdate").forEach(o=>{o.classList.remove("disabled"),o.removeAttribute("disabled")}):e.checked=!1:i.querySelectorAll("button.submitupdate").forEach(o=>{o.classList.add("disabled"),o.setAttribute("disabled","")})};i.getElementById("noncoreplugins")!==null&&i.getElementById("noncoreplugins").addEventListener("change",a);const r=i.getElementById("joomlaupdate-wrapper");t.joomlaTargetVersion=r.getAttribute("data-joomla-target-version"),t.joomlaCurrentVersion=r.getAttribute("data-joomla-current-version"),i.querySelectorAll(".compatibilitytoggle").forEach(e=>{e.addEventListener("click",()=>{const o=e.closest(".compatibilityTable");e.dataset.state==="closed"?(e.dataset.state="open",e.innerHTML=n.sanitizeHtml(n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_LESS_COMPATIBILITY_INFORMATION")),o.querySelectorAll("table .hidden").forEach(c=>c.classList.remove("hidden"))):(e.dataset.state="closed",e.innerHTML=n.sanitizeHtml(n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSIONS_SHOW_MORE_COMPATIBILITY_INFORMATION")),o.querySelectorAll("table .instver, table .upcomp, table .currcomp").forEach(c=>c.classList.add("hidden")))})});const l=[];s.forEach(e=>l.push({eid:e.getAttribute("data-extension-id"),version:e.getAttribute("data-extension-current-version")})),t.checkNextChunk(l)},t.interpolateParameters=(s,a)=>{let r="";return typeof s!="object"||s===null||!s?"":(Object.keys(s).forEach(l=>{const e=s[l];if(r.length>0&&(r+="&"),typeof e=="object"){const o=a.length?`${a}[${l}]`:l;r+=t.interpolateParameters(e,o);return}if(a===""){r+=`${encodeURIComponent(l)}=${encodeURIComponent(e)}`;return}r+=`${encodeURIComponent(a)}[${encodeURIComponent(l)}]=${encodeURIComponent(e)}`}),r)},t.checkNextChunk=s=>{s.length!==0&&n.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 r=JSON.parse(a);r.messages&&n.renderMessages(r.messages);const l=r.data.extensions||[];r.data.compatibility.forEach(e=>{const o=i.getElementById(`preUpdateCheck_${e.id}`);o&&t.setResultView({element:o,compatibleVersion:0,serverError:0,compatibilityData:e})}),t.checkNextChunk(l)},onError(a){n.renderMessages(n.ajaxErrorsMessages(a)),s.forEach(r=>{const l=i.getElementById(`preUpdateCheck_${r.eid}`);l&&t.setResultView({element:l,compatibleVersion:0,serverError:1})})}})},t.checkCompatibility=s=>{const a={element:s,compatibleVersion:0,serverError:1};n.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(r){const l=JSON.parse(r);a.serverError=0,a.compatibilityData=l.data,t.setResultView(a)},onError(){a.serverError=1,t.setResultView(a)}})},t.setResultView=s=>{let a="";if(s.serverError)a=n.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">${n.sanitizeHtml(s.compatibilityData.upgradeCompatibilityStatus.compatibleVersion)}</span>`:a=s.compatibilityData.upgradeCompatibilityStatus.compatibleVersion===!1?n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION"):n.sanitizeHtml(s.compatibilityData.upgradeCompatibilityStatus.compatibleVersion);break;case t.STATE.INCOMPATIBLE:a=n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;case t.STATE.MISSING_COMPATIBILITY_TAG:a=n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;default:a=n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN")}if(s.element.innerHTML=a,a="",s.serverError)a=n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_SERVER_ERROR");else switch(s.compatibilityData.currentCompatibilityStatus.state){case t.STATE.COMPATIBLE:a=s.compatibilityData.currentCompatibilityStatus.compatibleVersion===!1?n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION"):s.compatibilityData.currentCompatibilityStatus.compatibleVersion;break;case t.STATE.INCOMPATIBLE:a=n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;case t.STATE.MISSING_COMPATIBILITY_TAG:a=n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_NO_COMPATIBILITY_INFORMATION");break;default:a=n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_EXTENSION_WARNING_UNKNOWN")}const r=s.element.getAttribute("data-extension-id");i.getElementById(`available-version-${r}`).innerText=a;const l=i.querySelector(`#compatibilityTable${s.compatibilityData.resultGroup} tbody`);if(l&&l.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()===r||e.extension_id.toString()===r))),!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=`${n.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> ${n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN")} </span> <button type="button" class="btn btn-sm btn-link hasPopover" title="${n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN")} " data-bs-content="${n.Text._("COM_JOOMLAUPDATE_VIEW_DEFAULT_POTENTIALLY_DANGEROUS_PLUGIN_DESC")} " > ${n.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"?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 ���\��&D D js/default.min.js.gznu �[��� � �ks۸� u9d�b촟���"3>]e�cɗ��k�g`ȏ���!Q%�I�~�3��b����w?�<y�d�ðڶ����O�>!D)�1:,t��S�����������I���!0 ��9�]�@j\��4�n�|BƜ.J��!�n�����Oƻ��f��C�"���O�ϋԱ,��6>Y0W�dzX��Jqv�PN"l镐3��cwʧ0�>=u"�3��\̐�����y����X�c��d7�3��AB�;2���9`�:%���;�G�j�/�No0lu��Up18/��ˮ������a� .[��}d;G��}�mLA~=�qe�/8Q�<9'�~��z�� ���[g�;]���'KӔn8��"�T�|-;uXISAR{J��(�s���}�s��5(���id;�f}C4�쥋��R"e7��%Qd�iE���V2a�m0�P�+ܘ1�/�����X��_ԌV.���n�S�[�V\M��&t��#��P���(�3:\W���#D�;5.>�lۑ;Ղ����_���L�em�:�_�9S�'D�yA �����[S�`��N/6��Ў�A< �B�����D=I�m{��"��Iȶx��p8�����,t�q�9�N��)ߤ�+#3��Ȼ���IL�"5W�8�CN���F�$c �<�Ҫ0M�C��sq��ͫ��m;�4װi��?�NTB�x�۩���>o�Y���w�U�l-���zGX��|,데}ľ�EI�)�ɸ����*o��^�t�8�Uk�'���B����P�`�iӨ^��E'�gZ��9�x��j�T�OK)��J{!���>��4C �S�#|���D�^=�[2�ʲ�kM!mӴ�µ��*݈?0}��ˀf��?+O+���sm�*�(=�"mf���� �A\ꡘE��&��'*��|T����4܂ ����'䳄�x�X=!gLT8��پ]He�T<�.A��P�(w0l }������ְ��{GN��ع���yP��t;ÿ�ֹ���W��W�uտ���'X.eG�����e" #��$P6�-i�$���nRP��H���D�(g�)bN-i/B"E�`�.�*��Dͱ r���tF�IX��!�1�dF��JĄM(��o{� �N��i���ݒ�Ⴆ#g��Q5"9h<i<Lcȶ��̠Ffk;�6u���m�D@.ڶЗ�7��y�]7M�kQ_���<�S.���E���K:��Lb�ͺ�)��P=r�ޔL�M�[�Z�������֒.6QS����K�3��Gd`�æiZ�w�z���K(y¨�_�{�61����=gv�5�4�-�Q�����l����S�(�'6:P��x�4P�n Ps���J+�.��䥹 8EmV�=�ǯ��E�u}y���o�Kp�n]w��e��V�����;���׃�{}���~�s��"����$�O�.0�O|���~�y�Hwp�}?��w�Z(\.9H�6ߠ��п� )�R��f�MU��C"&�~��y,6�{Di� �A6��_���\`���$u�⮹K�'ڋo���,�b<Kq����v%h�$(7+)t"�툐����O�!^S�7�oC�7��{�`�K�K��� ��}�_]���~O.�FNJ�`���_ (�'គѶ�m� ���]�ofN'� �x�'���Z���ܯW�Y�XX�_o���V�M�rj- �<�S�UkP��K�[Z��a�s�jO��Y����p�S�$��@w�%�պH�P� �� �5�F|�;� =?K�;���y��g�����%Wr���!���E�O�t%�3F�����C�}�béni�_u�t3�hS��w�b�×�+��Hֿ��g<:\ y�W�6�%�SZ.�v�tT"ڹ�ؚ�z�7���b4���K�R�2�9���4�+�s�asA�eTV�ԔG����Ѫ����Z��[;h�W��=����=�� �p6�sr��w*�~�M��`�)�HI& s^Y�xc�WF%2ײ�X���כf�v��y�R��"�(p�J����q���&����@Ω�-�k�N�;�Q ��#'/�|!��5b���@Z$Zۦ�Y�MjK�%���l]._��[�(�,�װ(\�y�{x�/�x����J��U�� �%V� �� �.*�Q`�f�6�]���K*��yu:��+����o��f���,_�v:�X��� P�0a7�[.>r6�D+&���8��@*�i/��A窰�:�X�,Y�VAc��T[�_\��Bd�>O�?�M���� �Γ� ���@5�y�7��+�V� {��)���2!����(5�ߍ��pr��ȇ�H�U����ԓ�G�"�����z�}����Y�4q�w���u��Cݑ��b����M3���^�K�if��Ǯd���F�h~�:� �Y��{�4�{����M/�ҕ��w�/#rOb�K�2��[;�M%&�U~�ޕ��ouR�� ���j̣�Q��'��¢�4�Q�x�� � (�I���G�����1�2Mkg�xׂ�):�?��-�kA������҃"���`{ٶm��U-�\ҩ֢nl]�t���f��Q4wsYi�Mᶾ���Zbt��k|��&��z��h3���f��Q�h�c�A������ ���a#��WB�h+�����O����(�/�)9#��� ����M76FF�Ћ��t�EA5��h��Ք��>�8�lY$i[�V9�\q���U�5|pѷFK�3Ɗ5�,����Θy�~m�R�����06��p,���#�uTp��u�}���w/� ����Qa8���"t�����p.$%<k� ���1�\I%H����Yd_ eu8R<A�Tͨwp�(O& <t�ùDi�-K9$MӭFz��P��僞E��鸂Ij����Ϲ��f�i/�m��f���C��\���÷����@��﹎v�n���R�1��D{�Հ�4u^����k>s���q�W#͟� ��O+ PK ���\�=) ) js/admin-update-default.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 */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:e=>{const t=document.getElementById("errorDialogLabel"),o=document.getElementById("errorDialogMessage"),a=document.getElementById("joomlaupdate-progress"),s=document.getElementById("joomlaupdate-error");t.innerHTML=Joomla.Text._("COM_JOOMLAUPDATE_ERRORMODAL_HEAD_GENERIC"),o.innerHTML=e,e.toLowerCase()==="invalid login"&&(o.innerHTML=Joomla.Text._("COM_JOOMLAUPDATE_ERRORMODAL_BODY_INVALIDLOGIN")),a.classList.add("d-none"),s.classList.remove("d-none")},handleErrorResponse:e=>{const t=e.status===403,o=document.getElementById("errorDialogLabel"),a=document.getElementById("errorDialogMessage"),s=document.getElementById("joomlaupdate-progress"),r=document.getElementById("joomlaupdate-error");t?(o.innerHTML=Joomla.Text._("COM_JOOMLAUPDATE_ERRORMODAL_HEAD_FORBIDDEN"),a.innerHTML=Joomla.Text._("COM_JOOMLAUPDATE_ERRORMODAL_BODY_FORBIDDEN")):(o.innerHTML=Joomla.Text._("COM_JOOMLAUPDATE_ERRORMODAL_HEAD_SERVERERROR"),a.innerHTML=Joomla.Text._("COM_JOOMLAUPDATE_ERRORMODAL_BODY_SERVERERROR")),s.classList.add("d-none"),r.classList.remove("d-none")},startExtract:()=>{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.formatFiles(Joomla.Update.stat_files);const e=new FormData;e.append("task","startExtract"),e.append("password",Joomla.Update.password),Joomla.request({url:Joomla.Update.ajax_url,data:e,method:"POST",perform:!0,onSuccess:t=>{try{const o=JSON.parse(t);Joomla.Update.stepExtract(o)}catch(o){Joomla.Update.genericErrorMessage(o.message)}},onError:Joomla.Update.handleErrorResponse})},stepExtract:e=>{if(e.status===!1){Joomla.Update.genericErrorMessage(e.message);return}const t=document.getElementById("progress-bar");if(Joomla.Update.stat_inbytes=e.bytesIn,Joomla.Update.stat_percent=e.percent,Joomla.Update.stat_percent=Joomla.Update.stat_percent||80*(Joomla.Update.stat_inbytes/Joomla.Update.totalsize),Joomla.Update.stat_outbytes=e.bytesOut,Joomla.Update.stat_files=e.files,Joomla.Update.stat_percent<80?(t.classList.remove("bg-success"),t.style.width=`${Joomla.Update.stat_percent}%`,t.setAttribute("aria-valuenow",Joomla.Update.stat_percent)):Joomla.Update.stat_percent>=80&&(t.style.width="80%",t.setAttribute("aria-valuenow",80)),t.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.formatFiles(Joomla.Update.stat_files),e.done){t.style.width="80%",t.setAttribute("aria-valuenow",80),Joomla.Update.finalizeUpdate();return}window.setTimeout(()=>{Joomla.Update.delayedStepExtract(e.instance)},50)},delayedStepExtract:e=>{Joomla.Update.cached_instance=e;const t=new FormData;t.append("task","stepExtract"),t.append("password",Joomla.Update.password),e&&t.append("instance",e),Joomla.request({url:Joomla.Update.ajax_url,data:t,method:"POST",perform:!0,onSuccess:o=>{try{const a=JSON.parse(o);Joomla.Update.stepExtract(a)}catch(a){Joomla.Update.genericErrorMessage(a.message)}},onError:Joomla.Update.handleErrorResponse})},finalizeUpdate:()=>{const e=new FormData;e.append("task","finalizeUpdate"),e.append("password",Joomla.Update.password),Joomla.request({url:Joomla.Update.ajax_url,data:e,method:"POST",perform:!0,onSuccess:()=>{const t=document.getElementById("progress-bar"),o=document.getElementById("update-title");t.classList.add("bg-success"),t.style.width="100%",t.innerText="100%",t.setAttribute("aria-valuenow",100),o.innerText=Joomla.Text._("COM_JOOMLAUPDATE_UPDATING_COMPLETE"),window.setTimeout(()=>{window.location=Joomla.Update.return_url},1e3)},onError:Joomla.Update.handleErrorResponse})},formatBytes:(e,t=2)=>{if(e===0)return`0 ${Joomla.Text._("JLIB_SIZE_BYTES")}`;const o=1024,a=t<0?0:t,s=[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")],r=Math.floor(Math.log(e)/Math.log(o));return`${parseFloat((e/o**r).toFixed(a))} ${s[r]}`},formatFiles:e=>`${e} ${Joomla.Text._("COM_JOOMLAUPDATE_VIEW_UPDATE_ITEMS")}`,resumeButtonHandler:e=>{e.preventDefault(),document.getElementById("joomlaupdate-progress").classList.remove("d-none"),document.getElementById("joomlaupdate-error").classList.add("d-none"),Joomla.Update.cached_instance===!1?Joomla.Update.startExtract():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()}};const elResume=document.getElementById("joomlaupdate-resume"),elRestart=document.getElementById("joomlaupdate-restart");elResume&&elResume.addEventListener("click",Joomla.Update.resumeButtonHandler),elRestart&&elRestart.addEventListener("click",Joomla.Update.restartButtonHandler);const JoomlaUpdateOptions=Joomla.getOptions("joomlaupdate");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 ���\�S��] ] ! js/admin-update-default.min.js.gznu �[��� � �XQs�8~�p==��(�ӻ��@�^NJBhoڛ��Pk$NZ�����6L�!�����Y��]iWߧ���c�͗�{Ň#4�:%�k����L@=)�6C����m�!Nt��`:��_��̖jx�� �B����_|0�A�b�q]��7Zs�-(ͥ0^R!CP5C��w��l������^�O=)95L O)�,3�7N.�ƔiCH4���Y�5�D� ���$�L�0 �;�"�S�0���L#�Jdaա�� A�\\���SF�O��S�����4�U��/�n�0�(�H���.42�C69L����۠5B��/�F�@���C@/�dX�o� Ɋg���5�&�r'��P�]?�r���Dɡ�MB��KR&��ͅ ���n�����e�vڃ��N�u��q�^���;����w��{^�y�ll� P�Q���)�`�uM.nY�#�C.�JŒ��[�4> �OZ�F�s0 ��C�u�k�YXf�/�HP�H��-,�11��f�z"�.�줲"��/��;f/�5{b���s�����=�4�g�n��hx��~ }+vH��"�yݏ^7���� ��uS�(UZQ�B��j�xV 5{�b�C7�昶Y�#��n�)nm����&�N,9%�h�F�1�z�gm��<�EF�|7�������D�ږR�.=� ��I5n0d5��d"�Ld��I����.�9�k���I>���4Z��v��9;р!��dP5/;��I'���T_:T�^�u����9dI�}�saO��`���a2ݒ$��#K���w���و�1�"��žK��B,|���o�T}y��wXx�e�?ʽ9H�_���MI�`��M���M@� .��ʔ���?r�J�8(�oR ��;�ƨ2�;�- �͑��� �v=��Y������>{��W�f� �?]%�'��_G��g��,�@ȩY !���c�ȩT�b,���#�${XbD�l�g��$��K����@ ���i�8n�`!�٧� �yנ�|2Bk��{z+�vN�$��:$��R�*'Y��(T`|���-ڝ0�RY��~M O�܅Jd�J�*��2*a9��]��=�J�u���v#���m��3����>r!m�֞�%Hn:ٵ\^��T�M=t�E㷊[���O��|p�i_���g��ϧC�3�R��вo��!�L�ZHK��Z@�}M�/�u�Y�r�A�;z�j���goP��z&��j����y�e.�q�:U����t���2i�Tz^*�J/K�^��s��S�$Q���PJe��P- ��$9�_����sJ��roO�/3Bb��L������@�ի��"?6�?�q��ӔR:C=B��]ZB*��' nA`nX�UB�[Z���>���ڟ��V��~��������@��H��^b�?q|ų��I�i����I�%&w_�h���{�T�Q���f���g-���u��6�J s{�� �7�3�L�3I�[��=��7��gpaU�ҹ�>�_�>h���R�6��a�BH�t[-�t3�o\�xlc������B$�� �=) PK ���\�� 8Z 8Z 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 = () => { 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; } 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'))) { document.querySelectorAll('button.submitupdate').forEach(el => { el.classList.remove('disabled'); el.removeAttribute('disabled'); }); } else { nonCorePluginCheckbox.checked = false; } } else { 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'); 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')); 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')); 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 = []; extensions.forEach(extension => extensionsInformation.push({ eid: extension.getAttribute('data-extension-id'), version: extension.getAttribute('data-extension-current-version') })); 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.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'; 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') { 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 ���\�Sʉ� � js/.htaccessnu �7��m <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>PK ���\�a�"