Skip to content

Commit

Permalink
Picked some more parts of #962
Browse files Browse the repository at this point in the history
  • Loading branch information
blackcoder87 committed Jun 23, 2024
1 parent 57e1b2f commit f1056b3
Show file tree
Hide file tree
Showing 7 changed files with 442 additions and 379 deletions.
111 changes: 44 additions & 67 deletions application/modules/admin/controllers/admin/Layouts.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
namespace Modules\Admin\Controllers\Admin;

use Ilch\Validation;
use Modules\Admin\Mappers\Layouts as LayoutsMapper;
use Modules\Admin\Mappers\Module as ModuleMapper;
use Modules\Admin\Mappers\LayoutAdvSettings as LayoutAdvSettingsMapper;
use Modules\Admin\Models\Layout as LayoutModel;
Expand Down Expand Up @@ -61,48 +62,26 @@ public function init()

public function indexAction()
{
$layoutsMapper = new LayoutsMapper();

$this->getLayout()->getAdminHmenu()
->add($this->getTranslator()->trans('menuLayouts'), ['action' => 'index']);
$layouts = [];
$versionsOfLayouts = [];
$modulesNotInstalled = [];
foreach (glob(APPLICATION_PATH . '/layouts/*') as $layoutPath) {
if (is_dir($layoutPath)) {
$configClass = '\\Layouts\\' . ucfirst(basename($layoutPath)) . '\\Config\\Config';
$config = new $configClass($this->getTranslator());
$model = new LayoutModel();
$model->setKey(basename($layoutPath));
$model->setName($config->config['name']);
$model->setVersion($config->config['version']);
$model->setAuthor($config->config['author']);
if (!empty($config->config['link'])) {
$model->setLink($config->config['link']);
}
$model->setDesc($config->config['desc']);
if (!empty($config->config['modulekey'])) {
$moduleMapper = new ModuleMapper();
if ($moduleMapper->getModuleByKey($config->config['modulekey']) === null) {
$modulesNotInstalled[$config->config['modulekey']] = $config->config['modulekey'];
}
$model->setModulekey($config->config['modulekey']);
}
if (!empty($config->config['settings'])) {
$model->setSettings($config->config['settings']);
}
if (!empty($config->config['ilchCore'])) {
$model->setIlchCore($config->config['ilchCore']);
}
$layouts[] = $model;
$versionsOfLayouts[basename($layoutPath)] = $config->config['version'];
}
foreach ($layoutsMapper->getLocalModules() as $key) {
$configClass = '\\Layouts\\' . ucfirst($key) . '\\Config\\Config';
$config = new $configClass($this->getTranslator());
$model = new LayoutModel();

$model->setKey($key)
->setByArray($config->config);

$layouts[] = $model;
}

$this->getView()->set('updateserver', $this->getConfig()->get('updateserver') . 'layouts2.php')
->set('defaultLayout', $this->getConfig()->get('default_layout'))
->set('layouts', $layouts)
->set('modulesNotInstalled', $modulesNotInstalled)
->set('coreVersion', $this->getConfig()->get('version'))
->set('versionsOfLayouts', $versionsOfLayouts);
->set('coreVersion', $this->getConfig()->get('version'));
}

public function defaultAction()
Expand All @@ -116,6 +95,8 @@ public function defaultAction()

public function searchAction()
{
$layoutsMapper = new LayoutsMapper();

$this->getLayout()->getAdminHmenu()
->add($this->getTranslator()->trans('menuLayouts'), ['action' => 'index'])
->add($this->getTranslator()->trans('menuSearch'), ['action' => 'search']);
Expand Down Expand Up @@ -145,21 +126,21 @@ public function searchAction()
$this->addMessage('downSuccess');
}
} finally {
$layoutsDir = [];
$versionsOfLayouts = [];
foreach (glob(ROOT_PATH . '/application/layouts/*') as $layoutPath) {
if (is_dir($layoutPath)) {
$configClass = '\\Layouts\\' . ucfirst(basename($layoutPath)) . '\\Config\\Config';
$config = new $configClass($this->getTranslator());
$versionsOfLayouts[basename($layoutPath)] = $config->config['version'];
$layoutsDir[] = basename($layoutPath);
}
$layouts = [];
foreach ($layoutsMapper->getLocalModules() as $key) {
$configClass = '\\Layouts\\' . ucfirst($key) . '\\Config\\Config';
$config = new $configClass($this->getTranslator());
$model = new LayoutModel();

$model->setKey($key)
->setByArray($config->config);

$layouts[$model->getKey()] = $model;
}

$this->getView()->set('updateserver', $this->getConfig()->get('updateserver'))
->set('coreVersion', $this->getConfig()->get('version'))
->set('versionsOfLayouts', $versionsOfLayouts)
->set('layouts', $layoutsDir);
->set('layouts', $layouts);
}
}

Expand Down Expand Up @@ -197,16 +178,13 @@ public function updateAction()

public function showAction()
{
$layoutsMapper = new LayoutsMapper();

$this->getLayout()->getAdminHmenu()
->add($this->getTranslator()->trans('menuLayouts'), ['action' => 'index'])
->add($this->getTranslator()->trans('menuSearch'), ['action' => 'search'])
->add($this->getTranslator()->trans('menuLayout') . ' ' . $this->getTranslator()->trans('info'), ['action' => 'show', 'id' => $this->getRequest()->getParam('id')]);
$layoutsDir = [];
foreach (glob(ROOT_PATH . '/application/layouts/*') as $layoutPath) {
if (is_dir($layoutPath)) {
$layoutsDir[] = basename($layoutPath);
}
}
$layoutsDir = $layoutsMapper->getLocalModules(true);

$this->getView()->set('updateserver', $this->getConfig()->get('updateserver'))
->set('layouts', $layoutsDir);
Expand Down Expand Up @@ -262,6 +240,8 @@ public function settingsAction()

public function advSettingsAction()
{
$layoutsMapper = new LayoutsMapper();

$layoutAdvSettingsMapper = new LayoutAdvSettingsMapper();
$this->getLayout()->getAdminHmenu()
->add($this->getTranslator()->trans('menuLayouts'), ['action' => 'index'])
Expand All @@ -274,23 +254,20 @@ public function advSettingsAction()
}

$layouts = [];
foreach (glob(APPLICATION_PATH . '/layouts/*') as $layoutPath) {
if (is_dir($layoutPath)) {
$key = basename($layoutPath);
$configClass = '\\Layouts\\' . ucfirst($key) . '\\Config\\Config';
$config = new $configClass($this->getTranslator());
if (empty($config->config['modulekey']) && empty($config->config['settings'])) {
continue;
}
$model = new LayoutModel();
$model->setKey($key);
$model->setName($config->config['name']);
$model->setAuthor($config->config['author']);
if (!empty($config->config['modulekey'])) {
$model->setModulekey($config->config['modulekey']);
}
$layouts[$key] = $model;
foreach ($layoutsMapper->getLocalModules() as $key) {
$configClass = '\\Layouts\\' . ucfirst($key) . '\\Config\\Config';
$config = new $configClass($this->getTranslator());

if (empty($config->config['modulekey']) && empty($config->config['settings'])) {
continue;
}

$model = new LayoutModel();

$model->setKey($key)
->setByArray($config->config);

$layouts[$key] = $model;
}

$layoutKeys = $layoutAdvSettingsMapper->getListOfLayoutKeys();
Expand Down
Loading

0 comments on commit f1056b3

Please sign in to comment.