/**
 * Callback for get_settings_field()
 */
function sell_media_plugin_setting_callback($option)
{
    $sell_media_options = (array) sell_media_get_plugin_options();
    $option_parameters = sell_media_get_plugin_option_parameters();
    $optionname = $option['name'];
    $optiontitle = $option['title'];
    $optiondescription = $option['description'];
    $fieldtype = $option['type'];
    $fieldname = sell_media_get_current_plugin_id() . "_options[ { {$optionname} } ]";
    $attr = $option_parameters[$option['name']];
    $value = $sell_media_options[$optionname];
    //Determine the type of input field
    switch ($fieldtype) {
        //Render Text Input
        case 'text':
            sell_media_plugin_field_text($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render Password Input
        //Render Password Input
        case 'password':
            sell_media_plugin_field_password($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render textarea options
        //Render textarea options
        case 'textarea':
            sell_media_plugin_field_textarea($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render select dropdowns
        //Render select dropdowns
        case 'select':
            sell_media_plugin_field_select($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render radio dropdowns
        //Render radio dropdowns
        case 'radio':
            sell_media_plugin_field_radio($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render radio image dropdowns
        //Render radio image dropdowns
        case 'radio_image':
            sell_media_plugin_field_radio_image($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render checkboxes
        //Render checkboxes
        case 'checkbox':
            sell_media_plugin_field_checkbox($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render color picker
        //Render color picker
        case 'color':
            sell_media_plugin_field_color($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render uploaded image
        //Render uploaded image
        case 'image':
            sell_media_plugin_field_image($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render uploaded gallery
        //Render uploaded gallery
        case 'gallery':
            sell_media_plugin_field_gallery($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
            //Render uploaded gallery
        //Render uploaded gallery
        case 'html':
            sell_media_plugin_field_html($value, $attr);
            echo '<span class="option-description">' . $option['description'] . '</span>';
            break;
        default:
            break;
    }
}
Example #2
0
/**
 * Separate settings by tab
 *
 * Returns an array of tabs, each of
 * which is an indexed array of settings
 * included with the specified tab.
 *
 * @uses    sell_media_get_plugin_option_parameters() defined in \functions\options.php
 *
 * @return  array   $settingsbytab  array of arrays of settings by tab
 */
function sell_media_get_plugin_settings_by_tab()
{
    global $sell_media_plugin_tabs;
    // Initialize an array to hold
    // an indexed array of tabnames
    $settingsbytab = array();
    // Loop through the array of tabs
    foreach ($sell_media_plugin_tabs as $tab) {
        $tabname = $tab['name'];
        // Add an indexed array key
        // to the settings-by-tab
        // array for each tab name
        $tabs[] = $tabname;
    }
    // Get the array of option parameters
    $option_parameters = sell_media_get_plugin_option_parameters();
    // Loop through the option parameters
    // array
    foreach ($option_parameters as $option_parameter) {
        // Ignore "internal" type options
        if (in_array($option_parameter['tab'], $tabs)) {
            $optiontab = $option_parameter['tab'];
            $optionname = $option_parameter['name'];
            // Add an indexed array key to the
            // settings-by-tab array for each
            // setting associated with each tab
            $settingsbytab[$optiontab][] = $optionname;
        }
    }
    // Return the settings-by-tab
    // array
    return $settingsbytab;
}