1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-25 00:41:52 +02:00

Issue #4501 Reinitialize db_verify after plugin installation.

This commit is contained in:
camer0n
2023-12-07 14:11:23 -08:00
parent fc59e8211f
commit b970aec7aa
3 changed files with 41 additions and 25 deletions

View File

@@ -77,34 +77,13 @@ class db_verify
function __construct()
{
$sql = e107::getDb();
$sql->gen('SET SQL_QUOTE_SHOW_CREATE = 1');
$this->backUrl = e_SELF;
if(!deftrue('e_DEBUG') && $tmp = e107::getCache()->retrieve(self::cachetag, 15, true, true))
{
$cacheData = e107::unserialize($tmp);
$this->sqlFileTables = isset($cacheData['sqlFileTables']) ? $cacheData['sqlFileTables'] : $this->load();
$this->availableStorageEngines = isset($cacheData['availableStorageEngines']) ?
$cacheData['availableStorageEngines'] : $this->getAvailableStorageEngines();
}
else
{
$this->sqlFileTables = $this->load();
$this->availableStorageEngines = $this->getAvailableStorageEngines();
$cacheData = e107::serialize([
'sqlFileTables' => $this->sqlFileTables,
'availableStorageEngines' => $this->availableStorageEngines,
], 'json');
e107::getCache()->set(self::cachetag, $cacheData, true, true, true);
}
$this->init();
$this->sqlLanguageTables = $this->getSqlLanguages();
// $this->loadCreateTableData();
return $this;
}
@@ -1565,8 +1544,39 @@ class db_verify
return $maybeCharset;
}
/**
* Inititalize the class parameters.
* @return void
*/
public function init($clearCache=false): void
{
$sql = e107::getDb();
$sql->gen('SET SQL_QUOTE_SHOW_CREATE = 1');
if(!deftrue('e_DEBUG') && ($clearCache === false) && $tmp = e107::getCache()->retrieve(self::cachetag, 15, true, true))
{
$cacheData = e107::unserialize($tmp);
$this->sqlFileTables = isset($cacheData['sqlFileTables']) ? $cacheData['sqlFileTables'] : $this->load();
$this->availableStorageEngines = isset($cacheData['availableStorageEngines']) ?
$cacheData['availableStorageEngines'] : $this->getAvailableStorageEngines();
}
else
{
$this->sqlFileTables = $this->load();
$this->availableStorageEngines = $this->getAvailableStorageEngines();
$cacheData = e107::serialize([
'sqlFileTables' => $this->sqlFileTables,
'availableStorageEngines' => $this->availableStorageEngines,
], 'json');
e107::getCache()->set(self::cachetag, $cacheData, true, true, true);
}
$this->sqlLanguageTables = $this->getSqlLanguages();
}
}

View File

@@ -1113,6 +1113,7 @@ EOF;
}
// Fix table.
$this->dbv->init(true);
$this->dbv->compare('rss');
$this->dbv->compileResults();
$this->dbv->runFix();

View File

@@ -336,7 +336,12 @@
public function testRss_menu()
{
$this->pluginInstall('rss_menu');
$installed = e107::isInstalled('rss_menu');
self::assertTrue($installed);
$this->pluginUninstall('rss_menu');
$installed = e107::isInstalled('rss_menu');
self::assertFalse($installed);
}
public function testSocial()