<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>oembedcore.admin.css</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -25,16 +25,45 @@ function oembedcore_list_preset($js = NULL) {
   $rows = array();
 
   foreach ($presets as $preset) {
-    $operations = array(
-      array(
+    $operations = array();
+
+    if (empty($preset-&gt;disabled)) {
+      $operations[] = array(
         'title' =&gt; t('Edit'),
         'href'  =&gt; 'admin/build/oembed/' . $preset-&gt;name . '/edit',
-      ),
-      array(
+      );
+      $operations[] = array(
         'title' =&gt; t('Export'),
         'href'  =&gt; 'admin/build/oembed/' . $preset-&gt;name . '/export',
-      ),
-    );
+      );
+    }
+
+    if ($preset-&gt;export_type == (EXPORT_IN_CODE | EXPORT_IN_DATABASE)) {
+      $operations[] = array(
+        'title' =&gt; t('Revert'),
+        'href'  =&gt; 'admin/build/oembed/' . $preset-&gt;name . '/delete',
+      );
+    }
+    elseif ($preset-&gt;export_type != EXPORT_IN_CODE) {
+      $operations[] = array(
+        'title' =&gt; t('Delete'),
+        'href'  =&gt; 'admin/build/oembed/' . $preset-&gt;name . '/delete',
+      );
+    }
+    elseif (empty($preset-&gt;disabled)) {
+      $operations[] = array(
+        'title' =&gt; t('Disable'),
+        'href'  =&gt; 'admin/build/oembed/' . $preset-&gt;name . '/disable',
+        'query' =&gt; drupal_get_destination(),
+      );
+    }
+    else {
+      $operations[] = array(
+        'title' =&gt; t('Enable'),
+        'href'  =&gt; 'admin/build/oembed/' . $preset-&gt;name . '/enable',
+        'query' =&gt; drupal_get_destination(),
+      );
+    }
 
     $rows[$preset-&gt;name] = array(
       'data' =&gt; array(
@@ -59,7 +88,7 @@ function oembedcore_list_preset($js = NULL) {
           'class' =&gt; 'oembedcore-preset-operations',
         ),
       ),
-      'class' =&gt; 'oembedcore-preset-' . $preset-&gt;name,
+      'class' =&gt; 'oembedcore-preset-' . $preset-&gt;name . (!empty($preset-&gt;disabled) ? ' oembedcore-preset-disabled' : ''),
       //'title =&gt; ??
     );
   }
@@ -68,7 +97,7 @@ function oembedcore_list_preset($js = NULL) {
 
 //  $operations = '&lt;div id=&quot;oembedcore-links&quot; class=&quot;links&quot;&gt;' . theme('links', $pages['operations']) . '&lt;/div&gt;';
 
-//  drupal_add_css(drupal_get_path('module', 'page_manager') . '/css/page-manager.css');
+  drupal_add_css(drupal_get_path('module', 'oembedcore') . '/oembedcore.admin.css');
 
   return $table;
 }
@@ -229,4 +258,66 @@ function oembedcore_export_preset(&amp;$form_state, $preset) {
     '#rows'          =&gt; $lines,
   );
   return $form;
+}
+
+/**
+ * Provide a form to confirm deletion of a preset.
+ */
+function oembedcore_delete_confirm_preset(&amp;$form_state, $preset) {
+  if (!is_object($preset)) {
+    $preset = oembedcore_preset_load($preset);
+  }
+  if ($preset-&gt;export_type == (EXPORT_IN_CODE | EXPORT_IN_DATABASE)) {
+    $submit = t('Revert');
+  }
+  else if ($preset-&gt;export_type != EXPORT_IN_CODE) {
+    $submit = t('Delete');
+  }
+  else {
+    drupal_not_found();
+    die;
+  }
+  $form['name'] = array('#type' =&gt; 'value', '#value' =&gt; $preset-&gt;name);
+  $form['pid']  = array('#type' =&gt; 'value', '#value' =&gt; $preset-&gt;pid);
+  return confirm_form($form,
+    t('Are you sure you want to delete the preset &quot;@name&quot;?', array('@name' =&gt; $preset-&gt;name)),
+    !empty($_GET['destination']) ? $_GET['destination'] : 'admin/build/oembed',
+    t('This action cannot be undone.'),
+    $submit, t('Cancel')
+  );
+}
+
+/**
+ * Handle the submit button to delete a mini panel.
+ */
+function oembedcore_delete_confirm_preset_submit($form, &amp;$form_state) {
+  $preset = oembedcore_preset_load($form_state['values']['name']);
+  if ($preset-&gt;pid == $form_state['values']['pid']) {
+    oembedcore_preset_delete($preset);
+    $form_state['redirect'] = 'admin/build/oembed';
+  }
+}
+
+/**
+ * Enable a default preset.
+ */
+function oembedcore_enable_preset($preset) {
+  if (!is_object($preset)) {
+    $preset = oembedcore_preset_load($preset);
+  }
+  ctools_include('export');
+  ctools_export_set_status('oembedcore_preset', $preset-&gt;name, FALSE);
+  drupal_goto();
+}
+
+/**
+ * Disable a default preset.
+ */
+function oembedcore_disable_preset($preset) {
+  if (!is_object($preset)) {
+    $preset = oembedcore_preset_load($preset);
+  }
+  ctools_include('export');
+  ctools_export_set_status('oembedcore_preset', $preset-&gt;name, TRUE);
+  drupal_goto();
 }
\ No newline at end of file</diff>
      <filename>oembedcore.admin.inc</filename>
    </modified>
    <modified>
      <diff>@@ -52,6 +52,22 @@ function oembedcore_menu() {
     'page arguments' =&gt; array('oembedcore_export_preset', 3),
     'type'           =&gt; MENU_LOCAL_TASK,
   ) + $base;
+  $items['admin/build/oembed/%oembedcore_preset/delete'] = array(
+    'title'          =&gt; 'Delete preset',
+    'page callback'  =&gt; 'drupal_get_form',
+    'page arguments' =&gt; array('oembedcore_delete_confirm_preset', 3),
+    'type'           =&gt; MENU_CALLBACK,
+  ) + $base;
+  $items['admin/build/oembed/%oembedcore_preset/disable'] = array(
+    'page callback'  =&gt; 'oembedcore_disable_preset',
+    'page arguments' =&gt; array(3),
+    'type'           =&gt; MENU_CALLBACK,
+  ) + $base;
+  $items['admin/build/oembed/%oembedcore_preset/enable'] = array(
+    'page callback'  =&gt; 'oembedcore_enable_preset',
+    'page arguments' =&gt; array(3),
+    'type'           =&gt; MENU_CALLBACK,
+  ) + $base;
 
   return $items;
 }
@@ -361,7 +377,7 @@ function oembedcore_preset_save(&amp;$preset) {
  * Remove a preset.
  */
 function oembedcore_preset_delete($preset) {
-  db_query(&quot;DELETE FROM {oembedcore_preset} WHERE name = '%s'&quot;, $preset-&gt;name);
+  db_query(&quot;DELETE FROM {oembedcore_preset} WHERE name = '%s' AND pid = %d&quot;, $preset-&gt;name, $preset-&gt;pid);
 }
 
 /**</diff>
      <filename>oembedcore.module</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>26c5d4371ba85567036e351295bc27f3cf4c496b</id>
    </parent>
  </parents>
  <author>
    <name>Pelle Wessman</name>
    <email>pelle@kodfabrik.se</email>
  </author>
  <url>http://github.com/voxpelli/drupal-oembed/commit/e4b3b29ae4f2558b90dfed660073c01031b9bb48</url>
  <id>e4b3b29ae4f2558b90dfed660073c01031b9bb48</id>
  <committed-date>2009-10-01T05:42:38-07:00</committed-date>
  <authored-date>2009-10-01T05:42:26-07:00</authored-date>
  <message>Made the presets disableable and deleteable</message>
  <tree>48bdbb2b3375f0a17a86c473a18da562d3e0b404</tree>
  <committer>
    <name>Pelle Wessman</name>
    <email>pelle@kodfabrik.se</email>
  </committer>
</commit>
