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; } /**