$property['first_value_index'], 'last_value_index' => $property['last_value_index']); switch ($property['value_type_id']) { case 0: // string default: $value_type = 'string'; break; case 1: // int $value_type = 'integer'; break; case 2: // double $value_type = 'double'; break; case 3: // bool $value_type = 'boolean'; break; case 4: // javaScript $value_type = 'javascript'; break; } $meta_data[$property['name']]['ValueType'] = $value_type; } foreach ($value_indexes as $value_index) { for ($i = $value_index['first_value_index']; $i <= $value_index['last_value_index']; $i++) { $property_value = fiftyone_degrees_read_property_value($i, $headers); $name = $property_names[$property_value['property_index']]; $meta_data[$name]['Values'][$property_value['value']] = array(); if ($property_value['description_offset'] > 0) { $meta_data[$name]['Values'][$property_value['value']]['Description'] = fiftyone_degrees_read_ascii($property_value['description_offset'], $headers); } if ($property_value['url_offset'] > 0) { $meta_data[$name]['Values'][$property_value['value']]['Url'] = fiftyone_degrees_read_ascii($property_value['url_offset'], $headers); } } } $handle = fopen($cache_file_name, "w"); if ($handle !== FALSE) { $dir = new DirectoryIterator(dirname(__FILE__)); foreach ($dir as $fileinfo) { if ($fileinfo->isFile()) { $file_extension = pathinfo($fileinfo->getFilename(), PATHINFO_EXTENSION); if ($file_extension === "cache" && strpos($fileinfo->getFilename(), '51Degrees_meta_data_cache_') === 0) { $path = $fileinfo->getRealPath(); @unlink($path); } } } $cache = serialize($meta_data); fwrite($handle, $cache); } return $meta_data; }