|
|
@@ -12,6 +12,7 @@
|
|
|
|
|
|
namespace PrivateBin;
|
|
|
|
|
|
+use PrivateBin\Persistence\DataStore;
|
|
|
use Exception;
|
|
|
use PDO;
|
|
|
|
|
|
@@ -22,13 +23,6 @@ use PDO;
|
|
|
*/
|
|
|
class Configuration
|
|
|
{
|
|
|
- /**
|
|
|
- * First line in INI file, to hide contents
|
|
|
- *
|
|
|
- * @const string
|
|
|
- */
|
|
|
- const PROTECTION_LINE = ';<?php http_response_code(403); /*';
|
|
|
-
|
|
|
/**
|
|
|
* parsed configuration
|
|
|
*
|
|
|
@@ -112,27 +106,12 @@ class Configuration
|
|
|
|
|
|
// rename INI files to avoid configuration leakage
|
|
|
if (is_readable($configIni)) {
|
|
|
- $context = stream_context_create();
|
|
|
- // don't overwrite already converted file
|
|
|
- if (!is_file($configFile)) {
|
|
|
- $iniHandle = fopen($configIni, 'r', false, $context);
|
|
|
- file_put_contents($configFile, self::PROTECTION_LINE . PHP_EOL);
|
|
|
- file_put_contents($configFile, $iniHandle, FILE_APPEND);
|
|
|
- fclose($iniHandle);
|
|
|
- }
|
|
|
- unlink($configIni);
|
|
|
+ DataStore::prependRename($configIni, $configFile, ';');
|
|
|
|
|
|
// cleanup sample, too
|
|
|
- $configSample = PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.sample.php';
|
|
|
- $configIniSample = PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.ini.sample';
|
|
|
+ $configIniSample = $configIni . '.sample';
|
|
|
if (is_readable($configIniSample)) {
|
|
|
- if (!is_readable($configSample)) {
|
|
|
- $iniSampleHandle = fopen($configIniSample, 'r', false, $context);
|
|
|
- file_put_contents($configSample, self::PROTECTION_LINE . PHP_EOL);
|
|
|
- file_put_contents($configSample, $iniSampleHandle, FILE_APPEND);
|
|
|
- fclose($iniSampleHandle);
|
|
|
- }
|
|
|
- unlink($configIniSample);
|
|
|
+ DataStore::prependRename($configIniSample, PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.sample.php', ';');
|
|
|
}
|
|
|
}
|
|
|
|