Well, it isn't a particularly pretty solution, but it works. I suggest that you backup your 'smf_sp_blocks' table before trying it, as it changes the side ids.
You will also have to move some blocks around once the changes are made.
Essentially these edits mean that you have two new sides, top2 and bottom2. There will be a 'left' top and a 'right' top, so there are two columns in the top section instead of the one, same with the bottom section.
1) Upload the attached Portal.template.php file to your '/Themes/Default/' folder.
2) Edits for your Sources/Subs-Portal.php file.
$context['SPortal']['sides'] = array(
1 => array(
'id' => '1',
'name' => 'left',
'active' => !empty($modSettings['showleft']),
),
2 => array(
'id' => '2',
'name' => 'top',
'active' => true,
),
3 => array(
'id' => '3',
'name' => 'bottom',
'active' => true,
),
4 => array(
'id' => '4',
'name' => 'right',
'active' => !empty($modSettings['showright']),
),
);
$context['SPortal']['sides'] = array(
1 => array(
'id' => '1',
'name' => 'left',
'active' => !empty($modSettings['showleft']),
),
2 => array(
'id' => '2',
'name' => 'top',
'active' => true,
),
3 => array(
'id' => '5',
'name' => 'top2',
'active' => true,
),
4 => array(
'id' => '3',
'name' => 'bottom',
'active' => true,
),
5 => array(
'id' => '6',
'name' => 'bottom2',
'active' => true,
),
6 => array(
'id' => '4',
'name' => 'right',
'active' => !empty($modSettings['showright']),
),
);
3) Edits for your 'Sources/PortalAdminBlocks.template.php' file:
// We have 4 sides...
$context['sides'] = array(
'left' => array(
'id' => '1',
'name' => 'adminLeft',
'label' => $txt['sp-positionLeft'],
'help' => 'sp-blocksLeftList',
),
'top' => array(
'id' => '2',
'name' => 'adminTop',
'label' => $txt['sp-positionTop'],
'help' => 'sp-blocksTopList',
),
'bottom' => array(
'id' => '3',
'name' => 'adminBottom',
'label' => $txt['sp-positionBottom'],
'help' => 'sp-blocksBottomList',
),
'right' => array(
'id' => '4',
'name' => 'adminRight',
'label' => $txt['sp-positionRight'],
'help' => 'sp-blocksRightList',
),
);
// We have 4 sides...
$context['sides'] = array(
'left' => array(
'id' => '1',
'name' => 'adminLeft',
'label' => $txt['sp-positionLeft'],
'help' => 'sp-blocksLeftList',
),
'top' => array(
'id' => '2',
'name' => 'adminTop',
'label' => $txt['sp-positionTop'] . ' ' . $txt['sp-positionLeft'],
'help' => 'sp-blocksTopList',
),
'top2' => array(
'id' => '3',
'name' => 'adminTop2',
'label' => $txt['sp-positionTop'] . ' ' . $txt['sp-positionRight'],
'help' => 'sp-blocksTopList',
),
'bottom' => array(
'id' => '4',
'name' => 'adminBottom',
'label' => $txt['sp-positionBottom'] . ' ' . $txt['sp-positionLeft'],
'help' => 'sp-blocksBottomList',
),
'bot2' => array(
'id' => '5',
'name' => 'adminBottom2',
'label' => $txt['sp-positionBottom'] . ' ' . $txt['sp-positionRight'],
'help' => 'sp-blocksBottomList',
),
'right' => array(
'id' => '6',
'name' => 'adminRight',
'label' => $txt['sp-positionRight'],
'help' => 'sp-blocksRightList',
),
);
if ($to < 1 || $to > 4)
if ($to < 1 || $to > 6)
$sides = array(1 => 'left', 2 => 'top', 3 => 'bottom', 4 => 'right');
$sides = array(1 => 'left', 2 => 'top', 3 => 'top2', 4 => 'bottom', 5 => 'bottom2', 6 => 'right');
4) Make these edits to your 'Themes/default/PortalAdminBlocks.template.php' file.
<td class="sp_center">', $side['id'] != 1 ? $block['moveleft'] : '', $block['row'] != 1 ? $block['moveup'] : '', $block['row'] != count($context['blocks'][$side['name']]) ? $block['movedown'] : '', $side['id'] != 4 ? $block['moveright'] : '', '</td>
<td class="sp_center">', $side['id'] != 1 ? $block['moveleft'] : '', $block['row'] != 1 ? $block['moveup'] : '', $block['row'] != count($context['blocks'][$side['name']]) ? $block['movedown'] : '', $side['id'] != 6 ? $block['moveright'] : '', '</td>