diff --git a/.github/workflows/deploy-wporg.yml b/.github/workflows/deploy-wporg.yml
index 630d3e27..2eba591c 100644
--- a/.github/workflows/deploy-wporg.yml
+++ b/.github/workflows/deploy-wporg.yml
@@ -23,13 +23,9 @@ jobs:
SVN_USERNAME: ${{ secrets.SVN_THEMEISLE_USERNAME }}
- name: Send update to the store
env:
- THEMEISLE_ID: ${{ secrets.THEMEISLE_ID }}
- THEMEISLE_AUTH: ${{ secrets.THEMEISLE_STORE_AUTH }}
+ PRODUCT_ID: ${{ secrets.THEMEISLE_ID }}
+ AUTH_TOKEN: ${{ secrets.THEMEISLE_STORE_AUTH }}
STORE_URL: ${{ secrets.THEMEISLE_STORE_URL }}
BUILD_VERSION: ${{ steps.get_version.outputs.VERSION }}
- run: |
- if [ ! -z "$THEMEISLE_ID" ]; then
- STORE_JSON='{"version": "'$BUILD_VERSION'","id": "'$THEMEISLE_ID'","body": ""}';
- echo "$STORE_JSON";
- curl -X POST -H 'Cache-Control: no-cache' -H "Content-Type: application/json" -H "x-themeisle-auth: $THEMEISLE_AUTH" --data "$STORE_JSON" "$STORE_URL/wp-json/edd-so/v1/update_changelog/" > /dev/null
- fi
\ No newline at end of file
+ GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
+ uses: Codeinwp/action-store-release@main
diff --git a/Gruntfile.js b/Gruntfile.js
index fb5234a2..e6fb298e 100755
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -5,8 +5,10 @@ module.exports = function (grunt) {
'use strict';
grunt.initConfig({
wp_readme_to_markdown: {
- files: {
- 'readme.md': 'readme.txt'
+ plugin: {
+ files: {
+ 'readme.md': 'readme.txt'
+ },
},
},
version: {
@@ -37,4 +39,4 @@ module.exports = function (grunt) {
});
grunt.loadNpmTasks('grunt-version');
grunt.loadNpmTasks('grunt-wp-readme-to-markdown');
-};
\ No newline at end of file
+};
diff --git a/classes/Visualizer/Gutenberg/src/Components/Sidebar/MapSettings.js b/classes/Visualizer/Gutenberg/src/Components/Sidebar/MapSettings.js
index e147e67d..6d1a47de 100644
--- a/classes/Visualizer/Gutenberg/src/Components/Sidebar/MapSettings.js
+++ b/classes/Visualizer/Gutenberg/src/Components/Sidebar/MapSettings.js
@@ -63,7 +63,7 @@ class MapSettings extends Component {
{ __( 'A continent or a sub-continent, specified by its 3-digit code, e.g., \'011\' for Western Africa. ' ) }
{ __( 'More info here.' ) }
diff --git a/classes/Visualizer/Module.php b/classes/Visualizer/Module.php
index c77cfc12..5604ea5d 100644
--- a/classes/Visualizer/Module.php
+++ b/classes/Visualizer/Module.php
@@ -138,7 +138,7 @@ protected function _addAjaxAction( $tag, $method = '', $methodClass = null, $pri
*
* @access protected
* @param string $tag The name of the filter to hook the $method to.
- * @param type $method The name of the method to be called when the filter is applied.
+ * @param string $method The name of the method to be called when the filter is applied.
* @param int $priority optional. Used to specify the order in which the functions associated with a particular action are executed (default: 10). Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.
* @param int $accepted_args optional. The number of arguments the function accept (default 1).
* @return Visualizer_Module
diff --git a/classes/Visualizer/Module/Setup.php b/classes/Visualizer/Module/Setup.php
index d392894d..05c5a838 100644
--- a/classes/Visualizer/Module/Setup.php
+++ b/classes/Visualizer/Module/Setup.php
@@ -49,6 +49,7 @@ public function __construct( Visualizer_Plugin $plugin ) {
$this->_addAction( 'admin_init', 'adminInit' );
$this->_addAction( 'init', 'setupCustomPostTypes' );
+ $this->_addFilter( 'cron_schedules', 'custom_cron_schedules' );
$this->_addAction( 'plugins_loaded', 'loadTextDomain' );
$this->_addFilter( 'visualizer_logger_data', 'getLoggerData' );
$this->_addFilter( 'visualizer_get_chart_counts', 'getUsage', 10, 2 );
@@ -209,7 +210,7 @@ public function activate( $network_wide ) {
*/
private function activate_on_site() {
wp_clear_scheduled_hook( 'visualizer_schedule_refresh_db' );
- wp_schedule_event( strtotime( 'midnight' ) - get_option( 'gmt_offset' ) * HOUR_IN_SECONDS, apply_filters( 'visualizer_chart_schedule_interval', 'hourly' ), 'visualizer_schedule_refresh_db' );
+ wp_schedule_event( strtotime( 'midnight' ) - get_option( 'gmt_offset' ) * HOUR_IN_SECONDS, apply_filters( 'visualizer_chart_schedule_interval', 'visualizer_ten_minutes' ), 'visualizer_schedule_refresh_db' );
add_option( 'visualizer-activated', true );
$is_fresh_install = get_option( 'visualizer_fresh_install', false );
if ( ! defined( 'TI_CYPRESS_TESTING' ) && false === $is_fresh_install ) {
@@ -281,9 +282,9 @@ public function adminInit() {
/**
* Refresh the specific chart from the db.
*
- * @param WP_Post $chart The chart object.
- * @param int $chart_id The chart id.
- * @param bool $force If this is true, then the chart data will be force refreshed. If false, data will be refreshed only if the chart requests live data.
+ * @param WP_Post|null $chart The chart object.
+ * @param int $chart_id The chart id.
+ * @param bool $force If this is true, then the chart data will be force refreshed. If false, data will be refreshed only if the chart requests live data.
*
* @access public
*/
@@ -391,15 +392,17 @@ public function refresh_db_for_chart( $chart, $chart_id, $force = false ) {
}
/**
- * Refresh the db chart.
+ * Refresh the Database chart type.
*
* @access public
*/
public function refreshDbChart() {
- $schedules = get_option( Visualizer_Plugin::CF_DB_SCHEDULE, array() );
- if ( ! $schedules ) {
+ // NOTE: This use a different key from normal schedule. Updated only by Database chart. Check `visualizer_schedule_import` action.
+ $chart_schedules = get_option( Visualizer_Plugin::CF_DB_SCHEDULE, array() );
+ if ( ! $chart_schedules ) {
return;
}
+
if ( ! defined( 'VISUALIZER_DO_NOT_DIE' ) ) {
// define this so that the ajax call does not die
// this means that if the new version of pro and the old version of free are installed, only the first chart will be updated
@@ -407,22 +410,31 @@ public function refreshDbChart() {
}
$new_schedules = array();
- $now = time();
- foreach ( $schedules as $chart_id => $time ) {
- $new_schedules[ $chart_id ] = $time;
- if ( $time > $now ) {
+ $current_time = time();
+ foreach ( $chart_schedules as $chart_id => $scheduled_time ) {
+
+ // Skip deleted charts.
+ if ( false === get_post_status( $chart_id ) ) {
+ continue;
+ }
+
+ $new_schedules[ $chart_id ] = $scheduled_time;
+
+ // Should we do an update?
+ if ( $scheduled_time > $current_time ) {
continue;
}
- // if the time is nigh, we force an update.
$this->refresh_db_for_chart( null, $chart_id, true );
+
// Clear existing chart cache.
$cache_key = Visualizer_Plugin::CF_CHART_CACHE . '_' . $chart_id;
if ( get_transient( $cache_key ) ) {
delete_transient( $cache_key );
}
- $hours = get_post_meta( $chart_id, Visualizer_Plugin::CF_DB_SCHEDULE, true );
- $new_schedules[ $chart_id ] = time() + $hours * HOUR_IN_SECONDS;
+
+ $scheduled_hours = get_post_meta( $chart_id, Visualizer_Plugin::CF_DB_SCHEDULE, true );
+ $new_schedules[ $chart_id ] = $current_time + $scheduled_hours * HOUR_IN_SECONDS;
}
update_option( Visualizer_Plugin::CF_DB_SCHEDULE, $new_schedules );
}
@@ -443,4 +455,18 @@ public function checkIsExistingUser() {
}
}
+ /**
+ * Add custom cron schedules.
+ *
+ * @param array $schedules The current schedules options.
+ * @return array The modified schedules options.
+ */
+ public function custom_cron_schedules( $schedules ) {
+ $schedules['visualizer_ten_minutes'] = array(
+ 'interval' => 600,
+ 'display' => __( 'Every 10 minutes', 'visualizer' ),
+ );
+
+ return $schedules;
+ }
}
diff --git a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php
index 4ced018e..62e0f4ac 100644
--- a/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php
+++ b/classes/Visualizer/Render/Sidebar/Type/GoogleCharts/Geo.php
@@ -122,7 +122,7 @@ protected function _renderMapSettings() {
esc_html__( 'Configure the region area to display on the map. (Surrounding areas will be displayed as well.) Can be one of the following:', 'visualizer' ) .
'' .
'- ' . esc_html__( "'world' - A map of the entire world.", 'visualizer' ) . '
' .
- '- ' . sprintf( esc_html__( "A continent or a sub-continent, specified by its %s code, e.g., '011' for Western Africa.", 'visualizer' ), '3-digit' ) . '
' .
+ '- ' . sprintf( esc_html__( "A continent or a sub-continent, specified by its %s code, e.g., '011' for Western Africa.", 'visualizer' ), '3-digit' ) . '
' .
'- ' . sprintf( esc_html__( "A country, specified by its %s code, e.g., 'AU' for Australia.", 'visualizer' ), 'ISO 3166-1 alpha-2' ) . '
' .
'- ' . sprintf( esc_html__( "A state in the United States, specified by its %s code, e.g., 'US-AL' for Alabama. Note that the resolution option must be set to either 'provinces' or 'metros'.", 'visualizer' ), 'ISO 3166-2:US' ) . '
' .
'
'
diff --git a/composer.lock b/composer.lock
index e496acc3..9405392f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,16 +8,16 @@
"packages": [
{
"name": "codeinwp/themeisle-sdk",
- "version": "3.3.22",
+ "version": "3.3.25",
"source": {
"type": "git",
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
- "reference": "1754febc3c25c4c884424e72801c4d3f2ec7097e"
+ "reference": "29b7c81f8ccd039f49d62ef7427a4cc06369becc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/1754febc3c25c4c884424e72801c4d3f2ec7097e",
- "reference": "1754febc3c25c4c884424e72801c4d3f2ec7097e",
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/29b7c81f8ccd039f49d62ef7427a4cc06369becc",
+ "reference": "29b7c81f8ccd039f49d62ef7427a4cc06369becc",
"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.3.22"
+ "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.25"
},
- "time": "2024-05-17T15:04:51+00:00"
+ "time": "2024-07-08T13:49:14+00:00"
},
{
"name": "markbaker/complex",
diff --git a/readme.md b/readme.md
index 1e57cf60..19b50383 100755
--- a/readme.md
+++ b/readme.md
@@ -8,7 +8,7 @@
**License:** GPL v2.0 or later
**License URI:** http://www.opensource.org/licenses/gpl-license.php
-A simple and powerful WordPress chart plugin to create responsive charts & tables and embed them into your site.
+A simple yet powerful WordPress chart plugin to effortlessly create and embed responsive charts & tables into your site, supporting multiple data sources for enhanced data presentation.
## Description ##
@@ -25,48 +25,48 @@ The plugin uses the Google Visualization API, DataTables.net, and ChartJS librar
### Why You’ll Love Visualizer ###
-* Diverse Chart Options: Begin with essential chart types like line, pie, bar, and table in the free version. Elevate your data presentation with advanced chart types such as scatter, area, and geo available in the Pro version. The free version offers a comprehensive range of options that are perfect for various visualization needs.
+- **Diverse Chart Options:** Begin with essential chart types like line, pie, bar, and table in the free version. Elevate your data presentation with advanced chart types such as scatter, area, and geo available in the Pro version. The free version offers a comprehensive range of options that are perfect for various visualization needs.
-* Flexible Data Source Options: Visualizer Free supports a variety of accessible data input methods to suit your specific needs:
+- **Flexible Data Source Options:**Visualizer Free supports a variety of accessible data input methods to suit your specific needs:
-* Import Data from Files: Upload CSV files directly into Visualizer. This feature is ideal for those who prepare data in spreadsheet tools like Microsoft Excel or Google Sheets, allowing for quick and easy data visualization.
+- **Import Data from Files:** Upload CSV files directly into Visualizer. This feature is ideal for those who prepare data in spreadsheet tools like Microsoft Excel or Google Sheets, allowing for quick and easy data visualization.
-* Import Data from URLs: Keep your charts updated by importing data dynamically from external sources in CSV or JSON formats via URLs. This powerful feature is essential for displaying real-time or frequently updated data, reducing the need for manual updates.
+- **Import Data from URLs:** Keep your charts updated by importing data dynamically from external sources in CSV or JSON formats via URLs. This powerful feature is essential for displaying real-time or frequently updated data, reducing the need for manual updates.
-* Manual Data Entry: Input data manually for quick visualization tasks or when dealing with smaller data sets. This method provides ultimate control over the content and structure of your charts, making it simple to tailor data presentation directly within the plugin interface.
+- **Manual Data Entry:** Input data manually for quick visualization tasks or when dealing with smaller data sets. This method provides ultimate control over the content and structure of your charts, making it simple to tailor data presentation directly within the plugin interface.
-* Ultimate Responsiveness: Crafted using HTML5/SVG technology, Visualizer charts ensure flawless functionality across all devices. This commitment to responsiveness guarantees that your data is not only accessible but also optimally displayed on desktops, tablets, and smartphones, enhancing user interaction and engagement.
+- **Ultimate Responsiveness:** Crafted using HTML5/SVG technology, Visualizer charts ensure flawless functionality across all devices. This commitment to responsiveness guarantees that your data is not only accessible but also optimally displayed on desktops, tablets, and smartphones, enhancing user interaction and engagement.
-* Data Table Capabilities: In addition to our responsive charts and graphs, you can also add responsive tables to your posts and pages and customize them to your liking. Visualizer Pro lets you enhance them with features such as sorting capabilities, pagination, and search functions. From pricing tables to product tables, the possibilities are vast and customizable to meet any data presentation need.
+- **Data Table Capabilities:** In addition to our responsive charts and graphs, you can also add responsive tables to your posts and pages and customize them to your liking. Visualizer Pro lets you enhance them with features such as sorting capabilities, pagination, and search functions. From pricing tables to product tables, the possibilities are vast and customizable to meet any data presentation need.
-* Seamless Integration and Compatibility: Whether you're using the Gutenberg editor or other page builders, Visualizer integrates effortlessly into your WordPress environment. This seamless compatibility allows for straightforward chart insertion and management.
+- **Seamless Integration and Compatibility:** Whether you're using the Gutenberg editor or other page builders, Visualizer integrates effortlessly into your WordPress environment. This seamless compatibility allows for straightforward chart insertion and management.
-* Flexible and Customizable: Make the charts and tables truly your own. Visualizer offers an extensive set of configuration options to perfectly match the look and feel of your website. Utilize Google Chart Tools with their default settings for simplicity, or dive into customization if your site’s style requires a unique approach. Every chart and table exposes numerous options that customize its appearance and functionality, ensuring your visualizations integrate seamlessly into your pages.
+- **Flexible and Customizable:** Make the charts and tables truly your own. Visualizer offers an extensive set of configuration options to perfectly match the look and feel of your website. Utilize Google Chart Tools with their default settings for simplicity, or dive into customization if your site’s style requires a unique approach. Every chart and table exposes numerous options that customize its appearance and functionality, ensuring your visualizations integrate seamlessly into your pages.
These versatile data handling capabilities ensure that Visualizer Free is equipped to meet a wide range of data visualization requirements right out of the box. Perfect for bloggers, educators, small businesses, and more, Visualizer helps you turn raw data into compelling, interactive charts that engage and inform your audience.
*The above descriptions were partially taken from Google Visualization API site*
-### CHECK OUT A QUICK OVERVIEW OF VISUALIZER ###
+### CHECK OUT A QUICK OVERVIEW OF VISUALIZER ###
WordPress Charts and Graphs: How To Create Them With Visualizer Plugin
### ✨ YOU SHOULD USE VISUALIZER IF: ###
-* You Own a Personal or Small Business Website: You need a straightforward, powerful tool to enhance your website's visual appeal with interactive charts and tables. Visualizer makes complex data understandable and engaging.
+- **You Own a Personal or Small Business Website:** You need a straightforward, powerful tool to enhance your website's visual appeal with interactive charts and tables. Visualizer makes complex data understandable and engaging.
-* You Run an Educational or Financial Institution: For organizations that require regular reporting and data display, Visualizer offers comprehensive options for creating dynamic and informative charts and tables. This helps in better data analysis and presentation, aiding in decision-making and reporting.
+- **You Run an Educational or Financial Institution:** For organizations that require regular reporting and data display, Visualizer offers comprehensive options for creating dynamic and informative charts and tables. This helps in better data analysis and presentation, aiding in decision-making and reporting.
-* You Aim to Enhance SEO and User Engagement: Using Visualizer’s interactive and responsive charts can significantly improve user engagement, keeping visitors on your site longer, which can positively impact your SEO rankings.
+- **You Aim to Enhance SEO and User Engagement:** Using Visualizer’s interactive and responsive charts can significantly improve user engagement, keeping visitors on your site longer, which can positively impact your SEO rankings.
-* You are a Non-Profit Organizations: Non-profits can use Visualizer to display the impact of their initiatives through data. Create pie charts to show the distribution of spending or line charts to track donation trends over time, which can be powerful visuals for fundraising campaigns and annual reports.
+- **You are a Non-Profit Organizations:** Non-profits can use Visualizer to display the impact of their initiatives through data. Create pie charts to show the distribution of spending or line charts to track donation trends over time, which can be powerful visuals for fundraising campaigns and annual reports.
-* You are Financial Advisors and Economists: Visualizer allows for detailed financial reporting and economic analyses with advanced chart types like candlestick and radar charts. These tools can be used to depict stock performances, economic cycles, or budget allocations, providing clients with clear insights into financial matters.
+- **You are Financial Advisors and Economists:** Visualizer allows for detailed financial reporting and economic analyses with advanced chart types like candlestick and radar charts. These tools can be used to depict stock performances, economic cycles, or budget allocations, providing clients with clear insights into financial matters.
-* Regardless of Industry: With over 30,000 happy active users and 160+ 5-star ratings, Visualizer has been employed across a broad range of industries, including healthcare, marketing, education, and finance, demonstrating its versatility and effectiveness in any field.
+- **Regardless of Industry:** With over 30,000 happy active users and 160+ 5-star ratings, Visualizer has been employed across a broad range of industries, including healthcare, marketing, education, and finance, demonstrating its versatility and effectiveness in any field.
-Types of charts you can create with Visualizer: Visualizer WordPress graph and charts plugin provides a variety of charts that are optimized to address your WordPress data visualization needs. In the free version, it has line charts, bar charts, pie charts, table charts. These charts are based on pure HTML5/SVG technology (adopting VML for old IE versions), so no extra plugins are required. Adding these charts to your page can be done in a few simple steps.
+**Types of charts you can create with Visualizer:** Visualizer WordPress graph and charts plugin provides a variety of charts that are optimized to address your WordPress data visualization needs. In the free version, it has line charts, bar charts, pie charts, table charts. These charts are based on pure HTML5/SVG technology (adopting VML for old IE versions), so no extra plugins are required. Adding these charts to your page can be done in a few simple steps.
- **Table:** Tables are extremely useful tools for displaying organized data. We use the datatable library to offer you endless customization options for any table needs you might have. [Click here to see demo](https://demo.themeisle.com/visualizer/table-chart/).
- **Pie Chart:** Pie charts are simple visualizations that allow you to easily illustrate the proportion of your data to your users. [Click here to see demo](https://demo.themeisle.com/visualizer/pie-chart/).
@@ -88,23 +88,23 @@ These versatile data handling capabilities ensure that Visualizer Free is equipp
If you’re already benefiting from Visualizer, why not take your website to the next level with more powerful tools to enhance your data visualization capabilities and keep your audience engaged longer?
-- **Advanced Data Synchronization:** Automatically sync your data sources to ensure your charts are always current without manual input.
+- **Advanced Data Synchronization:** Automatically sync your data sources to ensure your charts are always current without manual input.
**USE CASE:** 🔍 Sarah, a market analyst, leverages Advanced Data Synchronization to streamline her workflow. She sets her data sources to auto-update, ensuring her market trend charts are always accurate, saving her hours each week and enhancing her reports' credibility.
-- **Multi-Language Support:** Automatically translate your charts and data presentations into multiple languages, broadening your audience reach.
+- **Multi-Language Support:** Automatically translate your charts and data presentations into multiple languages, broadening your audience reach.
**USE CASE:** 🌍 Elena, who manages a multilingual educational platform, uses Multi-Language Support to provide data visualizations in several languages, effectively increasing her site's global usability and accessibility.
-- **Advanced User Permissions:** Control who can view or edit your charts, perfect for teams needing to manage access at various levels.
+- **Advanced User Permissions:** Control who can view or edit your charts, perfect for teams needing to manage access at various levels.
**USE CASE:** 🛠️ Rachel, a project manager, configures user permissions to ensure that only relevant team members can edit financial forecasts, maintaining data integrity and security.
- **Import from Other Charts:** Seamlessly integrate data from other charts into new visualizations, facilitating easy data consolidation and comparison.
-- **Import from WordPress:** Directly pull data from your WordPress posts, pages, or custom post types to create dynamic charts that automatically update as your content changes.
+- **Import from WordPress:** Directly pull data from your WordPress posts, pages, or custom post types to create dynamic charts that automatically update as your content changes.
**USE CASE:** ✍️ Benjamin, a digital marketing manager, uses this feature to track engagement across blog posts in real-time. He creates charts that update automatically with views and social shares, helping him quickly adjust content strategies based on what resonates with audiences.
- **Import from Database:** Connect directly to your database to fetch data, ensuring your visualizations reflect the most up-to-date information available.
-- **Data Filter:** Apply filters to your data within Visualizer, enabling viewers to interact with and explore data in a more focused manner.
+- **Data Filter:** Apply filters to your data within Visualizer, enabling viewers to interact with and explore data in a more focused manner.
**USE CASE:** 🕵️♂️ Tom, a market researcher, implements data filters on his demographic analysis charts, allowing users to select specific variables such as age and income, thereby drilling down into personalized data insights.
- **Priority Support:** Have access to our dedicated support team to help you resolve any technical issues swiftly, ensuring your visualizations are always performing optimally.
@@ -139,6 +139,7 @@ Visualizer is one of many great products by Themeisle. Join over 30,000+ Visuali
- [*The Best One I’ve Found*](https://wordpress.org/support/topic/the-best-one-ive-found-2/) - "After trying a couple of options, this was the one that worked the best."
+
## Installation ##
1. Upload the files to the `/wp-content/plugins/visualizer/` directory.
@@ -194,7 +195,7 @@ Pay attention that to turn your shortcodes into graphs, your theme has to have `
[http://docs.themeisle.com/article/607-how-can-i-populate-data-from-google-spreadsheet](http://docs.themeisle.com/article/607-how-can-i-populate-data-from-google-spreadsheet)
-### How can i import content from another chart? ###
+### How can I import content from another chart? ###
[http://docs.themeisle.com/article/609-how-can-i-import-content-from-another-chart](http://docs.themeisle.com/article/609-how-can-i-import-content-from-another-chart)
@@ -202,7 +203,7 @@ Pay attention that to turn your shortcodes into graphs, your theme has to have `
[http://docs.themeisle.com/article/608-how-to-export-a-chart](http://docs.themeisle.com/article/608-how-to-export-a-chart)
-### How can i edit the data manually? ###
+### How can I edit the data manually? ###
[http://docs.themeisle.com/article/610-how-can-i-edit-the-data-manually](http://docs.themeisle.com/article/610-how-can-i-edit-the-data-manually)
@@ -215,24 +216,484 @@ Pay attention that to turn your shortcodes into graphs, your theme has to have `
## Screenshots ##
-1. Chart selection
-2. Chart selection 2
-3. Library
-4. Download
-5. Line settings
-6. Pie settings
-7. Block editor - Pie chart settings
-8. Block editor - Pie chart
-9. Block editor - Chart library
-10. Block editor chart
-11. Bar settings
-12. Bar settings, Series settings
-13. Bar chart
+1. Charts Selection
+2. Quick Actions
+3. Import Options
+4. Bar Chart
+5. Bar Chart Settings
+6. Line Chart Settings
+7. Block editor - Chart Library
## Changelog ##
+
+##### [Version 3.11.3](https://github.com/Codeinwp/visualizer/compare/v3.11.2...v3.11.3) (2024-05-27)
+
+- Fixed the rendering of Visualizer widgets in the Customizer
+
+
+
+
+##### [Version 3.11.2](https://github.com/Codeinwp/visualizer/compare/v3.11.1...v3.11.2) (2024-05-23)
+
+- Fixed Visualizer block widget not loading
+- Improved the popup rendering
+- Enhanced security
+
+
+
+
+##### [Version 3.11.1](https://github.com/Codeinwp/visualizer/compare/v3.11.0...v3.11.1) (2024-05-14)
+
+- Fixed the permissions of the plans
+
+
+
+
+#### [Version 3.11.0](https://github.com/Codeinwp/visualizer/compare/v3.10.15...v3.11.0) (2024-05-13)
+
+#### Enhancements
+- Added a manual data edit feature to the free version of the plugin
+- Improved the flow of chart creation
+- Added a chart information panel: backend chart title & quick shortcode access
+- Line and Pie charts from the ChartJS library are now available for free users, along with library selection and relative images
+- Improved wording in onboarding
+- Improved workflow for creating charts via the Visualizer Gutenberg block
+- Moved chart library selection to the top of the page and showing charts from the available library only
+- Unified chart edition (removed duplicated chart settings in block editor)
+- Added optional feature usage data
+- Enhanced security
+- Improved the UI of the database query option (visible database prefix, sample query, autocompleting table names) [PRO]
+
+
+
+
+##### [Version 3.10.15](https://github.com/Codeinwp/visualizer/compare/v3.10.14...v3.10.15) (2024-05-10)
+
+- Updated internal dependencies
+
+
+
+
+##### [Version 3.10.14](https://github.com/Codeinwp/visualizer/compare/v3.10.13...v3.10.14) (2024-05-10)
+
+- Updated internal dependencies
+
+
+
+
+##### [Version 3.10.13](https://github.com/Codeinwp/visualizer/compare/v3.10.12...v3.10.13) (2024-04-17)
+
+### Fixes
+- **Updated internal dependencies:** Enhanced performance and security.
+
+
+
+
+##### [Version 3.10.12](https://github.com/Codeinwp/visualizer/compare/v3.10.11...v3.10.12) (2024-04-15)
+
+### Fixes
+- **Updated internal dependencies:** Enhanced performance and security.
+
+
+
+
+##### [Version 3.10.11](https://github.com/Codeinwp/visualizer/compare/v3.10.10...v3.10.11) (2024-04-01)
+
+### Fixes
+- Updated internal dependencies
+- Improved E2E testing
+
+
+
+
+##### [Version 3.10.10](https://github.com/Codeinwp/visualizer/compare/v3.10.9...v3.10.10) (2024-03-28)
+
+### Fixes
+- Fixed blueprint schema for Live Preview
+
+
+
+
+##### [Version 3.10.9](https://github.com/Codeinwp/visualizer/compare/v3.10.8...v3.10.9) (2024-03-27)
+
+### Fixes
+- Visualizer live preview fixed
+- Updated internal dependencies
+
+
+
+
+##### [Version 3.10.8](https://github.com/Codeinwp/visualizer/compare/v3.10.7...v3.10.8) (2024-03-14)
+
+### Bug Fixes
+- Fix Google chart rendering condition for Classic Plugin
+- Changes the speed and position of the loading bar
+
+### Improvements
+- Add a Live Preview button for the plugin page on wordpress.org
+- Added NPS survey
+
+
+
+
+##### [Version 3.10.7](https://github.com/Codeinwp/visualizer/compare/v3.10.6...v3.10.7) (2024-02-06)
+
+### Fixes
+- Rendering charts that are under tabs/hidden containers
+- Updated dependencies
+- Updated CTA buttons
+- Updated UTM campaign links
+
+
+
+
+##### [Version 3.10.6](https://github.com/Codeinwp/visualizer/compare/v3.10.5...v3.10.6) (2024-01-18)
+
+### Fixes
+- Enhanced security
+
+
+
+
+##### [Version 3.10.5](https://github.com/Codeinwp/visualizer/compare/v3.10.4...v3.10.5) (2023-12-19)
+
+### Improvements
+- **Added chart responsive support**
+- **SDK Updates**
+
+### Bug Fixes
+- **Fixed chart data filter issue**
+- **Fixed animation issue fusion builder**
+- **Fixed live import issue with Gutenberg block**
+- **Fixed tooltip text rendering issue in ChartJS**
+- **Fixed onboarding chart import issue**
+- **Removed PHP deprecated function**
+- **Fixed compatibility issue with WP VIP**
+- **Fixed PHP 8.1 deprecated error**
+
+
+
+
+##### [Version 3.10.4](https://github.com/Codeinwp/visualizer/compare/v3.10.3...v3.10.4) (2023-08-17)
+
+- Updated dependencies
+- Updated WordPress version required to 5.2 or higher
+
+
+
+
+##### [Version 3.10.3](https://github.com/Codeinwp/visualizer/compare/v3.10.2...v3.10.3) (2023-06-13)
+
+- Removed branding label
+
+
+
+
+##### [Version 3.10.2](https://github.com/Codeinwp/visualizer/compare/v3.10.1...v3.10.2) (2023-06-05)
+
+- Added About Us page integration
+- Updated dependencies
+
+
+
+
+##### [Version 3.10.1](https://github.com/Codeinwp/visualizer/compare/v3.10.0...v3.10.1) (2023-05-24)
+
+- Fixed data tables horizontal scrolling issue
+- Added legend position default label text
+- Added tooltip default label text
+- Fixed Gutenberg block error
+- Fixed table chart rendering issue in Gutenberg block
+- Fixed compatibility issue with the FSE editor
+- Fixed compatibility issue with WP 5.6
+- Fixed console error when importing charts from others
+- Fixed pagination enable/disable issue
+- Fixed editor rows limitation issue
+
+
+
+
+#### [Version 3.10.0](https://github.com/Codeinwp/visualizer/compare/v3.9.7...v3.10.0) (2023-04-04)
+
+- Added a setup wizard onboarding page
+- Fixed empty chart issue
+
+
+
+
+##### [Version 3.9.7](https://github.com/Codeinwp/visualizer/compare/v3.9.6...v3.9.7) (2023-03-30)
+
+- Improved chart actions icons
+- Updated WordPress core tested up to version
+
+
+
+
+##### [Version 3.9.6](https://github.com/Codeinwp/visualizer/compare/v3.9.5...v3.9.6) (2023-03-20)
+
+- Fixed custom format issue in ChartJS
+
+
+
+
+##### [Version 3.9.5](https://github.com/Codeinwp/visualizer/compare/v3.9.4...v3.9.5) (2023-01-30)
+
+- Improved security by escaping shortcode attribute before render
+- Compatibility with PHP 8.2
+
+
+
+
+##### [Version 3.9.4](https://github.com/Codeinwp/visualizer/compare/v3.9.3...v3.9.4) (2023-01-12)
+
+- Fixed the lock of PRO features bypass
+
+
+
+
+##### [Version 3.9.3](https://github.com/Codeinwp/visualizer/compare/v3.9.2...v3.9.3) (2023-01-05)
+
+- Fixed the chart refresh problem when importing from CSV [#970](https://github.com/Codeinwp/visualizer/issues/970)
+
+
+
+
+##### [Version 3.9.2](https://github.com/Codeinwp/visualizer/compare/v3.9.1...v3.9.2) (2022-12-21)
+
+- Fixed Geo chart [PRO] flickering issue
+- Added disable legend option for ChartJS chart
+- Enhanced security
+
+
+
+
+##### [Version 3.9.1](https://github.com/Codeinwp/visualizer/compare/v3.9.0...v3.9.1) (2022-11-17)
+
+- Fixed PHP error when Polylang plugin is activated [#960](https://github.com/Codeinwp/visualizer/issues/960)
+
+
+
+
+#### [Version 3.9.0](https://github.com/Codeinwp/visualizer/compare/v3.8.1...v3.9.0) (2022-11-10)
+
+- Fixed table chart decimal number issue Decimal Numbers are ignored and not displayed [#955](https://github.com/Codeinwp/visualizer/issues/955)
+- Fix the scrollbar issue that happens on WP 6.1 version [WP 6.1] Chart permissions selector is not scrollable [#950](https://github.com/Codeinwp/visualizer/issues/950)
+- Fix PHP Warning Warning when copy (frontend action) is enabled [#949](https://github.com/Codeinwp/visualizer/issues/949)
+- Compatibility with the WPML translation plugin for translating charts [PRO feature] add support for string translations [#731](https://github.com/Codeinwp/visualizer/issues/731)
+- Integration with Woocommerce Data endpoints for creating charts [PRO feature]
+- Show new features on chart library page
+
+
+
+
+##### [Version 3.8.1](https://github.com/Codeinwp/visualizer/compare/v3.8.0...v3.8.1) (2022-10-12)
+
+
+- Change copy shortcode icon to clone a chart We can change copy Short Code icon [#945](https://github.com/Codeinwp/visualizer/issues/945)
+- Fix temp file creation issue on instawp selecting the line chart is not working on instawp [#940](https://github.com/Codeinwp/visualizer/issues/940)
+- Fix control Type error
+- Fixed simple editor scrolling issue
+- Fix filter broken layout
+- Fix chartJs javascript error when rendering multiple charts
+
+
+
+
+#### [Version 3.8.0](https://github.com/Codeinwp/visualizer/compare/v3.7.12...v3.8.0) (2022-09-21)
+
+- Add data filter support for the charts
+
+
+
+
+##### [Version 3.7.12](https://github.com/Codeinwp/visualizer/compare/v3.7.11...v3.7.12) (2022-09-07)
+
+- Fixed compatibility issue with some themes and plugins [#933](https://github.com/Codeinwp/visualizer/issues/933)
+
+
+
+
+##### [Version 3.7.11](https://github.com/Codeinwp/visualizer/compare/v3.7.10...v3.7.11) (2022-08-30)
+
+- Fix update axis baseline color [#925](https://github.com/Codeinwp/visualizer/issues/925)
+- Update more features images [#926](https://github.com/Codeinwp/visualizer/issues/926)
+- Fix update minor grid line field [#924](https://github.com/Codeinwp/visualizer/issues/924)
+- Add new filter for container attributes [#922](https://github.com/Codeinwp/visualizer/issues/922)
+- Fix axis data format issue [#920](https://github.com/Codeinwp/visualizer/issues/920)
+- Chart unique title [#915](https://github.com/Codeinwp/visualizer/issues/915)
+- Fix block back button issue [#930](https://github.com/Codeinwp/visualizer/issues/930)
+- Userguide broken documentation link [#918](https://github.com/Codeinwp/visualizer/issues/918)
+
+
+
+
+##### [Version 3.7.10](https://github.com/Codeinwp/visualizer/compare/v3.7.9...v3.7.10) (2022-07-05)
+
+
+- Fix watermark/copyright opacity wrong value [#910](https://github.com/Codeinwp/visualizer/issues/910)
+
+
+
+
+##### [Version 3.7.9](https://github.com/Codeinwp/visualizer/compare/v3.7.8...v3.7.9) (2022-06-22)
+
+* Fix branding bad HTML
+
+
+
+
+##### [Version 3.7.8](https://github.com/Codeinwp/visualizer/compare/v3.7.7...v3.7.8) (2022-06-21)
+
+- Add the description field in the pie chart
+- Fix Label other is not visible on the pie chart
+- Fix the pagination issue in the chart library
+- Update dependencies
+
+
+
+
+##### [Version 3.7.7](https://github.com/Codeinwp/visualizer/compare/v3.7.6...v3.7.7) (2022-05-31)
+
+* Harden security by enforcing escaped urls.
+
+
+
+
+##### [Version 3.7.6](https://github.com/Codeinwp/visualizer/compare/v3.7.5...v3.7.6) (2022-05-26)
+
+- Fix PHP 8.0 or above compatibility issue
+- Fix the space missing between the id and class attributes of the charts
+- Fix compatibility issue with Ultimate Coupons for WooCommerce Free plugin
+- Fix charts placed in accordion (tabs) that do not load properly
+- Fix conflict with translation plugins
+
+
+
+
+##### [Version 3.7.5](https://github.com/Codeinwp/visualizer/compare/v3.7.4...v3.7.5) (2022-03-17)
+
+- Fix display long hAxis text issue
+- Improve features discoverability.
+
+
+
+
+##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07)
+
+- Fix multiple lazy load charts issue
+- Tested up to WordPress 5.9 version
+
+
+
+
+##### [Version 3.7.3](https://github.com/Codeinwp/visualizer/compare/v3.7.2...v3.7.3) (2022-01-19)
+
+- Fix multiple charts lazy rendering issue
+- Upgrade jQuery UI core library CDN
+- Fix console error when rendering multiple charts
+- Keep only Line / Pie / bar / Table charts in free version
+
+
+
+
+##### [Version 3.7.2](https://github.com/Codeinwp/visualizer/compare/v3.7.1...v3.7.2) (2021-12-20)
+
+- Add latest chartJS library support in the bar chart
+- Fix horizontal axis showing date format in Bar chart
+- Fix orientation rotate issue in mobile
+- CSS performance improvements
+- Improve JS performance
+
+
+
+
+##### [Version 3.7.1](https://github.com/Codeinwp/visualizer/compare/v3.7.0...v3.7.1) (2021-11-17)
+
+- [Feat] Allow charts to render in dashboard areas via 3rd party plugins like Dashboard Widgets Suite
+- [Fix] Changing Line Chart series style to dot on some series changes the order of tooltip information
+- [Fix] Problem with X-Axis of Line chart on Safari if date/datetime is used as values
+- [Fix] Multiple Visualizer charts causing rendering issues (blank page)
+- [Fix] Charts are not resizing on landscape view on mobile
+- [Fix] Notices/Warnings appear on the front-end if the user is not logged in for some charts
+- [Fix] Radar/Spider Chart Tooltip in PRO does not show the data value
+
+
+
+
+#### [Version 3.7.0](https://github.com/Codeinwp/visualizer/compare/v3.6.1...v3.7.0) (2021-10-07)
+
+#### Features
+- Add option to enable/disable save the chart image
+- Enhanced caching
+
+#### Fixes
+- Fix undefined variable errors when using Gutenberg blocks
+- Fix broken chart in iOS and Safari
+- Fix custom refresh time support for DB chart
+- Fix table placed inside accordion cannot be scrolled down (refreshes all the time)
+- Fix pagination doesn't work in the library
+- Fix HTML entities in JSON break Visualizer Table Chart
+- Fix string type columns affect the target of the formatting applied to a number column
+
+
+
+
+##### [Version 3.6.1](https://github.com/Codeinwp/visualizer/compare/v3.6.0...v3.6.1) (2021-08-04)
+
+- Fix broken dropdown style issue
+- Add block support in widget area
+- Add wp alpha color picker support
+- Fix broken chart layout issue when add long title
+
+
+
+
+#### [Version 3.6.0](https://github.com/Codeinwp/visualizer/compare/v3.5.1...v3.6.0) (2021-07-08)
+
+### Features
+* Adds option to render chart as image
+* Automatically render chart as image on AMP
+
+### Fixes
+* [Chart Type: TABLE] When adding a blank header, the last column of the table disappears
+* Styling is not applied to Chart Area for Table Chart ( Margin, Width, Height)
+* Improve compatibility with Site Kit by Google
+* Loading icon doesn't disappear until you edit the chart again [Line Chart]
+* Broken chart if used inside an accordion (expand/collapse)
+
+
+
+
+##### [Version 3.5.1](https://github.com/Codeinwp/visualizer/compare/v3.5.0...v3.5.1) (2021-05-25)
+
+
+- Fix compatibility with 3rd party plugins which use the same js library as Visualizer [#801](https://github.com/Codeinwp/visualizer/issues/801)
+- Fix fatal error when a new chart is created on PHP 8 [#795](https://github.com/Codeinwp/visualizer/issues/795)
+- Chart doesn't get refreshed automatically when the JSON endpoint is used as the data source
+
+#### Features:
+- Adds option to add schema.org Dataset for license and creator [#794](https://github.com/Codeinwp/visualizer/issues/794)
+
+
+
+
+#### [Version 3.5.0](https://github.com/Codeinwp/visualizer/compare/v3.4.11...v3.5.0) (2021-04-28)
+
+#### Fixes
+- Permissions tab disappears after a user modifies a chart's data
+- Conflict with Edit Flow plugin
+- Improve compatibility with Ninja Forms
+- Fix for color for Minor Grid Lines not working
+
+#### Features
+- Add support for key:value header to access JSON endpoints
+- Option to download CSV data of the chart without the row with series type
+
+
+
### 3.4.11 - 2021-02-16 ###
-* Development
+[Feat] Tested up to WP 5.6
### 3.4.10 - 2020-12-09 ###
diff --git a/tests/test-import.php b/tests/test-import.php
index 384f5724..8a189488 100644
--- a/tests/test-import.php
+++ b/tests/test-import.php
@@ -226,6 +226,16 @@ public function test_db_import() {
echo $post->post_content;
}
+ /**
+ * Testing cron custom schedule.
+ *
+ * @return void
+ */
+ public function test_custom_cron_schedule() {
+ $schedules = wp_get_schedules();
+ $this->assertArrayHasKey( 'visualizer_ten_minutes', $schedules );
+ }
+
/**
* Provide the fileURL for uploading the file
*