projects
/
Pman.Core
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix #8131 - chinese translations
[Pman.Core]
/
DataObjects
/
Images.php
diff --git
a/DataObjects/Images.php
b/DataObjects/Images.php
index
60753d3
..
d866e48
100644
(file)
--- a/
DataObjects/Images.php
+++ b/
DataObjects/Images.php
@@
-201,37
+201,53
@@
class Pman_Core_DataObjects_Images extends DB_DataObject
* @return - target file name
*/
function getStoreName()
* @return - target file name
*/
function getStoreName()
+ {
+ return self::staticGetStoreName($this);
+
+ }
+
+ static function staticGetStoreName($o)
{
$opts = HTML_FlexyFramework::get()->Pman;
{
$opts = HTML_FlexyFramework::get()->Pman;
- $fn = preg_replace('/[^a-z0-9
_\.]+/i', '_', $this
->filename);
+ $fn = preg_replace('/[^a-z0-9
\.]+/i', '_', $o
->filename);
return implode( '/', array(
return implode( '/', array(
- $opts['storedir'], '_images_', date('Y/m', strtotime($
this->created)), $this
->id . '-'. $fn
+ $opts['storedir'], '_images_', date('Y/m', strtotime($
o->created)), $o
->id . '-'. $fn
));
));
-
}
/**
* does the files exist?
*/
function exists()
}
/**
* does the files exist?
*/
function exists()
+ {
+ return self::staticExists($this);
+ }
+
+ static function staticExists($o)
{
clearstatcache();
{
clearstatcache();
- //var_dump($this->getStoreName());
- $ret = file_exists($this->getStoreName());
+ $ret = file_exists(self::staticGetStoreName($o));
if (!$ret) {
if (!$ret) {
- return
$this->canFix(
);
+ return
self::staticCanFix($o
);
}
return $ret;
}
}
return $ret;
}
+
/**
* the getStorename code got changed, and some old files may not end up with the correct name anymore.
* this tries to fix it.
*
*/
/**
* the getStorename code got changed, and some old files may not end up with the correct name anymore.
* this tries to fix it.
*
*/
- function canFix() {
+ function canFix()
+ {
+ return self::staticCanFix($this);
+ }
+
+ static function staticCanFix($o)
+ {
// look for the image in the folder, with matching id.
// this is problematic..
// look for the image in the folder, with matching id.
// this is problematic..
- $fn =
$this->getStoreName(
);
+ $fn =
self::staticGetStoreName($o
);
if (file_exists($fn . '-really-missing')) {
return false;
}
if (file_exists($fn . '-really-missing')) {
return false;
}
@@
-243,7
+259,7
@@
class Pman_Core_DataObjects_Images extends DB_DataObject
continue;
}
$bits = explode('-', $n);
continue;
}
$bits = explode('-', $n);
- if ($bits[0] != $
this
->id) {
+ if ($bits[0] != $
o
->id) {
continue;
}
if (preg_match('/\.[0-9]+x[0-9]]+\.jpeg$/', $n)) {
continue;
}
if (preg_match('/\.[0-9]+x[0-9]]+\.jpeg$/', $n)) {
@@
-557,7
+573,7
@@
class Pman_Core_DataObjects_Images extends DB_DataObject
*
*
*/
*
*
*/
- function URL($size , $provider = '/Images/Thumb', $baseURL=false)
+ function URL($size , $provider = '/Images/Thumb', $baseURL=false
, $to_type=false
)
{
if (!$this->id) {
return 'about:blank';
{
if (!$this->id) {
return 'about:blank';
@@
-593,16
+609,20
@@
class Pman_Core_DataObjects_Images extends DB_DataObject
$fc = $this->toFileConvert();
// print_r($size);
// exit;
$fc = $this->toFileConvert();
// print_r($size);
// exit;
- $mt = $t
his->mime
type;
+ $mt = $t
o_type === false ? $this->mimetype : $to_
type;
if (!preg_match('#^image/#i',$mt)) {
$mt = 'image/jpeg';
}
if (!preg_match('#^image/#i',$mt)) {
$mt = 'image/jpeg';
}
- $fc->convert($mt, $size);
+ $cn = $fc->convert($mt, $size);
+ $shorten_name = $this->shorten_name(basename($cn));
return $baseURL . $provider . "/$size/{$this->id}/{$shorten_name}"; // -- this breaks the rss feed #image-{$this->id}";
}
return $baseURL . $provider . "/$size/{$this->id}/{$shorten_name}"; // -- this breaks the rss feed #image-{$this->id}";
}
-
+ /**
+ *
+ * tries to get an image from then URL - not always has based... - also from the normal url
+ */
function getFromHashURL($url)
{
$id = false;
function getFromHashURL($url)
{
$id = false;
@@
-615,6
+635,8
@@
class Pman_Core_DataObjects_Images extends DB_DataObject
} else if (preg_match('#images[^/]+/([0-9]+)/#i', $url, $matches)) {
// supports images.xxxxx.com/{number}/name...
$id = $matches[1];
} else if (preg_match('#images[^/]+/([0-9]+)/#i', $url, $matches)) {
// supports images.xxxxx.com/{number}/name...
$id = $matches[1];
+ } else if (preg_match('#Thumb/[^/]+/([0-9]+)/#', $url, $matches)) {
+ $id = $matches[1];
}
if ($id === false || $id < 1) {
return false;
}
if ($id === false || $id < 1) {
return false;
@@
-628,13
+650,14
@@
class Pman_Core_DataObjects_Images extends DB_DataObject
}
}
- function shorten_name()
+ function shorten_name(
$fn = false
)
{
if(empty($this->filename)) {
return;
}
{
if(empty($this->filename)) {
return;
}
+ $fn = $fn === false ? $this->filename : $fn;
- $filename = explode('.', $
this->filename
);
+ $filename = explode('.', $
fn
);
$ext = array_pop($filename);
$name = preg_replace("/[^A-Z0-9.]+/i", '-', implode('-', $filename)) ;
$ext = array_pop($filename);
$name = preg_replace("/[^A-Z0-9.]+/i", '-', implode('-', $filename)) ;