forked from GNUsocial/gnu-social
Merge remote-tracking branch 'upstream/nightly' into nightly
This commit is contained in:
commit
9545219a23
20
actions/attachment_download.php
Normal file
20
actions/attachment_download.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
|
||||
/**
|
||||
* Download notice attachment
|
||||
*
|
||||
* @category Personal
|
||||
* @package GNUsocial
|
||||
* @author Mikael Nordfeldth <mmn@hethane.se>
|
||||
* @license https://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link https:/gnu.io/social
|
||||
*/
|
||||
class Attachment_downloadAction extends AttachmentAction
|
||||
{
|
||||
public function showPage()
|
||||
{
|
||||
common_redirect($this->attachment->getUrl(), 302);
|
||||
}
|
||||
}
|
@ -478,6 +478,8 @@ class File extends Managed_DataObject
|
||||
* @param $width int Max width of thumbnail in pixels. (if null, use common_config values)
|
||||
* @param $height int Max height of thumbnail in pixels. (if null, square-crop to $width)
|
||||
* @param $crop bool Crop to the max-values' aspect ratio
|
||||
* @param $force_still bool Don't allow fallback to showing original (such as animated GIF)
|
||||
* @param $upscale mixed Whether or not to scale smaller images up to larger thumbnail sizes. (null = site default)
|
||||
*
|
||||
* @return File_thumbnail
|
||||
*
|
||||
@ -498,7 +500,7 @@ class File extends Managed_DataObject
|
||||
return File_thumbnail::byFile($this);
|
||||
} catch (NoResultException $e) {
|
||||
// and if it's not a remote file, it'll be safe to use the locally stored File
|
||||
throw new UseFileAsThumbnailException($this->id);
|
||||
throw new UseFileAsThumbnailException($this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -114,7 +114,6 @@ class AccountMover extends QueueHandler
|
||||
$svcDocUrl = $link->href;
|
||||
if (isset($link['http://apinamespace.org/atom/username'])) {
|
||||
$username = $link['http://apinamespace.org/atom/username'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ class ImageFile
|
||||
// First some mimetype specific exceptions
|
||||
switch ($file->mimetype) {
|
||||
case 'image/svg+xml':
|
||||
throw new UseFileAsThumbnailException($file->id);
|
||||
throw new UseFileAsThumbnailException($file);
|
||||
}
|
||||
|
||||
// And we'll only consider it an image if it has such a media type
|
||||
@ -282,7 +282,11 @@ class ImageFile
|
||||
}
|
||||
|
||||
if (!file_exists($outpath)) {
|
||||
throw new UseFileAsThumbnailException($this->id);
|
||||
if ($this->fileRecord instanceof File) {
|
||||
throw new UseFileAsThumbnailException($this->fileRecord);
|
||||
} else {
|
||||
throw new UnsupportedMediaException('No local File object exists for ImageFile.');
|
||||
}
|
||||
}
|
||||
|
||||
return $outpath;
|
||||
@ -544,7 +548,7 @@ class ImageFile
|
||||
}
|
||||
|
||||
fclose($fh);
|
||||
return $count > 1;
|
||||
return $count >= 1; // number of animated frames apart from the original image
|
||||
}
|
||||
|
||||
public function getFileThumbnail($width, $height, $crop, $upscale=false)
|
||||
|
@ -223,6 +223,10 @@ class Router
|
||||
array('action' => 'attachment'),
|
||||
array('attachment' => '[0-9]+'));
|
||||
|
||||
$m->connect('attachment/:attachment/download',
|
||||
array('action' => 'attachment_download'),
|
||||
array('attachment' => '[0-9]+'));
|
||||
|
||||
$m->connect('attachment/:attachment/thumbnail',
|
||||
array('action' => 'attachment_thumbnail'),
|
||||
array('attachment' => '[0-9]+'));
|
||||
|
@ -34,13 +34,9 @@ class UseFileAsThumbnailException extends UnsupportedMediaException
|
||||
{
|
||||
public $file = null;
|
||||
|
||||
public function __construct($file_id)
|
||||
public function __construct(File $file)
|
||||
{
|
||||
$this->file = File::getKV('id', $file_id);
|
||||
if (!$this->file instanceof File) {
|
||||
throw new ServerException('No File ID supplied to exception');
|
||||
}
|
||||
|
||||
$this->file = $file;
|
||||
parent::__construct('Thumbnail not generated', $this->file->getPath());
|
||||
}
|
||||
}
|
||||
|
@ -219,7 +219,6 @@ class UserActivityStream extends AtomUserNoticeFeed
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
common_log(LOG_ERR, $e->getMessage());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -851,6 +851,8 @@ clear:both;
|
||||
}
|
||||
|
||||
#attachment_view img, #attachment_view .attachment_player {
|
||||
height: auto;
|
||||
width: auto;
|
||||
max-width:480px;
|
||||
max-height:480px;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user