From 923aac957cc28723c622570d46d2a915c75df06f Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 1 Aug 2016 09:15:36 +0200 Subject: Removed duplicate code --- classes/File.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'classes/File.php') diff --git a/classes/File.php b/classes/File.php index e400d25..ad44448 100644 --- a/classes/File.php +++ b/classes/File.php @@ -26,10 +26,31 @@ */ class File extends Model { /** {@inheritDoc} */ - public + public static $table = 'file', $fillable_columns = ['filename', 'secret_key']; + /** {@inheritDoc} */ + public static function create($pdo, $values) { + $filename = $values[0]; + + // Check for file existence + if (file_exists(Constants::files_folder . $filename)) { + throw new Exception("$filename already exists."); + } + + // Try to create the file + if (file_put_contents(Constants::files_folder . $filename, '') === false) { + throw new Exception("$filename could not be created. Check the permissions."); + } + + if (count($values) < count(static::$fillable_columns)) { + $values[] = self::getRandomSecretKey(); + } + + return parent::create($pdo, $values); + } + /** * A random max-63-char string that can be used as secret_key * -- cgit v1.2.3