Plugin Directory

Changeset 1385644


Ignore:
Timestamp:
04/03/2016 02:30:49 PM (10 years ago)
Author:
derekheld
Message:

Added default upload option, made sure to register all existing settings. Removed unnecessary call to settings_fields

File:
1 edited

Legend:

Unmodified
Added
Removed
  • blue-storage/branches/2.0.0/class-blue-storage-settings.php

    r1385642 r1385644  
    1717    public static $MenuSlug = 'blue-storage';
    1818    public static $AzureAccountSettingsGroup = 'azure-account-group';
    19     public static $AzureAccountSettingsTitle = 'Azure Storage Account';
     19    public static $AzureAccountSettingsTitle = 'Azure Storage Account Settings';
     20    public static $BlueStorageSettingsGroup = 'blue-storage-group';
     21    public static $BlueStorageSettingsTitle = 'Plugin Options';
    2022    public static $PluginOptionsPage = 'plugin-options-page';
    2123    public static $StorageAccountNameSlug = 'azure_storage_account_name';
    2224    public static $StorageAccountKeySlug = 'azure_storage_account_primary_access_key';
    2325    public static $StorageAccountContainerSlug = 'default_azure_storage_account_container_name';
     26    public static $AzureAsDefaultUploadSlug = 'azure_storage_use_for_default_upload';
    2427
    2528    public static function init()
     
    3740    {
    3841        echo '<form method="post" action="options.php">';
    39         settings_fields(self::$AzureAccountSettingsGroup);
    4042        do_settings_sections(self::$PluginOptionsPage);
    4143        submit_button();
     
    4749        //Create settings group
    4850        add_settings_section( self::$AzureAccountSettingsGroup, self::$AzureAccountSettingsTitle, array(get_called_class(), 'account_settings_callback'), self::$PluginOptionsPage );
     51        add_settings_section( self::$BlueStorageSettingsGroup, self::$BlueStorageSettingsTitle, array(get_called_class(), 'plugin_settings_callback'), self::$PluginOptionsPage );
    4952
    5053        //Create all the settings
     
    5255        add_settings_field( self::$StorageAccountKeySlug, 'Private Access Key', array(get_called_class(), 'text_input_callback'), self::$PluginOptionsPage, self::$AzureAccountSettingsGroup, array( 'slug' => self::$StorageAccountKeySlug) );
    5356        add_settings_field( self::$StorageAccountContainerSlug, 'Selected Container', array(get_called_class(), 'text_input_callback'), self::$PluginOptionsPage, self::$AzureAccountSettingsGroup, array( 'slug' => self::$StorageAccountContainerSlug) );
     57        add_settings_field( self::$AzureAsDefaultUploadSlug, 'Use Azure Storage by default', array(get_called_class(), 'checkbox_input_callback'), self::$PluginOptionsPage, self::$BlueStorageSettingsGroup, array( 'slug' => self::$AzureAsDefaultUploadSlug) );
    5458
    5559        //Now register all the settings
    5660        register_setting( self::$AzureAccountSettingsGroup, self::$StorageAccountNameSlug );
     61        register_setting( self::$AzureAccountSettingsGroup, self::$StorageAccountKeySlug );
     62        register_setting( self::$AzureAccountSettingsGroup, self::$StorageAccountContainerSlug );
     63        register_setting( self::$BlueStorageSettingsGroup, self::$AzureAsDefaultUploadSlug );
    5764    }
    5865
    5966    public static function account_settings_callback()
    6067    {
    61         echo '<p>Azure Storage Account</p>';
     68        echo '<p>Required settings for connecting your WordPress site to Azure Storage</p>';
     69    }
     70
     71    public static function plugin_settings_callback()
     72    {
     73        echo '<p>These options controls how Blue Storage works within your WordPress site</p>';
    6274    }
    6375
    6476    public static function text_input_callback( $args )
    6577    {
    66         echo '<input name="'.$args['slug'].'" id="'.$args['slug'].'" type="text" class="setting" value="' . get_option( $args['slug'] ) . '" />';
     78        echo '<input name="'.$args['slug'].'" id="'.$args['slug'].'" type="text" class="setting" value="'.get_option( $args['slug'] ).'" />';
     79    }
     80
     81    public static function checkbox_input_callback( $args )
     82    {
     83        $checked = get_option( $args['slug'] ) ? 'checked="checked" ' : '';
     84        echo '<input name="'.$args['slug'].'" id="'.$args['slug'].'" type="checkbox" class="setting" value="1" '.$checked.' />';
    6785    }
    6886}
Note: See TracChangeset for help on using the changeset viewer.