%PDF- %PDF-
Direktori : /var/www/pn/beta/64801_wp-content/plugins/mailpoet/lib/Form/Block/ |
Current File : //var/www/pn/beta/64801_wp-content/plugins/mailpoet/lib/Form/Block/Base.php |
<?php namespace MailPoet\Form\Block; use MailPoet\Form\Util\FieldNameObfuscator; use MailPoet\Models\ModelValidator; abstract class Base { protected static function getInputValidation($block, $extra_rules = array()) { $rules = array(); if($block['id'] === 'email') { $rules['required'] = true; $rules['minlength'] = ModelValidator::EMAIL_MIN_LENGTH; $rules['maxlength'] = ModelValidator::EMAIL_MAX_LENGTH; $rules['error-message'] = __('Please specify a valid email address.', 'mailpoet'); } if($block['id'] === 'segments') { $rules['required'] = true; $rules['mincheck'] = 1; $rules['group'] = $block['id']; $rules['errors-container'] = '.mailpoet_error_'.$block['id']; $rules['required-message'] = __('Please select a list', 'mailpoet'); } if(!empty($block['params']['required'])) { $rules['required'] = true; $rules['required-message'] = __('This field is required.', 'mailpoet'); } if(!empty($block['params']['validate'])) { if($block['params']['validate'] === 'phone') { $rules['pattern'] = "^[\d\+\-\.\(\)\/\s]*$"; $rules['error-message'] = __('Please specify a valid phone number', 'mailpoet'); } else { $rules['type'] = $block['params']['validate']; } } if(in_array($block['type'], array('radio', 'checkbox'))) { $rules['group'] = 'custom_field_'.$block['id']; $rules['errors-container'] = '.mailpoet_error_'.$block['id']; $rules['required-message'] = __('Please select at least one option', 'mailpoet'); } if($block['type'] === 'date') { $rules['group'] = 'custom_field_'.$block['id']; $rules['errors-container'] = '.mailpoet_error_'.$block['id']; } $validation = array(); $rules = array_merge($rules, $extra_rules); if(!empty($rules)) { $rules = array_unique($rules); foreach($rules as $rule => $value) { if(is_bool($value)) { $value = ($value) ? 'true' : 'false'; } $validation[] = 'data-parsley-'.$rule.'="'.$value.'"'; } } return join(' ', $validation); } protected static function renderLabel($block) { $html = ''; if( isset($block['params']['label_within']) && $block['params']['label_within'] ) { return $html; } if(isset($block['params']['label']) && strlen(trim($block['params']['label'])) > 0) { $html .= '<label class="mailpoet_'.$block['type'].'_label">'; $html .= $block['params']['label']; if(isset($block['params']['required']) && $block['params']['required']) { $html .= ' <span class="mailpoet_required">*</span>'; } $html .= '</label>'; } return $html; } protected static function renderInputPlaceholder($block) { $html = ''; // if the label is displayed as a placeholder, if( isset($block['params']['label_within']) && $block['params']['label_within'] ) { // display only label $html .= ' placeholder="'; $html .= static::getFieldLabel($block); // add an asterisk if it's a required field if(isset($block['params']['required']) && $block['params']['required']) { $html .= ' *'; } $html .= '" '; } return $html; } // return field name depending on block data protected static function getFieldName($block = array()) { if((int)$block['id'] > 0) { return 'cf_'.$block['id']; } else { $obfuscator = new FieldNameObfuscator(); return $obfuscator->obfuscate($block['id']);//obfuscate field name for spambots } } protected static function getFieldLabel($block = array()) { return (isset($block['params']['label']) && strlen(trim($block['params']['label'])) > 0) ? trim($block['params']['label']) : ''; } protected static function getFieldValue($block = array()) { return (isset($block['params']['value']) && strlen(trim($block['params']['value'])) > 0) ? esc_attr(trim($block['params']['value'])) : ''; } protected static function getInputModifiers($block = array()) { $modifiers = array(); if(isset($block['params']['readonly']) && $block['params']['readonly']) { $modifiers[] = 'readonly'; } if(isset($block['params']['disabled']) && $block['params']['disabled']) { $modifiers[] = 'disabled'; } return join(' ', $modifiers); } }