/** * Returns the default admin menu items for Membership2. * Helper function used by add_menu_pages * * @since 1.0.0 * @return array */ private function get_default_menu_pages() { $show_billing = false; $pages = array('memberships' => array('title' => __('Memberships', 'membership2'), 'slug' => ''), 'protected-content' => array('title' => __('Protection Rules', 'membership2'), 'slug' => 'protection'), 'members' => array('title' => __('All Members', 'membership2'), 'slug' => 'members'), 'add-member' => array('title' => __('Add Member', 'membership2'), 'slug' => 'add-member'), 'billing' => false, 'addon' => array('title' => __('Add-ons', 'membership2'), 'slug' => 'addon'), 'settings' => array('title' => __('Settings', 'membership2'), 'slug' => 'settings'), 'help' => array('title' => __('Help', 'membership2'), 'slug' => 'help')); $show_billing = MS_Model_Membership::have_paid_membership(); if ($show_billing) { $bill_count = MS_Model_Invoice::get_unpaid_invoice_count(null, true); if ($bill_count > 0) { $msg = '%1$s <span class="awaiting-mod count-%3$s"><span class="pending-count"><i class="hidden">(</i>%2$s<i class="hidden">)</i></span></span>'; } else { $msg = '%1$s'; } $pages['billing'] = array('title' => sprintf($msg, __('Billing', 'membership2'), $bill_count, sanitize_html_class($bill_count, '0')), 'slug' => 'billing'); /* * This condition checks if the site has configured some payment * gateways - if not then users cannot sign up for a membership. * Show a notice if no payment gateway is configured/activated. */ $gateways = MS_Model_Gateway::get_gateways(true); $payment_possible = false; foreach ($gateways as $key => $gateway) { if ('free' == $key) { continue; } $payment_possible = true; break; } if (!$payment_possible) { lib3()->ui->admin_message(sprintf(__('Oops, looks like you did not activate a payment gateway yet.<br />You need to set up and activate at least one gateway, otherwise your members cannot sign up to a paid membership.<br />%sFix this now »%s', 'membership2'), '<a href="' . self::get_admin_url('settings', array('tab' => MS_Controller_Settings::TAB_PAYMENT)) . '">', '</a>'), 'err'); } } return $pages; }