use block_load to load the same block with parameters?
Based on what you've explained above, a custom module is required (I called mine MODULE) and you will have your hook_block info() which will declare the block:

function MODULE_block_info()
{
    $blocks = array();

    $blocks["userinfo_Block"] = array(
        "info" =&gt; t("User Info Block"),
    );

    return $blocks;
}


And hook_block_view() which will define the block. Below I have set the block content to the return value of the function userinfo_Block():

function MODULE_block_view($delta = "")
{
    $block = array();

    switch ($delta)
    {
        case "userinfo_Block":
            $block["content"] = userinfo_Block();
            break;
    }

    return $block;
}


Now, the function that creates the block:

function userinfo_Block()
{
    global $user;
//print out user, remember to check for no user
print_r($user);
}