rows();
$max_blocks = $GLOBALS['injector']->getInstance('Horde_Core_Perms')->hasAppPermission('max_blocks');
list($current_row, $current_col) = $layout->getCurrentBlock();
$allow_add = ($max_blocks === true) || ($max_blocks > $layout->count());
$columns = 0;
for ($row = 0; $row < $rows; ++$row):
?>
columns($row);
if ($columns instanceof PEAR_Error) {
$columns = 0;
}
for ($col = 0; $col < $columns; ++$col):
$isEditing = ($current_row === $row && $current_col === $col);
$colspan = $layout->getWidth($row, $col);
if ($layout->isCovered($row, $col)):
?>