From d98bcf918d3bf3cccfbd0c683c1840d62964a4fc Mon Sep 17 00:00:00 2001
From: Peter Philipp <peter.philipp@cando-image.com>
Date: Wed, 31 Oct 2012 08:00:04 +0100
Subject: [PATCH] Fix export.

---
 breakpoints.admin.inc |   29 ++++++++++++++++++++++++-----
 breakpoints.install   |    1 +
 breakpoints.module    |   12 ++++++------
 3 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/breakpoints.admin.inc b/breakpoints.admin.inc
index b3badb1..fc6e5c2 100644
--- a/breakpoints.admin.inc
+++ b/breakpoints.admin.inc
@@ -840,14 +840,33 @@ function breakpoints_admin_breakpoint_group_export_form($form, &$form_state, $ma
   if (!$group || !$machine_name) {
     $group = new stdClass();
   }
-  $export = breakpoints_breakpoint_group_export($group);
+  $group_export = breakpoints_breakpoint_group_export($group);
 
-  $form['export'] = array(
+  $form['group_export'] = array(
     '#type' => 'textarea',
     '#title' => t('Breakpoint group code'),
-    '#rows' => count(explode("\n", $export)),
-    '#default_value' => $export,
+    '#rows' => count(explode("\n", $group_export)),
+    '#default_value' => $group_export,
   );
+
+  $breakpoints_export = NULL;
+  if (isset($group->breakpoints)) {
+    foreach ($group->breakpoints as $breakpoint) {
+      if (!is_array($breakpoint) && !is_object($breakpoint)) {
+        $breakpoint = breakpoints_breakpoint_load_by_fullkey($breakpoint);
+      }
+      $breakpoints_export .= ctools_export_object('breakpoints', $breakpoint);
+      $breakpoints_export .= "\n";
+    }
+  }
+
+  $form['breakpoints_export'] = array(
+    '#type' => 'textarea',
+    '#title' => t('Breakpoints code'),
+    '#rows' => count(explode("\n", $breakpoints_export)),
+    '#default_value' => $breakpoints_export,
+  );
+
   return $form;
 }
 
@@ -1186,4 +1205,4 @@ function breakpoints_admin_breakpoint_group_duplicate_form_submit($form, &$form_
     $form_state['redirect'] = 'admin/config/media/breakpoints/groups/' . $machine_name;
     drupal_set_message(t('The new group have been created'));
   }
-}
\ No newline at end of file
+}
diff --git a/breakpoints.install b/breakpoints.install
index 354ef7c..25c06f4 100644
--- a/breakpoints.install
+++ b/breakpoints.install
@@ -146,6 +146,7 @@ function breakpoints_schema() {
       'admin_title' => 'label',
       'default hook' => 'default_breakpoint_group',
       'export type string' => 'ctools_type',
+      'export callback' => 'breakpoints_breakpoint_group_export',
       'api' => array(
         'owner' => 'breakpoints',
         'api' => 'default_breakpoint_group',
diff --git a/breakpoints.module b/breakpoints.module
index 82f877a..d97ba73 100644
--- a/breakpoints.module
+++ b/breakpoints.module
@@ -620,22 +620,22 @@ function breakpoints_breakpoint_group_save(&$breakpoint_group) {
 /**
  * Export a single breakpoint group.
  */
-function breakpoints_breakpoint_group_export($group) {
+function breakpoints_breakpoint_group_export($group, $indent = '') {
   if (is_string($group)) {
     $group = breakpoints_breakpoint_group_load($group);
   }
-  $export = "/**\n * Breakpoints.\n */\n" . '$breakpoints = array();' . "\n\n";
+  $export = $indent . "// Breakpoints.\n" . $indent . '$breakpoints = array();' . "\n";
   if (isset($group->breakpoints)) {
     foreach ($group->breakpoints as $breakpoint) {
       if (!is_array($breakpoint) && !is_object($breakpoint)) {
         $breakpoint = breakpoints_breakpoint_load_by_fullkey($breakpoint);
       }
-      $export .= ctools_export_object('breakpoints', $breakpoint) . "\n";
-      $export .= '$breakpoints[] = $breakpoint;' . "\n\n";
+      $export .= $indent . '$breakpoints[] = \'' . $breakpoint->machine_name . '\';' . "\n";
     }
+    $export .= "\n";
   }
-  $export .= "/**\n * Breakpoint group.\n */\n";
-  $export .= ctools_export_object('breakpoint_group', $group);
+  $export .= $indent . "// Breakpoint group.\n";
+  $export .= ctools_export_object('breakpoint_group', $group, $indent);
   return $export;
 }
 
-- 
1.7.10.msysgit.1

