HEX
Server: Apache
System: Linux uyu7574470001-7d78c9ff74-xfpwm 4.19.91-21.al7.x86_64 #1 SMP Wed Sep 2 19:47:49 CST 2020 x86_64
User: ()
PHP: 7.4.16
Disabled: chmod,exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_client,stream_socket_server,pfsockopen,disk_total_space,disk_free_space,chown,diskfreespace,getrusage,get_current_user,getmyuid,getmypid,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,putenv,sleep,fsockopen
Upload Files
File: /usr/home/uyu7574470001/htdocs/wp-content/plugins/tiny-compress-images/src/js/dashboard-widget.js
(function() {
  function generateDashboardWidget(element) {
    element = jQuery(element);
    var container = element.find('.inside');
    jQuery('.chart').addClass('hidden');
    // Adding a class to the widget element so that classes are only used in the stylesheet
    jQuery('#tinypng_dashboard_widget').addClass('tiny_dashboard_widget');
    attachHandlers(container);
    retrieveStats(container);
  }

  function retrieveStats(container) {
    jQuery.ajax({
      url: ajaxurl,
      type: 'POST',
      data: {
        _nonce: tinyCompressDashboard.nonce,
        action: 'tiny_get_optimization_statistics',
        id: '#tinypng_dashboard_widget'
      },
      success: function(data) {
        if (data === 0) {
          container.append('<p> An error occured. </p>');
        } else {
          renderWidget(data);
        }
      },
      error: function() {
        container.append('<p> An error occured. </p>');
      }
    });
  }

  function attachHandlers(container) {
    setContainerClass(container);
    jQuery(window).resize(function(){
      setContainerClass(container);
    });
    jQuery('#tinypng_dashboard_widget .hndle').click(function() {
      jQuery(this).siblings('.inside').removeClass('mobile');
    });
  }

  function setContainerClass(container) {
     if (jQuery(container).width() < 400) {
        jQuery(container).addClass('mobile');
     } else if (jQuery(container).width() < 490 && jQuery(container).width() >= 400) {
        jQuery(container).addClass('tablet');
        jQuery(container).removeClass('mobile');
     } else if (jQuery(container).width() >= 490) {
        jQuery(container).removeClass('tablet').removeClass('mobile');
     }
  }

  function renderWidget(data) {
    var stats = jQuery.parseJSON(data);
    if (stats !== null) {
      var savings = stats['display-percentage'];
      var libraryOptimized = optimizedPercentage(stats);
      renderContent(libraryOptimized, stats, savings);
      renderChart(savings);
      jQuery('#optimization-chart').show();
    }
    jQuery('#widget-spinner').attr('class', 'hidden');
  }

  function renderPercentage(percentage) {
    jQuery('#savings-percentage').find('span').html(percentage);
  }

  function renderContent(percentage, stats, savingsPercentage) {
    renderPercentage(savingsPercentage);
    if ( 0 === stats['uploaded-images'] + stats['available-unoptimized-sizes'] ) {
      jQuery('#tinypng_dashboard_widget').addClass('no-images-uploaded');
    } else if ( percentage === 0 ) {
       jQuery('#tinypng_dashboard_widget').addClass('not-optimized');
    } else if ( percentage === 100 ) {
      jQuery('#tinypng_dashboard_widget').addClass('full-optimized');
    } else {
      jQuery('#uploaded-images').html( stats['uploaded-images'] );
      jQuery('#unoptimized-sizes').html( stats['available-unoptimized-sizes'] );
      jQuery('#tinypng_dashboard_widget').addClass('half-optimized');
    }
    jQuery('#ie8-compressed').find('span').html(savingsPercentage);
  }

  function chartOptions(percentage) {
    var chart = {};
    chart.size = 160;
    chart.radius = chart.size / 2 * 0.9;
    chart['main-radius'] = chart.radius * 0.88;
    chart['circle-size'] = 2 * Math.PI * chart['main-radius'];
    chart['dash-array-size'] = percentage / 100 * chart['circle-size'];
    return chart;
  }

  function optimizedPercentage(stats) {
    if ( 0 !== stats['unoptimized-library-size'] ) {
      return Math.round((stats['optimized-image-sizes'] / (stats['optimized-image-sizes'] + stats['available-unoptimized-sizes']) * 100), 0);
    } else {
      return 0;
    }
  }

  function renderChart(savingsPercentage) {
    var chart = chartOptions(savingsPercentage);
    jQuery('#optimization-chart svg circle.main').css('stroke-dasharray', chart['dash-array-size'] + ' ' + chart['circle-size']);
    var style =
            ' @keyframes shwoosh {' +
              ' from { stroke-dasharray: 0 ' + chart['circle-size'] + '}' +
              ' to { stroke-dasharray:' + chart['dash-array-size'] + ' ' + chart['circle-size'] + '}}';

    // JQuery bug where you cannot append to style tag https://bugs.jquery.com/ticket/9832
    try {
      jQuery('#tinypng_dashboard_widget .inside style').append(style);
    } catch(err) {

    }
  }

  // Check if widget is loaded
  if (jQuery('#tinypng_dashboard_widget').length) {
    generateDashboardWidget('#tinypng_dashboard_widget');
  }
}).call();