summaryrefslogtreecommitdiffstats
path: root/paste/include/storage/MysqlStorage.php
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2009-12-11 03:13:01 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2009-12-11 03:14:28 +0100
commite98422a09892675f23852320e0d46b4071bf22b4 (patch)
treefad35f88652a9abee2dfc5964d15e76d4bb71563 /paste/include/storage/MysqlStorage.php
parent0398f1f363d5affba0633c104eaf22c1100f8e80 (diff)
downloadrafb-nopaste-e98422a09892675f23852320e0d46b4071bf22b4.tar.gz
rafb-nopaste-e98422a09892675f23852320e0d46b4071bf22b4.tar.xz
rafb-nopaste-e98422a09892675f23852320e0d46b4071bf22b4.zip
seperated storage classes
Diffstat (limited to '')
-rw-r--r--paste/include/storage/MysqlStorage.php (renamed from paste/include/createpage.inc)63
1 files changed, 2 insertions, 61 deletions
diff --git a/paste/include/createpage.inc b/paste/include/storage/MysqlStorage.php
index f1a16aa..239f113 100644
--- a/paste/include/createpage.inc
+++ b/paste/include/storage/MysqlStorage.php
@@ -1,9 +1,8 @@
-<?
+<?php
/*
This software is licensed through a BSD-style License.
http://www.opensource.org/licenses/bsd-license.php
-Copyright (c) 2002 - 2009 Jacob D. Cohen
Copyright (c) 2009 Alexander Sulfrian
All rights reserved.
@@ -33,65 +32,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-abstract class StorageEngine
-{
- abstract public function setContent($content);
-
- public function generateToken($name)
- {
- global $config;
-
- $ipAddr = $_SERVER["REMOTE_ADDR"];
- return sha1($name . $ipAddr . $config['token_salt']);
- }
-
- public function prepareContent($name, $baseUrl, $content)
- {
- $content = preg_replace("/=\{this-paste-url\}/",
- $baseUrl . '/' . $name, $content);
-
- $content = preg_replace("/=\{remove-paste-url\}/", $baseUrl
- . '/' . 'remove.php?id=' . $name
- . '&t=' . $this->generateToken(),
- $content);
-
- return $content;
- }
-}
-
-class FileStorage extends StorageEngine
-{
- private $storage_path;
-
- function __construct($path) {
- $this->storage_path = $path;
- }
-
- public function setContent($content)
- {
- global $config;
-
- do {
- $filename = sha1(date('r') . rand(1000));
- } while (file_exists(realpath($storage_path . '/' , $filename)));
-
- if ($config['short_results_path']) {
- $urlbase = $config['short_results_path'];
- } else {
- $urlbase = $config['site_domain'] . $config['site_path'] . '/' . $config['results_dir'];
- }
- $content = $this->prepareContent($filename, $urlbase, $content);
- $filename = $filename . ".html";
-
- // write content
- $outfile = realpath($storage_path . '/' , $filename);
- $fp = fopen($outfile, "w");
- fwrite($fp, $content);
- fclose($fp);
-
- return $pasteUrl;
- }
-}
+require_once('StorageEngine.php');
class MysqlStorage extends StorageEngine
{