From a007c18dffddbe2fcfafe3dca9acf48487085b6c Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 9 Sep 2015 16:56:04 +0300 Subject: wip: filter async testing --- classes/pref/filters.php | 64 +++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 31 deletions(-) (limited to 'classes/pref') diff --git a/classes/pref/filters.php b/classes/pref/filters.php index a371fcff4..ec0c3862a 100644 --- a/classes/pref/filters.php +++ b/classes/pref/filters.php @@ -43,8 +43,11 @@ class Pref_Filters extends Handler_Protected { return; } + function testFilterDo() { + require_once "include/rssfuncs.php"; + + $offset = (int) db_escape_string($_REQUEST["offset"]); - function testFilter() { $filter = array(); $filter["enabled"] = true; @@ -94,24 +97,14 @@ class Pref_Filters extends Handler_Protected { } } - $found = 0; - $offset = 0; - $limit = 30; - $started = time(); - - print __("Articles matching this filter:"); - - require_once "include/rssfuncs.php"; - - print "
"; - print ""; - $glue = $filter['match_any_rule'] ? " OR " : " AND "; $scope_qpart = join($glue, $scope_qparts); if (!$scope_qpart) $scope_qpart = "true"; - while ($found < $limit && $offset < $limit * 10 && time() - $started < ini_get("max_execution_time") * 0.7) { + $rv = array(); + + //while ($found < $limit && $offset < $limit * 1000 && time() - $started < ini_get("max_execution_time") * 0.7) { $result = db_query("SELECT ttrss_entries.id, ttrss_entries.title, @@ -130,7 +123,7 @@ class Pref_Filters extends Handler_Protected { ref_id = ttrss_entries.id AND ($scope_qpart) AND ttrss_user_entries.owner_uid = " . $_SESSION["uid"] . " - ORDER BY date_entered DESC LIMIT $limit OFFSET $offset"); + ORDER BY date_entered DESC LIMIT 30 OFFSET $offset"); while ($line = db_fetch_assoc($result)) { @@ -149,14 +142,10 @@ class Pref_Filters extends Handler_Protected { if ($line["feed_title"]) $feed_title = "(" . $line["feed_title"] . ")"; - print ""; - - print ""; - print ""; + $line .= ""; - $found++; + array_push($rv, $line); } } - $offset += $limit; - } + //$offset += $limit; + //} - if ($found == 0) { + /*if ($found == 0) { print "
"; + $line = ""; /*foreach ($filter['rules'] as $rule) { - $reg_exp = $rule['reg_exp']; $reg_exp = str_replace('/', '\/', $rule["reg_exp"]); $line["title"] = preg_replace("/($reg_exp)/i", @@ -166,25 +155,38 @@ class Pref_Filters extends Handler_Protected { "$1", $content_preview); }*/ - print $line["title"]; - print "
" . $feed_title . "
"; - print "
" . $content_preview . "
"; - print " " . mb_substr($line["date_entered"], 0, 16); + $line .= $line["title"]; + $line .= "
" . $feed_title . "
"; + $line .= "
" . $content_preview . "
"; + $line .= " " . mb_substr($line["date_entered"], 0, 16); - print "
" . __("No recent articles matching this filter have been found."); - } + }*/ + + print json_encode($rv); + } + + function testFilter() { + + if (isset($_REQUEST["offset"])) return $this->testFilterDo(); + + //print __("Articles matching this filter:"); + + print "
 Looking for articles...
"; + print "
"; + print ""; print "
"; print "
"; -- cgit v1.2.3