diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2010-02-22 05:15:07 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2010-02-22 05:15:07 +0100 |
commit | f6c77b0848ca7e504cfba795d40b1c6c5bb8b343 (patch) | |
tree | 6ef522dc0f19bdaf798ee2e0448e2d2bdf0b531f /paste/include/storage | |
parent | 3141d15061baea8f72d7eaeb84d83382eef42f63 (diff) | |
download | rafb-nopaste-f6c77b0848ca7e504cfba795d40b1c6c5bb8b343.tar.gz rafb-nopaste-f6c77b0848ca7e504cfba795d40b1c6c5bb8b343.tar.xz rafb-nopaste-f6c77b0848ca7e504cfba795d40b1c6c5bb8b343.zip |
added IdGeneratorEngine with Sha1Generator and ShortGenerator
Diffstat (limited to '')
-rw-r--r-- | paste/include/storage/FileStorage.php | 8 | ||||
-rw-r--r-- | paste/include/storage/MysqlStorage.php | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/paste/include/storage/FileStorage.php b/paste/include/storage/FileStorage.php index 5ee2b77..e1fc72c 100644 --- a/paste/include/storage/FileStorage.php +++ b/paste/include/storage/FileStorage.php @@ -46,8 +46,14 @@ class FileStorage extends StorageEngine { global $config; + if (!is_subclass_of($config['id_generator'], 'IdGeneratorEngine')) + { + header('HTTP/1.0 503 Service Unavailable'); + die('Invalid config'); + } + do { - $filename = sha1(date('r') . rand(1000, getrandmax())); + $filename = $config['id_generator']->generateId(); } while (file_exists($this->storage_path . '/' . $filename)); if ($config['short_results_path']) { diff --git a/paste/include/storage/MysqlStorage.php b/paste/include/storage/MysqlStorage.php index 14aefa6..8e16536 100644 --- a/paste/include/storage/MysqlStorage.php +++ b/paste/include/storage/MysqlStorage.php @@ -78,7 +78,13 @@ INDEX (nick) { global $config; - $name = sha1(date('r') . rand(1000, getrandmax())); + if (!is_subclass_of($config['id_generator'], 'IdGeneratorEngine')) + { + header('HTTP/1.0 503 Service Unavailable'); + die('Invalid config'); + } + + $name = $config['id_generator']->generateId(); if ($stmt = $this->mysql->prepare( 'INSERT INTO ' . $this->table . ' (pid, nick, language, content, |