*
* @return - target file name
*/
- function getStoreName($alt = false)
+ function getStoreName()
{
$opts = HTML_FlexyFramework::get()->Pman;
$fn = preg_replace('/[^a-z0-9_\.]+/i', '_', $this->filename);
- if ($alt) {
- $fn = preg_replace('/[^a-z0-9\.]+/i', '_', $this->filename);
- }
return implode( '/', array(
$opts['storedir'], '_images_', date('Y/m', strtotime($this->created)), $this->id . '-'. $fn
));
{
clearstatcache();
//var_dump($this->getStoreName());
- return file_exists($this->getStoreName());
+ $ret = file_exists($this->getStoreName());
+ if (!$ret) {
+ return $this->canFix();
+ }
+ return $ret;
+ }
+
+ function canFix() {
+ // look for the image in the folder, with matching id.
+ // this is problematic..
+ $fn = $this->getStoreName();
+ if (file_exists($fn . '-really-missing')) {
+ return false;
+ }
+ if (!file_exists(dirname($fn))) {
+ return false;
+ }
+ foreach( scandir(dirname($fn)) as $n) {
+ if (empty($n) || $n[0] == '.') {
+ continue;
+ }
+ $bits = explode('-', $n);
+ if ($bits[0] != $this->id) {
+ continue;
+ }
+ if (preg_match('/\.[0-9]+x[0-9]]+\.jpeg$/', $n)) {
+ continue;
+ }
+ copy(dirname($fn). '/'. $n, $fn);
+ clearstatcache();
+ return true;
+ }
+ // fixme - flag it as bad
}
function toFileConvert()
{
$fn = $this->getStoreName();
- if (!file_exists($fn)) {
- $fn = $this->getStoreName(true);
- }
require_once 'File/Convert.php';
$fc = new File_Convert($this->getStoreName(), $this->mimetype);
}
function imgErr($reason,$path) {
- header('Location: ' . $this->rootURL . '/Pman/templates/images/file-broken.png?reason=' .
- urlencode($reason) .'&path='.urlencode($path));
+ header('Location: ' . $this->rootURL . '/Pman/templates/images/file-broken.png?reason=' . urlencode($reason) );
+ header('X-Error: ' . $reason . ':' . $path);
+ echo $reason . ':' . $path;
exit;
}
{
$this->sessionState(0); // turn off session... - locking...
require_once 'File/Convert.php';
- if (!file_exists($img->getStoreName()) && !file_exists($img->getStoreName(true))) {
-// print_r($img);exit;
- header('Location: ' . $this->rootURL . '/Pman/templates/images/file-broken.png?reason=' .
- urlencode("Original file was missing : " . $img->getStoreName()));
-
+ if (!$img->exists()) {
+ $this->imgErr("serve = missing-image", $img->getStoreName());
+
}
// print_r($img);exit;
$x = $img->toFileConvert();
}
}
+
+
+
+
}