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();
};


Dodatki SourceMod



Temat jest zamknięty












