Załączona klasa odczytuje zawartość pliku .vault i przechowuje ją w tablicy. Składa się ona z pól indeksowanych nazwą klucza, a wartości i znaczniki czasu są przechowywane w obiekcie z polami Value i iTimeStamp.
Przykładowy wynik:
Array ( [Entry 1] => Vault Object ( [iPointer] => 10 [iKeyLen] => 7 [iValLen] => 29 [Value] => This is the value for entry 1 [iTimestamp] => 1202241361 ) [Entry 2] => Vault Object ( [iPointer] => 53 [iKeyLen] => 7 [iValLen] => 29 [Value] => This is the value for entry 2 [iTimestamp] => 1202241363 ) )
Klasa realizuje poniższy interfejs:
interface inVaultRead_PL{ /** * Odczytana wersja Vaulta $iMajorVer.$iMinorVer */ //public $iMinorVer, $iMajorVer; /** * Tablica wpisów */ //public $Entries; /** * Otwiera plik .vault, sprawdza istnienie i poprawność formatu pliku * * @param file ścieżka do pliku * @return true w przypadku powodzenia */ public function Open($file); /** * Zoptymalizowana funkcja do pełnego odczytu */ public function fullLoadEntries(); /** * Odczytuje listę kluczy ich pozycji w pliku * Po wywołaniu tej funkcji $obj->Entries jest tablicą kluczy jako jej indexy * a $obj->Entries['MojKluczNVault']->iPointer zawiera pozycję danych w pliku. * * Uwaga * $obj->Entries['MojKluczNVault']->Value nie jest w tym momencie ustawiana! * * $liczbaWpisow = count($obj->Entries); * * @return true w przypadku powodzenia */ public function LoadEntries(); /** * Wypełnia pola Value i Timestamp w pojedynczym wpisie. * Użyj kiedy nie chcesz odczytywać całego pliku, a jedyny wartości spod konkretnyc kluczy. * * @param entry klucz nVault, index tablicy */ public function getEntry($entry); /** * Wypełnia całą tablicę wpisów danymi z pliku .vault */ public function getAllEntries(); /** * Wyświetla listę wpisów (debug) */ public function print_r(); };