Browse Source

implement tiny-OOP routing

Andrew Dolgov 8 years ago
parent
commit
3f3630529e
12 changed files with 1375 additions and 1408 deletions
  1. 10 265
      backend.php
  2. 63 0
      classes/article.php
  3. 1089 0
      classes/dlg.php
  4. 187 0
      classes/feeds.php
  5. 4 0
      classes/handler.php
  6. 2 2
      js/feedlist.js
  7. 5 5
      js/functions.js
  8. 4 4
      js/prefs.js
  9. 3 3
      js/tt-rss.js
  10. 6 6
      js/viewfeed.js
  11. 0 1122
      modules/popup-dialog.php
  12. 2 1
      public.php

+ 10 - 265
backend.php

@@ -53,11 +53,13 @@
 	$method = strtolower($_REQUEST["method"]);
 	$mode = $_REQUEST["mode"];
 
-	if ((!$op || $op == "rss" || $op == "dlg") && !$_REQUEST["noxml"]) {
+	/* 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");
-	}
+	} */
+
+	header("Content-Type: text/plain; charset=utf-8");
 
 	if (ENABLE_GZIP_OUTPUT) {
 		ob_start("ob_gzhandler");
@@ -134,8 +136,6 @@
 		5 => __("Power User"),
 		10 => __("Administrator"));
 
-
-
 	$error = sanity_check($link);
 
 	if ($error['code'] != 0 && $op != "logout") {
@@ -148,268 +148,18 @@
 
 		if ($handler) {
 			if ($handler->before()) {
-				if (method_exists($handler, $method)) {
-					return $handler->$method();
+				if ($method && method_exists($handler, $method)) {
+					$handler->$method();
+				} else if (method_exists($handler, 'index')) {
+					$handler->index();
 				}
+				$handler->after();
+				return;
 			}
 		}
 	}
 
 	switch($op) { // Select action according to $op value.
-		case "feeds":
-			$method = $_REQUEST["method"];
-			$root = (bool)$_REQUEST["root"];
-
-			switch($method) {
-				case "catchupAll":
-					db_query($link, "UPDATE ttrss_user_entries SET
-						last_read = NOW(),unread = false WHERE owner_uid = " . $_SESSION["uid"]);
-					ccache_zero_all($link, $_SESSION["uid"]);
-
-				break;
-
-				case "collapse":
-					$cat_id = db_escape_string($_REQUEST["cid"]);
-					$mode = (int) db_escape_string($_REQUEST['mode']);
-					toggle_collapse_cat($link, $cat_id, $mode);
-					return;
-				break;
-			}
-
-			if (!$root) {
-				print json_encode(outputFeedList($link));
-			} else {
-
-				$feeds = outputFeedList($link, false);
-
-				$root = array();
-				$root['id'] = 'root';
-				$root['name'] = __('Feeds');
-				$root['items'] = $feeds['items'];
-
-				$fl = array();
-				$fl['identifier'] = 'id';
-				$fl['label'] = 'name';
-				$fl['items'] = array($root);
-
-				print json_encode($fl);
-			}
-
-		break; // feeds
-
-		case "la":
-			$id = db_escape_string($_REQUEST['id']);
-
-			$result = db_query($link, "SELECT link FROM ttrss_entries, ttrss_user_entries
-				WHERE id = '$id' AND id = ref_id AND owner_uid = '".$_SESSION['uid']."'
-				LIMIT 1");
-
-			if (db_num_rows($result) == 1) {
-				$article_url = db_fetch_result($result, 0, 'link');
-				$article_url = str_replace("\n", "", $article_url);
-
-				header("Location: $article_url");
-				return;
-
-			} else {
-				print_error(__("Article not found."));
-			}
-		break;
-
-		case "view":
-
-			$id = db_escape_string($_REQUEST["id"]);
-			$cids = explode(",", db_escape_string($_REQUEST["cids"]));
-			$mode = db_escape_string($_REQUEST["mode"]);
-			$omode = db_escape_string($_REQUEST["omode"]);
-
-			// in prefetch mode we only output requested cids, main article
-			// just gets marked as read (it already exists in client cache)
-
-			$articles = array();
-
-			if ($mode == "") {
-				array_push($articles, format_article($link, $id, false));
-			} else if ($mode == "zoom") {
-				array_push($articles, format_article($link, $id, true, true));
-			} else if ($mode == "raw") {
-				if ($_REQUEST['html']) {
-					header("Content-Type: text/html");
-					print '<link rel="stylesheet" type="text/css" href="tt-rss.css"/>';
-				}
-
-				$article = format_article($link, $id, false);
-				print $article['content'];
-				return;
-			}
-
-			catchupArticleById($link, $id, 0);
-
-			if (!$_SESSION["bw_limit"]) {
-				foreach ($cids as $cid) {
-					if ($cid) {
-						array_push($articles, format_article($link, $cid, false, false));
-					}
-				}
-			}
-
-			print json_encode($articles);
-
-		break; // view
-
-		case "viewfeed":
-
-			$timing_info = getmicrotime();
-
-			$reply = array();
-
-			if ($_REQUEST["debug"]) $timing_info = print_checkpoint("0", $timing_info);
-
-			$omode = db_escape_string($_REQUEST["omode"]);
-
-			$feed = db_escape_string($_REQUEST["feed"]);
-			$method = db_escape_string($_REQUEST["method"]);
-			$view_mode = db_escape_string($_REQUEST["view_mode"]);
-			$limit = (int) get_pref($link, "DEFAULT_ARTICLE_LIMIT");
-			@$cat_view = db_escape_string($_REQUEST["cat"]) == "true";
-			@$next_unread_feed = db_escape_string($_REQUEST["nuf"]);
-			@$offset = db_escape_string($_REQUEST["skip"]);
-			@$vgroup_last_feed = db_escape_string($_REQUEST["vgrlf"]);
-			$order_by = db_escape_string($_REQUEST["order_by"]);
-
-			if (is_numeric($feed)) $feed = (int) $feed;
-
-			/* Feed -5 is a special case: it is used to display auxiliary information
-			 * when there's nothing to load - e.g. no stuff in fresh feed */
-
-			if ($feed == -5) {
-				print json_encode(generate_dashboard_feed($link));
-				return;
-			}
-
-			$result = false;
-
-			if ($feed < -10) {
-				$label_feed = -11-$feed;
-				$result = db_query($link, "SELECT id FROM ttrss_labels2 WHERE
-					id = '$label_feed' AND owner_uid = " . $_SESSION['uid']);
-			} else if (!$cat_view && is_numeric($feed) && $feed > 0) {
-				$result = db_query($link, "SELECT id FROM ttrss_feeds WHERE
-					id = '$feed' AND owner_uid = " . $_SESSION['uid']);
-			} else if ($cat_view && is_numeric($feed) && $feed > 0) {
-				$result = db_query($link, "SELECT id FROM ttrss_feed_categories WHERE
-					id = '$feed' AND owner_uid = " . $_SESSION['uid']);
-			}
-
-			if ($result && db_num_rows($result) == 0) {
-				print json_encode(generate_error_feed($link, __("Feed not found.")));
-				return;
-			}
-
-			/* Updating a label ccache means recalculating all of the caches
-			 * so for performance reasons we don't do that here */
-
-			if ($feed >= 0) {
-				ccache_update($link, $feed, $_SESSION["uid"], $cat_view);
-			}
-
-			set_pref($link, "_DEFAULT_VIEW_MODE", $view_mode);
-			set_pref($link, "_DEFAULT_VIEW_LIMIT", $limit);
-			set_pref($link, "_DEFAULT_VIEW_ORDER_BY", $order_by);
-
-			if (!$cat_view && preg_match("/^[0-9][0-9]*$/", $feed)) {
-				db_query($link, "UPDATE ttrss_feeds SET last_viewed = NOW()
-					WHERE id = '$feed' AND owner_uid = ".$_SESSION["uid"]);
-			}
-
-			$reply['headlines'] = array();
-
-			if (!$next_unread_feed)
-				$reply['headlines']['id'] = $feed;
-			else
-				$reply['headlines']['id'] = $next_unread_feed;
-
-			$reply['headlines']['is_cat'] = (bool) $cat_view;
-
-			$override_order = false;
-
-			if (get_pref($link, "SORT_HEADLINES_BY_FEED_DATE", $owner_uid)) {
-				$date_sort_field = "updated";
-			} else {
-				$date_sort_field = "date_entered";
-			}
-
-			switch ($order_by) {
-				case "date":
-					if (get_pref($link, 'REVERSE_HEADLINES', $owner_uid)) {
-						$override_order = "$date_sort_field";
-					} else {
-						$override_order = "$date_sort_field DESC";
-					}
-					break;
-
-				case "title":
-					if (get_pref($link, 'REVERSE_HEADLINES', $owner_uid)) {
-						$override_order = "title DESC, $date_sort_field";
-					} else {
-						$override_order = "title, $date_sort_field DESC";
-					}
-					break;
-
-				case "score":
-					if (get_pref($link, 'REVERSE_HEADLINES', $owner_uid)) {
-						$override_order = "score, $date_sort_field";
-					} else {
-						$override_order = "score DESC, $date_sort_field DESC";
-					}
-					break;
-			}
-
-			if ($_REQUEST["debug"]) $timing_info = print_checkpoint("04", $timing_info);
-
-			$ret = format_headlines_list($link, $feed, $method,
-				$view_mode, $limit, $cat_view, $next_unread_feed, $offset,
-				$vgroup_last_feed, $override_order);
-
-			$topmost_article_ids = $ret[0];
-			$headlines_count = $ret[1];
-			$returned_feed = $ret[2];
-			$disable_cache = $ret[3];
-			$vgroup_last_feed = $ret[4];
-
-//			if ($_REQUEST["debug"]) print_r($ret);
-
-			$reply['headlines']['content'] =& $ret[5]['content'];
-			$reply['headlines']['toolbar'] =& $ret[5]['toolbar'];
-
-			if ($_REQUEST["debug"]) $timing_info = print_checkpoint("05", $timing_info);
-
-			$reply['headlines-info'] = array("count" => (int) $headlines_count,
-				"vgroup_last_feed" => $vgroup_last_feed,
-				"disable_cache" => (bool) $disable_cache);
-
-			if ($_REQUEST["debug"]) $timing_info = print_checkpoint("20", $timing_info);
-
-			if (is_array($topmost_article_ids) && !get_pref($link, 'COMBINED_DISPLAY_MODE') && !$_SESSION["bw_limit"]) {
-				$articles = array();
-
-				foreach ($topmost_article_ids as $id) {
-					array_push($articles, format_article($link, $id, false));
-				}
-
-				$reply['articles'] = $articles;
-			}
-
-//			if ($method) {
-//				$reply['counters'] = getAllCounters($link, $omode, $feed);
-//			}
-
-			if ($_REQUEST["debug"]) $timing_info = print_checkpoint("30", $timing_info);
-
-			$reply['runtime-info'] = make_runtime_info($link);
-
-			print json_encode($reply);
-		break; // viewfeed
 
 		case "pref-feeds":
 			require_once "modules/pref-feeds.php";
@@ -441,11 +191,6 @@
 			module_help($link);
 		break; // help
 
-		case "dlg":
-			require_once "modules/popup-dialog.php";
-			module_popup_dialog($link);
-		break; // dlg
-
 		case "pref-instances":
 			require_once "modules/pref-instances.php";
 			module_pref_instances($link);

+ 63 - 0
classes/article.php

@@ -0,0 +1,63 @@
+<?php
+class Article extends Handler {
+	
+	function index() {
+		$id = db_escape_string($_REQUEST['id']);
+		
+		$result = db_query($this->link, "SELECT link FROM ttrss_entries, ttrss_user_entries
+						WHERE id = '$id' AND id = ref_id AND owner_uid = '".$_SESSION['uid']."'
+						LIMIT 1");
+		
+		if (db_num_rows($result) == 1) {
+			$article_url = db_fetch_result($result, 0, 'link');
+			$article_url = str_replace("\n", "", $article_url);
+		
+			header("Location: $article_url");
+			return;
+		
+		} else {
+			print_error(__("Article not found."));
+		}
+	}
+
+	function view() {
+		$id = db_escape_string($_REQUEST["id"]);
+		$cids = explode(",", db_escape_string($_REQUEST["cids"]));
+		$mode = db_escape_string($_REQUEST["mode"]);
+		$omode = db_escape_string($_REQUEST["omode"]);
+		
+		// in prefetch mode we only output requested cids, main article
+		// just gets marked as read (it already exists in client cache)
+		
+		$articles = array();
+		
+		if ($mode == "") {
+			array_push($articles, format_article($this->link, $id, false));
+		} else if ($mode == "zoom") {
+			array_push($articles, format_article($this->link, $id, true, true));
+		} else if ($mode == "raw") {
+			if ($_REQUEST['html']) {
+				header("Content-Type: text/html");
+				print '<link rel="stylesheet" type="text/css" href="tt-rss.css"/>';
+			}
+		
+			$article = format_article($this->link, $id, false);
+			print $article['content'];
+			return;
+		}
+		
+		catchupArticleById($this->link, $id, 0);
+		
+		if (!$_SESSION["bw_limit"]) {
+			foreach ($cids as $cid) {
+				if ($cid) {
+					array_push($articles, format_article($this->link, $cid, false, false));
+				}
+			}
+		}
+		
+		print json_encode($articles);
+		
+	}
+	
+}

File diff suppressed because it is too large
+ 1089 - 0
classes/dlg.php


+ 187 - 0
classes/feeds.php

@@ -0,0 +1,187 @@
+<?php
+class Feeds extends Handler {
+	
+	function catchupAll() {
+		db_query($this->link, "UPDATE ttrss_user_entries SET
+						last_read = NOW(),unread = false WHERE owner_uid = " . $_SESSION["uid"]);
+		ccache_zero_all($this->link, $_SESSION["uid"]);
+	}	
+
+	function collapse() {
+		$cat_id = db_escape_string($_REQUEST["cid"]);
+		$mode = (int) db_escape_string($_REQUEST['mode']);
+		toggle_collapse_cat($this->link, $cat_id, $mode);
+	}
+
+	function index() {
+		$root = (bool)$_REQUEST["root"];
+	
+		if (!$root) {
+			print json_encode(outputFeedList($this->link));
+		} else {
+		
+			$feeds = outputFeedList($this->link, false);
+		
+			$root = array();
+			$root['id'] = 'root';
+			$root['name'] = __('Feeds');
+			$root['items'] = $feeds['items'];
+		
+			$fl = array();
+			$fl['identifier'] = 'id';
+			$fl['label'] = 'name';
+			$fl['items'] = array($root);
+		
+			print json_encode($fl);
+		}
+	}	
+	
+	function view() {
+		$timing_info = getmicrotime();
+		
+		$reply = array();
+		
+		if ($_REQUEST["debug"]) $timing_info = print_checkpoint("0", $timing_info);
+		
+		$omode = db_escape_string($_REQUEST["omode"]);
+		
+		$feed = db_escape_string($_REQUEST["feed"]);
+		$method = db_escape_string($_REQUEST["m"]);
+		$view_mode = db_escape_string($_REQUEST["view_mode"]);
+		$limit = (int) get_pref($this->link, "DEFAULT_ARTICLE_LIMIT");
+		@$cat_view = db_escape_string($_REQUEST["cat"]) == "true";
+		@$next_unread_feed = db_escape_string($_REQUEST["nuf"]);
+		@$offset = db_escape_string($_REQUEST["skip"]);
+		@$vgroup_last_feed = db_escape_string($_REQUEST["vgrlf"]);
+		$order_by = db_escape_string($_REQUEST["order_by"]);
+		
+		if (is_numeric($feed)) $feed = (int) $feed;
+		
+		/* Feed -5 is a special case: it is used to display auxiliary information
+		 * when there's nothing to load - e.g. no stuff in fresh feed */
+		
+		if ($feed == -5) {
+			print json_encode(generate_dashboard_feed($this->link));
+			return;
+		}
+		
+		$result = false;
+		
+		if ($feed < -10) {
+			$label_feed = -11-$feed;
+			$result = db_query($this->link, "SELECT id FROM ttrss_labels2 WHERE
+							id = '$label_feed' AND owner_uid = " . $_SESSION['uid']);
+		} else if (!$cat_view && is_numeric($feed) && $feed > 0) {
+			$result = db_query($this->link, "SELECT id FROM ttrss_feeds WHERE
+							id = '$feed' AND owner_uid = " . $_SESSION['uid']);
+		} else if ($cat_view && is_numeric($feed) && $feed > 0) {
+			$result = db_query($this->link, "SELECT id FROM ttrss_feed_categories WHERE
+							id = '$feed' AND owner_uid = " . $_SESSION['uid']);
+		}
+		
+		if ($result && db_num_rows($result) == 0) {
+			print json_encode(generate_error_feed($this->link, __("Feed not found.")));
+			return;
+		}
+		
+		/* Updating a label ccache means recalculating all of the caches
+		 * so for performance reasons we don't do that here */
+		
+		if ($feed >= 0) {
+			ccache_update($this->link, $feed, $_SESSION["uid"], $cat_view);
+		}
+		
+		set_pref($this->link, "_DEFAULT_VIEW_MODE", $view_mode);
+		set_pref($this->link, "_DEFAULT_VIEW_LIMIT", $limit);
+		set_pref($this->link, "_DEFAULT_VIEW_ORDER_BY", $order_by);
+		
+		if (!$cat_view && preg_match("/^[0-9][0-9]*$/", $feed)) {
+			db_query($this->link, "UPDATE ttrss_feeds SET last_viewed = NOW()
+							WHERE id = '$feed' AND owner_uid = ".$_SESSION["uid"]);
+		}
+		
+		$reply['headlines'] = array();
+		
+		if (!$next_unread_feed)
+			$reply['headlines']['id'] = $feed;
+		else
+			$reply['headlines']['id'] = $next_unread_feed;
+		
+		$reply['headlines']['is_cat'] = (bool) $cat_view;
+		
+		$override_order = false;
+		
+		if (get_pref($this->link, "SORT_HEADLINES_BY_FEED_DATE", $owner_uid)) {
+			$date_sort_field = "updated";
+		} else {
+			$date_sort_field = "date_entered";
+		}
+		
+		switch ($order_by) {
+			case "date":
+				if (get_pref($this->link, 'REVERSE_HEADLINES', $owner_uid)) {
+					$override_order = "$date_sort_field";
+				} else {
+					$override_order = "$date_sort_field DESC";
+				}
+				break;
+		
+			case "title":
+				if (get_pref($this->link, 'REVERSE_HEADLINES', $owner_uid)) {
+					$override_order = "title DESC, $date_sort_field";
+				} else {
+					$override_order = "title, $date_sort_field DESC";
+				}
+				break;
+		
+			case "score":
+				if (get_pref($this->link, 'REVERSE_HEADLINES', $owner_uid)) {
+					$override_order = "score, $date_sort_field";
+				} else {
+					$override_order = "score DESC, $date_sort_field DESC";
+				}
+				break;
+		}
+		
+		if ($_REQUEST["debug"]) $timing_info = print_checkpoint("04", $timing_info);
+		
+		$ret = format_headlines_list($this->link, $feed, $method,
+			$view_mode, $limit, $cat_view, $next_unread_feed, $offset,
+			$vgroup_last_feed, $override_order);
+		
+		$topmost_article_ids = $ret[0];
+		$headlines_count = $ret[1];
+		$returned_feed = $ret[2];
+		$disable_cache = $ret[3];
+		$vgroup_last_feed = $ret[4];
+		
+		$reply['headlines']['content'] =& $ret[5]['content'];
+		$reply['headlines']['toolbar'] =& $ret[5]['toolbar'];
+		
+		if ($_REQUEST["debug"]) $timing_info = print_checkpoint("05", $timing_info);
+		
+		$reply['headlines-info'] = array("count" => (int) $headlines_count,
+						"vgroup_last_feed" => $vgroup_last_feed,
+						"disable_cache" => (bool) $disable_cache);
+		
+		if ($_REQUEST["debug"]) $timing_info = print_checkpoint("20", $timing_info);
+		
+		if (is_array($topmost_article_ids) && !get_pref($this->link, 'COMBINED_DISPLAY_MODE') && !$_SESSION["bw_limit"]) {
+			$articles = array();
+		
+			foreach ($topmost_article_ids as $id) {
+				array_push($articles, format_article($this->link, $id, false));
+			}
+		
+			$reply['articles'] = $articles;
+		}
+		
+		if ($_REQUEST["debug"]) $timing_info = print_checkpoint("30", $timing_info);
+		
+		$reply['runtime-info'] = make_runtime_info($this->link);
+		
+		print json_encode($reply);
+		
+	}
+}
+?>

+ 4 - 0
classes/handler.php

@@ -11,5 +11,9 @@ class Handler {
 	function before() {
 		return true;
 	}
+
+	function after() {
+		return true;
+	}
 }
 ?>

+ 2 - 2
js/feedlist.js

@@ -138,8 +138,8 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) {
 
 		var toolbar_query = Form.serialize("main_toolbar_form");
 
-		var query = "?op=viewfeed&feed=" + feed + "&" +
-			toolbar_query + "&method=" + param_escape(method);
+		var query = "?op=feeds&method=view&feed=" + feed + "&" +
+			toolbar_query + "&m=" + param_escape(method);
 
 		if (!background) {
 			if (_search_query) {

+ 5 - 5
js/functions.js

@@ -411,7 +411,7 @@ function displayDlg(id, param, callback) {
 
 	notify_progress("Loading, please wait...", true);
 
-	var query = "?op=dlg&id=" +
+	var query = "?op=dlg&method=" +
 		param_escape(id) + "&param=" + param_escape(param);
 
 	new Ajax.Request("backend.php", {
@@ -846,7 +846,7 @@ function addLabel(select, callback) {
 
 function quickAddFeed() {
 	try {
-		var query = "backend.php?op=dlg&id=quickAddFeed";
+		var query = "backend.php?op=dlg&method=quickAddFeed";
 
 		if (dijit.byId("feedAddDlg"))
 			dijit.byId("feedAddDlg").destroyRecursive();
@@ -948,7 +948,7 @@ function quickAddFeed() {
 
 function quickAddFilter() {
 	try {
-		var query = "backend.php?op=dlg&id=quickAddFilter";
+		var query = "backend.php?op=dlg&method=quickAddFilter";
 
 		if (dijit.byId("filterEditDlg"))
 			dijit.byId("filterEditDlg").destroyRecursive();
@@ -1406,7 +1406,7 @@ function editFeed(feed, event) {
 
 function feedBrowser() {
 	try {
-		var query = "backend.php?op=dlg&id=feedBrowser";
+		var query = "backend.php?op=dlg&method=feedBrowser";
 
 		if (dijit.byId("feedAddDlg"))
 			dijit.byId("feedAddDlg").hide();
@@ -1551,7 +1551,7 @@ function feedBrowser() {
 
 function showFeedsWithErrors() {
 	try {
-		var query = "backend.php?op=dlg&id=feedsWithErrors";
+		var query = "backend.php?op=dlg&method=feedsWithErrors";
 
 		if (dijit.byId("errorFeedsDlg"))
 			dijit.byId("errorFeedsDlg").destroyRecursive();

+ 4 - 4
js/prefs.js

@@ -1229,7 +1229,7 @@ function editFeedCats() {
 
 function showInactiveFeeds() {
 	try {
-		var query = "backend.php?op=dlg&id=inactiveFeeds";
+		var query = "backend.php?op=dlg&method=inactiveFeeds";
 
 		if (dijit.byId("inactiveFeedsDlg"))
 			dijit.byId("inactiveFeedsDlg").destroyRecursive();
@@ -1470,7 +1470,7 @@ function editProfiles() {
 		if (dijit.byId("profileEditDlg"))
 			dijit.byId("profileEditDlg").destroyRecursive();
 
-		var query = "backend.php?op=dlg&id=editPrefProfiles";
+		var query = "backend.php?op=dlg&method=editPrefProfiles";
 
 		dialog = new dijit.Dialog({
 			id: "profileEditDlg",
@@ -1773,7 +1773,7 @@ function clearTwitterCredentials() {
 
 function customizeCSS() {
 	try {
-		var query = "backend.php?op=dlg&id=customizeCSS";
+		var query = "backend.php?op=dlg&method=customizeCSS";
 
 		if (dijit.byId("cssEditDlg"))
 			dijit.byId("cssEditDlg").destroyRecursive();
@@ -1815,7 +1815,7 @@ function getSelectedInstances() {
 
 function addInstance() {
 	try {
-		var query = "backend.php?op=dlg&id=addInstance";
+		var query = "backend.php?op=dlg&method=addInstance";
 
 		if (dijit.byId("instanceAddDlg"))
 			dijit.byId("instanceAddDlg").destroyRecursive();

+ 3 - 3
js/tt-rss.js

@@ -222,7 +222,7 @@ function timeout() {
 }
 
 function search() {
-	var query = "backend.php?op=dlg&id=search&param=" +
+	var query = "backend.php?op=dlg&method=search&param=" +
 		param_escape(getActiveFeedId() + ":" + activeFeedIsCat());
 
 	if (dijit.byId("searchDlg"))
@@ -436,7 +436,7 @@ function quickMenuGo(opid) {
 			dialog = new dijit.Dialog({
 				title: __("About..."),
 				style: "width: 400px",
-				href: "backend.php?op=dlg&id=about",
+				href: "backend.php?op=dlg&method=about",
 			});
 
 			dialog.show();
@@ -1078,7 +1078,7 @@ function scheduleFeedUpdate(id, is_cat) {
 
 function newVersionDlg() {
 	try {
-		var query = "backend.php?op=dlg&id=newVersion";
+		var query = "backend.php?op=dlg&method=newVersion";
 
 		if (dijit.byId("newVersionDlg"))
 			dijit.byId("newVersionDlg").destroyRecursive();

+ 6 - 6
js/viewfeed.js

@@ -322,7 +322,7 @@ function view(id) {
 
 		hideAuxDlg();
 
-		var query = "?op=view&id=" + param_escape(id);
+		var query = "?op=article&method=view&id=" + param_escape(id);
 
 		var neighbor_ids = getRelativePostIds(id);
 
@@ -1006,7 +1006,7 @@ function catchupSelection() {
 }
 
 function editArticleTags(id) {
-		var query = "backend.php?op=dlg&id=editArticleTags&param=" + param_escape(id);
+		var query = "backend.php?op=dlg&method=editArticleTags&param=" + param_escape(id);
 
 		if (dijit.byId("editTagsDlg"))
 			dijit.byId("editTagsDlg").destroyRecursive();
@@ -1514,7 +1514,7 @@ function emailArticle(id) {
 		if (dijit.byId("emailArticleDlg"))
 			dijit.byId("emailArticleDlg").destroyRecursive();
 
-		var query = "backend.php?op=dlg&id=emailArticle&param=" + param_escape(id);
+		var query = "backend.php?op=dlg&method=emailArticle&param=" + param_escape(id);
 
 		dialog = new dijit.Dialog({
 			id: "emailArticleDlg",
@@ -1770,7 +1770,7 @@ function getLastVisibleHeadlineId() {
 
 function openArticleInNewWindow(id) {
 	toggleUnread(id, 0, false);
-	window.open("backend.php?op=la&id=" + id);
+	window.open("backend.php?op=article&id=" + id);
 }
 
 function isCdmMode() {
@@ -2028,7 +2028,7 @@ function tweetArticle(id) {
 function editArticleNote(id) {
 	try {
 
-		var query = "backend.php?op=dlg&id=editArticleNote&param=" + param_escape(id);
+		var query = "backend.php?op=dlg&method=editArticleNote&param=" + param_escape(id);
 
 		if (dijit.byId("editNoteDlg"))
 			dijit.byId("editNoteDlg").destroyRecursive();
@@ -2227,7 +2227,7 @@ function shareArticle(id) {
 		if (dijit.byId("shareArticleDlg"))
 			dijit.byId("shareArticleDlg").destroyRecursive();
 
-		var query = "backend.php?op=dlg&id=shareArticle&param=" + param_escape(id);
+		var query = "backend.php?op=dlg&method=shareArticle&param=" + param_escape(id);
 
 		dialog = new dijit.Dialog({
 			id: "shareArticleDlg",

File diff suppressed because it is too large
+ 0 - 1122
modules/popup-dialog.php


+ 2 - 1
public.php

@@ -1,4 +1,6 @@
 <?php
+	set_include_path(get_include_path() . PATH_SEPARATOR . "include");
+
 	/* remove ill effects of magic quotes */
 
 	if (get_magic_quotes_gpc()) {
@@ -18,7 +20,6 @@
 
 	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";