| 1 |
<?php |
<?php |
| 2 |
// $Id: feedapi_node.module,v 1.1.2.18.2.45 2009/10/26 20:29:23 aronnovak Exp $ |
// $Id: feedapi_node.module,v 1.1.2.18.2.46 2009/10/27 15:58:53 aronnovak Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 95 |
} |
} |
| 96 |
} |
} |
| 97 |
if (isset($node->feedapi_node)) { |
if (isset($node->feedapi_node)) { |
| 98 |
$result = db_query(db_rewrite_sql("SELECT n.title, n.nid FROM {node} n WHERE n.nid IN (". db_placeholders($node->feedapi_node->feed_nids, 'int') .") ORDER BY title DESC", $node->feedapi_node->feed_nids)); |
$result = db_query(db_rewrite_sql("SELECT n.title, n.nid FROM {node} n WHERE n.nid IN (". db_placeholders($node->feedapi_node->feed_nids, 'int') .") ORDER BY title DESC"), $node->feedapi_node->feed_nids); |
| 99 |
$owner_feeds_num = count($node->feedapi_node->feed_nids); |
$owner_feeds_num = count($node->feedapi_node->feed_nids); |
| 100 |
while ($feed = db_fetch_object($result)) { |
while ($feed = db_fetch_object($result)) { |
| 101 |
$links['feedapi_feed'. ($owner_feeds_num == 1 ? '' : '_'. $feed->nid)] = array( |
$links['feedapi_feed'. ($owner_feeds_num == 1 ? '' : '_'. $feed->nid)] = array( |
| 277 |
return $feed_item; |
return $feed_item; |
| 278 |
} |
} |
| 279 |
} |
} |
| 280 |
|
|
| 281 |
|
// If there are dupes on other feeds, don't create new feed item, but link this feed |
| 282 |
|
// to existing feed item. |
| 283 |
|
// Heads up: if there is a duplicate on the SAME feed, |
| 284 |
|
// _feedapi_node_save() won't even be called. |
| 285 |
|
if (isset($feed_item->feedapi_node->duplicates)) { |
| 286 |
|
foreach ($feed_item->feedapi_node->duplicates as $fi_nid => $f_nids) { |
| 287 |
|
$feed_item_node = node_load($fi_nid); |
| 288 |
|
$feed_item_node->feedapi_node->feed_nids[$feed_nid] = $feed_nid; |
| 289 |
|
node_object_prepare($feed_item_node); |
| 290 |
|
node_save($feed_item_node); |
| 291 |
|
} |
| 292 |
|
//mark this item as updated. |
| 293 |
|
$feed_item->is_updated = TRUE; |
| 294 |
|
return FALSE; |
| 295 |
|
} |
| 296 |
|
|
| 297 |
// Constructs the node object. |
// Constructs the node object. |
| 298 |
$node = new stdClass(); |
$node = new stdClass(); |
| 299 |
if (isset($feed_item->nid)) { |
if (isset($feed_item->nid)) { |
| 374 |
} |
} |
| 375 |
$node->uid = $feed_node->uid; |
$node->uid = $feed_node->uid; |
| 376 |
|
|
| 377 |
// If there are dupes on other feeds, don't create new feed item, but link this feed |
node_save($node); |
|
// to existing feed item. |
|
|
// Heads up: if there is a duplicate on the SAME feed, |
|
|
// _feedapi_node_save() won't even be called. |
|
|
if (isset($feed_item->feedapi_node->duplicates)) { |
|
|
foreach ($feed_item->feedapi_node->duplicates as $fi_nid => $f_nids) { |
|
|
$feed_item_node = node_load($fi_nid); |
|
|
$feed_item_node->feedapi_node->feed_nids[$feed_nid] = $feed_nid; |
|
|
node_object_prepare($feed_item_node); |
|
|
node_save($feed_item_node); |
|
|
} |
|
|
} |
|
|
else { |
|
|
node_save($node); |
|
|
} |
|
| 378 |
return $feed_item; |
return $feed_item; |
| 379 |
} |
} |
| 380 |
|
|