$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);
--- /dev/null
+<?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;
+ }
+}
'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(),
<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" />
<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" />
}
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;
}
$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) {
}
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) {
}
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;
}
*/
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();
*/
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);
*/
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();
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)) {
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';
/* 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) {
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);