/** * Account Menu Setup * * This function handles the common items needed for all "My Account" page menus * * @access private * @return array */ function _account_menu_setup() { // Private Messaging $vars['private_messaging_menu'] = array(); if ($this->self_edit) { if (!class_exists('EE_Messages')) { require APPPATH . 'libraries/Messages.php'; } $MESS = new EE_Messages(); $vars['private_messaging_menu'] = $MESS->menu_array(); } $vars['can_admin_members'] = $this->cp->allowed_group('can_admin_members'); $vars['allow_localization'] = ($this->config->item('allow_member_localization') == 'y' or $this->session->userdata('group_id') == 1) ? TRUE : FALSE; $vars['login_as_member'] = FALSE; $vars['can_delete_members'] = FALSE; // member administration options if ($this->cp->allowed_group('can_admin_members')) { $vars['member_email'] = $this->id != $this->session->userdata('member_id') ? TRUE : FALSE; $vars['resend_activation_email'] = FALSE; if ($this->id != $this->session->userdata('member_id') && $this->config->item('req_mbr_activation') == 'email' && $this->cp->allowed_group('can_admin_members')) { $query = $this->member_model->get_member_data($this->id, array('group_id')); if ($query->row('group_id') == '4') { $this->lang->loadfile('members'); $vars['resend_activation_email'] = TRUE; } } $vars['login_as_member'] = $this->session->userdata('group_id') == 1 && $this->id != $this->session->userdata('member_id') ? TRUE : FALSE; $vars['can_delete_members'] = ($this->cp->allowed_group('can_delete_members') and $this->id != $this->session->userdata('member_id')) ? TRUE : FALSE; } // default additional_nav lists are empty $vars['additional_nav'] = array('personal_settings' => array(), 'utilities' => array(), 'private_messages' => array(), 'customize_cp' => array(), 'channel_preferences' => array(), 'administrative_options' => array()); // ------------------------------------------- // 'myaccount_nav_setup' hook. // - Add items to the My Account nav // - return must be an associative array using a pre-defined key // if ($this->extensions->active_hook('myaccount_nav_setup') === TRUE) { $vars['additional_nav'] = array_merge_recursive($vars['additional_nav'], $this->extensions->call('myaccount_nav_setup')); } // // ------------------------------------------- // make sure we have usable URLs in additional_nav $this->load->model('addons_model'); foreach ($vars['additional_nav'] as $additional_nav_key => $additional_nav_links) { if (count($additional_nav_links)) { foreach ($additional_nav_links as $additional_nav_link_text => $additional_nav_link_link) { if (is_array($additional_nav_link_link)) { // create the link if ($this->addons_model->extension_installed($additional_nav_link_link['extension'])) { $vars['additional_nav'][$additional_nav_key][$additional_nav_link_text] = BASE . AMP . 'C=myaccount' . AMP . 'M=custom_screen' . AMP . 'extension=' . $additional_nav_link_link['extension'] . AMP . 'method=' . $additional_nav_link_link['method']; } else { unset($vars['additional_nav'][$additional_nav_key][$additional_nav_link_text]); } } } } } return $vars; }
/** * Account Menu Setup * * This function handles the common items needed for all "My Account" page menus * * @access private * @return array */ function _account_menu_setup() { // Private Messaging $vars['private_messaging_menu'] = array(); if ($this->id == $this->session->userdata['member_id']) { if (!class_exists('EE_Messages')) { require APPPATH . 'libraries/Messages' . EXT; } $MESS = new EE_Messages(); $vars['private_messaging_menu'] = $MESS->menu_array(); } $vars['can_admin_members'] = $this->cp->allowed_group('can_admin_members'); $vars['allow_localization'] = FALSE; $vars['login_as_member'] = FALSE; $vars['can_delete_members'] = FALSE; // member administration options if ($this->cp->allowed_group('can_admin_members')) { $vars['member_email'] = $this->id != $this->session->userdata('member_id') ? TRUE : FALSE; $vars['resend_activation_email'] = FALSE; if ($this->id != $this->session->userdata('member_id') && $this->config->item('req_mbr_activation') == 'email' && $this->cp->allowed_group('can_admin_members')) { $query = $this->member_model->get_member_data($this->id, array('group_id')); if ($query->row('group_id') == '4') { $this->lang->loadfile('members'); $vars['resend_activation_email'] = TRUE; } } $vars['allow_localization'] = ($this->config->item('allow_member_localization') == 'y' or $this->session->userdata('group_id') == 1) ? TRUE : FALSE; $vars['login_as_member'] = $this->session->userdata('group_id') == 1 && $this->id != $this->session->userdata('member_id') ? TRUE : FALSE; $vars['can_delete_members'] = ($this->cp->allowed_group('can_delete_members') and $this->id != $this->session->userdata('member_id')) ? TRUE : FALSE; } return $vars; }