Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit 0f1d04e

Browse files
committed
Move install cache files into plugins/boot.conf instead of cache/ folder to avoid bad surprise on massive cache clearing.
1 parent 20d5975 commit 0f1d04e

File tree

7 files changed

+26
-11
lines changed

7 files changed

+26
-11
lines changed

core/src/conf/bootstrap_context.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@
5959
define("AJXP_VENDOR_FOLDER", AJXP_INSTALL_PATH."/core/vendor");
6060
define("AJXP_DOCS_FOLDER", "core/doc");
6161
define("AJXP_COREI18N_FOLDER", AJXP_INSTALL_PATH."/plugins/core.ajaxplorer/i18n");
62-
define("TESTS_RESULT_FILE", AJXP_CACHE_DIR."/diag_result.php");
62+
define("TESTS_RESULT_FILE", AJXP_DATA_PATH."/plugins/boot.conf/diag_result.php");
63+
define("TESTS_RESULT_FILE_LEGACY", AJXP_CACHE_DIR."/diag_result.php");
6364
define("AJXP_TESTS_FOLDER", AJXP_BIN_FOLDER."/pydio/Tests");
6465
define("INITIAL_ADMIN_PASSWORD", "admin");
6566
// Startup admin password (used at first creation). Once

core/src/core/src/pydio/Core/Http/Server.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ protected function stackMiddleWares(){
106106
}
107107

108108
public function registerCatchAll(){
109-
if (is_file(TESTS_RESULT_FILE)) {
109+
if (is_file(TESTS_RESULT_FILE) || is_file(TESTS_RESULT_FILE_LEGACY)) {
110110
set_error_handler(array($this, "catchError"), E_ALL & ~E_NOTICE & ~E_STRICT );
111111
set_exception_handler(array($this, "catchException"));
112112
}

core/src/core/src/pydio/Core/Services/RolesService.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,8 @@ public static function getRolesList($roleIds = array(), $excludeReserved = false
256256
*/
257257
public static function bootSequence()
258258
{
259-
if (file_exists(AJXP_CACHE_DIR . "/admin_counted")) return;
259+
$bootConfDir = AJXP_DATA_PATH. "/plugins/boot.conf";
260+
if (file_exists(AJXP_CACHE_DIR . "/admin_counted") || file_exists($bootConfDir."/admin_counted")) return;
260261
$rootRole = RolesService::getRole("AJXP_GRP_/");
261262
if ($rootRole === false) {
262263
$rootRole = new AJXP_Role("AJXP_GRP_/");
@@ -348,7 +349,10 @@ public static function bootSequence()
348349
}
349350
RolesService::updateRole($rootRole);
350351
}
351-
file_put_contents(AJXP_CACHE_DIR . "/admin_counted", "true");
352+
if(!file_exists($bootConfDir)){
353+
mkdir($bootConfDir, 0666, true);
354+
}
355+
file_put_contents($bootConfDir . "/admin_counted", "true");
352356

353357
}
354358
}

core/src/core/src/pydio/Core/Utils/ApplicationState.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ class ApplicationState
3838
*/
3939
public static function detectApplicationFirstRun()
4040
{
41-
return !file_exists(AJXP_CACHE_DIR . "/first_run_passed");
41+
return !file_exists(AJXP_CACHE_DIR . "/first_run_passed") && !file_exists(AJXP_DATA_PATH . "/plugins/boot.conf/first_run_passed");
4242
}
4343

4444
/**
4545
* Touch data/cache/first_run_passed file
4646
*/
4747
public static function setApplicationFirstRunPassed()
4848
{
49-
@file_put_contents(AJXP_CACHE_DIR . "/first_run_passed", "true");
49+
@file_put_contents(AJXP_DATA_PATH . "/plugins/boot.conf/first_run_passed", "true");
5050
}
5151

5252
/**

core/src/plugins/access.ajxp_conf/src/DiagnosticManager.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,12 @@ public function listNodes(ServerRequestInterface $requestInterface, $rootPath, $
5858
$nodesList->appendColumn("ajxp_conf.23", "ajxp_label");
5959
$nodesList->appendColumn("ajxp_conf.24", "data");
6060

61-
if (is_file(TESTS_RESULT_FILE)) {
62-
include_once(TESTS_RESULT_FILE);
61+
if (is_file(TESTS_RESULT_FILE) || is_file(TESTS_RESULT_FILE_LEGACY)) {
62+
if(is_file(TESTS_RESULT_FILE_LEGACY)){
63+
include_once(TESTS_RESULT_FILE_LEGACY);
64+
}else{
65+
include_once(TESTS_RESULT_FILE);
66+
}
6367
if (isset($diagResults)) {
6468
foreach ($diagResults as $id => $value) {
6569
$nodeKey = $path."/".$id;

core/src/plugins/boot.conf/BootConfLoader.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,10 @@ public function createBootstrapConf($data)
367367
}
368368
$newBootstrap = array("core.conf" => $coreConf, "core.auth" => $coreAuth, "core.cache" => $coreCache);
369369
FileHelper::saveSerialFile($oldBoot, $newBootstrap, true, false, "json", true);
370-
@unlink(AJXP_CACHE_DIR . "/admin_counted");
370+
@unlink($this->getPluginWorkDir(true) . "/admin_counted");
371+
if(is_file(AJXP_CACHE_DIR . "/admin_counted")){
372+
@unlink(AJXP_CACHE_DIR . "/admin_counted");
373+
}
371374

372375
// Write new bootstrap and reload conf plugin!
373376
$coreConf["UNIQUE_INSTANCE_CONFIG"]["SQL_DRIVER"] = $coreConf["DIBI_PRECONFIGURATION"];
@@ -607,7 +610,10 @@ public function _savePluginConfig($pluginId, $options)
607610
AuthService::disconnect();
608611
} else if ($pluginId == "core.auth") {
609612
// DELETE admin_counted file and DISCONNECT
610-
@unlink(AJXP_CACHE_DIR . "/admin_counted");
613+
@unlink($this->getPluginWorkDir(true) . "/admin_counted");
614+
if(is_file(AJXP_CACHE_DIR . "/admin_counted")){
615+
@unlink(AJXP_CACHE_DIR . "/admin_counted");
616+
}
611617
}
612618
}
613619
}

core/src/plugins/gui.ajax/RichClient.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ public function getBootGui(ServerRequestInterface &$request, ResponseInterface &
218218
$httpVars = $request->getParsedBody();
219219
HTMLWriter::internetExplorerMainDocumentHeader($response);
220220

221-
if (!is_file(TESTS_RESULT_FILE)) {
221+
if (!is_file(TESTS_RESULT_FILE) && !is_file(TESTS_RESULT_FILE_LEGACY)) {
222222
$outputArray = array();
223223
$testedParams = array();
224224
$passed = DiagnosticRunner::runTests($outputArray, $testedParams);

0 commit comments

Comments
 (0)