Hide and show logo based on user role
I'd suggest checking against a permission, rather than an entire role.

In your custom module, add:

function mymodule_permission() {
    return array(
        'view site logo' =&gt; array(
            'title' =&gt; t('View Site Logo'), 
            'description' =&gt; t('Allows a user to view the site logo'),
        ),
    );
}


And in your theme's template.php page preprocessor, add:

if(!user_access("view site logo")) {
    $variables['logo'] = "";
}


This way, $logo will not be processed in page.tpl.php for a user without the permission.