示例#1
0
 /**
  * Update settings
  *
  * @return void
  */
 function update_settings()
 {
     if (empty($_GET['page']) || 'd-settings' != $_GET['page'] || 'POST' != $_SERVER['REQUEST_METHOD']) {
         return;
     }
     $settings = settings_list();
     $new_settings = array();
     foreach ($settings as $setting) {
         $value = empty($_POST[$setting['name']]) ? '' : $_POST[$setting['name']];
         if (!empty($setting['type']) && 'checkbox' == $setting['type']) {
             $value = $value ? 1 : 0;
         }
         $new_settings[$setting['name']] = $value;
     }
     update_option('d-settings', $new_settings);
 }
示例#2
0
<h3><?php 
_e('Settings Manager', 'ds');
?>
</h3>

<form method="post" action="">

	<?php 
$settings = settings_list();
foreach ($settings as $setting) {
    $title = $setting['title'];
    $name = $setting['name'];
    $tooltip = empty($setting['tooltip']) ? '' : $setting['tooltip'];
    $class = empty($setting['class']) ? '' : $setting['class'];
    switch ($setting['type']) {
        case 'textarea':
            DS_Form::textarea($title, $name, $tooltip, $class, empty($setting['row']) ? 5 : $setting['row']);
            break;
        case 'text':
            DS_Form::text($title, $name, $tooltip, $class);
            break;
        case 'number':
            DS_Form::number($title, $name, $tooltip, $class, empty($setting['min']) ? 0 : $setting['min'], empty($setting['max']) ? 100 : $setting['max']);
            break;
        case 'checkbox':
            DS_Form::checkbox($title, $name, $tooltip, $class);
            break;
        case 'select':
            DS_Form::select($title, $name, $setting['data'], $tooltip, $class);
            break;
    }