<?php
function phptemplate_preprocess_block(&$vars) {
if (isset($vars['block'])) {
if($vars['block']->module == 'user') {
global $user;
if (!$user->uid && !(arg(0) == 'user' && !is_numeric(arg(1)))) {
$vars['block']->subject = t('User login');
$vars['block']->content = drupal_get_form('user_login_block');
}
else if($user->uid){
$vars['block']->subject = t('Subject');
$vars['block']->content = someotherfunction();
}
}
}
}
That should work.
Here is more info: how to override $block->content in drupal?