Habilite um tema Drupal de um módulo personalizado

Às vezes, é necessário habilitar um tema programaticamente de um módulo sem precisar fazer isso manualmente o tempo todo, então, para fazer isso, usei a função hook_init () para obter uma lista de todos os temas no Drupal que contém todas as informações dos temas .

Então estou usando o nome do tema (aquele no arquivo .info) e depois de verificar se o status está desabilitado chamo a função de habilitação do tema e passo um array com o nome do tema que desejo habilitar. A função de habilitação de tema aceita uma variedade de nomes de tema, portanto, você pode habilitar vários temas de uma vez.

function mymodule_init()
{
$themes
= list_themes(); //Get all the available themes
if($themes['mythemename']->status == 0)
{
//if mythemename status is 0 i.e. disabled
theme_enable
(array('mythemename')); //enable theme
}
}