Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.967 diff -u -r1.967 node.module --- modules/node/node.module 26 May 2008 17:12:55 -0000 1.967 +++ modules/node/node.module 6 Jul 2008 02:08:30 -0000 @@ -1260,6 +1260,33 @@ $keys = search_query_insert($keys, 'type'); } + if ($author = search_query_extract($keys, 'author')) { + $join1 .= ' INNER JOIN {users} u ON u.uid = n.uid'; + $conditions1 .= " AND u.name = '%s'"; + $arguments1[] = $author; + $keys = search_query_insert($keys, 'author'); + } + + if (($created_comparison = search_query_extract($keys, 'created-comparator')) && + ($created_date = search_query_extract($keys, 'created-date'))) { + if ($created_comparison == "=") { + $created = "n.created BETWEEN %d AND %d"; + $arguments1[] = strtotime($created_date); + $arguments1[] = strtotime($created_date) + 24*60*60; + } + else { + // No quotes on the %s because it's just for the insertion of the + // comparator. + $created = "n.created %s %d"; + $arguments1[] = $created_comparison; + $arguments1[] = strtotime($created_date); + } + + $conditions1 .= ' AND ('. $created .')'; + $keys = search_query_insert($keys, 'created-comparator'); + $keys = search_query_insert($keys, 'created-date'); + } + if ($category = search_query_extract($keys, 'category')) { $categories = array(); foreach (explode(',', $category) as $c) { @@ -1906,6 +1933,28 @@ '#size' => 30, '#maxlength' => 255, ); + $form['advanced']['keywords']['author'] = array( + '#type' => 'textfield', + '#title' => t('Author'), + '#size' => 30, + '#maxlength' => 255, + ); + $form['advanced']['created'] = array( + '#prefix' => '