/** * Format memberships' data * * @param array $memberships_data memberships' data * @return array */ public function formatMemberships($memberships_data, $langs_ids = null) { $user_memberships_ids = array(); foreach ($memberships_data as $membership_data) { $user_memberships_ids[$membership_data['id']] = $membership_data['id_membership']; } if (!empty($user_memberships_ids)) { $memberships = parent::formatMemberships(parent::getMembershipsList(array('ids' => $user_memberships_ids)), $langs_ids); $temp = array(); foreach ($memberships as $membership) { $temp[$membership['id']] = $membership; } foreach ($memberships_data as $key => $membership_data) { if (!empty($temp[$membership_data['id_membership']])) { $memberships_data[$key]['membership_info'] = $temp[$membership_data['id_membership']]; $memberships_data[$key]['left_str'] = $this->left($memberships_data[$key]); } elseif (!empty($membership_data['membership'])) { $memberships_data[$key]['membership_info'] = (array) unserialize($membership_data['membership']); $memberships_data[$key]['left_str'] = $this->left($memberships_data[$key]); } else { $memberships_data[$key]['membership_info'] = array(); } } $user_memberships_services = array(); $param['where_in']['id_users_membership'] = array_keys($user_memberships_ids); $this->CI->load->model('services/models/Services_users_model'); $services = $this->CI->Services_users_model->get_services_list($param); foreach ($services as $ums) { if (!isset($user_memberships_services[$ums['id']])) { $user_memberships_services[$ums['id']] = array('services_array' => array(), 'services_list' => array()); } $ums['name'] = $ums['service']['name']; $user_memberships_services[$ums['id_users_membership']]['services_array'][$ums['id']]['is_active'] = 1; $user_memberships_services[$ums['id_users_membership']]['services_list'][$ums['id']] = $ums; } foreach ($memberships_data as $key => $membership_data) { if (isset($user_memberships_services[$membership_data['id']])) { $memberships_data[$key]['membership_info'] = array_merge($memberships_data[$key]['membership_info'], $user_memberships_services[$membership_data['id']]); } } } return $memberships_data; }