File "FrmProCreditCardsController.php"
Full path: /home/bud/public_html/swamp/wp-admin/wp-content/plugins/formidable-pro/classes/controllers/FrmProCreditCardsController.php
File size: 4.35 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if ( ! defined( 'ABSPATH' ) ) {
die( 'You are not allowed to call this page directly.' );
}
class FrmProCreditCardsController extends FrmProComboFieldsController {
public static function show_in_form( $field, $field_name, $atts ) {
$frm_settings = FrmAppHelper::get_settings();
$errors = isset( $atts['errors'] ) ? $atts['errors'] : array();
$html_id = $atts['html_id'];
$defaults = self::empty_value_array();
if ( empty( $field['value'] ) ) {
$field['value'] = $defaults;
} else {
$field['value'] = array_merge( $defaults, (array) $field['value'] );
}
if ( $field['default_value'] == $field['value'] ) {
$field['value'] = $defaults;
}
$sub_fields = self::get_sub_fields( $field );
$remove_names = ( $field['save_cc'] == -1 );
include( FrmProAppHelper::plugin_path() . '/classes/views/combo-fields/input.php' );
}
public static function get_sub_fields( $field ) {
$frm_settings = FrmAppHelper::get_settings();
$html5_type = ( $frm_settings->use_html ) ? 'tel' : 'text';
$placeholder = (array) ( isset( $field['placeholder'] ) ? $field['placeholder'] : array() );
$fields = array(
'cc' => array(
'type' => $html5_type,
'classes' => 'frm_full frm_cc_number',
'label' => 1,
'atts' => array(
'autocomplete' => 'cc-number',
'autocorrect' => 'off',
'spellcheck' => 'off',
'autocapitalize' => 'off',
'data-name' => $field['id'] . '-cc',
'placeholder' => isset( $placeholder['cc'] ) ? $placeholder['cc'] : '',
),
),
'month' => array(
'type' => 'select',
'classes' => 'frm_third frm_first frm_cc_exp_month',
'label' => 1,
'options' => range( 1, 12 ),
'placeholder' => isset( $placeholder['month'] ) ? $placeholder['month'] : __( 'Month', 'formidable-pro' ),
),
'year' => array(
'type' => 'select',
'classes' => 'frm_third frm_cc_exp_year',
'label' => 1,
'options' => range( gmdate( 'Y' ), gmdate( 'Y' ) + 10 ),
'placeholder' => isset( $placeholder['year'] ) ? $placeholder['year'] : __( 'Year', 'formidable-pro' ),
),
'cvc' => array(
'type' => $html5_type,
'classes' => 'frm_third frm_cc_cvc',
'label' => 1,
'atts' => array(
'spellcheck' => 'off',
'autocapitalize' => 'off',
'maxlength' => 4,
'autocorrect' => 'off',
'autocomplete' => 'off',
'data-name' => $field['id'] . '-cvc',
'placeholder' => isset( $placeholder['cvc'] ) ? $placeholder['cvc'] : '',
),
),
);
return $fields;
}
public static function add_csv_columns( $headings, $atts ) {
if ( $atts['field']->type == 'credit_card' ) {
$default_labels = self::default_labels();
$default_labels['month'] = __( 'Expiration Month', 'formidable-pro' );
$default_labels['year'] = __( 'Expiration Year', 'formidable-pro' );
$values = self::empty_value_array();
foreach ( $values as $heading => $value ) {
if ( isset( $default_labels[ $heading ] ) ) {
$label = $default_labels[ $heading ];
} else {
$label = $atts['field']->name;
}
$headings[ $atts['field']->id . '_' . $heading ] = strip_tags( $label );
}
}
return $headings;
}
private static function empty_value_array() {
return array( 'cc' => '', 'month' => '', 'year' => '', 'cvc' => '' );
}
private static function default_labels() {
$options = array(
'cc' => __( 'Card Number', 'formidable-pro' ),
'cvc' => __( 'CVC', 'formidable-pro' ),
);
return $options;
}
/**
* @deprecated 4.0
*/
public static function form_builder_options( $field, $display, $values ) {
_deprecated_function( __FUNCTION__, '4.0', 'FrmProFieldAddress->show_primary_options' );
}
/**
* @deprecated 3.0
* @codeCoverageIgnore
*/
public static function show_in_form_builder( $field, $name = '', $null = null ) {
_deprecated_function( __METHOD__, '3.0', 'FrmFieldType::show_on_form_builder' );
$field_type = FrmFieldFactory::get_field_type( 'address', $field );
return $field_type->show_on_form_builder( $name );
}
/**
* @deprecated 3.0
* @codeCoverageIgnore
*/
public static function display_value( $value ) {
_deprecated_function( __FUNCTION__, '3.0', 'FrmProFieldCreditCard->get_display_value' );
$field_obj = FrmFieldFactory::get_field_type( 'credit_card' );
return $field_obj->get_display_value( $value );
}
}