Add Horde_Lock to the list of global bindings
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 18 Mar 2010 09:28:23 +0000 (03:28 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 18 Mar 2010 17:33:34 +0000 (11:33 -0600)
babel/view.php
framework/Core/lib/Horde/Core/Binder/Lock.php [new file with mode: 0644]
framework/Core/lib/Horde/Registry.php
framework/Core/package.xml
framework/Rpc/lib/Horde/Rpc/Webdav.php
framework/Share/Share.php
kronolith/lib/Event.php
wicked/lib/Page/StandardPage.php

index d248626..3aad9ed 100644 (file)
@@ -65,7 +65,7 @@ if ($app) {
     $lockscope = sprintf("babel-%s-%s", $app, $lang);
 
     // Initialize Horde_Lock class
-    $locks = &Horde_Lock::singleton('Sql');
+    $locks = Horde_Lock::singleton('Sql', Horde::getDriverConfig('lock', 'Sql'));
 
 //    $curlocks = $locks->getLocks($lockscope);
 //    var_dump($curlocks);
diff --git a/framework/Core/lib/Horde/Core/Binder/Lock.php b/framework/Core/lib/Horde/Core/Binder/Lock.php
new file mode 100644 (file)
index 0000000..f911260
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+class Horde_Core_Binder_Lock implements Horde_Injector_Binder
+{
+    public function create(Horde_Injector $injector)
+    {
+        if (empty($GLOBALS['conf']['lock']['driver'])) {
+            $driver = null;
+        } else {
+            $driver = $GLOBALS['conf']['lock']['driver'];
+            $params = Horde::getDriverConfig('lock', $driver);
+        }
+
+        $params['logger'] = $injector->getInstance('Horde_Log_Logger');
+
+        return Horde_Lock::singleton($driver, $params);
+    }
+
+    public function equals(Horde_Injector_Binder $binder)
+    {
+        return false;
+    }
+}
index 06eca4b..0e493a2 100644 (file)
@@ -237,6 +237,7 @@ class Horde_Registry
             'Horde_Alarm' => new Horde_Core_Binder_Alarm(),
             'Horde_Cache' => new Horde_Core_Binder_Cache(),
             'Horde_Db_Adapter_Base' => new Horde_Core_Binder_Db('reader'),
+            'Horde_Lock' => new Horde_Core_Binder_Lock(),
             'Horde_Log_Logger' => new Horde_Core_Binder_Logger(),
             'Horde_Memcache' => new Horde_Core_Binder_Memcache(),
             'Horde_Notification' => new Horde_Core_Binder_Notification(),
index 3e25521..8873e8c 100644 (file)
@@ -68,6 +68,7 @@ Application Framework.
        <file name="Cache.php" role="php" />
        <file name="Db.php" role="php" />
        <file name="Dns.php" role="php" />
+       <file name="Lock.php" role="php" />
        <file name="Logger.php" role="php" />
        <file name="Memcache.php" role="php" />
        <file name="Notification.php" role="php" />
@@ -198,6 +199,7 @@ Application Framework.
    <install name="lib/Horde/Core/Binder/Cache.php" as="Horde/Core/Binder/Cache.php" />
    <install name="lib/Horde/Core/Binder/Db.php" as="Horde/Core/Binder/Db.php" />
    <install name="lib/Horde/Core/Binder/Dns.php" as="Horde/Core/Binder/Dns.php" />
+   <install name="lib/Horde/Core/Binder/Lock.php" as="Horde/Core/Binder/Lock.php" />
    <install name="lib/Horde/Core/Binder/Logger.php" as="Horde/Core/Binder/Logger.php" />
    <install name="lib/Horde/Core/Binder/Memcache.php" as="Horde/Core/Binder/Memcache.php" />
    <install name="lib/Horde/Core/Binder/Notification.php" as="Horde/Core/Binder/Notification.php" />
index 300befe..14d87cc 100644 (file)
@@ -697,9 +697,9 @@ class Horde_Rpc_Webdav extends Horde_Rpc
         }
 
         try {
-            $locks = Horde_Lock::singleton($GLOBALS['conf']['lock']['driver']);
+            $locks = $GLOBALS['injector']->getInstance('Horde_Lock');
         } catch (Horde_Lock_Exception $e) {
-            Horde::logMessage($e->getMessage(), 'ERR');
+            Horde::logMessage($e, 'ERR');
             return 500;
         }
 
@@ -712,7 +712,7 @@ class Horde_Rpc_Webdav extends Horde_Rpc
             $lockid = $locks->setLock(Horde_Auth::getAuth(), 'webdav', $params['path'],
                                       $timeout, $locktype);
         } catch (Horde_Lock_Exception $e) {
-            Horde::logMessage($e->getMessage(), 'ERR');
+            Horde::logMessage($e, 'ERR');
             return 500;
         }
         if ($lockid === false) {
@@ -744,16 +744,16 @@ class Horde_Rpc_Webdav extends Horde_Rpc
         }
 
         try {
-            $locks = Horde_Lock::singleton($GLOBALS['conf']['lock']['driver']);
+            $locks = $GLOBALS['injector']->getInstance('Horde_Lock');
         } catch (Horde_Lock_Exception $e) {
-            Horde::logMessage($e->getMessage(), 'ERR');
+            Horde::logMessage($e, 'ERR');
             return 500;
         }
 
         try {
             $res = $locks->clearLock($params['token']);
         } catch (Horde_Lock_Exception $e) {
-            Horde::logMessage($e->getMessage(), 'ERR');
+            Horde::logMessage($e, 'ERR');
             return 500;
         }
         if ($res === false) {
@@ -776,16 +776,16 @@ class Horde_Rpc_Webdav extends Horde_Rpc
         }
 
         try {
-            $locks = Horde_Lock::singleton($GLOBALS['conf']['lock']['driver']);
+            $locks = $GLOBALS['injector']->getInstance('Horde_Lock');
         } catch (Horde_Lock_Exception $e) {
-            Horde::logMessage($e->getMessage(), 'ERR');
+            Horde::logMessage($e, 'ERR');
             return false;
         }
 
         try {
             $res =  $locks->getLocks('webdav', $resource);
         } catch (Horde_Lock_Exception $e) {
-            Horde::logMessage($e->getMessage(), 'ERR');
+            Horde::logMessage($e, 'ERR');
             return false;
         }
 
index bd4d029..fe67965 100644 (file)
@@ -787,14 +787,11 @@ class Horde_Share_Object {
      */
     function lock($item_uid = null)
     {
-        require_once 'Horde/Lock.php';
-
         try {
-            $locks = &Horde_Lock::singleton($GLOBALS['conf']['lock']['driver']);
+            $locks = $GLOBALS['injector']->getInstance('Horde_Lock');
         } catch (Horde_Lock_Exception $e) {
-            $locks = PEAR::raiseError($e->getMessage());
-            Horde::logMessage($locks, 'ERR');
-            return $locks;
+            Horde::logMessage($e, 'ERR');
+            return PEAR::raiseError($e->getMessage());
         }
 
         $shareid = $this->getId();
@@ -847,14 +844,11 @@ class Horde_Share_Object {
      */
     function unlock($lockid)
     {
-        require_once 'Horde/Lock.php';
-
         try {
-            $locks = &Horde_Lock::singleton($GLOBALS['conf']['lock']['driver']);
+            $locks = $GLOBALS['injector']->getInstance('Horde_Lock');
         } catch (Horde_Lock_Exception $e) {
-            $locks = PEAR::raiseError($e->getMessage());
-            Horde::logMessage($locks, 'ERR');
-            return $locks;
+            Horde::logMessage($e, 'ERR');
+            return PEAR::raiseError($e->getMessage());
         }
 
         return $locks->clearLock($lockid);
@@ -874,13 +868,11 @@ class Horde_Share_Object {
      */
     function checkLocks($item_uid = null)
     {
-        require_once 'Horde/Lock.php';
         try {
-            $locks = &Horde_Lock::singleton($GLOBALS['conf']['lock']['driver']);
+            $locks = $GLOBALS['injector']->getInstance('Horde_Lock');
         } catch (Horde_Lock_Exception $e) {
-            $locks = PEAR::raiseError($e->getMessage());
-            Horde::logMessage($locks, 'ERR');
-            return $locks;
+            Horde::logMessage($e, 'ERR');
+            return PEAR::raiseError($e->getMessage());
         }
 
         $shareid = $this->getId();
@@ -890,9 +882,8 @@ class Horde_Share_Object {
         try {
             $result = $locks->getLocks($this->_shareOb->getApp(), $shareid, $locktype);
         } catch (Horde_Lock_Exception $e) {
-            $result = PEAR::raiseError($e->getMessage());
-            Horde::logMessage($result, 'ERR');
-            return $result;
+            Horde::logMessage($e, 'ERR');
+            return PEAR::raiseError($e->getMessage());
         }
 
         if (empty($result) && !empty($item_uid)) {
@@ -901,9 +892,8 @@ class Horde_Share_Object {
             try {
                 $result = $locks->getLocks($this->_shareOb->getApp() . ':' . $shareid, $item_uid, $locktype);
             } catch (Horde_Lock_Exception $e) {
-                $result = PEAR::raiseError($e->getMessage());
-                Horde::logMessage($result, 'ERR');
-                return $result;
+                Horde::logMessage($e, 'ERR');
+                return PEAR::raiseError($e->getMessage());
             }
         } else {
             $locktargettype = 'share';
index 4fbb5b2..6dc1f05 100644 (file)
@@ -421,7 +421,7 @@ abstract class Kronolith_Event
 
         /* Check for acceptance/denial of this event's resources. */
         $add_events = array();
-        $locks = Horde_Lock::singleton($GLOBALS['conf']['lock']['driver']);
+        $locks = $GLOBALS['injector']->getInstance('Horde_Lock');
         $lock = array();
         $failed_resources = array();
         foreach ($this->getResources() as $id => $resourceData) {
index ebfbda3..349e2e0 100644 (file)
@@ -107,7 +107,7 @@ class StandardPage extends Page {
 
         if ($GLOBALS['conf']['lock']['driver'] != 'none') {
             $this->supportedModes[WICKED_MODE_LOCKING] = $this->supportedModes[WICKED_MODE_UNLOCKING] = true;
-            $this->_locks = Horde_Lock::factory($GLOBALS['conf']['lock']['driver']);
+            $this->_locks = $GLOBALS['injector']->getInstance('Horde_Lock');
             $locks = $this->_locks->getLocks('wicked', $pagename, Horde_Lock::TYPE_EXCLUSIVE);
             if ($locks) {
                 $this->_lock = reset($locks);