Get list of content types using Widget API?

Hi all,

The short version...

I am looking for a Widget APi that will return a list of the content types and their type values (eg. "wiki", "forum", etc.).  My plan is to use these in a search query, eg. "solr AND type:forum".  The API call needs to include both OOTB and custom content types that are introduced via a plugin.

I have tried core_v2_search.SearchInList(), but it isn't quite right.  This returns some types, but also returns "user", "page", and other non-content types.  This method is only minimally documented, so I'm not exactly sure what it's purpose is.

I have also tried core_v2_searchCategory.List(), which seems to provide similar data as the last one.  Again, the documentation is pretty light, so I'm not sure about the purpose.

The longer version...

I have a widget where the admin can select the content types used in the filtering of search results.

I am currently using core_v2_contentTypeList control in the configuration panel to allow the admin to select the content types.

There are a few issues with this control that are going to prevent me from using it.

The issues I face with using this control is that...

  • If the admin select "All", the control value is set to "all".  Unfortunately I don't have a way to generate a list of content types from that.
  • Comment, Group, and Page are not content types
    • Even if I allow the user the option of Comment, there is no option for Forum Reply

Even if I configure this control to use strictContentTypes, it still isn't suitable, and brings up more questions as some content types get hidden.

Anyway, I would be extremely grateful with any help with identifying a way to identify the installed content types. 

Thanks.