Merge branch 'master' of github.com:shish/shimmie2

This commit is contained in:
Shish 2012-09-24 22:36:28 +01:00
commit e3d385aee5
5 changed files with 19 additions and 8 deletions

View File

@ -387,7 +387,7 @@ class Image {
* @retval string * @retval string
*/ */
public function get_mime_type() { public function get_mime_type() {
return getMimeType($this->get_image_filename()); return getMimeType($this->get_image_filename(), $this->get_ext());
} }
/** /**

View File

@ -508,7 +508,7 @@ function captcha_check() {
* @param string &$file File path * @param string &$file File path
* @return string * @return string
*/ */
function getMimeType($file) { function getMimeType($file, $ext="") {
$type = false; $type = false;
// Fileinfo documentation says fileinfo_open() will use the // Fileinfo documentation says fileinfo_open() will use the
// MAGIC env var for the magic file // MAGIC env var for the magic file
@ -532,6 +532,7 @@ function getMimeType($file) {
if ($type !== false && strlen($type) > 0) return $type; if ($type !== false && strlen($type) > 0) return $type;
// Otherwise do it the old fashioned way // Otherwise do it the old fashioned way
$ext = strtolower($ext);
static $exts = array( static $exts = array(
'jpg' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', 'jpg' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png',
'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'ico' => 'image/x-icon', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'ico' => 'image/x-icon',
@ -546,7 +547,6 @@ function getMimeType($file) {
'avi' => 'video/x-msvideo', 'mpg' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'avi' => 'video/x-msvideo', 'mpg' => 'video/mpeg', 'mpeg' => 'video/mpeg',
'mov' => 'video/quicktime', 'flv' => 'video/x-flv', 'php' => 'text/x-php' 'mov' => 'video/quicktime', 'flv' => 'video/x-flv', 'php' => 'text/x-php'
); );
$ext = strtolower(pathInfo($file, PATHINFO_EXTENSION));
return isset($exts[$ext]) ? $exts[$ext] : 'application/octet-stream'; return isset($exts[$ext]) ? $exts[$ext] : 'application/octet-stream';
} }

View File

@ -365,8 +365,6 @@ class ImageIO extends Extension {
$file = $image->get_image_filename(); $file = $image->get_image_filename();
} }
$page->set_data(file_get_contents($file));
if(isset($_SERVER["HTTP_IF_MODIFIED_SINCE"])) { if(isset($_SERVER["HTTP_IF_MODIFIED_SINCE"])) {
$if_modified_since = preg_replace('/;.*$/', '', $_SERVER["HTTP_IF_MODIFIED_SINCE"]); $if_modified_since = preg_replace('/;.*$/', '', $_SERVER["HTTP_IF_MODIFIED_SINCE"]);
} }
@ -377,9 +375,11 @@ class ImageIO extends Extension {
if($if_modified_since == $gmdate_mod) { if($if_modified_since == $gmdate_mod) {
$page->add_http_header("HTTP/1.0 304 Not Modified",3); $page->add_http_header("HTTP/1.0 304 Not Modified",3);
$page->set_data("");
} }
else { else {
$page->add_http_header("Last-Modified: $gmdate_mod"); $page->add_http_header("Last-Modified: $gmdate_mod");
$page->set_data(file_get_contents($file));
if ( $config->get_int("image_expires") ) { if ( $config->get_int("image_expires") ) {
$expires = date(DATE_RFC1123, time() + $config->get_int("image_expires")); $expires = date(DATE_RFC1123, time() + $config->get_int("image_expires"));

View File

@ -1,7 +1,7 @@
<?php <?php
/* /*
* Name: Mass Tagger * Name: Mass Tagger
* Author: Christian Walde <walde.christian@googlemail.com> * Author: Christian Walde <walde.christian@googlemail.com>, contributions by Shish and Agasa
* License: WTFPL * License: WTFPL
* Description: Tag a bunch of images at once * Description: Tag a bunch of images at once
* Documentation: * Documentation:
@ -38,9 +38,19 @@ class MassTagger extends Extension {
$images = array_map( "Image::by_id", $ids ); $images = array_map( "Image::by_id", $ids );
if(isset($_POST['setadd']) &&
$_POST['setadd'] == 'set')
{
foreach($images as $image) {
$image->set_tags($tag);
}
}
else
{
foreach($images as $image) { foreach($images as $image) {
$image->set_tags($tag . " " . $image->get_tag_list()); $image->set_tags($tag . " " . $image->get_tag_list());
} }
}
$page->set_mode("redirect"); $page->set_mode("redirect");
$page->set_redirect(make_link("post/list")); $page->set_redirect(make_link("post/list"));

View File

@ -13,6 +13,7 @@ class MassTaggerTheme extends Themelet {
Click on images to mark them. Use the 'Index Options' in the Board Config to increase the amount of shown images. Click on images to mark them. Use the 'Index Options' in the Board Config to increase the amount of shown images.
<br /> <br />
<input type='hidden' name='ids' id='mass_tagger_ids' /> <input type='hidden' name='ids' id='mass_tagger_ids' />
Set instead of add? <input type='checkbox' name='setadd' value='set' />
<label>Tags: <input type='text' name='tag' /></label> <label>Tags: <input type='text' name='tag' /></label>
<input type='submit' value='Tag Marked Images' /> <input type='submit' value='Tag Marked Images' />