[ __DIR__ . '/../src/include/lib/KD2/Security.php', __DIR__ . '/../src/include/lib/KD2/HTTP.php', __DIR__ . '/../src/include/lib/KD2/FossilInstaller.php', ], ]; $template = <<<'EOF' '; function exception_error_handler($severity, $message, $file, $line) { if (!(error_reporting() & $severity)) { return; } throw new ErrorException($message, 0, $severity, $file, $line); } function mini_exception_handler($e) { printf('

%s

in %s:%d

%s
', $e->getMessage(), $e->getFile(), $e->getLine(), (string) $e); } set_error_handler("exception_error_handler"); set_exception_handler('mini_exception_handler'); if (!version_compare(phpversion(), '7.4', '>=')) { throw new \Exception('PHP 7.4 ou supérieur requis. PHP version ' . phpversion() . ' installée.'); } if (!class_exists('SQLite3')) { throw new \Exception('Le module de base de données SQLite3 n\'est pas disponible.'); } $v = \SQLite3::version(); if (!version_compare($v['versionString'], '3.16', '>=')) { throw new \Exception('SQLite3 version 3.16 ou supérieur requise. Version installée : ' . $v['versionString']); } $step = $_GET['step'] ?? null; $error = null; @mkdir(INSTALL_DIR); $i = new KD2\FossilInstaller(WEBSITE, __DIR__, INSTALL_DIR, '!^paheko-(.*)\.tar\.gz$!'); if ($step == 'download') { $latest = $i->latest(); if (!$latest) { die('

Aucune version à télécharger n\'a été trouvée.

'); } $i->download($latest); $next = 'install'; } elseif ($step == 'install') { $latest = $i->latest(); if (!$latest) { die('

Aucune version à télécharger n\'a été trouvée.

'); } $i->install($latest); $i->clean($latest); if (class_exists('\OCP\AppFramework\Controller')) { $next = 'nc' . time(); } else { $next = null; } } else { $next = 'download'; } echo $next ? '' : ''; echo ' '; if ($step == 'download') { echo '

Décompression en cours…

'; } elseif ($step == 'install') { echo '

Installation réussie

Configurez désormais votre sous-domaine pour pointer sur le sous-répertoire www de cette installation.

Consultez la documentation pour plus d\'infos

'; } else { echo '

Téléchargement en cours…

'; } echo ' '; if ($step == 'install') { $i->prune(0); @rmdir(INSTALL_DIR); @unlink(__FILE__); } } ?> EOF; foreach ($includes as $tag => $files) { $source = []; foreach ($files as $file) { $content = file_get_contents($file); $content = preg_replace('!^(?:<\?php|namespace |use ).*$!m', '', $content); $content = preg_replace("!^!m", "\t$0", $content); $content = preg_replace("!^\t$!m", '', $content); $content = trim($content); $source[] = $content; } $source = implode("\n\n", $source); $template = str_replace($tag, $source, $template); } echo $template;