? suggestedterms-all.patch
? suggestedterms-recent.patch
? suggestedterms.js.bk
? suggestedterms.module.bk
Index: suggestedterms.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/suggestedterms/suggestedterms.module,v
retrieving revision 1.2.2.5
diff -u -p -r1.2.2.5 suggestedterms.module
--- suggestedterms.module	21 May 2009 18:46:12 -0000	1.2.2.5
+++ suggestedterms.module	21 May 2009 20:19:48 -0000
@@ -8,6 +8,7 @@ define('SUGGESTEDTERMS_SORT_POPULAR', 0)
 define('SUGGESTEDTERMS_SORT_NAME', 1);
 define('SUGGESTEDTERMS_SORT_RECENT', 2);
 define('SUGGESTEDTERMS_SORT_WEIGHT', 3);
+define('SUGGESTEDTERMS_SORT_USED', 4);
 
 define('SUGGESTEDTERMS_DISPLAY_ALL', 1);
 define('SUGGESTEDTERMS_DISPLAY_USED', 2);
@@ -75,19 +76,23 @@ function _suggestedterms_build_suggestio
   // Get sort order set by admin.
   switch ($sort_order) {
     case SUGGESTEDTERMS_SORT_POPULAR:
-      $query = "SELECT t.name AS name, COUNT(t.name) AS total FROM {term_data} t $query_type JOIN {term_node} n ON (t.tid = n.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY total desc";
+      $query = "SELECT t.name AS name, COUNT(t.name) AS total FROM {term_data} t $query_type JOIN {term_node} tn ON (t.tid = tn.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY total desc";
       break;
 
     case SUGGESTEDTERMS_SORT_RECENT:
-      $query = "SELECT t.name AS name FROM {term_data} t $query_type JOIN {term_node} n ON (t.tid = n.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY t.tid desc";
+      $query = "SELECT t.name AS name FROM {term_data} t $query_type JOIN {term_node} tn ON (t.tid = nt.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY t.tid desc";
       break;
 
     case SUGGESTEDTERMS_SORT_WEIGHT:
-      $query = "SELECT t.name AS name, t.weight AS weight FROM {term_data} t $query_type JOIN {term_node} n ON (t.tid = n.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY weight, name";
+      $query = "SELECT t.name AS name, t.weight AS weight FROM {term_data} t $query_type JOIN {term_node} tn ON (t.tid = tn.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY weight, name";
+      break;
+
+    case SUGGESTEDTERMS_SORT_USED:
+      $query = "SELECT DISTINCT t.name AS name FROM {term_data} t $query_type JOIN {term_node} tn ON (t.tid = tn.tid) $query_type JOIN {node} n ON (tn.nid = n.nid) WHERE t.vid = %d ORDER BY n.changed DESC, name";
       break;
 
     default:
-      $query = "SELECT t.name AS name FROM {term_data} t $query_type JOIN {term_node} n ON (t.tid = n.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY t.name";
+      $query = "SELECT t.name AS name FROM {term_data} t $query_type JOIN {term_node} tn ON (t.tid = tn.tid) WHERE t.vid = %d GROUP BY t.name ORDER BY t.name";
       break;
   }
   $query_result = ($total_terms > 0) ? db_query_range($query, $vid, 0, $total_terms) : db_query($query, $vid);
@@ -123,6 +128,10 @@ function suggestedterms_form_alter(&$for
           $tag_description = 'Terms by Weight';
           break;
 
+        case SUGGESTEDTERMS_SORT_USED:
+          $tag_description = 'Recently Used';
+          break;
+
         default:
           $tag_description = 'Terms by name';
           break;
@@ -156,6 +165,7 @@ function suggestedterms_admin() {
       SUGGESTEDTERMS_SORT_NAME => t('Alphabetically'),
       SUGGESTEDTERMS_SORT_WEIGHT => t('Weight'),
       SUGGESTEDTERMS_SORT_RECENT => t('Most recently added'),
+      SUGGESTEDTERMS_SORT_USED => t('Most recently used'),
      ),
   );
   $form['suggestedterms_display_mode'] = array(
