fix unknow preferences on new install, thanks @Gvx-, closes #6
parent
60018a94bf
commit
3776b5d1b8
24
index.php
24
index.php
|
@ -88,9 +88,12 @@ class index
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if (!empty($this->type)) {
|
if (!empty($this->type)) {
|
||||||
$preferences = unserialize($this->core->blog->settings->improve->preferences);
|
$preferences = $this->core->blog->settings->improve->preferences;
|
||||||
if (is_array($preferences)) {
|
if (is_string($preferences)) {
|
||||||
return array_key_exists($this->type, $preferences) ? $preferences[$this->type] : [];
|
$preferences = unserialize($preferences);
|
||||||
|
if (is_array($preferences)) {
|
||||||
|
return array_key_exists($this->type, $preferences) ? $preferences[$this->type] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
@ -99,7 +102,7 @@ class index
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
private function setPreferences(): void
|
private function setPreferences(): bool
|
||||||
{
|
{
|
||||||
if (!empty($_POST['save_preferences'])) {
|
if (!empty($_POST['save_preferences'])) {
|
||||||
$preferences[$this->type] = [];
|
$preferences[$this->type] = [];
|
||||||
|
@ -112,7 +115,11 @@ class index
|
||||||
}
|
}
|
||||||
$this->core->blog->settings->improve->put('preferences', serialize($preferences), 'string', null, true, true);
|
$this->core->blog->settings->improve->put('preferences', serialize($preferences), 'string', null, true, true);
|
||||||
dcPage::addSuccessNotice(__('Configuration successfully updated'));
|
dcPage::addSuccessNotice(__('Configuration successfully updated'));
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function comboModules(): array
|
private function comboModules(): array
|
||||||
|
@ -143,6 +150,8 @@ class index
|
||||||
|
|
||||||
private function doAction(): void
|
private function doAction(): void
|
||||||
{
|
{
|
||||||
|
$done = $this->setPreferences();
|
||||||
|
|
||||||
if (!empty($_POST['fix'])) {
|
if (!empty($_POST['fix'])) {
|
||||||
if (empty($_POST['actions'])) {
|
if (empty($_POST['actions'])) {
|
||||||
dcPage::addWarningNotice(__('No action selected'));
|
dcPage::addWarningNotice(__('No action selected'));
|
||||||
|
@ -170,12 +179,17 @@ class index
|
||||||
}
|
}
|
||||||
dcPage::addNotice($notice['type'], sprintf($notice['msg'], $this->module, $time));
|
dcPage::addNotice($notice['type'], sprintf($notice['msg'], $this->module, $time));
|
||||||
|
|
||||||
$this->core->adminurl->redirect('admin.plugin.improve', ['type' => $this->type, 'module' => $this->module, 'upd' => $log_id]);
|
$done = true;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$this->core->error->add($e->getMessage());
|
$this->core->error->add($e->getMessage());
|
||||||
|
$done = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($done) {
|
||||||
|
$this->core->adminurl->redirect('admin.plugin.improve', ['type' => $this->type, 'module' => $this->module, 'upd' => $log_id]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function displayPage(): void
|
private function displayPage(): void
|
||||||
|
|
Loading…
Reference in New Issue