aboutsummaryrefslogtreecommitdiffhomepage
path: root/application/FileUtils.php
diff options
context:
space:
mode:
authorVirtualTam <virtualtam@flibidi.net>2015-11-11 22:49:58 +0100
committerVirtualTam <virtualtam@flibidi.net>2015-11-24 01:12:35 +0100
commit2e28269baed195d58bbe169841eed176b171db76 (patch)
treef743e785edf708454ab53efa13f38e35f10447e6 /application/FileUtils.php
parentc580024cfbe5f0d290b09157b9665d1b4131d7f4 (diff)
downloadShaarli-2e28269baed195d58bbe169841eed176b171db76.tar.gz
Shaarli-2e28269baed195d58bbe169841eed176b171db76.tar.zst
Shaarli-2e28269baed195d58bbe169841eed176b171db76.zip
install: check file/directory permissions for Shaarli resources
Relates to #40 Relates to #372 Additions: - FileUtils: IOException - ApplicationUtils: - check if Shaarli resources are accessible with sufficient permissions - basic test coverage - index.php: - check access permissions and redirect to an error page if needed: - before running the first installation Modifications: - LinkDB: - factorize datastore write code - check if the datastore (exists AND is writeable) OR (doesn't exist AND its parent dir is writable) - raise an IOException if needed Signed-off-by: VirtualTam <virtualtam@flibidi.net>
Diffstat (limited to 'application/FileUtils.php')
-rw-r--r--application/FileUtils.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/application/FileUtils.php b/application/FileUtils.php
new file mode 100644
index 00000000..6a12ef0e
--- /dev/null
+++ b/application/FileUtils.php
@@ -0,0 +1,19 @@
1<?php
2/**
3 * Exception class thrown when a filesystem access failure happens
4 */
5class IOException extends Exception
6{
7 private $path;
8
9 /**
10 * Construct a new IOException
11 *
12 * @param string $path path to the ressource that cannot be accessed
13 */
14 public function __construct($path)
15 {
16 $this->path = $path;
17 $this->message = 'Error accessing '.$this->path;
18 }
19}