Index: simplenews_digest.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/simplenews_digest/simplenews_digest.module,v retrieving revision 1.1 diff -u -p -r1.1 simplenews_digest.module --- simplenews_digest.module 3 Aug 2008 05:40:24 -0000 1.1 +++ simplenews_digest.module 3 Jan 2009 12:08:10 -0000 @@ -340,20 +340,29 @@ function simplenews_digest_inject_node() // Query the database for nodes to send in newsletter function simplenews_digest_select_nodes($newsletter) { $terms = variable_get('simplenews_digest_terms', 0); - $selected_terms = array_filter($terms); - $term_placeholders = implode(',', array_fill(0, count($selected_terms), '%d')); + + // Get terms if any are selected + if (!empty($terms) && $terms != 0) { + $selected_terms = array_filter($terms); + $term_placeholders = implode(',', array_fill(0, count($selected_terms), '%d')); + } $content_types = variable_get('simplenews_digest_content_types', 0); $selected_content_types = array_filter($content_types); $type_placeholders = implode(',', array_fill(0, count($selected_content_types), "'%s'")); - // Limit query to node types and terms that will go into newsletter - - $query = "SELECT DISTINCT n.nid, n.type, n.title from {node} n INNER JOIN {term_node} t ON n.nid = t.nid WHERE t.tid IN ($term_placeholders) AND n.type IN ($type_placeholders) AND n.created >= %d AND n.created < %d AND n.status = 1 ORDER BY n.created DESC"; - $result = db_query($query, array_merge($selected_terms, $selected_content_types, array($newsletter['start_time'], $newsletter['end_time']))); - //while($node = db_fetch_object($result)) { //debug - //print 'hi'; //debug - //} //debug + // If there are no terms selected, omit terms from query + if (!empty($terms) && $terms != 0) { + // Limit query to node types and terms that will go into newsletter + $query = "SELECT DISTINCT n.nid, n.type, n.title from {node} n INNER JOIN {term_node} t ON n.nid = t.nid WHERE t.tid IN ($term_placeholders) AND n.type IN ($type_placeholders) AND n.created >= %d AND n.created < %d AND n.status = 1 ORDER BY n.created DESC"; + $result = db_query($query, array_merge($selected_terms, $selected_content_types, array($newsletter['start_time'], $newsletter['end_time']))); + //while($node = db_fetch_object($result)) { //debug + //print 'hi'; //debug + //} //debug + } else { + $query = "SELECT DISTINCT nid, type, title from {node} WHERE type IN ($type_placeholders) AND created >= %d AND created < %d AND status = 1 ORDER BY created DESC"; + $result = db_query($query, array_merge($selected_content_types, array($newsletter['start_time'], $newsletter['end_time']))); + } return $result; }