summaryrefslogtreecommitdiffstats
path: root/paste/include/storage/FileStorage.php
diff options
context:
space:
mode:
Diffstat (limited to 'paste/include/storage/FileStorage.php')
-rw-r--r--paste/include/storage/FileStorage.php29
1 files changed, 22 insertions, 7 deletions
diff --git a/paste/include/storage/FileStorage.php b/paste/include/storage/FileStorage.php
index 057b5de..5ee2b77 100644
--- a/paste/include/storage/FileStorage.php
+++ b/paste/include/storage/FileStorage.php
@@ -46,27 +46,42 @@ class FileStorage extends StorageEngine
{
global $config;
- $content = PastifyText($content, $language, $description);
-
do {
$filename = sha1(date('r') . rand(1000, getrandmax()));
- } while (file_exists(realpath($storage_path . '/' , $filename)));
+ } while (file_exists($this->storage_path . '/' . $filename));
if ($config['short_results_path']) {
$urlbase = $config['short_results_path'];
} else {
- $urlbase = $config['site_domain'] . $config['site_path'] . '/' . $config['results_dir'];
+ $urlbase = $config['site_domain'] . $config['site_path'] . $this->storage_path;
}
- $content = $this->prepareContent($filename, $urlbase, $content);
$filename = $filename . ".html";
+ $get_url = $config['site_domain'] . $config['site_path'] . 'get.php?p=' . $filename;
+ $remove_url = $config['site_domain'] . $config['site_path'] . 'remove.php?p=' . $filename . '&t=' . $this->generateToken($filename);
+ $content = PastifyText($content, $language, $description, $get_url, $remove_url);
+
// write content
- $outfile = realpath($storage_path . '/' , $filename);
+ $outfile = $this->storage_path . $filename;
$fp = fopen($outfile, "w");
fwrite($fp, $content);
fclose($fp);
- return $pasteUrl;
+ return $get_url;
+ }
+
+ public function getContent($pid)
+ {
+ global $config;
+
+ if ($config['short_results_path']) {
+ $urlbase = $config['short_results_path'];
+ } else {
+ $urlbase = $config['site_domain'] . $config['site_path'] . $this->storage_path;
+ }
+
+ header('Location: ' . $urlbase . $pid);
+ exit;
}
public function delContent($pid)