<?php
/**
 * 
 *
 * @author Nita
 */
require_once RC_PLUGIN_DIR . '/inc/class-rucy-component.php';

class Class_Rucy_Setting {
    private $options;
    //
    public function set_admin_menu() {
        add_options_page( 'Rucy', 'Rucy', 'manage_options', 'rucy', array( $this, 'add_setting_menu') );
    }
    
    public function setting_init() {
        register_setting( 'rucy_setting', RC_SETTING_OPTION_KEY );
        add_settings_section( 'rucy_setting', '', '', 'rucy');
        add_settings_field("rc-post-types", __( 'post type', RC_TXT_DOMAIN ), array($this, 'get_rc_setting_fields'), 'rucy', 'rucy_setting');
    }
    
    public function add_setting_menu() {
        $component = new Class_Rucy_Component();
        // update post
        $post_support_posts = ( isset($_POST['rc_support_post_types']) ) ? $_POST['rc_support_post_types'] : array();
        $is_update = $component->update_support_post_type( $post_support_posts );
        if ( $is_update ) {
            add_settings_error( 'rucy', 'update', __( 'Success to setting update.', RC_TXT_DOMAIN ), 'updated');
        } else {
            // 更新失敗
        }
        $this->options = $component->get_support_post_type();
        wp_safe_redirect( menu_page_url( 'rucy', false ) );
?>
<div class="wrap">
    <h2><?php _e( 'Rucy Settings', RC_TXT_DOMAIN ); ?></h2>
    <?php 
    if ( get_settings_errors( 'rucy' ) ) {
        settings_errors( 'rucy' );
    }
    ?>
    <p><?php _e( 'Configure content types reservation update.', RC_TXT_DOMAIN ); ?></p>
    <div class="rc-donation">
        <p><?php _e( 'Your contribution will continue to better this plugin.', RC_TXT_DOMAIN ); ?> <a href="http://www.amazon.co.jp/registry/wishlist/27FDI6LJU0X1O" class="button"><?php _e( 'Donate', RC_TXT_DOMAIN ); ?></a></p>
    </div>
    <form method="post" action="options-general.php?page=rucy">
        <?php 
        settings_fields('rucy');
        do_settings_sections('rucy');
        submit_button();
        ?>
    </form>
</div>
<?php 
    }
    
    public function get_rc_setting_fields() {
        $component = new Class_Rucy_Component();
        $post_types = $component->get_post_types();
        $support_post_type = $component->get_support_post_type();
?>
<ul id="rc-post-types">
    <?php foreach ( $post_types as $key => $post_type ) { 
        $checked = ( in_array( $key, $support_post_type ) ) ? 'checked' : '';
        ?>
    <li><label for="rc_<?php echo $key; ?>"><input type="checkbox" id="rc_<?php echo $key; ?>" name="rc_support_post_types[]" value="<?php echo $key; ?>" <?php echo $checked; ?> /><?php echo $post_type->labels->name; ?></label></li>
    <?php }  ?>
</ul>
<?php
    }
}