From 53dce652a863d819760fe4f878ccbb59c9c1a551 Mon Sep 17 00:00:00 2001 From: Savetheinternet Date: Tue, 4 Oct 2011 02:46:39 +1100 Subject: [PATCH] image spoilers --- inc/config.php | 8 +++++++- inc/display.php | 18 ++++++++++++++++-- post.php | 19 ++++++++++++------- templates/index.html | 2 +- templates/thread.html | 2 +- 5 files changed, 37 insertions(+), 12 deletions(-) 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 @@ - + {config[spoiler_images]? Spoiler Image} diff --git a/templates/thread.html b/templates/thread.html index 9fb2b91d..c8612eec 100644 --- a/templates/thread.html +++ b/templates/thread.html @@ -60,7 +60,7 @@ - + {config[spoiler_images]? Spoiler Image}