All pastes #9194 Raw Edit

Unnamed

public text v1 · immutable
#9194 ·published 2005-04-09 19:43 UTC
rendered paste body
Index: database/database.mysql
===================================================================
RCS file: /cvs/drupal/drupal/database/database.mysql,v
retrieving revision 1.175
diff -u -r1.175 database.mysql
--- database/database.mysql	8 Apr 2005 14:59:14 -0000	1.175
+++ database/database.mysql	9 Apr 2005 18:45:30 -0000
@@ -154,7 +154,6 @@
   info varchar(128) NOT NULL default '',
   format int(4) NOT NULL default '0',
   PRIMARY KEY (bid),
-  UNIQUE KEY title (title),
   UNIQUE KEY info (info)
 ) TYPE=MyISAM;
 
Index: database/database.pgsql
===================================================================
RCS file: /cvs/drupal/drupal/database/database.pgsql,v
retrieving revision 1.111
diff -u -r1.111 database.pgsql
--- database/database.pgsql	8 Apr 2005 14:59:14 -0000	1.111
+++ database/database.pgsql	9 Apr 2005 18:45:30 -0000
@@ -153,8 +153,7 @@
   info varchar(128) NOT NULL default '',
   format smallint NOT NULL default '0',
   PRIMARY KEY  (bid),
-  UNIQUE (info),
-  UNIQUE (title)
+  UNIQUE (info)
 );
 
 --
Index: database/updates.inc
===================================================================
RCS file: /cvs/drupal/drupal/database/updates.inc,v
retrieving revision 1.103
diff -u -r1.103 updates.inc
--- database/updates.inc	8 Apr 2005 14:59:14 -0000	1.103
+++ database/updates.inc	9 Apr 2005 19:21:20 -0000
@@ -105,7 +105,8 @@
   "2005-03-03" => "update_126",
   "2005-03-18" => "update_127",
   "2005-03-21" => "update_128",
-  "2005-04-08: first update since Drupal 4.6.0 release" => "update_129"
+  "2005-04-08: first update since Drupal 4.6.0 release" => "update_129",
+  "2005-04-09" => "update_130"
 );
 
 function update_32() {
@@ -2364,4 +2365,19 @@
   return $ret;
 }
 
+function update_130() {
+  $ret = array();
+
+  if ($GLOBALS['db_type'] == 'mysql') {
+    $ret[] = update_sql("ALTER TABLE {boxes} DROP INDEX title");
+    $ret[] = update_sql("ALTER TABLE {boxes} ADD INDEX title (title)");
+  }
+  elseif ($GLOBALS['db_type'] == 'pgsql') {
+    $ret[] = update_sql("DROP INDEX boxes_title_idx");;
+    $ret[] = update_sql("CREATE INDEX title ON {boxes} (title)");
+  }
+
+  return $ret;
+}
+
 ?>
Index: modules/block.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/block.module,v
retrieving revision 1.162
diff -u -r1.162 block.module
--- modules/block.module	4 Apr 2005 12:27:05 -0000	1.162
+++ modules/block.module	9 Apr 2005 19:31:30 -0000
@@ -312,12 +312,13 @@
 
   switch ($op) {
     case t('Save block'):
-      block_box_save($edit);
-      drupal_set_message(t('The new block has been added.'));
-      drupal_goto('admin/block');
-
+      if (block_box_save($edit)) {
+        drupal_set_message(t('The new block has been added.'));
+        drupal_goto('admin/block');
+      }
+      // deliberate no break
     default:
-      $form = block_box_form();
+      $form = block_box_form($edit);
       $form .= form_submit(t('Save block'));
       $output .= form($form);
   }
@@ -368,8 +369,13 @@
     db_query("UPDATE {boxes} SET title = '%s', body = '%s', info = '%s', format = %d WHERE bid = %d", $edit['title'], $edit['body'], $edit['info'], $edit['format'], $delta);
   }
   else {
+    if (empty($edit['info']) || db_num_rows(db_query("SELECT info FROM {boxes} WHERE info='%s'", $edit['info']))) {
+      form_set_error('title', t('You must enter unique data into the block description field.'));
+      return false;
+    }
     db_query("INSERT INTO {boxes} (title, body, info, format) VALUES  ('%s', '%s', '%s', %d)", $edit['title'], $edit['body'], $edit['info'], $edit['format']);
   }
+  return true;
 }
 
 /**