Primarily the getUrl call is fixed. Also some new class calls
The getUrl call would think that a File_thumbnail object was the child of a local File if its filename was set. That has been true up to recent development code where a File_thumbnail can have a 'filename' value, but the original File does not. Only look at the File object to indicate whether it's a local or remote file!
This commit is contained in:
parent
999175d741
commit
8fbdb45cc6
@ -17,9 +17,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||||
|
|
||||||
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table Definition for file_thumbnail
|
* Table Definition for file_thumbnail
|
||||||
@ -80,6 +78,17 @@ class File_thumbnail extends Managed_DataObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetch an entry by using a File's id
|
||||||
|
*/
|
||||||
|
static function byFile(File $file) {
|
||||||
|
$file_thumbnail = self::getKV('file_id', $file->id);
|
||||||
|
if (!$file_thumbnail instanceof File_thumbnail) {
|
||||||
|
throw new ServerException(sprintf('No File_thumbnail entry for File id==%u', $file->id));
|
||||||
|
}
|
||||||
|
return $file_thumbnail;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save a thumbnail record for the referenced file record.
|
* Save a thumbnail record for the referenced file record.
|
||||||
*
|
*
|
||||||
@ -108,10 +117,15 @@ class File_thumbnail extends Managed_DataObject
|
|||||||
return File::path($filename);
|
return File::path($filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getPath()
|
||||||
|
{
|
||||||
|
return self::path($this->filename);
|
||||||
|
}
|
||||||
|
|
||||||
public function getUrl()
|
public function getUrl()
|
||||||
{
|
{
|
||||||
if (!empty($this->filename)) {
|
if (!empty($this->getFile()->filename)) {
|
||||||
// A locally stored file, so let's generate a URL for our instance.
|
// A locally stored File, so let's generate a URL for our instance.
|
||||||
$url = File::url($this->filename);
|
$url = File::url($this->filename);
|
||||||
if ($url != $this->url) {
|
if ($url != $this->url) {
|
||||||
// For indexing purposes, in case we do a lookup on the 'url' field.
|
// For indexing purposes, in case we do a lookup on the 'url' field.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user