'active','string' => esc_html__('Deactivate','bigbulletin') ); }else{ $path = WP_PLUGIN_DIR.'/'.esc_attr( $plugin_folder ).'/'.esc_attr( $plugin_file ); if( file_exists( $path ) ) { return array('status' => 'deactivate','string' => esc_html__('Activate','bigbulletin') ); }else{ return array('status' => 'not-install','string' => esc_html__('Install & Active','bigbulletin') ); } } return; } public static function bigbulletin_recommended_plugins(){ return $plugin_lists = array( 'booster-extension' => array( 'PluginFile' => 'booster-extension.php', 'class' => 'Booster_Extension_Class', 'setting_page' => esc_url( get_home_url(null, '/').'wp-admin/themes.php?page=booster-extension' ), ), 'demo-import-kit' => array( 'PluginFile' => 'demo-import-kit.php', 'class' => 'Demo_Import_Kit_Class', 'setting_page' => esc_url( get_home_url(null, '/').'wp-admin/themes.php?page=demo-import-kit' ), ), 'themeinwp-import-companion' => array( 'PluginFile' => 'themeinwp-import-companion.php', 'class' => 'Themeinwp_Import_Companion_Class', 'setting_page' => esc_url( get_home_url(null, '/').'wp-admin/themes.php?page=demo-import-kit' ), ), ); } // Install Active Deactive public function bigbulletin_install_plugins(){ $nonce = isset( $_POST["_wpnonce"] ) ? sanitize_text_field( wp_unslash( $_POST["_wpnonce"] ) ) : ''; if ( ! current_user_can('install_plugins') ) { wp_die( esc_html__( 'Sorry, you are not allowed to install plugins on this site.', 'bigbulletin' ) ); } // Check our nonce, if they don't match then bounce! if (! wp_verify_nonce( $nonce, 'bigbulletin_ajax_nonce' )) { wp_die( esc_html__( 'Error - unable to verify nonce, please try again.', 'bigbulletin') ); } $plugin_lists = array(); if( isset( $_POST['single'] ) ){ if( isset( $_POST['PluginStatus'] ) && isset( $_POST['PluginSlug'] ) && isset( $_POST['PluginFile'] ) && isset( $_POST['PluginFolder'] ) && isset( $_POST['PluginName'] ) && isset( $_POST['pluginClass'] ) ){ $plugin_lists = array( $_POST['PluginSlug'] => array( 'PluginFile' => sanitize_text_field( wp_unslash( $_POST['PluginFile'] ) ), 'class' => sanitize_text_field( wp_unslash( $_POST['pluginClass'] ) ), ) ); } }else{ $plugin_lists = $this->bigbulletin_recommended_plugins(); } foreach( $plugin_lists as $key => $plugin ){ if( isset( $_POST['single'] ) ){ $PluginStatus = sanitize_text_field( wp_unslash( $_POST['PluginStatus'] ) ); }else{ $pluginstatus = $this->bigbulletin_plugin_status( $plugin['class'],$key,$plugin['PluginFile'] ); $PluginStatus = $pluginstatus['status']; } $plugin_file = $plugin['PluginFile']; $plugin_dir = ABSPATH . 'wp-content/plugins/'.esc_html( $key ).'/'.esc_html( $plugin_file ); if( isset( $_POST['single'] ) && $PluginStatus == 'active' ) { deactivate_plugins( $plugin_dir ); esc_html_e('Deactivated' , 'bigbulletin'); die(); }elseif( $PluginStatus == 'deactivate' && file_exists($plugin_dir) ) { activate_plugin($plugin_dir); if( isset( $_POST['single'] ) ) { esc_html_e('Activated' , 'bigbulletin'); die(); } }elseif( $PluginStatus == 'not-install' ){ include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; $plugin_info = plugins_api( 'plugin_information', array( 'slug' => sanitize_key( wp_unslash( $key ) ), 'fields' => array( 'sections' => false, ), ) ); $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $upgrader->install($plugin_info->download_link); $plugin_file = esc_html($key).'/'.esc_html($plugin_file); if( file_exists($plugin_dir) ) { activate_plugin($plugin_dir); if( isset( $_POST['single'] ) ) { esc_html_e('Installed & Activated' , 'bigbulletin'); die(); } } if( isset( $_POST['single'] ) ) { esc_html_e('Failed' , 'bigbulletin'); die(); } }else{ if( isset( $_POST['single'] ) ) { esc_html_e('Failed' , 'bigbulletin'); die(); } } } if( !isset( $_POST['single'] ) ) { echo esc_url( get_home_url(null, '/').'wp-admin/themes.php?page=bigbulletin-about' ); } die(); } } new BigBulletin_Getting_started(); endif;