summaryrefslogtreecommitdiff
path: root/post.php
diff options
context:
space:
mode:
authorSavetheinternet <savetheinternet@n0v4.com>2011-01-20 19:24:41 +1100
committerSavetheinternet <savetheinternet@n0v4.com>2011-01-20 19:24:41 +1100
commite1e5dc713e9f7fdf44618f94065290f97357279b (patch)
tree271f0c8291c7d2cfd9009c6482aed8df35aec8cc /post.php
parenta62cd3893fbed75caee158db6ff1b73452aaee5d (diff)
reply limit and mutes
Diffstat (limited to 'post.php')
-rw-r--r--post.php64
1 files changed, 42 insertions, 22 deletions
diff --git a/post.php b/post.php
index b8724522..04250ff7 100644
--- a/post.php
+++ b/post.php
@@ -1,4 +1,7 @@
<?php
+ file_put_contents('test.log', "\n\nNEW POST\n", FILE_APPEND);
+ file_put_contents('test.log', print_r($_FILES, true), FILE_APPEND);
+
require 'inc/functions.php';
require 'inc/display.php';
if (file_exists('inc/instance-config.php')) {
@@ -69,6 +72,10 @@
if(!openBoard($post['board']))
error(ERROR_NOBOARD);
+ if(ROBOT_ENABLE && $board['uri'] == ROBOT_BOARD && ROBOT_MUTE) {
+ checkMute();
+ }
+
//Check if thread exists
if(!$OP && !threadExists($post['thread']))
error(ERROR_NONEXISTANT);
@@ -159,24 +166,7 @@
if($post['mod_tag'])
$post['trip'] .= ' <a class="nametag">## ' . $post['mod_tag'] . '</a>';
- if(!($mod && $mod['type'] >= MOD_POSTUNORIGINAL) && ROBOT_ENABLE && $board['uri'] == ROBOT_BOARD && checkRobot($post['body'])) {
- if(ROBOT_MUTE) {
- $mutetime = ROBOT_MUTE_MIN+rand()%(ROBOT_MUTE_MAX-ROBOT_MUTE_MIN);
-
- $query = prepare("INSERT INTO `bans` VALUES (:ip, :mod, :set, :expires, :reason)");
- $query->bindValue(':ip', $_SERVER['REMOTE_ADDR']);
- $query->bindValue(':mod', -1, PDO::PARAM_INT);
- $query->bindValue(':set', time(), PDO::PARAM_INT);
- $query->bindValue(':expires', time()+$mutetime, PDO::PARAM_INT);
- $query->bindValue(':reason', ROBOT_MUTE_DESCRIPTION);
- $query->execute() or error(db_error($query));
-
- error(sprintf(ERROR_MUTED, $mutetime));
- } else {
- error(ERROR_UNORIGINAL);
- }
- }
-
+ $post['body_nomarkup'] = $post['body'];
markup($post['body']);
// Check for a flood
@@ -185,11 +175,14 @@
}
if($post['has_file']) {
+ file_put_contents('test.log', "There is a file, I'm about to move it!\n", FILE_APPEND);
// Just trim the filename if it's too long
if(strlen($post['filename']) > 30) $post['filename'] = substr($post['filename'], 0, 27).'…';
// Move the uploaded file
if(!@move_uploaded_file($_FILES['file']['tmp_name'], $post['file'])) error(ERROR_NOMOVE);
+ file_put_contents('test.log', "Moved it successfully (to {$post['file']}), I think!\n", FILE_APPEND);
+
if($post['zip']) {
// Validate ZIP file
if(is_resource($zip = zip_open($post['zip'])))
@@ -202,10 +195,14 @@
$post['extension'] = strtolower(substr($post['file'], strrpos($post['file'], '.') + 1));
}
+ file_put_contents('test.log', "Getting image size of {$post['file']}\n", FILE_APPEND);
+
$size = @getimagesize($post['file']);
$post['width'] = $size[0];
$post['height'] = $size[1];
+ file_put_contents('test.log', "GOT IT! {$post['width']}x{$post['height']}\n", FILE_APPEND);
+
// Check if the image is valid
if($post['width'] < 1 || $post['height'] < 1) {
unlink($post['file']);
@@ -217,12 +214,18 @@
error(ERR_MAXSIZE);
}
+ file_put_contents('test.log', "Making a hash\n", FILE_APPEND);
+
$hash_function = FILE_HASH;
$post['filehash'] = $hash_function($post['file']);
$post['filesize'] = filesize($post['file']);
+ file_put_contents('test.log', "Got a hash ({$post['filehash']})! Loading image...\n", FILE_APPEND);
+
$image = createimage($post['extension'], $post['file']);
+ file_put_contents('test.log', "Image loaded!\n", FILE_APPEND);
+
if(REDRAW_IMAGE && !$post['zip']) {
switch($post['extension']) {
case 'jpg':
@@ -245,19 +248,32 @@
}
}
+ file_put_contents('test.log', "Resizing...\n", FILE_APPEND);
// Create a thumbnail
$thumb = resize($image, $post['width'], $post['height'], $post['thumb'], THUMB_WIDTH, THUMB_HEIGHT);
+ file_put_contents('test.log', "Resized!\n", FILE_APPEND);
+
$post['thumbwidth'] = $thumb['width'];
$post['thumbheight'] = $thumb['height'];
}
+ if(!($mod && $mod['type'] >= MOD_POSTUNORIGINAL) && ROBOT_ENABLE && $board['uri'] == ROBOT_BOARD && checkRobot($post['body_nomarkup'])) {
+ if(ROBOT_MUTE) {
+ error(sprintf(ERROR_MUTED, mute()));
+ } else {
+ error(ERROR_UNORIGINAL);
+ }
+ }
+
// Remove DIR_* before inserting them into the database.
if($post['has_file']) {
$post['file'] = substr_replace($post['file'], '', 0, strlen($board['dir'] . DIR_IMG));
$post['thumb'] = substr_replace($post['thumb'], '', 0, strlen($board['dir'] . DIR_THUMB));
}
+ file_put_contents('test.log', "Posting...!\n", FILE_APPEND);
+
// Todo: Validate some more, remove messy code, allow more specific configuration
$id = post($post, $OP);
@@ -357,10 +373,14 @@
unlink($post['zip']);
}
- buildThread(($OP?$id:$post['thread']));
-
- if(!$OP && $post['email'] != 'sage') {
- bumpThread($post['thread']);
+ if(numPosts($OP?$id:$post['thread']) > REPLY_LIMIT) {
+ deletePost($OP?$id:$post['thread']);
+ } else {
+ buildThread(($OP?$id:$post['thread']));
+
+ if(!$OP && $post['email'] != 'sage') {
+ bumpThread($post['thread']);
+ }
}
if($OP)