diff --git a/inc/config.php b/inc/config.php index 6b7b2779..f0baf600 100644 --- a/inc/config.php +++ b/inc/config.php @@ -195,7 +195,8 @@ 'raw', 'embed', 'recaptcha_challenge_field', - 'recaptcha_response_field' + 'recaptcha_response_field', + 'spoiler' ); // Custom flood filters. Detect flood attacks and reject new posts if there's a positive match. @@ -301,6 +302,9 @@ // $config['custom_tripcode']['#test123'] = '!HelloWorld'; // $config['custom_tripcode']['##securetrip'] = '!!somethingelse'; + // TODO: description + $config['spoiler_images'] = false; + /* * ==================== * Image settings @@ -330,6 +334,8 @@ // Thumbnail to use for the downloadable files (not images) $config['file_thumb'] = 'static/file.png'; + // Thumbnail to use for spoiler images + $config['spoiler_image'] = 'static/spoiler.png'; // Thumbnail quality (compression level), from 0 to 9 $config['thumb_quality'] = 7; diff --git a/inc/display.php b/inc/display.php index 88c52a38..5c698da0 100644 --- a/inc/display.php +++ b/inc/display.php @@ -339,6 +339,9 @@ $built .= '
' .
'File: ' . $this->file . ' ' .
'(' .
+ ($this->thumb == 'spoiler' ?
+ 'Spoiler Image, '
+ : '') .
// Filesize
format_bytes($this->filesize) .
// File dimensions
@@ -372,7 +375,11 @@
($this->thumb == 'file' ?
$config['file_thumb']
:
- $config['uri_thumb'] . $this->thumb
+ ($this->thumb == 'spoiler' ?
+ $config['spoiler_image']
+ :
+ $config['uri_thumb'] . $this->thumb
+ )
) .
'" style="width:' . $this->thumbx . 'px;height:' . $this->thumby . 'px;" alt="" />';
} elseif($this->file == 'deleted') {
@@ -505,6 +512,9 @@
$built = ' ' .
'File: ' . $this->file . ' ' .
'(' .
+ ($this->thumb == 'spoiler' ?
+ 'Spoiler Image, '
+ : '') .
// Filesize
format_bytes($this->filesize) .
// File dimensions
@@ -538,7 +548,11 @@
($this->thumb == 'file' ?
$config['file_thumb']
:
- $config['uri_thumb'] . $this->thumb
+ ($this->thumb == 'spoiler' ?
+ $config['spoiler_image']
+ :
+ $config['uri_thumb'] . $this->thumb
+ )
) .
'" style="width:' . $this->thumbx . 'px;height:' . $this->thumby . 'px;" alt="" />';
} elseif($this->file == 'deleted') {
diff --git a/post.php b/post.php
index 1b39cb3e..b679c85d 100644
--- a/post.php
+++ b/post.php
@@ -459,7 +459,6 @@
}
}
-
// create image object
$image = new Image($post['file'], $post['extension']);
@@ -471,23 +470,29 @@
$post['width'] = $image->size->width;
$post['height'] = $image->size->height;
- if($config['minimum_copy_resize'] &&
+ if($config['spoiler_images'] && isset($_POST['spoiler'])) {
+ $post['thumb'] = 'spoiler';
+
+ $size = @getimagesize($config['spoiler_image']);
+ $post['thumbwidth'] = $size[0];
+ $post['thumbheight'] = $size[1];
+ } elseif($config['minimum_copy_resize'] &&
$image->size->width <= $config['thumb_width'] &&
$image->size->height <= $config['thumb_height'] &&
$post['extension'] == ($config['thumb_ext'] ? $config['thumb_ext'] : $post['extension'])) {
-
+
// Copy, because there's nothing to resize
copy($post['file'], $post['thumb']);
-
+
$post['thumbwidth'] = $image->size->width;
$post['thumbheight'] = $image->size->height;
} else {
$thumb = $image->resize($config['thumb_ext'] ? $config['thumb_ext'] : $post['extension'], $config['thumb_width'], $config['thumb_height']);
$thumb->to($post['thumb']);
-
+
$post['thumbwidth'] = $thumb->width;
$post['thumbheight'] = $thumb->height;
-
+
$thumb->_destroy();
}
$image->destroy();
@@ -531,7 +536,7 @@
// Remove DIR_* before inserting them into the database.
if($post['has_file']) {
$post['file'] = substr_replace($post['file'], '', 0, strlen($board['dir'] . $config['dir']['img']));
- if($is_an_image)
+ if($is_an_image && $post['thumb'] != 'spoiler')
$post['thumb'] = substr_replace($post['thumb'], '', 0, strlen($board['dir'] . $config['dir']['thumb']));
}
diff --git a/templates/index.html b/templates/index.html
index f7fafb55..6cf5e41f 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -61,7 +61,7 @@