Fix #6494 - translations code for reports
[Pman.Core] / DataObjects / Images.php
index 5478f16..01c966e 100644 (file)
@@ -446,14 +446,14 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
     }
     
      
-    function toRooArray($req) {
+    function toRooArray($req)
+    {
         
         $ret= $this->toArray();
       
-        static $ff = false;
-        if (!$ff) {
-            $ff = HTML_FlexyFramework::get();
-        }
+         
+        $ff = HTML_FlexyFramework::get();
+        
         
         $ret['public_baseURL'] = isset($ff->Pman_Images['public_baseURL']) ?
                     $ff->Pman_Images['public_baseURL'] : $ff->baseURL;
@@ -471,8 +471,9 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
                 $ret['url_thumb'] = $this->URL($req['query']['imagesize'], '/Images/Thumb',$baseURL);
             }
             
-            $ret['shorten_name'] = $this->shorten_name();
+            
         }
+        $ret['shorten_name'] = $ret['filename'] = $this->shorten_name();
         
         return $ret;
     }
@@ -501,7 +502,7 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
         if ($size < 0) {
             $provider = preg_replace('#/Thumb$#', '', $provider);
             
-            return $baseURL . $provider . "/{$this->id}/{$shorten_name}";
+            return $baseURL . $provider . "/{$this->id}/{$shorten_name}"; // -- this breaks the rss feed #image-{$this->id}";
         }
         //-- max?
         //$size = max(100, (int) $size);
@@ -523,9 +524,32 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
         
         $fc->convert($mt, $size);
         
-        return $baseURL . $provider . "/$size/{$this->id}/{$shorten_name}";
+        return $baseURL . $provider . "/$size/{$this->id}/{$shorten_name}"; // -- this breaks the rss feed #image-{$this->id}";
+    }
+    
+    function getFromHashURL($url)
+    {
+        $id = false;
+        if (preg_match('/#image-([0-9]+)$/', $url, $matches)) {
+            $id = $matches[1];
+        } else if (preg_match('#Images/Thumb/[^/]+/([0-9]+)/#', $url, $matches)) {
+            $id = $matches[1];
+        } else if (preg_match('#Images/([0-9]+)/#', $url, $matches)) {
+            $id = $matches[1];
+        }
+        
+        if ($id === false ||  $id < 1) {
+            return false;
+        }
+        
+        $img = DB_DAtaObject::Factory('images');
+        if ($img->get($id)) {
+            return $img;
+        }
+        return false;
     }
     
+    
     function shorten_name()
     {
         if(empty($this->filename)) {
@@ -534,7 +558,7 @@ class Pman_Core_DataObjects_Images extends DB_DataObject
         
         $filename = explode('.', $this->filename);
         $ext = array_pop($filename);
-        $name = preg_replace("/[^A-Za-z0-9.]+/", '-', implode('-', $filename)) ;
+        $name = preg_replace("/[^A-Z0-9.]+/i", '-', implode('-', $filename)) ;
         
         if(strlen($name) > 32) {
             $name = substr($name, 0, 32);