Changeset 2305105
- Timestamp:
- 05/14/2020 05:55:39 PM (6 years ago)
- Location:
- cryptocurrency-prices
- Files:
-
- 8 edited
- 1 copied
-
tags/3.0.17 (copied) (copied from cryptocurrency-prices/trunk)
-
tags/3.0.17/cryptocurrency-prices.php (modified) (1 diff)
-
tags/3.0.17/includes/admin.class.php (modified) (6 diffs)
-
tags/3.0.17/includes/currencyall.class.php (modified) (1 diff)
-
tags/3.0.17/readme.txt (modified) (2 diffs)
-
trunk/cryptocurrency-prices.php (modified) (1 diff)
-
trunk/includes/admin.class.php (modified) (6 diffs)
-
trunk/includes/currencyall.class.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
cryptocurrency-prices/tags/3.0.17/cryptocurrency-prices.php
r2132281 r2305105 7 7 Plugin URI: https://zwaply.com/ 8 8 Description: Provides multiple cryptocurrency features: accepting payments, displaying prices and exchange rates, cryptocurrency calculator, accepting donations. 9 Version: 3.0.1 69 Version: 3.0.17 10 10 Author: Zwaply 11 11 Author URI: https://zwaply.com/ -
cryptocurrency-prices/tags/3.0.17/includes/admin.class.php
r2132281 r2305105 14 14 add_action( 'admin_init', array( 'CPAdmin', 'dismiss_notices' ) ); 15 15 add_action( 'admin_notices', array( 'CPAdmin', 'admin_notices' ) ); 16 add_action( 'admin_print_footer_scripts', array( 'CPAdmin', 'admin_scripts' ) ); 16 17 } 17 18 public static function admin_notices() { … … 29 30 update_option( 'cryptocurrency-hide-update-notice-3.0.12', true ); 30 31 } 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 31 46 } 32 47 public static function register_menu_page() { … … 73 88 // array('CPAdmin', 'cryptocurrency_prices_admin_settings') 74 89 // ); 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); 83 101 add_submenu_page( 84 102 'settings', … … 98 116 echo ' 99 117 <div class="wrap cryptocurrency-admin"> 100 '.$admin_message_html.'101 118 <h1>Cyptocurrency Resources:</h1> 102 119 <p>You will find a list of resources, specially selected for the users of Cyptocurrency All-in-One.</p> … … 137 154 } 138 155 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; 143 157 } 144 158 public static function cryptocurrency_prices_admin_settings(){ … … 241 255 </select> 242 256 <p></p> 243 <label>Use default design (in sludes default CSS): </label>257 <label>Use default design (includes default CSS): </label> 244 258 <select name="cryptocurrency-prices-default-css"> 245 259 <option value="0">no</option> -
cryptocurrency-prices/tags/3.0.17/includes/currencyall.class.php
r2132281 r2305105 38 38 <table class="cp-table cp-cryptocurrencies-table"></table> 39 39 <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 } 54 56 } 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]); 55 91 } 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); 64 148 } 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); 67 155 } 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); 126 162 }); 127 lazy.update();128 },129 "columnDefs": [ {130 "targets": 0,131 "visible": false,132 "searchable": false133 },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);161 163 }); 162 164 }); 165 var cpInitDataTable = function( args ) { 166 var $table = jQuery(".cp-cryptocurrencies-table"); 167 $table.DataTable( args ); 168 } 163 169 }); 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 }169 170 </script> 170 171 '; -
cryptocurrency-prices/tags/3.0.17/readme.txt
r2132281 r2305105 5 5 Tags: bitcoin, cryptocurrency, bitcoin, ethereum, ripple, exchange, prices, rates, trading, payments, orders, token, btc, eth, etc, ltc, zec, xmr, ppc, dsh, candlestick, usd, eur 6 6 Requires at least: 3.0 7 Tested up to: 5. 2.28 Stable tag: 3.0.1 57 Tested up to: 5.4.1 8 Stable tag: 3.0.17 9 9 Requires PHP: 5.6.39 10 10 License: GPLv2 or later … … 211 211 == Changelog == 212 212 213 = 3.0.17 = 214 215 * Bugfixes and minor improvements. 216 213 217 = 3.0.16 = 214 218 -
cryptocurrency-prices/trunk/cryptocurrency-prices.php
r2132281 r2305105 7 7 Plugin URI: https://zwaply.com/ 8 8 Description: Provides multiple cryptocurrency features: accepting payments, displaying prices and exchange rates, cryptocurrency calculator, accepting donations. 9 Version: 3.0.1 69 Version: 3.0.17 10 10 Author: Zwaply 11 11 Author URI: https://zwaply.com/ -
cryptocurrency-prices/trunk/includes/admin.class.php
r2132281 r2305105 14 14 add_action( 'admin_init', array( 'CPAdmin', 'dismiss_notices' ) ); 15 15 add_action( 'admin_notices', array( 'CPAdmin', 'admin_notices' ) ); 16 add_action( 'admin_print_footer_scripts', array( 'CPAdmin', 'admin_scripts' ) ); 16 17 } 17 18 public static function admin_notices() { … … 29 30 update_option( 'cryptocurrency-hide-update-notice-3.0.12', true ); 30 31 } 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 31 46 } 32 47 public static function register_menu_page() { … … 73 88 // array('CPAdmin', 'cryptocurrency_prices_admin_settings') 74 89 // ); 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); 83 101 add_submenu_page( 84 102 'settings', … … 98 116 echo ' 99 117 <div class="wrap cryptocurrency-admin"> 100 '.$admin_message_html.'101 118 <h1>Cyptocurrency Resources:</h1> 102 119 <p>You will find a list of resources, specially selected for the users of Cyptocurrency All-in-One.</p> … … 137 154 } 138 155 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; 143 157 } 144 158 public static function cryptocurrency_prices_admin_settings(){ … … 241 255 </select> 242 256 <p></p> 243 <label>Use default design (in sludes default CSS): </label>257 <label>Use default design (includes default CSS): </label> 244 258 <select name="cryptocurrency-prices-default-css"> 245 259 <option value="0">no</option> -
cryptocurrency-prices/trunk/includes/currencyall.class.php
r2132281 r2305105 38 38 <table class="cp-table cp-cryptocurrencies-table"></table> 39 39 <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 } 54 56 } 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]); 55 91 } 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); 64 148 } 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); 67 155 } 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); 126 162 }); 127 lazy.update();128 },129 "columnDefs": [ {130 "targets": 0,131 "visible": false,132 "searchable": false133 },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);161 163 }); 162 164 }); 165 var cpInitDataTable = function( args ) { 166 var $table = jQuery(".cp-cryptocurrencies-table"); 167 $table.DataTable( args ); 168 } 163 169 }); 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 }169 170 </script> 170 171 '; -
cryptocurrency-prices/trunk/readme.txt
r2132281 r2305105 5 5 Tags: bitcoin, cryptocurrency, bitcoin, ethereum, ripple, exchange, prices, rates, trading, payments, orders, token, btc, eth, etc, ltc, zec, xmr, ppc, dsh, candlestick, usd, eur 6 6 Requires at least: 3.0 7 Tested up to: 5. 2.28 Stable tag: 3.0.1 57 Tested up to: 5.4.1 8 Stable tag: 3.0.17 9 9 Requires PHP: 5.6.39 10 10 License: GPLv2 or later … … 211 211 == Changelog == 212 212 213 = 3.0.17 = 214 215 * Bugfixes and minor improvements. 216 213 217 = 3.0.16 = 214 218
Note: See TracChangeset
for help on using the changeset viewer.