Your IP : 216.73.216.95


Current Path : /var/www/spmeat/wp-content/plugins/wpgetapi/includes/
Upload File :
Current File : /var/www/spmeat/wp-content/plugins/wpgetapi/includes/functions.php

<?php

/*
 * Pretty print when debugging is enabled in options
 */
if (!function_exists('wpgetapi_pp')) {
    function wpgetapi_pp( $array ) {
        echo '<pre style="white-space:pre-wrap;">';
            print_r( $array );
        echo '</pre>' . "\n";
    }
}


/**
 * Dropdown options for results_format
 * It is set up this way so we can easily add the filter to be able to add extra format options
 * 
 */
function wpgetapi_results_format_options( $field ) {
    $options = apply_filters( 'wpgetapi_results_format_options', array(
        'json_string' => __( 'JSON string', 'wpgetapi' ),
        'json_decoded' => __( 'PHP array data', 'wpgetapi' ),
    ) );
    return $options;
}


/**
 * Recursive sanitation for text or array
 * 
 * @param $array_or_string (array|string)
 * @since  1.0.0
 * @return mixed
 */
function wpgetapi_sanitize_text_or_array($array_or_string) {
    if( is_string($array_or_string) ){
        $array_or_string = sanitize_text_field($array_or_string);
    }elseif( is_array($array_or_string) ){
        foreach ( $array_or_string as $key => &$value ) {
            if ( is_array( $value ) ) {
                $value = wpgetapi_sanitize_text_or_array($value);
            }
            else {
                $value = sanitize_text_field( $value );
            }
        }
    }

    return $array_or_string;
}


/**
 * wpgetapi_output_endpoint_test_area
 * 
 */
function wpgetapi_output_top_of_endpoint( $field_args, $field ) {

    ob_start();

    $test_disabled = true;

    if( $field->value )
        $test_disabled = false;

    ?>

    <pre class="functions">
        <div class="wrapper"><div>Template Tag:</div> </span><span class="wpgetapi-template-tag wpgetapi-copy">wpgetapi_endpoint( '<?php esc_html_e( $field->args['api_id'] ); ?>', '<span class='endpoint_id'></span>', array('debug' => false) );</span> <span title="Copy Template Tag" class="copy-this dashicons dashicons-admin-page"></span></div>
        <div class="wrapper"><div>Shortcode:</div> <span class="wpgetapi-shortcode wpgetapi-copy">[wpgetapi_endpoint api_id='<?php esc_html_e( $field->args['api_id'] ); ?>' endpoint_id='<span class='endpoint_id'></span>' debug='false']</span> <span title="Copy Shortcode" class="copy-this dashicons dashicons-admin-page"></span></div>
    </pre>

    <div class="wpgetapi-test-area" data-endpoint="<?php esc_attr_e( $field->value ); ?>" data-api="<?php esc_attr_e( $field->args['api_id'] ); ?>">
        
        <span class="handle" style="display:none">Hide/Show Results</span>

        <?php do_action( 'wpgetapi_admin_before_test_result' ); ?>

        <div class="wpgetapi-result"></div>
    </div>

    <div class="fields-wrapper">

    <?php
    
    $content = ob_get_contents();
    ob_end_clean();
    return $content;  

}


/**
 * Ensure our unique ID's are only lowercase and underscores
 * 
 * @param  mixed      $value      The unsanitized value from the form.
 * @param  array      $field_args Array of field arguments.
 * @param  CMB2_Field $field      The field object
 *
 * @return mixed                  Sanitized value to be stored.
 */
function wpgetapi_sanitize_unique_id( $value, $field_args, $field ) {
    $sanitized_value = sanitize_file_name( $value );
    $sanitized_value = str_replace("-", "_", $sanitized_value );
    $sanitized_value = str_replace(".", "_", $sanitized_value );
    $sanitized_value = str_replace("^", "_", $sanitized_value );
    $sanitized_value = str_replace("@", "_", $sanitized_value );
    return $sanitized_value;
}