DataObjects/Core_ip_access.php
[Pman.Core] / Images.php
index dfa2246..474eb64 100644 (file)
@@ -38,7 +38,9 @@ require_once  'Pman.php';
 class Pman_Core_Images extends Pman
 {
     
-    var $public_image_table = array();
+    // tables that do not need authentication checks before serving.
+    var $public_image_tables = array();
+    
     
     function getAuth()
     {
@@ -58,6 +60,7 @@ class Pman_Core_Images extends Pman
     var $thumb = false;
     var $as_mimetype = false;
     var $method = 'inline';
+    var $page = false;
     
     function get($s, $opts=array()) // determin what to serve!!!!
     {
@@ -68,6 +71,8 @@ class Pman_Core_Images extends Pman
         
         $this->as_mimetype = empty($_REQUEST['as']) ? '' : $_REQUEST['as'];
         
+        $this->page = empty($_REQUEST['page']) ? false : (int) $_REQUEST['page'];
+        
         $bits= explode('/', $s);
         $id = 0;
 //        var_dump($bits);die('in');
@@ -165,10 +170,10 @@ class Pman_Core_Images extends Pman
              $this->imgErr("image has been removed or deleted.",$s);
         }
         
-        if (!$this->authUser) {
+        if (!$this->authUser && !in_array($img->ontable,$this->public_image_tables)) {
            
             if ($img->ontable != 'core_company') {
-                $this->imgErr("not-authenticated",$s);
+                $this->imgErr("not-authenticated {$img->ontable}",$s);
             }
             if ($img->imgtype != 'LOGO') {
                 $this->imgErr("not-logo",$s);
@@ -297,7 +302,12 @@ class Pman_Core_Images extends Pman
             $this->validateSize();
         }
         
-        $x->convert( $this->as_mimetype, $this->size);
+        if(!empty($this->page) && !is_nan($this->page * 1)){
+            $x->convert( $this->as_mimetype, $this->size, 0, $this->page);
+        } else {
+            $x->convert( $this->as_mimetype, $this->size);
+        }
+        
         $x->serve();
         exit;