? database/database.mysql.sbm ? database/database.pgsql.sbm ? database/updates.inc.sbm ? misc/Thumbs.db ? modules/block.module.sbm ? modules/contact.module.sbm ? modules/forum.module.sbm ? modules/help.module.sbm ? modules/system.module.sbm ? themes/bluemarine/Thumbs.db ? themes/pushbutton/Thumbs.db Index: database/database.mysql =================================================================== RCS file: /cvs/drupal/drupal/database/database.mysql,v retrieving revision 1.176 diff -u -r1.176 database.mysql --- database/database.mysql 11 Apr 2005 19:05:50 -0000 1.176 +++ database/database.mysql 11 Apr 2005 23:33:15 -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.112 diff -u -r1.112 database.pgsql --- database/database.pgsql 11 Apr 2005 19:05:50 -0000 1.112 +++ database/database.pgsql 11 Apr 2005 23:33:17 -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.104 diff -u -r1.104 updates.inc --- database/updates.inc 11 Apr 2005 19:05:51 -0000 1.104 +++ database/updates.inc 11 Apr 2005 23:36:17 -0000 @@ -106,7 +106,9 @@ "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-10" => "update_130" + "2005-04-11" => "update_131" ); function update_32() { @@ -2376,4 +2378,18 @@ return $ret; } +function update_131() { + $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 11 Apr 2005 23:37:06 -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('Please ensure each block description is unique.')); + 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; } /**