コード例 #1
0
 private static function changeListProperties(&$export_data)
 {
     $listFieldsInfo = SJB_UserProfileFieldManager::getFieldsInfoByType('list');
     $multilistFieldsInfo = SJB_UserProfileFieldManager::getFieldsInfoByType('multilist');
     $fieldsInfo = array_merge($listFieldsInfo, $multilistFieldsInfo);
     foreach ($export_data as $user_sid => $property) {
         $userGroupSID = (int) SJB_UserGroupManager::getUserGroupSIDByName(SJB_Array::get($property[self::USER_OPTIONS_INDEX], 'user_group_id'));
         foreach ($fieldsInfo as $field_info) {
             $fieldID = SJB_Array::get($field_info, 'id');
             $fieldUserGroupSID = (int) SJB_Array::get($field_info, 'user_group_sid');
             if ($fieldUserGroupSID === $userGroupSID && !empty($property[$fieldID])) {
                 $fieldInfo = SJB_UserProfileFieldManager::getFieldInfoBySID($field_info['sid']);
                 switch ($fieldInfo['type']) {
                     case 'list':
                         foreach ($fieldInfo['list_values'] as $listValues) {
                             if ($listValues['id'] == $property[$field_info['id']]) {
                                 $export_data[$user_sid][$field_info['id']] = $listValues['caption'];
                                 break;
                             }
                         }
                         break;
                     case 'multilist':
                         $multilistValues = explode(',', $property[$field_info['id']]);
                         $multilistDisplayValues = array();
                         foreach ($fieldInfo['list_values'] as $listValues) {
                             if (in_array($listValues['id'], $multilistValues)) {
                                 $multilistDisplayValues[] = $listValues['caption'];
                             }
                         }
                         $export_data[$user_sid][$field_info['id']] = implode(',', $multilistDisplayValues);
                         break;
                 }
             }
         }
     }
 }