PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/familymovies.us/wp-content/plugins/paid-memberships-pro/includes/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/familymovies.us/wp-content/plugins/paid-memberships-pro/includes/menus.php |
<?php /** * Get all Paid Memberships Pro pages. * * @since 2.3 * @return array */ function pmpro_get_pmpro_pages() { $pmpro_pages = array( 'account' => intval( get_option( 'pmpro_account_page_id' ) ), 'billing' => intval( get_option( 'pmpro_billing_page_id' ) ), 'cancel' => intval( get_option( 'pmpro_cancel_page_id' ) ), 'checkout' => intval( get_option( 'pmpro_checkout_page_id' ) ), 'confirmation' => intval( get_option( 'pmpro_confirmation_page_id' ) ), 'invoice' => intval( get_option( 'pmpro_invoice_page_id' ) ), 'levels' => intval( get_option( 'pmpro_levels_page_id' ) ), 'member_profile_edit' => intval( get_option( 'pmpro_member_profile_edit_page_id' ) ), ); $pmpro_page_names = array(); foreach ( $pmpro_pages as $pmpro_page_id => $pmpro_page ) { $pmpro_page_names[$pmpro_page_id] = get_the_title( $pmpro_page_id ); } return apply_filters( 'pmpro_get_pmpro_pages', $pmpro_pages, $pmpro_page_names ); } /** * Add Paid Memberships Pro nav menu meta box. * * @since 2.3 */ function pmpro_nav_menu_meta_box() { add_meta_box( 'add-pmpro-pages', __( 'Paid Memberships Pro', 'paid-memberships-pro' ),'pmpro_pages_metabox_nav_links', 'nav-menus', 'side', 'low' ); } add_action( 'admin_head-nav-menus.php', 'pmpro_nav_menu_meta_box' ); /** * Add links to Paid Memberships Pro nav menu meta box. * * @since 2.3 */ function pmpro_pages_metabox_nav_links() { global $nav_menu_selected_id; // Get all the page settings. $pmpro_page_ids = pmpro_get_pmpro_pages(); // Allow custom plugins to filter the page IDs. $pmpro_page_ids = apply_filters( 'pmpro_custom_nav_menu_items', $pmpro_page_ids ); // Get the page data for these IDs. $pmpro_pages = get_pages( array( 'include' => $pmpro_page_ids ) ); ?> <div id="pmpro-page-items" class="posttypediv"> <div class="tabs-panel tabs-panel-active"> <ul class="categorychecklist form-no-clear"> <?php echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $pmpro_pages ), 0, (object) array( 'walker' => new Walker_Nav_Menu_Checklist(), ) ); ?> <?php // Include the custom Log In and Log Out menu items. ?> <li> <label class="menu-item-title"> <input type="checkbox" class="menu-item-checkbox" name="menu-item[-1][menu-item-object-id]" value="-1"> <?php esc_html_e( 'Log In', 'paid-memberships-pro'); ?> </label> <input type="hidden" class="menu-item-type" name="menu-item[-1][menu-item-type]" value="custom"> <input type="hidden" class="menu-item-type-name" name="menu-item[-1][menu-item-type]" value="custom"> <input type="hidden" class="menu-item-title" name="menu-item[-1][menu-item-title]" value="<?php esc_attr_e( 'Log In', 'paid-memberships-pro'); ?>"> <input type="hidden" class="menu-item-url" name="menu-item[-1][menu-item-url]" value="#"> <input type="hidden" class="menu-item-classes" name="menu-item[-1][menu-item-classes]" value="menu-item-type-pmpro-login"> </li> <li> <label class="menu-item-title"> <input type="checkbox" class="menu-item-checkbox" name="menu-item[-2][menu-item-object-id]" value="-2"> <?php esc_html_e( 'Log Out', 'paid-memberships-pro'); ?> </label> <input type="hidden" class="menu-item-type" name="menu-item[-2][menu-item-type]" value="custom"> <input type="hidden" class="menu-item-title" name="menu-item[-2][menu-item-title]" value="<?php esc_attr_e( 'Log Out', 'paid-memberships-pro'); ?>"> <input type="hidden" class="menu-item-url" name="menu-item[-2][menu-item-url]" value="#"> <input type="hidden" class="menu-item-classes" name="menu-item[-2][menu-item-classes]" value="menu-item-type-pmpro-logout"> </li> </ul> </div> <p class="button-controls wp-clearfix"> <span class="add-to-menu"> <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-pmpro-page-items" id="submit-pmpro-page-items" /> <span class="spinner"></span> </span> </p> </div> <?php } /** * Register Paid Memberships Pro nav menu item types in Customizer. * * @since 2.3 * @param array $item_types Menu item types. * @return array */ function pmpro_customize_nav_menu_available_item_types( $item_types ) { $item_types[] = array( 'title' => __( 'Paid Memberships Pro', 'paid-memberships-pro' ), 'type_label' => __( 'Paid Memberships Pro Page', 'paid-memberships-pro' ), 'type' => 'pmpro_nav', 'object' => 'pmpro_pages', ); return $item_types; } add_filter( 'customize_nav_menu_available_item_types', 'pmpro_customize_nav_menu_available_item_types' ); /** * Register Paid Memberships Pro pages to customize nav menu items. * * @since 2.3 * @param array $items List of nav menu items. * @param string $type Nav menu type. * @param string $object Nav menu object. * @param integer $page Page number. * @return array */ function pmpro_customize_nav_menu_available_items( $items, $type, $object, $page ) { // Only add items to our new item type ('pmpro_pages' object). if ( $object !== 'pmpro_pages' ) { return $items; } // Don't allow pagination since all items are loaded at once. if ( 0 < $page ) { return $items; } // Get all the page settings. $pmpro_page_ids = pmpro_get_pmpro_pages(); // Allow custom plugins to filter the page IDs. $pmpro_page_ids = apply_filters( 'pmpro_custom_nav_menu_items', $pmpro_page_ids ); // Get the page data for these IDs. $pmpro_pages = get_pages( array( 'include' => $pmpro_page_ids ) ); // Include conditional log in / log out menu item. //$pmpro_pages['login-out'] = __( 'Log in/Log Out Conditional', 'paid-memberships-pro' ); foreach ( $pmpro_pages as $pmpro_page ) { $items[] = array( 'id' => 'post-' . $pmpro_page->ID, 'title' => html_entity_decode( $pmpro_page->post_title, ENT_QUOTES, get_bloginfo( 'charset' ) ), 'type_label' => get_post_type_object( $pmpro_page->post_type )->labels->singular_name, 'object' => $pmpro_page->post_type, 'object_id' => intval( $pmpro_page->ID ), 'url' => get_permalink( intval( $pmpro_page->ID ) ), ); } // Include the custom Log In and Log Out menu items. $items[] = array( 'id' => 'pmpro-login', 'title' => __( 'Log In', 'paid-memberships-pro'), 'type' => 'pmpro-login', 'type_label' => __( 'Page', 'paid-memberships-pro'), 'object' => 'page', 'url' => '#', ); $items[] = array( 'id' => 'pmpro-logout', 'title' => __( 'Log Out', 'paid-memberships-pro'), 'type' => 'pmpro-logout', 'type_label' => __( 'Page', 'paid-memberships-pro'), 'object' => 'page', 'url' => '#', ); return $items; } add_filter( 'customize_nav_menu_available_items', 'pmpro_customize_nav_menu_available_items', 10, 4 ); /** * Filter nav menus with our custom Log In or Log Out links. * Remove the appropriate link based on logged in status. * * @since 2.3 */ function pmpro_swap_log_in_log_out_menu_link( $sorted_menu_items, $args ) { foreach ( $sorted_menu_items as $key => $item ) { // Hide or Show the Log In link and filter the URL. if ( in_array( 'menu-item-type-pmpro-login', $item->classes ) ) { if ( is_user_logged_in() ) { unset( $sorted_menu_items[$key] ); } else { $sorted_menu_items[$key]->url = pmpro_login_url(); //$remove_key = array_search( 'menu-item-pmpro-login', $item->classes ); $remove_key2 = array_search( 'menu-item-object-', $item->classes ); //unset($sorted_menu_items[$key]->classes[$remove_key]); unset($sorted_menu_items[$key]->classes[$remove_key2]); } } // Hide or Show the Log Our link and filter the URL. if ( in_array( 'menu-item-type-pmpro-logout', $item->classes ) ) { if ( ! is_user_logged_in() ) { unset( $sorted_menu_items[$key] ); } else { $sorted_menu_items[$key]->url = wp_logout_url(); //$remove_key = array_search( 'menu-item-pmpro-logout', $item->classes ); $remove_key2 = array_search( 'menu-item-object-', $item->classes ); //unset($sorted_menu_items[$key]->classes[$remove_key]); unset($sorted_menu_items[$key]->classes[$remove_key2]); } } } return $sorted_menu_items; } add_filter( 'wp_nav_menu_objects', 'pmpro_swap_log_in_log_out_menu_link', 10, 2 ); /** * Custom menu functions for Paid Memberships Pro * * @since 2.3 */ function pmpro_register_menus() { // Register PMPro menu areas. register_nav_menus( array( 'pmpro-login-widget' => __( 'Log In Widget - PMPro', 'paid-memberships-pro' ), ) ); } add_action( 'after_setup_theme', 'pmpro_register_menus' ); /** * Hide the WordPress Toolbar from Subscribers. * * @since 2.3 */ function pmpro_hide_toolbar() { global $current_user; $hide_toolbar = get_option( 'pmpro_hide_toolbar' ); if ( ! empty( $hide_toolbar ) && is_user_logged_in() && in_array( 'subscriber', (array) $current_user->roles ) ) { $hide = true; } else { $hide = false; } $hide = apply_filters( 'pmpro_hide_toolbar', $hide ); if ( $hide ) { add_filter( 'show_admin_bar', '__return_false' ); } } add_action( 'init', 'pmpro_hide_toolbar', 9 );