Skip to content
Snippets Groups Projects
Commit f1295fed authored by Alex Barth's avatar Alex Barth
Browse files

Fix deleting.

parent 247c0d30
No related branches found
No related tags found
No related merge requests found
......@@ -89,16 +89,18 @@ class FeedsNodeProcessor extends FeedsProcessor {
*/
public function clear(FeedsBatch $batch, FeedsSource $source) {
if (!$batch->getTotal(FEEDS_CLEARING)) {
$total = db_query("SELECT COUNT(nid) FROM {feeds_node_item} WHERE id = :id AND feed_nid =:nid", array(':id' => $source->id, ':nid' => $source->feed_nid))->fetchField();
$total = db_query("SELECT COUNT(n.nid) FROM {node} n JOIN {feeds_node_item} fn ON n.nid = fn.nid WHERE fn.id = :id AND fn.feed_nid = :nid", array(':id' => $source->id, ':nid' => $source->feed_nid))->fetchField();
$batch->setTotal(FEEDS_CLEARING, $total);
}
$count = variable_get('feeds_node_batch_size', FEEDS_NODE_BATCH_SIZE);
$nodes = db_query_range("SELECT nid FROM {feeds_node_item} WHERE id = :id AND feed_nid =:nid", 0, $count, array(':id' => $source->id, ':nid' => $source->feed_nid));
$nids = array();
$nodes = db_query_range("SELECT n.nid FROM {node} n JOIN {feeds_node_item} fn ON n.nid = fn.nid WHERE fn.id = :id AND fn.feed_nid = :nid", 0, $count, array(':id' => $source->id, ':nid' => $source->feed_nid));
foreach ($nodes as $node) {
node_delete($node->nid);
$nids[] = $node->nid;
$batch->deleted++;
}
if (db_query_range("SELECT 1 FROM {feeds_node_item} WHERE id = :id AND feed_nid =:nid", 0, 1, array(':id' => $source->id, ':nid' => $source->feed_nid))->fetchField()) {
node_delete_multiple($nids);
if (db_query_range("SELECT 1 FROM {node} n JOIN {feeds_node_item} fn ON n.nid = fn.nid WHERE fn.id = :id AND fn.feed_nid = :nid", 0, 1, array(':id' => $source->id, ':nid' => $source->feed_nid))->fetchField()) {
$batch->setProgress(FEEDS_CLEARING, $batch->deleted);
return;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment