*** Untested ***
Hookname: threadfpdata_presave
PHP Code:
$this->thread['title'] = ucfirst($this->thread['title']);
$this->post['title'] = ucfirst($this->post['title']);
Hookname: postdata_presave
PHP Code:
if ($this->existing['postid'] == $this->info['thread']['firstpostid'])
{
$this->post['title'] = ucfirst($this->post['title']);
}
Hookname: threaddata_presave
PHP Code:
$this->thread['title'] = ucfirst($this->thread['title']);
This should take care of Thread Titles, no matter where they are being set/edited.