/** * Gets data information from the data file. * * @param file &$_fiftyone_degrees_data_file * The data file. * * @return array * Returns data information. */ function fiftyone_degrees_get_data_info(&$_fiftyone_degrees_data_file) { $info = array(); $info['major_version'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['minor_version'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['build_version'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['revision_version'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['version'] = "{$info['major_version']}.{$info['minor_version']}.{$info['build_version']}.{$info['revision_version']}"; $info['licence_id'] = array(); for ($i = 0; $i < 16; $i++) { $info['licence_id'][] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); } $info['copyright_offset'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['age'] = fiftyone_degrees_read_short($_fiftyone_degrees_data_file); $info['min_ua_count'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['data_set_name_offset'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['format_version_offset'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['published_year'] = fiftyone_degrees_read_short($_fiftyone_degrees_data_file); $info['published_month'] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); $info['published_day'] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); $info['next_update_year'] = fiftyone_degrees_read_short($_fiftyone_degrees_data_file); $info['next_update_month'] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); $info['next_update_day'] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); $info['device_combinations'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['max_ua_length'] = fiftyone_degrees_read_short($_fiftyone_degrees_data_file); $info['min_ua_length'] = fiftyone_degrees_read_short($_fiftyone_degrees_data_file); $info['lowest_character'] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); $info['highest_character'] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); $info['max_signatures'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['signature_profiles_count'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['signature_nodes_count'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['max_values_count'] = fiftyone_degrees_read_short($_fiftyone_degrees_data_file); $info['max_csv_length'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['max_json_length'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['max_xml_length'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $info['max_signatures_closest'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); return $info; }
function fiftyone_degrees_gallery_get_profiles(&$offset, $limit, $hardware_value_id, $headers) { $end_offset = $headers['profile_length']; $profiles = array(); while ($offset < $end_offset) { $_fiftyone_degrees_data_file = fiftyone_degrees_get_data_file($offset + $headers['profile_offset']); $profile = array(); $profile['component_id'] = fiftyone_degrees_read_byte($_fiftyone_degrees_data_file); $profile['unique_id'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $profile['profile_value_count'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); $profile['signature_count'] = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); if ($profile['component_id'] == 0) { $_fiftyone_degrees_data_file = fiftyone_degrees_get_data_file($offset + 1 + 4 + 4 + 4 + 4 * 6 + $headers['profile_offset']); $profile_hardware_value_id = fiftyone_degrees_read_int($_fiftyone_degrees_data_file); if ($profile_hardware_value_id == $hardware_value_id) { $profile = fiftyone_degrees_read_profile($offset, $headers); //if (in_array($hardware_value_id, $profile['profile_values'])) { $profiles[] = $profile; //var_dump($profile['profile_values']); if (count($profiles) >= $limit) { break; } //} } } $offset += 1 + 4 + 4 + 4 + $profile['profile_value_count'] * 4 + 4 * $profile['signature_count']; } return $profiles; }