summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSavetheinternet <savetheinternet@tinyboard.org>2011-10-04 02:46:39 +1100
committerSavetheinternet <savetheinternet@tinyboard.org>2011-10-04 02:46:39 +1100
commit53dce652a863d819760fe4f878ccbb59c9c1a551 (patch)
treeb646eaa383775e6f8a48426637393a3ef8f20db6
parent713c955370aa53c42ef76d981f3996b8a27c21cf (diff)
image spoilers
-rw-r--r--inc/config.php8
-rw-r--r--inc/display.php18
-rw-r--r--post.php19
-rw-r--r--templates/index.html2
-rw-r--r--templates/thread.html2
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 .= '<p class="fileinfo">' .
'File: <a href="' . $config['uri_img'] . $this->file . '">' . $this->file . '</a> ' .
'<span class="unimportant">(' .
+ ($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="" /></a>';
} elseif($this->file == 'deleted') {
@@ -505,6 +512,9 @@
$built = '<p class="fileinfo">' .
'File: <a href="' . $config['uri_img'] . $this->file . '">' . $this->file . '</a> ' .
'<span class="unimportant">(' .
+ ($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="" /></a>';
} 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 @@
</th>
<td>
<input style="float:left;" type="text" name="subject" size="25" maxlength="100" autocomplete="off" />
- <input accesskey="s" style="margin-left:2px" type="submit" name="post" value="{config[button_newtopic]=New Topic}" />
+ <input accesskey="s" style="margin-left:2px" type="submit" name="post" value="{config[button_newtopic]=New Topic}" />{config[spoiler_images]? <input name="spoiler" type="checkbox"/> Spoiler Image}
</td>
</tr>
<tr>
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 @@
</th>
<td>
<input style="float:left;" type="text" name="subject" size="25" maxlength="100" autocomplete="off" />
- <input accesskey="s" style="margin-left:2px" type="submit" name="post" value="{config[button_reply]=New Reply}" />
+ <input accesskey="s" style="margin-left:2px" type="submit" name="post" value="{config[button_reply]=New Reply}" />{config[spoiler_images]? <input name="spoiler" type="checkbox"/> Spoiler Image}
</td>
</tr>
<tr>