<?php
if (!defined('ABSPATH')){
	exit; // Exit if accessed directly
}
function wpc_sms_load_scripts() {
    wp_register_script( 'wpc-sms-scripts', WPCARGO_SMS_FIELD_URL. 'assets/scripts.js', array( 'jquery' ), WPCARGO_SMS_FIELD_VERSION, true );
    wp_enqueue_script( 'wpc-sms-scripts' );

    $translation_array = array(
        'smsKeys' => wpc_sms_get_metakeys(),
        'countryCodeMessage' => esc_html__('Make sure to add country code!', 'wpcargo-sms')
    );
    wp_localize_script( 'wpc-sms-scripts', 'smsObject', $translation_array );
}
add_action('wp_enqueue_scripts', 'wpc_sms_load_scripts');
add_action('admin_enqueue_scripts', 'wpc_sms_load_scripts');

function wpc_sms_get_metakeys(){
    if( !class_exists( 'WPCargo' ) ){ return array(); }

    $shortcodes_list    = array_keys( wpcargo_email_shortcodes_list() );
    $sms_options        = get_option('wpcargo_sms_settings');
    $sms_to             = $sms_options['wpcargo_send_to_message'];
    $meta_keys          = array();
    if( !empty( $sms_to ) ){
        $sms_to = array_filter( array_map( 'trim', explode(",", $sms_to) ) );
        foreach ($sms_to as $key ) {
            if( !in_array( $key, $shortcodes_list ) ){
                continue;
            }
            $delimiter = array("{", "}");
            $meta_keys[] = trim( str_replace( $delimiter, '', $key ) );
        }
    }
    return $meta_keys;
}
function wpc_sms_fmregistered_scripts( $scripts ){
    $scripts[] = 'wpc-sms-scripts';
    return $scripts;
}
add_filter( 'wpcfe_registered_scripts', 'wpc_sms_fmregistered_scripts', 10, 1 );