image spoilers

This commit is contained in:
Savetheinternet 2011-10-04 02:46:39 +11:00
parent 713c955370
commit 53dce652a8
5 changed files with 37 additions and 12 deletions

View File

@ -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;

View File

@ -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') {

View File

@ -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']));
}

View File

@ -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>

View File

@ -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>