plugin_path = end( $plugin_path ); // Set plugin file $this->plugin_file = $plugin_file; // Set plugin name $plugin_file_path = $this->plugin_path . '/' . $this->plugin_file; if ( isset( $plugins[ $plugin_file_path ]['Name'] ) ) { $this->plugin_name = str_replace( 'Charitable - ', '', $plugins[ $plugin_file_path ]['Name'] ); } else { $this->plugin_name = __( 'This plugin', 'audit-charitable-donations' ); } // Is Charitable installed? foreach ( $plugins as $plugin_path => $plugin ) { if ( 'Charitable' == $plugin['Name'] ) { $this->has_charitable = true; $this->charitable_base = $plugin_path; break; } } } /** * Process plugin deactivation * * @since 1.0.0 * * @return void */ public function run() { add_action( 'admin_notices', array( $this, 'missing_charitable_notice' ) ); } /** * Display notice if Charitable isn't installed * * @since 1.0.0 * * @return void */ public function missing_charitable_notice() { if ( $this->has_charitable ) { $url = esc_url( wp_nonce_url( admin_url( 'plugins.php?action=activate&plugin=' . $this->charitable_base ), 'activate-plugin_' . $this->charitable_base ) ); $link = '' . __( 'activate it', 'audit-charitable-donations' ) . ''; } else { $url = esc_url( wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=charitable' ), 'install-plugin_charitable' ) ); $link = '' . __( 'install it', 'audit-charitable-donations' ) . ''; } echo '

' . sprintf( _x( '%s requires Charitable! Please %s to continue!', 'Plugin requires Charitable! Please install/activate it to continue!', 'audit-charitable-donations' ), $this->plugin_name, $link ) . '

'; } }