コード例 #1
0
ファイル: Base.php プロジェクト: apolev/fias
 protected function wrap($path)
 {
     $pathToDirectory = Dearchiver::extract($this->fileDirectory, $path);
     $this->addVersionId($pathToDirectory);
     return new Directory($pathToDirectory);
 }
コード例 #2
0
ファイル: update.php プロジェクト: apolev/fias
use FileSystem\Directory;
use DataSource\XmlReader;
require_once __DIR__ . '/../vendor/autoload.php';
$container = new Container();
$db = $container->getDb();
$logger = $container->getErrorLogger();
FailureHandler::setup(function ($error) use($logger) {
    $logger->error($error['message'], $error);
    fwrite(STDERR, "В процессе инициализации произошла ошибка:\n{$error['message']}\n");
    exit(1);
});
$db->start();
if ($_SERVER['argc'] == 2) {
    $path = $_SERVER['argv']['1'];
    if (!is_dir($path)) {
        $path = Dearchiver::extract($container->getFileDirectory(), $path);
    }
    $directory = new Directory($path);
} else {
    $loader = $container->getUpdateLoader();
    $directory = $loader->load();
}
$oldVersionId = UpdateLogHelper::getLastVersionId($db);
$newVersionId = $directory->getVersionId();
if ($newVersionId != $oldVersionId + 1) {
    throw new \LogicException("Попытка обновления с версии {$oldVersionId} на версию {$newVersionId}.");
}
$db->execute('SET CONSTRAINTS "address_objects_parent_id_fkey", "houses_parent_id_fkey" DEFERRED');
$housesConfig = $container->getHousesImportConfig();
$addressObjectsConfig = $container->getAddressObjectsImportConfig();
$deletedHouseFile = $directory->getDeletedHouseFile();
コード例 #3
0
ファイル: DearchiverTest.php プロジェクト: apolev/fias
 public function testNormalFile()
 {
     $this->extractedFiles = Dearchiver::extract($this->fileDirectory, $this->testRarFile);
     $this->assertEquals(md5_file($this->testTxtFile), md5_file($this->extractedFiles . '/' . basename($this->testTxtFile)));
 }