| @@ -670,9 +670,9 @@ | ||
| 670 | 670 | Visualizer_Plugin::NAME, |
| 671 | 671 | __( 'Chart Library', 'visualizer' ), |
| 672 | 672 | __( 'Chart Library', 'visualizer' ), |
| 673 | 673 | 'edit_posts', |
| 674 | - 'admin.php?page=' . Visualizer_Plugin::NAME | |
| 674 | + admin_url( 'admin.php?page=' . Visualizer_Plugin::NAME ) | |
| 675 | 675 | ); |
| 676 | 676 | add_submenu_page( |
| 677 | 677 | Visualizer_Plugin::NAME, |
| 678 | 678 | __( 'Add New Chart', 'visualizer' ), |
| @@ -677,9 +677,9 @@ | ||
| 677 | 677 | Visualizer_Plugin::NAME, |
| 678 | 678 | __( 'Add New Chart', 'visualizer' ), |
| 679 | 679 | __( 'Add New Chart', 'visualizer' ), |
| 680 | 680 | 'edit_posts', |
| 681 | - 'admin.php?page=' . Visualizer_Plugin::NAME . '&vaction=addnew' | |
| 681 | + admin_url( 'admin.php?page=' . Visualizer_Plugin::NAME . '&vaction=addnew' ) | |
| 682 | 682 | ); |
| 683 | 683 | add_submenu_page( |
| 684 | 684 | Visualizer_Plugin::NAME, |
| 685 | 685 | __( 'Support', 'visualizer' ), |
| @@ -688,12 +688,22 @@ | ||
| 688 | 688 | 'viz-support', |
| 689 | 689 | array( $this, 'renderSupportPage' ) |
| 690 | 690 | ); |
| 691 | 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 | + } | |
| 692 | 703 | remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME ); |
| 693 | 704 | |
| 694 | 705 | add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) ); |
| 695 | - add_action( 'admin_footer', array( $this, 'handleGetProSubMenu' ) ); | |
| 696 | 706 | } |
| 697 | 707 | |
| 698 | 708 | /** |
| 699 | 709 | * Handle get pro plugin submenu. |
| @@ -698,35 +708,32 @@ | ||
| 698 | 708 | /** |
| 699 | 709 | * Handle get pro plugin submenu. |
| 700 | 710 | */ |
| 701 | 711 | public function handleGetProSubMenu() { |
| 702 | - if ( ! Visualizer_Module::is_pro() ) { | |
| 703 | - ?> | |
| 712 | + ?> | |
| 704 | 713 | <style type="text/css"> |
| 705 | - #toplevel_page_visualizer ul.wp-submenu li:last-child { | |
| 714 | + #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li { | |
| 706 | 715 | background: #FF7E65; |
| 707 | 716 | font-size: 14px; |
| 708 | 717 | font-weight: 600; |
| 709 | 718 | color: #fff; |
| 710 | 719 | } |
| 711 | - #toplevel_page_visualizer ul.wp-submenu li:last-child > a { | |
| 720 | + #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a { | |
| 712 | 721 | color: #fff !important; |
| 713 | 722 | } |
| 714 | - #toplevel_page_visualizer ul.wp-submenu li:last-child > a:hover { | |
| 723 | + #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a:hover { | |
| 715 | 724 | box-shadow: inherit; |
| 716 | 725 | } |
| 717 | 726 | </style> |
| 718 | - <?php | |
| 719 | - if ( get_option( 'visualizer_fresh_install', false ) ) { | |
| 720 | - ?> | |
| 721 | - <style type="text/css"> | |
| 722 | - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li { | |
| 723 | - display: none; | |
| 724 | - } | |
| 725 | - </style> | |
| 726 | - <?php | |
| 727 | - } | |
| 728 | - } | |
| 727 | + <script type="text/javascript"> | |
| 728 | + jQuery( document ).ready( function() { | |
| 729 | + jQuery( '#toplevel_page_visualizer' ).on( 'click', 'li:not(.wp-submenu-head, .wp-first-item):eq(2)', function( e ) { | |
| 730 | + e.preventDefault(); | |
| 731 | + window.open( '<?php echo tsdk_utmify( 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/', 'toplevel' ); ?>', '_blank' ); | |
| 732 | + } ); | |
| 733 | + } ); | |
| 734 | + </script> | |
| 735 | + <?php | |
| 729 | 736 | } |
| 730 | 737 | |
| 731 | 738 | /** |
| 732 | 739 | * Adds the screen options for pagination. |
| @@ -875,9 +882,9 @@ | ||
| 875 | 882 | |
| 876 | 883 | $this->getDisplayFilters( $query_args ); |
| 877 | 884 | |
| 878 | 885 | // Added by Ash/Upwork |
| 879 | - $filterByMeta = ! empty( $_GET['s'] ) ? sanitize_text_field( wp_unslash( $_GET['s'] ) ) : null; // phpcs:ignore WordPress.Security.NonceVerification.Recommended | |
| 886 | + $filterByMeta = filter_input( INPUT_GET, 's', FILTER_SANITIZE_STRING ); | |
| 880 | 887 | if ( $filterByMeta ) { |
| 881 | 888 | $query = array( |
| 882 | 889 | 'key' => Visualizer_Plugin::CF_SETTINGS, |
| 883 | 890 | 'value' => $filterByMeta, |
| @@ -899,9 +906,8 @@ | ||
| 899 | 906 | * @access public |
| 900 | 907 | */ |
| 901 | 908 | public function renderSupportPage() { |
| 902 | 909 | wp_enqueue_style( 'visualizer-upsell', VISUALIZER_ABSURL . 'css/upsell.css', array(), Visualizer_Plugin::VERSION ); |
| 903 | - $this->load_survey(); | |
| 904 | 910 | include_once VISUALIZER_ABSPATH . '/templates/support.php'; |
| 905 | 911 | } |
| 906 | 912 | |
| 907 | 913 | /** |
| @@ -1053,11 +1059,8 @@ | ||
| 1053 | 1059 | 'total' => $query->max_num_pages, |
| 1054 | 1060 | 'type' => 'array', |
| 1055 | 1061 | ) |
| 1056 | 1062 | ); |
| 1057 | - | |
| 1058 | - $this->load_survey(); | |
| 1059 | - | |
| 1060 | 1063 | $render->render(); |
| 1061 | 1064 | } |
| 1062 | 1065 | |
| 1063 | 1066 | /** |
| @@ -1169,92 +1172,6 @@ | ||
| 1169 | 1172 | <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> |
| 1170 | 1173 | </div> |
| 1171 | 1174 | <?php |
| 1172 | 1175 | } |
| 1173 | - } | |
| 1174 | - | |
| 1175 | - /** | |
| 1176 | - * Check chart is enabled or not. | |
| 1177 | - * | |
| 1178 | - * @param string $type Chart ID. | |
| 1179 | - * | |
| 1180 | - * @return bool Default false | |
| 1181 | - */ | |
| 1182 | - public static function checkChartStatus( $type ) { | |
| 1183 | - $types = self::_getChartTypesLocalized( false, false, false, true ); | |
| 1184 | - if ( isset( $types[ $type ] ) ) { | |
| 1185 | - return ! empty( $types[ $type ]['enabled'] ); | |
| 1186 | - } | |
| 1187 | - return false; | |
| 1188 | - } | |
| 1189 | - | |
| 1190 | - /** | |
| 1191 | - * Get the survey metadata. | |
| 1192 | - * | |
| 1193 | - * @return array The survey metadata. | |
| 1194 | - */ | |
| 1195 | - private function get_survey_metadata() { | |
| 1196 | - $install_date = get_option( 'visualizer_install', false ); | |
| 1197 | - $install_category = 0; | |
| 1198 | - | |
| 1199 | - if ( false !== $install_date ) { | |
| 1200 | - $days_since_install = round( ( time() - $install_date ) / DAY_IN_SECONDS ); | |
| 1201 | - | |
| 1202 | - if ( 0 === $days_since_install || 1 === $days_since_install ) { | |
| 1203 | - $install_category = 0; | |
| 1204 | - } elseif ( 1 < $days_since_install && 8 > $days_since_install ) { | |
| 1205 | - $install_category = 7; | |
| 1206 | - } elseif ( 8 <= $days_since_install && 31 > $days_since_install ) { | |
| 1207 | - $install_category = 30; | |
| 1208 | - } elseif ( 30 < $days_since_install && 90 > $days_since_install ) { | |
| 1209 | - $install_category = 90; | |
| 1210 | - } elseif ( 90 <= $days_since_install ) { | |
| 1211 | - $install_category = 91; | |
| 1212 | - } | |
| 1213 | - } | |
| 1214 | - | |
| 1215 | - $plugin_data = get_plugin_data( VISUALIZER_BASEFILE, false, false ); | |
| 1216 | - $plugin_version = ''; | |
| 1217 | - if ( ! empty( $plugin_data['Version'] ) ) { | |
| 1218 | - $plugin_version = $plugin_data['Version']; | |
| 1219 | - } | |
| 1220 | - | |
| 1221 | - $user_id = 'visualizer_' . preg_replace( '/[^\w\d]*/', '', get_site_url() ); // Use a normalized version of the site URL as a user ID. | |
| 1222 | - | |
| 1223 | - $license_data = get_option( 'visualizer_pro_license_data', false ); | |
| 1224 | - if ( false !== $license_data ) { | |
| 1225 | - $user_id = 'visualizer_' . $license_data->key; | |
| 1226 | - } | |
| 1227 | - | |
| 1228 | - return array( | |
| 1229 | - 'userId' => $user_id, | |
| 1230 | - 'attributes' => array( | |
| 1231 | - 'days_since_install' => $install_category, | |
| 1232 | - 'free_version' => $plugin_version, | |
| 1233 | - 'pro_version' => defined( 'VISUALIZER_PRO_VERSION' ) ? VISUALIZER_PRO_VERSION : '', | |
| 1234 | - 'license_status' => apply_filters( 'product_visualizer_license_status', 'invalid' ), | |
| 1235 | - ), | |
| 1236 | - ); | |
| 1237 | - } | |
| 1238 | - | |
| 1239 | - /** | |
| 1240 | - * Load the survey. | |
| 1241 | - */ | |
| 1242 | - private function load_survey() { | |
| 1243 | - | |
| 1244 | - if ( defined( 'TI_CYPRESS_TESTING' ) ) { | |
| 1245 | - return; | |
| 1246 | - } | |
| 1247 | - | |
| 1248 | - $survey_handler = apply_filters( 'themeisle_sdk_dependency_script_handler', 'survey' ); | |
| 1249 | - | |
| 1250 | - if ( empty( $survey_handler ) ) { | |
| 1251 | - return; | |
| 1252 | - } | |
| 1253 | - | |
| 1254 | - $metadata = $this->get_survey_metadata(); | |
| 1255 | - | |
| 1256 | - do_action( 'themeisle_sdk_dependency_enqueue_script', 'survey' ); | |
| 1257 | - wp_enqueue_script( 'visualizer_chart_survey', VISUALIZER_ABSURL . 'js/survey.js', array( $survey_handler ), $metadata['attributes']['free_version'], true ); | |
| 1258 | - wp_localize_script( 'visualizer_chart_survey', 'visualizerSurveyData', $metadata ); | |
| 1259 | 1176 | } |
| 1260 | 1177 | } |