]> git.mxchange.org Git - friendica.git/commitdiff
Adress feedback :)
authorPhilipp <admin@philipp.info>
Tue, 5 Oct 2021 17:06:13 +0000 (19:06 +0200)
committerPhilipp <admin@philipp.info>
Tue, 5 Oct 2021 18:07:14 +0000 (20:07 +0200)
doc/AddonStorageBackend.md
doc/Addons.md
src/Model/Storage/Filesystem.php

index a10d5b00009e6acd71db69b74a23352454cec874..f4773acb89b81376eb4c53984d36d65789d3c3b0 100644 (file)
@@ -336,20 +336,20 @@ function samplestorage_install()
        DI::storageManager()->register(SampleStorageBackend::class);
 }
 
-function webdav_storage_uninstall()
+function samplestorage_storage_uninstall()
 {
        DI::storageManager()->unregister(SampleStorageBackend::class);
 }
 
-function webdav_storage_instance(App $a, array &$data)
+function samplestorage_storage_instance(App $a, array &$data)
 {
        $config          = new SampleStorageBackendConfig(DI::l10n(), DI::config());
        $data['storage'] = new SampleStorageBackendConfig($config->getFileName());
 }
 
-function webdav_storage_config(App $a, array &$data)
+function samplestorage_storage_config(App $a, array &$data)
 {
-       $data['storage_config'] = new WebDavConfig(DI::l10n(), DI::config());
+       $data['storage_config'] = new SampleStorageBackendConfig(DI::l10n(), DI::config());
 }
 
 ```
index 0d38b639258081c87273762c79574a14d8b542e4..debdc89dd47390871234c6d5906ce6a49d43d53d 100644 (file)
@@ -538,6 +538,22 @@ Hook data:
 - **uid** (input): the user id to revoke the block for.
 - **result** (output): a boolean value indicating wether the operation was successful or not.
 
+### storage_instance
+
+Called when a custom storage is used (e.g. webdav_storage)
+
+Hook data:
+- **name** (input): the name of the used storage backend
+- **data['storage']** (output): the storage instance to use (**must** implement `\Friendica\Model\Storage\IWritableStorage`) 
+
+### storage_config
+
+Called when the admin of the node wants to configure a custom storage (e.g. webdav_storage)
+
+Hook data:
+- **name** (input): the name of the used storage backend
+- **data['storage_config']** (output): the storage configuration instance to use (**must** implement `\Friendica\Model\Storage\IStorageConfiguration`)
+
 ## Complete list of hook callbacks
 
 Here is a complete list of all hook callbacks with file locations (as of 24-Sep-2018). Please see the source for details of any hooks not documented above.
index 5a4ea1f0d3d8f76e31d45f653289958ce7b7c2eb..3165565b0b8406e515ab44127d5529cc9a0898df 100644 (file)
@@ -45,11 +45,17 @@ class Filesystem implements IWritableStorage
         * Filesystem constructor.
         *
         * @param string $filesystemPath
+        *
+        * @throws StorageException in case the path doesn't exist or isn't writeable
         */
        public function __construct(string $filesystemPath = FilesystemConfig::DEFAULT_BASE_FOLDER)
        {
                $path           = $filesystemPath;
                $this->basePath = rtrim($path, '/');
+
+               if (!is_dir($this->basePath) || !is_writable($this->basePath)) {
+                       throw new StorageException(sprintf('Path %s does not exist or is not writeable', $this->basePath));
+               }
        }
 
        /**