function ym_loaded() { // last globals global $current_user, $ym_user; get_currentuserinfo(); if (is_user_logged_in()) { // as the user is logged in.... $ym_user = new YourMember_User($current_user->ID); } else { // blank one $ym_user = new YourMember_User(); } global $wpdb, $ym_auth, $ym_dl_db, $ym_dl_post_assoc, $ym_sys, $plugin_file; global $wp_upload, $ym_upload_root, $ym_upload_url; if (ym_get('ym_go') == 'support') { header('Location: ' . YM_SUPPORT_LINK); exit; } // TODO: tidy all these calls up again //Localization add_action('init', 'ym_load_lang'); // admin bar add_action('init', 'ym_admin_nav'); add_action('admin_bar_menu', 'ym_admin_bar', 90); // context help (help in the top right) if (is_admin()) { add_action('ym_pre_admin_loader', 'ym_database_updater', 10, 1); // interrupt? if (ym_request('do_munch')) { ym_admin_loader(); exit; } // main drag add_action('admin_menu', 'ym_admin_page'); //Plugin Panel Hooks add_filter('plugin_action_links', 'ym_action_link', 10, 2); // user edit add_action('user_edit_form_tag', 'ym_form_enctype'); // conf bypasses ym_conf_bypass(); // add_action('load-toplevel_page_ym/admin/ym-index', 'ym_context_help'); add_action('load-toplevel_page_' . YM_ADMIN_FUNCTION, 'ym_context_help'); add_action('load-your-members_page_' . YM_ADMIN_DIR . 'ym-about', 'ym_context_help'); } else { // SSL add_action('init', 'ym_go_ssl'); add_action('posts_selection', 'ym_go_ssl_pages'); if ($ym_sys->enable_metered) { add_action('init', 'ym_check_metered_access'); } add_action('get_footer', 'ym_affiliate_link'); } // call version check ym_check_version(); if ($ym_auth->ym_check_key()) { $wp_upload = wp_upload_dir(); if ($wp_upload['error']) { if (is_admin() && ym_get('page') == YM_ADMIN_FUNCTION && !ym_request('ym_page')) { echo '<div id="message" class="error"><p>' . $wp_upload['error'] . '</p></div>'; } } else { $ym_upload_root = $wp_upload['path']; $ym_upload_url = $wp_upload['url']; } ym_create_log_constants(); //Must be first for any logging that occurs from hereonin ym_suppress_enclosure_check(); add_action('mod_rewrite_rules', 'ym_block_wp_login_action_register'); add_action('admin_init', 'ym_block_wp_login_action_register_flush'); if (!is_admin()) { ym_download_response(); //checks for a download id in the url global $ym_manage_access; $ym_manage_access = new YourMember_Manage_Access(); if ($ym_sys->protect_mode) { add_action('template_redirect', array($ym_manage_access, 'exit_check')); } add_shortcode('private', 'ym_shortcode_parse'); add_shortcode('no_access', 'ym_shortcode_parse'); add_shortcode('user_has_access', 'ym_shortcode_parse'); add_shortcode('ym_user_profile', 'ym_edit_custom_field_standalone'); add_shortcode('ym_rss_token', 'ym_get_rss_token'); add_shortcode('ym_upgrade', 'ym_shortcode_parse'); add_shortcode('ym_packs', 'ym_shortcode_parse'); add_shortcode('private_or', 'ym_shortcode_parse'); add_shortcode('private_and', 'ym_shortcode_parse'); add_shortcode('ym_membership_content', 'ym_membership_content_shortcode'); // TODO: Deprecate 11.0.6 add_shortcode('user_account_is', 'ym_shortcode_parse'); add_shortcode('private_username_is', 'ym_shortcode_parse'); // Replace with add_shortcode('ym_user_is', 'ym_user_is'); add_shortcode('ym_user_is_not', 'ym_user_is_not'); add_shortcode('ym_user_custom_is', 'ym_user_custom_is'); add_shortcode('ym_user_custom_is_not', 'ym_user_custom_is_not'); add_shortcode('ym_profile', 'ym_get_user_profile'); add_shortcode('ym_purchase_history', 'ym_get_user_purchase_history_shortcode'); add_shortcode('ym_gateway_cancel', 'ym_get_user_unsub_button_gateway'); add_shortcode('ym_gravatar', 'ym_gravatar_render'); // start content // buy now add_shortcode('ym_buy_content', 'ym_buy_button_content'); add_filter('the_content', 'ym_buy_button_content_filter', 1, 1); add_shortcode('ym_buy_bundle', 'ym_buy_button_bundle'); add_filter('the_content', 'ym_buy_button_bundle_filter', 1, 1); // end buy now // indexy add_shortcode('ym_all_content', 'ym_get_all_content_buttons'); add_shortcode('ym_all_bundles', 'ym_get_all_bundle_buttons'); add_shortcode('ym_featured_content', 'ym_get_featured_content_buttons'); // end indexy add_shortcode('ym_content_units_left', 'ym_content_units_left'); add_shortcode('ym_bundle_units_left', 'ym_bundle_units_left'); //pass ID add_shortcode('ym_content_units_sold', 'ym_content_units_sold'); add_shortcode('ym_bundle_units_sold', 'ym_bundle_units_sold'); //pass ID add_shortcode('ym_content_units_limit', 'ym_content_units_limit'); add_shortcode('ym_bundle_units_limit', 'ym_bundle_units_limit'); //pass ID add_shortcode('ym_content_expiry_date', 'ym_post_purchased_expiry'); // so that an expiry date can be shown once a post has been purchased add_shortcode('ym_content_purchase_date', 'ym_post_last_purchased_date'); //so that a purchase date can be shown once a post has been purchased add_shortcode('ym_bundle_expiry_date', 'ym_bundle_purchased_expiry'); add_shortcode('ym_bundle_purchase_date', 'ym_bundle_last_purchased_date'); // end content add_shortcode('ym_register', 'ym_shortcode_parse'); add_shortcode('ym_login', 'ym_shortcode_parse'); add_shortcode('ym_drip_date', 'ym_shortcode_parse'); add_shortcode('ym_user_password_form', 'ym_user_password_form'); add_shortcode('ym_user_profile_form', 'ym_user_profile_form'); add_shortcode('ym_user_unsubscribe', 'ym_user_unsubscribe'); add_shortcode('ym_promote', 'ym_shortcode_aff_link'); $hook = $ym_sys->download_hook ? $ym_sys->download_hook : 'download'; add_shortcode($hook, 'ym_dl_ins'); //Profile Data add_shortcode('ym_user_register_date', 'ym_shortcode_user'); add_shortcode('ym_user_email', 'ym_shortcode_user'); add_shortcode('ym_user_first_name', 'ym_shortcode_user'); add_shortcode('ym_user_last_name', 'ym_shortcode_user'); add_shortcode('ym_user_username', 'ym_shortcode_user'); add_shortcode('ym_user_description', 'ym_shortcode_user'); add_shortcode('ym_user_custom', 'ym_shortcode_user'); } //CSS add_action('wp_enqueue_scripts', 'ym_styles'); add_action('login_enqueue_scripts', 'ym_login_styles'); // if ($ym_auth->ym_check_key()) { add_action('init', array('ym_cron', 'init'), 20); // run manual cron if needed, check schedules if not add_filter('wp_authenticate_user', 'ym_authenticate'); if ($ym_sys->modified_registration) { add_action('user_register', 'ym_register', 10, 1); add_action('register_form', 'ym_register_form', 10, 6); add_action('register_post', 'ym_register_post', 10, 3); } else { add_action('user_register', 'ym_register_default', 10, 1); } /** WP Admin block/login redirect Logout redirect */ add_action('login_head', 'ym_login_redirect'); add_action('wp_login', 'ym_wp_login', 1, 2); add_action('admin_head', 'ym_stop_wp_admin', 1); add_action('wp_logout', 'ym_wp_logout', 1); /** Loginism */ add_action('login_head', 'ym_login_js'); // fire on non login page add_action('wp_head', 'ym_login_js'); /** Login Register */ // custom messages for login form add_filter('login_message', 'ym_login_message'); // remove password string? // add_action('login_head', 'ym_login_remove_password_string'); /** Login themeing */ // login page overrides if ($ym_sys->wp_login_header_url) { add_filter('login_headerurl', 'ym_login_headerurl'); add_filter('login_headertitle', 'ym_login_headertitle'); } if ($ym_sys->wp_login_header_logo) { add_action('login_head', 'ym_login_header_logo'); } add_action('init', 'ym_subscribe_response'); add_action('init', 'ym_upgrade_response'); add_action('init', 'ym_register_catch_gateway'); add_action('admin_enqueue_scripts', 'ym_admin_script_init'); add_action('wp_head', 'ym_js_varibles'); add_action('init', 'ym_process_response'); add_action('parse_query', 'ym_thank_you_response'); add_action('init', 'ym_init'); /** custom fields **/ if (is_admin()) { // hook for catching core fields and updating out own (wp-admin) add_action('profile_update', 'ym_update_custom_fields'); } add_action('show_user_profile', 'ym_edit_custom_fields'); add_action('edit_user_profile', 'ym_edit_custom_fields'); // add_filter('print_scripts_array', 'ym_fix_tinymce_conflict'); add_filter('rewrite_rules_array', 'ym_rewrite_rule'); /** widgets */ add_action('init', 'ym_widget_init'); add_action('init', 'ym_sidebar_init'); add_action('init', 'ym_register_sidebar_init'); add_filter('widget_text', 'do_shortcode'); /** Email */ // Replaces the From Name and Address with custom info if ($ym_sys->filter_all_emails) { add_filter('wp_mail_from', 'ym_mail_from'); add_filter('wp_mail_from_name', 'ym_mail_from_name'); } /** RSS Repair */ add_action('atom_head', 'ym_rss_stop_payments'); add_action('rdf_head', 'ym_rss_stop_payments'); add_action('rss_head', 'ym_rss_stop_payments'); add_action('rss2_head', 'ym_rss_stop_payments'); if (is_admin()) { // new data export/import if (ym_post('ym_exporting_users')) { ym_export_users(ym_post('offset', 0), ym_post('limit', 300), ym_post('bkpackagetype', 'all'), ym_post('bkpackage', 'all'), ym_post('bkinactive', 0)); exit; } ym_import_users_from_csv(); //check for CSV import request in post // add_action('after_plugin_row','ym_info_note', 10, 3); // only add TinyMCE buttons to Post/Page/Custom Post Type new Content/Edit Content WP Editor Field // if user has access to admin // and if the request_uri matches a known post editor location if (ym_admin_user_has_access(true) && strpos($_SERVER['REQUEST_URI'], 'wp-admin/post')) { add_action('add_meta_boxes', 'ym_meta_box_setup'); add_action('save_post', 'ym_account_save'); add_action('init', 'ym_tinymce_addbuttons'); } // tos check // ym_tos_check(); // hooks that can result in a dialog/iframe add_action('admin_notices', 'ym_get_advert'); $ym_upgrade_action = ym_check_upgrade(); // lightbox and message hook if (ym_get(YM_ADMIN_FUNCTION . '_activated')) { add_action('admin_notices', 'ym_do_welcome_box'); add_action('admin_notices', 'ym_activated_thanks_box'); } else { if ($ym_upgrade_action) { add_action('admin_notices', 'ym_do_welcome_box'); add_action('admin_notices', 'ym_upgrade_nag_box'); } } } } do_action('ym_loaded_complete'); }
/** admin bar */ function ym_admin_bar() { global $wp_admin_bar, $ym_sys; if (ym_admin_user_has_access(TRUE)) { $wp_admin_bar->add_menu(array('id' => YM_ADMIN_FUNCTION . '_adb', 'title' => YM_ADMIN_NAME, 'href' => YM_ADMIN_URL)); global $ym_nav; $count = 0; foreach ($ym_nav as $page => $subpages) { $id = 'ym_adb_' . strtolower($count); $wp_admin_bar->add_menu(array('parent' => YM_ADMIN_FUNCTION . '_adb', 'id' => $id, 'title' => $page, 'href' => YM_ADMIN_URL . '&ym_tab=' . $count)); $count++; } } // about $wp_admin_bar->add_menu(array('parent' => YM_ADMIN_FUNCTION . '_adb', 'id' => YM_ADMIN_FUNCTION . '_adb_about', 'title' => __('About', 'ym'), 'href' => site_url('/wp-admin/admin.php?page=' . YM_ADMIN_FUNCTION . '_about'))); // non admin user $wp_admin_bar->add_menu(array('parent' => 'my-account', 'id' => 'ym-profile', 'title' => __('Membership Details', 'ym'), 'href' => site_url('/wp-admin/users.php?page=ym-profile'))); if (!$ym_sys->hide_membership_content) { $wp_admin_bar->add_menu(array('parent' => 'my-account', 'id' => 'ym-membership_content', 'title' => __('Membership Content', 'ym'), 'href' => site_url('/wp-admin/users.php?page=ym-profile_content'))); } return; }