Вход Регистрация
Файл: modules/admin/includes/antiflood.php
Строк: 61
<?php

/**
 * This file is part of JohnCMS Content Management System.
 *
 * @copyright JohnCMS Community
 * @license   https://opensource.org/licenses/GPL-3.0 GPL-3.0
 * @link      https://johncms.com JohnCMS Project
 */

declare(strict_types=1);

defined('_IN_JOHNADM') || die('Error: restricted access');

/**
 * @var PDO $db
 */

$config di('config')['johncms'];
$set_af $config['antiflood'];

$title __('Antiflood Settings');
$nav_chain->add($title);
$data = [];

if (isset(
$_POST['submit']) || isset($_POST['save'])) {
    
// Принимаем данные из формы
    
$set_af['mode'] = isset($_POST['mode']) && $_POST['mode'] > && $_POST['mode'] < ? (int) ($_POST['mode']) : 1;
    
$set_af['day'] = isset($_POST['day']) ? (int) ($_POST['day']) : 10;
    
$set_af['night'] = isset($_POST['night']) ? (int) ($_POST['night']) : 30;
    
$set_af['dayfrom'] = isset($_POST['dayfrom']) ? (int) ($_POST['dayfrom']) : 10;
    
$set_af['dayto'] = isset($_POST['dayto']) ? (int) ($_POST['dayto']) : 22;

    
// Проверяем правильность ввода данных
    
if ($set_af['day'] < 4) {
        
$set_af['day'] = 4;
    }

    if (
$set_af['day'] > 300) {
        
$set_af['day'] = 300;
    }

    if (
$set_af['night'] < 4) {
        
$set_af['night'] = 4;
    }

    if (
$set_af['night'] > 300) {
        
$set_af['night'] = 300;
    }

    if (
$set_af['dayfrom'] < 6) {
        
$set_af['dayfrom'] = 6;
    }

    if (
$set_af['dayfrom'] > 12) {
        
$set_af['dayfrom'] = 12;
    }

    if (
$set_af['dayto'] < 17) {
        
$set_af['dayto'] = 17;
    }

    if (
$set_af['dayto'] > 23) {
        
$set_af['dayto'] = 23;
    }

    
$config['antiflood'] = $set_af;
    
$configFile "<?phpnn" 'return ' var_export(['johncms' => $config], true) . ";n";

    if (! 
file_put_contents(CONFIG_PATH 'autoload/system.local.php'$configFile)) {
        echo 
$view->render(
            
'system::pages/result',
            [
                
'title'   => $title,
                
'type'    => 'alert-danger',
                
'message' => __('ERROR: Can not write system.local.php'),
            ]
        );
        exit;
    }

    
$data['success_message'] = __('Settings are saved successfully');
    if (
function_exists('opcache_reset')) {
        
opcache_reset();
    }
}

$data['form_action'] = '/admin/antiflood/';
$data['set_af'] = $set_af;

echo 
$view->render(
    
'admin::antiflood',
    [
        
'title'      => $title,
        
'page_title' => $title,
        
'data'       => $data,
    ]
);
Онлайн: 2
Реклама