From a0894a5ef8d7cc68020eaaa19109fb9c08db9133 Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Thu, 22 Sep 2022 18:21:14 +0530 Subject: [PATCH 1/8] Fix chartJs javascript error Codeinwp/visualizer-pro#345 --- js/render-chartjs.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/render-chartjs.js b/js/render-chartjs.js index 0c0248ba1..f626aef69 100644 --- a/js/render-chartjs.js +++ b/js/render-chartjs.js @@ -113,6 +113,11 @@ handleSettings(settings, chart); + const getChart = Chart.getChart(context); + if ( getChart ) { + return; + } + var chartjs = new Chart(context, { type: type, data: { From c5801d8926d6dad796dde1f2030618a8f53185b3 Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Fri, 23 Sep 2022 14:06:02 +0530 Subject: [PATCH 2/8] Fix control Type error Codeinwp/visualizer-pro#347 --- js/render-google.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/render-google.js b/js/render-google.js index dc8e419d8..20a923248 100644 --- a/js/render-google.js +++ b/js/render-google.js @@ -76,7 +76,7 @@ var chartWrapperError = []; } var controlWrapperElement = document.getElementById( "control_wrapper_" + id ) || null; - var withControlMode = typeof settings.controls !== 'undefined' && controlWrapperElement ? true : false; + var withControlMode = ( typeof settings.controls !== 'undefined' && '' !== settings.controls.controlType ) && controlWrapperElement ? true : false; if ( $( controlWrapperElement ).hasClass( 'no-filter' ) ) { withControlMode = false; From 0fb27dc725fb98fa198a1207ce77ce59aff22ca4 Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Fri, 23 Sep 2022 14:36:07 +0530 Subject: [PATCH 3/8] Fix temp file creation issue on instawp #940 --- classes/Visualizer/Module.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/classes/Visualizer/Module.php b/classes/Visualizer/Module.php index c9ad1f2d7..8a642c464 100644 --- a/classes/Visualizer/Module.php +++ b/classes/Visualizer/Module.php @@ -270,6 +270,9 @@ private function _getCSV( $rows, $filename, $enclose ) { $bom = chr( 0xEF ) . chr( 0xBB ) . chr( 0xBF ); $fp = tmpfile(); + if ( null === $fp ) { + $fp = fopen( wp_tempnam(), 'w+' ); + } if ( ! apply_filters( 'vizualizer_export_include_series_type', true ) ) { unset( $rows[1] ); $rows = array_values( $rows ); From 45f89478a6345fd7a38a1c2a50e0983b88ad09fb Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Mon, 26 Sep 2022 14:42:54 +0530 Subject: [PATCH 4/8] Fix filter layout issue Codeinwp/visualizer-pro#348 --- classes/Visualizer/Module.php | 2 +- classes/Visualizer/Module/Admin.php | 7 +++++++ css/frame.css | 19 ++++++++++++++++--- js/render-google.js | 11 +++++++++++ 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/classes/Visualizer/Module.php b/classes/Visualizer/Module.php index c9ad1f2d7..7c083a434 100644 --- a/classes/Visualizer/Module.php +++ b/classes/Visualizer/Module.php @@ -624,7 +624,7 @@ protected function get_inline_custom_css( $id, $settings ) { } $img_path = VISUALIZER_ABSURL . 'images'; - $css .= ".locker,.locker-loader{position:absolute;top:0;left:0;width:100%;height:100%}.locker{z-index:1000;opacity:.8;background-color:#fff;-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)\";filter:alpha(opacity=80)}.locker-loader{z-index:1001;background:url($img_path/ajax-loader.gif) no-repeat center center}.dt-button{display:none!important}.visualizer-front-container.visualizer-lazy-render{content-visibility: auto;}"; + $css .= ".locker,.locker-loader{position:absolute;top:0;left:0;width:100%;height:100%}.locker{z-index:1000;opacity:.8;background-color:#fff;-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)\";filter:alpha(opacity=80)}.locker-loader{z-index:1001;background:url($img_path/ajax-loader.gif) no-repeat center center}.dt-button{display:none!important}.visualizer-front-container.visualizer-lazy-render{content-visibility: auto;}.google-visualization-controls-categoryfilter label.google-visualization-controls-label {vertical-align: middle;}.google-visualization-controls-categoryfilter li.goog-inline-block {margin: 0 0.2em;}.google-visualization-controls-categoryfilter li {padding: 0 0.2em;}"; $css .= ''; $arguments = array( $css, $settings ); diff --git a/classes/Visualizer/Module/Admin.php b/classes/Visualizer/Module/Admin.php index 46cbd141a..f52982dbb 100644 --- a/classes/Visualizer/Module/Admin.php +++ b/classes/Visualizer/Module/Admin.php @@ -968,6 +968,13 @@ public function renderLibraryPage() { $settings = $arguments[1]; } + if ( isset( $settings['controls']['ui']['labelStacking'] ) ) { + unset( $settings['controls']['ui']['labelStacking'] ); + } + if ( isset( $settings['controls']['ui']['orientation'] ) ) { + unset( $settings['controls']['ui']['orientation'] ); + } + // add chart to the array $charts[ $id ] = array( 'id' => $chart->ID, diff --git a/css/frame.css b/css/frame.css index d669701e3..9f168022e 100644 --- a/css/frame.css +++ b/css/frame.css @@ -19,10 +19,23 @@ } #control_wrapper_canvas:not(:empty) { margin: 15px 0 0 5px; + position: relative; + z-index: 1; +} +#control_wrapper_canvas:not(:empty) + #canvas .google-visualization-table { + top: 60px; +} +.vz-vertical .google-visualization-table { + left: 70px; +} +.google-visualization-controls-categoryfilter label.google-visualization-controls-label { + vertical-align: middle; +} +.google-visualization-controls-categoryfilter li.goog-inline-block { + margin: 0 0.2em; } -#control_wrapper_canvas:not(:empty) + #canvas { - top: 55px; - left: 50px; +.google-visualization-controls-categoryfilter li { + padding: 0 0.2em; } .goog-combobox input { min-height: auto; diff --git a/js/render-google.js b/js/render-google.js index dc8e419d8..46844b611 100644 --- a/js/render-google.js +++ b/js/render-google.js @@ -399,6 +399,7 @@ var chartWrapperError = []; }); if ( withControlMode ) { + // alert( chart.is_library_page ); // Create a control wrapper, passing some options. var controlWrapper = new gv.ControlWrapper( { containerId: 'control_wrapper_' + id, @@ -410,6 +411,16 @@ var chartWrapperError = []; render.setOptions(settings); chartWrapper.bind(controlWrapper, render); chartWrapper.draw(table); + + gv.events.addListener(controlWrapper, 'ready', function ( err ) { + if ( 'vertical' === settings.controls.ui.orientation ) { + if ( 'canvas' === id ) { + jQuery( '#' + id ).addClass( 'vz-vertical' ); + } + } else { + jQuery( '#' + id ).removeClass( 'vz-vertical' ); + } + }); } else { $('body').trigger('visualizer:chart:settings:extend', {id: id, chart: chart, settings: settings, data: table}); render.draw(table, settings); From 3afa568facac5b7fcba6ea7d16c77ff62b96031f Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Thu, 6 Oct 2022 10:13:35 +0530 Subject: [PATCH 5/8] Fix simple editor table scrolling issue Codeinwp/visualizer-pro#353 --- css/frame.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/css/frame.css b/css/frame.css index d669701e3..7949c1fcc 100644 --- a/css/frame.css +++ b/css/frame.css @@ -1526,6 +1526,10 @@ button#viz-text-editor-button { vertical-align: middle; } +.viz-simple-editor .viz-html-table { + width: 95%; +} + /******************************************************************************/ /******************************** chartjs ***********************************/ /******************************************************************************/ From e8e92a76824cd5e4f977d1c4d0b733fb20f613dc Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Mon, 10 Oct 2022 15:41:58 +0530 Subject: [PATCH 6/8] Change copy shortcode icon #945 --- classes/Visualizer/Render/Library.php | 2 +- css/library.css | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/classes/Visualizer/Render/Library.php b/classes/Visualizer/Render/Library.php index 1acfb257f..4b2e21848 100644 --- a/classes/Visualizer/Render/Library.php +++ b/classes/Visualizer/Render/Library.php @@ -363,7 +363,7 @@ private function _renderChartBox( $placeholder_id, $chart_id, $with_filter = fal if ( $this->can_chart_have_action( 'image', $chart_id ) ) { echo ''; } - echo ''; + echo ''; echo ' '; echo '
(' . $chart_id . '): ' . $chart_status['date'] . '
'; echo ''; diff --git a/css/library.css b/css/library.css index 9f6fdd882..70e47d26a 100644 --- a/css/library.css +++ b/css/library.css @@ -124,9 +124,20 @@ } .visualizer-nochart-shortcode, -.visualizer-chart-shortcode { - background-position: -143px -126px; +.visualizer-nochart-shortcode:focus, +.visualizer-chart-shortcode, +.visualizer-chart-shortcode:focus { float: left; + background: none; + text-decoration: none; + box-shadow: none; +} +.visualizer-chart-shortcode:hover { + color: #404040; +} +.visualizer-nochart-shortcode .dashicons-admin-page , +.visualizer-chart-shortcode .dashicons-admin-page { + font-size: 16px; } .visualizer-nochart-image, @@ -152,8 +163,7 @@ } .visualizer-chart-shortcode { - padding: 3px 0; - color: #aaa; + color: #404040; text-shadow: 0 1px 0 #fff; cursor: pointer; } From 4d24c2d097482d81ea720189d857bf68a5638c78 Mon Sep 17 00:00:00 2001 From: Marius Cristea Date: Wed, 12 Oct 2022 18:07:26 +0300 Subject: [PATCH 7/8] update sdk --- composer.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/composer.lock b/composer.lock index c4aa9e6bc..57d69c296 100755 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "codeinwp/themeisle-sdk", - "version": "3.2.26", + "version": "3.2.30", "source": { "type": "git", "url": "https://github.com/Codeinwp/themeisle-sdk.git", - "reference": "a4451041bb97a325c7bb8e86a5584adf4636650e" + "reference": "7239104ae452b13cd6d506d44e8fc127232d35ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/a4451041bb97a325c7bb8e86a5584adf4636650e", - "reference": "a4451041bb97a325c7bb8e86a5584adf4636650e", + "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/7239104ae452b13cd6d506d44e8fc127232d35ce", + "reference": "7239104ae452b13cd6d506d44e8fc127232d35ce", "shasum": "" }, "require-dev": { @@ -42,9 +42,9 @@ ], "support": { "issues": "https://github.com/Codeinwp/themeisle-sdk/issues", - "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.2.26" + "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.2.30" }, - "time": "2022-05-12T11:55:06+00:00" + "time": "2022-09-15T19:54:34+00:00" }, { "name": "markbaker/complex", @@ -772,5 +772,5 @@ "platform-overrides": { "php": "5.6" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.1.0" } From e913be639bee90e3ae106c97c172337378e12099 Mon Sep 17 00:00:00 2001 From: Marius Cristea Date: Wed, 12 Oct 2022 18:45:14 +0300 Subject: [PATCH 8/8] adds utms and cross compatibility mechanism --- classes/Visualizer/Gutenberg/Block.php | 2 +- classes/Visualizer/Module/Admin.php | 4 +-- classes/Visualizer/Module/Sources.php | 2 +- classes/Visualizer/Plugin.php | 2 +- classes/Visualizer/Render/Library.php | 2 +- classes/Visualizer/Render/Page/Types.php | 2 +- composer.json | 2 +- composer.lock | 31 +++++++++++++----------- index.php | 14 +++++++++-- phpcs.xml | 2 ++ readme.txt | 4 +-- templates/docs.php | 2 +- templates/more.php | 2 +- templates/support.php | 2 +- 14 files changed, 44 insertions(+), 29 deletions(-) diff --git a/classes/Visualizer/Gutenberg/Block.php b/classes/Visualizer/Gutenberg/Block.php index 31210b5a5..3b6031ac1 100644 --- a/classes/Visualizer/Gutenberg/Block.php +++ b/classes/Visualizer/Gutenberg/Block.php @@ -105,7 +105,7 @@ public function enqueue_gutenberg_scripts() { $translation_array = array( 'isPro' => $type, - 'proTeaser' => Visualizer_Plugin::PRO_TEASER_URL, + 'proTeaser' => tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'blockupsell'), 'absurl' => VISUALIZER_ABSURL, 'charts' => Visualizer_Module_Admin::_getChartTypesLocalized(), 'adminPage' => menu_page_url( 'visualizer', false ), diff --git a/classes/Visualizer/Module/Admin.php b/classes/Visualizer/Module/Admin.php index 46cbd141a..729770cbb 100644 --- a/classes/Visualizer/Module/Admin.php +++ b/classes/Visualizer/Module/Admin.php @@ -726,7 +726,7 @@ public function handleGetProSubMenu() { jQuery( document ).ready( function() { jQuery( '#toplevel_page_visualizer' ).on( 'click', 'li:not(.wp-submenu-head, .wp-first-item):eq(2)', function( e ) { e.preventDefault(); - window.open( 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/#pricing', '_blank' ); + window.open( '', '_blank' ); } ); } ); @@ -1086,7 +1086,7 @@ public function getPluginMetaLinks( $plugin_meta, $plugin_file ) { ); // flattr link $plugin_meta[] = sprintf( - '%s', + '%s', esc_html__( 'Pro Addon', 'visualizer' ) ); } diff --git a/classes/Visualizer/Module/Sources.php b/classes/Visualizer/Module/Sources.php index 1a82a9a18..44adc0edb 100644 --- a/classes/Visualizer/Module/Sources.php +++ b/classes/Visualizer/Module/Sources.php @@ -146,7 +146,7 @@ public function addProUpsell( $old, $feature = null ) { $return .= '
'; $return .= '
'; $return .= '

' . $msg . '

'; - $return .= ' ' . __( 'Buy now', 'visualizer' ) . ''; + $return .= ' ' . __( 'Buy now', 'visualizer' ) . ''; $return .= '
'; $return .= '
'; $return .= ''; diff --git a/classes/Visualizer/Plugin.php b/classes/Visualizer/Plugin.php index dcee37129..d7fa6afed 100644 --- a/classes/Visualizer/Plugin.php +++ b/classes/Visualizer/Plugin.php @@ -98,7 +98,7 @@ class Visualizer_Plugin { const CF_CHART_URL = 'visualizer-chart-url'; const CF_CHART_SCHEDULE = 'visualizer-chart-schedule'; // Added by Ash/Upwork - const PRO_TEASER_URL = 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/#pricing'; + const PRO_TEASER_URL = 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/'; const PRO_TEASER_TITLE = 'Check PRO version '; const CF_CHART_CACHE = 'visualizer-chart-cache'; diff --git a/classes/Visualizer/Render/Library.php b/classes/Visualizer/Render/Library.php index 1acfb257f..33c4277c7 100644 --- a/classes/Visualizer/Render/Library.php +++ b/classes/Visualizer/Render/Library.php @@ -397,7 +397,7 @@ private function _renderSidebar() { echo '
  • ' . __( 'Frontend editor', 'visualizer' ) . '
  • '; echo '
  • ' . __( 'Private charts', 'visualizer' ) . '
  • '; echo '
  • ' . __( 'Auto-sync with online files', 'visualizer' ) . '
  • '; - echo '

    ' . __( 'View more features', 'visualizer' ) . '

    '; + echo '

    ' . __( 'View more features', 'visualizer' ) . '

    '; echo ''; echo ''; echo ''; diff --git a/classes/Visualizer/Render/Page/Types.php b/classes/Visualizer/Render/Page/Types.php index 2d52999d1..b02de2768 100644 --- a/classes/Visualizer/Render/Page/Types.php +++ b/classes/Visualizer/Render/Page/Types.php @@ -61,7 +61,7 @@ protected function _renderContent() { } echo '
    '; if ( ! $array['enabled'] ) { - echo ""; + echo ""; echo "" . __( 'PREMIUM', 'visualizer' ) . ''; } echo '

    Visualizer: Tables and Charts for WordPress plugin is a powerful and easy to use plugin used to create, manage and embed interactive, responsive charts & tables into your WordPress posts and pages.

    +

    Visualizer: Tables and Charts for WordPress plugin is a powerful and easy to use plugin used to create, manage and embed interactive, responsive charts & tables into your WordPress posts and pages.

    The plugin uses Google Visualization API, DataTables.net and ChartJS to add responsive & animated charts, graphs and tables, which support cross-browser compatibility and display perfectly on mobile devices. You can greatly customize all aspects of the charts and tables, and import the data from Excel, CSV, Google Sheets and more! @@ -46,7 +46,7 @@ Charts are rendered using HTML5/SVG technology to provide cross-browser compatib > * Priority email support from the developer of the plugin > * Support and updates for as long as your subscription is valid > -> **[Learn more about Visualizer PRO](http://themeisle.com/plugins/visualizer-charts-and-graphs/)** +> **[Learn more about Visualizer PRO](https://themeisle.com/plugins/visualizer-charts-and-graphs/?utm_source=plugin-readme&utm_medium=visualizer&utm_campaign=learnmore)** The plugins works perfectly with the all free or premium WordPress themes diff --git a/templates/docs.php b/templates/docs.php index 843a3da59..eee6e85cc 100644 --- a/templates/docs.php +++ b/templates/docs.php @@ -20,7 +20,7 @@ -

    We have many more features and charts, and offer email & chat support if you purchase our Pro Version.

    +

    We have many more features and charts, and offer email & chat support if you purchase our Pro Version.

    Ready to begin? Let's create a chart or view a demo! diff --git a/templates/more.php b/templates/more.php index 7fa88b19e..5b4f2e2cb 100644 --- a/templates/more.php +++ b/templates/more.php @@ -50,7 +50,7 @@

    Import any data from your database!

    Do you want to create a chart based on custom queries? Or display data about WordPress statistics? Do you want to import data periodically (every day, every hour, etc.) ?

    -

    With Pro you can do all of these, and much more. Visit our site to know more.

    +

    With Pro you can do all of these, and much more. Visit our site to know more.

    diff --git a/templates/support.php b/templates/support.php index e7668172c..31b570b00 100644 --- a/templates/support.php +++ b/templates/support.php @@ -11,7 +11,7 @@ href="https://themeisle.com/">ThemeIsle