listEvents:: isn't detailed enough for this...manually compare
authorMichael J. Rubinsky <mrubinsk@horde.org>
Wed, 9 Sep 2009 18:49:02 +0000 (14:49 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Tue, 29 Sep 2009 20:53:51 +0000 (16:53 -0400)
start/end times to determine if an event collides.

Add basic hasPermission method, not sure if it's really needed yet.

kronolith/lib/Resource/Single.php

index 3b0156d..874f1b3 100644 (file)
@@ -42,7 +42,12 @@ class Kronolith_Resource_Single extends Kronolith_Resource_Base
                       $e->hasStatus(Kronolith::STATUS_FREE)) &&
                      $e->getUID() !== $uid) {
 
-                    return false;
+                     if (!($e->start->compareDateTime($event->end) >= 1 ||
+                         $e->end->compareDateTime($event->start) <= -1)) {
+                        // $e starts after $event ends  OR $e ends before $event->start
+
+                         return false;
+                     }
                 }
             }
         }
@@ -120,4 +125,20 @@ class Kronolith_Resource_Single extends Kronolith_Resource_Base
         }
     }
 
+    /**
+     * @TODO: need to fine tune this
+     * @param $user
+     * @param $permission
+     * @param $restrict
+     * @return unknown_type
+     */
+    public function hasPermission($user, $permission = PERMS_READ, $restrict = null)
+    {
+        if (Horde_Auth::isAdmin()) {
+            return true;
+        }
+
+        return false;
+    }
+
 }
\ No newline at end of file