%s', __( 'Buy it now!', APPAD_TD ) ); echo '

' . $message . '

'; } /** * Checks if plugin is network activated. * * @return bool */ function appad_manager_is_network_activated() { if ( ! is_multisite() ) { return false; } $plugins = get_site_option( 'active_sitewide_plugins' ); return isset( $plugins[ plugin_basename( __FILE__ ) ] ); } /** * Load backend scripts. * * @return void */ function appad_load_admin_scripts() { wp_enqueue_script( 'jquery-ui-tabs' ); } add_action( 'admin_enqueue_scripts', 'appad_load_admin_scripts' ); /** * Load frontend styles. * * @return void */ function appad_load_styles() { wp_register_style( 'appad_style', plugins_url( 'style.css', __FILE__ ) ); wp_enqueue_style( 'appad_style' ); } add_action( 'wp_print_styles', 'appad_load_styles' ); /** * Load backend styles. * * @return void */ function appad_load_admin_styles() { wp_register_style( 'appad_admin_style', plugins_url( 'admin-style.css', __FILE__ ) ); wp_enqueue_style( 'appad_admin_style' ); } add_action( 'admin_enqueue_scripts', 'appad_load_admin_styles' ); /** * Load hooks for used theme. * * @return void */ function langbf_load_hooks() { global $app_theme; if ( ! empty( $app_theme ) ) { switch( $app_theme ) { case 'Clipper': require_once( dirname( __FILE__ ) . '/clipper/clipper-hooks.php' ); break; case 'ClassiPress': require_once( dirname( __FILE__ ) . '/classipress/classipress-hooks.php' ); break; case 'JobRoller': require_once( dirname( __FILE__ ) . '/jobroller/jobroller-hooks.php' ); break; case 'Vantage': require_once( dirname( __FILE__ ) . '/vantage/vantage-hooks.php' ); break; default: // do nothing, no supported theme break; } } } add_action( 'appthemes_init', 'langbf_load_hooks' ); /** * Populate administration menu of the plugin. * * @return void */ function appad_add_menu_links() { if ( ! current_user_can( 'manage_options' ) ) { return; } add_menu_page( __( 'AppAd Manager', APPAD_TD ), __( 'AppAd Manager', APPAD_TD ), 'manage_options', basename( __FILE__ ), 'appad_dashboard', APPAD_FAVICON, APPAD_POSITION ); add_submenu_page( basename( __FILE__ ), __( 'Dashboard', APPAD_TD ), __( 'Dashboard', APPAD_TD ), 'manage_options', basename( __FILE__ ), 'appad_dashboard' ); add_submenu_page( basename( __FILE__ ), __( 'Clipper', APPAD_TD ), __( 'Clipper', APPAD_TD ), 'manage_options', 'appad-clipper', 'appad_clipper' ); add_submenu_page( basename( __FILE__ ), __( 'ClassiPress', APPAD_TD ), __( 'ClassiPress', APPAD_TD ), 'manage_options', 'appad-classipress', 'appad_classipress' ); add_submenu_page( basename( __FILE__ ), __( 'JobRoller', APPAD_TD ), __( 'JobRoller', APPAD_TD ), 'manage_options', 'appad-jobroller', 'appad_jobroller' ); add_submenu_page( basename( __FILE__ ), __( 'Vantage', APPAD_TD ), __( 'Vantage', APPAD_TD ), 'manage_options', 'appad-vantage', 'appad_vantage' ); } add_action( 'admin_menu', 'appad_add_menu_links' ); /** * Create Welcome page in admin. * * @return void */ function appad_dashboard() { global $app_theme; include_once( dirname( __FILE__ ) . '/appad-welcome.php' ); } /** * Create Clipper page in admin. * * @return void */ function appad_clipper() { global $app_theme; include_once( dirname( __FILE__ ) . '/clipper/clipper-admin.php' ); } /** * Create ClassiPress page in admin. * * @return void */ function appad_classipress() { global $app_theme; include_once( dirname( __FILE__ ) . '/classipress/classipress-admin.php' ); } /** * Create JobRoller page in admin. * * @return void */ function appad_jobroller() { global $app_theme; include_once( dirname( __FILE__ ) . '/jobroller/jobroller-admin.php' ); } /** * Create Vantage page in admin. * * @return void */ function appad_vantage() { global $app_theme; include_once( dirname( __FILE__ ) . '/vantage/vantage-admin.php' ); } /** * Helper function, check if string start with given search. * * @param string $string * @param string $search * * @return bool */ function appad_str_starts_with( $string, $search ) { return ( strncmp( $string, $search, strlen( $search ) ) == 0 ); } /** * Helper function, clean string. * * @param string $string * * @return string */ function appad_clean( $string ) { $string = stripslashes( $string ); $string = trim( $string ); return $string; } /** * AppThemes Addons MP markup. * * @param string $output * @param object $addon * * @return string */ function appad_manager_addons_mp_markup( $output, $addon ) { if ( ! is_object( $addon ) || empty( $addon->link ) ) { return $output; } $link_args = array( 'aid' => '179', 'utm_source' => 'addons', 'utm_medium' => 'wp-admin', 'utm_campaign' => 'AppAd%20Manager', ); $new_url = remove_query_arg( array_keys( $link_args ), $addon->link ); $new_url = add_query_arg( $link_args, $new_url ); $output = str_replace( $addon->link, $new_url, $output ); $output = str_replace( esc_url( $addon->link ), esc_url( $new_url ), $output ); return $output; } /** * Action on plugin activate. * * @return void */ function appad_activate() { appad_install_options(); } register_activation_hook( plugin_basename( __FILE__ ), 'appad_activate' ); /** * Install default options. * * @return void */ function appad_install_options() { global $app_theme; $previous_version = get_option( 'appad_db_version' ); // fresh install if ( ! $previous_version ) { update_option( 'appad_clpr_active', 'no' ); update_option( 'appad_cp_active', 'no' ); update_option( 'appad_jr_active', 'no' ); update_option( 'appad_va_active', 'no' ); if ( ! empty( $app_theme ) ) { switch( $app_theme ) { case 'Clipper': update_option( 'appad_clpr_active', 'yes' ); break; case 'ClassiPress': update_option( 'appad_cp_active', 'yes' ); break; case 'JobRoller': update_option( 'appad_jr_active', 'yes' ); break; case 'Vantage': update_option( 'appad_va_active', 'yes' ); break; default: // do nothing, no supported theme break; } } } // update db version update_option( 'appad_db_version', APPAD_VERSION ); }