? droplet.patch
Index: droplet.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mysite/plugins/types/droplet.inc,v
retrieving revision 1.20
diff -u -p -r1.20 droplet.inc
--- droplet.inc	20 Jan 2008 16:57:32 -0000	1.20
+++ droplet.inc	16 Feb 2008 20:34:34 -0000
@@ -227,34 +227,51 @@ function mysite_type_droplet_settings() 
     while ($data = db_fetch_object($result)) {
       $type =  mysite_type_droplet_type($data->type_key);
       $type_key = mysite_type_droplet_key($data->type_key);
+      $display = TRUE;
       switch ($type) {
         case 'view':
           $title = db_result(db_query("SELECT name FROM {view_view} WHERE vid = %d", $type_key));
-          $original = l($title, 'admin/build/views/edit/'. $type_key);
+          if ($title) {
+            $original = l($title, 'admin/build/views/edit/'. $type_key);
+          }
+          else {
+            drupal_set_message(t('%title view no longer exists and has been removed from your Droplets.', array('%title' => $data->title)));
+            db_query("DELETE FROM {mysite_content} WHERE myid = %d", $data->myid);
+            $display = FALSE;          
+          }
           break;
         case 'block':
           $info = explode('|', $type_key);
           $func = $info[0] .'_block';
-          $block = $func('list');
-          $original = l($block[$info[1]]['info'], 'admin/build/block/configure/'. implode('/', $info));        
+          if (function_exists($func)) {
+            $block = $func('list');
+            $original = l($block[$info[1]]['info'], 'admin/build/block/configure/'. implode('/', $info));        
+          }  
+          else {
+            drupal_set_message(t('%title block no longer exists and has been removed from your Droplets.', array('%title' => $data->title)));
+            db_query("DELETE FROM {mysite_content} WHERE myid = %d", $data->myid);
+            $display = FALSE;
+          }
           break;
         default:
           $key = '';
           break;
       }
-      $row = array(check_plain($data->title), $type, l('edit', 'admin/settings/mysite/type/droplet/'. $data->myid) .' | '. l('delete', 'admin/settings/mysite/type/droplet/delete/'. $data->myid), $original);    
-      if ($use_icons) {
-        $icon = mysite_icon_lookup('droplet', $data->myid);
-        if ($icon->iid) {
-          $icon_links =  l(t('change'), 'admin/settings/mysite/icons/change/'. $icon->iid) .' | '. l(t('delete'), 'admin/settings/mysite/icons/delete/'. $icon->iid);
+      if ($display) {
+        $row = array(check_plain($data->title), $type, l('edit', 'admin/settings/mysite/type/droplet/'. $data->myid) .' | '. l('delete', 'admin/settings/mysite/type/droplet/delete/'. $data->myid), $original);    
+        if ($use_icons) {
+          $icon = mysite_icon_lookup('droplet', $data->myid);
+          if ($icon->iid) {
+            $icon_links =  l(t('change'), 'admin/settings/mysite/icons/change/'. $icon->iid) .' | '. l(t('delete'), 'admin/settings/mysite/icons/delete/'. $icon->iid);
+          }
+          else {
+            $icon_links =  l(t('add icon'), 'admin/settings/mysite/icons/add/droplet/'. $data->myid);
+          }
+          $row[] = $icon_links;
         }
-        else {
-          $icon_links =  l(t('add icon'), 'admin/settings/mysite/icons/add/droplet/'. $data->myid);
-        }
-        $row[] = $icon_links;
-      }
-      $rows[] = $row;
-      $omit[] = mysite_type_droplet_type($data->type_key) .':'. mysite_type_droplet_key($data->type_key);
+        $rows[] = $row;
+        $omit[] = mysite_type_droplet_type($data->type_key) .':'. mysite_type_droplet_key($data->type_key);
+      }  
     }
     $output = t('<h3>Create New Droplet</h3>');
     $output .= '<ul>';
@@ -668,4 +685,4 @@ function mysite_type_droplet_view_conten
   $view = views_load_view($droplet->key);
   $output = views_build_view('embed', $view, $args, $view->use_pager, $view->nodes_per_page);
   return $output;
-}
\ No newline at end of file
+}
Index: profile.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mysite/plugins/types/profile.inc,v
retrieving revision 1.16
diff -u -p -r1.16 profile.inc
--- profile.inc	13 Feb 2008 01:27:07 -0000	1.16
+++ profile.inc	16 Feb 2008 20:34:34 -0000
@@ -179,7 +179,7 @@ function mysite_type_profile_settings_fo
     $form['mysite_settings_form'] = array('#value' => t('Select the profile elements that will display by default on a user MySite page.  Users may edit these settings when they configure their MySite profile element.'));
     $extra = mysite_type_profile_form_items($default, $data);
     $form['mysite_settings_form'] = array_merge($form['mysite_settings_form'], $extra);
-    $form['mysite_profile_settings']['submit'] = array('#type' => 'submit', '#value' => t('Save settings'));
+    $form['mysite_profile_settings']['submit'] = array('#type' => 'submit', '#value' => t('Save configuration'));
     $form['mysite_profile_settings']['reset'] = array('#type' => 'submit', '#value' => t('Reset to defaults'));  
   }
   return $form;     
@@ -473,4 +473,4 @@ function theme_mysite_type_profile_anony
   $output .= '<p>'. l(t('Login to your account'), 'user/login') .'</p>';
   $output .= '<p>'. l(t('Sign up for an account'), 'user/register') .'</p>';  
   return $output;
-}
\ No newline at end of file
+}
