summaryrefslogtreecommitdiff
path: root/public.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-11-15 11:40:57 +0400
committerAndrew Dolgov <[email protected]>2011-11-15 11:40:57 +0400
commite0d91d846dd5ac42a95a0832777cc76aaf579bc2 (patch)
tree5568c9cd6ad6d569cd7c15efb1c2c1d15e1e210c /public.php
parent507426ef6e5c5921d68a20390fa4d7c32a23d780 (diff)
experimental split of public calls into public.php (refs #389)
Diffstat (limited to 'public.php')
-rw-r--r--public.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/public.php b/public.php
new file mode 100644
index 000000000..c2de2185f
--- /dev/null
+++ b/public.php
@@ -0,0 +1,62 @@
+<?php
+ /* remove ill effects of magic quotes */
+
+ if (get_magic_quotes_gpc()) {
+ function stripslashes_deep($value) {
+ $value = is_array($value) ?
+ array_map('stripslashes_deep', $value) : stripslashes($value);
+ return $value;
+ }
+
+ $_POST = array_map('stripslashes_deep', $_POST);
+ $_GET = array_map('stripslashes_deep', $_GET);
+ $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
+ $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
+ }
+
+ $op = $_REQUEST["op"];
+
+ require_once "functions.php";
+ if ($op != "share") require_once "sessions.php";
+ require_once "modules/backend-rpc.php";
+ require_once "sanity_check.php";
+ require_once "config.php";
+ require_once "db.php";
+ require_once "db-prefs.php";
+
+ no_cache_incantation();
+
+ startup_gettext();
+
+ $script_started = getmicrotime();
+
+ $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
+
+ if (!$link) {
+ if (DB_TYPE == "mysql") {
+ print mysql_error();
+ }
+ // PG seems to display its own errors just fine by default.
+ return;
+ }
+
+ init_connection($link);
+
+ $subop = $_REQUEST["subop"];
+ $mode = $_REQUEST["mode"];
+
+ if ((!$op || $op == "rss" || $op == "dlg") && !$_REQUEST["noxml"]) {
+ header("Content-Type: application/xml; charset=utf-8");
+ } else {
+ header("Content-Type: text/plain; charset=utf-8");
+ }
+
+ if (ENABLE_GZIP_OUTPUT) {
+ ob_start("ob_gzhandler");
+ }
+
+ handle_public_request($link, $op);
+
+ // We close the connection to database.
+ db_close($link);
+?>