<?php

/*
////////////////////////////////////////////////////////////////////////////////
// JohnCMS                             Content Management System              //
// Официальный сайт сайт проекта:      http://johncms.com                     //
// Дополнительный сайт поддержки:      http://gazenwagen.com                  //
////////////////////////////////////////////////////////////////////////////////
// JohnCMS core team:                                                         //
// Евгений Рябинин aka john77          john77@gazenwagen.com                  //
// Олег Касьянов aka AlkatraZ          alkatraz@gazenwagen.com                //
//                                                                            //
// Информацию о версиях смотрите в прилагаемом файле version.txt              //
////////////////////////////////////////////////////////////////////////////////
*/

defined('_IN_JOHNCMS') or die('Error: restricted access');

// Проверяем права доступа
if ($rights < 9) {
  header("Location: $home");
 exit;
}
if ($mod)
  echo '<div class="phdr"><a href="menu.php?act=mod_bots"><b>Боты</b></a> | Управление ботами</div>';
else
  echo '<div class="phdr"><a href="../' . $set['admp'] . '/index.php"><b>Админ панель</b></a> | Управление ботами</div>';
switch ($mod) {

  case 'bak' :
    /*
    -----------------------------------------------------------------
    Бекап бота
    -----------------------------------------------------------------
    */
    if (!$id) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    $bot_d = mysql_fetch_assoc(mysql_query("SELECT `name`, `tip`, `mass_bot`, `mass_author` FROM `chat_bot` WHERE `id` = '".$id."' LIMIT 1")); // Получение данных.
    if (isset ($_GET['yes'])) {
      $delf = opendir('bak');
      while ($tt = readdir($delf)) {
        if ($tt != "." && $tt != ".." && $tt != 'index.php' && $tt != '.svn') {
          $tm[] = $tt;
        }
      }
      closedir($delf);
      $totalt = count($tm);
      for ($it = 0; $it < $totalt; $it++) {
        $filtime[$it] = filemtime("bak/$tm[$it]");
        $tim = time();
        $ftime1 = $tim - 300;
        if ($filtime[$it] < $ftime1) {
          unlink("bak/$tm[$it]");
        }
      }
      $mass_bot = unserialize($bot_d['mass_bot']);
      $mass_author = unserialize($bot_d['mass_author']);
      $bot_v = mysql_query("SELECT * FROM `chat_vop` WHERE `id_bot` = '".$id."'");
      $name_file = $realtime.$id;  
      // Сохраняем бота в текстовом формате
      $text = "          ----------------------\r\n         -=- Общая информация -=-\r\n          ----------------------\r\n";
      $text = $text."Название файла                     = '".$name_file."'\r\n";
      $text = $text."Имя бота                           = '".$bot_d["name"]."'\r\n";
      $text = $text."Требуемая версия чата              = '600'\r\n";
      $text = $text."Версия бота                        = '".$mass_author["version"]."'\r\n";
      $text = $text."Метка языка                        = '".$mass_author["iso"]."'\r\n";
      $text = $text."Автор                              = '".$mass_author["author"]."'\r\n";
      $text = $text."e-mail                             = '".$mass_author["author_email"]."'\r\n";
      $text = $text."url                                = '".$mass_author["author_url"]."'\r\n";
      $text = $text."Описание                           = '".$mass_author["description"]."'\r\n";
      $text = $text."            -----------------\r\n           -=- Данные бота -=-\r\n            -----------------\r\n";
      $text = $text."Время между фразами                = '".$mass_bot["time_off"]."'\r\n";
      $text = $text."Время ожидания                     = '".$mass_bot["time_on"]."'\r\n";
      $text = $text."Время до подсказки                 = '".$mass_bot["time_1"]."'\r\n";
      $text = $text."Время до 2 подсказки               = '".$mass_bot["time_2"]."'\r\n";
      $text = $text."Тип бота                           = '".$bot_d["tip"]."'\r\n";
      $text = $text."Подсказка                          = '".str_replace("\r\n", '\r\n', $mass_bot['pods_1'])."'\r\n";
      $text = $text."Вторая подсказка                   = '".str_replace("\r\n", '\r\n', $mass_bot['pods_2'])."'\r\n";
      $text = $text."Вопрос/фраза                       = '".str_replace("\r\n", '\r\n', $mass_bot['vopros'])."'\r\n";
      $text = $text."Новый вопрос                       = '".str_replace("\r\n", '\r\n', $mass_bot['nev_vop'])."'\r\n";
      $text = $text."Никто не ответил                   = '".str_replace("\r\n", '\r\n', $mass_bot['no_otv'])."'\r\n";      
      $text = $text."Ответ без подсказок                = '".str_replace("\r\n", '\r\n', $mass_bot['otv_0'])."'\r\n";
      $text = $text."Ответ с 1 подсказкой               = '".str_replace("\r\n", '\r\n', $mass_bot['otv_1'])."'\r\n";
      $text = $text."Ответ с 2 подсказками              = '".str_replace("\r\n", '\r\n', $mass_bot['otv_2'])."'\r\n";
      $text = $text."Балов за ответ без подсказок       = '".$mass_bot['pods_0_n']."'\r\n";
      $text = $text."Балов за ответ с 1 подсказкой      = '".$mass_bot['pods_1_n']."'\r\n";
      $text = $text."Балов за ответ с 2 подсказками     = '".$mass_bot['pods_2_n']."'\r\n";
      $text = $text."Имя аватарки бота                  = '".$mass_bot['av']."'\r\n";
      $text = $text."Пол бота                           = '".$mass_bot['sex']."'\r\n";
      $text = $text."Статус                             = '".$mass_bot['status']."'\r\n";
      $text = $text."               -------------\r\n              -=- Вопросы -=-\r\n               -------------\r\n";
      while ($bot_v_d = mysql_fetch_assoc($bot_v)) {
        $text = $text.str_replace("\r\n", '\r\n', $bot_v_d['vopros'])."||".str_replace("\r\n", '\r\n', $bot_v_d['otvet'])."\r\n";
      }
      $fp = fopen("bak/$name_file.txt", "a+");
      flock($fp, LOCK_EX);
      fputs($fp, "$text\r\n");
      fflush($fp);
      flock($fp, LOCK_UN);
      fclose($fp);
      @chmod("$fp", 0777);
      @chmod("bak/$name_file.txt", 0777);      
      $fls = @filesize('bak/' . $name_file . '.txt');
      $fls = round($fls / 1024, 0);
      echo '<div class="menu">Ссылка активна <b>5</b> минут!<p><a href="?act=mod_bots&amp;mod=loadbot&amp;n=' . $name_file . '">Скачать</a> <font color="gray"><small>(' . $fls . ' кб.)</small></font></p></div>';
    } else {
      echo '<div class="menu">Создать бекап бота: <b>'.$bot_d['name'].'</b>?<br /><a href="?act=mod_bots&amp;mod=bak&amp;id='.$id.'&amp;yes">Да</a> | <a href="?act=mod_bots">Нет</a></div>';
    }
    echo '<div class="phdr"><a href="index.php">В чат</a></div>';
  break;

  case 'loadbot' :
    if (empty ($_GET['n'])) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    $n = $_GET['n'];
    $o = opendir("bak");
    while ($f = readdir($o)) {
      if ($f != "." && $f != ".." && $f != "index.php" && $f != ".htaccess") {
        $ff = format($f);
        $f1 = str_replace(".$ff", "", $f);
        $a[] = $f;
        $b[] = $f1;
      }
    }
    $tt = count($a);
    if (!in_array($n, $b)) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    for ($i = 0; $i < $tt; $i++) {
      $tf = format($a[$i]);
      $tf1 = str_replace(".$tf", "", $a[$i]);
      if ($n == $tf1) {
        header("Location: bak/$n.$tf");
      }
    }
  break;

  case 'del' :
    /*
    -----------------------------------------------------------------
    Удаление бота
    -----------------------------------------------------------------
    */
    if (!$id) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    $bot_d = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `chat_bot` WHERE `id` = '" . $id . "'"));
    if (isset ($_GET['yes'])) {
      // Удаляем из базы все упоминания о боте и оптимизируем её
      mysql_query("DELETE FROM `chat_vop` WHERE `id_bot` = '" . $id . "'");
      mysql_query("DELETE FROM `chat_bot` WHERE `id` = '" . $id . "'");
      mysql_query("OPTIMIZE TABLE `chat_vop`");
      mysql_query("OPTIMIZE TABLE `chat_bot`");
      header("Location: ?act=mod_bots&do=b_u");
     exit;
    } else {
      echo '<div class="rmenu">Вы уверены,что хотите удалить бота <b>'.$bot_d['name'].'</b>?<p><a href="?act=mod_bots&amp;mod=del&amp;id='.$id.'&amp;yes">Да</a> | <a href="?act=mod_bots">Нет</a></p></div>';
      echo '<div class="phdr"><a href="index.php">В чат</a></div>';
    }
  break;
  
  case 'nev' :
    /*
    -----------------------------------------------------------------
    Добавление нового бота
    -----------------------------------------------------------------
    */
    // Принимаем и фильтруем переменные
    $tip = isset($_POST['tip']) ? check(mb_substr($_POST['tip'], 0, 10)) : '';
    $name = isset($_POST['name']) ? check(mb_substr($_POST['name'], 0, 50)) : '';
    $description = isset($_POST['description']) ? check(mb_substr($_POST['description'], 0, 500)) : '';
    $mass_bot['status'] = isset($_POST['status']) ? check(mb_substr($_POST['status'], 0, 500)) : '';
    $mass_bot['sex'] = isset($_POST['sex']) && $_POST['sex'] == 'm' ? 'm' : 'zh';
    $mass_bot['av'] = isset($_POST['av']) ? check(mb_substr($_POST['av'], 0, 50)) : '';
    $mass_bot['time_off'] = isset($_POST['time_off']) ? abs(intval($_POST['time_off'])) : 0;
    $mass_bot['vopros'] = isset($_POST['vopros']) ? check($_POST['vopros']) : '';
    $mass_bot['time_on'] = isset($_POST['time_on']) ? abs(intval($_POST['time_on'])) : 0;
    $mass_bot['time_1'] = isset($_POST['time_1']) ? abs(intval($_POST['time_1'])) : 0;
    $mass_bot['time_2'] = isset($_POST['time_2']) ? abs(intval($_POST['time_2'])) : 0;
    $mass_bot['nev_vop'] = trim($_POST['nev_vop']);
    $mass_bot['pods_1'] = trim($_POST['pods_1']);
    $mass_bot['pods_2'] = trim($_POST['pods_2']);
    $mass_bot['no_otv'] = trim($_POST['no_otv']);
    $mass_bot['otv_0'] = trim($_POST['otv_0']);
    $mass_bot['otv_1'] = trim($_POST['otv_1']);
    $mass_bot['otv_2'] = trim($_POST['otv_2']);    
    $mass_bot['pods_0_n'] = isset($_POST['pods_0_n']) ? abs(intval($_POST['pods_0_n'])) : 0;
    $mass_bot['pods_1_n'] = isset($_POST['pods_1_n']) ? abs(intval($_POST['pods_1_n'])) : 0;
    $mass_bot['pods_2_n'] = isset($_POST['pods_2_n']) ? abs(intval($_POST['pods_2_n'])) : 0;
    if (mysql_num_rows(mysql_query("SELECT * FROM `chat_bot` WHERE `name` = '$name'"))) {
      echo '<div class="rmenu"><p><b>ОШИБКА!</b><br />Бот с таким именем уже есть!</p></div>';
      require('../incfiles/end.php');
     exit;
    }
    // Сохранение данных нового бота
    if ((isset($_POST['submit'])) && (isset($_GET['yes']))) { 
      $error = '';
      if (!$mass_bot['time_off'] || !$name || !$mass_bot['time_on'] && $tip && $tip < 4 || !$mass_bot['time_1'] && $tip > 1 || !$mass_bot['time_2'] && $tip==3)
        $error = 'Заполнены не все обязательные поля!';
      elseif ($mass_bot['time_1'] >= $mass_bot['time_on'] && $tip >= 2 && $tip < 4 || $mass_bot['time_2'] >= $mass_bot['time_on'] && $tip==3 || $mass_bot['time_1'] >= $mass_bot['time_2'] && $tip==3)
        $error = $error . 'Неверно задано время!<br />';
      if ($error) {
        echo '<div class="rmenu"><p><b>ОШИБКА!</b><br />' . $error . '</p></div>';
        require("../incfiles/end.php");
       exit;
      }
      $mass_author = serialize(array (
        'author' => $login,
        'author_email' => $datauser['mail'],
        'author_url' => $datauser['www'],
        'description' => $description,
        'version' => '1',
        'iso' => 'ru'
      ));
      // Заносим данные в базу
      mysql_query("INSERT INTO `chat_bot` SET
        `name` = '".$name."',
        `tip` = '".$tip."',
        `mass_bot` = '" . mysql_real_escape_string(serialize($mass_bot)) . "',
        `mass_author` = '" . mysql_real_escape_string($mass_author) . "'");
      header("Location: ?act=mod_bots&do=b_d");
     exit;
    } elseif (isset($_POST['submit'])) {
      // Ввод данных бота (в соответствии с его типом)
      switch ($tip) {

        case 'frazy' :
          $tip = 0;
          $tip_n = '<b>Фразы</b>';
        break;
     
        case 'dialog' :
          $tip = 4;
          $tip_n = '<b>Диалог</b>';
        break;
     
        case 'vopros' :
          $pods = isset($_REQUEST['pods']) ? trim($_REQUEST['pods']) : '';
          switch ($pods) {
        
            case 1 :
              $tip = 2;
              $tip_n = '<b>Вопрос</b><br /><small>С подсказкой</small>';
            break;
     
            case 2 :
              $tip = 3;
              $tip_n = '<b>Вопрос</b><br /><small>С 2 подсказками</small>';
            break;
     
            default :
              $tip = 1;
              $tip_n = '<b>Вопрос</b>';  
          }
        break;
 
        default :
          $tip = false;
          $tip_n = false;
      }
      // Сообщение об ошибке
      if (empty($tip_n) || empty($name)) {
        echo '<div class="rmenu"><p><b>ОШИБКА!</b><br />Не заполнены обязательные поля!</p><p><a href="?act=mod_bots&amp;mod=nev">Назад</a></p></div>';
        require('../incfiles/end.php');
       exit;
      }
      echo '<form action="?act=mod_bots&amp;mod=nev&amp;yes" method="post">';      
      echo '<div class="gmenu">';
      echo '<p><h3><img src="img/bot.png" width="16" height="16" class="left" />&#160;Добавление бота:</h3><ul>';          
      // Информация о боте    
        echo '<table cellpadding="0" cellspacing="0"><tr><td>';
        if (file_exists(('img/' . $mass_bot['av'] . '.png')))
          echo '<img src="img/' . $mass_bot['av'] . '.png" width="32" height="32" alt="" />&#160;';
        else
          echo '<img src="../images/empty.png" width="32" height="32" alt="" />&#160;';
        echo '</td><td>';
      if ($mass_bot['sex'])
        echo '<img src="../theme/'.$set_user['skin'].'/images/'.($mass_bot['sex'] == 'm' ? 'm' : 'w').'.png" width="16" height="16" align="middle" alt="'.($mass_bot['sex'] == 'm' ? 'М' : 'Ж').'"/>&#160;';
      else
        echo '<img src="../images/del.png" width="12" height="12" align="middle" />&#160;';
      echo '<b>' . $name . '</b>';
      echo '<span class="green"> [ON]</span>';
      if (!empty($mass_bot['status']))
        echo '<div class="status"><img src="../theme/' . $set_user['skin'] . '/images/label.png" alt="" align="middle" />&#160;' . $mass_bot['status'] . '</div>';
        echo '</td></tr></table>';      
      echo '<li>Тип: '.$tip_n.'</li>';
      echo '<input type="hidden" name="description" value="'.$description.'"/>';
      echo '<input type="hidden" name="name" value="'.$name.'"/>';
      echo '<input type="hidden" name="tip" value="'.$tip.'"/>';
      echo '<input type="hidden" name="av" value="'.$mass_bot['av'].'"/>';
      if ($mass_bot['status'])
        echo '<input type="hidden" name="status" value="'.$mass_bot['status'].'"/>';
      echo '<input type="hidden" name="sex" value="'.$mass_bot['sex'].'"/>';
      if ($tip && $tip != 4)
        echo '<li><input type="checkbox" name="col_vo"/> Кол-во символов ответа</li>';
      echo '</ul></p>';
      echo '</div>';
      echo '<div class="list1"><p><h3><img src="img/time_plus.png" width="16" height="16" class="left" />&#160;Время:</h3><ul>';     
      echo '<li><input type="text" name="time_off" size="3" maxlength="3"/> '.($tip==4 ? 'До ответа на пост <span class="gray"><small>(1-30 сек.)</small></span>' : 'Между фразами <span class="gray"><small>(5-60 сек.)</small></span>').'</li>';
      if ($tip && $tip < 4)
        echo '<li><input type="text" name="time_on" size="3" maxlength="3"/> Ожидание ответа <span class="gray"><small>(60-300 сек.)</small></span></li>';
      if ($tip > 1)
        echo '<li><input type="text" name="time_1" size="3" maxlength="3"/> '.($tip==4 ? 'Ожидание поста <span class="gray"><small>(60-600 сек.)</small></span>' : 'До подсказки <span class="gray"><small>(30-180 сек.)</small></span>').'</li>';
      if ($tip == 3)
        echo '<li><input type="text" name="time_2" size="3" maxlength="3"/> До 2 подсказки <span class="gray"><small>(60-240 сек.)</small></span></li>';
      echo '</ul></p>';
      echo '<p><h3><img src="img/balloons_plus.png" width="16" height="16" class="left" />&#160;Фразы:</h3><ul>';
      echo '<li><p>'.(!$tip || $tip == 4 ? 'Фраза:'.($tip == 4 ? '*' : '') : 'Вопрос:').'<br /><input type="text" name="vopros"/><br />'; 
      echo '<small>&#160;&#160;<span style="color:blue">[text]</span> - вопрос/фраза<br />';
      echo '</small></p></li>';
      if ($tip > 1) {
        echo '<li><p>'.($tip==4 ? 'Приветствие:**' : 'Подсказка:').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="pods_1"></textarea><br />';
        echo '<small>';
        if ($tip != 4)
          echo '&#160;&#160;<span style="color:blue">[text]</span> - подсказка';
        echo '</small></p></li>';
      }
      if ($tip == 3) {
        echo '<li><p>Вторая подсказка:<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="pods_2"></textarea><br />'; 
        echo '<small>&#160;&#160;<span style="color:blue">[text]</span> - подсказка</small></p></li>';
      }
      if ($tip) {
        echo '<li><p>'.($tip==4 ? 'Если юзер молчит:**' : 'Новый вопрос:').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="nev_vop"></textarea><br />';
        echo '<small>';
        if ($tip != 4)
          echo '&#160;&#160;<span style="color:blue">[time]</span> - время до вопроса';
        echo '</small></p></li>';
        echo '<li><p>'.($tip==4 ? 'Если в базе нет ответа:**' : 'Никто не ответил:').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="no_otv"></textarea><br />';
        echo '<small>';
        if ($tip != 4)
          echo '&#160;&#160;<span style="color:blue">[text]</span> - ответ';
        echo '</small></p></li>';
      }
      if ($tip && $tip != 4) {
        echo '<li><p>'.($tip == 1 ? 'Правильный ответ:*' : 'Правильный ответ без подсказок:*').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="otv_0"></textarea><br />';
        echo '</p></li>';
      }
      if ($tip > 1 && $tip != 4)
        echo '<li>Правильный ответ с подсказкой:*<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="otv_1"></textarea></li>';
      if ($tip == 3)
        echo '<li>Правильный ответ с 2 подсказками:*<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="otv_2"></textarea></li>';
      if ($tip && $tip != 4) {  
        echo '<p>*<small>';
        echo '&#160;&#160;<span style="color:blue">[login]</span> - логин пользователя<br />';
        echo '&#160;&#160;<span style="color:blue">[text]</span> - ответ<br />';
        echo '&#160;&#160;<span style="color:blue">[time]</span> - затраченное время<br />';
        echo '&#160;&#160;<span style="color:blue">[balls]</span> - балов за ответ<br />';
        echo '&#160;&#160;<span style="color:blue">[balans]</span> - всего балов<br />';
        echo '&#160;&#160;<span style="color:blue">[otvetov]</span> - всего ответов<br />';
        echo '&#160;&#160;Для вывода разных сообщений в зависимости от пола вошедшего впишите оба варианта через знак <span style="color:blue">|</span> (М|Ж)';
        echo '</small></p>';
      } elseif ($tip == 4) {
         echo '<p>*<small>';
         echo '&#160;&#160;<span style="color:blue">[login]</span> - логин пользователя<br /></small>';
         echo '**<small>&#160;&#160;Для случайного вывода одной из нескольких фраз перечислите все варианты через знак <span style="color:blue">|</span>';
         echo '</small></p>';
      }
      echo '</ul></p>';
      echo '</div>';
      if ($tip && $tip != 4) {
        echo '<div class="list2"><p><h3><img src="img/medal_plus.png" width="16" height="16" class="left" />&#160;Награда:</h3><ul>';
        echo '<li><input type="text" name="pods_0_n" size="3" maxlength="3"/> За ответ</li>'; 
        if ($tip > 1)
          echo '<li><input type="text" name="pods_1_n" size="3" maxlength="3"/> За ответ с подсказкой.</li>'; 
        if ($tip > 2)
          echo '<li><input type="text" name="pods_2_n" size="3" maxlength="3"/> За ответ с 2 подсказками.</li>'; 
        echo '</ul></p>';
        echo '</div>';  
      }
      echo '<div class="gmenu">';      
      echo '<input type="submit" name="submit" value="Сохранить"/>';
      echo '</div>';
      echo '</form>';
      echo '<div class="phdr"><a href="?act=mod_bots">Назад</a></div>';
    } else { 
      // Ввод основных данных нового бота
      echo '<form action="?act=mod_bots&amp;mod=nev" method="post">';      
      echo '<div class="menu">';
      echo '<p><h3><img src="img/bot.png" width="16" height="16" class="left"/>&#160;Добавление бота:</h3><ul>';      
      echo '<li>Имя: <br /><input type="text" name="name"/></li>';
      echo '<li>Аватар: <br /><input type="text" name="av"/></li>';
      echo '<li>Статус: <br /><input type="text" name="status"/></li>';
      echo '<li>Описание: <br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="description"></textarea></li>';
      echo '<li>Пол:<br />';
      echo '<input type="radio" value="m" name="sex" checked="checked"/>&#160;Мужской<br />';
      echo '<input type="radio" value="zh" name="sex"/>&#160;Женский</li></ul></p>';
      echo '</div><div class="gmenu"><p><h3>&#160;Тип:</h3><ul>';
      echo '<li><input type="radio" name="tip" value="frazy" checked="checked"/>';
      echo '<b>Фразы</b></li>';
      echo '<li><input type="radio" name="tip" value="dialog"/>';
      echo '<b>Диалог</b></li>';
      echo '<li><input type="radio" name="tip" value="vopros"/>';
      echo '<b>Вопрос</b></li>';
      echo '<ul><li><input type="radio" name="pods" value="0" checked="checked"/>';
      echo '<b>Без подсказок</b></li>';
      echo '<li><input type="radio" name="pods" value="1"/>';
      echo '<b>С подсказкой</b></li>';
      echo '<li><input type="radio" name="pods" value="2"/>';
      echo '<b>С 2 подсказками</b></li></ul>';
      echo '</ul></p>';
      echo '</div>';
      echo '<div class="gmenu">';      
      echo '<input type="submit" name="submit" value="Сохранить"/>';
      echo '</div>';
      echo '</form>';
      echo '<div class="phdr"><a href="?act=mod_bots">Назад</a></div>';
    }
  break;

  case 'edit' :
    /*
    -----------------------------------------------------------------
    Редактирование бота
    -----------------------------------------------------------------
    */
    if (!$id) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    $typ = mysql_query("SELECT * FROM `chat_bot` WHERE `id` = '" . $id . "'");
    if (!mysql_num_rows($typ)) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    $ms = mysql_fetch_array($typ);
    $mass_bot = unserialize($ms['mass_bot']);
    echo '<small><div class="bmenu"><b>Бот</b> | <a href="menu.php?act=mod_bots&amp;mod=edit_author&amp;id='.$id.'">Автор</a></div></small>';
    if (isset ($_POST['submit'])) {
      // Принимаем и фильтруем переменные
      $tip = $ms['tip'];
      $name = isset($_POST['name']) ? check(mb_substr($_POST['name'], 0, 50)) : '';
      $mass_bot['status'] = isset($_POST['status']) ? check(mb_substr($_POST['status'], 0, 50)) : '';
      $mass_bot['sex'] = isset($_POST['sex']) && $_POST['sex'] == 'm' ? 'm' : 'zh';
      $mass_bot['av'] = isset($_POST['av']) ? check(mb_substr($_POST['av'], 0, 50)) : '';
      $mass_bot['time_off'] = isset($_POST['time_off']) ? abs(intval($_POST['time_off'])) : 0;
      $mass_bot['vopros'] = isset($_POST['vopros']) ? trim($_POST['vopros']) : '';
      $mass_bot['time_on'] = isset($_POST['time_on']) ? abs(intval($_POST['time_on'])) : 0;
      $mass_bot['time_1'] = isset($_POST['time_1']) ? abs(intval($_POST['time_1'])) : 0;
      $mass_bot['time_2'] = isset($_POST['time_2']) ? abs(intval($_POST['time_2'])) : 0;
      $mass_bot['nev_vop'] = trim($_POST['nev_vop']);
      $mass_bot['pods_1'] = trim($_POST['pods_1']);
      $mass_bot['pods_2'] = trim($_POST['pods_2']);
      $mass_bot['no_otv'] = trim($_POST['no_otv']);
      $mass_bot['otv_0'] = trim($_POST['otv_0']);
      $mass_bot['otv_1'] = trim($_POST['otv_1']);
      $mass_bot['otv_2'] = trim($_POST['otv_2']);      
      $mass_bot['pods_0_n'] = isset($_POST['pods_0_n']) ? abs(intval($_POST['pods_0_n'])) : 0;
      $mass_bot['pods_1_n'] = isset($_POST['pods_1_n']) ? abs(intval($_POST['pods_1_n'])) : 0;
      $mass_bot['pods_2_n'] = isset($_POST['pods_2_n']) ? abs(intval($_POST['pods_2_n'])) : 0;
      $error = '';
      if (!$mass_bot['time_off'] || !$name || !$mass_bot['time_on'] && $tip && $tip < 4 || !$mass_bot['time_1'] && $tip > 1 || !$mass_bot['time_2'] && $tip==3)
        $error = 'Заполнены не все обязательные поля!';
      elseif ($mass_bot['time_1'] >= $mass_bot['time_on'] && $tip >= 2 && $tip < 4 || $mass_bot['time_2'] >= $mass_bot['time_on'] && $tip==3 || $mass_bot['time_1'] >= $mass_bot['time_2'] && $tip==3)
        $error = $error . 'Неверно задано время!<br />';
      if ($error) {
        echo '<div class="rmenu"><p><b>ОШИБКА!</b><br />' . $error . '</p></div>';
        require('../incfiles/end.php');
       exit;
      }
      mysql_query("UPDATE `chat_bot` SET `name` = '" . mysql_real_escape_string($name) . "', `mass_bot` = '" . mysql_real_escape_string(serialize($mass_bot)) . "' WHERE `id` = '" . $id . "';");
      header("Location: ?act=mod_bots&do=b_i");
     exit;
    } else {
      switch ($ms['tip']) {

        case 1 :
          $tip_n = '<b>Вопрос</b>';
        break;
            
        case 2 :
          $tip_n = '<b>Вопрос</b><br /><small>С подсказкой</small>';
        break;
     
        case 3 :
          $tip_n = '<b>Вопрос</b><br /><small>С 2 подсказками</small>';
        break;

        case 4 :
          $tip_n = '<b>Болтун</b>';
        break;

        default :
          $tip_n = '<b>Фразы</b>';
      }
      echo '<form action="?act=mod_bots&amp;mod=edit&amp;id=' . $id . '" method="post">';      
      echo '<div class="gmenu">';
      echo '<p><h3><img src="img/bot.png" width="16" height="16" class="left" />&#160;Редактирование бота:</h3><ul>';      
      echo '<li>Имя: <br /><input type="text" name="name" value="' . $ms['name'] . '"/></li>';
      echo '<li>Аватар: <br /><input type="text" name="av" value="' . $mass_bot['av'] . '"/></li>';
      echo '<li>Статус: <br /><input type="text" name="status" value="' . $mass_bot['status'] . '"/></li>';
      echo '<li>Пол:<br />';
      echo '<input type="radio" value="m" name="sex" ' . ($mass_bot['sex'] == 'm' ? 'checked="checked"' : '') . '/>&#160;Мужской<br />';
      echo '<input type="radio" value="zh" name="sex" ' . ($mass_bot['sex'] == 'zh' ? 'checked="checked"' : '') . '/>&#160;Женский</li>';
      echo '<li>Тип: '.$tip_n.'</li>';
      echo '</ul></p>';
      echo '</div>';
      echo '<div class="list1"><p><h3><img src="img/time_edit.png" width="16" height="16" class="left" />&#160;Время:</h3><ul>';     
      echo '<li><input type="text" name="time_off" size="3" maxlength="3" value="' . $mass_bot['time_off'] . '"/> '.($ms['tip']==4 ? 'До ответа на пост <span class="gray"><small>(1-30 сек.)</small></span>' : 'Между фразами <span class="gray"><small>(5-60 сек.)</small></span>').'</li>';
      if ($ms['tip'] && $ms['tip'] < 4)
        echo '<li><input type="text" name="time_on" size="3" maxlength="3" value="' . $mass_bot['time_on'] . '"/> Ожидание ответа <span class="gray"><small>(60-300 сек.)</small></span></li>';
      if ($ms['tip'] > 1)
        echo '<li><input type="text" name="time_1" size="3" maxlength="3" value="' . $mass_bot['time_1'] . '"/> '.($ms['tip']==4 ? 'Ожидание поста <span class="gray"><small>(60-600 сек.)</small></span>' : 'До подсказки <span class="gray"><small>(30-180 сек.)</small></span>').'</li>';
      if ($ms['tip'] == 3)
        echo '<li><input type="text" name="time_2" size="3" maxlength="3" value="' . $mass_bot['time_2'] . '"/> До 2 подсказки <span class="gray"><small>(60-240 сек.)</small></span></li>';
      echo '</ul></p>';
      echo '<p><h3><img src="img/balloons_edit.png" width="16" height="16" class="left" />&#160;Фразы:</h3><ul>';
      echo '<li><p>'.(!$ms['tip'] || $ms['tip'] == 4 ? 'Фраза:'.($ms['tip'] == 4 ? '*' : '') : 'Вопрос:').'<br /><input type="text" name="vopros" value="' . htmlentities(str_replace('\r\n', "\r\n", $mass_bot['vopros']), ENT_QUOTES, 'UTF-8') . '"/><br />'; 
      echo '<small>&#160;&#160;<span style="color:blue">[text]</span> - вопрос/фраза<br />';
      if ($ms['tip'] && $ms['tip'] != 4)
        echo '&#160;&#160;<span style="color:blue">[text_count]</span> - кол-во символов в ответе';
      echo '</small></p></li>';
      if ($ms['tip'] > 1) {
        echo '<li><p>'.($ms['tip']==4 ? 'Приветствие:**' : 'Подсказка:').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="pods_1">'.htmlentities(str_replace('\r\n', "\r\n", $mass_bot['pods_1']), ENT_QUOTES, 'UTF-8').'</textarea><br />'; 
        echo '<small>';
        if ($ms['tip'] != 4)
          echo '&#160;&#160;<span style="color:blue">[text]</span> - подсказка';
        echo '</small></p></li>';
      }
      if ($ms['tip'] == 3) {
        echo '<li><p>Вторая подсказка:<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="pods_2">'.htmlentities(str_replace('\r\n', "\r\n", $mass_bot['pods_2']), ENT_QUOTES, 'UTF-8').'</textarea><br />'; 
        echo '<small>&#160;&#160;<span style="color:blue">[text]</span> - подсказка</small></p></li>';
      }
      if ($ms['tip']) {
        echo '<li><p>'.($ms['tip']==4 ? 'Если юзер молчит:**' : 'Новый вопрос:').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="nev_vop">'.htmlentities(str_replace('\r\n', "\r\n", $mass_bot['nev_vop']), ENT_QUOTES, 'UTF-8').'</textarea><br />';
        echo '<small>';
        if ($ms['tip'] != 4)
          echo '&#160;&#160;<span style="color:blue">[time]</span> - время до вопроса';
        echo '</small></p></li>';
        echo '<li><p>'.($ms['tip']==4 ? 'Если в базе нет ответа:**' : 'Никто не ответил:').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="no_otv">'.htmlentities(str_replace('\r\n', "\r\n", $mass_bot['no_otv']), ENT_QUOTES, 'UTF-8').'</textarea><br />';
        echo '<small>';
        if ($ms['tip'] != 4)
          echo '&#160;&#160;<span style="color:blue">[text]</span> - ответ';
        echo '</small></p></li>';
      }
      if ($ms['tip'] && $ms['tip'] != 4)
        echo '<li>'.($ms['tip'] == 1 ? 'Правильный ответ:*' : 'Правильный ответ без подсказок:*').'<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="otv_0">'.htmlentities(str_replace('\r\n', "\r\n", $mass_bot['otv_0']), ENT_QUOTES, 'UTF-8').'</textarea></li>';
      if ($ms['tip'] > 1 && $ms['tip'] != 4)
        echo '<li>Правильный ответ с подсказкой:*<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="otv_1">'.htmlentities(str_replace('\r\n', "\r\n", $mass_bot['otv_1']), ENT_QUOTES, 'UTF-8').'</textarea></li>';
      if ($ms['tip'] == 3)
        echo '<li>Правильный ответ с 2 подсказками:*<br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="otv_2">'.htmlentities(str_replace('\r\n', "\r\n", $mass_bot['otv_2']), ENT_QUOTES, 'UTF-8').'</textarea></li>';
      if ($ms['tip'] && $ms['tip'] != 4) {  
        echo '<p>*<small>';
        echo '&#160;&#160;<span style="color:blue">[login]</span> - логин пользователя<br />';
        echo '&#160;&#160;<span style="color:blue">[text]</span> - ответ<br />';
        echo '&#160;&#160;<span style="color:blue">[time]</span> - затраченное время<br />';
        echo '&#160;&#160;<span style="color:blue">[balls]</span> - балов за ответ<br />';
        echo '&#160;&#160;<span style="color:blue">[balans]</span> - всего балов<br />';
        echo '&#160;&#160;<span style="color:blue">[otvetov]</span> - всего ответов<br />';
        echo '&#160;&#160;Для вывода разных сообщений в зависимости от пола вошедшего впишите оба варианта через знак <span style="color:blue">|</span> (М|Ж)';
        echo '</small></p>';
      } elseif ($ms['tip'] == 4) {
         echo '<p>*<small>';
         echo '&#160;&#160;<span style="color:blue">[login]</span> - логин пользователя<br /></small>';
         echo '**<small>&#160;&#160;Для случайного вывода одной из нескольких фраз перечислите все варианты через знак <span style="color:blue">|</span>';
         echo '</small></p>';
      }
      echo '</ul></p></div>';
      if ($ms['tip'] && $ms['tip'] != 4) {
        echo '<div class="list2"><p><h3><img src="img/medal_edit.png" width="16" height="16" class="left" />&#160;Награда:</h3><ul>';
        echo '<li><input type="text" name="pods_0_n" size="3" maxlength="3" value="' . $mass_bot['pods_0_n'] . '"/> За ответ</li>'; 
        if ($ms['tip'] > 1)
          echo '<li><input type="text" name="pods_1_n" size="3" maxlength="3" value="' . $mass_bot['pods_1_n'] . '"/> За ответ с подсказкой.</li>'; 
        if ($ms['tip'] > 2)
          echo '<li><input type="text" name="pods_2_n" size="3" maxlength="3" value="' . $mass_bot['pods_2_n'] . '"/> За ответ с 2 подсказками.</li>'; 
        echo '</ul></p></div>'; 
      }
      echo '<div class="gmenu">';      
      echo '<input type="submit" name="submit" value="Сохранить"/>';
      echo '</div>';
      echo '</form>';
      echo '<div class="phdr"><a href="?act=mod_bots">Назад</a></div>';
    }
  break;
  
  case 'edit_author' :
    /*
    -----------------------------------------------------------------
    Редактирование данных автора бота
    -----------------------------------------------------------------
    */
    if (!$id) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    $typ = mysql_query("SELECT * FROM `chat_bot` WHERE `id` = '" . $id . "'");
    if (!mysql_num_rows($typ)) {
      header("Location: menu.php?act=mod_bots&do=error");
     exit;
    }
    $ms = mysql_fetch_array($typ);
    $mass_author = unserialize($ms['mass_author']);
    if (isset ($_POST['submit'])) {
      // Принимаем и фильтруем переменные
      $mass_author['author'] = isset($_POST['author']) ? check(mb_substr($_POST['author'], 0, 50)) : '';      
      $mass_author['author_email'] = isset($_POST['author_email']) ? check(mb_substr($_POST['author_email'], 0, 500)) : '';
      $mass_author['version'] = isset($_POST['version']) ? abs(intval($_POST['version'])) : 0;
      $mass_author['description'] = isset($_POST['description']) ? check(mb_substr($_POST['description'], 0, 500)) : '';
      mysql_query("UPDATE `chat_bot` SET `mass_author` = '" . mysql_real_escape_string(serialize($mass_author)) . "' WHERE `id` = '" . $id . "'");
      header("Location: ?act=mod_bots&do=b_i");
     exit;
    } else {                             
      echo '<small><div class="bmenu"><a href="menu.php?act=mod_bots&amp;mod=edit&amp;id='.$id.'">Бот</a> | <b>Автор</b></div></small>';
      echo '<form action="?act=mod_bots&amp;mod=edit_author&amp;id=' . $id . '" method="post">';      
      echo '<div class="menu">';
      echo '<p><h3><img src="img/bot.png" width="16" height="16" class="left" />&#160;Редактирование бота:</h3><ul>';      
      echo '<li>Автор: <br /><input type="text" name="author" value="' . $mass_author['author'] . '"/></li>';
      echo '<li>Версия: <br /><input type="text" name="version" value="' . $mass_author['version'] . '"/></li>';
      echo '<li>Email: <br /><input type="text" name="author_email" value="' . $mass_author['author_email'] . '"/></li>';
      echo '<li>Описание: <br /><textarea cols="' . $set_chat['carea_w'] . '" rows="' . $set_chat['carea_h'] . '" name="description">' . str_replace('<br />', "\r\n", $mass_author['description']) . '</textarea></li>';
      echo '</ul></p></div>';
      echo '<div class="gmenu">';      
      echo '<input type="submit" name="submit" value="Сохранить"/>';
      echo '</div>';
      echo '</form>';
      echo '<div class="phdr"><a href="?act=mod_bots">Назад</a></div>';
    }
  break;

  default :
    /*
    -----------------------------------------------------------------
    Список всех ботов
    -----------------------------------------------------------------
    */
    switch ($do) {

      case 'b_u':
        echo '<div class="gmenu"><b>Бот удалён!</b></div>';
      break;
    
      case 'b_d':
        echo '<div class="gmenu"><b>Бот добавлен!</b></div>';
      break;
    
      case 'b_i':
        echo '<div class="gmenu"><b>Бот изменён!</b></div>';
      break;
     
      case 'error':
        echo '<div class="rmenu"><b>Ошибка!</b></div>';
      break;
     
      default :
        echo '';
    }
    $req = mysql_query("SELECT `id`, `name`, `mass_bot`, `mass_author` FROM `chat_bot`");
    while ($res = mysql_fetch_assoc($req)) {
      $mass_author = unserialize($res['mass_author']);
      $mass_bot = unserialize($res['mass_bot']);
      // Кол-во фраз бота.
      $col_vo = mysql_result(mysql_query("SELECT COUNT(*) FROM `chat_vop` WHERE `id_bot` = '" . $res['id'] . "'"), 0);
      echo ($i % 2) ? '<div class="list2">' : '<div class="list1">';
      // Информация о боте    
      if ($set_user['avatar']) {
        echo '<table cellpadding="0" cellspacing="0"><tr><td>';
        if (file_exists(('img/' . $mass_bot['av']) . '.png'))
          echo '<img src="img/' . $mass_bot['av'] . '.png" width="32" height="32" alt="" />&#160;';
        else
          echo '<img src="' . $set['homeurl'] . '/images/empty.png" width="32" height="32" alt="" />&#160;';
        echo '</td><td>';
      }
      if ($mass_bot['sex'])
        echo '<img src="'.$set['homeurl'].'/theme/'.$set_user['skin'].'/images/'.($mass_bot['sex'] == 'm' ? 'm' : 'w').'.png" width="16" height="16" align="middle" alt="'.($mass_bot['sex'] == 'm' ? 'М' : 'Ж').'"/>&#160;';
      else
        echo '<img src="' . $set['homeurl'] . '/images/del.png" width="12" height="12" align="middle" />&#160;';
      echo  '<a href="anketa.php?id=' . $res['id'] . '"><b>' . $res['name'] . '</b></a>';
      echo '<span class="green"> [ON]</span>';
      if (!empty($mass_bot['status']))
        echo '<div class="status"><img src="' . $set['homeurl'] . '/theme/' . $set_user['skin'] . '/images/label.png" alt="" align="middle" />&#160;' . $mass_bot['status'] . '</div>';
      if ($set_user['avatar'])
        echo '</td></tr></table>';
      echo '<div class="sub">';
      echo '<a href="?act=mod_phrases&amp;id=' . $res['id'] . '">Фразы ('.$col_vo.')</a> | ';
      echo '<a href="?act=mod_bots&amp;mod=bak&amp;id=' . $res['id'] . '">Бек.</a> | ';
      echo '<a href="?act=mod_bots&amp;mod=edit&amp;id=' . $res['id'] . '">Изм.</a> | ';
      echo '<a href="?act=mod_bots&amp;mod=del&amp;id=' . $res['id'] . '">Удалить</a>';
      echo (!empty($mass_author['version']) && $mass_author['iso'] ? '<br /><small class="gray">build:</small>' . $mass_author['version'] . '&#160;<span class="green">[' . $mass_author['iso'] . ']</span>' : '');
      echo (!empty($mass_author['author']) ? '<br /><span class="gray">Автор:</span> ' . $mass_author['author'] : '');
      echo (!empty($mass_author['author_email']) ? '<br /><span class="gray">E-mail:</span> ' . $mass_author['author_email'] : '');
      echo (!empty($mass_author['author_url']) ? '<br /><span class="gray">URL:</span> ' . $mass_author['author_url'] : '');
      echo (!empty($mass_author['description']) ? '<br /><span class="gray">Описание:</span> ' . $mass_author['description'] : '');
      echo '</div></div>';
     ++$i;
    }
    echo '<div class="gmenu"><form action="?act=mod_bots&amp;mod=nev" method="post"><input type="submit" value="Добавить бота" /></form></div>';
    echo '<div class="phdr"><a href="index.php">В чат</a></div>';
}
echo '<p><a href="menu.php">Меню</a><br /><a href="../' . $set['admp'] . '/index.php">Админ панель</a></p>';

?>