Exemple #1
0
 public function input_message($chat_id, $from, $from_id, $message_text)
 {
     global $bot_info, $db, $db_rs, $systems, $rs;
     // Из за того что у нас группа, надо ловить сообщения именно боту;
     //$message_text = str_replace('@'.$bot_info['username'], '', $message_text);
     // Отлавливаем команд с префиксом;
     $temp_command = explode(' ', $message_text);
     $command = strtolower($temp_command[0]);
     // Проверяем отдел пользователя;
     $sender_department = get_user_department($systems->user_telegram($from_id, ''));
     // ОБщаяя обработка команд;
     switch ($command) {
         /*
          * Первое знакомство или запрос помощи;
          * */
         case '/start':
         case '/help':
             // Проверяем, знаем ли мы этого пользователя;
             if ($systems->user_telegram($from_id) == false) {
                 // Если мы не знаем такого пользователя. Гооворим ему как зарегистрироваться;
                 $this->send_message($chat_id, "😥 Уважаемый " . $from . ". Вы пока не зарегистрированный пользователь.\nДля того что бы зарегистрироваться, вам нужно зайти в раздел Telegram в Системе Remontoff.\nИ следовать указанным там инструкциям. Удачи вам!");
             } else {
                 // Имя пользователя;
                 $user_full_name = get_user_full_name($systems->user_telegram($from_id));
                 // Формируем доступные команды;
                 if ($sender_department == '2' || $sender_department == '12') {
                     $command_list = "Вы руководитель и вам доступные следующие команды:\r\n/code - Прислать код для авторизации в системе.\r\n/money - Прислать текущее наличие ДС в кассах.\r\n/plan - Прислать результат выполнения плана на месяц.";
                 } else {
                     $command_list = "Вы обычный пользователь и вам доступные следующие команды:\r\n/code - Прислать код для авторизации в системе.";
                 }
                 // Если такой польователь уже есть;
                 $this->send_message($chat_id, "🙋 Привет " . $user_full_name . "!\r\n 💁" . $command_list);
             }
             return true;
             break;
             /*
              * Регистрация;
              * */
         /*
          * Регистрация;
          * */
         case '/reg':
             // Если сообщение содержить команду на регистрацию;
             // Забираем из нее код;
             $code = $temp_command[1];
             // Ищем этот код в базе;
             $user_id = $systems->get_telegram_reg($code);
             if ($user_id != false) {
                 // Сохраняем новый telegram id в базе;
                 $systems->save_telegram_id($user_id, $from_id);
                 $this->send_message($chat_id, "🙌 Поздравляем! Вы успешно привязали свою учетную запись к Telegram. Теперь я буду присылать вам важные уведомления. Список доступных команд /help");
                 return true;
             } else {
                 // Такой код не найден;
                 $this->send_message($chat_id, "🙅 Введенный вами код для регистрации не найден. Повторите попытку ввода команды. Или попробуйте сгенерировать новый код в разделе Telegram в Системе Remontoff.");
                 return true;
             }
             break;
             /*
              * Запрос кода авторизации;
              * */
         /*
          * Запрос кода авторизации;
          * */
         case '/code':
             // Нам надо имя пользователя;
             $user_id = $systems->user_telegram($from_id);
             $sql = "SELECT `user_name` FROM `users_apps` WHERE `id` = '" . $user_id . "';";
             $user_name = $db_rs->one($sql);
             $systems->auth_history($user_name, '', '', '', 'get_code');
             $this->gen_user_auth_key($chat_id);
             return true;
             break;
             /*
              * Деньги с кассах;
              * */
         /*
          * Деньги с кассах;
          * */
         case '/money':
             if ($sender_department != '2' && $sender_department != '12') {
                 $this->send_message($chat_id, "🙅 Данная команда для вас запрещена!");
                 return true;
             }
             $result_message = '';
             $sql = "SELECT `code`, `name`FROM `office` WHERE `kassa_list` = '1';";
             $office = $db->all($sql);
             $kassa_sum_full = 0;
             foreach ($office as $temp_array) {
                 // Получаем данные об остатках в кассах;
                 // Остаток на конец операционного дня;
                 $sql = "SELECT `id` FROM `kassa` WHERE `office` = '" . $temp_array['code'] . "';";
                 $all_cash = $db_rs->all($sql);
                 $kassa_cash_today = 0;
                 foreach ($all_cash as $kassa) {
                     $kassa_cash_today += calc_today_cash($kassa['id'], date('Y-m-d'));
                 }
                 $kassa_cash_yesterday = 0;
                 foreach ($all_cash as $kassa) {
                     $kassa_cash_yesterday += calc_yesterday_cash($kassa['id'], date('Y-m-d'));
                 }
                 $kassa_sum = $kassa_cash_today + $kassa_cash_yesterday;
                 $kassa_sum_full += $kassa_sum;
                 $result_message .= get_office_name($temp_array['code']) . ': ' . get_money_format($kassa_sum) . ' р.' . "\n";
             }
             $result_message .= 'Итого: ' . get_money_format($kassa_sum_full) . 'р.';
             $this->send_message($chat_id, $result_message);
             return true;
             break;
             /*
              * План и выполнение;
              * */
         /*
          * План и выполнение;
          * */
         case '/plan':
             if ($sender_department == '2' || $sender_department == '12') {
                 $this->send_message($chat_id, "🕑 Мне необходимо немного времени для расчета плана...");
                 // Собиарем информаци о планах и факты выполнения;
                 $this->send_message($chat_id, $this->get_money_plan_and_fact());
                 return true;
             } else {
                 $this->send_message($chat_id, "🙅 Данная команда для вас запрещена!");
                 return true;
             }
             break;
             /*
              * неизвестная команда;
              * */
         /*
          * неизвестная команда;
          * */
         default:
             $this->send_message($chat_id, "⚠ Неизвестная комманда.");
             return true;
             break;
     }
 }
    <select name="user">
        <option
            value=""><?php 
echo get_text('Choose_a') . ' ' . strtolower(get_text('User_as_participant'));
?>
</option>
        <?php 
foreach ($departments as $department) {
    ?>
            <optgroup label="<?php 
    echo $department['Name'];
    ?>
">
                <?php 
    foreach ($users as $user) {
        $user_department = get_user_department($user['ID']);
        if ($user_department == $department['ID']) {
            $selected = isset($_POST['user']) && !empty($_POST['user']) && $user['Username'] == $_POST['user'];
            if (!$selected) {
                if (isset($_POST['poll']) && !empty($_POST['poll'])) {
                    $poll = $_POST['poll'];
                    $reviewee_id = get_poll_reviewee($poll);
                    $selected = $user['ID'] == $reviewee_id;
                }
            }
            ?>
                        <option
                            value="<?php 
            echo $user['Username'];
            ?>
" <?php 
                </form>
            <?php 
    } else {
        if (isset($_POST['save'])) {
            $id = $_POST['user_id'];
            $firstname = $_POST['firstname'];
            $lastname = $_POST['lastname'];
            $department = $_POST['department'];
            $email = $_POST['email'];
            save_user($id, $firstname, $lastname, $email, $department);
        }
    }
}
foreach ($users as $user) {
    $email = get_user_email_by_id($user['ID']);
    $department = get_department_name(get_user_department($user['ID']));
    ?>
                <form action="<?php 
    echo $_SERVER['PHP_SELF'];
    ?>
" method="post" class="users">
                    <table>
                        <tbdoy>
                            <tr>
                                <td><?php 
    echo $user['ID'];
    ?>
</td>
                                <td><?php 
    echo $user['Firstname'];
    ?>