Well, I'm not sure how you're uppercasing tags right now so that you don't uppercase all of them. If I wanted to uppercase all of them I would do the following:
1. Look for qa_tag_html function in qa-app-format.php file
2. Replace the whole function with:
/*
Convert textual $tag to HTML representation, with microformats if
$microformats is true. Set $favorited to true to show the tag as favorited
*/
function qa_tag_html($tag, $microformats=false, $favorited=false) {
if (qa_to_override(__FUNCTION__)) { $args=func_get_args(); return qa_call_override(__FUNCTION__, $args); }
$uppercaseTag = function_exists('mb_strtoupper')
? mb_strtoupper($tag, 'UTF-8')
: strtoupper($tag);
return
'<a href="'.qa_path_html('tag/'.$uppercaseTag).'"'.
($microformats ? ' rel="tag"' : '').' class="qa-tag-link'.
($favorited ? ' qa-tag-favorited' : '').'">'.
qa_html($tag).'</a>';
}
This should uppercase only the URLs but leave the texts the way they come from the core... which if you haven't performed any core hack should come in lowercase.
In order to change the tags in the Tag Cloud widget plugin you need to change file qa-tag-cloud.php. Locate function output_widget and add the lines in green and remove the ones in red:
$uppercaseTag = function_exists('mb_strtoupper')
? mb_strtoupper($tag, 'UTF-8')
: strtoupper($tag);
if (($size>=5) || !$scale)
$themeobject->output('<a href="'.qa_path_html('tag/'.$tag).'" style="font-size:'.$size.'px; vertical-align:baseline;">'.qa_html($tag).'</a>');
$themeobject->output('<a href="'.qa_path_html('tag/'.$uppercaseTag).'" style="font-size:'.$size.'px; vertical-align:baseline;">'.qa_html($tag).'</a>');