Merge pull request #12443 from nupplaphil/bug/dba_definition
Include DBA/View definitions from Hooks again
This commit is contained in:
commit
f37750d679
3 changed files with 25 additions and 15 deletions
34
src/App.php
34
src/App.php
|
@ -27,6 +27,8 @@ use Friendica\App\BaseURL;
|
||||||
use Friendica\Capabilities\ICanCreateResponses;
|
use Friendica\Capabilities\ICanCreateResponses;
|
||||||
use Friendica\Core\Config\Factory\Config;
|
use Friendica\Core\Config\Factory\Config;
|
||||||
use Friendica\Core\Session\Capability\IHandleUserSessions;
|
use Friendica\Core\Session\Capability\IHandleUserSessions;
|
||||||
|
use Friendica\Database\Definition\DbaDefinition;
|
||||||
|
use Friendica\Database\Definition\ViewDefinition;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Module\Maintenance;
|
use Friendica\Module\Maintenance;
|
||||||
use Friendica\Security\Authentication;
|
use Friendica\Security\Authentication;
|
||||||
|
@ -337,27 +339,29 @@ class App
|
||||||
* @param App\Arguments $args The Friendica Arguments of the call
|
* @param App\Arguments $args The Friendica Arguments of the call
|
||||||
* @param IManagePersonalConfigValues $pConfig Personal configuration
|
* @param IManagePersonalConfigValues $pConfig Personal configuration
|
||||||
* @param IHandleUserSessions $session The (User)Session handler
|
* @param IHandleUserSessions $session The (User)Session handler
|
||||||
|
* @param DbaDefinition $dbaDefinition
|
||||||
|
* @param ViewDefinition $viewDefinition
|
||||||
*/
|
*/
|
||||||
public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig, IHandleUserSessions $session)
|
public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig, IHandleUserSessions $session, DbaDefinition $dbaDefinition, ViewDefinition $viewDefinition)
|
||||||
{
|
{
|
||||||
$this->database = $database;
|
$this->database = $database;
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->mode = $mode;
|
$this->mode = $mode;
|
||||||
$this->baseURL = $baseURL;
|
$this->baseURL = $baseURL;
|
||||||
$this->profiler = $profiler;
|
$this->profiler = $profiler;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
$this->l10n = $l10n;
|
$this->l10n = $l10n;
|
||||||
$this->args = $args;
|
$this->args = $args;
|
||||||
$this->pConfig = $pConfig;
|
$this->pConfig = $pConfig;
|
||||||
$this->session = $session;
|
$this->session = $session;
|
||||||
|
|
||||||
$this->load();
|
$this->load($dbaDefinition, $viewDefinition);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load the whole app instance
|
* Load the whole app instance
|
||||||
*/
|
*/
|
||||||
public function load()
|
protected function load(DbaDefinition $dbaDefinition, ViewDefinition $viewDefinition)
|
||||||
{
|
{
|
||||||
set_time_limit(0);
|
set_time_limit(0);
|
||||||
|
|
||||||
|
@ -386,6 +390,10 @@ class App
|
||||||
Core\Hook::loadHooks();
|
Core\Hook::loadHooks();
|
||||||
$loader = (new Config())->createConfigFileLoader($this->getBasePath(), $_SERVER);
|
$loader = (new Config())->createConfigFileLoader($this->getBasePath(), $_SERVER);
|
||||||
Core\Hook::callAll('load_config', $loader);
|
Core\Hook::callAll('load_config', $loader);
|
||||||
|
|
||||||
|
// Hooks are now working, reload the whole definitions with hook enabled
|
||||||
|
$dbaDefinition->load(true);
|
||||||
|
$viewDefinition->load(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->loadDefaultTimezone();
|
$this->loadDefaultTimezone();
|
||||||
|
|
|
@ -249,7 +249,8 @@ class DBStructure
|
||||||
|
|
||||||
// Get the definition
|
// Get the definition
|
||||||
if (is_null($definition)) {
|
if (is_null($definition)) {
|
||||||
$definition = DI::dbaDefinition()->getAll();
|
// just for Update purpose, reload the DBA definition with addons to explicit get the whole definition
|
||||||
|
$definition = DI::dbaDefinition()->load(true)->getAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements
|
// MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements
|
||||||
|
|
|
@ -49,7 +49,8 @@ class View
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$definition = DI::viewDefinition()->getAll();
|
// just for Create purpose, reload the view definition with addons to explicit get the whole definition
|
||||||
|
$definition = DI::viewDefinition()->load(true)->getAll();
|
||||||
|
|
||||||
foreach ($definition as $name => $structure) {
|
foreach ($definition as $name => $structure) {
|
||||||
if (self::isView($name)) {
|
if (self::isView($name)) {
|
||||||
|
|
Loading…
Reference in a new issue