Plugin Directory

Changeset 3400794


Ignore:
Timestamp:
11/22/2025 05:07:32 AM (2 months ago)
Author:
ddegner
Message:

Update to version 0.2.5 from GitHub

Location:
avif-local-support
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • avif-local-support/tags/0.2.5/assets/admin.js

    r3398244 r3400794  
    230230    // Logs functionality
    231231    var refreshLogsBtn = document.querySelector('#avif-local-support-refresh-logs');
     232    var copyLogsBtn = document.querySelector('#avif-local-support-copy-logs');
    232233    var clearLogsBtn = document.querySelector('#avif-local-support-clear-logs');
    233234    var logsSpinner = document.querySelector('#avif-local-support-logs-spinner');
    234235    var logsContent = document.querySelector('#avif-local-support-logs-content');
     236    var copyStatus = document.querySelector('#avif-local-support-copy-status');
     237
     238    if (copyLogsBtn && logsContent) {
     239      copyLogsBtn.addEventListener('click', function () {
     240        var text = logsContent.innerText;
     241        if (navigator.clipboard && window.isSecureContext) {
     242          navigator.clipboard.writeText(text).then(function () {
     243            showCopyStatus();
     244          }, function () {
     245            fallbackCopy(text);
     246          });
     247        } else {
     248          fallbackCopy(text);
     249        }
     250      });
     251    }
     252
     253    function fallbackCopy(text) {
     254      var ta = document.createElement('textarea');
     255      ta.value = text;
     256      ta.style.position = 'fixed';
     257      ta.style.left = '-9999px';
     258      document.body.appendChild(ta);
     259      ta.focus();
     260      ta.select();
     261      try {
     262        document.execCommand('copy');
     263        showCopyStatus();
     264      } catch (e) {}
     265      document.body.removeChild(ta);
     266    }
     267
     268    function showCopyStatus() {
     269      if (!copyStatus) return;
     270      copyStatus.style.display = 'inline';
     271      setTimeout(function () {
     272        copyStatus.style.display = 'none';
     273      }, 2000);
     274    }
    235275
    236276    if (refreshLogsBtn && typeof AVIFLocalSupportData !== 'undefined') {
  • avif-local-support/tags/0.2.5/includes/class-avif-suite.php

    r3400792 r3400794  
    572572        echo '        <div style="display:flex;align-items:center;gap:8px;margin-bottom:10px;">';
    573573        echo '          <button type="button" class="button" id="avif-local-support-refresh-logs">' . esc_html__('Refresh logs', 'avif-local-support') . '</button>';
     574        echo '          <button type="button" class="button" id="avif-local-support-copy-logs">' . esc_html__('Copy logs', 'avif-local-support') . '</button>';
    574575        echo '          <button type="button" class="button" id="avif-local-support-clear-logs">' . esc_html__('Clear logs', 'avif-local-support') . '</button>';
    575576        echo '          <span class="spinner" id="avif-local-support-logs-spinner" style="float:none;margin:0 6px;"></span>';
     577        echo '          <span id="avif-local-support-copy-status" class="description" style="color:#00a32a;display:none;">' . esc_html__('Copied!', 'avif-local-support') . '</span>';
    576578        echo '        </div>';
    577579        echo '        <div id="avif-local-support-logs-container">';
  • avif-local-support/tags/0.2.5/includes/class-converter.php

    r3400792 r3400794  
    217217                . ($this->lastCliCommand !== '' ? ' cmd: ' . $this->lastCliCommand : '')
    218218                . ($snippet !== '' ? ' output: ' . $snippet : '');
     219           
     220            // If no specific error message but failed, add a generic one to ensure log visibility
     221            if ($err === 'CLI conversion failed (exit 0)') {
     222                 $err .= '. Resulting file missing or empty.';
     223            }
    219224           
    220225            // Analyze CLI error for suggestions
  • avif-local-support/trunk/assets/admin.js

    r3398244 r3400794  
    230230    // Logs functionality
    231231    var refreshLogsBtn = document.querySelector('#avif-local-support-refresh-logs');
     232    var copyLogsBtn = document.querySelector('#avif-local-support-copy-logs');
    232233    var clearLogsBtn = document.querySelector('#avif-local-support-clear-logs');
    233234    var logsSpinner = document.querySelector('#avif-local-support-logs-spinner');
    234235    var logsContent = document.querySelector('#avif-local-support-logs-content');
     236    var copyStatus = document.querySelector('#avif-local-support-copy-status');
     237
     238    if (copyLogsBtn && logsContent) {
     239      copyLogsBtn.addEventListener('click', function () {
     240        var text = logsContent.innerText;
     241        if (navigator.clipboard && window.isSecureContext) {
     242          navigator.clipboard.writeText(text).then(function () {
     243            showCopyStatus();
     244          }, function () {
     245            fallbackCopy(text);
     246          });
     247        } else {
     248          fallbackCopy(text);
     249        }
     250      });
     251    }
     252
     253    function fallbackCopy(text) {
     254      var ta = document.createElement('textarea');
     255      ta.value = text;
     256      ta.style.position = 'fixed';
     257      ta.style.left = '-9999px';
     258      document.body.appendChild(ta);
     259      ta.focus();
     260      ta.select();
     261      try {
     262        document.execCommand('copy');
     263        showCopyStatus();
     264      } catch (e) {}
     265      document.body.removeChild(ta);
     266    }
     267
     268    function showCopyStatus() {
     269      if (!copyStatus) return;
     270      copyStatus.style.display = 'inline';
     271      setTimeout(function () {
     272        copyStatus.style.display = 'none';
     273      }, 2000);
     274    }
    235275
    236276    if (refreshLogsBtn && typeof AVIFLocalSupportData !== 'undefined') {
  • avif-local-support/trunk/includes/class-avif-suite.php

    r3400792 r3400794  
    572572        echo '        <div style="display:flex;align-items:center;gap:8px;margin-bottom:10px;">';
    573573        echo '          <button type="button" class="button" id="avif-local-support-refresh-logs">' . esc_html__('Refresh logs', 'avif-local-support') . '</button>';
     574        echo '          <button type="button" class="button" id="avif-local-support-copy-logs">' . esc_html__('Copy logs', 'avif-local-support') . '</button>';
    574575        echo '          <button type="button" class="button" id="avif-local-support-clear-logs">' . esc_html__('Clear logs', 'avif-local-support') . '</button>';
    575576        echo '          <span class="spinner" id="avif-local-support-logs-spinner" style="float:none;margin:0 6px;"></span>';
     577        echo '          <span id="avif-local-support-copy-status" class="description" style="color:#00a32a;display:none;">' . esc_html__('Copied!', 'avif-local-support') . '</span>';
    576578        echo '        </div>';
    577579        echo '        <div id="avif-local-support-logs-container">';
  • avif-local-support/trunk/includes/class-converter.php

    r3400792 r3400794  
    217217                . ($this->lastCliCommand !== '' ? ' cmd: ' . $this->lastCliCommand : '')
    218218                . ($snippet !== '' ? ' output: ' . $snippet : '');
     219           
     220            // If no specific error message but failed, add a generic one to ensure log visibility
     221            if ($err === 'CLI conversion failed (exit 0)') {
     222                 $err .= '. Resulting file missing or empty.';
     223            }
    219224           
    220225            // Analyze CLI error for suggestions
Note: See TracChangeset for help on using the changeset viewer.