| @@ -53,19 +53,17 @@ | ||
| 53 | 53 | parent::__construct( $plugin ); |
| 54 | 54 | $this->_addAction( 'load-post.php', 'enqueueMediaScripts' ); |
| 55 | 55 | $this->_addAction( 'load-post-new.php', 'enqueueMediaScripts' ); |
| 56 | 56 | $this->_addAction( 'admin_footer', 'renderTemplates' ); |
| 57 | - $this->_addAction( 'admin_enqueue_scripts', 'enqueueLibraryScripts', null, 0 ); | |
| 57 | + $this->_addAction( 'admin_enqueue_scripts', 'enqueueLibraryScripts', null, 8 ); | |
| 58 | 58 | $this->_addAction( 'admin_menu', 'registerAdminMenu' ); |
| 59 | 59 | $this->_addFilter( 'media_view_strings', 'setupMediaViewStrings' ); |
| 60 | 60 | $this->_addFilter( 'plugin_action_links', 'getPluginActionLinks', 10, 2 ); |
| 61 | 61 | $this->_addFilter( 'plugin_row_meta', 'getPluginMetaLinks', 10, 2 ); |
| 62 | 62 | $this->_addFilter( 'visualizer_logger_data', 'getLoggerData' ); |
| 63 | + $this->_addFilter( 'visualizer_get_chart_counts', 'getChartCountsByTypeAndMeta' ); | |
| 63 | 64 | $this->_addFilter( 'visualizer_feedback_review_trigger', 'feedbackReviewTrigger' ); |
| 64 | 65 | |
| 65 | - // screen pagination | |
| 66 | - $this->_addFilter( 'set-screen-option', 'setScreenOptions', 10, 3 ); | |
| 67 | - | |
| 68 | 66 | // revision support. |
| 69 | 67 | $this->_addFilter( 'wp_revisions_to_keep', 'limitRevisions', null, 10, 2 ); |
| 70 | 68 | $this->_addAction( '_wp_put_post_revision', 'addRevision', null, 10, 1 ); |
| 71 | 69 | $this->_addAction( 'wp_restore_post_revision', 'restoreRevision', null, 10, 2 ); |
| @@ -73,10 +71,8 @@ | ||
| 73 | 71 | $this->_addAction( 'visualizer_chart_schedules_spl', 'addSplChartSchedules', null, 10, 3 ); |
| 74 | 72 | |
| 75 | 73 | $this->_addAction( 'admin_init', 'init' ); |
| 76 | 74 | |
| 77 | - $this->_addAction( 'visualizer_chart_languages', 'addMultilingualSupport' ); | |
| 78 | - | |
| 79 | 75 | if ( defined( 'TI_CYPRESS_TESTING' ) ) { |
| 80 | 76 | $this->load_cypress_hooks(); |
| 81 | 77 | } |
| 82 | 78 | |
| @@ -315,9 +311,9 @@ | ||
| 315 | 311 | |
| 316 | 312 | // Load all the assets for the different libraries we support. |
| 317 | 313 | $deps = array( |
| 318 | 314 | Visualizer_Render_Sidebar_Google::enqueue_assets( array( 'media-editor' ) ), |
| 319 | - Visualizer_Render_Sidebar_Type_DataTable_Tabular::enqueue_assets( array( 'media-editor' ) ), | |
| 315 | + Visualizer_Render_Sidebar_Type_DataTable_DataTable::enqueue_assets( array( 'media-editor' ) ), | |
| 320 | 316 | ); |
| 321 | 317 | |
| 322 | 318 | wp_enqueue_script( 'visualizer-media-model', VISUALIZER_ABSURL . 'js/media/model.js', $deps, Visualizer_Plugin::VERSION, true ); |
| 323 | 319 | wp_enqueue_script( 'visualizer-media-collection', VISUALIZER_ABSURL . 'js/media/collection.js', array( 'visualizer-media-model' ), Visualizer_Plugin::VERSION, true ); |
| @@ -366,9 +362,9 @@ | ||
| 366 | 362 | 'filters' => $chart_types, |
| 367 | 363 | 'types' => array_keys( $chart_types ), |
| 368 | 364 | ), |
| 369 | 365 | 'nonce' => wp_create_nonce(), |
| 370 | - 'buildurl' => esc_url( add_query_arg( 'action', Visualizer_Plugin::ACTION_CREATE_CHART, admin_url( 'admin-ajax.php' ) ) ), | |
| 366 | + 'buildurl' => add_query_arg( 'action', Visualizer_Plugin::ACTION_CREATE_CHART, admin_url( 'admin-ajax.php' ) ), | |
| 371 | 367 | ); |
| 372 | 368 | |
| 373 | 369 | return $strings; |
| 374 | 370 | } |
| @@ -390,71 +386,74 @@ | ||
| 390 | 386 | 'enabled' => true, |
| 391 | 387 | ); |
| 392 | 388 | } |
| 393 | 389 | |
| 394 | - $enabled = self::proFeaturesLocked(); | |
| 395 | - | |
| 396 | 390 | $types = array_merge( |
| 397 | 391 | $additional, |
| 398 | 392 | array( |
| 399 | - 'tabular' => array( | |
| 393 | + 'dataTable' => array( | |
| 400 | 394 | 'name' => esc_html__( 'Table', 'visualizer' ), |
| 401 | 395 | 'enabled' => true, |
| 402 | - 'supports' => $enabled ? array( 'Google Charts', 'DataTable' ) : array( 'DataTable' ), | |
| 396 | + 'supports' => array( 'DataTable' ), | |
| 403 | 397 | ), |
| 404 | 398 | 'pie' => array( |
| 405 | 399 | 'name' => esc_html__( 'Pie/Donut', 'visualizer' ), |
| 406 | 400 | 'enabled' => true, |
| 407 | - 'supports' => $enabled ? array( 'Google Charts', 'ChartJS' ) : array( 'Google Charts' ), | |
| 401 | + 'supports' => array( 'Google Charts', 'ChartJS' ), | |
| 408 | 402 | ), |
| 409 | 403 | 'line' => array( |
| 410 | 404 | 'name' => esc_html__( 'Line', 'visualizer' ), |
| 411 | 405 | 'enabled' => true, |
| 412 | - 'supports' => $enabled ? array( 'Google Charts', 'ChartJS' ) : array( 'Google Charts' ), | |
| 406 | + 'supports' => array( 'Google Charts', 'ChartJS' ), | |
| 413 | 407 | ), |
| 414 | - 'bar' => array( | |
| 415 | - 'name' => esc_html__( 'Bar', 'visualizer' ), | |
| 416 | - 'enabled' => true, | |
| 417 | - 'supports' => $enabled ? array( 'Google Charts', 'ChartJS' ) : array( 'Google Charts' ), | |
| 418 | - ), | |
| 419 | 408 | 'area' => array( |
| 420 | 409 | 'name' => esc_html__( 'Area', 'visualizer' ), |
| 421 | - 'enabled' => $enabled, | |
| 410 | + 'enabled' => true, | |
| 422 | 411 | // in ChartJS, the fill option is used to make Line chart an area: https://www.chartjs.org/docs/latest/charts/area.html |
| 423 | 412 | 'supports' => array( 'Google Charts' ), |
| 424 | 413 | ), |
| 425 | 414 | 'geo' => array( |
| 426 | 415 | 'name' => esc_html__( 'Geo', 'visualizer' ), |
| 427 | - 'enabled' => $enabled, | |
| 416 | + 'enabled' => true, | |
| 428 | 417 | 'supports' => array( 'Google Charts' ), |
| 429 | 418 | ), |
| 419 | + 'bar' => array( | |
| 420 | + 'name' => esc_html__( 'Bar', 'visualizer' ), | |
| 421 | + 'enabled' => true, | |
| 422 | + 'supports' => array( 'Google Charts', 'ChartJS' ), | |
| 423 | + ), | |
| 430 | 424 | 'column' => array( |
| 431 | 425 | 'name' => esc_html__( 'Column', 'visualizer' ), |
| 432 | - 'enabled' => $enabled, | |
| 426 | + 'enabled' => true, | |
| 433 | 427 | 'supports' => array( 'Google Charts', 'ChartJS' ), |
| 434 | 428 | ), |
| 435 | 429 | 'bubble' => array( |
| 436 | 430 | 'name' => esc_html__( 'Bubble', 'visualizer' ), |
| 437 | - 'enabled' => $enabled, | |
| 431 | + 'enabled' => true, | |
| 438 | 432 | // chartjs' bubble is ugly looking (and it won't work off the default bubble.csv) so it is being excluded for the time being. |
| 439 | 433 | 'supports' => array( 'Google Charts' ), |
| 440 | 434 | ), |
| 441 | 435 | 'scatter' => array( |
| 442 | 436 | 'name' => esc_html__( 'Scatter', 'visualizer' ), |
| 443 | - 'enabled' => $enabled, | |
| 437 | + 'enabled' => true, | |
| 444 | 438 | 'supports' => array( 'Google Charts' ), |
| 445 | 439 | ), |
| 446 | 440 | 'gauge' => array( |
| 447 | 441 | 'name' => esc_html__( 'Gauge', 'visualizer' ), |
| 448 | - 'enabled' => $enabled, | |
| 442 | + 'enabled' => true, | |
| 449 | 443 | 'supports' => array( 'Google Charts' ), |
| 450 | 444 | ), |
| 451 | 445 | 'candlestick' => array( |
| 452 | 446 | 'name' => esc_html__( 'Candlestick', 'visualizer' ), |
| 453 | - 'enabled' => $enabled, | |
| 447 | + 'enabled' => true, | |
| 454 | 448 | 'supports' => array( 'Google Charts' ), |
| 455 | 449 | ), |
| 456 | 450 | // pro types |
| 451 | + 'table' => array( | |
| 452 | + 'name' => esc_html__( 'Table (Deprecated)', 'visualizer' ), | |
| 453 | + 'enabled' => false, | |
| 454 | + 'supports' => array( 'Google Charts' ), | |
| 455 | + ), | |
| 457 | 456 | 'timeline' => array( |
| 458 | 457 | 'name' => esc_html__( 'Timeline', 'visualizer' ), |
| 459 | 458 | 'enabled' => false, |
| 460 | 459 | 'supports' => array( 'Google Charts', 'ChartJS' ), |
| @@ -523,8 +522,18 @@ | ||
| 523 | 522 | switch ( $where ) { |
| 524 | 523 | case 'types': |
| 525 | 524 | // fall-through |
| 526 | 525 | case 'library': |
| 526 | + // if the user has a Google Table chart, show it as deprecated otherwise remove the option from the library. | |
| 527 | + if ( ! self::hasChartType( 'table' ) ) { | |
| 528 | + $deprecated[] = 'table'; | |
| 529 | + if ( $get2Darray ) { | |
| 530 | + $types['dataTable'] = esc_html__( 'Table', 'visualizer' ); | |
| 531 | + } else { | |
| 532 | + $types['dataTable']['name'] = esc_html__( 'Table', 'visualizer' ); | |
| 533 | + } | |
| 534 | + } | |
| 535 | + | |
| 527 | 536 | // if a user has a Gauge/Candlestick chart, then let them keep using it. |
| 528 | 537 | if ( ! Visualizer_Module::is_pro() ) { |
| 529 | 538 | if ( ! self::hasChartType( 'gauge' ) ) { |
| 530 | 539 | if ( $get2Darray ) { |
| @@ -542,8 +551,18 @@ | ||
| 542 | 551 | } |
| 543 | 552 | } |
| 544 | 553 | break; |
| 545 | 554 | default: |
| 555 | + // remove the option to create a Google Table chart. | |
| 556 | + $deprecated[] = 'table'; | |
| 557 | + | |
| 558 | + // rename the new table chart type. | |
| 559 | + if ( $get2Darray ) { | |
| 560 | + $types['dataTable'] = esc_html__( 'Table', 'visualizer' ); | |
| 561 | + } else { | |
| 562 | + $types['dataTable']['name'] = esc_html__( 'Table', 'visualizer' ); | |
| 563 | + } | |
| 564 | + | |
| 546 | 565 | // if a user has a Gauge/Candlestick chart, then let them keep using it. |
| 547 | 566 | if ( ! Visualizer_Module::is_pro() ) { |
| 548 | 567 | if ( ! self::hasChartType( 'gauge' ) ) { |
| 549 | 568 | if ( $get2Darray ) { |
| @@ -610,9 +629,8 @@ | ||
| 610 | 629 | VISUALIZER_ABSURL . 'js/library.js', |
| 611 | 630 | array( |
| 612 | 631 | 'jquery', |
| 613 | 632 | 'media-views', |
| 614 | - 'clipboard', | |
| 615 | 633 | ), |
| 616 | 634 | Visualizer_Plugin::VERSION, |
| 617 | 635 | true |
| 618 | 636 | ); |
| @@ -687,161 +705,12 @@ | ||
| 687 | 705 | 'edit_posts', |
| 688 | 706 | 'viz-support', |
| 689 | 707 | array( $this, 'renderSupportPage' ) |
| 690 | 708 | ); |
| 691 | - | |
| 692 | - if ( ! Visualizer_Module::is_pro() ) { | |
| 693 | - add_submenu_page( | |
| 694 | - Visualizer_Plugin::NAME, | |
| 695 | - __( 'Get Visualizer Pro', 'visualizer' ), | |
| 696 | - __( 'Get Visualizer Pro', 'visualizer' ), | |
| 697 | - 'edit_posts', | |
| 698 | - 'viz-get-pro', | |
| 699 | - '__return_null' | |
| 700 | - ); | |
| 701 | - add_action( 'admin_footer', array( $this, 'handleGetProSubMenu' ) ); | |
| 702 | - } | |
| 703 | 709 | remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME ); |
| 704 | - | |
| 705 | - add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) ); | |
| 706 | 710 | } |
| 707 | 711 | |
| 708 | 712 | /** |
| 709 | - * Handle get pro plugin submenu. | |
| 710 | - */ | |
| 711 | - public function handleGetProSubMenu() { | |
| 712 | - ?> | |
| 713 | - <style type="text/css"> | |
| 714 | - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li { | |
| 715 | - background: #FF7E65; | |
| 716 | - font-size: 14px; | |
| 717 | - font-weight: 600; | |
| 718 | - color: #fff; | |
| 719 | - } | |
| 720 | - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a { | |
| 721 | - color: #fff !important; | |
| 722 | - } | |
| 723 | - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a:hover { | |
| 724 | - box-shadow: inherit; | |
| 725 | - } | |
| 726 | - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li + li { | |
| 727 | - display: none; | |
| 728 | - } | |
| 729 | - </style> | |
| 730 | - <script type="text/javascript"> | |
| 731 | - jQuery( document ).ready( function() { | |
| 732 | - jQuery( '#toplevel_page_visualizer' ).on( 'click', 'li:not(.wp-submenu-head, .wp-first-item):eq(2)', function( e ) { | |
| 733 | - e.preventDefault(); | |
| 734 | - window.open( '<?php echo tsdk_utmify( 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/', 'toplevel' ); ?>', '_blank' ); | |
| 735 | - } ); | |
| 736 | - } ); | |
| 737 | - </script> | |
| 738 | - <?php | |
| 739 | - } | |
| 740 | - | |
| 741 | - /** | |
| 742 | - * Adds the screen options for pagination. | |
| 743 | - */ | |
| 744 | - function addScreenOptions() { | |
| 745 | - $screen = get_current_screen(); | |
| 746 | - | |
| 747 | - // bail if it's some other page. | |
| 748 | - if ( ! is_object( $screen ) || $screen->id !== $this->_libraryPage ) { | |
| 749 | - return; | |
| 750 | - } | |
| 751 | - | |
| 752 | - $args = array( | |
| 753 | - 'label' => __( 'Number of charts per page:', 'visualizer' ), | |
| 754 | - 'default' => 6, | |
| 755 | - 'option' => 'visualizer_library_per_page', | |
| 756 | - ); | |
| 757 | - add_screen_option( 'per_page', $args ); | |
| 758 | - } | |
| 759 | - | |
| 760 | - /** | |
| 761 | - * Returns the screen option for pagination. | |
| 762 | - */ | |
| 763 | - function setScreenOptions( $status, $option, $value ) { | |
| 764 | - if ( 'visualizer_library_per_page' === $option ) { | |
| 765 | - return $value; | |
| 766 | - } | |
| 767 | - } | |
| 768 | - | |
| 769 | - /** | |
| 770 | - * Adds the display filters to be used in the meta_query while displaying the charts. | |
| 771 | - */ | |
| 772 | - private function getDisplayFilters( &$query_args ) { | |
| 773 | - $query = array(); | |
| 774 | - global $sitepress; | |
| 775 | - if ( Visualizer_Module::is_pro() && ( function_exists( 'icl_get_languages' ) && $sitepress instanceof \SitePress ) ) { | |
| 776 | - $current_lang = icl_get_current_language(); | |
| 777 | - if ( in_array( $current_lang, array( 'all', icl_get_default_language() ), true ) ) { | |
| 778 | - $query[] = array( | |
| 779 | - 'key' => 'chart_lang', | |
| 780 | - 'compare' => 'NOT EXISTS', | |
| 781 | - ); | |
| 782 | - } else { | |
| 783 | - $query[] = array( | |
| 784 | - 'key' => 'chart_lang', | |
| 785 | - 'value' => $current_lang, | |
| 786 | - 'compare' => '=', | |
| 787 | - ); | |
| 788 | - } | |
| 789 | - } | |
| 790 | - | |
| 791 | - // add chart type filter to the query arguments | |
| 792 | - $type = filter_input( INPUT_GET, 'type' ); | |
| 793 | - if ( $type && in_array( $type, Visualizer_Plugin::getChartTypes(), true ) ) { | |
| 794 | - $query[] = array( | |
| 795 | - 'key' => Visualizer_Plugin::CF_CHART_TYPE, | |
| 796 | - 'value' => $type, | |
| 797 | - 'compare' => '=', | |
| 798 | - ); | |
| 799 | - } | |
| 800 | - | |
| 801 | - // add chart library filter to the query arguments | |
| 802 | - $library = filter_input( INPUT_GET, 'library' ); | |
| 803 | - if ( $library ) { | |
| 804 | - $query[] = array( | |
| 805 | - 'key' => Visualizer_Plugin::CF_CHART_LIBRARY, | |
| 806 | - 'value' => $library, | |
| 807 | - 'compare' => '=', | |
| 808 | - ); | |
| 809 | - } | |
| 810 | - | |
| 811 | - // add date filter to the query arguments | |
| 812 | - $date = filter_input( INPUT_GET, 'date' ); | |
| 813 | - $possible = array_keys( Visualizer_Plugin::getSupportedDateFilter() ); | |
| 814 | - if ( $date && in_array( $date, $possible, true ) ) { | |
| 815 | - $query_args['date_query'] = array( | |
| 816 | - 'after' => "$date -1 day", | |
| 817 | - 'inclusive' => true, | |
| 818 | - ); | |
| 819 | - } | |
| 820 | - | |
| 821 | - // add source filter to the query arguments | |
| 822 | - $source = filter_input( INPUT_GET, 'source' ); | |
| 823 | - if ( $source ) { | |
| 824 | - $source = ucwords( $source ); | |
| 825 | - $source = "Visualizer_Source_{$source}"; | |
| 826 | - $query[] = array( | |
| 827 | - 'key' => Visualizer_Plugin::CF_SOURCE, | |
| 828 | - 'value' => $source, | |
| 829 | - 'compare' => '=', | |
| 830 | - ); | |
| 831 | - } | |
| 832 | - | |
| 833 | - $query_args['meta_query'] = $query; | |
| 834 | - | |
| 835 | - $orderby = filter_input( INPUT_GET, 'orderby' ); | |
| 836 | - $order = filter_input( INPUT_GET, 'order' ); | |
| 837 | - if ( $orderby ) { | |
| 838 | - $query_args['order_by'] = $orderby; | |
| 839 | - } | |
| 840 | - $query_args['order'] = empty( $order ) ? 'desc' : $order; | |
| 841 | - } | |
| 842 | - | |
| 843 | - /** | |
| 844 | 713 | * Get the instance of WP_Query that fetches the charts as per the given criteria. |
| 845 | 714 | */ |
| 846 | 715 | private function getQuery() { |
| 847 | 716 | static $q; |
| @@ -860,34 +729,29 @@ | ||
| 860 | 729 | 'default' => 1, |
| 861 | 730 | ), |
| 862 | 731 | ) |
| 863 | 732 | ); |
| 864 | - | |
| 865 | - $per_page = 6; | |
| 866 | - $screen = get_current_screen(); | |
| 867 | - if ( $screen ) { | |
| 868 | - // retrieve the per_page option | |
| 869 | - $screen_option = $screen->get_option( 'per_page', 'option' ); | |
| 870 | - // retrieve the value stored for the current user | |
| 871 | - $user = get_current_user_id(); | |
| 872 | - $per_page = get_user_meta( $user, $screen_option, true ); | |
| 873 | - if ( empty( $per_page ) || $per_page < 1 ) { | |
| 874 | - // nothing set, get the default value | |
| 875 | - $per_page = $screen->get_option( 'per_page', 'default' ); | |
| 876 | - } | |
| 877 | - } | |
| 878 | - | |
| 879 | 733 | // the initial query arguments to fetch charts |
| 880 | 734 | $query_args = array( |
| 881 | 735 | 'post_type' => Visualizer_Plugin::CPT_VISUALIZER, |
| 882 | - 'posts_per_page' => $per_page, | |
| 736 | + 'posts_per_page' => 6, | |
| 883 | 737 | 'paged' => $page, |
| 884 | 738 | ); |
| 885 | - | |
| 886 | - $this->getDisplayFilters( $query_args ); | |
| 887 | - | |
| 739 | + // add chart type filter to the query arguments | |
| 740 | + $filter = filter_input( INPUT_GET, 'type' ); | |
| 741 | + if ( $filter && in_array( $filter, Visualizer_Plugin::getChartTypes(), true ) ) { | |
| 742 | + $query_args['meta_query'] = array( | |
| 743 | + array( | |
| 744 | + 'key' => Visualizer_Plugin::CF_CHART_TYPE, | |
| 745 | + 'value' => $filter, | |
| 746 | + 'compare' => '=', | |
| 747 | + ), | |
| 748 | + ); | |
| 749 | + } else { | |
| 750 | + $filter = 'all'; | |
| 751 | + } | |
| 888 | 752 | // Added by Ash/Upwork |
| 889 | - $filterByMeta = ! empty( $_GET['s'] ) ? sanitize_text_field( wp_unslash( $_GET['s'] ) ) : null; // phpcs:ignore WordPress.Security.NonceVerification.Recommended | |
| 753 | + $filterByMeta = filter_input( INPUT_GET, 's', FILTER_SANITIZE_STRING ); | |
| 890 | 754 | if ( $filterByMeta ) { |
| 891 | 755 | $query = array( |
| 892 | 756 | 'key' => Visualizer_Plugin::CF_SETTINGS, |
| 893 | 757 | 'value' => $filterByMeta, |
| @@ -965,22 +829,10 @@ | ||
| 965 | 829 | unset( $settings['height'], $settings['width'], $settings['chartArea'] ); |
| 966 | 830 | } |
| 967 | 831 | |
| 968 | 832 | $series = apply_filters( Visualizer_Plugin::FILTER_GET_CHART_SERIES, get_post_meta( $chart->ID, Visualizer_Plugin::CF_SERIES, true ), $chart->ID, $type ); |
| 969 | - $data = self::get_chart_data( $chart, $type ); | |
| 833 | + $data = apply_filters( Visualizer_Plugin::FILTER_GET_CHART_DATA, unserialize( html_entity_decode( $chart->post_content ) ), $chart->ID, $type ); | |
| 970 | 834 | |
| 971 | - // Set default setting series when add manual chart data - Only during first creation. | |
| 972 | - if ( isset( $settings['series'] ) && ! empty( $series ) ) { | |
| 973 | - $count_series = count( $series ) - count( $settings['series'] ); | |
| 974 | - if ( $count_series > 1 ) { | |
| 975 | - $clone_last_series = end( $settings['series'] ); | |
| 976 | - $clone_last_series = array_fill_keys( array_keys( $clone_last_series ), '' ); | |
| 977 | - foreach ( range( 1, $count_series ) as $item ) { | |
| 978 | - $settings['series'][] = $clone_last_series; | |
| 979 | - } | |
| 980 | - } | |
| 981 | - } | |
| 982 | - | |
| 983 | 835 | $library = $this->load_chart_type( $chart->ID ); |
| 984 | 836 | |
| 985 | 837 | $id = 'visualizer-' . $chart->ID; |
| 986 | 838 | $arguments = $this->get_inline_custom_css( $id, $settings ); |
| @@ -988,15 +840,8 @@ | ||
| 988 | 840 | $css .= $arguments[0]; |
| 989 | 841 | $settings = $arguments[1]; |
| 990 | 842 | } |
| 991 | 843 | |
| 992 | - if ( isset( $settings['controls']['ui']['labelStacking'] ) ) { | |
| 993 | - unset( $settings['controls']['ui']['labelStacking'] ); | |
| 994 | - } | |
| 995 | - if ( isset( $settings['controls']['ui']['orientation'] ) ) { | |
| 996 | - unset( $settings['controls']['ui']['orientation'] ); | |
| 997 | - } | |
| 998 | - | |
| 999 | 844 | // add chart to the array |
| 1000 | 845 | $charts[ $id ] = array( |
| 1001 | 846 | 'id' => $chart->ID, |
| 1002 | 847 | 'type' => $type, |
| @@ -1015,38 +860,30 @@ | ||
| 1015 | 860 | 'language' => $this->get_language(), |
| 1016 | 861 | 'map_api_key' => get_option( 'visualizer-map-api-key' ), |
| 1017 | 862 | 'charts' => $charts, |
| 1018 | 863 | 'urls' => array( |
| 1019 | - 'base' => esc_url( add_query_arg( array( 'vpage' => false, 'vaction' => false ) ) ), | |
| 1020 | - 'create' => esc_url( | |
| 1021 | - add_query_arg( | |
| 1022 | - array( | |
| 1023 | - 'action' => Visualizer_Plugin::ACTION_CREATE_CHART, | |
| 1024 | - 'library' => 'yes', | |
| 1025 | - 'type' => isset( $_GET['type'] ) ? $_GET['type'] : '', | |
| 1026 | - 'chart-library' => isset( $_GET['chart-library'] ) ? $_GET['chart-library'] : '', | |
| 1027 | - 'vaction' => false, | |
| 1028 | - ), | |
| 1029 | - $ajaxurl | |
| 1030 | - ) | |
| 864 | + 'base' => add_query_arg( array( 'vpage' => false, 'vaction' => false ) ), | |
| 865 | + 'create' => add_query_arg( | |
| 866 | + array( | |
| 867 | + 'action' => Visualizer_Plugin::ACTION_CREATE_CHART, | |
| 868 | + 'library' => 'yes', | |
| 869 | + 'type' => isset( $_GET['type'] ) ? $_GET['type'] : '', | |
| 870 | + 'chart-library' => isset( $_GET['chart-library'] ) ? $_GET['chart-library'] : '', | |
| 871 | + 'vaction' => false, | |
| 872 | + ), | |
| 873 | + $ajaxurl | |
| 1031 | 874 | ), |
| 1032 | - 'edit' => esc_url( | |
| 1033 | - add_query_arg( | |
| 1034 | - array( | |
| 1035 | - 'action' => Visualizer_Plugin::ACTION_EDIT_CHART, | |
| 1036 | - 'library' => 'yes', | |
| 1037 | - 'vaction' => false, | |
| 1038 | - ), | |
| 1039 | - $ajaxurl | |
| 1040 | - ) | |
| 875 | + 'edit' => add_query_arg( | |
| 876 | + array( | |
| 877 | + 'action' => Visualizer_Plugin::ACTION_EDIT_CHART, | |
| 878 | + 'library' => 'yes', | |
| 879 | + 'vaction' => false, | |
| 880 | + ), | |
| 881 | + $ajaxurl | |
| 1041 | 882 | ), |
| 1042 | 883 | ), |
| 1043 | 884 | 'page_type' => 'library', |
| 1044 | 885 | 'is_front' => false, |
| 1045 | - 'i10n' => array( | |
| 1046 | - 'copied' => __( 'The shortcode has been copied to your clipboard. Hit Ctrl-V/Cmd-V to paste it.', 'visualizer' ), | |
| 1047 | - 'conflict' => __( 'We have detected a potential conflict with another component that prevents Visualizer from functioning properly. Please disable any of the following components if they are activated on your instance: Modern Events Calendar plugin, Acronix plugin. In case the aforementioned components are not activated or you continue to see this error message, please disable all other plugins and enable them one by one to find out the component that is causing the conflict.', 'visualizer' ), | |
| 1048 | - ), | |
| 1049 | 886 | ) |
| 1050 | 887 | ); |
| 1051 | 888 | // render library page |
| 1052 | 889 | $render = new Visualizer_Render_Library(); |
| @@ -1113,9 +950,9 @@ | ||
| 1113 | 950 | esc_html__( 'Docs', 'visualizer' ) |
| 1114 | 951 | ); |
| 1115 | 952 | // flattr link |
| 1116 | 953 | $plugin_meta[] = sprintf( |
| 1117 | - '<a style="color:red" href="' . tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'pluginrow' ) . '" target="_blank">%s</a>', | |
| 954 | + '<a style="color:red" href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank">%s</a>', | |
| 1118 | 955 | esc_html__( 'Pro Addon', 'visualizer' ) |
| 1119 | 956 | ); |
| 1120 | 957 | } |
| 1121 | 958 | |
| @@ -1121,75 +958,5 @@ | ||
| 1121 | 958 | |
| 1122 | 959 | return $plugin_meta; |
| 1123 | 960 | } |
| 1124 | 961 | |
| 1125 | - /** | |
| 1126 | - * If check is existing user. | |
| 1127 | - * | |
| 1128 | - * @return bool Default false | |
| 1129 | - */ | |
| 1130 | - public static function proFeaturesLocked() { | |
| 1131 | - if ( Visualizer_Module::is_pro() ) { | |
| 1132 | - return true; | |
| 1133 | - } | |
| 1134 | - return 'yes' === get_option( 'visualizer-new-user', 'yes' ) ? false : true; | |
| 1135 | - } | |
| 1136 | - | |
| 1137 | - /** | |
| 1138 | - * Multilingual Support. | |
| 1139 | - * | |
| 1140 | - * @param int $chart_id Chart ID. | |
| 1141 | - * @return bool Default false | |
| 1142 | - */ | |
| 1143 | - public function addMultilingualSupport( $chart_id ) { | |
| 1144 | - global $sitepress; | |
| 1145 | - if ( Visualizer_Module::is_pro() ) { | |
| 1146 | - return; | |
| 1147 | - } | |
| 1148 | - if ( function_exists( 'icl_get_languages' ) && $sitepress instanceof \SitePress ) { | |
| 1149 | - $language = icl_get_languages(); | |
| 1150 | - $current_lang = icl_get_current_language(); | |
| 1151 | - $default_lang = icl_get_default_language(); | |
| 1152 | - $post_info = wpml_get_language_information( null, $chart_id ); | |
| 1153 | - $translations = array(); | |
| 1154 | - if ( ! empty( $post_info ) && ( $default_lang === $post_info['language_code'] ) ) { | |
| 1155 | - $trid = $sitepress->get_element_trid( $chart_id, 'post_' . Visualizer_Plugin::CPT_VISUALIZER ); | |
| 1156 | - $translations = $sitepress->get_element_translations( $trid ); | |
| 1157 | - } | |
| 1158 | - if ( empty( $translations ) ) { | |
| 1159 | - return; | |
| 1160 | - } | |
| 1161 | - ?> | |
| 1162 | - <hr><div class="visualizer-languages-list only-pro"> | |
| 1163 | - <?php | |
| 1164 | - foreach ( $language as $lang ) { | |
| 1165 | - $lang_code = $lang['code']; | |
| 1166 | - if ( $current_lang !== $lang_code ) { | |
| 1167 | - ?> | |
| 1168 | - <a href="javascript:;"> | |
| 1169 | - <img src="<?php echo esc_url( $lang['country_flag_url'] ); ?>" alt="<?php echo esc_attr( $lang['translated_name'] ); ?>"> | |
| 1170 | - </a> | |
| 1171 | - <?php | |
| 1172 | - } | |
| 1173 | - } | |
| 1174 | - ?> | |
| 1175 | - <a href="<?php echo tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'wpml-support', 'visualizer_render_char' ); ?>"target="_blank"><?php esc_html_e( 'Upgrade to PRO to active this translation for charts', 'visualizer' ); ?></a> | |
| 1176 | - </div> | |
| 1177 | - <?php | |
| 1178 | - } | |
| 1179 | - } | |
| 1180 | - | |
| 1181 | - /** | |
| 1182 | - * Check chart is enabled or not. | |
| 1183 | - * | |
| 1184 | - * @param string $type Chart ID. | |
| 1185 | - * | |
| 1186 | - * @return bool Default false | |
| 1187 | - */ | |
| 1188 | - public static function checkChartStatus( $type ) { | |
| 1189 | - $types = self::_getChartTypesLocalized( false, false, false, true ); | |
| 1190 | - if ( isset( $types[ $type ] ) ) { | |
| 1191 | - return ! empty( $types[ $type ]['enabled'] ); | |
| 1192 | - } | |
| 1193 | - return false; | |
| 1194 | - } | |
| 1195 | 962 | } |