Check if theme is enabled programmatically
Use list_themes

Parameters


$refresh:
Whether to reload the list of themes from the database. Defaults to FALSE.

Return value


An associative array of the currently available themes. The keys are the
themes&#039; machine names and the values are objects having the following
properties:


filename: The filepath and name of the .info file.
name: The machine name of the theme.
status: 1 for enabled, 0 for disabled themes.
info: The contents of the .info file.
stylesheets: A two dimensional array, using the first key for the
media attribute (e.g. &#039;all&#039;), the second for the name of the file
(e.g. style.css). The value is a complete filepath (e.g.
themes/bartik/style.css). Not set if no stylesheets are defined in the
.info file.
scripts: An associative array of JavaScripts, using the filename as key
and the complete filepath as value. Not set if no scripts are defined in
the .info file.
prefix: The base theme engine prefix.
engine: The machine name of the theme engine.
base_theme: If this is a sub-theme, the machine name of the base theme
defined in the .info file. Otherwise, the element is not set.
base_themes: If this is a sub-theme, an associative array of the
base-theme ancestors of this theme, starting with this theme&#039;s base
theme, then the base theme&#039;s own base theme, etc. Each entry has an
array key equal to the theme&#039;s machine name, and a value equal to the
human-readable theme name; if a theme with matching machine name does
not exist in the system, the value will instead be NULL (and since the
system would not know whether that theme itself has a base theme, that
will end the array of base themes). This is not set if the theme is not
a sub-theme.
sub_themes: An associative array of themes on the system that are
either direct sub-themes (that is, they declare this theme to be
their base theme), direct sub-themes of sub-themes, etc. The keys are
the themes&#039; machine names, and the values are the themes&#039; human-readable
names. This element is not set if there are no themes on the system that
declare this theme as their base theme. 


Use path_to_theme to get active theme..


  It can point to the active theme or the module handling a themed
  implementation. For example, when invoked within the scope of a
  theming call it will depend on where the theming function is handled.
  If implemented from a module, it will point to the module. If
  implemented from the active theme, it will point to the active theme.
  When called outside the scope of a theming call, it will always point
  to the active theme.