array( 'label_name' => 'dashboard', 'icon_class' => 'dashicons-dashboard', 'section_slug' => 'dashboard_menu_section', ), ); function __construct(){ add_action( 'plugin_action_links_' . plugin_basename( LEVELUP__FILE__ ), array( $this, 'levelup_plugin_action_links') ); add_action( 'admin_menu', array( $this, 'levelup_settings_menu' ), self::MENU_PRIORITY_AMP_THEMES ); add_action( 'admin_notices', array($this,'levelup_notice_new_version_available' )); /* WP Settings API */ add_action('admin_init', array( $this, 'levelup_tabs_settings_init')); add_action( 'admin_notices', array($this, 'levelup_plugin_notice_for_theme') ); } function levelup_plugin_action_links( $links ) { $links[] = '' . esc_html__( 'Settings', LEVELUP_TEXT_DOMAIN ) . ''; return $links; } public function levelup_settings_menu(){ //links moved in "Composite-menu.php" } public function levelup_get_tab( $default = '') { $availableTabs = $this->allTabs; $tab = isset( $_GET['tab'] ) ? sanitize_text_field($_GET['tab']) : $default; if ( ! in_array( $tab, $availableTabs ) ) { $tab = $default; } return $tab; } protected function levelup_admin_link($tab = '', $args = array()){ $page = 'levelup_settings'; if ( ! is_multisite() ) { $link = admin_url( 'admin.php?page=' . $page ); } else { $link = network_admin_url( 'admin.php?page=' . $page ); } if ( $tab ) { $link .= '&tab=' . $tab; } if ( $args ) { foreach ( $args as $arg => $value ) { $link .= '&' . $arg . '=' . urlencode( $value ); } } return esc_url($link); } public function levelup_settings(){ if ( isset( $_GET['settings-updated'] ) ) { if(!levelup_call_api_registerd()){ add_settings_error( 'levelup_library_settings', // whatever you registered in `register_setting 'API_key_error', // doesn't really mater esc_html__('API Key not valid. Please insert valid key', LEVELUP_TEXT_DOMAIN), 'error' // error or notice works to make things pretty ); } //settings_errors(); } ?>
".esc_html__('Design Library is a free service where we will be creating high quality designs and adding them to our cloud library. You can connect to that library with the help of API and get instant access to all of the designs and use them anywhere! We will be updating the design library on consistent basis and you will get a notification when the update is available.',LEVELUP_TEXT_DOMAIN); add_settings_section('dashboard_menu_section', $desciption2, '__return_false', 'dashboard_menu_section'); // Sync status add_settings_field( 'levelup_dashboard_api_key', // ID esc_html__('Enter API key',LEVELUP_TEXT_DOMAIN), // Title array($this, 'levelup_api_key_callback'), // Callback 'dashboard_menu_section', // Page slug 'dashboard_menu_section' // Settings Section ID ); $settings = get_option('levelup_library_settings'); if(isset($settings['api_status']) && $settings['api_status']){ // Sync status add_settings_field( 'levelup_dashboard_sync', // ID '', // Title array($this, 'levelup_sync_callback'), // Callback 'dashboard_menu_section', // Page slug 'dashboard_menu_section' // Settings Section ID ); } } public function levelup_sync_callback(){ global $pagenow; $server_version = get_option( 'levelup-library-version'); $current_version = get_option( 'levelup-library-loaded-version'); ?>
'.esc_html__(' ',LEVELUP_TEXT_DOMAIN ). ''.esc_html__( ' Get your FREE key in 20 seconds', LEVELUP_TEXT_DOMAIN ).'
'; } } public function levelup_notice_new_version_available(){ global $pagenow; $server_version = get_option( 'levelup-library-version',0); $current_version = get_option( 'levelup-library-loaded-version',0); $settings = get_option( 'levelup_library_settings',0); if( ( (($current_version==0 && $server_version==0) || $settings['api_key']=='') || !is_plugin_active( 'elementor/elementor.php' ) || !is_plugin_active( 'accelerated-mobile-pages/accelerated-moblie-pages.php' ) ) && ( ('admin.php' != $pagenow ) && !isset($_GET['page']) || 'levelup' != $_GET['page'] ) ){ echo ''.esc_html__('Congratulations',LEVELUP_TEXT_DOMAIN).'
'.esc_html__('LevelUP',LEVELUP_TEXT_DOMAIN).' '.(' is installed but not yet configured, you need to configure here ').' '.esc_html__('Finish Setup',LEVELUP_TEXT_DOMAIN).'