本文整理汇总了PHP中load_filters函数的典型用法代码示例。如果您正苦于以下问题:PHP load_filters函数的具体用法?PHP load_filters怎么用?PHP load_filters使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了load_filters函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: rescoreAll
function rescoreAll()
{
$result = $this->dbh->query("SELECT id FROM ttrss_feeds WHERE owner_uid = " . $_SESSION['uid']);
while ($feed_line = $this->dbh->fetch_assoc($result)) {
$id = $feed_line["id"];
$filters = load_filters($id, $_SESSION["uid"], 6);
$tmp_result = $this->dbh->query("SELECT\n\t\t\t\ttitle, content, link, ref_id, author," . SUBSTRING_FOR_DATE . "(updated, 1, 19) AS updated\n\t\t\t\t\tFROM\n\t\t\t\t\tttrss_user_entries, ttrss_entries\n\t\t\t\t\tWHERE ref_id = id AND feed_id = '{$id}' AND\n\t\t\t\t\t\towner_uid = " . $_SESSION['uid'] . "\n\t\t\t\t\t");
$scores = array();
while ($line = $this->dbh->fetch_assoc($tmp_result)) {
$tags = get_article_tags($line["ref_id"]);
$article_filters = get_article_filters($filters, $line['title'], $line['content'], $line['link'], strtotime($line['updated']), $line['author'], $tags);
$new_score = calculate_article_score($article_filters);
if (!$scores[$new_score]) {
$scores[$new_score] = array();
}
array_push($scores[$new_score], $line['ref_id']);
}
foreach (array_keys($scores) as $s) {
if ($s > 1000) {
$this->dbh->query("UPDATE ttrss_user_entries SET score = '{$s}',\n\t\t\t\t\t\tmarked = true WHERE\n\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
} else {
$this->dbh->query("UPDATE ttrss_user_entries SET score = '{$s}' WHERE\n\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
}
}
}
print __("All done.");
}
示例2: setPref
setPref($data_dir, $username, 'filters_spam_scan', $filters_spam_scan_set);
} else {
echo _("You must select a scan type.");
}
foreach ($spam_filters as $Key => $Value) {
$input = $spam_filters[$Key]['prefname'] . '_set';
if (sqgetGlobalVar($input, $input_key, SQ_POST)) {
setPref($data_dir, $username, $spam_filters[$Key]['prefname'], $input_key);
} else {
removePref($data_dir, $username, $spam_filters[$Key]['prefname']);
}
}
}
$filters_spam_folder = getPref($data_dir, $username, 'filters_spam_folder');
$filters_spam_scan = getPref($data_dir, $username, 'filters_spam_scan');
$filters = load_filters();
echo html_tag('table', html_tag('tr', html_tag('th', _("Spam Filtering"), 'center')), 'center', $color[0], 'width="95%" border="0" cellpadding="2" cellspacing="0"');
if ($SpamFilters_YourHop == ' ') {
echo '<br />' . html_tag('div', '<b>' . sprintf(_("WARNING! Tell the administrator to set the %s variable."), '"SpamFilters_YourHop"') . '</b>', 'center') . '<br />';
}
if (isset($action) && $action == 'spam') {
$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
$boxes = sqimap_mailbox_list($imapConnection);
sqimap_logout($imapConnection);
$numboxes = count($boxes);
for ($i = 0; $i < $numboxes && $filters_spam_folder == ''; $i++) {
if (isset($boxes[$i]['flags'][0]) && $boxes[$i]['flags'][0] != 'noselect' && (isset($boxes[$i]['flags'][1]) && $boxes[$i]['flags'][1] != 'noselect') && (isset($boxes[$i]['flags'][2]) && $boxes[$i]['flags'][2] != 'noselect')) {
$filters_spam_folder = $boxes[$i]['unformatted'];
}
}
echo '<form method="post" action="spamoptions.php">' . '<center>' . html_tag('table', '', '', '', 'width="85%" border="0" cellpadding="2" cellspacing="0"') . html_tag('tr') . html_tag('th', _("Move spam to:"), 'right', '', 'nowrap') . html_tag('td', '', 'left') . '<select name="filters_spam_folder_set">';
示例3: update_rss_feed
//.........这里部分代码省略.........
/* terrible hack: if we crash on floicon shit here, we won't check
* the icon avgcolor again (unless the icon got updated) */
$favicon_file = ICONS_DIR . "/{$feed}.ico";
$favicon_modified = @filemtime($favicon_file);
_debug("checking favicon...", $debug_enabled);
check_feed_favicon($site_url, $feed);
$favicon_modified_new = @filemtime($favicon_file);
if ($favicon_modified_new > $favicon_modified) {
$favicon_avg_color = '';
}
if (file_exists($favicon_file) && function_exists("imagecreatefromstring") && $favicon_avg_color == '') {
require_once "colors.php";
db_query("UPDATE ttrss_feeds SET favicon_avg_color = 'fail' WHERE\n\t\t\t\t\t\t\tid = '{$feed}'");
$favicon_color = db_escape_string(calculate_avg_color($favicon_file));
$favicon_colorstring = ",favicon_avg_color = '" . $favicon_color . "'";
} else {
if ($favicon_avg_color == 'fail') {
_debug("floicon failed on this file, not trying to recalculate avg color", $debug_enabled);
}
}
db_query("UPDATE ttrss_feeds SET favicon_last_checked = NOW()\n\t\t\t\t\t{$favicon_colorstring}\n\t\t\t\t\tWHERE id = '{$feed}'");
}
if (!$registered_title || $registered_title == "[Unknown]") {
$feed_title = db_escape_string($rss->get_title());
if ($feed_title) {
_debug("registering title: {$feed_title}", $debug_enabled);
db_query("UPDATE ttrss_feeds SET\n\t\t\t\t\t\ttitle = '{$feed_title}' WHERE id = '{$feed}'");
}
}
if ($site_url && $orig_site_url != $site_url) {
db_query("UPDATE ttrss_feeds SET\n\t\t\t\t\tsite_url = '{$site_url}' WHERE id = '{$feed}'");
}
_debug("loading filters & labels...", $debug_enabled);
$filters = load_filters($feed, $owner_uid);
$labels = get_all_labels($owner_uid);
_debug("" . count($filters) . " filters loaded.", $debug_enabled);
$items = $rss->get_items();
if (!is_array($items)) {
_debug("no articles found.", $debug_enabled);
db_query("UPDATE ttrss_feeds\n\t\t\t\t\tSET last_updated = NOW(), last_error = '' WHERE id = '{$feed}'");
return;
// no articles
}
if ($pubsub_state != 2 && PUBSUBHUBBUB_ENABLED) {
_debug("checking for PUSH hub...", $debug_enabled);
$feed_hub_url = false;
$links = $rss->get_links('hub');
if ($links && is_array($links)) {
foreach ($links as $l) {
$feed_hub_url = $l;
break;
}
}
_debug("feed hub url: {$feed_hub_url}", $debug_enabled);
if ($feed_hub_url && function_exists('curl_init') && !ini_get("open_basedir")) {
require_once 'lib/pubsubhubbub/subscriber.php';
$callback_url = get_self_url_prefix() . "/public.php?op=pubsub&id={$feed}";
$s = new Subscriber($feed_hub_url, $callback_url);
$rc = $s->subscribe($fetch_url);
_debug("feed hub url found, subscribe request sent.", $debug_enabled);
db_query("UPDATE ttrss_feeds SET pubsub_state = 1\n\t\t\t\t\t\tWHERE id = '{$feed}'");
}
}
_debug("processing articles...", $debug_enabled);
foreach ($items as $item) {
if ($_REQUEST['xdebug'] == 3) {
示例4: update_for_folder
/**
* This update the filter rules when renaming or deleting folders
* @param array $args
* @access private
*/
function update_for_folder($args)
{
$old_folder = $args[0];
$new_folder = $args[2];
$action = $args[1];
global $plugins, $data_dir, $username;
$filters = array();
$filters = load_filters();
$filter_count = count($filters);
$p = 0;
for ($i = 0; $i < $filter_count; $i++) {
if (!empty($filters)) {
if ($old_folder == $filters[$i]['folder']) {
if ($action == 'rename') {
$filters[$i]['folder'] = $new_folder;
setPref($data_dir, $username, 'filter' . $i, $filters[$i]['where'] . ',' . $filters[$i]['what'] . ',' . $new_folder);
} elseif ($action == 'delete') {
remove_filter($p);
$p = $p - 1;
}
}
$p++;
}
}
}
示例5: update_rss_feed_real
//.........这里部分代码省略.........
if (!$registered_title || $registered_title == "[Unknown]") {
if ($use_simplepie) {
$feed_title = db_escape_string($rss->get_title());
} else {
$feed_title = db_escape_string($rss->channel["title"]);
}
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
_debug("update_rss_feed: registering title: {$feed_title}");
}
db_query($link, "UPDATE ttrss_feeds SET \n\t\t\t\t\ttitle = '{$feed_title}' WHERE id = '{$feed}'");
}
// weird, weird Magpie
if (!$use_simplepie) {
if (!$site_url) {
$site_url = db_escape_string($rss->channel["link_"]);
}
}
if ($site_url && $orig_site_url != db_escape_string($site_url)) {
db_query($link, "UPDATE ttrss_feeds SET \n\t\t\t\t\tsite_url = '{$site_url}' WHERE id = '{$feed}'");
}
// print "I: " . $rss->channel["image"]["url"];
if (!$use_simplepie) {
$icon_url = $rss->image["url"];
} else {
$icon_url = $rss->get_image_url();
}
if ($icon_url && !$orig_icon_url != db_escape_string($icon_url)) {
$icon_url = db_escape_string($icon_url);
db_query($link, "UPDATE ttrss_feeds SET icon_url = '{$icon_url}' WHERE id = '{$feed}'");
}
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
_debug("update_rss_feed: loading filters...");
}
$filters = load_filters($link, $feed, $owner_uid);
if ($use_simplepie) {
$iterator = $rss->get_items();
} else {
$iterator = $rss->items;
if (!$iterator || !is_array($iterator)) {
$iterator = $rss->entries;
}
if (!$iterator || !is_array($iterator)) {
$iterator = $rss;
}
}
if (!is_array($iterator)) {
/* db_query($link, "UPDATE ttrss_feeds
SET last_error = 'Parse error: can\'t find any articles.'
WHERE id = '$feed'"); */
// clear any errors and mark feed as updated if fetched okay
// even if it's blank
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
_debug("update_rss_feed: entry iterator is not an array, no articles?");
}
db_query($link, "UPDATE ttrss_feeds \n\t\t\t\t\tSET last_updated = NOW(), last_error = '' WHERE id = '{$feed}'");
return;
// no articles
}
if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
_debug("update_rss_feed: processing articles...");
}
foreach ($iterator as $item) {
if ($_REQUEST['xdebug'] == 2) {
print_r($item);
}
if ($use_simplepie) {
示例6: update_rss_feed
//.........这里部分代码省略.........
}
if ($favicon_needs_check) {
check_feed_favicon($site_url, $feed, $link);
db_query($link, "UPDATE ttrss_feeds SET favicon_last_checked = NOW()\n\t\t\t\t\tWHERE id = '{$feed}'");
}
if (!$registered_title || $registered_title == "[Unknown]") {
if ($use_simplepie) {
$feed_title = db_escape_string($rss->get_title());
} else {
$feed_title = db_escape_string($rss->channel["title"]);
}
if ($debug_enabled) {
_debug("update_rss_feed: registering title: {$feed_title}");
}
db_query($link, "UPDATE ttrss_feeds SET\n\t\t\t\t\ttitle = '{$feed_title}' WHERE id = '{$feed}'");
}
if ($site_url && $orig_site_url != $site_url) {
db_query($link, "UPDATE ttrss_feeds SET\n\t\t\t\t\tsite_url = '{$site_url}' WHERE id = '{$feed}'");
}
// print "I: " . $rss->channel["image"]["url"];
if (!$use_simplepie) {
$icon_url = db_escape_string(trim($rss->image["url"]));
} else {
$icon_url = db_escape_string(trim($rss->get_image_url()));
}
$icon_url = rewrite_relative_url($fetch_url, $icon_url);
$icon_url = substr($icon_url, 0, 250);
if ($icon_url && $orig_icon_url != $icon_url) {
db_query($link, "UPDATE ttrss_feeds SET icon_url = '{$icon_url}' WHERE id = '{$feed}'");
}
if ($debug_enabled) {
_debug("update_rss_feed: loading filters...");
}
$filters = load_filters($link, $feed, $owner_uid);
// if ($debug_enabled) {
// print_r($filters);
// }
if ($use_simplepie) {
$iterator = $rss->get_items();
} else {
$iterator = $rss->items;
if (!$iterator || !is_array($iterator)) {
$iterator = $rss->entries;
}
if (!$iterator || !is_array($iterator)) {
$iterator = $rss;
}
}
if (!is_array($iterator)) {
/* db_query($link, "UPDATE ttrss_feeds
SET last_error = 'Parse error: can\'t find any articles.'
WHERE id = '$feed'"); */
// clear any errors and mark feed as updated if fetched okay
// even if it's blank
if ($debug_enabled) {
_debug("update_rss_feed: entry iterator is not an array, no articles?");
}
db_query($link, "UPDATE ttrss_feeds\n\t\t\t\t\tSET last_updated = NOW(), last_error = '' WHERE id = '{$feed}'");
return;
// no articles
}
if ($pubsub_state != 2 && PUBSUBHUBBUB_ENABLED) {
if ($debug_enabled) {
_debug("update_rss_feed: checking for PUSH hub...");
}
$feed_hub_url = false;
示例7: update_rss_feed
//.........这里部分代码省略.........
$favicon_interval_qpart = "favicon_last_checked < DATE_SUB(NOW(), INTERVAL 12 HOUR)";
}
$result = db_query("SELECT owner_uid,favicon_avg_color,\n\t\t\t\t(favicon_last_checked IS NULL OR {$favicon_interval_qpart}) AS\n\t\t\t\t\t\tfavicon_needs_check\n\t\t\t\tFROM ttrss_feeds WHERE id = '{$feed}'");
$favicon_needs_check = sql_bool_to_bool(db_fetch_result($result, 0, "favicon_needs_check"));
$favicon_avg_color = db_fetch_result($result, 0, "favicon_avg_color");
$owner_uid = db_fetch_result($result, 0, "owner_uid");
$site_url = db_escape_string(mb_substr(rewrite_relative_url($fetch_url, $rss->get_link()), 0, 245));
_debug("site_url: {$site_url}", $debug_enabled);
_debug("feed_title: " . $rss->get_title(), $debug_enabled);
if ($favicon_needs_check || $force_refetch) {
/* terrible hack: if we crash on floicon shit here, we won't check
* the icon avgcolor again (unless the icon got updated) */
$favicon_file = ICONS_DIR . "/{$feed}.ico";
$favicon_modified = @filemtime($favicon_file);
_debug("checking favicon...", $debug_enabled);
check_feed_favicon($site_url, $feed);
$favicon_modified_new = @filemtime($favicon_file);
if ($favicon_modified_new > $favicon_modified) {
$favicon_avg_color = '';
}
if (file_exists($favicon_file) && function_exists("imagecreatefromstring") && $favicon_avg_color == '') {
require_once "colors.php";
db_query("UPDATE ttrss_feeds SET favicon_avg_color = 'fail' WHERE\n\t\t\t\t\t\t\tid = '{$feed}'");
$favicon_color = db_escape_string(calculate_avg_color($favicon_file));
$favicon_colorstring = ",favicon_avg_color = '" . $favicon_color . "'";
} else {
if ($favicon_avg_color == 'fail') {
_debug("floicon failed on this file, not trying to recalculate avg color", $debug_enabled);
}
}
db_query("UPDATE ttrss_feeds SET favicon_last_checked = NOW()\n\t\t\t\t\t{$favicon_colorstring}\n\t\t\t\t\tWHERE id = '{$feed}'");
}
_debug("loading filters & labels...", $debug_enabled);
$filters = load_filters($feed, $owner_uid);
_debug("" . count($filters) . " filters loaded.", $debug_enabled);
$items = $rss->get_items();
if (!is_array($items)) {
_debug("no articles found.", $debug_enabled);
db_query("UPDATE ttrss_feeds\n\t\t\t\t\tSET last_updated = NOW(), last_error = '' WHERE id = '{$feed}'");
return;
// no articles
}
if ($pubsub_state != 2 && PUBSUBHUBBUB_ENABLED) {
_debug("checking for PUSH hub...", $debug_enabled);
$feed_hub_url = false;
$links = $rss->get_links('hub');
if ($links && is_array($links)) {
foreach ($links as $l) {
$feed_hub_url = $l;
break;
}
}
_debug("feed hub url: {$feed_hub_url}", $debug_enabled);
$feed_self_url = $fetch_url;
$links = $rss->get_links('self');
if ($links && is_array($links)) {
foreach ($links as $l) {
$feed_self_url = $l;
break;
}
}
_debug("feed self url = {$feed_self_url}");
if ($feed_hub_url && $feed_self_url && function_exists('curl_init') && !ini_get("open_basedir")) {
require_once 'lib/pubsubhubbub/subscriber.php';
$callback_url = get_self_url_prefix() . "/public.php?op=pubsub&id={$feed}";
$s = new Subscriber($feed_hub_url, $callback_url);
示例8: module_pref_feeds
//.........这里部分代码省略.........
case "rtl_content":
$qpart = "rtl_content = '{$rtl_content}'";
break;
case "update_method":
$qpart = "update_method = '{$update_method}'";
break;
case "cat_id":
$qpart = $category_qpart_nocomma;
break;
}
if ($qpart) {
db_query($link, "UPDATE ttrss_feeds SET {$qpart} WHERE id IN ({$feed_ids})\n\t\t\t\t\t\t\tAND owner_uid = " . $_SESSION["uid"]);
print "<br/>";
}
}
db_query($link, "COMMIT");
}
}
}
if ($subop == "remove") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
foreach ($ids as $id) {
remove_feed($link, $id, $_SESSION["uid"]);
}
return;
}
if ($subop == "clear") {
$id = db_escape_string($_REQUEST["id"]);
clear_feed_articles($link, $id);
}
if ($subop == "rescore") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
foreach ($ids as $id) {
$filters = load_filters($link, $id, $_SESSION["uid"], 6);
$result = db_query($link, "SELECT title, content, link, ref_id FROM\n\t\t\t\t\t\tttrss_user_entries, ttrss_entries \n\t\t\t\t\t\tWHERE ref_id = id AND feed_id = '{$id}' AND \n\t\t\t\t\t\t\towner_uid = " . $_SESSION['uid'] . "\n\t\t\t\t\t\t");
$scores = array();
while ($line = db_fetch_assoc($result)) {
$article_filters = get_article_filters($filters, $line['title'], $line['content'], $line['link']);
$new_score = calculate_article_score($article_filters);
if (!$scores[$new_score]) {
$scores[$new_score] = array();
}
array_push($scores[$new_score], $line['ref_id']);
}
foreach (array_keys($scores) as $s) {
if ($s > 1000) {
db_query($link, "UPDATE ttrss_user_entries SET score = '{$s}', \n\t\t\t\t\t\t\tmarked = true WHERE\n\t\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
} else {
if ($s < -500) {
db_query($link, "UPDATE ttrss_user_entries SET score = '{$s}', \n\t\t\t\t\t\t\tunread = false WHERE\n\t\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
} else {
db_query($link, "UPDATE ttrss_user_entries SET score = '{$s}' WHERE\n\t\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
}
}
}
}
print __("All done.");
}
if ($subop == "rescoreAll") {
$result = db_query($link, "SELECT id FROM ttrss_feeds WHERE owner_uid = " . $_SESSION['uid']);
while ($feed_line = db_fetch_assoc($result)) {
$id = $feed_line["id"];
$filters = load_filters($link, $id, $_SESSION["uid"], 6);
$tmp_result = db_query($link, "SELECT title, content, link, ref_id FROM\n\t\t\t\t\t\tttrss_user_entries, ttrss_entries \n\t\t\t\t\t\tWHERE ref_id = id AND feed_id = '{$id}' AND \n\t\t\t\t\t\t\towner_uid = " . $_SESSION['uid'] . "\n\t\t\t\t\t\t");
$scores = array();
while ($line = db_fetch_assoc($tmp_result)) {
示例9: update_rss_feed
//.........这里部分代码省略.........
}
// db_query($link, "BEGIN");
if (DB_TYPE == "pgsql") {
$favicon_interval_qpart = "favicon_last_checked < NOW() - INTERVAL '12 hour'";
} else {
$favicon_interval_qpart = "favicon_last_checked < DATE_SUB(NOW(), INTERVAL 12 HOUR)";
}
$result = db_query($link, "SELECT title,site_url,owner_uid,\n\t\t\t\t(favicon_last_checked IS NULL OR {$favicon_interval_qpart}) AS\n\t\t\t\t\t\tfavicon_needs_check\n\t\t\t\tFROM ttrss_feeds WHERE id = '{$feed}'");
$registered_title = db_fetch_result($result, 0, "title");
$orig_site_url = db_fetch_result($result, 0, "site_url");
$favicon_needs_check = sql_bool_to_bool(db_fetch_result($result, 0, "favicon_needs_check"));
$owner_uid = db_fetch_result($result, 0, "owner_uid");
$site_url = db_escape_string(mb_substr(rewrite_relative_url($fetch_url, $rss->get_link()), 0, 245));
if ($debug_enabled) {
_debug("update_rss_feed: checking favicon...");
}
if ($favicon_needs_check) {
check_feed_favicon($site_url, $feed, $link);
db_query($link, "UPDATE ttrss_feeds SET favicon_last_checked = NOW()\n\t\t\t\t\tWHERE id = '{$feed}'");
}
if (!$registered_title || $registered_title == "[Unknown]") {
$feed_title = db_escape_string($rss->get_title());
if ($debug_enabled) {
_debug("update_rss_feed: registering title: {$feed_title}");
}
db_query($link, "UPDATE ttrss_feeds SET\n\t\t\t\t\ttitle = '{$feed_title}' WHERE id = '{$feed}'");
}
if ($site_url && $orig_site_url != $site_url) {
db_query($link, "UPDATE ttrss_feeds SET\n\t\t\t\t\tsite_url = '{$site_url}' WHERE id = '{$feed}'");
}
if ($debug_enabled) {
_debug("update_rss_feed: loading filters & labels...");
}
$filters = load_filters($link, $feed, $owner_uid);
$labels = get_all_labels($link, $owner_uid);
if ($debug_enabled) {
//print_r($filters);
_debug("update_rss_feed: " . count($filters) . " filters loaded.");
}
$items = $rss->get_items();
if (!is_array($items)) {
if ($debug_enabled) {
_debug("update_rss_feed: no articles found.");
}
db_query($link, "UPDATE ttrss_feeds\n\t\t\t\t\tSET last_updated = NOW(), last_error = '' WHERE id = '{$feed}'");
return;
// no articles
}
if ($pubsub_state != 2 && PUBSUBHUBBUB_ENABLED) {
if ($debug_enabled) {
_debug("update_rss_feed: checking for PUSH hub...");
}
$feed_hub_url = false;
$links = $rss->get_links('hub');
if ($links && is_array($links)) {
foreach ($links as $l) {
$feed_hub_url = $l;
break;
}
}
if ($debug_enabled) {
_debug("update_rss_feed: feed hub url: {$feed_hub_url}");
}
if ($feed_hub_url && function_exists('curl_init') && !ini_get("open_basedir")) {
require_once 'lib/pubsubhubbub/subscriber.php';
$callback_url = get_self_url_prefix() . "/public.php?op=pubsub&id={$feed}";
示例10: module_pref_feeds
//.........这里部分代码省略.........
case "cat_id":
$qpart = $category_qpart_nocomma;
break;
}
if ($qpart) {
db_query($link, "UPDATE ttrss_feeds SET {$qpart} WHERE id IN ({$feed_ids})\n\t\t\t\t\t\t\tAND owner_uid = " . $_SESSION["uid"]);
print "<br/>";
}
}
db_query($link, "COMMIT");
}
}
return;
}
if ($subop == "resetPubSub") {
$ids = db_escape_string($_REQUEST["ids"]);
db_query($link, "UPDATE ttrss_feeds SET pubsub_state = 0 WHERE id IN ({$ids})\n\t\t\t\tAND owner_uid = " . $_SESSION["uid"]);
return;
}
if ($subop == "remove") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
foreach ($ids as $id) {
remove_feed($link, $id, $_SESSION["uid"]);
}
return;
}
if ($subop == "clear") {
$id = db_escape_string($_REQUEST["id"]);
clear_feed_articles($link, $id);
}
if ($subop == "rescore") {
$ids = split(",", db_escape_string($_REQUEST["ids"]));
foreach ($ids as $id) {
$filters = load_filters($link, $id, $_SESSION["uid"], 6);
$result = db_query($link, "SELECT\n\t\t\t\t\ttitle, content, link, ref_id, author," . SUBSTRING_FOR_DATE . "(updated, 1, 19) AS updated\n\t\t\t\t \tFROM\n\t\t\t\t\t\tttrss_user_entries, ttrss_entries\n\t\t\t\t\t\tWHERE ref_id = id AND feed_id = '{$id}' AND\n\t\t\t\t\t\t\towner_uid = " . $_SESSION['uid'] . "\n\t\t\t\t\t\t");
$scores = array();
while ($line = db_fetch_assoc($result)) {
$tags = get_article_tags($link, $line["ref_id"]);
$article_filters = get_article_filters($filters, $line['title'], $line['content'], $line['link'], strtotime($line['updated']), $line['author'], $tags);
$new_score = calculate_article_score($article_filters);
if (!$scores[$new_score]) {
$scores[$new_score] = array();
}
array_push($scores[$new_score], $line['ref_id']);
}
foreach (array_keys($scores) as $s) {
if ($s > 1000) {
db_query($link, "UPDATE ttrss_user_entries SET score = '{$s}',\n\t\t\t\t\t\t\tmarked = true WHERE\n\t\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
} else {
if ($s < -500) {
db_query($link, "UPDATE ttrss_user_entries SET score = '{$s}',\n\t\t\t\t\t\t\tunread = false WHERE\n\t\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
} else {
db_query($link, "UPDATE ttrss_user_entries SET score = '{$s}' WHERE\n\t\t\t\t\t\t\tref_id IN (" . join(',', $scores[$s]) . ")");
}
}
}
}
print __("All done.");
}
if ($subop == "rescoreAll") {
$result = db_query($link, "SELECT id FROM ttrss_feeds WHERE owner_uid = " . $_SESSION['uid']);
while ($feed_line = db_fetch_assoc($result)) {
$id = $feed_line["id"];
$filters = load_filters($link, $id, $_SESSION["uid"], 6);
$tmp_result = db_query($link, "SELECT\n\t\t\t\t\ttitle, content, link, ref_id, author," . SUBSTRING_FOR_DATE . "(updated, 1, 19) AS updated\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\tttrss_user_entries, ttrss_entries\n\t\t\t\t\t\tWHERE ref_id = id AND feed_id = '{$id}' AND\n\t\t\t\t\t\t\towner_uid = " . $_SESSION['uid'] . "\n\t\t\t\t\t\t");
$scores = array();