Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }