Example #1
0
     echo '<input type="submit" value="Купить билет" /></form>';
     echo '<hr />В этом туре участвуют: ' . (int) $total . '<br />';
     echo 'Cтоимость билета ' . moneys(50) . '<br />';
     echo 'В наличии: ' . moneys($udata[41]) . '<br />';
     echo '<br /><img src="../images/img/chat.gif" alt="image" /> <a href="loterea.php?action=show&amp;' . SID . '">Участники</a><br />';
 }
 ############################################################################################
 ##                                    Покупка билета                                      ##
 ############################################################################################
 if ($action == "bilet") {
     $bilet = (int) $_POST['bilet'];
     if ($bilet > 0 && $bilet <= 100) {
         if ($udata[41] >= 50) {
             $string = search_string(DATADIR . "loterea.dat", $log, 1);
             if (empty($string)) {
                 $ulot = read_string(DATADIR . "loterea.dat", 0);
                 $textlot = no_br('|' . $ulot[1] . '|' . ($ulot[2] + 50) . '|' . $ulot[3] . '|' . $ulot[4] . '|' . $ulot[5] . '|');
                 replace_lines(DATADIR . "loterea.dat", 0, $textlot);
                 $text = no_br('|' . $log . '|' . $bilet . '|');
                 write_files(DATADIR . "loterea.dat", "{$text}\r\n");
                 change_profil($log, array(41 => $udata[41] - 50));
                 echo '<b>Билет успешно приобретен!</b><br />';
                 echo 'Результат розыгрыша станет известным после полуночи!<br />';
             } else {
                 show_error('Вы уже купили билет! Нельзя покупать дважды!');
             }
         } else {
             show_error('Вы не можете купить билет, т.к. на вашем счету недостаточно средств!');
         }
     } else {
         show_error('Неверный ввод данных! Введите число от 1 до 100 включительно!');
Example #2
0
function register_user($dbh, &$user, &$errors)
{
    $user = array();
    $errors = empty_errors();
    // считываем строки из запроса
    read_string($_POST, 'nickname', $user, $errors, 2, 64, true);
    read_email($_POST, 'email', $user, $errors, 2, 64, true);
    read_string($_POST, 'password', $user, $errors, 6, 24, true);
    read_string($_POST, 'password_confirmation', $user, $errors, 6, 24, true);
    read_string($_POST, 'fullname', $user, $errors, 1, 80, true);
    read_list($_POST, 'gender', $user, $errors, array('M', 'F'), false);
    read_bool($_POST, 'newsletter', $user, $errors, '1', false, false);
    // пароль и подтверждение пароля должны совпадать
    if (!is_error($errors, 'password') && !is_error($errors, 'password_confirmation') && $user['password'] != $user['password_confirmation']) {
        $errors['fields'][] = 'password';
        add_error($errors, 'password_confirmation', 'dont-match');
    }
    if (has_errors($errors)) {
        return false;
    }
    // защищаем пароль пользователя
    $user['password'] = crypt($user['password']);
    unset($user['password_confirmation']);
    // форма передана правильно, сохраняем пользователя в базу данных
    $db_user = db_user_insert($dbh, $user);
    // автоматически логиним пользователя после регистрации, запоминая его в сессии
    store_current_user_id($db_user['id']);
    return true;
}
Example #3
0
function add_product($dbh, &$product, &$errors)
{
    $product = array();
    $errors = empty_errors();
    // считываем строки из запроса
    read_string($_POST, 'title', $product, $errors, 2, 60, false);
    read_integer($_POST, 'category_id', $product, $errors, 1, null, true);
    read_decimal($_POST, 'price', $product, $errors, '0.0', null, true);
    read_integer($_POST, 'stock', $product, $errors, 1, null, true);
    read_string($_POST, 'description', $product, $errors, 1, 10000, false, null, false);
    read_img($_FILES, 'img', $product, $errors, 0, 204800, true);
    if (has_errors($errors)) {
        return false;
    }
    // форма передана правильно, сохраняем пользователя в базу данных
    $db_product = db_product_insert($dbh, $product);
    return true;
}
Example #4
0
     ############################################################################################
     ##                                  Изменение сообщения                                   ##
     ############################################################################################
 ############################################################################################
 ##                                  Изменение сообщения                                   ##
 ############################################################################################
 case "changepost":
     $config['newtitle'] = 'Изменение сообщения';
     $post = isset($_GET['post']) ? abs(intval($_GET['post'])) : null;
     $msg = check($_POST['msg']);
     $author = check($_POST['author']);
     $forum = search_string(DATADIR . "dataforum/mainforum.dat", $fid, 0);
     if ($forum) {
         $topic = search_string(DATADIR . "dataforum/topic{$fid}.dat", $id, 0);
         if ($topic) {
             $data = read_string(DATADIR . 'dataforum/' . $fid . '-' . $id . '.dat', $post);
             if ($data) {
                 if (check_user($author)) {
                     if (utf_strlen(trim($msg)) >= 5 && utf_strlen($msg) <= 5000) {
                         $posttext = $data[0] . '|' . $data[1] . '|' . $author . '|' . $msg . '|' . $data[4] . '|' . $data[5] . '|';
                         replace_lines(DATADIR . 'dataforum/' . $fid . '-' . $id . '.dat', $post, $posttext);
                         $_SESSION['note'] = 'Сообщение успешно изменено!';
                         redirect("forum.php?act=topic&fid={$fid}&id={$id}&start={$start}&" . SID);
                     } else {
                         show_error('Слишком длинный или короткий текст сообщения (Необходимо от 5 до 5000 символов)');
                     }
                 } else {
                     show_error('Аккаунт пользователя ' . $author . ' не найден!');
                 }
             } else {
                 show_error('Ошибка! Данное сообщение не найдено!');