<?php
/**
* Sidebar Metabox.
*
* @package OTT Vlogger
*/

$ott_vlogger_post_sidebar_fields = array(
    'global-sidebar' => array(
        'id'        => 'post-global-sidebar',
        'value' => 'global-sidebar',
        'label' => esc_html__( 'Global sidebar', 'ott-vlogger' ),
    ),
    'right-sidebar' => array(
        'id'        => 'post-left-sidebar',
        'value' => 'right-sidebar',
        'label' => esc_html__( 'Right sidebar', 'ott-vlogger' ),
    ),
    'left-sidebar' => array(
        'id'        => 'post-right-sidebar',
        'value'     => 'left-sidebar',
        'label'     => esc_html__( 'Left sidebar', 'ott-vlogger' ),
    ),
    'no-sidebar' => array(
        'id'        => 'post-no-sidebar',
        'value'     => 'no-sidebar',
        'label'     => esc_html__( 'No sidebar', 'ott-vlogger' ),
    ),
);

function ott_vlogger_category_add_form_fields_callback() {
    $image_id = null; ?>
    <div id="category_custom_image"></div>
    <input type="hidden" id="category_custom_image_url" name="category_custom_image_url">
    <div style="margin-bottom: 20px;">
        <span><?php esc_html_e('Category Image','ott-vlogger'); ?></span>
        <a href="#" class="button custom-button-upload" id="custom-button-upload"><?php esc_html_e('Upload Image','ott-vlogger'); ?></a>
        <a href="#" class="button custom-button-remove" id="custom-button-remove" style="display: none"><?php esc_html_e('Remove Image','ott-vlogger'); ?></a>
    </div>
    <?php 
}
add_action( 'category_add_form_fields', 'ott_vlogger_category_add_form_fields_callback' );

function ott_vlogger_custom_create_term_callback($ott_vlogger_term_id) {
    // add term meta data
    add_term_meta(
        $ott_vlogger_term_id,
        'term_image',
        esc_url($_REQUEST['category_custom_image_url'])
    );
}
add_action( 'create_term', 'ott_vlogger_custom_create_term_callback' );

function ott_vlogger_category_edit_form_fields_callback($ttObj, $taxonomy) {
    $ott_vlogger_term_id = $ttObj->term_id;
    $ott_vlogger_image = '';
    $ott_vlogger_image = get_term_meta( $ott_vlogger_term_id, 'term_image', true ); ?>
    <tr class="form-field term-image-wrap">
        <th scope="row"><label for="image"><?php esc_html_e('Image','ott-vlogger'); ?></label></th>
        <td>
        <?php if ( $ott_vlogger_image ): ?>
            <span id="category_custom_image">
               <img src="<?php echo $ott_vlogger_image; ?>" style="width: 100%"/>
            </span>
            <input type="hidden" id="category_custom_image_url" name="category_custom_image_url">
            <span>
                <a href="#" class="button custom-button-upload" id="custom-button-upload" style="display: none"><?php esc_html_e('Upload Image','ott-vlogger'); ?></a>
                <a href="#" class="button custom-button-remove"><?php esc_html_e('Remove Image','ott-vlogger'); ?></a>                    
            </span>
        <?php else: ?>
            <span id="category_custom_image"></span>
            <input type="hidden" id="category_custom_image_url" name="category_custom_image_url">
            <span>
               <a href="#" class="button custom-button-upload" id="custom-button-upload"><?php esc_html_e('Upload Image','ott-vlogger'); ?></a>
               <a href="#" class="button custom-button-remove" style="display: none"><?php esc_html_e('Remove Image','ott-vlogger'); ?></a>
            </span>
            <?php endif; ?>
        </td>
    </tr>
    <?php
}
add_action ( 'category_edit_form_fields', 'ott_vlogger_category_edit_form_fields_callback', 10, 2 );

function ott_vlogger_edit_term_callback($ott_vlogger_term_id) {
    $ott_vlogger_image = '';
    $ott_vlogger_image = get_term_meta( $ott_vlogger_term_id, 'term_image' );
    if ( $ott_vlogger_image )
    update_term_meta( 
        $ott_vlogger_term_id, 
        'term_image', 
        esc_url( $_POST['category_custom_image_url']) );
    else
    add_term_meta( 
        $ott_vlogger_term_id, 
        'term_image', 
        esc_url( $_POST['category_custom_image_url']) );
}
add_action( 'edit_term', 'ott_vlogger_edit_term_callback' );