Passed
Push — master ( 2f8f71...bc7b5c )
by Georgi
02:52
created
src/FileStorageCore.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -45,7 +45,7 @@
 block discarded – undo
45 45
 	
46 46
 	public static function boot()
47 47
 	{
48
-		Route::group(['namespace' => 'Epesi\FileStorage'], function(){
48
+		Route::group(['namespace' => 'Epesi\FileStorage'], function() {
49 49
 			Route::get('file', 'FileStorageController@get')->middleware('web', FileStorageAccess::class);
50 50
 		});
51 51
 		
Please login to merge, or discard this patch.
src/Database/Models/FileContent.php 2 patches
Indentation   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -13,111 +13,111 @@
 block discarded – undo
13 13
 	
14 14
 	public $timestamps = false;
15 15
 	
16
-    protected $table = 'filestorage_contents';
17
-    protected static $unguarded = true;    
16
+	protected $table = 'filestorage_contents';
17
+	protected static $unguarded = true;    
18 18
     
19
-    protected $appends = ['path'];
19
+	protected $appends = ['path'];
20 20
     
21
-    /**
22
-     * One content can have many files associated with
23
-     * The actual content is stored only once based on the content hash
24
-     * 
25
-     * @return \Illuminate\Database\Eloquent\Relations\HasMany
26
-     */
27
-    public function files()
28
-    {
29
-    	return $this->hasMany(File::class, 'content_id');
30
-    }
21
+	/**
22
+	 * One content can have many files associated with
23
+	 * The actual content is stored only once based on the content hash
24
+	 * 
25
+	 * @return \Illuminate\Database\Eloquent\Relations\HasMany
26
+	 */
27
+	public function files()
28
+	{
29
+		return $this->hasMany(File::class, 'content_id');
30
+	}
31 31
     
32
-    /**
33
-     * Accessor method for retrieving of file content path when using the model
34
-     * Having the $appends property in the File model listing the 'path' makes sure the value is also exported to arrays
35
-     * 
36
-     * @return string
37
-     */
38
-    public function getPathAttribute()
39
-    {
40
-    	return self::storage()->path($this->getStoragePath($this->hash));
41
-    }
32
+	/**
33
+	 * Accessor method for retrieving of file content path when using the model
34
+	 * Having the $appends property in the File model listing the 'path' makes sure the value is also exported to arrays
35
+	 * 
36
+	 * @return string
37
+	 */
38
+	public function getPathAttribute()
39
+	{
40
+		return self::storage()->path($this->getStoragePath($this->hash));
41
+	}
42 42
     
43
-    /**
44
-     * Accessor method for retrieving of file contents
45
-     * 
46
-     * @return string
47
-     */
48
-    public function getDataAttribute()
49
-    {
50
-    	return self::storage()->get($this->storage_path);
51
-    }
43
+	/**
44
+	 * Accessor method for retrieving of file contents
45
+	 * 
46
+	 * @return string
47
+	 */
48
+	public function getDataAttribute()
49
+	{
50
+		return self::storage()->get($this->storage_path);
51
+	}
52 52
     
53
-    /**
54
-     * Accessor method for file relative storage path
55
-     * 
56
-     * @return string
57
-     */
58
-    public function getStoragePathAttribute()
59
-    {
60
-    	return $this->getStoragePath($this->hash);
61
-    }
53
+	/**
54
+	 * Accessor method for file relative storage path
55
+	 * 
56
+	 * @return string
57
+	 */
58
+	public function getStoragePathAttribute()
59
+	{
60
+		return $this->getStoragePath($this->hash);
61
+	}
62 62
     
63
-    protected static function getStoragePath($hash)
64
-    {
65
-    	return implode(DIRECTORY_SEPARATOR, array_merge(str_split(substr($hash, 0, 5)), [substr($hash, 5)]));
66
-    }
63
+	protected static function getStoragePath($hash)
64
+	{
65
+		return implode(DIRECTORY_SEPARATOR, array_merge(str_split(substr($hash, 0, 5)), [substr($hash, 5)]));
66
+	}
67 67
     
68
-    /**
69
-     * Returns the storage where file contents are saved based on config settings
70
-     * 
71
-     * @return \Illuminate\Contracts\Filesystem\Filesystem
72
-     */
73
-    public static function storage()
74
-    {
75
-    	return Storage::disk(config('epesi.filestorage', 'local'));
76
-    }
68
+	/**
69
+	 * Returns the storage where file contents are saved based on config settings
70
+	 * 
71
+	 * @return \Illuminate\Contracts\Filesystem\Filesystem
72
+	 */
73
+	public static function storage()
74
+	{
75
+		return Storage::disk(config('epesi.filestorage', 'local'));
76
+	}
77 77
         
78
-    /**
79
-     * Add file to the filestorage
80
-     *
81
-     * @param string $file File path to save
82
-     *
83
-     * @return int File id in the database
84
-     */
85
-    public static function putFromFile($file)
86
-    {
87
-    	return self::put(file_get_contents($file));
88
-    }
78
+	/**
79
+	 * Add file to the filestorage
80
+	 *
81
+	 * @param string $file File path to save
82
+	 *
83
+	 * @return int File id in the database
84
+	 */
85
+	public static function putFromFile($file)
86
+	{
87
+		return self::put(file_get_contents($file));
88
+	}
89 89
     
90
-    /**
91
-     * Add content to the filestorage
92
-     *
93
-     * @param string $content Content to save
94
-     *
95
-     * @return int File id in the database
96
-     */
97
-    public static function put($content)
98
-    {
99
-    	$hash = self::hash($content);
90
+	/**
91
+	 * Add content to the filestorage
92
+	 *
93
+	 * @param string $content Content to save
94
+	 *
95
+	 * @return int File id in the database
96
+	 */
97
+	public static function put($content)
98
+	{
99
+		$hash = self::hash($content);
100 100
     	
101
-    	$path = self::getStoragePath($hash);
101
+		$path = self::getStoragePath($hash);
102 102
     	
103
-    	if (! self::storage()->exists($path)) {
104
-    		self::storage()->put($path, $content);
105
-    	}
103
+		if (! self::storage()->exists($path)) {
104
+			self::storage()->put($path, $content);
105
+		}
106 106
     	
107
-    	return self::firstOrCreate(compact('hash'), [
108
-    			'size' => self::storage()->size($path),
109
-    			'type' => self::storage()->mimeType($path)
110
-    	])->id;
111
-    }
107
+		return self::firstOrCreate(compact('hash'), [
108
+				'size' => self::storage()->size($path),
109
+				'type' => self::storage()->mimeType($path)
110
+		])->id;
111
+	}
112 112
     
113
-    /**
114
-     * Get the hash of the content using hash method defined as constant to the class
115
-     * 
116
-     * @param string $content
117
-     * @return string
118
-     */
119
-    public static function hash($content)
120
-    {
121
-    	return hash(self::HASH_METHOD, $content);
122
-    }
113
+	/**
114
+	 * Get the hash of the content using hash method defined as constant to the class
115
+	 * 
116
+	 * @param string $content
117
+	 * @return string
118
+	 */
119
+	public static function hash($content)
120
+	{
121
+		return hash(self::HASH_METHOD, $content);
122
+	}
123 123
 }
124 124
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -100,7 +100,7 @@
 block discarded – undo
100 100
     	
101 101
     	$path = self::getStoragePath($hash);
102 102
     	
103
-    	if (! self::storage()->exists($path)) {
103
+    	if (!self::storage()->exists($path)) {
104 104
     		self::storage()->put($path, $content);
105 105
     	}
106 106
     	
Please login to merge, or discard this patch.
src/Database/Models/FileAccessLog.php 1 patch
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@
 block discarded – undo
8 8
     
9 9
 	public $timestamps = false;
10 10
 	
11
-    protected $table = 'filestorage_access_log';
12
-    protected static $unguarded = true;    
11
+	protected $table = 'filestorage_access_log';
12
+	protected static $unguarded = true;    
13 13
 
14 14
 }
15 15
\ No newline at end of file
Please login to merge, or discard this patch.
src/Database/Models/File.php 3 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
     	try {
106 106
     		$file = is_numeric($idOrMeta) ? self::get($idOrMeta) : $idOrMeta;
107 107
     		
108
-    		if (! file_exists($file->content->path)) {
108
+    		if (!file_exists($file->content->path)) {
109 109
     			throw new FileNotFound('Exception - file not found: ' . $file->content->path);
110 110
     		}
111 111
     	} catch (\Exception $exception) {
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
     {
131 131
     	$ids = [];
132 132
     	foreach ((array) $files as $filePath) {
133
-    		if (! is_numeric($filePath)) {
133
+    		if (!is_numeric($filePath)) {
134 134
     			$ids[] = self::put($filePath);
135 135
     			
136 136
     			continue;
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
     public static function put($fileOrPath, $content = null) 
164 164
     {
165 165
     	$file = $fileOrPath;
166
-    	if (! $content && is_string($fileOrPath)) {
166
+    	if (!$content && is_string($fileOrPath)) {
167 167
     		$content = file_get_contents($fileOrPath);
168 168
     		
169 169
     		$file = [
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
     
197 197
     public function getThumbnailAttribute()
198 198
     {
199
-    	if (! $this->thumbnailPossible()) return false;
199
+    	if (!$this->thumbnailPossible()) return false;
200 200
     	
201 201
     	$image = new \Imagick($this->content->path . '[0]');
202 202
     	
Please login to merge, or discard this patch.
Indentation   +166 added lines, -166 removed lines patch added patch discarded remove patch
@@ -14,211 +14,211 @@
 block discarded – undo
14 14
 {
15 15
 	use SoftDeletes;
16 16
 	
17
-    protected $table = 'filestorage_files';
18
-    protected static $unguarded = true;
17
+	protected $table = 'filestorage_files';
18
+	protected static $unguarded = true;
19 19
 
20
-    public function content()
21
-    {
22
-    	return $this->belongsTo(FileContent::class, 'content_id');
23
-    }
20
+	public function content()
21
+	{
22
+		return $this->belongsTo(FileContent::class, 'content_id');
23
+	}
24 24
     
25
-    public function links()
26
-    {
27
-    	return $this->hasMany(FileRemoteAccess::class, 'file_id');
28
-    }
25
+	public function links()
26
+	{
27
+		return $this->hasMany(FileRemoteAccess::class, 'file_id');
28
+	}
29 29
     
30 30
     
31
-    /**
32
-     * Retrieve the file
33
-     *
34
-     * @param int|string $idOrLink Filestorage ID or unique link string
35
-     * @param bool $useCache Use cache or not
36
-     *
37
-     * @return static
38
-     * 
39
-     * @throws FileNotFound
40
-     */
41
-    public static function get($idOrLink, $useCache = true)
42
-    {
43
-    	static $cache = [];
44
-    	
45
-    	if (is_object($idOrLink)) return $idOrLink;
31
+	/**
32
+	 * Retrieve the file
33
+	 *
34
+	 * @param int|string $idOrLink Filestorage ID or unique link string
35
+	 * @param bool $useCache Use cache or not
36
+	 *
37
+	 * @return static
38
+	 * 
39
+	 * @throws FileNotFound
40
+	 */
41
+	public static function get($idOrLink, $useCache = true)
42
+	{
43
+		static $cache = [];
44
+    	
45
+		if (is_object($idOrLink)) return $idOrLink;
46 46
 
47
-    	$id = self::getIdByLink($idOrLink, true, true);
47
+		$id = self::getIdByLink($idOrLink, true, true);
48 48
 
49
-    	if ($useCache && isset($cache[$id])) {
50
-    		return $cache[$id];
51
-    	}
49
+		if ($useCache && isset($cache[$id])) {
50
+			return $cache[$id];
51
+		}
52 52
 
53
-    	$file = self::with('content')->findOrFail($id);
53
+		$file = self::with('content')->findOrFail($id);
54 54
     	
55
-    	if (empty($file->content['hash'])) {
56
-    		throw new FileNotFound('File object does not have corresponding content');
57
-    	}
55
+		if (empty($file->content['hash'])) {
56
+			throw new FileNotFound('File object does not have corresponding content');
57
+		}
58 58
 
59
-    	return $cache[$id] = $file;
60
-    }
59
+		return $cache[$id] = $file;
60
+	}
61 61
     
62
-    /**
63
-     * Get Filestorage ID by link
64
-     *
65
-     * @param string $link            Unique link
66
-     * @param bool   $useCache       Use cache or not
67
-     * @param bool   $throwException Throw exception if link is not found
68
-     *
69
-     * @return int Filestorage ID
70
-     * @throws LinkNotFound
71
-     */
72
-    public static function getIdByLink($link, $useCache = true, $throwException = false)
73
-    {
74
-    	static $cache = [];
75
-    	
76
-    	if (is_numeric($link)) return $link;
77
-    	
78
-    	if (!$useCache || !isset($cache[$link])) {
79
-    		$cache[$link] = self::where('link', $link)->value('id');
62
+	/**
63
+	 * Get Filestorage ID by link
64
+	 *
65
+	 * @param string $link            Unique link
66
+	 * @param bool   $useCache       Use cache or not
67
+	 * @param bool   $throwException Throw exception if link is not found
68
+	 *
69
+	 * @return int Filestorage ID
70
+	 * @throws LinkNotFound
71
+	 */
72
+	public static function getIdByLink($link, $useCache = true, $throwException = false)
73
+	{
74
+		static $cache = [];
75
+    	
76
+		if (is_numeric($link)) return $link;
77
+    	
78
+		if (!$useCache || !isset($cache[$link])) {
79
+			$cache[$link] = self::where('link', $link)->value('id');
80 80
     		
81
-    		if (!$cache[$link] && $throwException) {
82
-    			throw new LinkNotFound($link);
83
-    		}
84
-    	}
81
+			if (!$cache[$link] && $throwException) {
82
+				throw new LinkNotFound($link);
83
+			}
84
+		}
85 85
     	
86
-    	return $cache[$link];
87
-    }
86
+		return $cache[$link];
87
+	}
88 88
 
89
-    /**
90
-     * Mark file as deleted. Does not remove any content!
91
-     *
92
-     * @param int|string $idOrLink Filestorage ID or unique link
93
-     */
94
-    public static function unlink($idOrLink)
95
-    {
89
+	/**
90
+	 * Mark file as deleted. Does not remove any content!
91
+	 *
92
+	 * @param int|string $idOrLink Filestorage ID or unique link
93
+	 */
94
+	public static function unlink($idOrLink)
95
+	{
96 96
    		if ($id = self::getIdByLink($idOrLink, false)) {
97 97
    			self::find($id)->delete();
98
-    	}
99
-    }
98
+		}
99
+	}
100 100
     
101
-    /**
102
-     * Check if file exists
103
-     *
104
-     * @param int|static $idOrMeta              Filestorage ID or file object
105
-     * @param bool      $throwException Throw exception on missing file or return false
106
-     *
107
-     * @return bool True if file exists, false otherwise
108
-     * @throws FileNotFound May be thrown if $throwException set to true
109
-     */
110
-    public static function exists($idOrMeta, $throwException = false)
111
-    {
112
-    	try {
113
-    		$file = is_numeric($idOrMeta) ? self::get($idOrMeta) : $idOrMeta;
101
+	/**
102
+	 * Check if file exists
103
+	 *
104
+	 * @param int|static $idOrMeta              Filestorage ID or file object
105
+	 * @param bool      $throwException Throw exception on missing file or return false
106
+	 *
107
+	 * @return bool True if file exists, false otherwise
108
+	 * @throws FileNotFound May be thrown if $throwException set to true
109
+	 */
110
+	public static function exists($idOrMeta, $throwException = false)
111
+	{
112
+		try {
113
+			$file = is_numeric($idOrMeta) ? self::get($idOrMeta) : $idOrMeta;
114 114
     		
115
-    		if (! file_exists($file->content->path)) {
116
-    			throw new FileNotFound('Exception - file not found: ' . $file->content->path);
117
-    		}
118
-    	} catch (\Exception $exception) {
119
-    		if ($throwException)
120
-    			throw $exception;
121
-    		else
122
-    			return false;
123
-    	}
124
-    	
125
-    	return true;
126
-    }
115
+			if (! file_exists($file->content->path)) {
116
+				throw new FileNotFound('Exception - file not found: ' . $file->content->path);
117
+			}
118
+		} catch (\Exception $exception) {
119
+			if ($throwException)
120
+				throw $exception;
121
+			else
122
+				return false;
123
+		}
124
+    	
125
+		return true;
126
+	}
127 127
     
128
-    /**
129
-     * Add multiple files, clone file if file id is provided.
130
-     * May be used to update backref for all files.
131
-     *
132
-     * @param array $files array of existing filestorage ids or array with values for the new file
133
-     * @param string|null $backref Backref for all files
134
-     * @return array Newly created Meta Ids sorted in ascending order
135
-     */
136
-    public static function putMany($files, $backref = null)
137
-    {
138
-    	$ids = [];
139
-    	foreach ((array) $files as $filePath) {
140
-    		if (! is_numeric($filePath)) {
141
-    			$ids[] = self::put($filePath);
128
+	/**
129
+	 * Add multiple files, clone file if file id is provided.
130
+	 * May be used to update backref for all files.
131
+	 *
132
+	 * @param array $files array of existing filestorage ids or array with values for the new file
133
+	 * @param string|null $backref Backref for all files
134
+	 * @return array Newly created Meta Ids sorted in ascending order
135
+	 */
136
+	public static function putMany($files, $backref = null)
137
+	{
138
+		$ids = [];
139
+		foreach ((array) $files as $filePath) {
140
+			if (! is_numeric($filePath)) {
141
+				$ids[] = self::put($filePath);
142 142
     			
143
-    			continue;
144
-    		}
143
+				continue;
144
+			}
145 145
     		
146
-    		$file = self::get($filePath, false)->toArray();
146
+			$file = self::get($filePath, false)->toArray();
147 147
     			
148
-    		if ($backref && $file['backref'] != $backref) {
149
-    			$file['backref'] = $backref;
150
-    			unset($file['link']);
148
+			if ($backref && $file['backref'] != $backref) {
149
+				$file['backref'] = $backref;
150
+				unset($file['link']);
151 151
     			
152
-    			self::put($file);
153
-    		}
152
+				self::put($file);
153
+			}
154 154
     			
155
-    		$ids[] = $file;
156
-    	}
155
+			$ids[] = $file;
156
+		}
157 157
     	
158
-    	sort($ids);
158
+		sort($ids);
159 159
     	
160
-    	return $ids;
161
-    }
160
+		return $ids;
161
+	}
162 162
         
163
-    /**
164
-     * @param string|array     $fileOrPath
165
-     * @param string     $content    Content of the file
166
-     * 
167
-     * @return int Filestorage ID
168
-     * @throws LinkDuplicate
169
-     */
170
-    public static function put($fileOrPath, $content = null) 
171
-    {
172
-    	$file = $fileOrPath;
173
-    	if (! $content && is_string($fileOrPath)) {
174
-    		$content = file_get_contents($fileOrPath);
163
+	/**
164
+	 * @param string|array     $fileOrPath
165
+	 * @param string     $content    Content of the file
166
+	 * 
167
+	 * @return int Filestorage ID
168
+	 * @throws LinkDuplicate
169
+	 */
170
+	public static function put($fileOrPath, $content = null) 
171
+	{
172
+		$file = $fileOrPath;
173
+		if (! $content && is_string($fileOrPath)) {
174
+			$content = file_get_contents($fileOrPath);
175 175
     		
176
-    		$file = [
177
-    				'name' => basename($fileOrPath)
178
-    		];
179
-    	}
176
+			$file = [
177
+					'name' => basename($fileOrPath)
178
+			];
179
+		}
180 180
     	
181
-    	if (!empty($file['link']) && self::getIdByLink($file['link'], false)) {
182
-    		throw new LinkDuplicate($file['link']);
183
-    	}
181
+		if (!empty($file['link']) && self::getIdByLink($file['link'], false)) {
182
+			throw new LinkDuplicate($file['link']);
183
+		}
184 184
     	
185
-    	$content = $file['content']?? $content;
185
+		$content = $file['content']?? $content;
186 186
     	
187
-    	if (is_array($content)) {
188
-    		$path = $content['path'];
187
+		if (is_array($content)) {
188
+			$path = $content['path'];
189 189
     			
190
-    		$file['name'] = $file['name']?? basename($path);
190
+			$file['name'] = $file['name']?? basename($path);
191 191
     			
192
-    		$content = file_get_contents($path);
193
-    	}
192
+			$content = file_get_contents($path);
193
+		}
194 194
 
195
-    	unset($file['content']);
196
-    	
197
-    	return self::updateOrCreate(['id' => $file['id']?? null], array_merge([
198
-    			'created_at' => time(),
199
-    			'created_by' => Auth::id(),
200
-    			'content_id' => FileContent::put($content)
201
-    	], $file))->id;
202
-    }
195
+		unset($file['content']);
196
+    	
197
+		return self::updateOrCreate(['id' => $file['id']?? null], array_merge([
198
+				'created_at' => time(),
199
+				'created_by' => Auth::id(),
200
+				'content_id' => FileContent::put($content)
201
+		], $file))->id;
202
+	}
203 203
     
204
-    public function getThumbnailAttribute()
205
-    {
206
-    	if (! $this->thumbnailPossible()) return false;
204
+	public function getThumbnailAttribute()
205
+	{
206
+		if (! $this->thumbnailPossible()) return false;
207 207
     	
208
-    	$image = new \Imagick($this->content->path . '[0]');
208
+		$image = new \Imagick($this->content->path . '[0]');
209 209
     	
210
-    	$image->setImageFormat('jpg');
210
+		$image->setImageFormat('jpg');
211 211
     	
212
-    	$mime = 'image/jpeg';
212
+		$mime = 'image/jpeg';
213 213
     	
214
-    	$name = 'preview.jpeg';
214
+		$name = 'preview.jpeg';
215 215
     	
216
-    	$contents = $image . '';
216
+		$contents = $image . '';
217 217
     	
218
-    	return collect(compact('mime', 'name', 'contents'));
219
-    }
218
+		return collect(compact('mime', 'name', 'contents'));
219
+	}
220 220
     
221
-    protected function thumbnailPossible() {
222
-    	return $this->content->type == 'application/pdf' && class_exists('Imagick');
223
-    }
221
+	protected function thumbnailPossible() {
222
+		return $this->content->type == 'application/pdf' && class_exists('Imagick');
223
+	}
224 224
 }
225 225
\ No newline at end of file
Please login to merge, or discard this patch.
Braces   +14 added lines, -7 removed lines patch added patch discarded remove patch
@@ -42,7 +42,9 @@  discard block
 block discarded – undo
42 42
     {
43 43
     	static $cache = [];
44 44
     	
45
-    	if (is_object($idOrLink)) return $idOrLink;
45
+    	if (is_object($idOrLink)) {
46
+    		return $idOrLink;
47
+    	}
46 48
 
47 49
     	$id = self::getIdByLink($idOrLink, true, true);
48 50
 
@@ -73,7 +75,9 @@  discard block
 block discarded – undo
73 75
     {
74 76
     	static $cache = [];
75 77
     	
76
-    	if (is_numeric($link)) return $link;
78
+    	if (is_numeric($link)) {
79
+    		return $link;
80
+    	}
77 81
     	
78 82
     	if (!$useCache || !isset($cache[$link])) {
79 83
     		$cache[$link] = self::where('link', $link)->value('id');
@@ -116,10 +120,11 @@  discard block
 block discarded – undo
116 120
     			throw new FileNotFound('Exception - file not found: ' . $file->content->path);
117 121
     		}
118 122
     	} catch (\Exception $exception) {
119
-    		if ($throwException)
120
-    			throw $exception;
121
-    		else
122
-    			return false;
123
+    		if ($throwException) {
124
+    		    			throw $exception;
125
+    		} else {
126
+    		    			return false;
127
+    		}
123 128
     	}
124 129
     	
125 130
     	return true;
@@ -203,7 +208,9 @@  discard block
 block discarded – undo
203 208
     
204 209
     public function getThumbnailAttribute()
205 210
     {
206
-    	if (! $this->thumbnailPossible()) return false;
211
+    	if (! $this->thumbnailPossible()) {
212
+    		return false;
213
+    	}
207 214
     	
208 215
     	$image = new \Imagick($this->content->path . '[0]');
209 216
     	
Please login to merge, or discard this patch.
src/Database/Migrations/2019_11_16_091615_create_filestorage_tables.php 2 patches
Indentation   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -6,74 +6,74 @@
 block discarded – undo
6 6
 
7 7
 class CreateFilestorageTables extends Migration
8 8
 {
9
-    /**
10
-     * Run the migrations.
11
-     *
12
-     * @return void
13
-     */
14
-    public function up()
15
-    {
16
-    	$this->down();
9
+	/**
10
+	 * Run the migrations.
11
+	 *
12
+	 * @return void
13
+	 */
14
+	public function up()
15
+	{
16
+		$this->down();
17 17
     	
18
-        Schema::create('filestorage_contents', function (Blueprint $table) {
19
-            $table->bigIncrements('id');
20
-            $table->string('hash', 128);
21
-            $table->integer('size');
22
-            $table->string('type', 256);
18
+		Schema::create('filestorage_contents', function (Blueprint $table) {
19
+			$table->bigIncrements('id');
20
+			$table->string('hash', 128);
21
+			$table->integer('size');
22
+			$table->string('type', 256);
23 23
             
24
-            $table->softDeletes();
25
-        });
24
+			$table->softDeletes();
25
+		});
26 26
         
27
-        Schema::create('filestorage_files', function (Blueprint $table) {
28
-            $table->bigIncrements('id');
29
-            $table->string('name', 256);
30
-            $table->string('link', 128)->nullable();
31
-            $table->string('backref', 128)->nullable();
32
-            $table->unsignedBigInteger('content_id');
33
-            $table->unsignedBigInteger('created_by')->nullable();
34
-            $table->timestamps();
27
+		Schema::create('filestorage_files', function (Blueprint $table) {
28
+			$table->bigIncrements('id');
29
+			$table->string('name', 256);
30
+			$table->string('link', 128)->nullable();
31
+			$table->string('backref', 128)->nullable();
32
+			$table->unsignedBigInteger('content_id');
33
+			$table->unsignedBigInteger('created_by')->nullable();
34
+			$table->timestamps();
35 35
             
36
-            $table->softDeletes();
36
+			$table->softDeletes();
37 37
             
38
-            $table->foreign('content_id')->references('id')->on('filestorage_contents');
39
-            $table->foreign('created_by')->references('id')->on('users');
40
-        });
38
+			$table->foreign('content_id')->references('id')->on('filestorage_contents');
39
+			$table->foreign('created_by')->references('id')->on('users');
40
+		});
41 41
         
42
-        Schema::create('filestorage_remote_access', function (Blueprint $table) {
43
-            $table->bigIncrements('id');
44
-            $table->unsignedBigInteger('file_id');            
45
-            $table->string('token', 128);
46
-            $table->unsignedBigInteger('created_by');
47
-            $table->timestamp('expires_at');
48
-            $table->timestamps();
42
+		Schema::create('filestorage_remote_access', function (Blueprint $table) {
43
+			$table->bigIncrements('id');
44
+			$table->unsignedBigInteger('file_id');            
45
+			$table->string('token', 128);
46
+			$table->unsignedBigInteger('created_by');
47
+			$table->timestamp('expires_at');
48
+			$table->timestamps();
49 49
             
50
-            $table->foreign('file_id')->references('id')->on('filestorage_files');
51
-            $table->foreign('created_by')->references('id')->on('users');
52
-        });
50
+			$table->foreign('file_id')->references('id')->on('filestorage_files');
51
+			$table->foreign('created_by')->references('id')->on('users');
52
+		});
53 53
         
54
-        Schema::create('filestorage_access_log', function (Blueprint $table) {
55
-            $table->bigIncrements('id');
56
-            $table->unsignedBigInteger('file_id');            
57
-            $table->timestamp('accessed_at');
58
-            $table->unsignedBigInteger('accessed_by');
59
-            $table->string('action', 32);
60
-            $table->string('ip_address', 32);
61
-            $table->string('host_name', 64);
54
+		Schema::create('filestorage_access_log', function (Blueprint $table) {
55
+			$table->bigIncrements('id');
56
+			$table->unsignedBigInteger('file_id');            
57
+			$table->timestamp('accessed_at');
58
+			$table->unsignedBigInteger('accessed_by');
59
+			$table->string('action', 32);
60
+			$table->string('ip_address', 32);
61
+			$table->string('host_name', 64);
62 62
                         
63
-            $table->foreign('file_id')->references('id')->on('filestorage_files');
64
-        });
65
-    }
63
+			$table->foreign('file_id')->references('id')->on('filestorage_files');
64
+		});
65
+	}
66 66
 
67
-    /**
68
-     * Reverse the migrations.
69
-     *
70
-     * @return void
71
-     */
72
-    public function down()
73
-    {
74
-    	Schema::dropIfExists('filestorage_remote_access');
75
-    	Schema::dropIfExists('filestorage_access_log');
76
-    	Schema::dropIfExists('filestorage_files');
77
-        Schema::dropIfExists('filestorage_contents');
78
-    }
67
+	/**
68
+	 * Reverse the migrations.
69
+	 *
70
+	 * @return void
71
+	 */
72
+	public function down()
73
+	{
74
+		Schema::dropIfExists('filestorage_remote_access');
75
+		Schema::dropIfExists('filestorage_access_log');
76
+		Schema::dropIfExists('filestorage_files');
77
+		Schema::dropIfExists('filestorage_contents');
78
+	}
79 79
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
     {
16 16
     	$this->down();
17 17
     	
18
-        Schema::create('filestorage_contents', function (Blueprint $table) {
18
+        Schema::create('filestorage_contents', function(Blueprint $table) {
19 19
             $table->bigIncrements('id');
20 20
             $table->string('hash', 128);
21 21
             $table->integer('size');
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
             $table->softDeletes();
25 25
         });
26 26
         
27
-        Schema::create('filestorage_files', function (Blueprint $table) {
27
+        Schema::create('filestorage_files', function(Blueprint $table) {
28 28
             $table->bigIncrements('id');
29 29
             $table->string('name', 256);
30 30
             $table->string('link', 128)->nullable();
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
             $table->foreign('created_by')->references('id')->on('users');
40 40
         });
41 41
         
42
-        Schema::create('filestorage_remote_access', function (Blueprint $table) {
42
+        Schema::create('filestorage_remote_access', function(Blueprint $table) {
43 43
             $table->bigIncrements('id');
44 44
             $table->unsignedBigInteger('file_id');            
45 45
             $table->string('token', 128);
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
             $table->foreign('created_by')->references('id')->on('users');
52 52
         });
53 53
         
54
-        Schema::create('filestorage_access_log', function (Blueprint $table) {
54
+        Schema::create('filestorage_access_log', function(Blueprint $table) {
55 55
             $table->bigIncrements('id');
56 56
             $table->unsignedBigInteger('file_id');            
57 57
             $table->timestamp('accessed_at');
Please login to merge, or discard this patch.
src/Integration/Joints/FileStorageAccessJoint.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 	 */
50 50
 	final public static function getActionUrls($file, $accessParams = [])
51 51
 	{
52
-		$id = is_numeric($file)? $file: $file->id;
52
+		$id = is_numeric($file) ? $file : $file->id;
53 53
 		
54 54
 		$urls = [];
55 55
 		foreach (static::$allowedActions as $action) {
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
 	 */
67 67
 	final protected function hasUserAccess()
68 68
 	{
69
-		return $this->forUsersOnly? (bool) Auth::id(): true;
69
+		return $this->forUsersOnly ? (bool) Auth::id() : true;
70 70
 	}
71 71
 	
72 72
 	/**
Please login to merge, or discard this patch.
src/FileStorageAccess.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -6,30 +6,30 @@
 block discarded – undo
6 6
 
7 7
 class FileStorageAccess
8 8
 {
9
-    public function handle($request, \Closure $next)
10
-    {
11
-    	foreach (Integration\Joints\FileStorageAccessJoint::collect() as $joint) {
12
-    		if ($joint->accessGranted($request)) {    			
13
-    			$this->logFileAccess($request->get('id'), $request->get('action', 'download'));
9
+	public function handle($request, \Closure $next)
10
+	{
11
+		foreach (Integration\Joints\FileStorageAccessJoint::collect() as $joint) {
12
+			if ($joint->accessGranted($request)) {    			
13
+				$this->logFileAccess($request->get('id'), $request->get('action', 'download'));
14 14
     			
15
-    			return $next($request);
16
-    		}
17
-    	}
15
+				return $next($request);
16
+			}
17
+		}
18 18
     	
19
-    	return response('No access to file', 401);
20
-    }
19
+		return response('No access to file', 401);
20
+	}
21 21
         
22
-    protected function logFileAccess($fileId, $action, $time = null)
23
-    {
24
-    	$ip_address = request()->ip();
22
+	protected function logFileAccess($fileId, $action, $time = null)
23
+	{
24
+		$ip_address = request()->ip();
25 25
 
26
-    	Database\Models\FileAccessLog::create([
27
-    			'file_id' => $fileId,
28
-    			'accessed_at' => date('Y-m-d H:i:s', $time ?: time()),
29
-    			'accessed_by' => Auth::id() ?: 0,
30
-    			'action' => $action,
31
-    			'ip_address' => $ip_address,
32
-    			'host_name' => gethostbyaddr($ip_address)
33
-    	]);
34
-    }
26
+		Database\Models\FileAccessLog::create([
27
+				'file_id' => $fileId,
28
+				'accessed_at' => date('Y-m-d H:i:s', $time ?: time()),
29
+				'accessed_by' => Auth::id() ?: 0,
30
+				'action' => $action,
31
+				'ip_address' => $ip_address,
32
+				'host_name' => gethostbyaddr($ip_address)
33
+		]);
34
+	}
35 35
 }
Please login to merge, or discard this patch.
src/FileStorageController.php 2 patches
Indentation   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -7,49 +7,49 @@
 block discarded – undo
7 7
 
8 8
 class FileStorageController extends Controller
9 9
 {
10
-    public function get(Request $request)
11
-    {
12
-    	try {
13
-    		$file = Database\Models\File::get($request->get('id'));
14
-    	} catch (\Exception $e) {
15
-    		abort(404);
16
-    	}
10
+	public function get(Request $request)
11
+	{
12
+		try {
13
+			$file = Database\Models\File::get($request->get('id'));
14
+		} catch (\Exception $e) {
15
+			abort(404);
16
+		}
17 17
     	
18
-    	$useThumbnail = false;
19
-    	$disposition = 'attachment';
20
-    	switch ($request->get('action')) {	
21
-    		case 'preview':
22
-    			$useThumbnail = true;
23
-    		case 'inline':
24
-    			$disposition = 'inline';
25
-    			break;
18
+		$useThumbnail = false;
19
+		$disposition = 'attachment';
20
+		switch ($request->get('action')) {	
21
+			case 'preview':
22
+				$useThumbnail = true;
23
+			case 'inline':
24
+				$disposition = 'inline';
25
+				break;
26 26
     			
27
-    		default:
28
-    			break;
29
-    	}
27
+			default:
28
+				break;
29
+		}
30 30
 
31
-    	if ($useThumbnail && $request->get('thumbnail', 1) && ($thumbnail = $file->thumbnail)) {
32
-    		$mime = $thumbnail['mime'];
33
-    		$filename = $thumbnail['name'];
34
-    		$contents = $thumbnail['contents'];
35
-    	}
36
-    	else {
37
-    		$mime = $file->content->type;
38
-    		$filename = $file->name;
39
-    		$contents = $file->content->data;
40
-    	}
31
+		if ($useThumbnail && $request->get('thumbnail', 1) && ($thumbnail = $file->thumbnail)) {
32
+			$mime = $thumbnail['mime'];
33
+			$filename = $thumbnail['name'];
34
+			$contents = $thumbnail['contents'];
35
+		}
36
+		else {
37
+			$mime = $file->content->type;
38
+			$filename = $file->name;
39
+			$contents = $file->content->data;
40
+		}
41 41
     	
42
-    	$headers = [
43
-    			'Content-Type' => $mime,
44
-    			'Content-Length' => strlen($contents),
45
-    			'Content-Disposition' => "$disposition; filename=\"$filename\"",
46
-    	];
42
+		$headers = [
43
+				'Content-Type' => $mime,
44
+				'Content-Length' => strlen($contents),
45
+				'Content-Disposition' => "$disposition; filename=\"$filename\"",
46
+		];
47 47
 
48
-    	if ($request->get('nocache')) {
49
-    		$headers['Pragma'] = 'no-cache';
50
-    		$headers['Expires'] = '0';
51
-    	}
48
+		if ($request->get('nocache')) {
49
+			$headers['Pragma'] = 'no-cache';
50
+			$headers['Expires'] = '0';
51
+		}
52 52
     	
53
-    	return response($contents, 200, $headers);
54
-    }
53
+		return response($contents, 200, $headers);
54
+	}
55 55
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -32,8 +32,7 @@
 block discarded – undo
32 32
     		$mime = $thumbnail['mime'];
33 33
     		$filename = $thumbnail['name'];
34 34
     		$contents = $thumbnail['contents'];
35
-    	}
36
-    	else {
35
+    	} else {
37 36
     		$mime = $file->content->type;
38 37
     		$filename = $file->name;
39 38
     		$contents = $file->content->data;
Please login to merge, or discard this patch.
src/Seeds/FileModal.php 3 patches
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -84,9 +84,9 @@
 block discarded – undo
84 84
                 				<div class="description">{$descr}</div>
85 85
             				</div>
86 86
         				</div>{empty}' . __('No file details') . '{/}')])->setSource([
87
-        						['title'=> __('Name'), 'descr'=> $this->file()->name],
88
-        						['title'=> __('Size'), 'descr'=> Utils::bytesToHuman($this->file()->content->size)],
89
-        ]);
87
+								['title'=> __('Name'), 'descr'=> $this->file()->name],
88
+								['title'=> __('Size'), 'descr'=> Utils::bytesToHuman($this->file()->content->size)],
89
+		]);
90 90
 	}
91 91
 	
92 92
 	protected function addFileRemoteLinks($container = null) {
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -33,7 +33,7 @@  discard block
 block discarded – undo
33 33
 	
34 34
 	protected function setPeriodSelection()
35 35
 	{
36
-		if (! $this->periodSelection) {
36
+		if (!$this->periodSelection) {
37 37
 			$this->periodSelection = [];
38 38
 			foreach ([1, 2, 3, 4] as $count) {
39 39
 				$this->periodSelection[$count . ' weeks'] = trans_choice('{1} :count week |[2,*] :count weeks', $count);
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 		}
42 42
 
43 43
 		foreach ($this->periodSelection as $key => $period) {
44
-			$default = $key == $this->defaultPeriod? ' (' . __('Default') . ')': '';
44
+			$default = $key == $this->defaultPeriod ? ' (' . __('Default') . ')' : '';
45 45
 			
46 46
 			$this->periodSelection[$key] = $period . $default;
47 47
 		}
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 	{
52 52
 		$this->canvas = $canvas;
53 53
 		
54
-		if (! $this->file()) {
54
+		if (!$this->file()) {
55 55
 			$canvas->set(__('Wrong parameters for file'));
56 56
 			return;
57 57
 		}
@@ -71,12 +71,12 @@  discard block
 block discarded – undo
71 71
 	
72 72
 	protected function file()
73 73
 	{
74
-		return $this->file?: ($this->file = File::get($this->canvas->stickyGET('id')));
74
+		return $this->file ?: ($this->file = File::get($this->canvas->stickyGET('id')));
75 75
 	}
76 76
 	
77 77
 	protected function addFileDetails($container = null)
78 78
 	{
79
-		$container = $container?: $this->canvas;
79
+		$container = $container ?: $this->canvas;
80 80
 		
81 81
 		$container->add(['Lister', 'template'=> new \atk4\ui\Template('
82 82
 						<div class="item" style="margin: 0 15px 15px 0">
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
 	}
91 91
 	
92 92
 	protected function addFileRemoteLinks($container = null) {
93
-		$container = $container?: $this->canvas;
93
+		$container = $container ?: $this->canvas;
94 94
 		
95 95
 		foreach ($this->file()->links()->where('created_by', Auth::id())->get() as $link) {
96 96
 			$container->add(['View', __('Remote access link expiring :expiry', ['expiry' => $link->expires_at])]);
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 		$container->js(true, new jsExpression('new ClipboardJS(".copy-button")'));
107 107
 		
108 108
 		$container->on('click', '.delete-link', $container->add(['jsCallback', 'postTrigger' => 'link'])->set(function($j, $linkId) {
109
-			if (! $link = FileRemoteAccess::find($linkId)) return;
109
+			if (!$link = FileRemoteAccess::find($linkId)) return;
110 110
 			
111 111
 			$link->delete();
112 112
 			
@@ -134,7 +134,7 @@  discard block
 block discarded – undo
134 134
 		$dropdown->setSource($this->periodSelection);
135 135
 		
136 136
 		$dropdown->onChange(function($value) {
137
-			$period = array_search($value, $this->periodSelection)?: $this->defaultPeriod;
137
+			$period = array_search($value, $this->periodSelection) ?: $this->defaultPeriod;
138 138
 			
139 139
 			FileRemoteAccess::grant($this->file(), $period);
140 140
 			
Please login to merge, or discard this patch.
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -106,7 +106,9 @@
 block discarded – undo
106 106
 		$container->js(true, new jsExpression('new ClipboardJS(".copy-button")'));
107 107
 		
108 108
 		$container->on('click', '.delete-link', $container->add(['jsCallback', 'postTrigger' => 'link'])->set(function($j, $linkId) {
109
-			if (! $link = FileRemoteAccess::find($linkId)) return;
109
+			if (! $link = FileRemoteAccess::find($linkId)) {
110
+				return;
111
+			}
110 112
 			
111 113
 			$link->delete();
112 114
 			
Please login to merge, or discard this patch.