mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 03:32:00 +09:00
Move remainder of system config actions to respective controller classes
This commit is contained in:
parent
ba18143dd6
commit
b9e55c05e6
11 changed files with 921 additions and 1026 deletions
58
modules/admin/controllers/systemconfig/SiteLock.php
Normal file
58
modules/admin/controllers/systemconfig/SiteLock.php
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
namespace Rhymix\Modules\Admin\Controllers\SystemConfig;
|
||||
|
||||
use Context;
|
||||
use Rhymix\Framework\Config;
|
||||
use Rhymix\Framework\Exception;
|
||||
use Rhymix\Framework\Filters\IpFilter;
|
||||
use Rhymix\Modules\Admin\Controllers\Base;
|
||||
|
||||
class SiteLock extends Base
|
||||
{
|
||||
/**
|
||||
* Display Sitelock Settings page
|
||||
*/
|
||||
public function dispAdminConfigSitelock()
|
||||
{
|
||||
Context::set('sitelock_locked', Config::get('lock.locked'));
|
||||
Context::set('sitelock_title', escape(Config::get('lock.title')));
|
||||
Context::set('sitelock_message', escape(Config::get('lock.message')));
|
||||
|
||||
$allowed_ip = Config::get('lock.allow') ?: array();
|
||||
Context::set('sitelock_allowed_ip', implode(\PHP_EOL, $allowed_ip));
|
||||
Context::set('remote_addr', \RX_CLIENT_IP);
|
||||
|
||||
$this->setTemplateFile('config_sitelock');
|
||||
}
|
||||
|
||||
/**
|
||||
* Update sitelock configuration.
|
||||
*/
|
||||
public function procAdminUpdateSitelock()
|
||||
{
|
||||
$vars = Context::gets('sitelock_locked', 'sitelock_allowed_ip', 'sitelock_title', 'sitelock_message');
|
||||
|
||||
$allowed_ip = array_map('trim', preg_split('/[\r\n]/', $vars->sitelock_allowed_ip));
|
||||
$allowed_ip = array_unique(array_filter($allowed_ip, function($item) {
|
||||
return $item !== '';
|
||||
}));
|
||||
|
||||
if (!IpFilter::validateRanges($allowed_ip))
|
||||
{
|
||||
throw new Exception('msg_invalid_ip');
|
||||
}
|
||||
|
||||
Config::set('lock.locked', $vars->sitelock_locked === 'Y');
|
||||
Config::set('lock.title', trim($vars->sitelock_title));
|
||||
Config::set('lock.message', trim($vars->sitelock_message));
|
||||
Config::set('lock.allow', array_values($allowed_ip));
|
||||
if (!Config::save())
|
||||
{
|
||||
throw new Exception('msg_failed_to_save_config');
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminConfigSitelock'));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue