summaryrefslogtreecommitdiffstats
path: root/paste/include/storage
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2010-02-22 05:15:07 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2010-02-22 05:15:07 +0100
commitf6c77b0848ca7e504cfba795d40b1c6c5bb8b343 (patch)
tree6ef522dc0f19bdaf798ee2e0448e2d2bdf0b531f /paste/include/storage
parent3141d15061baea8f72d7eaeb84d83382eef42f63 (diff)
downloadrafb-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.php8
-rw-r--r--paste/include/storage/MysqlStorage.php8
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,