Beispiel #1
0
 ############################################################################################
 case 'spam':
     $uid = check($_GET['uid']);
     $pid = abs(intval($_GET['pid']));
     if (is_user()) {
         if ($uid == $_SESSION['token']) {
             $data = DB::run()->queryFetch("SELECT * FROM `posts` WHERE `posts_id`=? LIMIT 1;", array($pid));
             if (!empty($data)) {
                 $queryspam = DB::run()->querySingle("SELECT `spam_id` FROM `spam` WHERE `spam_key`=? AND `spam_idnum`=? LIMIT 1;", array(1, $pid));
                 if (empty($queryspam)) {
                     if (is_flood($log)) {
                         DB::run()->query("INSERT INTO `spam` (`spam_key`, `spam_idnum`, `spam_user`, `spam_login`, `spam_text`, `spam_time`, `spam_addtime`, `spam_link`) VALUES (?, ?, ?, ?, ?, ?, ?, ?);", array(1, $data['posts_id'], $log, $data['posts_user'], $data['posts_text'], $data['posts_time'], SITETIME, $config['home'] . '/forum/topic.php?tid=' . $tid . '&start=' . $start));
                         $_SESSION['note'] = 'Жалоба успешно отправлена!';
                         redirect("topic.php?tid={$tid}&start={$start}");
                     } else {
                         show_error('Антифлуд! Разрешается жаловаться на спам не чаще чем раз в ' . flood_period() . ' секунд!');
                     }
                 } else {
                     show_error('Ошибка! Жалоба на данное сообщение уже отправлена!');
                 }
             } else {
                 show_error('Ошибка! Выбранное вами сообщение для жалобы не существует!');
             }
         } else {
             show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
         }
     } else {
         show_login('Вы не авторизованы, чтобы подать жалобу, необходимо');
     }
     render('includes/back', array('link' => 'topic.php?tid=' . $tid . '&start=' . $start, 'title' => 'Вернуться'));
     break;
Beispiel #2
0
                                        }
                                    }
                                    change_profil($log, array(8 => $udata[8] + 1, 14 => $ip, 36 => $udata[36] + 1, 41 => $udata[41] + 1));
                                    $_SESSION['note'] = 'Тема успешно создана!';
                                    redirect("topic.php?fid={$fid}&id={$id}&" . SID);
                                } else {
                                    show_error('Слишком длинный или короткий текст сообщения (Необходимо от 5 до 3000 символов)');
                                }
                            } else {
                                show_error('Слишком длинный или короткий заголовок (Необходимо от 5 до 50 символов)');
                            }
                        } else {
                            show_error('Карантин! Вы не можете писать в течении ' . round($config['karantin'] / 3600) . ' часов!');
                        }
                    } else {
                        show_error('Антифлуд! Разрешается отправлять сообщения раз в ' . flood_period() . ' секунд!');
                    }
                } else {
                    show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
                }
            } else {
                show_login('Вы не авторизованы, чтобы добавить сообщение, необходимо');
            }
        } else {
            show_error('Ошибка! Даннго раздела для создании темы не существует!');
        }
        echo '<img src="/images/img/back.gif" alt="image" /> <a href="forum.php?act=new&amp;fid=' . $fid . '&amp;' . SID . '">Вернуться</a><br />';
        break;
    default:
        redirect('index.php?' . SID);
}
Beispiel #3
0
     break;
     ############################################################################################
     ##                                     Cоздание темы                                      ##
     ############################################################################################
 ############################################################################################
 ##                                     Cоздание темы                                      ##
 ############################################################################################
 case 'add':
     $uid = !empty($_GET['uid']) ? check($_GET['uid']) : 0;
     $fid = isset($_POST['fid']) ? abs(intval($_POST['fid'])) : 0;
     $title = isset($_POST['title']) ? check($_POST['title']) : '';
     $msg = isset($_POST['msg']) ? check($_POST['msg']) : '';
     if (is_user()) {
         $forums = DB::run()->queryFetch("SELECT * FROM `forums` WHERE `forums_id`=? LIMIT 1;", array($fid));
         $validation = new Validation();
         $validation->addRule('equal', array($uid, $_SESSION['token']), 'Неверный идентификатор сессии, повторите действие!')->addRule('not_empty', $forums, 'Раздела для новой темы не существует!')->addRule('empty', $forums['forums_closed'], 'В данном разделе запрещено создавать темы!')->addRule('equal', array(is_quarantine($log), true), 'Карантин! Вы не можете писать в течении ' . round($config['karantin'] / 3600) . ' часов!')->addRule('equal', array(is_flood($log), true), 'Антифлуд! Разрешается отправлять сообщения раз в ' . flood_period() . ' сек!')->addRule('string', $title, 'Слишком длинный или короткий заголовок темы!', true, 5, 50)->addRule('string', $msg, 'Слишком длинное или короткое сообщение!', true, 5, $config['forumtextlength']);
         /* Сделать проверку поиска похожей темы */
         if ($validation->run()) {
             $title = antimat($title);
             $msg = antimat($msg);
             DB::run()->query("UPDATE `users` SET `users_allforum`=`users_allforum`+1, `users_point`=`users_point`+1, `users_money`=`users_money`+5 WHERE `users_login`=?", array($log));
             DB::run()->query("INSERT INTO `topics` (`topics_forums_id`, `topics_title`, `topics_author`, `topics_posts`, `topics_last_user`, `topics_last_time`) VALUES (?, ?, ?, ?, ?, ?);", array($fid, $title, $log, 1, $log, SITETIME));
             $lastid = DB::run()->lastInsertId();
             DB::run()->query("INSERT INTO `posts` (`posts_topics_id`, `posts_forums_id`, `posts_user`, `posts_text`, `posts_time`, `posts_ip`, `posts_brow`) VALUES (?, ?, ?, ?, ?, ?, ?);", array($lastid, $fid, $log, $msg, SITETIME, $ip, $brow));
             DB::run()->query("UPDATE `forums` SET `forums_topics`=`forums_topics`+1, `forums_posts`=`forums_posts`+1, `forums_last_id`=?, `forums_last_themes`=?, `forums_last_user`=?, `forums_last_time`=? WHERE `forums_id`=?", array($lastid, $title, $log, SITETIME, $fid));
             // Обновление родительского форума
             if ($forums['forums_parent'] > 0) {
                 DB::run()->query("UPDATE `forums` SET `forums_last_id`=?, `forums_last_themes`=?, `forums_last_user`=?, `forums_last_time`=? WHERE `forums_id`=?", array($lastid, $title, $log, SITETIME, $forums['forums_parent']));
             }
             notice('Новая тема успешно создана!');
             redirect("topic.php?tid={$lastid}");
Beispiel #4
0
 if ($uid == $_SESSION['token']) {
     if (utf_strlen($msg) >= 5 && utf_strlen($msg) <= 1000) {
         $data = DB::run()->queryFetch("SELECT * FROM `photo` WHERE `photo_id`=? LIMIT 1;", array($gid));
         if (!empty($data)) {
             if (empty($data['photo_closed'])) {
                 if (is_quarantine($log)) {
                     if (is_flood($log)) {
                         $msg = antimat($msg);
                         DB::run()->query("INSERT INTO `commphoto` (`commphoto_gid`, `commphoto_text`, `commphoto_user`, `commphoto_time`, `commphoto_ip`, `commphoto_brow`) VALUES (?, ?, ?, ?, ?, ?);", array($gid, $msg, $log, SITETIME, $ip, $brow));
                         DB::run()->query("DELETE FROM `commphoto` WHERE `commphoto_gid`=? AND `commphoto_time` < (SELECT MIN(`commphoto_time`) FROM (SELECT `commphoto_time` FROM `commphoto` WHERE `commphoto_gid`=? ORDER BY `commphoto_time` DESC LIMIT " . $config['maxpostgallery'] . ") AS del);", array($gid, $gid));
                         DB::run()->query("UPDATE `photo` SET `photo_comments`=`photo_comments`+1 WHERE `photo_id`=?;", array($gid));
                         DB::run()->query("UPDATE `users` SET `users_allcomments`=`users_allcomments`+1, `users_point`=`users_point`+1, `users_money`=`users_money`+5 WHERE `users_login`=?", array($log));
                         $_SESSION['note'] = 'Комментарий успешно добавлен!';
                         redirect("index.php?act=end&gid={$gid}");
                     } else {
                         show_error('Антифлуд! Разрешается отправлять комментарии раз в ' . flood_period() . ' секунд!');
                     }
                 } else {
                     show_error('Карантин! Вы не можете писать в течении ' . round($config['karantin'] / 3600) . ' часов!');
                 }
             } else {
                 show_error('Ошибка! Комментирование данной фотографии запрещено!');
             }
         } else {
             show_error('Ошибка! Данного изображения не существует!');
         }
     } else {
         show_error('Ошибка! Слишком длинный или короткий комментарий!');
     }
 } else {
     show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
Beispiel #5
0
     }
     echo '<img src="/images/img/back.gif" alt="image" /> <a href="index.php">К новостям</a><br />';
     break;
     ############################################################################################
     ##                                Добавление комментариев                                 ##
     ############################################################################################
 ############################################################################################
 ##                                Добавление комментариев                                 ##
 ############################################################################################
 case 'add':
     $uid = !empty($_GET['uid']) ? check($_GET['uid']) : 0;
     $msg = isset($_POST['msg']) ? check($_POST['msg']) : '';
     if (is_user()) {
         $data = DB::run()->queryFetch("SELECT * FROM `news` WHERE `news_id`=? LIMIT 1;", array($id));
         $validation = new Validation();
         $validation->addRule('equal', array($uid, $_SESSION['token']), 'Неверный идентификатор сессии, повторите действие!')->addRule('equal', array(is_quarantine($log), true), 'Карантин! Вы не можете писать в течении ' . round($config['karantin'] / 3600) . ' часов!')->addRule('equal', array(is_flood($log), true), 'Антифлуд! Разрешается комментировать раз в ' . flood_period() . ' сек!')->addRule('not_empty', $data, 'Выбранной новости не существует, возможно она было удалена!')->addRule('string', $msg, 'Слишком длинный или короткий комментарий!', true, 5, 1000)->addRule('empty', $data['news_closed'], 'Комментирование данной новости запрещено!');
         if ($validation->run()) {
             $msg = antimat($msg);
             DB::run()->query("INSERT INTO `commnews` (`commnews_news_id`, `commnews_text`, `commnews_author`, `commnews_time`, `commnews_ip`, `commnews_brow`) VALUES (?, ?, ?, ?, ?, ?);", array($id, $msg, $log, SITETIME, $ip, $brow));
             DB::run()->query("DELETE FROM `commnews` WHERE `commnews_news_id`=? AND `commnews_time` < (SELECT MIN(`commnews_time`) FROM (SELECT `commnews_time` FROM `commnews` WHERE `commnews_news_id`=? ORDER BY `commnews_time` DESC LIMIT " . $config['maxkommnews'] . ") AS del);", array($id, $id));
             DB::run()->query("UPDATE `news` SET `news_comments`=`news_comments`+1 WHERE `news_id`=?;", array($id));
             DB::run()->query("UPDATE `users` SET `users_allcomments`=`users_allcomments`+1, `users_point`=`users_point`+1, `users_money`=`users_money`+5 WHERE `users_login`=?", array($log));
             notice('Комментарий успешно добавлен!');
             if (isset($_GET['read'])) {
                 redirect("index.php?act=read&id={$id}");
             }
             redirect("index.php?act=end&id={$id}");
         } else {
             show_error($validation->getErrors());
         }
     } else {