View file Bots online 1.0/panel/site/modules/bots.php

File size: 13.81Kb
<?php
  
if (get('get') == 'set'){
  
  if (post('ok_bot_param')){
    
    valid::create(array(
      
      'BOTS_LIMIT' => ['limit', 'number', [1,999999999999999], 'Лимит'],
      'BOTS_INTERVAL' => ['interval', 'number', [1,999999999999999], 'Интервал']
    
    ));
    
    if (ERROR_LOG == 1){
      
      redirect('/admin/site/modules/?mod=bots&get=set');
    
    }
    
    ini::upgrade(ROOT.'/system/config/global/settings.ini', 'BOTS_LIMIT', BOTS_LIMIT);
    ini::upgrade(ROOT.'/system/config/global/settings.ini', 'BOTS_INTERVAL', BOTS_INTERVAL);
    
    success('Изменения успешно приняты');
    redirect('/admin/site/modules/?mod=bots&get=set');
    
  }
  
  ?>
  <div class='list-body'>
  <div class='list-menu'>
  <form method='post' class='ajax-form' action='/admin/site/modules/?mod=bots&get=set'>  
  <?=html::select('interval', array(
  5 => ['5 '.lg('сек.'), (config('BOTS_INTERVAL') == 5 ? "selected" : null)], 
  10 => ['10 '.lg('сек.'), (config('BOTS_INTERVAL') == 10 ? "selected" : null)], 
  15 => ['15 '.lg('сек.'), (config('BOTS_INTERVAL') == 15 ? "selected" : null)], 
  20 => ['20 '.lg('сек.'), (config('BOTS_INTERVAL') == 20 ? "selected" : null)], 
  25 => ['25 '.lg('сек.'), (config('BOTS_INTERVAL') == 25 ? "selected" : null)], 
  30 => ['30 '.lg('сек.'), (config('BOTS_INTERVAL') == 30 ? "selected" : null)], 
  35 => ['35 '.lg('сек.'), (config('BOTS_INTERVAL') == 35 ? "selected" : null)], 
  40 => ['40 '.lg('сек.'), (config('BOTS_INTERVAL') == 40 ? "selected" : null)], 
  45 => ['45 '.lg('сек.'), (config('BOTS_INTERVAL') == 45 ? "selected" : null)], 
  50 => ['50 '.lg('сек.'), (config('BOTS_INTERVAL') == 50 ? "selected" : null)], 
  55 => ['55 '.lg('сек.'), (config('BOTS_INTERVAL') == 55 ? "selected" : null)], 
  60 => ['1 '.lg('мин.'), (config('BOTS_INTERVAL') == 60 ? "selected" : null)], 
  120 => ['2 '.lg('мин.'), (config('BOTS_INTERVAL') == 120 ? "selected" : null)], 
  180 => ['3 '.lg('мин.'), (config('BOTS_INTERVAL') == 180 ? "selected" : null)], 
  240 => ['4 '.lg('мин.'), (config('BOTS_INTERVAL') == 240 ? "selected" : null)], 
  300 => ['5 '.lg('мин.'), (config('BOTS_INTERVAL') == 300 ? "selected" : null)]
  ), 'Интервал', 'form-control-100-modify-select', 'clock-o')?> 
  <?=html::select('limit', array(
  1 => [1, (config('BOTS_LIMIT') == 1 ? "selected" : null)],
  2 => [2, (config('BOTS_LIMIT') == 2 ? "selected" : null)],
  3 => [3, (config('BOTS_LIMIT') == 3 ? "selected" : null)],
  4 => [4, (config('BOTS_LIMIT') == 4 ? "selected" : null)],
  5 => [5, (config('BOTS_LIMIT') == 5 ? "selected" : null)],
  6 => [6, (config('BOTS_LIMIT') == 6 ? "selected" : null)],
  7 => [7, (config('BOTS_LIMIT') == 7 ? "selected" : null)],
  8 => [8, (config('BOTS_LIMIT') == 8 ? "selected" : null)],
  9 => [9, (config('BOTS_LIMIT') == 9 ? "selected" : null)],
  10 => [10, (config('BOTS_LIMIT') == 10 ? "selected" : null)],
  11 => [11, (config('BOTS_LIMIT') == 11 ? "selected" : null)] ,
  12 => [12, (config('BOTS_LIMIT') == 12 ? "selected" : null)] 
  ), 'Кол-во ботов онлайн за 1 раз', 'form-control-100-modify-select', 'clock-o')?>
  <?=html::button('button ajax-button', 'ok_bot_param', 'save', 'Сохранить изменения')?>
  </form>
  </div>
  </div>  
  <?
    
  back('/admin/site/modules/?mod=bots');
  acms_footer();
  
}  

if (get('get') == 'add'){
  
  if (post('ok_bot')){
    
    valid::create(array(
      
      'BOT_ID' => ['id', 'number', [1,999999999999999], 'ID']
    
    ));
    
    if (db::get_column("SELECT COUNT(*) FROM `USERS` WHERE `ID` = ? LIMIT 1", [BOT_ID]) == 0) {
      
      error('id не найден');
      redirect('/admin/site/modules/?mod=bots&get=add');          
    
    }
    
    if (db::get_column("SELECT COUNT(*) FROM `USERS` WHERE `ID` = ? AND `BOT` > '0' LIMIT 1", [BOT_ID]) == 1) {
      
      error('Пользователь с этим id уже является ботом');
      redirect('/admin/site/modules/?mod=bots&get=add');          
    
    }
    
    if (ERROR_LOG == 1){
      
      redirect('/admin/site/modules/?mod=bots&get=add');
    
    }
    
    db::get_add("UPDATE `USERS` SET `BOT` = '1' WHERE `ID` = ? LIMIT 1", [BOT_ID]);
    
    success('Бот успешно добавлен');
    redirect('/admin/site/modules/?mod=bots');
    
  }
  
  ?>
  <div class='list-body'>
  <div class='list-menu'>
  <form method='post' class='ajax-form' action='/admin/site/modules/?mod=bots&get=add'>  
  <?=html::input('id', 'id', 'Введите id пользователя')?>     
  <?=html::button('button ajax-button', 'ok_bot', 'plus', 'Добавить')?>
  </form>
  </div>
  </div>  
  <?
    
  back('/admin/site/modules/?mod=bots');
  acms_footer();
  
}

if (get('get') == 'create'){
  
  if (post('ok_account')){
    
    valid::create(array(
      
      'REG_LOGIN' => ['login', 'login'],
      'REG_PASSWORD' => ['password', 'password'],
      'REG_SEX' => ['sex', 'number', [1, 2], 'Пол'],
      'REG_NAME' => ['name', 'text', [0, 200], 'Имя', 0],
      'REG_SURNAME' => ['surname', 'text', [0, 200], 'Фамилия', 0],
      'REG_STATUS' => ['status', 'text', [0, 120], 'Статус', 0]
    
    ));
    
    if (ERROR_LOG == 1){
      
      redirect('/admin/site/modules/?mod=bots&get=create');
    
    }
    
    $ID = db::get_add("INSERT INTO `USERS` (`LOGIN`, `PASSWORD`, `SEX`, `BOT`, `DATE_CREATE`, `DATE_VISIT`) VALUES (?, ?, ?, ?, ?, ?)", [REG_LOGIN, REG_PASSWORD, REG_SEX, 1, TM, TM]);
    
    $avatar_rand_param = array('#EB6156', '#FD8B2C', '#72C375', '#B970C5', '#31ACB8', '#5498CE', '#997445', '#4EA771', '#828D92', '#F55448');
    $avatar_rand = array_rand($avatar_rand_param, 1);
    $avatar = $avatar_rand_param[$avatar_rand];
    
    db::get_add("INSERT INTO `USERS_SETTINGS` (`USER_ID`, `AVATAR_PHONE`, `NAME`, `STATUS`, `SURNAME`) VALUES (?, ?, ?, ?, ?)", [$ID, $avatar, REG_NAME, REG_STATUS, REG_SURNAME]);
    
    success('Бот успешно создан');
    redirect('/admin/site/modules/?mod=bots');
    
  }
  
  ?>
  <div class='list-body'>
  <div class='list-menu'>
  <form method='post' class='ajax-form' action='/admin/site/modules/?mod=bots&get=create'>
  <?=html::input('login', 'Придумайте логин', null, null, null, 'form-control-100', 'text', null, 'user')?>
  <?=html::input('password', 'Придумайте пароль', null, 24, null, 'form-control-100', 'password', null, 'lock', 'Придумайте сложный пароль, состоящий из латиницы, кириллицы, цифр или символов "_-@.%+". От 8 до 20 символов')?>
  <?=html::input('password2', 'Повторите пароль', null, 24, null, 'form-control-100', 'password', null, 'lock', 'Повторите предыдущий пароль ещё раз')?>
  <?=html::input('name', 'Имя', null, null, null, 'form-control-100', 'text', null, 'user')?>
  <?=html::input('surname', 'Фамилия', null, null, null, 'form-control-100', 'text', null, 'user')?>
  <?=html::input('status', 'Статус', null, null, null, 'form-control-100', 'text', null, 'text-width')?>
  <?=html::select('sex', array(
  1 => ['Мужской', 1], 
  2 => ['Женский', 2]
  ), 'Выберите пол', 'form-control-100-modify-select', 'venus-mars')?>      
  <?=html::button('button ajax-button', 'ok_account', 'plus', 'Создать')?>
  </form>
  </div>
  </div>
  <?
    
  back('/admin/site/modules/?mod=bots');
  acms_footer();
  
}

if (GET('edit')){
  
  $edit = db::get_string("SELECT * FROM `USERS` WHERE (`BOT` = '1' OR `BOT` = '2') AND `ID` = ? LIMIT 1", [intval(get('edit'))]);
  $set = db::get_string("SELECT * FROM `USERS_SETTINGS` WHERE `USER_ID` = ? LIMIT 1", [$edit['ID']]);
  
  if (!isset($edit['ID'])){
    
    redirect('/admin/site/modules/?mod=bots');
    
  }
  
  if (post('ok_account_set')){
    
    valid::create(array(
      
      'REG_LOGIN' => ['login', 'text', [3,15], 'Логин'],
      'REG_PASSWORD' => ['password', 'password'],
      'REG_SEX' => ['sex', 'number', [1, 2], 'Пол'],
      'REG_NAME' => ['name', 'text', [0, 200], 'Имя', 0],
      'REG_SURNAME' => ['surname', 'text', [0, 200], 'Фамилия', 0],
      'REG_STATUS' => ['status', 'text', [0, 120], 'Статус', 0]
    
    ));
    
    if (ERROR_LOG == 1){
      
      redirect('/admin/site/modules/?mod=bots&edit='.$edit['ID']);
    
    }
    
    db::get_add("UPDATE `USERS` SET `LOGIN` = ?, `PASSWORD` = ?, `SEX` = ? WHERE `ID` = ? LIMIT 1", [REG_LOGIN, REG_PASSWORD, REG_SEX, $edit['ID']]);    
    db::get_add("UPDATE `USERS_SETTINGS` SET `NAME` = ?, `STATUS` = ?, `SURNAME` = ? WHERE `USER_ID` = ? LIMIT 1", [REG_NAME, REG_STATUS, REG_SURNAME, $edit['ID']]);
    
    success('Бот успешно отредактирован');
    redirect('/admin/site/modules/?mod=bots');
    
  }
  
  ?>
  <div class='list-body'>
  
  <div class='list-menu'>    
  <?=attachments_result()?> 
  <a ajax="no" id="modal_bottom_open_set" onclick="upload('/system/AJAX/php/avatar_bots.php?id=<?=$edit['ID']?>', 'attachments_upload')" class="button"><?=icons('upload', 15, 'fa-fw')?> <?=lg('Загрузить аватар')?></a><br /><br />  
  <div id='upload-avatar'>
  <?=user::avatar($edit['ID'], 80)?>
  </div>
  </div>
    
  <div class='list-menu'>  
  <form method='post' class='ajax-form' action='/admin/site/modules/?mod=bots&edit=<?=$edit['ID']?>'>
  <?=html::input('login', 'Придумайте логин', null, null, tabs($edit['LOGIN']), 'form-control-100', 'text', null, 'user')?>
  <?=html::input('password', 'Придумайте пароль', null, 24, null, 'form-control-100', 'password', null, 'lock', 'Придумайте сложный пароль, состоящий из латиницы, кириллицы, цифр или символов "_-@.%+". От 8 до 20 символов')?>
  <?=html::input('password2', 'Повторите пароль', null, 24, null, 'form-control-100', 'password', null, 'lock', 'Повторите предыдущий пароль ещё раз')?>
  <?=html::input('name', 'Имя', null, null, tabs($set['NAME']), 'form-control-100', 'text', null, 'user')?>
  <?=html::input('surname', 'Фамилия', null, null, tabs($set['SURNAME']), 'form-control-100', 'text', null, 'user')?>
  <?=html::input('status', 'Статус', null, null, tabs($set['STATUS']), 'form-control-100', 'text', null, 'text-width')?>
  <?=html::select('sex', array(
  1 => ['Мужской', ($edit['SEX'] == 1 ? "selected" : null)], 
  2 => ['Женский', ($edit['SEX'] == 2 ? "selected" : null)]
  ), 'Выберите пол', 'form-control-100-modify-select', 'venus-mars')?>    
  <?=html::button('button ajax-button', 'ok_account_set', 'save', 'Сохранить изменения')?>
  </form>
  </div>
  </div>
  <?
    
  back('/admin/site/modules/?mod=bots');
  acms_footer();
  
}

if (get('delete') && db::get_column("SELECT COUNT(*) FROM `USERS` WHERE `BOT` > '0' AND `ID` = ? LIMIT 1", [intval(get('delete'))]) == 1){
  
  get_check_valid();
  
  db::get_add("UPDATE `USERS` SET `BOT` = '0' WHERE `ID` = ? LIMIT 1", [intval(get('delete'))]);
  success('Бот успешно убран из списка');
  redirect('/admin/site/modules/?mod=bots');
  
}

if (get('off') && db::get_column("SELECT COUNT(*) FROM `USERS` WHERE `BOT` = '1' AND `ID` = ? LIMIT 1", [intval(get('off'))]) == 1){
  
  get_check_valid();
  
  db::get_add("UPDATE `USERS` SET `BOT` = '2' WHERE `ID` = ? LIMIT 1", [intval(get('off'))]);
  success('Бот успешно отключен');
  redirect('/admin/site/modules/?mod=bots');
  
}

if (get('on') && db::get_column("SELECT COUNT(*) FROM `USERS` WHERE `BOT` = '2' AND `ID` = ? LIMIT 1", [intval(get('on'))]) == 1){
  
  db::get_add("UPDATE `USERS` SET `BOT` = '1' WHERE `ID` = ? LIMIT 1", [intval(get('on'))]);
  success('Бот успешно отключен');
  redirect('/admin/site/modules/?mod=bots');
  
}

$column = db::get_column("SELECT COUNT(*) FROM `USERS` WHERE (`BOT` = '1' OR `BOT` = '2')");
$spage = spage($column, PAGE_SETTINGS);
$page = page($spage);
$limit = PAGE_SETTINGS * $page - PAGE_SETTINGS;

?>
<div class='list-body'>
<div class='list-menu'>
<a href='/admin/site/modules/?mod=bots&get=create' class='button'><?=icons('pencil', 15, 'fa-fw')?> <?=lg('Создать бота')?></a>
<a href='/admin/site/modules/?mod=bots&get=add' class='button'><?=icons('plus', 15, 'fa-fw')?> <?=lg('Добавить бота')?></a>
<a href='/admin/site/modules/?mod=bots&get=set' class='button'><?=icons('gear', 15, 'fa-fw')?> <?=lg('Настройки')?></a>
</div>
<div class='list-menu list-title'><b><?=lg('Список ботов')?> <span class='count'><?=$column?></span></b></div>
<?

if ($column == 0){ 
  
  html::empty();
  
}

$data = db::get_string_all("SELECT * FROM `USERS` WHERE (`BOT` = '1' OR `BOT` = '2') ORDER BY `DATE_CREATE` DESC LIMIT ".$limit.", ".PAGE_SETTINGS);
while ($list = $data->fetch()) {
  
  $list['USER_ID'] = $list['ID'];
  
  if ($list['BOT'] == 1){
    
    $ofn = "<a class='button3' href='/admin/site/modules/?mod=bots&off=".$list['ID']."&".TOKEN_URL."'>".icons('minus', 15, 'fa-fw')." ".lg('Отключить')."</a> ";
    
  }else{
    
    $ofn = "<a class='button3' href='/admin/site/modules/?mod=bots&on=".$list['ID']."&".TOKEN_URL."'>".icons('plus', 15, 'fa-fw')." ".lg('Включить')."</a> ";
    
  }
  
  $dop = "<br /><br />".$ofn."
  <a class='button' href='/admin/site/modules/?mod=bots&edit=".$list['ID']."'>".icons('pencil', 15, 'fa-fw')." ".lg('Редактировать')."</a>
  <a class='button2' href='/admin/site/modules/?mod=bots&delete=".$list['ID']."&".TOKEN_URL."'>".icons('times', 15, 'fa-fw')." ".lg('Сделать пользователем')."</a>
  ";
  
  require (ROOT.'/modules/users/plugins/list-mini.php');
  echo $list_mini;

}

get_page('/admin/site/modules/?mod=bots&', $spage, $page, 'list-menu');

?></div><?
  
back('/admin/site/modules/?get=main');
acms_footer();