Plugin Directory

Changeset 2305105


Ignore:
Timestamp:
05/14/2020 05:55:39 PM (6 years ago)
Author:
zwaply
Message:

tagging version 3.0.17

Location:
cryptocurrency-prices
Files:
8 edited
1 copied

Legend:

Unmodified
Added
Removed
  • cryptocurrency-prices/tags/3.0.17/cryptocurrency-prices.php

    r2132281 r2305105  
    77Plugin URI: https://zwaply.com/
    88Description: Provides multiple cryptocurrency features: accepting payments, displaying prices and exchange rates, cryptocurrency calculator, accepting donations.
    9 Version: 3.0.16
     9Version: 3.0.17
    1010Author: Zwaply
    1111Author URI: https://zwaply.com/
  • cryptocurrency-prices/tags/3.0.17/includes/admin.class.php

    r2132281 r2305105  
    1414        add_action( 'admin_init', array( 'CPAdmin', 'dismiss_notices' ) );
    1515        add_action( 'admin_notices', array( 'CPAdmin', 'admin_notices' ) );
     16        add_action( 'admin_print_footer_scripts', array( 'CPAdmin', 'admin_scripts' ) );
    1617  }
    1718    public static function admin_notices() {
     
    2930            update_option( 'cryptocurrency-hide-update-notice-3.0.12', true );
    3031        }
     32    }
     33    public static function admin_scripts() {
     34        ?>
     35    <script>
     36    (function($){
     37      $('a[href*="zwaply.com/affiliate-login"]').each(function(i,elm){
     38        var $elm = $(elm);
     39        if(!$elm.attr('target')){
     40          $elm.attr('target','_blank');
     41        }
     42      })
     43    })(jQuery)
     44    </script>
     45    <?php
    3146    }
    3247  public static function register_menu_page() {
     
    7388    //   array('CPAdmin', 'cryptocurrency_prices_admin_settings')
    7489    // );
    75     add_submenu_page(
    76       'settings',
    77       __( 'Affiliate Panel', 'cryptocurrency' ),
    78       __( 'Affiliate Panel', 'cryptocurrency' ),
    79       'manage_options',
    80       'affiliate-panel',
    81       array('CPAdmin', 'cryptocurrency_prices_admin_affiliate_panel')
    82     );
     90    // add_submenu_page(
     91    //   'settings',
     92    //   __( 'Affiliate Panel', 'cryptocurrency' ),
     93    //   __( 'Affiliate Panel', 'cryptocurrency' ),
     94    //   'manage_options',
     95    //   'affiliate-panel',
     96    //   array('CPAdmin', 'cryptocurrency_prices_admin_affiliate_panel')
     97    // );
     98    global $submenu;
     99    $url = 'https://zwaply.com/affiliate-login/';
     100    $submenu['settings'][] = array(__( 'Affiliate Panel', 'cryptocurrency' ), 'manage_options', $url);
    83101    add_submenu_page(
    84102      'settings',
     
    98116      echo '
    99117      <div class="wrap cryptocurrency-admin">
    100         '.$admin_message_html.'
    101118        <h1>Cyptocurrency Resources:</h1>
    102119        <p>You will find a list of resources, specially selected for the users of Cyptocurrency All-in-One.</p>
     
    137154  } 
    138155  public static function cryptocurrency_prices_admin_affiliate_panel(){
    139     //check if user has admin capability
    140     if (current_user_can( 'manage_options' )){
    141           include_once dirname( __FILE__ ) . '/../parts/cryptocurrency-affiliate-panel.php';
    142     }
     156    return;
    143157  }     
    144158  public static function cryptocurrency_prices_admin_settings(){
     
    241255          </select>
    242256          <p></p>
    243           <label>Use default design (insludes default CSS): </label>
     257          <label>Use default design (includes default CSS): </label>
    244258          <select name="cryptocurrency-prices-default-css">
    245259            <option value="0">no</option>
  • cryptocurrency-prices/tags/3.0.17/includes/currencyall.class.php

    r2132281 r2305105  
    3838    <table class="cp-table cp-cryptocurrencies-table"></table>
    3939    <script type="text/javascript">
    40     //get list of currencies
    41     var toCurrency = \'' . $base_currency . '\';
    42     var apiUrl = \'https://api.coincap.io/v2/assets\';
    43     var apiUrl2 = \'https://api.coincap.io/v2/rates\';
    44     var locale = \''.$locale.'\';
    45     var coinsNames = {};
    46     jQuery.get( apiUrl, function( dataRaw ) {
    47       //get currency conversion data
    48       jQuery.get( apiUrl2, function( dataRaw2 ) {
    49         //calculate convrsion rate
    50         var data2 = dataRaw2.data;
    51         for (var currentRates = 0; currentRates < data2.length; currentRates++) {
    52           if (data2[currentRates].symbol == toCurrency){
    53             var rate = data2[currentRates].rateUsd;             
     40    document.addEventListener("DOMContentLoaded",function(){
     41      //get list of currencies
     42      var toCurrency = \'' . $base_currency . '\';
     43      var apiUrl = \'https://api.coincap.io/v2/assets\';
     44      var apiUrl2 = \'https://api.coincap.io/v2/rates\';
     45      var locale = \''.$locale.'\';
     46      var coinsNames = {};
     47      jQuery.get( apiUrl, function( dataRaw ) {
     48        //get currency conversion data
     49        jQuery.get( apiUrl2, function( dataRaw2 ) {
     50          //calculate convrsion rate
     51          var data2 = dataRaw2.data;
     52          for (var currentRates = 0; currentRates < data2.length; currentRates++) {
     53            if (data2[currentRates].symbol == toCurrency){
     54              var rate = data2[currentRates].rateUsd;             
     55            }
    5456          }
     57          //prepare dataset for datatable
     58          var data = dataRaw.data;
     59          var dataSet = [];
     60          for (var currentCurrency = 0; currentCurrency < data.length; currentCurrency++) {
     61          var price_number = data[currentCurrency].priceUsd / rate;
     62          if (price_number > 1.0) {
     63            // Round to 3 decimal places after zero
     64            price_number = parseFloat(price_number).toFixed(2);
     65          } else {
     66            // Round to 6 decimal places after zero
     67            price_number = parseFloat(price_number).toFixed(6);
     68          }
     69          coinPriceData = price_number;
     70          var name = data[currentCurrency].name;
     71          var symbol = data[currentCurrency].symbol.toLowerCase();
     72          var rank = data[currentCurrency].rank;
     73          //var price_number = data[currentCurrency][\'price_'.mb_strtolower($base_currency).'\'];
     74          //var price = price_number.toLocaleString('.$locale.')+\' \'+toCurrency;
     75          var price = price_number.toLocaleString('.$locale.');
     76          '.$price_symbol_fix.'
     77          var supply = parseInt(data[currentCurrency].available_supply).toLocaleString('.$locale.');
     78          var volume = parseInt(data[currentCurrency][\'24h_volume_'.mb_strtolower($base_currency).'\']+\' \').toLocaleString('.$locale.');
     79          if (data[currentCurrency].changePercent24Hr > 0){
     80            data[currentCurrency].changePercent24Hr = "+" + data[currentCurrency].changePercent24Hr;
     81            var changeClass = "change-inc";
     82          } else {
     83            var changeClass = "change-dec";
     84          }
     85          var percent_change_24h = parseFloat( data[currentCurrency].changePercent24Hr ).toFixed(2);
     86          var change = "<span class=\""+changeClass+"\">"+percent_change_24h+\'%\'+"</span>";
     87          var marketCap = parseInt(data[currentCurrency][\'market_cap_'.mb_strtolower($base_currency).'\']).toLocaleString('.$locale.');
     88          var image = "<img class=\"lazy\" data-src=\"'.CP_URL.'images/coins32x32/"+symbol.toLowerCase()+".png\" style=\"max-width:20px;\" />";
     89          coinsNames[symbol] = data[currentCurrency].name;
     90          dataSet.push([symbol, rank, image+\' \'+name + " (" + symbol.toUpperCase() + ")", price, change, ' . ( $show_trade_button ? '"TRADE BUTTON", ' : '' ) . '"$" + marketCap]);
    5591        }
    56         //prepare dataset for datatable
    57         var data = dataRaw.data;
    58         var dataSet = [];
    59         for (var currentCurrency = 0; currentCurrency < data.length; currentCurrency++) {
    60         var price_number = data[currentCurrency].priceUsd / rate;
    61         if (price_number > 1.0) {
    62           // Round to 3 decimal places after zero
    63           price_number = parseFloat(price_number).toFixed(2);
     92        //show datatable
     93        var dataTableArgs = {
     94          data: dataSet,
     95          columns: [
     96            { title: "Symbol" },
     97            { title: "#" },
     98            {
     99              title: "Coin",
     100              data: null,
     101              render: function ( data, type, row ) {
     102                var nameValue = coinsNames[data[0]].toLowerCase().replace(" ", "-");
     103                if (nameValue == "xrp") nameValue = "ripple"; //fix for xrp
     104                return "<a href=\"https://coinmarketcap.com/currencies/"+nameValue+"/\" ref=\"nofollow\" target=\"_blank\">" + data[2] + "</a>"
     105              }
     106            },
     107            { title: "Price ('.$base_currency.')" },
     108            { title: "Change (24h)" },
     109            ' . ( $show_trade_button ? '{ title: "TRADE" },' : '' ) . '
     110            //{ title: "Market Cap ('.$base_currency.')" },
     111          ],
     112          "order": [ [1, \'asc\'] ],
     113          "pageLength": '.$perpage.',
     114          "lengthMenu": [ [10, 50, 100, 500, 1000, -1], [10, 50, 100, 500, 1000, "All"] ],
     115          oLanguage: {
     116            sSearch: "",
     117            sSearchPlaceholder: "Search coins",
     118            "sInfo": "Showing _START_ to _END_ of _TOTAL_",
     119            "sInfoEmpty": "Showing 0 to 0 of 0",
     120            "sInfoFiltered": "(filtered from _MAX_ total)",
     121            "sLengthMenu": "Show _MENU_",
     122          },
     123          drawCallback: function() {
     124            var lazy = jQuery(".cp-cryptocurrencies-table img").Lazy({
     125              chainable: false,
     126              defaultImage: \'data:image/png;base64,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\'                           
     127            });
     128            lazy.update();
     129          },
     130          "columnDefs": [ {
     131            "targets": 0,
     132            "visible": false,
     133            "searchable": false
     134          },
     135          ' . ( $show_trade_button ? '{
     136            "targets": 5,
     137            "responsivePriority": 1,
     138            "data": null,
     139            "defaultContent": "<span class=\'trade-button\' style=\'cursor: pointer;\'>TRADE </span>"
     140          },' : '' ) . '
     141          ],
     142          responsive: true,
     143          dom: \'<"top">t<"bottom"<lp>f<"dataTables_powered_by">><"clear">\',
     144          pagingType: "simple",
     145        };
     146        if( "function" === typeof jQuery().DataTable ) {
     147          cpInitDataTable(dataTableArgs);
    64148        } else {
    65           // Round to 6 decimal places after zero
    66           price_number = parseFloat(price_number).toFixed(6);
     149          var dataTableLoadInterval = setInterval( function() {
     150            if( "function" === typeof jQuery().DataTable ) {
     151              clearInterval(dataTableLoadInterval);
     152              cpInitDataTable(dataTableArgs);
     153            }
     154          }, 500);
    67155        }
    68         coinPriceData = price_number;
    69         var name = data[currentCurrency].name;
    70         var symbol = data[currentCurrency].symbol.toLowerCase();
    71         var rank = data[currentCurrency].rank;
    72         //var price_number = data[currentCurrency][\'price_'.mb_strtolower($base_currency).'\'];
    73         //var price = price_number.toLocaleString('.$locale.')+\' \'+toCurrency;
    74         var price = price_number.toLocaleString('.$locale.');
    75         '.$price_symbol_fix.'
    76         var supply = parseInt(data[currentCurrency].available_supply).toLocaleString('.$locale.');
    77         var volume = parseInt(data[currentCurrency][\'24h_volume_'.mb_strtolower($base_currency).'\']+\' \').toLocaleString('.$locale.');
    78         if (data[currentCurrency].changePercent24Hr > 0){
    79           data[currentCurrency].changePercent24Hr = "+" + data[currentCurrency].changePercent24Hr;
    80           var changeClass = "change-inc";
    81         } else {
    82           var changeClass = "change-dec";
    83         }
    84         var percent_change_24h = parseFloat( data[currentCurrency].changePercent24Hr ).toFixed(2);
    85         var change = "<span class=\""+changeClass+"\">"+percent_change_24h+\'%\'+"</span>";
    86         var marketCap = parseInt(data[currentCurrency][\'market_cap_'.mb_strtolower($base_currency).'\']).toLocaleString('.$locale.');
    87         var image = "<img class=\"lazy\" data-src=\"'.CP_URL.'images/coins32x32/"+symbol.toLowerCase()+".png\" style=\"max-width:20px;\" />";
    88         coinsNames[symbol] = data[currentCurrency].name;
    89         dataSet.push([symbol, rank, image+\' \'+name + " (" + symbol.toUpperCase() + ")", price, change, ' . ( $show_trade_button ? '"TRADE BUTTON", ' : '' ) . '"$" + marketCap]);
    90       }
    91       //show datatable
    92       var dataTableArgs = {
    93         data: dataSet,
    94         columns: [
    95           { title: "Symbol" },
    96           { title: "#" },
    97           {
    98             title: "Coin",
    99             data: null,
    100             render: function ( data, type, row ) {
    101               var nameValue = coinsNames[data[0]].toLowerCase().replace(" ", "-");
    102               if (nameValue == "xrp") nameValue = "ripple"; //fix for xrp
    103               return "<a href=\"https://coinmarketcap.com/currencies/"+nameValue+"/\" ref=\"nofollow\" target=\"_blank\">" + data[2] + "</a>"
    104             }
    105           },
    106           { title: "Price ('.$base_currency.')" },
    107           { title: "Change (24h)" },
    108           ' . ( $show_trade_button ? '{ title: "TRADE" },' : '' ) . '
    109           //{ title: "Market Cap ('.$base_currency.')" },
    110         ],
    111         "order": [ [1, \'asc\'] ],
    112         "pageLength": '.$perpage.',
    113         "lengthMenu": [ [10, 50, 100, 500, 1000, -1], [10, 50, 100, 500, 1000, "All"] ],
    114         oLanguage: {
    115           sSearch: "",
    116           sSearchPlaceholder: "Search coins",
    117           "sInfo": "Showing _START_ to _END_ of _TOTAL_",
    118           "sInfoEmpty": "Showing 0 to 0 of 0",
    119           "sInfoFiltered": "(filtered from _MAX_ total)",
    120           "sLengthMenu": "Show _MENU_",
    121         },
    122         drawCallback: function() {
    123           var lazy = jQuery(".cp-cryptocurrencies-table img").Lazy({
    124             chainable: false,
    125             defaultImage: \'data:image/png;base64,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\'                           
     156          jQuery(".cp-cryptocurrencies-table").on("click", ".trade-button", function() {
     157            var $elm = jQuery(this);
     158            var row_data = jQuery(".cp-cryptocurrencies-table").DataTable().row( $elm.parents("tr") ).data();
     159            var symbol = row_data[0];
     160            //jQuery(".trade-button").append(symbol);
     161            window.open(\'https://zwaply.com/exchange/?' . ( ! empty( $affiliate_id ) ? 'affiliate_id=' . $affiliate_id . '&' : '' ) . 'source_coin=\'+symbol);
    126162          });
    127           lazy.update();
    128         },
    129         "columnDefs": [ {
    130           "targets": 0,
    131           "visible": false,
    132           "searchable": false
    133         },
    134         ' . ( $show_trade_button ? '{
    135           "targets": 5,
    136           "responsivePriority": 1,
    137           "data": null,
    138           "defaultContent": "<span class=\'trade-button\' style=\'cursor: pointer;\'>TRADE </span>"
    139         },' : '' ) . '
    140          ],
    141         responsive: true,
    142         dom: \'<"top">t<"bottom"<lp>f<"dataTables_powered_by">><"clear">\',
    143         pagingType: "simple",
    144       };
    145       if( "function" === typeof jQuery().DataTable ) {
    146         cpInitDataTable(dataTableArgs);
    147       } else {
    148         var dataTableLoadInterval = setInterval( function() {
    149           if( "function" === typeof jQuery().DataTable ) {
    150             clearInterval(dataTableLoadInterval);
    151             cpInitDataTable(dataTableArgs);
    152           }
    153         }, 500);
    154       }
    155         jQuery(".cp-cryptocurrencies-table").on("click", ".trade-button", function() {
    156           var $elm = jQuery(this);
    157           var row_data = jQuery(".cp-cryptocurrencies-table").DataTable().row( $elm.parents("tr") ).data();
    158           var symbol = row_data[0];
    159           //jQuery(".trade-button").append(symbol);
    160           window.open(\'https://zwaply.com/exchange/?' . ( ! empty( $affiliate_id ) ? 'affiliate_id=' . $affiliate_id . '&' : '' ) . 'source_coin=\'+symbol);
    161163        });
    162164      });
     165      var cpInitDataTable = function( args ) {
     166        var $table = jQuery(".cp-cryptocurrencies-table");
     167        $table.DataTable( args );
     168      }
    163169    });
    164     function cpInitDataTable( args ) {
    165       var $table = jQuery(".cp-cryptocurrencies-table");
    166       $table.DataTable( args );
    167       $table.parents(".dataTables_wrapper").find(".dataTables_powered_by").html("<a target=\"_blank\" href=\'https://wordpress.org/plugins/cryptocurrency-prices/\'>By Zwaply.com</a>");
    168     }
    169170    </script>
    170171    ';
  • cryptocurrency-prices/tags/3.0.17/readme.txt

    r2132281 r2305105  
    55Tags: bitcoin, cryptocurrency, bitcoin, ethereum, ripple, exchange, prices, rates, trading, payments, orders, token, btc, eth, etc, ltc, zec, xmr, ppc, dsh, candlestick, usd, eur
    66Requires at least: 3.0
    7 Tested up to: 5.2.2
    8 Stable tag: 3.0.15
     7Tested up to: 5.4.1
     8Stable tag: 3.0.17
    99Requires PHP: 5.6.39
    1010License: GPLv2 or later
     
    211211== Changelog ==
    212212
     213= 3.0.17 =
     214
     215* Bugfixes and minor improvements.
     216
    213217= 3.0.16 =
    214218
  • cryptocurrency-prices/trunk/cryptocurrency-prices.php

    r2132281 r2305105  
    77Plugin URI: https://zwaply.com/
    88Description: Provides multiple cryptocurrency features: accepting payments, displaying prices and exchange rates, cryptocurrency calculator, accepting donations.
    9 Version: 3.0.16
     9Version: 3.0.17
    1010Author: Zwaply
    1111Author URI: https://zwaply.com/
  • cryptocurrency-prices/trunk/includes/admin.class.php

    r2132281 r2305105  
    1414        add_action( 'admin_init', array( 'CPAdmin', 'dismiss_notices' ) );
    1515        add_action( 'admin_notices', array( 'CPAdmin', 'admin_notices' ) );
     16        add_action( 'admin_print_footer_scripts', array( 'CPAdmin', 'admin_scripts' ) );
    1617  }
    1718    public static function admin_notices() {
     
    2930            update_option( 'cryptocurrency-hide-update-notice-3.0.12', true );
    3031        }
     32    }
     33    public static function admin_scripts() {
     34        ?>
     35    <script>
     36    (function($){
     37      $('a[href*="zwaply.com/affiliate-login"]').each(function(i,elm){
     38        var $elm = $(elm);
     39        if(!$elm.attr('target')){
     40          $elm.attr('target','_blank');
     41        }
     42      })
     43    })(jQuery)
     44    </script>
     45    <?php
    3146    }
    3247  public static function register_menu_page() {
     
    7388    //   array('CPAdmin', 'cryptocurrency_prices_admin_settings')
    7489    // );
    75     add_submenu_page(
    76       'settings',
    77       __( 'Affiliate Panel', 'cryptocurrency' ),
    78       __( 'Affiliate Panel', 'cryptocurrency' ),
    79       'manage_options',
    80       'affiliate-panel',
    81       array('CPAdmin', 'cryptocurrency_prices_admin_affiliate_panel')
    82     );
     90    // add_submenu_page(
     91    //   'settings',
     92    //   __( 'Affiliate Panel', 'cryptocurrency' ),
     93    //   __( 'Affiliate Panel', 'cryptocurrency' ),
     94    //   'manage_options',
     95    //   'affiliate-panel',
     96    //   array('CPAdmin', 'cryptocurrency_prices_admin_affiliate_panel')
     97    // );
     98    global $submenu;
     99    $url = 'https://zwaply.com/affiliate-login/';
     100    $submenu['settings'][] = array(__( 'Affiliate Panel', 'cryptocurrency' ), 'manage_options', $url);
    83101    add_submenu_page(
    84102      'settings',
     
    98116      echo '
    99117      <div class="wrap cryptocurrency-admin">
    100         '.$admin_message_html.'
    101118        <h1>Cyptocurrency Resources:</h1>
    102119        <p>You will find a list of resources, specially selected for the users of Cyptocurrency All-in-One.</p>
     
    137154  } 
    138155  public static function cryptocurrency_prices_admin_affiliate_panel(){
    139     //check if user has admin capability
    140     if (current_user_can( 'manage_options' )){
    141           include_once dirname( __FILE__ ) . '/../parts/cryptocurrency-affiliate-panel.php';
    142     }
     156    return;
    143157  }     
    144158  public static function cryptocurrency_prices_admin_settings(){
     
    241255          </select>
    242256          <p></p>
    243           <label>Use default design (insludes default CSS): </label>
     257          <label>Use default design (includes default CSS): </label>
    244258          <select name="cryptocurrency-prices-default-css">
    245259            <option value="0">no</option>
  • cryptocurrency-prices/trunk/includes/currencyall.class.php

    r2132281 r2305105  
    3838    <table class="cp-table cp-cryptocurrencies-table"></table>
    3939    <script type="text/javascript">
    40     //get list of currencies
    41     var toCurrency = \'' . $base_currency . '\';
    42     var apiUrl = \'https://api.coincap.io/v2/assets\';
    43     var apiUrl2 = \'https://api.coincap.io/v2/rates\';
    44     var locale = \''.$locale.'\';
    45     var coinsNames = {};
    46     jQuery.get( apiUrl, function( dataRaw ) {
    47       //get currency conversion data
    48       jQuery.get( apiUrl2, function( dataRaw2 ) {
    49         //calculate convrsion rate
    50         var data2 = dataRaw2.data;
    51         for (var currentRates = 0; currentRates < data2.length; currentRates++) {
    52           if (data2[currentRates].symbol == toCurrency){
    53             var rate = data2[currentRates].rateUsd;             
     40    document.addEventListener("DOMContentLoaded",function(){
     41      //get list of currencies
     42      var toCurrency = \'' . $base_currency . '\';
     43      var apiUrl = \'https://api.coincap.io/v2/assets\';
     44      var apiUrl2 = \'https://api.coincap.io/v2/rates\';
     45      var locale = \''.$locale.'\';
     46      var coinsNames = {};
     47      jQuery.get( apiUrl, function( dataRaw ) {
     48        //get currency conversion data
     49        jQuery.get( apiUrl2, function( dataRaw2 ) {
     50          //calculate convrsion rate
     51          var data2 = dataRaw2.data;
     52          for (var currentRates = 0; currentRates < data2.length; currentRates++) {
     53            if (data2[currentRates].symbol == toCurrency){
     54              var rate = data2[currentRates].rateUsd;             
     55            }
    5456          }
     57          //prepare dataset for datatable
     58          var data = dataRaw.data;
     59          var dataSet = [];
     60          for (var currentCurrency = 0; currentCurrency < data.length; currentCurrency++) {
     61          var price_number = data[currentCurrency].priceUsd / rate;
     62          if (price_number > 1.0) {
     63            // Round to 3 decimal places after zero
     64            price_number = parseFloat(price_number).toFixed(2);
     65          } else {
     66            // Round to 6 decimal places after zero
     67            price_number = parseFloat(price_number).toFixed(6);
     68          }
     69          coinPriceData = price_number;
     70          var name = data[currentCurrency].name;
     71          var symbol = data[currentCurrency].symbol.toLowerCase();
     72          var rank = data[currentCurrency].rank;
     73          //var price_number = data[currentCurrency][\'price_'.mb_strtolower($base_currency).'\'];
     74          //var price = price_number.toLocaleString('.$locale.')+\' \'+toCurrency;
     75          var price = price_number.toLocaleString('.$locale.');
     76          '.$price_symbol_fix.'
     77          var supply = parseInt(data[currentCurrency].available_supply).toLocaleString('.$locale.');
     78          var volume = parseInt(data[currentCurrency][\'24h_volume_'.mb_strtolower($base_currency).'\']+\' \').toLocaleString('.$locale.');
     79          if (data[currentCurrency].changePercent24Hr > 0){
     80            data[currentCurrency].changePercent24Hr = "+" + data[currentCurrency].changePercent24Hr;
     81            var changeClass = "change-inc";
     82          } else {
     83            var changeClass = "change-dec";
     84          }
     85          var percent_change_24h = parseFloat( data[currentCurrency].changePercent24Hr ).toFixed(2);
     86          var change = "<span class=\""+changeClass+"\">"+percent_change_24h+\'%\'+"</span>";
     87          var marketCap = parseInt(data[currentCurrency][\'market_cap_'.mb_strtolower($base_currency).'\']).toLocaleString('.$locale.');
     88          var image = "<img class=\"lazy\" data-src=\"'.CP_URL.'images/coins32x32/"+symbol.toLowerCase()+".png\" style=\"max-width:20px;\" />";
     89          coinsNames[symbol] = data[currentCurrency].name;
     90          dataSet.push([symbol, rank, image+\' \'+name + " (" + symbol.toUpperCase() + ")", price, change, ' . ( $show_trade_button ? '"TRADE BUTTON", ' : '' ) . '"$" + marketCap]);
    5591        }
    56         //prepare dataset for datatable
    57         var data = dataRaw.data;
    58         var dataSet = [];
    59         for (var currentCurrency = 0; currentCurrency < data.length; currentCurrency++) {
    60         var price_number = data[currentCurrency].priceUsd / rate;
    61         if (price_number > 1.0) {
    62           // Round to 3 decimal places after zero
    63           price_number = parseFloat(price_number).toFixed(2);
     92        //show datatable
     93        var dataTableArgs = {
     94          data: dataSet,
     95          columns: [
     96            { title: "Symbol" },
     97            { title: "#" },
     98            {
     99              title: "Coin",
     100              data: null,
     101              render: function ( data, type, row ) {
     102                var nameValue = coinsNames[data[0]].toLowerCase().replace(" ", "-");
     103                if (nameValue == "xrp") nameValue = "ripple"; //fix for xrp
     104                return "<a href=\"https://coinmarketcap.com/currencies/"+nameValue+"/\" ref=\"nofollow\" target=\"_blank\">" + data[2] + "</a>"
     105              }
     106            },
     107            { title: "Price ('.$base_currency.')" },
     108            { title: "Change (24h)" },
     109            ' . ( $show_trade_button ? '{ title: "TRADE" },' : '' ) . '
     110            //{ title: "Market Cap ('.$base_currency.')" },
     111          ],
     112          "order": [ [1, \'asc\'] ],
     113          "pageLength": '.$perpage.',
     114          "lengthMenu": [ [10, 50, 100, 500, 1000, -1], [10, 50, 100, 500, 1000, "All"] ],
     115          oLanguage: {
     116            sSearch: "",
     117            sSearchPlaceholder: "Search coins",
     118            "sInfo": "Showing _START_ to _END_ of _TOTAL_",
     119            "sInfoEmpty": "Showing 0 to 0 of 0",
     120            "sInfoFiltered": "(filtered from _MAX_ total)",
     121            "sLengthMenu": "Show _MENU_",
     122          },
     123          drawCallback: function() {
     124            var lazy = jQuery(".cp-cryptocurrencies-table img").Lazy({
     125              chainable: false,
     126              defaultImage: \'data:image/png;base64,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\'                           
     127            });
     128            lazy.update();
     129          },
     130          "columnDefs": [ {
     131            "targets": 0,
     132            "visible": false,
     133            "searchable": false
     134          },
     135          ' . ( $show_trade_button ? '{
     136            "targets": 5,
     137            "responsivePriority": 1,
     138            "data": null,
     139            "defaultContent": "<span class=\'trade-button\' style=\'cursor: pointer;\'>TRADE </span>"
     140          },' : '' ) . '
     141          ],
     142          responsive: true,
     143          dom: \'<"top">t<"bottom"<lp>f<"dataTables_powered_by">><"clear">\',
     144          pagingType: "simple",
     145        };
     146        if( "function" === typeof jQuery().DataTable ) {
     147          cpInitDataTable(dataTableArgs);
    64148        } else {
    65           // Round to 6 decimal places after zero
    66           price_number = parseFloat(price_number).toFixed(6);
     149          var dataTableLoadInterval = setInterval( function() {
     150            if( "function" === typeof jQuery().DataTable ) {
     151              clearInterval(dataTableLoadInterval);
     152              cpInitDataTable(dataTableArgs);
     153            }
     154          }, 500);
    67155        }
    68         coinPriceData = price_number;
    69         var name = data[currentCurrency].name;
    70         var symbol = data[currentCurrency].symbol.toLowerCase();
    71         var rank = data[currentCurrency].rank;
    72         //var price_number = data[currentCurrency][\'price_'.mb_strtolower($base_currency).'\'];
    73         //var price = price_number.toLocaleString('.$locale.')+\' \'+toCurrency;
    74         var price = price_number.toLocaleString('.$locale.');
    75         '.$price_symbol_fix.'
    76         var supply = parseInt(data[currentCurrency].available_supply).toLocaleString('.$locale.');
    77         var volume = parseInt(data[currentCurrency][\'24h_volume_'.mb_strtolower($base_currency).'\']+\' \').toLocaleString('.$locale.');
    78         if (data[currentCurrency].changePercent24Hr > 0){
    79           data[currentCurrency].changePercent24Hr = "+" + data[currentCurrency].changePercent24Hr;
    80           var changeClass = "change-inc";
    81         } else {
    82           var changeClass = "change-dec";
    83         }
    84         var percent_change_24h = parseFloat( data[currentCurrency].changePercent24Hr ).toFixed(2);
    85         var change = "<span class=\""+changeClass+"\">"+percent_change_24h+\'%\'+"</span>";
    86         var marketCap = parseInt(data[currentCurrency][\'market_cap_'.mb_strtolower($base_currency).'\']).toLocaleString('.$locale.');
    87         var image = "<img class=\"lazy\" data-src=\"'.CP_URL.'images/coins32x32/"+symbol.toLowerCase()+".png\" style=\"max-width:20px;\" />";
    88         coinsNames[symbol] = data[currentCurrency].name;
    89         dataSet.push([symbol, rank, image+\' \'+name + " (" + symbol.toUpperCase() + ")", price, change, ' . ( $show_trade_button ? '"TRADE BUTTON", ' : '' ) . '"$" + marketCap]);
    90       }
    91       //show datatable
    92       var dataTableArgs = {
    93         data: dataSet,
    94         columns: [
    95           { title: "Symbol" },
    96           { title: "#" },
    97           {
    98             title: "Coin",
    99             data: null,
    100             render: function ( data, type, row ) {
    101               var nameValue = coinsNames[data[0]].toLowerCase().replace(" ", "-");
    102               if (nameValue == "xrp") nameValue = "ripple"; //fix for xrp
    103               return "<a href=\"https://coinmarketcap.com/currencies/"+nameValue+"/\" ref=\"nofollow\" target=\"_blank\">" + data[2] + "</a>"
    104             }
    105           },
    106           { title: "Price ('.$base_currency.')" },
    107           { title: "Change (24h)" },
    108           ' . ( $show_trade_button ? '{ title: "TRADE" },' : '' ) . '
    109           //{ title: "Market Cap ('.$base_currency.')" },
    110         ],
    111         "order": [ [1, \'asc\'] ],
    112         "pageLength": '.$perpage.',
    113         "lengthMenu": [ [10, 50, 100, 500, 1000, -1], [10, 50, 100, 500, 1000, "All"] ],
    114         oLanguage: {
    115           sSearch: "",
    116           sSearchPlaceholder: "Search coins",
    117           "sInfo": "Showing _START_ to _END_ of _TOTAL_",
    118           "sInfoEmpty": "Showing 0 to 0 of 0",
    119           "sInfoFiltered": "(filtered from _MAX_ total)",
    120           "sLengthMenu": "Show _MENU_",
    121         },
    122         drawCallback: function() {
    123           var lazy = jQuery(".cp-cryptocurrencies-table img").Lazy({
    124             chainable: false,
    125             defaultImage: \'data:image/png;base64,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\'                           
     156          jQuery(".cp-cryptocurrencies-table").on("click", ".trade-button", function() {
     157            var $elm = jQuery(this);
     158            var row_data = jQuery(".cp-cryptocurrencies-table").DataTable().row( $elm.parents("tr") ).data();
     159            var symbol = row_data[0];
     160            //jQuery(".trade-button").append(symbol);
     161            window.open(\'https://zwaply.com/exchange/?' . ( ! empty( $affiliate_id ) ? 'affiliate_id=' . $affiliate_id . '&' : '' ) . 'source_coin=\'+symbol);
    126162          });
    127           lazy.update();
    128         },
    129         "columnDefs": [ {
    130           "targets": 0,
    131           "visible": false,
    132           "searchable": false
    133         },
    134         ' . ( $show_trade_button ? '{
    135           "targets": 5,
    136           "responsivePriority": 1,
    137           "data": null,
    138           "defaultContent": "<span class=\'trade-button\' style=\'cursor: pointer;\'>TRADE </span>"
    139         },' : '' ) . '
    140          ],
    141         responsive: true,
    142         dom: \'<"top">t<"bottom"<lp>f<"dataTables_powered_by">><"clear">\',
    143         pagingType: "simple",
    144       };
    145       if( "function" === typeof jQuery().DataTable ) {
    146         cpInitDataTable(dataTableArgs);
    147       } else {
    148         var dataTableLoadInterval = setInterval( function() {
    149           if( "function" === typeof jQuery().DataTable ) {
    150             clearInterval(dataTableLoadInterval);
    151             cpInitDataTable(dataTableArgs);
    152           }
    153         }, 500);
    154       }
    155         jQuery(".cp-cryptocurrencies-table").on("click", ".trade-button", function() {
    156           var $elm = jQuery(this);
    157           var row_data = jQuery(".cp-cryptocurrencies-table").DataTable().row( $elm.parents("tr") ).data();
    158           var symbol = row_data[0];
    159           //jQuery(".trade-button").append(symbol);
    160           window.open(\'https://zwaply.com/exchange/?' . ( ! empty( $affiliate_id ) ? 'affiliate_id=' . $affiliate_id . '&' : '' ) . 'source_coin=\'+symbol);
    161163        });
    162164      });
     165      var cpInitDataTable = function( args ) {
     166        var $table = jQuery(".cp-cryptocurrencies-table");
     167        $table.DataTable( args );
     168      }
    163169    });
    164     function cpInitDataTable( args ) {
    165       var $table = jQuery(".cp-cryptocurrencies-table");
    166       $table.DataTable( args );
    167       $table.parents(".dataTables_wrapper").find(".dataTables_powered_by").html("<a target=\"_blank\" href=\'https://wordpress.org/plugins/cryptocurrency-prices/\'>By Zwaply.com</a>");
    168     }
    169170    </script>
    170171    ';
  • cryptocurrency-prices/trunk/readme.txt

    r2132281 r2305105  
    55Tags: bitcoin, cryptocurrency, bitcoin, ethereum, ripple, exchange, prices, rates, trading, payments, orders, token, btc, eth, etc, ltc, zec, xmr, ppc, dsh, candlestick, usd, eur
    66Requires at least: 3.0
    7 Tested up to: 5.2.2
    8 Stable tag: 3.0.15
     7Tested up to: 5.4.1
     8Stable tag: 3.0.17
    99Requires PHP: 5.6.39
    1010License: GPLv2 or later
     
    211211== Changelog ==
    212212
     213= 3.0.17 =
     214
     215* Bugfixes and minor improvements.
     216
    213217= 3.0.16 =
    214218
Note: See TracChangeset for help on using the changeset viewer.