}
try {
- return $GLOBALS['injector']->getInstance('Horde_Vfs');
+ return $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return PEAR::raiseError($e);
}
}
}
-$vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+$vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
$vfspath = '.horde/ansel/';
$garbagepath = $vfspath . 'garbage/';
{
global $conf;
- if (!isset($conf[$name]['type'])) {
+ if ($name !== 'horde' && !isset($conf[$name]['type'])) {
throw new Horde_Exception(_("You must configure a VFS backend."));
}
- $vfs = ($conf[$name]['type'] == 'horde')
+ $vfs = ($name == 'horde' || $conf[$name]['type'] == 'horde')
? $conf['vfs']
: $conf[$name];
{
public function create(Horde_Injector $injector)
{
- $vfs = VFS::singleton($GLOBALS['conf']['vfs']['type'], Horde::getDriverConfig('vfs', $GLOBALS['conf']['vfs']['type']));
- $vfs->setLogger($injector->getInstance('Horde_Log_Logger'));
-
- return $vfs;
+ return new Horde_Core_Factory_Vfs($injector);
}
public function equals(Horde_Injector_Binder $binder)
--- /dev/null
+<?php
+/**
+ * A Horde_Injector:: based Horde_Vfs:: factory.
+ *
+ * @category Horde
+ * @package Core
+ * @author Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+
+/**
+ * A Horde_Injector:: based Horde_Vfs:: factory.
+ *
+ * Copyright 2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category Horde
+ * @package Core
+ * @author Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+class Horde_Core_Factory_Vfs
+{
+ /**
+ * The injector.
+ *
+ * @var Horde_Injector
+ */
+ private $_injector;
+
+ /**
+ * Constructor.
+ *
+ * @param Horde_Injector $injector The injector to use.
+ */
+ public function __construct(Horde_Injector $injector)
+ {
+ $this->_injector = $injector;
+ }
+
+ /**
+ * Obtain the Vfs instance.
+ *
+ * @param string $scope The vfs scope to return.
+ *
+ * @return VFS The VFS object
+ */
+ public function getVfs($scope)
+ {
+ $params = Horde::getVFSConfig($scope);
+ return VFS::singleton($params['type'], $params['params']);
+ }
+
+}
\ No newline at end of file
<file name="KolabStorage.php" role="php" />
<file name="LoginTasks.php" role="php" />
<file name="Share.php" role="php" />
+ <file name="Vfs.php" role="php" />
</dir> <!-- /lib/Horde/Core/Factory -->
<dir name="Log">
<file name="Logger.php" role="php" />
<install name="lib/Horde/Core/Factory/KolabStorage.php" as="Horde/Core/Factory/KolabStorage.php" />
<install name="lib/Horde/Core/Factory/LoginTasks.php" as="Horde/Core/Factory/LoginTasks.php" />
<install name="lib/Horde/Core/Factory/Share.php" as="Horde/Core/Factory/Share.php" />
+ <install name="lib/Horde/Core/Factory/Vfs.php" as="Horde/Core/Factory/Vfs.php" />
<install name="lib/Horde/Core/Log/Logger.php" as="Horde/Core/Log/Logger.php" />
<install name="lib/Horde/Core/LoginTasks/Backend/Horde.php" as="Horde/Core/LoginTasks/Backend/Horde.php" />
<install name="lib/Horde/Core/Notification/Hordelog.php" as="Horde/Core/Notification/Hordelog.php" />
public function serialize($id = '')
{
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
$vfs->writeData('.horde/scheduler', Horde_String::lower(get_class($this)) . $id, serialize($this), true);
return true;
} catch (VFS_Exception $e) {
/* Getting a file from Horde's VFS. */
$path = Horde_Util::getFormData('p');
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
$file_data = $vfs->read($path, $file);
} catch (VFS_Exception $e) {
Horde::logMessage(sprintf('Error displaying image [%s]: %s', $path . '/' . $file, $e->getMessage()), 'ERR');
Horde::fatal(_("You must configure a VFS backend to use Hylax."), __FILE__, __LINE__);
}
- $this->_vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $this->_vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
}
function saveFaxData($data, $type = '.ps')
// Initialize the VFS.
try {
- $vfsroot = $injector->getInstance('Horde_Vfs');
+ $vfsroot = $injector->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
throw new IMP_Exception(sprintf(_("Could not create the VFS backend: %s"), $e->getMessage()));
}
/* Store in VFS. */
if ($GLOBALS['conf']['compose']['use_vfs']) {
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
$cacheID = uniqid(mt_rand());
if ($vfs_file) {
case 'vfs':
/* Delete from VFS. */
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
$vfs->deleteFile(self::VFS_ATTACH_PATH, $atc['filename']);
} catch (VFS_Exception $e) {}
break;
case 'vfs':
// TODO: Use streams
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
$part->setContents($vfs->read(self::VFS_ATTACH_PATH, $this->_cache[$id]['filename']));
} catch (VFS_Exception $e) {}
break;
$baseurl = Horde::applicationUrl('attachment.php', true)->setRaw(true);
try {
- $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
throw new IMP_Compose_Exception($e);
}
}
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
$vfs->writeData(self::VFS_DRAFTS_PATH, hash('md5', Horde_Util::getFormData('user')), $body, true);
$GLOBALS['notification']->push(_("The message you were composing has been saved as a draft. The next time you login, you may resume composing your message."));
$filename = hash('md5', Horde_Auth::getAuth());
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return;
}
/* Do garbage collection on compose VFS data. */
if ($GLOBALS['conf']['compose']['use_vfs']) {
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
VFS_GC::gc($vfs, IMP_Compose::VFS_ATTACH_PATH, 86400);
} catch (VFS_Exception $e) {}
}
$del_time = gmmktime(0, 0, 0, date('n') - $GLOBALS['prefs']->getValue('delete_attachments_monthly_keep'), 1, date('Y'));
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return false;
}
if (!empty($GLOBALS['conf']['vfs']['type'])) {
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return PEAR::raiseError($e->getMessage());
}
}
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return PEAR::raiseError($e->getMessage());
}
}
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return PEAR::raiseError($e->getMessage());
}
}
try {
- $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return PEAR::raiseError($vfs->getMessage());
}
{
if (!$this->_vfs) {
try {
- $this->_vfs = $GLOBALS['injector']->getInstance('Horde_Vfs');
+ $this->_vfs = $GLOBALS['injector']->getInstance('Horde_Vfs')->getVfs();
} catch (VFS_Exception $e) {
return PEAR::raiseError($e->getMessage());
}