public static function findLinguisticDataInIndex($id) { $logger = Logger::getLogger("LinguisticObjects.findLinguisticDataInIndex"); $attr_values = null; $indexer = new Indexer(); $index_file = $indexer->get_main_index_pathname(); $fh = fopen($index_file, 'r'); while (($ligne = fgets($fh)) != null) { list($an_id, $position, $csv_file_name) = explode(':', trim($ligne)); if ($an_id == $id) { $file_name = $indexer->get_data_pathname($csv_file_name); $logger->debug("\$file_name= {$file_name}; \$position= {$position}"); $fih = fopen($file_name, 'r'); fseek($fih, $position); $data = fgets($fih); $logger->debug("\$data= {$data}"); fseek($fih, 0); $fields_desc = fgets($fih); $logger->debug("\$fields= {$fields_desc}"); fclose($fih); $fieldsValues = parseCSV($fields_desc, $data); $attr_values = $fieldsValues; break; } } fclose($fh); return $attr_values; }