Overview

Namespaces

  • None
  • Quform
    • Traduttore_Registry

Classes

  • Quform
  • Quform_Admin_InsertForm
  • Quform_Admin_Page
  • Quform_Admin_Page_Controller
  • Quform_Admin_Page_Dashboard
  • Quform_Admin_Page_Entries
  • Quform_Admin_Page_Entries_Edit
  • Quform_Admin_Page_Entries_List
  • Quform_Admin_Page_Entries_View
  • Quform_Admin_Page_Factory
  • Quform_Admin_Page_Forms_Add
  • Quform_Admin_Page_Forms_Edit
  • Quform_Admin_Page_Forms_List
  • Quform_Admin_Page_Help
  • Quform_Admin_Page_Preview
  • Quform_Admin_Page_Settings
  • Quform_Admin_Page_Tools
  • Quform_Admin_Page_Tools_ExportEntries
  • Quform_Admin_Page_Tools_ExportForm
  • Quform_Admin_Page_Tools_Home
  • Quform_Admin_Page_Tools_ImportForm
  • Quform_Admin_Page_Tools_Migrate
  • Quform_Admin_Page_Tools_Uninstall
  • Quform_Api
  • Quform_Block
  • Quform_Builder
  • Quform_Captcha
  • Quform_ClassLoader
  • Quform_Confirmation
  • Quform_Container
  • Quform_Dashboard_Widget
  • Quform_Dispatcher
  • Quform_Element
  • Quform_Element_Captcha
  • Quform_Element_Checkbox
  • Quform_Element_Column
  • Quform_Element_Container
  • Quform_Element_Container_Iterator
  • Quform_Element_Date
  • Quform_Element_Email
  • Quform_Element_Factory
  • Quform_Element_Field
  • Quform_Element_File
  • Quform_Element_Group
  • Quform_Element_Hidden
  • Quform_Element_Honeypot
  • Quform_Element_Html
  • Quform_Element_Multi
  • Quform_Element_Multiselect
  • Quform_Element_Name
  • Quform_Element_Page
  • Quform_Element_Password
  • Quform_Element_Radio
  • Quform_Element_Recaptcha
  • Quform_Element_Row
  • Quform_Element_Select
  • Quform_Element_Submit
  • Quform_Element_Text
  • Quform_Element_Textarea
  • Quform_Element_Time
  • Quform_Entry_Controller
  • Quform_Entry_Exporter
  • Quform_Entry_List_Settings
  • Quform_Entry_List_Table
  • Quform_Entry_Processor
  • Quform_Entry_UserSearcher
  • Quform_Filter_Abstract
  • Quform_Filter_Alpha
  • Quform_Filter_AlphaNumeric
  • Quform_Filter_Digits
  • Quform_Filter_Regex
  • Quform_Filter_Static
  • Quform_Filter_StripTags
  • Quform_Filter_Trim
  • Quform_Form
  • Quform_Form_Controller
  • Quform_Form_Exporter
  • Quform_Form_Factory
  • Quform_Form_Importer
  • Quform_Form_Iterator
  • Quform_Form_List_Settings
  • Quform_Form_List_Table
  • Quform_Form_Processor
  • Quform_License
  • Quform_Migrator
  • Quform_NonceRefresher
  • Quform_Notification
  • Quform_Notification_Resender
  • Quform_Options
  • Quform_Permissions
  • Quform_Repository
  • Quform_ScriptLoader
  • Quform_Session
  • Quform_Settings
  • Quform_Shortcode
  • Quform_Themes
  • Quform_TokenReplacer
  • Quform_Toolbar
  • Quform_Translations
  • Quform_Updater
  • Quform_Upgrader
  • Quform_Uploader
  • Quform_Validator_Abstract
  • Quform_Validator_Alpha
  • Quform_Validator_AlphaNumeric
  • Quform_Validator_Array
  • Quform_Validator_Captcha
  • Quform_Validator_Date
  • Quform_Validator_Digits
  • Quform_Validator_Duplicate
  • Quform_Validator_Email
  • Quform_Validator_FileUpload
  • Quform_Validator_GreaterThan
  • Quform_Validator_Honeypot
  • Quform_Validator_Identical
  • Quform_Validator_InArray
  • Quform_Validator_Length
  • Quform_Validator_LessThan
  • Quform_Validator_Recaptcha
  • Quform_Validator_Regex
  • Quform_Validator_Required
  • Quform_Validator_Static
  • Quform_Validator_Time
  • Quform_View
  • Quform_ViewFactory
  • Quform_Widget_Form
  • Quform_Widget_Popup

Interfaces

  • Quform_Attachable
  • Quform_Element_Editable
  • Quform_Filter_Interface
  • Quform_Validator_Interface

Constants

  • Quform\Traduttore_Registry\TRANSIENT_KEY_PLUGIN
  • Quform\Traduttore_Registry\TRANSIENT_KEY_THEME

Functions

  • Quform\Traduttore_Registry\add_project
  • Quform\Traduttore_Registry\clean_translations_cache
  • Quform\Traduttore_Registry\get_available_locales
  • Quform\Traduttore_Registry\get_installed_translations
  • Quform\Traduttore_Registry\get_translations
  • Quform\Traduttore_Registry\register_clean_translations_cache
  • Quform\Traduttore_Registry\sanitize_date
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: /**
  4:  * @copyright Copyright (c) 2009-2022 ThemeCatcher (https://www.themecatcher.net)
  5:  */
  6: class Quform_Element_Honeypot extends Quform_Element_Field
  7: {
  8:     /**
  9:      * Render this field and return the HTML
 10:      *
 11:      * @param   array   $context
 12:      * @return  string
 13:      */
 14:     public function render(array $context = array())
 15:     {
 16:         $context = $this->prepareContext($context);
 17: 
 18:         $labels = apply_filters(
 19:             'quform_honeypot_labels',
 20:             array(
 21:                 'Email',
 22:                 'Email Address',
 23:                 'Website URL',
 24:                 'Your Website',
 25:                 'Contact Email',
 26:                 'Business Email',
 27:                 'Phone Number',
 28:                 'Company Name'
 29:             )
 30:         );
 31: 
 32:         $inlineStyle = 'clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); position: absolute !important; height: 1px; width: 1px; overflow: hidden;';
 33: 
 34:         $output = sprintf('<div class="quform-element quform-element-textarea quform-element-%s quform-sr-only quform-cf" style="%s">',
 35:             esc_attr($this->getIdentifier()),
 36:             esc_attr($inlineStyle)
 37:         );
 38: 
 39:         $output .= '<div class="quform-spacer">';
 40: 
 41:         $output .= sprintf('<div class="quform-label quform-label-%s">', esc_attr($this->getIdentifier()));
 42:         $output .= sprintf('<label class="quform-label-text" for="%s">%s%s</label>',
 43:             esc_attr($this->getUniqueId()),
 44:             esc_html($labels[array_rand($labels)]),
 45:             Quform::isNonEmptyString($requiredText = $this->form->config('requiredText')) ? '<span class="quform-required">' . esc_html($requiredText) . '</span>' : ''
 46:         );
 47:         $output .= '</div>';
 48: 
 49:         $output .= sprintf('<div class="quform-inner quform-inner-%s">', esc_attr($this->getIdentifier()));
 50: 
 51:         $output .= $this->getFieldHtml($context);
 52: 
 53:         $output .= '</div></div></div>';
 54: 
 55:         return $output;
 56:     }
 57: 
 58:     /**
 59:      * Get the HTML attributes for the field
 60:      *
 61:      * @param   array  $context
 62:      * @return  array
 63:      */
 64:     protected function getFieldAttributes(array $context = array())
 65:     {
 66:         $attributes = array(
 67:             'id' => $this->getUniqueId(),
 68:             'name' => $this->getFullyQualifiedName(),
 69:             'class' => Quform::sanitizeClass($this->getFieldClasses($context)),
 70:             'tabindex' => '-1',
 71:             'autocomplete' => 'new-password'
 72:         );
 73: 
 74:         $attributes = apply_filters('quform_field_attributes', $attributes, $this, $this->form, $context);
 75:         $attributes = apply_filters('quform_field_attributes_' . $this->getIdentifier(), $attributes, $this, $this->form, $context);
 76: 
 77:         return $attributes;
 78:     }
 79: 
 80:     /**
 81:      * Get the classes for the field
 82:      *
 83:      * @param   array  $context
 84:      * @return  array
 85:      */
 86:     protected function getFieldClasses(array $context = array())
 87:     {
 88:         $classes = array(
 89:             'quform-field',
 90:             'quform-field-textarea',
 91:             sprintf('quform-field-%s', $this->getIdentifier())
 92:         );
 93: 
 94:         $classes = apply_filters('quform_field_classes', $classes, $this, $this->form, $context);
 95:         $classes = apply_filters('quform_field_classes_' . $this->getIdentifier(), $classes, $this, $this->form, $context);
 96: 
 97:         return $classes;
 98:     }
 99: 
100:     /**
101:      * Get the HTML for the field
102:      *
103:      * @param   array $context
104:      * @return  string
105:      */
106:     protected function getFieldHtml(array $context = array())
107:     {
108:         return Quform::getHtmlTag('textarea', $this->getFieldAttributes($context));
109:     }
110: 
111:     /**
112:      * Get the default element configuration
113:      *
114:      * @param   string|null  $key  Get the config by key, if omitted the full config is returned
115:      * @return  array
116:      */
117:     public static function getDefaultConfig($key = null)
118:     {
119:         $config = apply_filters('quform_default_config_honeypot', array(
120:             'showInEmail' => false,
121:             'saveToDatabase' => false
122:         ));
123: 
124:         $config['type'] = 'honeypot';
125: 
126:         if (Quform::isNonEmptyString($key)) {
127:             return Quform::get($config, $key);
128:         }
129: 
130:         return $config;
131:     }
132: }
133: 
API documentation generated by ApiGen