From 6d518cc008e58d26b78294dbd12af4f2f1e12e53 Mon Sep 17 00:00:00 2001 From: Floorb <132411956+Neetpone@users.noreply.github.com> Date: Fri, 20 Aug 2021 15:53:06 -0400 Subject: [PATCH] Add Composer, highlight.php, bunch of restructuring of paste.php --- composer.json | 19 + composer.lock | 95 ++ config/green.lang.json | 10 + includes/common.php | 4 +- paste.php | 334 +++--- theme/bulma/view.php | 42 +- vendor/autoload.php | 7 + vendor/composer/ClassLoader.php | 481 +++++++++ vendor/composer/InstalledVersions.php | 337 ++++++ vendor/composer/LICENSE | 21 + vendor/composer/autoload_classmap.php | 10 + vendor/composer/autoload_files.php | 10 + vendor/composer/autoload_namespaces.php | 11 + vendor/composer/autoload_psr4.php | 9 + vendor/composer/autoload_real.php | 75 ++ vendor/composer/autoload_static.php | 39 + vendor/composer/installed.json | 85 ++ vendor/composer/installed.php | 32 + vendor/composer/platform_check.php | 26 + .../highlight.php/.php-cs-fixer.dist.php | 40 + vendor/scrivo/highlight.php/AUTHORS.txt | 306 ++++++ vendor/scrivo/highlight.php/CONTRIBUTING.md | 112 ++ .../highlight.php/Highlight/Autoloader.php | 73 ++ .../Highlight/HighlightResult.php | 60 ++ .../highlight.php/Highlight/Highlighter.php | 978 ++++++++++++++++++ .../highlight.php/Highlight/JsonRef.php | 177 ++++ .../highlight.php/Highlight/Language.php | 413 ++++++++ .../scrivo/highlight.php/Highlight/Mode.php | 195 ++++ .../Highlight/ModeDeprecations.php | 50 + .../scrivo/highlight.php/Highlight/RegEx.php | 108 ++ .../highlight.php/Highlight/RegExMatch.php | 108 ++ .../highlight.php/Highlight/RegExUtils.php | 61 ++ .../highlight.php/Highlight/Terminators.php | 245 +++++ .../highlight.php/Highlight/languages/1c.json | 130 +++ .../Highlight/languages/abnf.json | 58 ++ .../Highlight/languages/accesslog.json | 55 + .../Highlight/languages/actionscript.json | 148 +++ .../Highlight/languages/ada.json | 118 +++ .../Highlight/languages/angelscript.json | 138 +++ .../Highlight/languages/apache.json | 78 ++ .../Highlight/languages/applescript.json | 116 +++ .../Highlight/languages/arcade.json | 250 +++++ .../Highlight/languages/arduino.json | 334 ++++++ .../Highlight/languages/armasm.json | 107 ++ .../Highlight/languages/asciidoc.json | 186 ++++ .../Highlight/languages/aspectj.json | 219 ++++ .../Highlight/languages/autohotkey.json | 96 ++ .../Highlight/languages/autoit.json | 197 ++++ .../Highlight/languages/avrasm.json | 87 ++ .../Highlight/languages/awk.json | 120 +++ .../Highlight/languages/axapta.json | 85 ++ .../Highlight/languages/bash.json | 92 ++ .../Highlight/languages/basic.json | 72 ++ .../Highlight/languages/bnf.json | 74 ++ .../Highlight/languages/brainfuck.json | 47 + .../Highlight/languages/cal.json | 126 +++ .../Highlight/languages/capnproto.json | 87 ++ .../Highlight/languages/ceylon.json | 90 ++ .../Highlight/languages/clean.json | 75 ++ .../Highlight/languages/clojure-repl.json | 12 + .../Highlight/languages/clojure.json | 139 +++ .../Highlight/languages/cmake.json | 48 + .../Highlight/languages/coffeescript.json | 267 +++++ .../Highlight/languages/coq.json | 49 + .../Highlight/languages/cos.json | 105 ++ .../Highlight/languages/cpp.json | 334 ++++++ .../Highlight/languages/crmsh.json | 101 ++ .../Highlight/languages/crystal.json | 482 +++++++++ .../highlight.php/Highlight/languages/cs.json | 364 +++++++ .../Highlight/languages/csp.json | 20 + .../Highlight/languages/css.json | 185 ++++ .../highlight.php/Highlight/languages/d.json | 121 +++ .../Highlight/languages/dart.json | 208 ++++ .../Highlight/languages/delphi.json | 156 +++ .../Highlight/languages/diff.json | 65 ++ .../Highlight/languages/django.json | 101 ++ .../Highlight/languages/dns.json | 44 + .../Highlight/languages/dockerfile.json | 60 ++ .../Highlight/languages/dos.json | 54 + .../Highlight/languages/dsconfig.json | 63 ++ .../Highlight/languages/dts.json | 193 ++++ .../Highlight/languages/dust.json | 46 + .../Highlight/languages/ebnf.json | 69 ++ .../Highlight/languages/elixir.json | 256 +++++ .../Highlight/languages/elm.json | 161 +++ .../Highlight/languages/erb.json | 27 + .../Highlight/languages/erlang-repl.json | 76 ++ .../Highlight/languages/erlang.json | 222 ++++ .../Highlight/languages/excel.json | 70 ++ .../Highlight/languages/fix.json | 28 + .../Highlight/languages/flix.json | 68 ++ .../Highlight/languages/fortran.json | 78 ++ .../Highlight/languages/fsharp.json | 114 ++ .../Highlight/languages/gams.json | 286 +++++ .../Highlight/languages/gauss.json | 281 +++++ .../Highlight/languages/gcode.json | 123 +++ .../Highlight/languages/gherkin.json | 64 ++ .../Highlight/languages/glsl.json | 51 + .../Highlight/languages/gml.json | 73 ++ .../highlight.php/Highlight/languages/go.json | 114 ++ .../Highlight/languages/golo.json | 44 + .../Highlight/languages/gradle.json | 87 ++ .../Highlight/languages/groovy.json | 160 +++ .../Highlight/languages/haml.json | 136 +++ .../Highlight/languages/handlebars.json | 131 +++ .../Highlight/languages/haskell.json | 225 ++++ .../Highlight/languages/haxe.json | 197 ++++ .../Highlight/languages/hsp.json | 131 +++ .../Highlight/languages/htmlbars.json | 88 ++ .../Highlight/languages/http.json | 57 + .../highlight.php/Highlight/languages/hy.json | 149 +++ .../Highlight/languages/inform7.json | 47 + .../Highlight/languages/ini.json | 128 +++ .../Highlight/languages/irpf90.json | 90 ++ .../Highlight/languages/isbl.json | 137 +++ .../Highlight/languages/java.json | 166 +++ .../Highlight/languages/javascript.json | 398 +++++++ .../Highlight/languages/jboss-cli.json | 71 ++ .../Highlight/languages/json.json | 109 ++ .../Highlight/languages/julia-repl.json | 16 + .../Highlight/languages/julia.json | 111 ++ .../Highlight/languages/kotlin.json | 316 ++++++ .../Highlight/languages/lasso.json | 253 +++++ .../Highlight/languages/ldif.json | 45 + .../Highlight/languages/leaf.json | 38 + .../Highlight/languages/less.json | 314 ++++++ .../Highlight/languages/lisp.json | 190 ++++ .../Highlight/languages/livecodeserver.json | 220 ++++ .../Highlight/languages/livescript.json | 267 +++++ .../Highlight/languages/llvm.json | 90 ++ .../Highlight/languages/lsl.json | 98 ++ .../Highlight/languages/lua.json | 118 +++ .../Highlight/languages/makefile.json | 90 ++ .../Highlight/languages/markdown.json | 121 +++ .../Highlight/languages/mathematica.json | 43 + .../Highlight/languages/matlab.json | 126 +++ .../Highlight/languages/maxima.json | 51 + .../Highlight/languages/mel.json | 77 ++ .../Highlight/languages/mercury.json | 122 +++ .../Highlight/languages/mipsasm.json | 101 ++ .../Highlight/languages/mizar.json | 20 + .../Highlight/languages/mojolicious.json | 21 + .../Highlight/languages/monkey.json | 119 +++ .../Highlight/languages/moonscript.json | 187 ++++ .../Highlight/languages/n1ql.json | 74 ++ .../Highlight/languages/nginx.json | 147 +++ .../Highlight/languages/nimrod.json | 83 ++ .../Highlight/languages/nix.json | 84 ++ .../Highlight/languages/nsis.json | 127 +++ .../Highlight/languages/objectivec.json | 147 +++ .../Highlight/languages/ocaml.json | 84 ++ .../Highlight/languages/openscad.json | 108 ++ .../Highlight/languages/oxygene.json | 133 +++ .../Highlight/languages/parser3.json | 79 ++ .../Highlight/languages/perl.json | 208 ++++ .../highlight.php/Highlight/languages/pf.json | 54 + .../Highlight/languages/pgsql.json | 330 ++++++ .../Highlight/languages/php.json | 261 +++++ .../Highlight/languages/plaintext.json | 3 + .../Highlight/languages/pony.json | 81 ++ .../Highlight/languages/powershell.json | 270 +++++ .../Highlight/languages/processing.json | 68 ++ .../Highlight/languages/profile.json | 61 ++ .../Highlight/languages/prolog.json | 150 +++ .../Highlight/languages/properties.json | 68 ++ .../Highlight/languages/protobuf.json | 70 ++ .../Highlight/languages/puppet.json | 123 +++ .../Highlight/languages/purebasic.json | 58 ++ .../Highlight/languages/python.json | 268 +++++ .../highlight.php/Highlight/languages/q.json | 47 + .../Highlight/languages/qml.json | 228 ++++ .../highlight.php/Highlight/languages/r.json | 77 ++ .../Highlight/languages/reasonml.json | 344 ++++++ .../Highlight/languages/rib.json | 49 + .../Highlight/languages/roboconf.json | 82 ++ .../Highlight/languages/routeros.json | 174 ++++ .../Highlight/languages/rsl.json | 81 ++ .../Highlight/languages/ruby.json | 385 +++++++ .../Highlight/languages/ruleslanguage.json | 78 ++ .../Highlight/languages/rust.json | 152 +++ .../Highlight/languages/sas.json | 96 ++ .../Highlight/languages/scala.json | 163 +++ .../Highlight/languages/scheme.json | 190 ++++ .../Highlight/languages/scilab.json | 83 ++ .../Highlight/languages/scss.json | 154 +++ .../Highlight/languages/shell.json | 15 + .../Highlight/languages/smali.json | 72 ++ .../Highlight/languages/smalltalk.json | 86 ++ .../Highlight/languages/sml.json | 83 ++ .../Highlight/languages/sqf.json | 114 ++ .../Highlight/languages/sql.json | 103 ++ .../Highlight/languages/stan.json | 102 ++ .../Highlight/languages/stata.json | 82 ++ .../Highlight/languages/step21.json | 112 ++ .../Highlight/languages/stylus.json | 168 +++ .../Highlight/languages/subunit.json | 36 + .../Highlight/languages/swift.json | 173 ++++ .../Highlight/languages/taggerscript.json | 37 + .../Highlight/languages/tap.json | 52 + .../Highlight/languages/tcl.json | 102 ++ .../Highlight/languages/tex.json | 87 ++ .../Highlight/languages/thrift.json | 81 ++ .../highlight.php/Highlight/languages/tp.json | 130 +++ .../Highlight/languages/twig.json | 79 ++ .../Highlight/languages/typescript.json | 334 ++++++ .../Highlight/languages/vala.json | 93 ++ .../Highlight/languages/vbnet.json | 73 ++ .../Highlight/languages/vbscript-html.json | 10 + .../Highlight/languages/vbscript.json | 46 + .../Highlight/languages/verilog.json | 99 ++ .../Highlight/languages/vhdl.json | 76 ++ .../Highlight/languages/vim.json | 66 ++ .../Highlight/languages/x86asm.json | 98 ++ .../highlight.php/Highlight/languages/xl.json | 100 ++ .../Highlight/languages/xml.json | 260 +++++ .../Highlight/languages/xquery.json | 133 +++ .../Highlight/languages/yaml.json | 123 +++ .../Highlight/languages/zephir.json | 224 ++++ .../HighlightUtilities/_internals.php | 46 + .../HighlightUtilities/_themeColors.php | 479 +++++++++ .../HighlightUtilities/functions.php | 254 +++++ vendor/scrivo/highlight.php/LICENSE.md | 30 + vendor/scrivo/highlight.php/README.md | 146 +++ vendor/scrivo/highlight.php/composer.json | 59 ++ .../scrivo/highlight.php/styles/a11y-dark.css | 99 ++ .../highlight.php/styles/a11y-light.css | 99 ++ vendor/scrivo/highlight.php/styles/agate.css | 108 ++ .../highlight.php/styles/an-old-hope.css | 89 ++ .../highlight.php/styles/androidstudio.css | 66 ++ .../highlight.php/styles/arduino-light.css | 87 ++ vendor/scrivo/highlight.php/styles/arta.css | 73 ++ .../scrivo/highlight.php/styles/ascetic.css | 45 + .../styles/atelier-cave-dark.css | 83 ++ .../styles/atelier-cave-light.css | 85 ++ .../styles/atelier-dune-dark.css | 69 ++ .../styles/atelier-dune-light.css | 69 ++ .../styles/atelier-estuary-dark.css | 84 ++ .../styles/atelier-estuary-light.css | 84 ++ .../styles/atelier-forest-dark.css | 69 ++ .../styles/atelier-forest-light.css | 69 ++ .../styles/atelier-heath-dark.css | 69 ++ .../styles/atelier-heath-light.css | 69 ++ .../styles/atelier-lakeside-dark.css | 69 ++ .../styles/atelier-lakeside-light.css | 69 ++ .../styles/atelier-plateau-dark.css | 84 ++ .../styles/atelier-plateau-light.css | 84 ++ .../styles/atelier-savanna-dark.css | 84 ++ .../styles/atelier-savanna-light.css | 84 ++ .../styles/atelier-seaside-dark.css | 69 ++ .../styles/atelier-seaside-light.css | 69 ++ .../styles/atelier-sulphurpool-dark.css | 69 ++ .../styles/atelier-sulphurpool-light.css | 69 ++ .../styles/atom-one-dark-reasonable.css | 75 ++ .../highlight.php/styles/atom-one-dark.css | 96 ++ .../highlight.php/styles/atom-one-light.css | 96 ++ .../highlight.php/styles/brown-paper.css | 64 ++ .../highlight.php/styles/brown-papersq.png | Bin 0 -> 18198 bytes .../highlight.php/styles/codepen-embed.css | 60 ++ .../highlight.php/styles/color-brewer.css | 71 ++ .../scrivo/highlight.php/styles/darcula.css | 74 ++ vendor/scrivo/highlight.php/styles/dark.css | 63 ++ .../scrivo/highlight.php/styles/darkula.css | 6 + .../scrivo/highlight.php/styles/default.css | 99 ++ vendor/scrivo/highlight.php/styles/docco.css | 97 ++ .../scrivo/highlight.php/styles/dracula.css | 76 ++ vendor/scrivo/highlight.php/styles/far.css | 71 ++ .../highlight.php/styles/foundation.css | 89 ++ .../highlight.php/styles/github-gist.css | 79 ++ vendor/scrivo/highlight.php/styles/github.css | 99 ++ vendor/scrivo/highlight.php/styles/gml.css | 78 ++ .../highlight.php/styles/googlecode.css | 89 ++ .../highlight.php/styles/gradient-dark.css | 122 +++ .../scrivo/highlight.php/styles/grayscale.css | 101 ++ .../highlight.php/styles/gruvbox-dark.css | 108 ++ .../highlight.php/styles/gruvbox-light.css | 108 ++ .../scrivo/highlight.php/styles/hopscotch.css | 84 ++ vendor/scrivo/highlight.php/styles/hybrid.css | 102 ++ vendor/scrivo/highlight.php/styles/idea.css | 97 ++ .../scrivo/highlight.php/styles/ir-black.css | 73 ++ .../highlight.php/styles/isbl-editor-dark.css | 112 ++ .../styles/isbl-editor-light.css | 111 ++ .../highlight.php/styles/kimbie.dark.css | 74 ++ .../highlight.php/styles/kimbie.light.css | 74 ++ .../scrivo/highlight.php/styles/lightfair.css | 88 ++ vendor/scrivo/highlight.php/styles/magula.css | 70 ++ .../scrivo/highlight.php/styles/mono-blue.css | 56 + .../highlight.php/styles/monokai-sublime.css | 83 ++ .../scrivo/highlight.php/styles/monokai.css | 71 ++ .../scrivo/highlight.php/styles/night-owl.css | 182 ++++ vendor/scrivo/highlight.php/styles/nord.css | 309 ++++++ .../scrivo/highlight.php/styles/obsidian.css | 88 ++ vendor/scrivo/highlight.php/styles/ocean.css | 74 ++ .../highlight.php/styles/paraiso-dark.css | 72 ++ .../highlight.php/styles/paraiso-light.css | 72 ++ .../scrivo/highlight.php/styles/pojoaque.css | 83 ++ .../scrivo/highlight.php/styles/pojoaque.jpg | Bin 0 -> 1186 bytes .../scrivo/highlight.php/styles/purebasic.css | 96 ++ .../highlight.php/styles/qtcreator_dark.css | 83 ++ .../highlight.php/styles/qtcreator_light.css | 83 ++ .../highlight.php/styles/railscasts.css | 106 ++ .../scrivo/highlight.php/styles/rainbow.css | 85 ++ .../scrivo/highlight.php/styles/routeros.css | 108 ++ .../highlight.php/styles/school-book.css | 69 ++ .../highlight.php/styles/school-book.png | Bin 0 -> 486 bytes .../highlight.php/styles/shades-of-purple.css | 96 ++ .../highlight.php/styles/solarized-dark.css | 84 ++ .../highlight.php/styles/solarized-light.css | 84 ++ .../scrivo/highlight.php/styles/sunburst.css | 102 ++ .../styles/tomorrow-night-blue.css | 75 ++ .../styles/tomorrow-night-bright.css | 74 ++ .../styles/tomorrow-night-eighties.css | 74 ++ .../highlight.php/styles/tomorrow-night.css | 75 ++ .../scrivo/highlight.php/styles/tomorrow.css | 72 ++ vendor/scrivo/highlight.php/styles/vs.css | 68 ++ vendor/scrivo/highlight.php/styles/vs2015.css | 115 ++ vendor/scrivo/highlight.php/styles/xcode.css | 104 ++ vendor/scrivo/highlight.php/styles/xt256.css | 92 ++ .../scrivo/highlight.php/styles/zenburn.css | 80 ++ 318 files changed, 36414 insertions(+), 199 deletions(-) create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/green.lang.json create mode 100644 vendor/autoload.php create mode 100644 vendor/composer/ClassLoader.php create mode 100644 vendor/composer/InstalledVersions.php create mode 100644 vendor/composer/LICENSE create mode 100644 vendor/composer/autoload_classmap.php create mode 100644 vendor/composer/autoload_files.php create mode 100644 vendor/composer/autoload_namespaces.php create mode 100644 vendor/composer/autoload_psr4.php create mode 100644 vendor/composer/autoload_real.php create mode 100644 vendor/composer/autoload_static.php create mode 100644 vendor/composer/installed.json create mode 100644 vendor/composer/installed.php create mode 100644 vendor/composer/platform_check.php create mode 100644 vendor/scrivo/highlight.php/.php-cs-fixer.dist.php create mode 100644 vendor/scrivo/highlight.php/AUTHORS.txt create mode 100644 vendor/scrivo/highlight.php/CONTRIBUTING.md create mode 100644 vendor/scrivo/highlight.php/Highlight/Autoloader.php create mode 100644 vendor/scrivo/highlight.php/Highlight/HighlightResult.php create mode 100644 vendor/scrivo/highlight.php/Highlight/Highlighter.php create mode 100644 vendor/scrivo/highlight.php/Highlight/JsonRef.php create mode 100644 vendor/scrivo/highlight.php/Highlight/Language.php create mode 100644 vendor/scrivo/highlight.php/Highlight/Mode.php create mode 100644 vendor/scrivo/highlight.php/Highlight/ModeDeprecations.php create mode 100644 vendor/scrivo/highlight.php/Highlight/RegEx.php create mode 100644 vendor/scrivo/highlight.php/Highlight/RegExMatch.php create mode 100644 vendor/scrivo/highlight.php/Highlight/RegExUtils.php create mode 100644 vendor/scrivo/highlight.php/Highlight/Terminators.php create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/1c.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/abnf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/accesslog.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/actionscript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ada.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/angelscript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/apache.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/applescript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/arcade.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/arduino.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/armasm.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/asciidoc.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/aspectj.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/autohotkey.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/autoit.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/avrasm.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/awk.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/axapta.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/bash.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/basic.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/bnf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/brainfuck.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/cal.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/capnproto.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ceylon.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/clean.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/clojure-repl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/clojure.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/cmake.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/coffeescript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/coq.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/cos.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/cpp.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/crmsh.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/crystal.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/cs.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/csp.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/css.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/d.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/dart.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/delphi.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/diff.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/django.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/dns.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/dockerfile.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/dos.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/dsconfig.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/dts.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/dust.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ebnf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/elixir.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/elm.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/erb.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/erlang-repl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/erlang.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/excel.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/fix.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/flix.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/fortran.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/fsharp.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/gams.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/gauss.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/gcode.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/gherkin.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/glsl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/gml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/go.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/golo.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/gradle.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/groovy.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/haml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/handlebars.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/haskell.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/haxe.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/hsp.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/htmlbars.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/http.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/hy.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/inform7.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ini.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/irpf90.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/isbl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/java.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/javascript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/jboss-cli.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/json.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/julia-repl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/julia.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/kotlin.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/lasso.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ldif.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/leaf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/less.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/lisp.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/livecodeserver.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/livescript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/llvm.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/lsl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/lua.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/makefile.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/markdown.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/mathematica.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/matlab.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/maxima.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/mel.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/mercury.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/mipsasm.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/mizar.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/mojolicious.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/monkey.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/moonscript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/n1ql.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/nginx.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/nimrod.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/nix.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/nsis.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/objectivec.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ocaml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/openscad.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/oxygene.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/parser3.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/perl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/pf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/pgsql.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/php.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/plaintext.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/pony.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/powershell.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/processing.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/profile.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/prolog.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/properties.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/protobuf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/puppet.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/purebasic.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/python.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/q.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/qml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/r.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/reasonml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/rib.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/roboconf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/routeros.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/rsl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ruby.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/ruleslanguage.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/rust.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/sas.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/scala.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/scheme.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/scilab.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/scss.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/shell.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/smali.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/smalltalk.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/sml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/sqf.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/sql.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/stan.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/stata.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/step21.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/stylus.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/subunit.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/swift.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/taggerscript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/tap.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/tcl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/tex.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/thrift.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/tp.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/twig.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/typescript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/vala.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/vbnet.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/vbscript-html.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/vbscript.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/verilog.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/vhdl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/vim.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/x86asm.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/xl.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/xml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/xquery.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/yaml.json create mode 100644 vendor/scrivo/highlight.php/Highlight/languages/zephir.json create mode 100644 vendor/scrivo/highlight.php/HighlightUtilities/_internals.php create mode 100644 vendor/scrivo/highlight.php/HighlightUtilities/_themeColors.php create mode 100644 vendor/scrivo/highlight.php/HighlightUtilities/functions.php create mode 100644 vendor/scrivo/highlight.php/LICENSE.md create mode 100644 vendor/scrivo/highlight.php/README.md create mode 100644 vendor/scrivo/highlight.php/composer.json create mode 100644 vendor/scrivo/highlight.php/styles/a11y-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/a11y-light.css create mode 100644 vendor/scrivo/highlight.php/styles/agate.css create mode 100644 vendor/scrivo/highlight.php/styles/an-old-hope.css create mode 100644 vendor/scrivo/highlight.php/styles/androidstudio.css create mode 100644 vendor/scrivo/highlight.php/styles/arduino-light.css create mode 100644 vendor/scrivo/highlight.php/styles/arta.css create mode 100644 vendor/scrivo/highlight.php/styles/ascetic.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-cave-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-cave-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-dune-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-dune-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-estuary-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-estuary-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-forest-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-forest-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-heath-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-heath-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-lakeside-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-lakeside-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-plateau-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-plateau-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-savanna-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-savanna-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-seaside-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-seaside-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-sulphurpool-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atelier-sulphurpool-light.css create mode 100644 vendor/scrivo/highlight.php/styles/atom-one-dark-reasonable.css create mode 100644 vendor/scrivo/highlight.php/styles/atom-one-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/atom-one-light.css create mode 100644 vendor/scrivo/highlight.php/styles/brown-paper.css create mode 100644 vendor/scrivo/highlight.php/styles/brown-papersq.png create mode 100644 vendor/scrivo/highlight.php/styles/codepen-embed.css create mode 100644 vendor/scrivo/highlight.php/styles/color-brewer.css create mode 100644 vendor/scrivo/highlight.php/styles/darcula.css create mode 100644 vendor/scrivo/highlight.php/styles/dark.css create mode 100644 vendor/scrivo/highlight.php/styles/darkula.css create mode 100644 vendor/scrivo/highlight.php/styles/default.css create mode 100644 vendor/scrivo/highlight.php/styles/docco.css create mode 100644 vendor/scrivo/highlight.php/styles/dracula.css create mode 100644 vendor/scrivo/highlight.php/styles/far.css create mode 100644 vendor/scrivo/highlight.php/styles/foundation.css create mode 100644 vendor/scrivo/highlight.php/styles/github-gist.css create mode 100644 vendor/scrivo/highlight.php/styles/github.css create mode 100644 vendor/scrivo/highlight.php/styles/gml.css create mode 100644 vendor/scrivo/highlight.php/styles/googlecode.css create mode 100644 vendor/scrivo/highlight.php/styles/gradient-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/grayscale.css create mode 100644 vendor/scrivo/highlight.php/styles/gruvbox-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/gruvbox-light.css create mode 100644 vendor/scrivo/highlight.php/styles/hopscotch.css create mode 100644 vendor/scrivo/highlight.php/styles/hybrid.css create mode 100644 vendor/scrivo/highlight.php/styles/idea.css create mode 100644 vendor/scrivo/highlight.php/styles/ir-black.css create mode 100644 vendor/scrivo/highlight.php/styles/isbl-editor-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/isbl-editor-light.css create mode 100644 vendor/scrivo/highlight.php/styles/kimbie.dark.css create mode 100644 vendor/scrivo/highlight.php/styles/kimbie.light.css create mode 100644 vendor/scrivo/highlight.php/styles/lightfair.css create mode 100644 vendor/scrivo/highlight.php/styles/magula.css create mode 100644 vendor/scrivo/highlight.php/styles/mono-blue.css create mode 100644 vendor/scrivo/highlight.php/styles/monokai-sublime.css create mode 100644 vendor/scrivo/highlight.php/styles/monokai.css create mode 100644 vendor/scrivo/highlight.php/styles/night-owl.css create mode 100644 vendor/scrivo/highlight.php/styles/nord.css create mode 100644 vendor/scrivo/highlight.php/styles/obsidian.css create mode 100644 vendor/scrivo/highlight.php/styles/ocean.css create mode 100644 vendor/scrivo/highlight.php/styles/paraiso-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/paraiso-light.css create mode 100644 vendor/scrivo/highlight.php/styles/pojoaque.css create mode 100644 vendor/scrivo/highlight.php/styles/pojoaque.jpg create mode 100644 vendor/scrivo/highlight.php/styles/purebasic.css create mode 100644 vendor/scrivo/highlight.php/styles/qtcreator_dark.css create mode 100644 vendor/scrivo/highlight.php/styles/qtcreator_light.css create mode 100644 vendor/scrivo/highlight.php/styles/railscasts.css create mode 100644 vendor/scrivo/highlight.php/styles/rainbow.css create mode 100644 vendor/scrivo/highlight.php/styles/routeros.css create mode 100644 vendor/scrivo/highlight.php/styles/school-book.css create mode 100644 vendor/scrivo/highlight.php/styles/school-book.png create mode 100644 vendor/scrivo/highlight.php/styles/shades-of-purple.css create mode 100644 vendor/scrivo/highlight.php/styles/solarized-dark.css create mode 100644 vendor/scrivo/highlight.php/styles/solarized-light.css create mode 100644 vendor/scrivo/highlight.php/styles/sunburst.css create mode 100644 vendor/scrivo/highlight.php/styles/tomorrow-night-blue.css create mode 100644 vendor/scrivo/highlight.php/styles/tomorrow-night-bright.css create mode 100644 vendor/scrivo/highlight.php/styles/tomorrow-night-eighties.css create mode 100644 vendor/scrivo/highlight.php/styles/tomorrow-night.css create mode 100644 vendor/scrivo/highlight.php/styles/tomorrow.css create mode 100644 vendor/scrivo/highlight.php/styles/vs.css create mode 100644 vendor/scrivo/highlight.php/styles/vs2015.css create mode 100644 vendor/scrivo/highlight.php/styles/xcode.css create mode 100644 vendor/scrivo/highlight.php/styles/xt256.css create mode 100644 vendor/scrivo/highlight.php/styles/zenburn.css diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..e187950 --- /dev/null +++ b/composer.json @@ -0,0 +1,19 @@ +{ + "name": "aftercase/ponepaste", + "description": "PonePaste can store green", + "minimum-stability": "stable", + "license": "proprietary", + "authors": [ + { + "name": "aftercase" + }, + { + "name": "appledash" + } + ], + "require": { + "scrivo/highlight.php": "v9.18.1.7", + "ext-pdo": "*", + "ext-openssl": "*" + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..0aa237f --- /dev/null +++ b/composer.lock @@ -0,0 +1,95 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "6150c75f4650b6bf4b3f2cb2cbce0bda", + "packages": [ + { + "name": "scrivo/highlight.php", + "version": "v9.18.1.7", + "source": { + "type": "git", + "url": "https://github.com/scrivo/highlight.php.git", + "reference": "05996fcc61e97978d76ca7d1ac14b65e7cd26f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/05996fcc61e97978d76ca7d1ac14b65e7cd26f91", + "reference": "05996fcc61e97978d76ca7d1ac14b65e7cd26f91", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7", + "sabberworm/php-css-parser": "^8.3", + "symfony/finder": "^2.8|^3.4", + "symfony/var-dumper": "^2.8|^3.4" + }, + "type": "library", + "autoload": { + "psr-0": { + "Highlight\\": "", + "HighlightUtilities\\": "" + }, + "files": [ + "HighlightUtilities/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Geert Bergman", + "homepage": "http://www.scrivo.org/", + "role": "Project Author" + }, + { + "name": "Vladimir Jimenez", + "homepage": "https://allejo.io", + "role": "Maintainer" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Contributor" + } + ], + "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", + "keywords": [ + "code", + "highlight", + "highlight.js", + "highlight.php", + "syntax" + ], + "support": { + "issues": "https://github.com/scrivo/highlight.php/issues", + "source": "https://github.com/scrivo/highlight.php" + }, + "funding": [ + { + "url": "https://github.com/allejo", + "type": "github" + } + ], + "time": "2021-07-09T00:30:39+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.1.0" +} diff --git a/config/green.lang.json b/config/green.lang.json new file mode 100644 index 0000000..ea878ba --- /dev/null +++ b/config/green.lang.json @@ -0,0 +1,10 @@ +{ + "aliases": ["greentext"], + "contains": [ + { + "className": "comment", + "begin": ">", + "end": "$" + } + ] +} \ No newline at end of file diff --git a/includes/common.php b/includes/common.php index 53db32d..e5dbb28 100644 --- a/includes/common.php +++ b/includes/common.php @@ -2,7 +2,7 @@ if (!defined('IN_PONEPASTE')) { die('This file may not be accessed directly.'); } - +require_once(__DIR__ . '/../vendor/autoload.php'); require_once(__DIR__ . '/config.php'); require_once(__DIR__ . '/functions.php'); require_once(__DIR__ . '/DatabaseHandle.class.php'); @@ -53,7 +53,7 @@ function getSiteTotal_unique_views(DatabaseHandle $conn) : int { * @return string HTML-escaped string */ function pp_html_escape(string $unescaped) : string { - return htmlentities($unescaped, ENT_QUOTES, 'UTF-8', false); + return htmlspecialchars($unescaped, ENT_QUOTES, 'UTF-8', false); } function updatePageViews(DatabaseHandle $conn) : void { diff --git a/paste.php b/paste.php index 8d265b4..149b8d2 100644 --- a/paste.php +++ b/paste.php @@ -24,10 +24,13 @@ require_once('includes/functions.php'); require_once('includes/Tag.class.php'); require_once('includes/passwords.php'); + require_once('includes/Parsedown/Parsedown.php'); require_once('includes/Parsedown/ParsedownExtra.php'); require_once('includes/Parsedown/SecureParsedown.php'); +use Highlight\Highlighter; + function rawView($content, $p_code) { if ($p_code) { header('Content-Type: text/plain'); @@ -41,10 +44,11 @@ $paste_id = intval(trim($_REQUEST['id'])); updatePageViews($conn); +// This is used in the theme files. +$totalpastes = getSiteTotalPastes($conn); + // Get paste favorite count -$query = $conn->prepare('SELECT COUNT(*) FROM pins WHERE paste_id = ?'); -$query->execute([$paste_id]); -$fav_count = intval($query->fetch(PDO::FETCH_NUM)[0]); +$fav_count = $conn->querySelectOne('SELECT COUNT(*) FROM pins WHERE paste_id = ?', [$paste_id], PDO::FETCH_NUM)[0]; // Get paste info $row = $conn->querySelectOne( @@ -54,9 +58,6 @@ $row = $conn->querySelectOne( WHERE pastes.id = ?', [$paste_id]); -// This is used in the theme files. -$totalpastes = getSiteTotalPastes($conn); - $notfound = null; $is_private = false; @@ -64,156 +65,150 @@ if ($row === null) { header('HTTP/1.1 404 Not Found'); $notfound = $lang['notfound']; // "Not found"; goto Not_Valid_Paste; -} else { - $paste_owner_id = (int) $row['user_id']; - $paste_title = $row['title']; - $paste_code = $row['code']; +} - $paste = [ - 'title' => $paste_title, - 'created_at' => (new DateTime($row['created_at']))->format('jS F Y h:i:s A'), - 'updated_at' => (new DateTime($row['updated_at']))->format('jS F Y h:i:s A'), - 'user_id' => $paste_owner_id, - 'member' => $row['member'], - 'views' => $row['views'], - 'code' => $paste_code, - 'tags' => getPasteTags($conn, $paste_id) - ]; +$paste_owner_id = (int) $row['user_id']; +$paste_title = $row['title']; +$paste_code = $row['code']; +$using_highlighter = $paste_code !== 'pastedown'; - $p_content = $row['content']; - $p_visible = $row['visible']; - $p_expiry = Trim($row['expiry']); - $p_password = $row['password']; - $p_encrypt = (bool) $row['encrypt']; +$paste = [ + 'title' => $paste_title, + 'created_at' => (new DateTime($row['created_at']))->format('jS F Y h:i:s A'), + 'updated_at' => (new DateTime($row['updated_at']))->format('jS F Y h:i:s A'), + 'user_id' => $paste_owner_id, + 'member' => $row['member'], + 'views' => $row['views'], + 'code' => $paste_code, + 'tags' => getPasteTags($conn, $paste_id) +]; + +$p_content = $row['content']; +$p_visible = $row['visible']; +$p_expiry = $row['expiry']; +$p_password = $row['password']; +$p_encrypt = (bool) $row['encrypt']; - $is_private = $row['visible'] === '2'; - $private_error = false; +$is_private = $row['visible'] === '2'; - if ($is_private && (!$current_user || $current_user->user_id !== $paste_owner_id)) { - $notfound = $lang['privatepaste']; //" This is a private paste. If you created this paste, please login to view it."; - $private_error = true; +if ($is_private && (!$current_user || $current_user->user_id !== $paste_owner_id)) { + $notfound = $lang['privatepaste']; //" This is a private paste. If you created this paste, please login to view it."; + goto Not_Valid_Paste; +} + +/* Verify paste password */ +$password_required = $p_password !== null && $p_password !== 'NONE'; +$password_valid = true; +$password_candidate = ''; + +if ($password_required) { + if (!empty($_POST['mypass'])) { + $password_candidate = $_POST['mypass']; + } else if (!empty($_GET['password'])) { + $password_candidate = @base64_decode($_GET['password']); + } + + if (empty($password_candidate)) { + $password_valid = false; + $error = $lang['pwdprotected']; // 'Password protected paste'; + goto Not_Valid_Paste; + } elseif (!pp_password_verify($password_candidate, $p_password)) { + $password_valid = false; + $error = $lang['wrongpassword']; // 'Wrong password'; goto Not_Valid_Paste; - } - - if (!empty($p_expiry) && $p_expiry !== 'SELF') { - $input_time = $p_expiry; - $current_time = mktime(date("H"), date("i"), date("s"), date("n"), date("j"), date("Y")); - if ($input_time < $current_time) { - $notfound = $lang['expired']; - $p_private_error = 1; - goto Not_Valid_Paste; - } - } - - if ($p_encrypt == 1) { - $p_content = openssl_decrypt($p_content, PP_ENCRYPTION_ALGO, PP_ENCRYPTION_KEY); - } - - $op_content = trim(htmlspecialchars_decode($p_content)); - - // Download the paste - if (isset($_GET['download'])) { - if ($p_password == "NONE" || $p_password === null) { - doDownload($paste_id, $paste_title, $p_member, $op_content, $paste_code); - exit(); - } else { - if (isset($_GET['password'])) { - if (pp_password_verify($_GET['password'], $p_password)) { - doDownload($paste_id, $paste_title, $p_member, $op_content, $paste_code); - exit(); - } else { - $error = $lang['wrongpassword']; // 'Wrong password'; - } - } else { - $error = $lang['pwdprotected']; // 'Password protected paste'; - } - } - } - - // Raw view - if (isset($_GET['raw'])) { - if ($p_password == "NONE" || $p_password === null) { - rawView($op_content, $paste_code); - exit(); - } else { - if (isset($_GET['password'])) { - if (pp_password_verify($_GET['password'], $p_password)) { - rawView($op_content, $paste_code); - exit(); - } else { - $error = $lang['wrongpassword']; // 'Wrong password'; - } - } else { - $error = $lang['pwdprotected']; // 'Password protected paste'; - } - } - } - - // Preprocess - $highlight = array(); - $prefix_size = strlen('!highlight!'); - $lines = explode("\n", $p_content); - $p_content = ""; - foreach ($lines as $idx => $line) { - if (substr($line, 0, $prefix_size) == '!highlight!') { - $highlight[] = $idx + 1; - $line = substr($line, $prefix_size); - } - $p_content .= $line . "\n"; - } - - $p_content = rtrim($p_content); - - // Apply syntax highlight - $p_content = htmlspecialchars_decode($p_content); - if ($paste_code === "pastedown") { - $Parsedown = new Parsedown(); - $Parsedown->setSafeMode(true); - $p_content = $Parsedown->text($p_content); - } else { - $geshi = new GeSHi($p_content, $paste_code, 'includes/geshi/'); - - $geshi->enable_classes(); - $geshi->set_header_type(GESHI_HEADER_DIV); - $geshi->set_line_style('color: #aaaaaa; width:auto;'); - $geshi->set_code_style('color: #757584;'); - if (count($highlight)) { - $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS); - $geshi->highlight_lines_extra($highlight); - $geshi->set_highlight_lines_extra_style('color:#399bff;background:rgba(38,92,255,0.14);'); - } else { - $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 2); - } - $p_content = $geshi->parse_code(); - $style = $geshi->get_stylesheet(); - $ges_style = ''; - } - - // Embed view after GeSHI is applied so that $p_code is syntax highlighted as it should be. - if (isset($_GET['embed'])) { - if ($p_password == "NONE" || $p_password === null) { - embedView($paste_id, $paste_title, $p_content, $paste_code, $title, $baseurl, $ges_style, $lang); - exit(); - } else { - if (isset($_GET['password'])) { - if (pp_password_verify($_GET['password'], $p_password)) { - embedView($paste_id, $paste_title, $p_content, $paste_code, $title, $p_baseurl, $ges_style, $lang); - exit(); - } else { - $error = $lang['wrongpassword']; // 'Wrong password'; - } - } else { - $error = $lang['pwdprotected']; // 'Password protected paste'; - } - } } } -require_once('theme/' . $default_theme . '/header.php'); -if ($p_password == "NONE" || $p_password === null) { - // No password & diplay the paste +if (!empty($p_expiry) && $p_expiry !== 'SELF') { + $input_time = $p_expiry; + $current_time = mktime(date("H"), date("i"), date("s"), date("n"), date("j"), date("Y")); + if ($input_time < $current_time) { + $notfound = $lang['expired']; + goto Not_Valid_Paste; + } +} +if ($p_encrypt == 1) { + $p_content = openssl_decrypt($p_content, PP_ENCRYPTION_ALGO, PP_ENCRYPTION_KEY); +} + +$op_content = trim(htmlspecialchars_decode($p_content)); + +// Download the paste +if (isset($_GET['download'])) { + doDownload($paste_id, $paste_title, $p_member, $op_content, $paste_code); + exit(); +} + +// Raw view +if (isset($_GET['raw'])) { + rawView($op_content, $paste_code); + exit(); +} + +// Preprocess +$highlight = array(); +$prefix_size = strlen('!highlight!'); +$lines = explode("\n", $p_content); +$p_content = ""; +foreach ($lines as $idx => $line) { + if (substr($line, 0, $prefix_size) == '!highlight!') { + $highlight[] = $idx + 1; + $line = substr($line, $prefix_size); + } + $p_content .= $line . "\n"; +} + +$p_content = rtrim($p_content); + +// Apply syntax highlight +$p_content = htmlspecialchars_decode($p_content); +if ($paste_code === "pastedown") { + $parsedown = new Parsedown(); + $parsedown->setSafeMode(true); + $p_content = $parsedown->text($p_content); +} else { + Highlighter::registerLanguage('green', 'config/green.lang.json'); + $hl = new Highlighter(); + $highlighted = $hl->highlight($paste_code == 'text' ? 'plaintext' : $paste_code, $p_content)->value; + $lines = HighlightUtilities\splitCodeIntoArray($highlighted); + //$highlight = new Highlighter(); + //$p_content = $highlight->highlight($paste_code, $p_content)->value; + + //$p_content = linkify($p_content); + + $geshi = new GeSHi($p_content, $paste_code, 'includes/geshi/'); + + $geshi->enable_classes(); + $geshi->set_header_type(GESHI_HEADER_DIV); + $geshi->set_line_style('color: #aaaaaa; width:auto;'); + $geshi->set_code_style('color: #757584;'); + if (count($highlight)) { + $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS); + $geshi->highlight_lines_extra($highlight); + $geshi->set_highlight_lines_extra_style('color:#399bff;background:rgba(38,92,255,0.14);'); + } else { + $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 2); + } + $p_content = $geshi->parse_code(); + $style = $geshi->get_stylesheet(); + $ges_style = ''; +} + +// Embed view after highlighting is applied so that $p_code is syntax highlighted as it should be. +if (isset($_GET['embed'])) { + embedView($paste_id, $paste_title, $p_content, $paste_code, $title, $baseurl, $ges_style, $lang); + exit(); +} + +require_once('theme/' . $default_theme . '/header.php'); +if ($password_required && $password_valid) { + /* base64 here means that the password is exposed in the URL, technically - how to handle this better? */ + $p_download = "paste.php?download&id=$paste_id&password=" . base64_encode($password_candidate); + $p_raw = "paste.php?raw&id=$paste_id&password=" . base64_encode($password_candidate); + $p_embed = "paste.php?embed&id=$paste_id&password=" . base64_encode($password_candidate); +} else { // Set download URL if (PP_MOD_REWRITE) { $p_download = "download/$paste_id"; @@ -224,49 +219,24 @@ if ($p_password == "NONE" || $p_password === null) { $p_raw = "paste.php?raw&id=$paste_id"; $p_embed = "paste.php?embed&id=$paste_id"; } - - - // View counter - if (@$_SESSION['not_unique'] !== $paste_id) { - $_SESSION['not_unique'] = $paste_id; - $conn->query("UPDATE pastes SET views = (views + 1) where id = ?", [$paste_id]); - } - - // Theme - require_once('theme/' . $default_theme . '/view.php'); - if ($p_expiry == "SELF") { - $conn->query('DELETE FROM pastes WHERE id = ?', [$paste_id]); - } -} else { - $p_download = "paste.php?download&id=$paste_id&password=" . pp_password_hash(isset($_POST['mypass'])); - $p_raw = "paste.php?raw&id=$paste_id&password=" . pp_password_hash(isset($_POST['mypass'])); - // Check password - if (isset($_POST['mypass'])) { - if (pp_password_verify($_POST['mypass'], $p_password)) { - // Theme - require_once('theme/' . $default_theme . '/view.php'); - if ($p_expiry == "SELF") { - $conn->prepare('DELETE FROM pastes WHERE id = ?') - ->execute([$paste_id]); - } - } else { - $error = $lang['wrongpwd']; //"Password is wrong"; - require_once('theme/' . $default_theme . '/errors.php'); - } - } else { - // Display errors - require_once('theme/' . $default_theme . '/errors.php'); - } } +// View counter +if (@$_SESSION['not_unique'] !== $paste_id) { + $_SESSION['not_unique'] = $paste_id; + $conn->query("UPDATE pastes SET views = (views + 1) where id = ?", [$paste_id]); +} + +require_once('theme/' . $default_theme . '/view.php'); + Not_Valid_Paste: -// Private paste not valid -if ($is_private || $notfound) { + +if ($is_private || $notfound || !$password_valid) { // Display errors require_once('theme/' . $default_theme . '/header.php'); require_once('theme/' . $default_theme . '/errors.php'); } // Footer -require_once('theme/' . $default_theme . '/footer.php'); + require_once('theme/' . $default_theme . '/footer.php'); diff --git a/theme/bulma/view.php b/theme/bulma/view.php index 8faeaff..bba41d4 100644 --- a/theme/bulma/view.php +++ b/theme/bulma/view.php @@ -74,6 +74,9 @@ function setupTagsInput() { })(jQuery); }); + + + - Bulma theme @@ -98,8 +101,6 @@ $selectedloader = "$bg[$i]"; // set variable equal to which random filename was ?>