This is a very simple patch to allow a center position for Moodle blocks
IMPORTANT: this patch is done for version 1.7 dev looking forward to be included in the next release. Make a backup of your current files before overwrite them or just merge this 3 files.
With this pacth the blocks can be moved to the center column over the sections area. Using the same arrow icons on edit mode, if you move left a block that is currently at the right position then it will move to the center position

Installation:
1/Upgrade your Moodle installation to 1.7 dev or later
2/Merge the files listed in the patch
CVS path for this contrib is: moodle.cvs.sourceforge.net/moodle/contrib/center_blocks_position_patch/
NOTE: All changes are comented in the form: //aartiles: comment
Files changes:
- /index.php
/// aartiles: Added a center blocks position
if (blocks_have_content($pageblocks, BLOCK_POS_CENTER) || $editing) {
blocks_print_group($PAGE, $pageblocks, BLOCK_POS_CENTER);
}
- /lib/blocklib.php
//aartiles: New block position BLOCK_POS_CENTER
define('BLOCK_POS_CENTER', 'c');
- /lib/pagelib.php
//aartiles: Added new block position BLOCK_POS_CENTER
function blocks_get_positions() {
return array(BLOCK_POS_LEFT, BLOCK_POS_RIGHT, BLOCK_POS_CENTER);
}
//aartiles: Changes done for complain with a center blocks position
function blocks_move_position(&$instance, $move) {
if($instance->position == BLOCK_POS_LEFT && $move == BLOCK_MOVE_RIGHT) {
return BLOCK_POS_CENTER;
} else if($instance->position == BLOCK_POS_CENTER && $move == BLOCK_MOVE_RIGHT) {
return BLOCK_POS_RIGHT;
} else if ($instance->position == BLOCK_POS_CENTER && $move == BLOCK_MOVE_LEFT) {
return BLOCK_POS_LEFT;
} else if ($instance->position == BLOCK_POS_RIGHT && $move == BLOCK_MOVE_LEFT) {
return BLOCK_POS_CENTER;
}
return $instance->position;
}
Hope this helps some bady.
Alfredo