/** * Returns backend object for given private directory identifier * * @param string $privateDirIdentifier * * @return Backend */ public function getPrivateDirBackend($privateDirIdentifier) { $privateDirConfig = $this->config->get('privateDir'); if (!array_key_exists($privateDirIdentifier, $privateDirConfig)) { throw new \InvalidArgumentException(sprintf('Private dir with identifier %s not found. Please check configuration file.', $privateDirIdentifier)); } $privateDir = $privateDirConfig[$privateDirIdentifier]; $backend = null; if (is_array($privateDir) && array_key_exists('backend', $privateDir)) { $backend = $this->getBackend($privateDir['backend']); } else { $backend = $this->getBackend($privateDirConfig['backend']); } // Create a default .htaccess to disable access to current private directory $privateDirPath = $this->config->getPrivateDirPath($privateDirIdentifier); $htaccessPath = Path::combine($privateDirPath, '.htaccess'); if (!$backend->has($htaccessPath)) { $backend->write($htaccessPath, "Order Deny,Allow\nDeny from all\n"); } return $backend; }
/** * Returns backend-relative directory path where * thumbnails are stored. * * @return string */ public function getThumbnailsPath() { return $this->config->getPrivateDirPath('thumbs'); }