public static function getInstance() { if (self::$Instance === null) { self::$Instance = new MountpointsManager(); } return self::$Instance; }
protected static function getNewProviderInstance($mountpointPath) { $urlParts = EyeosAbstractVirtualFile::parse_url($mountpointPath); $userMountpointConfigPath = self::getUserMountpointsPath($urlParts['principalname']); $conf = FSI::getConfiguration(EyeosAbstractVirtualFile::URL_SCHEME_USERFILES . '.scheme' . SERVICE_FILESYSTEM_CONFIGURATION_FILE_EXTENSION); $providerClassName = (string) $conf->mountpointsManager[0]->provider['class']; $params = array('filePath' => $userMountpointConfigPath); return MountpointsManager::getNewMountpointDescriptorsProviderInstance($providerClassName, $params); }
/** * @param string $path * @param SimpleXMLElement $xmlConf * @return AbstractFile */ public static function getRealFile($path, $xmlParams = null, $params = null) { $moutpointDescriptors = MountpointsManager::getInstance()->getMountpointDescriptorsList($path); $mountedPath = null; $realPath = AdvancedPathLib::getCanonicalURL($path); foreach ($moutpointDescriptors as $moutpointDescriptor) { $mountpointPath = $moutpointDescriptor->getMountpointPath(); if (utf8_strpos($realPath, $mountpointPath) === 0) { $mountedPath = $moutpointDescriptor->getTargetPath(); $mountedPath .= '/' . utf8_substr($realPath, utf8_strlen($mountpointPath)); } } if ($mountedPath !== null) { return FSI::getFile($mountedPath, $params); } return null; }