Index: views/modules/views_node.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/views/modules/Attic/views_node.inc,v
retrieving revision 1.30.2.19
diff -u -r1.30.2.19 views_node.inc
--- views/modules/views_node.inc	14 Jul 2007 19:30:51 -0000	1.30.2.19
+++ views/modules/views_node.inc	9 Oct 2007 22:05:18 -0000
@@ -282,6 +282,11 @@
       'handler' => 'views_handler_arg_nodetype',
       'help' => t('The node type argument allows users to filter a view by specifying the type of node.'),
     ),
+    'nodetype' => array(
+      'name' => t('Node: Frontpage'),
+      'handler' => 'views_handler_arg_nodefrontpage',
+      'help' => t('The node frontpage argument allows users to filter a view by specifying the promoted to front-page status (0 = not promoted, 1 = promoted'),
+    ),
     'nodeletter' => array(
       'name' => t('Node: Title'),
       'handler' => 'views_handler_arg_nodeletter',
@@ -511,6 +516,32 @@
       return $title ? $title : check_plain($query);
   }
 }
+/*
+ * Handle the node frontpage argument.
+ */
+function views_handler_arg_nodefrontpage($op, &$query, $argtype, $arg = '') {
+  switch($op) {
+    case 'summary':
+      $query->add_field("promote");
+      $query->add_groupby("node.promote");
+      $fieldinfo['field'] = "node.promote";
+      return $fieldinfo;
+      break;
+    case 'sort':
+      $query->add_orderby('node', 'promote', $argtype);
+      break;
+    case 'filter':
+      $where = db_escape_string($arg);
+      $query->add_where("node.promote = %d", $where);
+      break;
+    case 'link':
+      $query->promote ? $title = 'promoted' : $title = 'not promoted';
+      return l($title, "$arg/$query->promote");
+    case 'title':
+      $query ? $title = 'promoted' : $title = 'not promoted';
+      return $title;
+  }
+}
 
 function views_handler_arg_nodeletter($op, &$query, $argtype, $arg = '') {
   static $field = NULL;
