';
if($cfg['desc']){
echo '
'.$cfg['desc'];
}
}
function SDIDTM_admin_checkbox_field( $cfg ) {
$style = '';
if($cfg['style']){
$style = ' style="'.$cfg['style'].'"';
}
$checked = '';
if($cfg['value'] == 1 || $cfg['value'] == '1' || $cfg['value'] === true || $cfg['value'] == 'on'){
$checked = ' checked="checked"';
}
echo '';
if($cfg['desc']){
echo ' ';
}
}
function SDIDTM_admin_label( $args ){
return '';
}
function SDIDTM_sanitize_options( $inputs ){
foreach($inputs as $name=>$value){
if( isset( $inputs[$name])){
$newvalue = $inputs[$name];
}
else {
$newvalue = '';
}
if(substr($name, 0, 8) == 'include-'){
$inputs[$name] = true;
}
else {
$inputs[$name] = $newvalue;
}
}
return $inputs;
}
function SDIDTM_admin_init() {
global $dtm;
$config = SDIDTM_get_options('config');
register_setting( $dtm['slug'], 'sdidtm-options', 'SDIDTM_sanitize_options' );
add_settings_section(
'config',
__( 'DTM Configuration
' ),
'SDIDTM_admin_desc',
$dtm['slug']
);
foreach($config as $cfg){
add_settings_field(
$cfg['name'],
__(SDIDTM_admin_label($cfg) ),
'SDIDTM_admin_'.$cfg['type'].'_field',
$dtm['slug'],
'config',
$cfg
);
}
$dataLayer = SDIDTM_get_options('dataLayer');
add_settings_section(
'dataLayer',
__( 'Data Layer Configuration
' ),
'SDIDTM_admin_desc',
$dtm['slug']
);
foreach($dataLayer as $dl){
add_settings_field(
'include-'.$dl['name'],
__(SDIDTM_admin_label($dl) ),
'SDIDTM_admin_'.$dl['type'].'_field',
$dtm['slug'],
'dataLayer',
$dl
);
}
$disable = SDIDTM_get_options('disable');
add_settings_section(
'disable',
__( 'Disable DTM for Logged In Users
' ),
'SDIDTM_admin_desc',
$dtm['slug']
);
foreach($disable as $ds){
add_settings_field(
'disable-'.$ds['name'],
__(SDIDTM_admin_label($ds) ),
'SDIDTM_admin_checkbox_field',
$dtm['slug'],
'disable',
$ds
);
}
$credits = SDIDTM_get_options('credits');
add_settings_section(
'credits',
__( 'Credits
' ),
'SDIDTM_admin_desc',
$dtm['slug']
);
add_settings_field(
'credits',
__( 'Author' ),
'SDIDTM_admin_desc',
$dtm['slug'],
'credits',
$credits
);
}
function SDIDTM_show_admin_page() {
global $sdidtm_url, $dtm, $dtmSaved;
SDIDTM_get_options('config');
?>