summaryrefslogtreecommitdiff
path: root/backend.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-12-13 14:49:11 +0400
committerAndrew Dolgov <[email protected]>2011-12-13 14:49:11 +0400
commit5f0a3741d0a549849b503eca7b6d7b87d9903069 (patch)
tree58c0cef7a8a507fd138a987dc7d27a5a4d905f18 /backend.php
parent46da73c255353a3f874d9742d7b2f9c64e7607b5 (diff)
add Public_Handler
misc code cleanup
Diffstat (limited to 'backend.php')
-rw-r--r--backend.php62
1 files changed, 24 insertions, 38 deletions
diff --git a/backend.php b/backend.php
index 9fe8792f2..62cd6229d 100644
--- a/backend.php
+++ b/backend.php
@@ -16,17 +16,21 @@
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
- function __autoload($class) {
- $file = "classes/".strtolower(basename($class)).".php";
- if (file_exists($file)) {
- require $file;
- }
- }
-
$op = $_REQUEST["op"];
+ @$method = $_REQUEST['subop'] ? $_REQUEST['subop'] : $_REQUEST["method"];
+
+ /* Public calls compatibility shim */
+
+ $public_calls = array("globalUpdateFeeds", "rss", "getUnread", "getProfiles", "share",
+ "fbexport", "logout", "pubsub");
+
+ if (array_search($op, $public_calls) !== false) {
+ header("Location: public.php?" . $_SERVER['QUERY_STRING']);
+ return;
+ }
require_once "functions.php";
- if ($op != "share") require_once "sessions.php";
+ require_once "sessions.php";
require_once "sanity_check.php";
require_once "config.php";
require_once "db.php";
@@ -40,17 +44,7 @@
$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);
-
- $method = $_REQUEST['subop'] ? $_REQUEST['subop'] : $_REQUEST["method"];
+ if (!init_connection($link)) return;
header("Content-Type: text/plain; charset=utf-8");
@@ -62,15 +56,9 @@
authenticate_user($link, "admin", null);
}
- $public_calls = array("globalUpdateFeeds", "rss", "getUnread", "getProfiles", "share",
- "fbexport", "logout", "pubsub");
+ // TODO remove and handle within Handlers
- if (array_search($op, $public_calls) !== false) {
-
- handle_public_request($link, $op);
- return;
-
- } else if (!($_SESSION["uid"] && validate_session($link))) {
+ if (!($_SESSION["uid"] && validate_session($link))) {
if ($op == 'pref-feeds' && $method == 'add') {
header("Content-Type: text/html");
login_sequence($link);
@@ -136,6 +124,13 @@
return;
}
+ function __autoload($class) {
+ $file = "classes/".strtolower(basename($class)).".php";
+ if (file_exists($file)) {
+ require $file;
+ }
+ }
+
$op = str_replace("-", "_", $op);
if (class_exists($op)) {
@@ -154,17 +149,8 @@
}
}
- switch($op) { // Select action according to $op value.
- case "pref_instances":
- require_once "modules/pref-instances.php";
- module_pref_instances($link);
- break; // pref-instances
-
- default:
- header("Content-Type: text/plain");
- print json_encode(array("error" => array("code" => 7)));
- break; // fallback
- } // Select action according to $op value.
+ header("Content-Type: text/plain");
+ print json_encode(array("error" => array("code" => 7)));
// We close the connection to database.
db_close($link);