Файловый менеджер - Редактировать - /home/lmsyaran/public_html/pusher/plg_media-action_rotate.zip
Назад
PK c �[�un�| | js/rotate.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 */let activated=!1;const rotate=(a,t)=>{let e=document.createElement("canvas");a>=0&&a<45||a>=135&&a<225||a>=315&&a<=360?(e.width=t.naturalWidth,e.height=t.naturalHeight):(e.width=t.naturalHeight,e.height=t.naturalWidth);const r=e.getContext("2d");r.clearRect(0,0,e.width,e.height),r.translate(e.width/2,e.height/2),r.rotate(a*Math.PI/180),r.drawImage(t,-t.naturalWidth/2,-t.naturalHeight/2);const o=Joomla.MediaManager.Edit.original.extension.toLowerCase()==="jpg"?"jpeg":Joomla.MediaManager.Edit.original.extension.toLowerCase(),i=document.getElementById("jform_rotate_quality").value;Joomla.MediaManager.Edit.current.contents=e.toDataURL(`image/${o}`,i),t.width=e.width,t.height=e.height,t.src="",requestAnimationFrame(()=>requestAnimationFrame(()=>{t.src=Joomla.MediaManager.Edit.current.contents})),document.getElementById("jform_rotate_a").value=a,window.dispatchEvent(new Event("mediaManager.history.point")),e=null},initRotate=a=>{activated||(document.getElementById("jform_rotate_a").addEventListener("change",({target:t})=>{rotate(parseInt(t.value,10),a),t.value=0,[].slice.call(document.querySelectorAll("#jform_rotate_distinct label")).forEach(e=>{e.classList.remove("active"),e.classList.remove("focus")})}),[].slice.call(document.querySelectorAll("#jform_rotate_distinct [type=radio]")).forEach(t=>{t.addEventListener("click",({target:e})=>{rotate(parseInt(e.value,10),a),[].slice.call(document.querySelectorAll("#jform_rotate_distinct label")).forEach(r=>{r.classList.remove("active"),r.classList.remove("focus")})})}),activated=!0)};window.addEventListener("media-manager-edit-init",()=>{Joomla.MediaManager.Edit.plugins.rotate={Activate(a){return new Promise(t=>{initRotate(a),t()})},Deactivate(){return new Promise(a=>{a()})}}},{once:!0}); PK c �[gE�� � js/rotate.jsnu �[��� /** * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ let activated = false; // Update image const rotate = (angle, image) => { // The canvas where we will rotate the image let canvas = document.createElement('canvas'); // Pseudo rectangle calculation if (angle >= 0 && angle < 45 || angle >= 135 && angle < 225 || angle >= 315 && angle <= 360) { canvas.width = image.naturalWidth; canvas.height = image.naturalHeight; } else { // swap canvas.width = image.naturalHeight; canvas.height = image.naturalWidth; } const ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.translate(canvas.width / 2, canvas.height / 2); ctx.rotate(angle * Math.PI / 180); ctx.drawImage(image, -image.naturalWidth / 2, -image.naturalHeight / 2); // The format const format = Joomla.MediaManager.Edit.original.extension.toLowerCase() === 'jpg' ? 'jpeg' : Joomla.MediaManager.Edit.original.extension.toLowerCase(); // The quality const quality = document.getElementById('jform_rotate_quality').value; // Creating the data from the canvas Joomla.MediaManager.Edit.current.contents = canvas.toDataURL(`image/${format}`, quality); // Updating the preview element image.width = canvas.width; image.height = canvas.height; image.src = ''; requestAnimationFrame(() => requestAnimationFrame(() => { image.src = Joomla.MediaManager.Edit.current.contents; })); // Update the angle input box document.getElementById('jform_rotate_a').value = angle; // Notify the app that a change has been made window.dispatchEvent(new Event('mediaManager.history.point')); canvas = null; }; const initRotate = image => { if (!activated) { // The number input listener document.getElementById('jform_rotate_a').addEventListener('change', ({ target }) => { rotate(parseInt(target.value, 10), image); target.value = 0; // Deselect all buttons [].slice.call(document.querySelectorAll('#jform_rotate_distinct label')).forEach(element => { element.classList.remove('active'); element.classList.remove('focus'); }); }); // The 90 degree rotate buttons listeners [].slice.call(document.querySelectorAll('#jform_rotate_distinct [type=radio]')).forEach(element => { element.addEventListener('click', ({ target }) => { rotate(parseInt(target.value, 10), image); // Deselect all buttons [].slice.call(document.querySelectorAll('#jform_rotate_distinct label')).forEach(el => { el.classList.remove('active'); el.classList.remove('focus'); }); }); }); activated = true; } }; window.addEventListener('media-manager-edit-init', () => { // Register the Events Joomla.MediaManager.Edit.plugins.rotate = { Activate(image) { return new Promise(resolve => { // Initialize initRotate(image); resolve(); }); }, Deactivate( /* image */ ) { return new Promise(resolve => { resolve(); }); } }; }, { once: true }); PK c �[P���\ \ js/rotate.min.js.gznu �[��� � �T�n7}�W0l�M]���U�:J��N A� �p�+�)���y���]�D��o;;�̙sΰ����v�o&̖�bLI��^�?g��y(�AvD�bco4{5!���Ng�X���t�Ű)�A��1��}��ޡ����ߜ5�x��cL6x�g!2�q�";�>��4]���8$����Yo`�O�b �(��pU��,���'m"��a n��!q9�a�}�^�����Yo�E��m��k�l���k�zas�d�=P��U� �k��oby�6��JSJn&�PHG�^���A��!�34$���ֵokI5E�&nӹӿ�w����$�'@}:��^v�y��x R{Qu������ZC ���'�[8F=�-�ma=8�ׄ�VS8�G�P�,����~�){'s�����8��"��v�/W%8KK.�\��G;�2��4��R��� �xv,�ښ��ϫP}UV*Z���6�n�W�S4�*�U�������F��2>�Y������R=����ZX����m���h^o��k���~߉M�Rς�ĥT��ҹJYo�]CȆ��%��O�y�4=���wBp3_ WbE��jb�^�AL8�$��F��RA�K;\W}��S�i��!�*1.�ѡ����`r��zC�7t\J}��D`6\�6R�Q��0G����K�-yL���d%�3�O��a!���}`�e�Κ���[ ć��ź�h�?����ߕ�`m��n��7m �����ڜ\5+��2�\YX���d�:\� W����Kq��&l��M'j�� n�����h�V�Zo��Y���� �un�| PK c �[�un�| | js/rotate.min.jsnu �[��� PK c �[gE�� � � js/rotate.jsnu �[��� PK c �[P���\ \ � js/rotate.min.js.gznu �[��� PK � )
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка