/[drupal]/contributions/modules/feedapi/feedapi_node/feedapi_node.module
ViewVC logotype

Diff of /contributions/modules/feedapi/feedapi_node/feedapi_node.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1.2.18.2.46, Tue Oct 27 15:58:53 2009 UTC revision 1.1.2.18.2.47, Sat Oct 31 16:04:00 2009 UTC
# Line 1  Line 1 
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
# Line 95  function feedapi_node_link($type, $node Line 95  function feedapi_node_link($type, $node
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(
# Line 277  function _feedapi_node_save($feed_item, Line 277  function _feedapi_node_save($feed_item,
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)) {
# Line 357  function _feedapi_node_save($feed_item, Line 374  function _feedapi_node_save($feed_item,
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    

Legend:
Removed from v.1.1.2.18.2.46  
changed lines
  Added in v.1.1.2.18.2.47

  ViewVC Help
Powered by ViewVC 1.1.2