addBehavior('initWidgets',array('adminArlequin','initWidgets'));
class adminArlequin
{
public static function initWidgets($w)
{
$w->create('arlequin',__('Arlequin'),array('publicArlequinInterface','arlequinWidget'),
null,
__('Theme switcher'));
$w->arlequin->setting('title',__('Title:'),__('Choose a theme'));
$w->arlequin->setting('homeonly',__('Display on:'),0,'combo',
array(
__('All pages') => 0,
__('Home page only') => 1,
__('Except on home page') => 2
)
);
$w->arlequin->setting('content_only',__('Content only'),0,'check');
$w->arlequin->setting('class',__('CSS class:'),'');
$w->arlequin->setting('offline',__('Offline'),0,'check');
}
public static function getDefaults()
{
return array(
'e_html'=>'
%4$s',
'a_html'=>'%4$s',
's_html'=>'');
}
public static function loadSettings($settings,&$initialized)
{
global $core;
$initialized = false;
$mt_cfg = @unserialize($settings->multitheme->get('mt_cfg'));
$mt_exclude = $settings->multitheme->get('mt_exclude');
// Paramètres corrompus ou inexistants
if ($mt_cfg === false ||
$mt_exclude === null ||
!(isset($mt_cfg['e_html']) &&
isset($mt_cfg['a_html']) &&
isset($mt_cfg['s_html'])))
{
$mt_cfg = adminArlequin::getDefaults();
$settings->addNameSpace('multitheme');
$settings->multitheme->put('mt_cfg',serialize($mt_cfg),'string','Arlequin configuration');
$settings->multitheme->put('mt_exclude','customCSS','string','Excluded themes');
$initialized = true;
$core->blog->triggerBlog();
}
return array($mt_cfg,$mt_exclude);
}
}