diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2009-12-11 03:13:01 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2009-12-11 03:14:28 +0100 |
commit | e98422a09892675f23852320e0d46b4071bf22b4 (patch) | |
tree | fad35f88652a9abee2dfc5964d15e76d4bb71563 /paste/include/storage/MysqlStorage.php | |
parent | 0398f1f363d5affba0633c104eaf22c1100f8e80 (diff) | |
download | rafb-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 { |