diff --git a/core/util.inc.php b/core/util.inc.php
index 9d44998f..ac9526ab 100644
--- a/core/util.inc.php
+++ b/core/util.inc.php
@@ -1,4 +1,9 @@
db->Quote($input);
}
-function make_link($page, $query=null) {
- global $config;
- $base = $config->get_string('base_href');
-
- if(is_null($query)) {
- return "$base/$page";
- }
- else {
- if(strpos($base, "?")) {
- return "$base/$page&$query";
- }
- else {
- return "$base/$page?$query";
- }
- }
-}
-
function parse_shorthand_int($limit) {
if(is_numeric($limit)) {
return (int)$limit;
@@ -65,51 +53,6 @@ function to_shorthand_int($int) {
}
}
-function get_memory_limit() {
- global $config;
-
- // thumbnail generation requires lots of memory
- $default_limit = 8*1024*1024;
- $shimmie_limit = parse_shorthand_int($config->get_int("thumb_gd_mem_limit"));
- if($shimmie_limit < 3*1024*1024) {
- // we aren't going to fit, override
- $shimmie_limit = $default_limit;
- }
-
- ini_set("memory_limit", $shimmie_limit);
- $memory = parse_shorthand_int(ini_get("memory_limit"));
-
- // changing of memory limit is disabled / failed
- if($memory == -1) {
- $memory = $default_limit;
- }
-
- return $memory;
-}
-
-
-function bbcode2html($text) {
- $text = trim($text);
- $text = html_escape($text);
- $text = preg_replace("/\[b\](.*?)\[\/b\]/s", "\\1", $text);
- $text = preg_replace("/\[i\](.*?)\[\/i\]/s", "\\1", $text);
- $text = preg_replace("/\[u\](.*?)\[\/u\]/s", "\\1", $text);
- $text = preg_replace("/\[\[(.*?)\]\]/s",
- "\\1", $text);
- $text = str_replace("\n", "\n
", $text);
- return $text;
-}
-
-function strip_bbcode($text) {
- $text = trim($text);
- $text = html_escape($text);
- $text = preg_replace("/\[b\](.*?)\[\/b\]/s", "\\1", $text);
- $text = preg_replace("/\[i\](.*?)\[\/i\]/s", "\\1", $text);
- $text = preg_replace("/\[u\](.*?)\[\/u\]/s", "\\1", $text);
- $text = preg_replace("/\[\[(.*?)\]\]/s", "\\1", $text);
- return $text;
-}
-
function tag_explode($tags) {
if(is_string($tags)) {
$tags = explode(' ', $tags);
@@ -136,28 +79,51 @@ function tag_explode($tags) {
return $tag_array;
}
-function sql_quote($text) {
- return '"'.sql_escape($text).'"';
-}
-function get_thumbnail_size($orig_width, $orig_height) {
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
+* HTML Generation *
+\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+function make_link($page, $query=null) {
global $config;
- $max_width = $config->get_int('thumb_width');
- $max_height = $config->get_int('thumb_height');
+ $base = $config->get_string('base_href');
- $xscale = ($max_height / $orig_height);
- $yscale = ($max_width / $orig_width);
- $scale = ($xscale < $yscale) ? $xscale : $yscale;
-
-// if($scale >= 1) {
-// return array($orig_width, $orig_height);
-// }
-// else {
- return array($orig_width*$scale, $orig_height*$scale);
-// }
+ if(is_null($query)) {
+ return "$base/$page";
+ }
+ else {
+ if(strpos($base, "?")) {
+ return "$base/$page&$query";
+ }
+ else {
+ return "$base/$page?$query";
+ }
+ }
}
-function build_thumb($image, $query=null) {
+function bbcode_to_html($text) {
+ $text = trim($text);
+ $text = html_escape($text);
+ $text = preg_replace("/\[b\](.*?)\[\/b\]/s", "\\1", $text);
+ $text = preg_replace("/\[i\](.*?)\[\/i\]/s", "\\1", $text);
+ $text = preg_replace("/\[u\](.*?)\[\/u\]/s", "\\1", $text);
+ $text = preg_replace("/\[\[(.*?)\]\]/s",
+ "\\1", $text);
+ $text = str_replace("\n", "\n
", $text);
+ return $text;
+}
+
+function bbcode_to_text($text) {
+ $text = trim($text);
+ $text = html_escape($text);
+ $text = preg_replace("/\[b\](.*?)\[\/b\]/s", "\\1", $text);
+ $text = preg_replace("/\[i\](.*?)\[\/i\]/s", "\\1", $text);
+ $text = preg_replace("/\[u\](.*?)\[\/u\]/s", "\\1", $text);
+ $text = preg_replace("/\[\[(.*?)\]\]/s", "\\1", $text);
+ return $text;
+}
+
+function build_thumb_html($image, $query=null) {
global $config;
$h_view_link = make_link("post/view/{$image->id}", $query);
$h_tip = html_escape($image->get_tooltip());
@@ -168,6 +134,53 @@ function build_thumb($image, $query=null) {
}
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
+* Input sanitising *
+\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+function get_memory_limit() {
+ global $config;
+
+ // thumbnail generation requires lots of memory
+ $default_limit = 8*1024*1024;
+ $shimmie_limit = parse_shorthand_int($config->get_int("thumb_gd_mem_limit"));
+ if($shimmie_limit < 3*1024*1024) {
+ // we aren't going to fit, override
+ $shimmie_limit = $default_limit;
+ }
+
+ ini_set("memory_limit", $shimmie_limit);
+ $memory = parse_shorthand_int(ini_get("memory_limit"));
+
+ // changing of memory limit is disabled / failed
+ if($memory == -1) {
+ $memory = $default_limit;
+ }
+
+ return $memory;
+}
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
+* Input sanitising *
+\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+function get_thumbnail_size($orig_width, $orig_height) {
+ global $config;
+ $max_width = $config->get_int('thumb_width');
+ $max_height = $config->get_int('thumb_height');
+
+ $xscale = ($max_height / $orig_height);
+ $yscale = ($max_width / $orig_width);
+ $scale = ($xscale < $yscale) ? $xscale : $yscale;
+
+ if($scale > 1 && $config->get_bool('thumb_upscale')) {
+ return array($orig_width, $orig_height);
+ }
+ else {
+ return array($orig_width*$scale, $orig_height*$scale);
+ }
+}
# $db is the connection object
function CountExecs($db, $sql, $inputarray) {
@@ -184,7 +197,9 @@ function CountExecs($db, $sql, $inputarray) {
}
-// internal things
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
+* Event API *
+\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
$_event_listeners = array();
@@ -204,6 +219,10 @@ function send_event($event) {
}
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
+* Request initialisation stuff *
+\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
function _get_query_parts() {
if(isset($_GET["q"])) {
$path = $_GET["q"];
@@ -221,6 +240,7 @@ function _get_query_parts() {
return split('/', $path);
}
+
function get_page_request() {
$args = _get_query_parts();