summaryrefslogtreecommitdiffstats
path: root/paste/include/pastify.inc
diff options
context:
space:
mode:
Diffstat (limited to 'paste/include/pastify.inc')
-rw-r--r--paste/include/pastify.inc89
1 files changed, 89 insertions, 0 deletions
diff --git a/paste/include/pastify.inc b/paste/include/pastify.inc
new file mode 100644
index 0000000..321fe51
--- /dev/null
+++ b/paste/include/pastify.inc
@@ -0,0 +1,89 @@
+<?
+/*
+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("highlight.inc");
+
+function PastifyText($text, $language, $desc)
+{
+ $plaintext = $text;
+
+ $text = ereg_replace("(&)", "&amp;", $text);
+ $text = ereg_replace("(<)", "&lt;", $text);
+ $text = preg_replace("/^[ \\t\\r]*$/ms", "&nbsp;", $text);
+
+ $lines = explode("\n", $text);
+ $nlines = count($lines);
+ $lineout = "";
+
+ # Do the actual syntax highlighting
+ $output = SyntaxHighlight($text, $language);
+
+ for ($i = 1; $i < $nlines; ++$i)
+ $lineout .= "$i\n";
+ $lineout .= "$i";
+
+ $html = <<<EOH
+<html>
+<head>
+<link rel="stylesheet" type="text/css" href="paste.css"/>
+<meta name="robots" content="noarchive"/>
+<title>Pasted code - $desc</title>
+</head>
+<div style="border-bottom: 2px solid gray;">
+<table border="0" cellpadding="1" cellspacing="2" width="100%">
+<tr>
+ <td><small>Pasted as <b>$language</b> <span id="controls">[<a href="={remove-paste-url}">Remove this paste</a> ]</span></small></td>
+</tr>
+<tr>
+ <td><small>Description: $desc</small></td>
+</tr>
+<tr>
+ <td><small>URL: ={this-paste-url}</small></td>
+</tr>
+</table>
+</div>
+
+<table border="0" cellpadding="1" cellspacing="2">
+<tr>
+ <td><pre class="code">$lineout</pre></td>
+ <td width="100%"><pre class="code" id="codemain">$output</pre></td>
+</tr>
+</table>
+</html>
+EOH;
+
+ return $html;
+}
+
+?>