/**
 * Registers default File Gallery options when plugin is activated
 */
function _file_gallery_activate()
{
    global $file_gallery;
    file_gallery_plugins_loaded();
    file_gallery_after_setup_theme();
    file_gallery_do_settings();
    $defaults = $file_gallery->defaults;
    $options = get_option('file_gallery');
    // if options already exist, upgrade
    if ($options) {
        // preserve display options when upgrading from below 1.6.5.3
        if (!isset($options['display_acf'])) {
            if (isset($options['insert_options_states'])) {
                $states = explode(',', $options['insert_options_states']);
            } else {
                $states = array('1', '1');
            }
            if (isset($options['display_insert_fieldsets'])) {
                $display = $options['display_insert_fieldsets'];
            } else {
                $display = 1;
            }
            $defaults['insert_options_state'] = (int) $states[0];
            $defaults['insert_single_options_state'] = (int) $states[1];
            $defaults['acf_state'] = 1;
            $defaults['display_gallery_fieldset'] = $display;
            $defaults['display_single_fieldset'] = $display;
            $defaults['display_acf'] = 1;
        }
        $defaults = file_gallery_parse_args($options, $defaults);
        $defaults['folder'] = file_gallery_https(FILE_GALLERY_URL);
        $defaults['abspath'] = FILE_GALLERY_ABSPATH;
        $defaults['version'] = FILE_GALLERY_VERSION;
    } else {
        $defaults['show_on_post_type_post'] = 1;
        $defaults['show_on_post_type_page'] = 1;
    }
    update_option('file_gallery', $defaults);
    // clear any existing cache
    file_gallery_clear_cache();
}
/**
 * Registers each File Gallery setting to the media settings page
 *
 * @since 1.7
 */
function file_gallery_add_settings()
{
    global $file_gallery;
    file_gallery_do_settings();
    $settings = $file_gallery->settings;
    $options = get_option('file_gallery');
    foreach ($settings as $key => $val) {
        if ($val['display'] !== false) {
            $type = preg_replace("#[^a-z]#", '', $val['type']);
            if (!isset($val['values'])) {
                $val['values'] = 0;
            }
            if ($type == 'checkbox' || $type == 'select') {
                $values = $val['values'];
            } else {
                if ($type == 'textarea') {
                    $values = esc_textarea($values);
                } else {
                    $values = esc_attr($values);
                }
            }
            $disabled = 'disabled' === $val['display'] ? true : false;
            $section = $val['section'] ? $val['section'] : 'file_gallery_options';
            $args = array('name' => $key, 'type' => $type, 'current' => $options[$key], 'values' => $values, 'disabled' => $disabled);
            add_settings_field($key, $val['title'], 'file_gallery_options_fields', 'media', $section, $args);
        }
    }
}
/**
 * Registers each File Gallery setting to the media settings page
 *
 * @since 1.7
 */
function file_gallery_add_settings()
{
    global $file_gallery;
    file_gallery_do_settings();
    $settings = $file_gallery->settings;
    $options = get_option('file_gallery');
    foreach ($settings as $key => $val) {
        if (false !== $val['display']) {
            $name = $key;
            $type = $val['type'];
            $current = isset($options[$key]) ? "'" . $options[$key] . "'" : 0;
            $values = isset($val['values']) ? "'" . $val['values'] . "'" : 0;
            $disabled = 'disabled' === $val['display'] ? '1' : '0';
            $anon = "echo file_gallery_options_fields(\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t'name' => '" . $name . "',\n\t\t\t\t\t\t\t'type' => '" . $type . "',\n\t\t\t\t\t\t\t'current' => " . $current . ",\n\t\t\t\t\t\t\t'values' => " . $values . ",\n\t\t\t\t\t\t\t'disabled' => " . $disabled . "\n\t\t\t\t\t\t));";
            add_settings_field($key, $val['title'], create_function('', $anon), 'media', $val['section'] ? $val['section'] : 'file_gallery_options');
        }
    }
}
Example #4
0
/**
 * Registers each File Gallery setting to the media settings page
 *
 * @since 1.7
 */
function file_gallery_add_settings()
{
    global $file_gallery;
    file_gallery_do_settings();
    $settings = $file_gallery->settings;
    $options = get_option('file_gallery');
    foreach ($settings as $key => $val) {
        if (false !== $val['display']) {
            $type = preg_replace("#[^a-z]#", '', $val['type']);
            $current = !empty($options[$key]) ? str_replace("'", "\\'", $options[$key]) : '';
            $values = !empty($val['values']) ? str_replace("'", "\\'", $val['values']) : '';
            $disabled = 'disabled' === $val['display'] ? 1 : 0;
            $anon = "echo file_gallery_options_fields(\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t'name'     => '" . $key . "',\n\t\t\t\t\t\t\t'type'     => '" . $type . "',\n\t\t\t\t\t\t\t'current'  => '" . $current . "',\n\t\t\t\t\t\t\t'values'   => '" . $values . "',\n\t\t\t\t\t\t\t'disabled' => '" . $disabled . "'\n\t\t\t\t\t\t));";
            add_settings_field($key, $val['title'], create_function('', $anon), 'media', $val['section'] ? $val['section'] : 'file_gallery_options');
        }
    }
}