/[drupal]/contributions/modules/similar/similar.module
ViewVC logotype

Diff of /contributions/modules/similar/similar.module

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

revision 1.7.2.8, Thu Jan 29 15:17:02 2009 UTC revision 1.7.2.9, Thu Jul 16 13:47:50 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: similar.module,v 1.7.2.7 2007/11/29 16:17:37 deekayen Exp $  // $Id: similar.module,v 1.7.2.8 2009/01/29 15:17:02 deekayen Exp $
3    
4  /**  /**
5   * @file   * @file
# Line 340  function _similar_taxonomy_membership($n Line 340  function _similar_taxonomy_membership($n
340    
341    $tids = array();    $tids = array();
342    $result = db_query('SELECT t.tid FROM {term_node} t WHERE t.nid = %d', $nid);    $result = db_query('SELECT t.tid FROM {term_node} t WHERE t.nid = %d', $nid);
343    while($data = db_fetch_object($result)) {    while ($data = db_fetch_object($result)) {
344      if (!in_array($data->tid, $tidsExclude)) {      if (!in_array($data->tid, $tidsExclude)) {
345        $tids[$data->tid] = $data->tid;        $tids[$data->tid] = $data->tid;
346      }      }
# Line 396  function theme_similar_content($node) { Line 396  function theme_similar_content($node) {
396        $taxonomy_tids = (int)$taxonomy_tids;        $taxonomy_tids = (int)$taxonomy_tids;
397      }      }
398    
399      $result = db_query_range("SELECT r.nid, MATCH(r.body, r.title) AGAINST ('%s') AS score FROM {node_revisions} r INNER JOIN {node} n ON r.nid = n.nid AND r.vid = n.vid INNER JOIN {term_node} t ON n.nid = t.nid AND t.tid IN ($taxonomy_tids) WHERE MATCH(r.body, r.title) AGAINST ('%s') AND n.status <> 0 AND r.nid <> %d AND n.type IN ($types) GROUP BY n.nid ORDER BY score DESC, r.vid DESC", $text, $text, $node->nid, 0, variable_get('similar_num_display', 5));      $query = "SELECT r.nid, MATCH(r.body, r.title) AGAINST ('%s') AS score FROM {node_revisions} r INNER JOIN {node} n ON r.nid = n.nid AND r.vid = n.vid INNER JOIN {term_node} t ON n.nid = t.nid AND t.tid IN ($taxonomy_tids) WHERE MATCH(r.body, r.title) AGAINST ('%s') AND n.status <> 0 AND r.nid <> %d AND n.type IN ($types) GROUP BY n.nid ORDER BY score DESC, r.vid DESC";
400    }    }
401    else {    else {
402      $result = db_query_range("SELECT r.nid, MATCH(r.body, r.title) AGAINST ('%s') AS score FROM {node_revisions} r INNER JOIN {node} n ON r.nid = n.nid AND r.vid = n.vid WHERE MATCH(r.body, r.title) AGAINST ('%s') AND n.status <> 0 AND r.nid <> %d AND n.type IN ($types) GROUP BY n.nid ORDER BY score DESC, r.vid DESC", $text, $text, $node->nid, 0, variable_get('similar_num_display', 5));      $query = "SELECT r.nid, MATCH(r.body, r.title) AGAINST ('%s') AS score FROM {node_revisions} r INNER JOIN {node} n ON r.nid = n.nid AND r.vid = n.vid WHERE MATCH(r.body, r.title) AGAINST ('%s') AND n.status <> 0 AND r.nid <> %d AND n.type IN ($types) GROUP BY n.nid ORDER BY score DESC, r.vid DESC";
403    }    }
404    
405      $query = db_rewrite_sql($query, 'n', 'nid');
406      $result = db_query_range($query, $text, $text, $node->nid, 0, variable_get('similar_num_display', 5));
407    
408    while ($node = db_fetch_object($result)) {    while ($node = db_fetch_object($result)) {
409      $content = node_load($node->nid);      $content = node_load($node->nid);
410      if ($teaser) {      if ($teaser) {

Legend:
Removed from v.1.7.2.8  
changed lines
  Added in v.1.7.2.9

  ViewVC Help
Powered by ViewVC 1.1.2