1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
<?php
class JanolawModuleCenterModuleController extends AbstractModuleCenterModuleController
{
protected $db;
protected $configurationKeys = array();
protected function _init()
{
$gxCoreLoader = MainFactory::create('GXCoreLoader', MainFactory::create('GXCoreLoaderSettings'));
$this->db = $gxCoreLoader->getDatabaseQueryBuilder();
$this->configurationKeys = array(
'MODULE_GAMBIO_JANOLAW_STATUS',
'MODULE_GAMBIO_JANOLAW_USER_ID',
'MODULE_GAMBIO_JANOLAW_SHOP_ID',
'MODULE_GAMBIO_JANOLAW_USE_IN_PDF'
);
$this->redirectUrl = xtc_href_link('gm_janolaw.php');
$this->pageTitle = $this->languageTextManager->get_text('janolaw_title');
}
public function actionConfig()
{
$this->contentView->set_template_dir(DIR_FS_ADMIN . 'html/content/module_center/');
$html = $this->_render('janolaw_configuration.html', array(
'configuration' => $this->_getConfiguration(),
'info_page_link' => xtc_href_link('gm_janolaw.php')
));
return MainFactory::create('AdminPageHttpControllerResponse', $this->pageTitle, $html);
}
public function actionStore()
{
$this->_store($this->_getPostDataCollection());
$url = xtc_href_link('admin.php', 'do=JanolawModuleCenterModule');
return MainFactory::create('RedirectHttpControllerResponse', $url);
}
protected function _store(KeyValueCollection $userInputCollection)
{
foreach($userInputCollection->getArray() as $configurationKey => $configurationValue)
{
$this->db->set('configuration_value', $configurationValue)
->where('configuration_key', $configurationKey)
->update('configuration');
}
}
protected function _getConfiguration()
{
$janolawConfiguration = array();
$janolawConfigurationResult = $this->db->select('configuration_key, configuration_value')
->from('configuration')
->where_in('configuration_key', $this->configurationKeys)
->get();
foreach($janolawConfigurationResult->result() as $row)
{
$janolawConfiguration[$row->configuration_key] = $row->configuration_value;
}
return $janolawConfiguration;
}
}