diff options
author | cohen.jacob <cohen.jacob@6adb9682-87ac-11de-b610-71a7c637a048> | 2009-08-13 05:09:54 +0000 |
---|---|---|
committer | cohen.jacob <cohen.jacob@6adb9682-87ac-11de-b610-71a7c637a048> | 2009-08-13 05:09:54 +0000 |
commit | 8242c982ebcdfc67274c8ab79a2f34aa451872d7 (patch) | |
tree | c4df699d0083300b00dd6079cda9f6adbb788202 /paste/paste.php | |
parent | 1316c77d6941e8571b4efcdc3ab197c733cdf0ca (diff) | |
download | rafb-nopaste-8242c982ebcdfc67274c8ab79a2f34aa451872d7.tar.gz rafb-nopaste-8242c982ebcdfc67274c8ab79a2f34aa451872d7.tar.xz rafb-nopaste-8242c982ebcdfc67274c8ab79a2f34aa451872d7.zip |
Initial port of rafb.net codebase from rafb.net to Google Code.
git-svn-id: http://rafb-nopaste.googlecode.com/svn/trunk@2 6adb9682-87ac-11de-b610-71a7c637a048
Diffstat (limited to 'paste/paste.php')
-rw-r--r-- | paste/paste.php | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/paste/paste.php b/paste/paste.php new file mode 100644 index 0000000..17cec80 --- /dev/null +++ b/paste/paste.php @@ -0,0 +1,107 @@ +<? +/* +This software is licensed through a BSD-style License. +http://www.opensource.org/licenses/bsd-license.php + +Copyright (c) 2002 - 2009 Jacob D. Cohen +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +Neither the name of Jacob D. Cohen nor the names of his contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +require_once("include/pastify.inc"); +require_once("include/createpage.inc"); + +$refererurl = $_SERVER['HTTP_REFERER']; +$refererurl = preg_replace("/\/[^\/]*$/", "", $refererurl); +$thisurl = "http://" . $_SERVER['HTTP_HOST']; +$thisurl .= $_SERVER['PHP_SELF']; +$thisurl = preg_replace("/\/[^\/]*$/", "", $thisurl); + + +if (isset($_POST['text']) && "" != ($ttemp = rtrim($_POST['text']))) +{ + $url = ""; + $baseurl = $_SERVER['PHP_SELF']; + $baseurl = preg_replace("/\/[^\/]*$/", "", $baseurl); + + $text = $ttemp; + + # Figure out if the post specified a syntax highlighting language + if (isset($_POST['lang']) && "" != ($ltemp = rtrim($_POST['lang']))) + { + $language = $ltemp; + if (strlen($language) > 20) + $language = substr($language, 0, 20); + $language = stripslashes($language); + $language = strip_tags($language); + $language = htmlspecialchars($language, ENT_QUOTES); + } + else + { + $language = "Plain Text"; + } + + + # Add a description if available + if (isset($_POST['desc']) && "" != ($dtemp = rtrim($_POST['desc']))) + { + $desc = stripslashes($dtemp); + if (strlen($desc) > 80) + { + $desc = substr($desc, 0, 76); + $desc .= " ..."; + } + $desc = strip_tags($desc); + $desc = htmlspecialchars($desc, ENT_QUOTES); + if ("" == $desc) + $desc = "No description"; + } + else + $desc = "No description"; + + + if (get_magic_quotes_gpc()) + $text = stripslashes($text); + + $finalText = PastifyText($text, $language, $desc); + $url = CreatePage($finalText); + + # Note: this function was pretty specific to my implementation. It stored + # paste metadata about the language used, description, and URL, as well as + # a timestamp (but the raw pastes were never preserved - they always expired + # as promised after 24 hours) + #add_to_db($desc, $language, $url); + + Header("Location: $url"); +} +else +{ + header("Location: " . $_SERVER['HTTP_REFERER']); + exit; +} + +?> |