Skip to content

Commit 1c811c6

Browse files
Merge pull request #959 from Codeinwp/enhancement/pro/360
Show new features on chart library page
2 parents f616cf3 + 87582e5 commit 1c811c6

File tree

3 files changed

+61
-3
lines changed

3 files changed

+61
-3
lines changed

classes/Visualizer/Module/Admin.php

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ public function __construct( Visualizer_Plugin $plugin ) {
7474

7575
$this->_addAction( 'admin_init', 'init' );
7676

77+
$this->_addAction( 'visualizer_chart_languages', 'addMultilingualSupport' );
78+
7779
if ( defined( 'TI_CYPRESS_TESTING' ) ) {
7880
$this->load_cypress_hooks();
7981
}
@@ -1128,4 +1130,49 @@ public static function proFeaturesLocked() {
11281130
}
11291131
return 'yes' === get_option( 'visualizer-new-user', 'yes' ) ? false : true;
11301132
}
1133+
1134+
/**
1135+
* Multilingual Support.
1136+
*
1137+
* @param int $chart_id Chart ID.
1138+
* @return bool Default false
1139+
*/
1140+
public function addMultilingualSupport( $chart_id ) {
1141+
if ( Visualizer_Module::is_pro() ) {
1142+
return;
1143+
}
1144+
if ( function_exists( 'icl_get_languages' ) ) {
1145+
$language = icl_get_languages();
1146+
$current_lang = icl_get_current_language();
1147+
$default_lang = icl_get_default_language();
1148+
$post_info = wpml_get_language_information( null, $chart_id );
1149+
1150+
global $sitepress;
1151+
$translations = array();
1152+
if ( ! empty( $post_info ) && ( $default_lang === $post_info['language_code'] ) ) {
1153+
$trid = $sitepress->get_element_trid( $chart_id, 'post_' . Visualizer_Plugin::CPT_VISUALIZER );
1154+
$translations = $sitepress->get_element_translations( $trid );
1155+
}
1156+
if ( empty( $translations ) ) {
1157+
return;
1158+
}
1159+
?>
1160+
<hr><div class="visualizer-languages-list only-pro">
1161+
<?php
1162+
foreach ( $language as $lang ) {
1163+
$lang_code = $lang['code'];
1164+
if ( $current_lang !== $lang_code ) {
1165+
?>
1166+
<a href="javascript:;">
1167+
<img src="<?php echo esc_url( $lang['country_flag_url'] ); ?>" alt="<?php echo esc_attr( $lang['translated_name'] ); ?>">
1168+
</a>
1169+
<?php
1170+
}
1171+
}
1172+
?>
1173+
<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>
1174+
</div>
1175+
<?php
1176+
}
1177+
}
11311178
}

classes/Visualizer/Render/Library.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,8 @@ private function _renderSidebar() {
397397
echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Create charts from WordPress tables', 'visualizer' ) . '</li>';
398398
echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Frontend editor', 'visualizer' ) . '</li>';
399399
echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Private charts', 'visualizer' ) . '</li>';
400+
echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'WPML support for translating charts', 'visualizer' ) . '</li>';
401+
echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Integration with Woocommerce Data endpoints', 'visualizer' ) . '</li>';
400402
echo '<li><svg class="icon list-icon"><use xlink:href="#list-icon"></use></svg>' . __( 'Auto-sync with online files', 'visualizer' ) . '</li></ul>';
401403
echo '<p><a href="' . tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'sidebarupsell' ) . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a></p>';
402404
echo '</div>';

css/library.css

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -462,13 +462,22 @@ div#visualizer-types ul, div#visualizer-types form p {
462462
outline: none;
463463
box-shadow: none;
464464
}
465-
.visualizer-languages-list i {
465+
.visualizer-languages-list:not(.only-pro) i {
466466
display: none;
467467
}
468-
.visualizer-languages-list a:hover img {
468+
.visualizer-languages-list:not(.only-pro) a:hover img {
469469
display: none;
470470
}
471-
.visualizer-languages-list a:hover img + i {
471+
.visualizer-languages-list:not(.only-pro) a:hover img + i {
472+
display: block;
473+
}
474+
.visualizer-languages-list.only-pro a:last-child {
475+
display: none;
476+
}
477+
.visualizer-languages-list.only-pro:hover a:not(:last-child) {
478+
display: none;
479+
}
480+
.visualizer-languages-list.only-pro:hover a:last-child {
472481
display: block;
473482
}
474483
@media (-webkit-min-device-pixel-ratio: 2) and (min-width: 1000px) and (max-width: 1600px) {

0 commit comments

Comments
 (0)