From a71fc596ca93b8ad30aa5aa0f39aec9232cb269f Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Thu, 10 Nov 2022 11:06:01 +0530 Subject: [PATCH 1/2] Show new features on chart library page Codeinwp/visualizer-pro#360 --- classes/Visualizer/Module/Admin.php | 48 +++++++++++++++++++++++++++ classes/Visualizer/Render/Library.php | 2 ++ css/library.css | 15 +++++++-- 3 files changed, 62 insertions(+), 3 deletions(-) diff --git a/classes/Visualizer/Module/Admin.php b/classes/Visualizer/Module/Admin.php index 9e9e64ae2..f25dfc16c 100644 --- a/classes/Visualizer/Module/Admin.php +++ b/classes/Visualizer/Module/Admin.php @@ -74,6 +74,8 @@ public function __construct( Visualizer_Plugin $plugin ) { $this->_addAction( 'admin_init', 'init' ); + $this->_addAction( 'visualizer_chart_languages', 'addMultilingualSupport' ); + if ( defined( 'TI_CYPRESS_TESTING' ) ) { $this->load_cypress_hooks(); } @@ -1123,9 +1125,55 @@ public function getPluginMetaLinks( $plugin_meta, $plugin_file ) { * @return bool Default false */ public static function proFeaturesLocked() { + return false; if ( Visualizer_Module::is_pro() ) { return true; } return 'yes' === get_option( 'visualizer-new-user', 'yes' ) ? false : true; } + + /** + * Multilingual Support. + * + * @param int $chart_id Chart ID. + * @return bool Default false + */ + public function addMultilingualSupport( $chart_id ) { + if ( Visualizer_Module::is_pro() ) { + return; + } + if ( function_exists( 'icl_get_languages' ) ) { + $language = icl_get_languages(); + $current_lang = icl_get_current_language(); + $default_lang = icl_get_default_language(); + $post_info = wpml_get_language_information( null, $chart_id ); + + global $sitepress; + $translations = array(); + if ( ! empty( $post_info ) && ( $default_lang === $post_info['language_code'] ) ) { + $trid = $sitepress->get_element_trid( $chart_id, 'post_' . Visualizer_Plugin::CPT_VISUALIZER ); + $translations = $sitepress->get_element_translations( $trid ); + } + if ( empty( $translations ) ) { + return; + } + ?> +
+ + + <?php echo esc_attr( $lang['translated_name'] ); ?> + + + +
+ ' . __( 'Create charts from WordPress tables', 'visualizer' ) . ''; echo '
  • ' . __( 'Frontend editor', 'visualizer' ) . '
  • '; echo '
  • ' . __( 'Private charts', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'WPML support for translating charts', 'visualizer' ) . '
  • '; + echo '
  • ' . __( 'Integration with Woocommerce Data endpoints', 'visualizer' ) . '
  • '; echo '
  • ' . __( 'Auto-sync with online files', 'visualizer' ) . '
  • '; echo '

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

    '; echo ''; diff --git a/css/library.css b/css/library.css index 3080d49e6..3399d1355 100644 --- a/css/library.css +++ b/css/library.css @@ -462,13 +462,22 @@ div#visualizer-types ul, div#visualizer-types form p { outline: none; box-shadow: none; } -.visualizer-languages-list i { +.visualizer-languages-list:not(.only-pro) i { display: none; } -.visualizer-languages-list a:hover img { +.visualizer-languages-list:not(.only-pro) a:hover img { display: none; } -.visualizer-languages-list a:hover img + i { +.visualizer-languages-list:not(.only-pro) a:hover img + i { + display: block; +} +.visualizer-languages-list.only-pro a:last-child { + display: none; +} +.visualizer-languages-list.only-pro:hover a:not(:last-child) { + display: none; +} +.visualizer-languages-list.only-pro:hover a:last-child { display: block; } @media (-webkit-min-device-pixel-ratio: 2) and (min-width: 1000px) and (max-width: 1600px) { From 87582e567f688d53d370b5977bf61932b3f8ce24 Mon Sep 17 00:00:00 2001 From: girishpanchal30 Date: Thu, 10 Nov 2022 11:23:51 +0530 Subject: [PATCH 2/2] Remove debug code Codeinwp/visualizer-pro#360 --- classes/Visualizer/Module/Admin.php | 1 - 1 file changed, 1 deletion(-) diff --git a/classes/Visualizer/Module/Admin.php b/classes/Visualizer/Module/Admin.php index f25dfc16c..94bcdb1ff 100644 --- a/classes/Visualizer/Module/Admin.php +++ b/classes/Visualizer/Module/Admin.php @@ -1125,7 +1125,6 @@ public function getPluginMetaLinks( $plugin_meta, $plugin_file ) { * @return bool Default false */ public static function proFeaturesLocked() { - return false; if ( Visualizer_Module::is_pro() ) { return true; }