{
clearstatcache();
//var_dump($this->getStoreName());
- return file_exists($this->getStoreName());
+ $ret = file_exists($this->getStoreName());
+ if (!$ret) {
+ return $this->canFix();
+ }
+ 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.
+ *
+ */
+ 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
+ touch($fn . '-really-missing');
}
*/
function toFileConvert()
{
+ $fn = $this->getStoreName();
+
require_once 'File/Convert.php';
$fc = new File_Convert($this->getStoreName(), $this->mimetype);
return $fc;