Index: sheetnode.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/sheetnode/sheetnode.module,v
retrieving revision 1.4.2.7.2.55
diff -u -p -r1.4.2.7.2.55 sheetnode.module
--- sheetnode.module	27 Dec 2010 00:51:32 -0000	1.4.2.7.2.55
+++ sheetnode.module	7 Jan 2011 19:47:32 -0000
@@ -263,6 +263,13 @@ function sheetnode_menu() {
     'description' => 'Sheetnode module settings',
     'type' => MENU_LOCAL_TASK,
   );
+  $items['admin/settings/sheetnode/general/%/delete'] = array(
+    'title' => 'Delete Template',
+    'access arguments' => array('administer site configuration'),
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('sheetnode_template_delete_form', 4),
+    'type' => MENU_LOCAL_TASK,
+  );
 
   return $items;
 }
@@ -272,6 +279,21 @@ define('SHEETNODE_VIEW_FIDDLE',   1);
 define('SHEETNODE_VIEW_HTML',     2);
 
 function sheetnode_admin_settings() {
+  // Get templates
+  $result = db_query("SELECT * FROM {sheetnode_template}");
+  while ($template = db_fetch_object($result)) {
+    $rows[] = array(
+      'name' => $template->name,
+      'op' => l(t('Delete'), 'admin/settings/sheetnode/general/'. $template->tid .'/delete'),
+    );
+  }
+  // Display tempates in a list
+  $form['sheetnode_templates'] = array(
+    '#prefix' => '<div id="sheetnode-templates">',
+    '#value' => theme('table', array(t('Templates'), t('Op')), $rows),
+    '#suffix' => '</div>',    
+  );
+
   $form['sheetnode_fiddle'] = array(
     '#type' => 'radios',
     '#title' => t('View mode'),
@@ -286,6 +308,31 @@ function sheetnode_admin_settings() {
   return system_settings_form($form);
 }
 
+function sheetnode_template_delete_form(&$form_state, $tid) {
+  if ($template = db_fetch_object(db_query("SELECT * FROM {sheetnode_template} WHERE tid=%d", $tid))) {
+    $form['template'] = array(
+      '#type' => 'value',
+      '#value' => $template,
+    );
+    $form['#redirect'] = 'admin/settings/sheetnode/general';
+    return confirm_form($form, 
+      t('Are you sure you want to delete the template %name?', array('%name' => $template->name)), 
+      'admin/settings/sheetnode/general', 
+      NULL, 
+      t('Delete'), t('Cancel'));
+  }
+  else {
+    drupal_not_found();
+    return;
+  }
+}
+
+function sheetnode_template_delete_form_submit($form, &$form_state) {
+  $template = $form_state['values']['template'];
+  db_query("DELETE FROM {sheetnode_template} WHERE tid=%d", $template->tid);
+  drupal_set_message(t('The template %name has been deleted.', array('%name' => $template->name)));
+}
+
 function sheetnode_import_template(&$form_state) {
   $options[0] = t('- Please choose a template -');
   $result = db_query("SELECT tid, name FROM {sheetnode_template}");
