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_Page extends Quform_Element_Group
  7: {
  8:     /**
  9:      * Render this group 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:         $output = sprintf('<div class="%s">', Quform::escape(Quform::sanitizeClass($this->getContainerClasses())));
 19:         $output .= $this->getTitleDescriptionHtml();
 20:         $output .= '<div class="quform-child-elements">';
 21: 
 22:         foreach ($this->elements as $key => $element) {
 23:             $output .= $element->render($context);
 24:         }
 25: 
 26:         $output .= '</div></div>';
 27: 
 28:         return $output;
 29:     }
 30: 
 31:     /**
 32:      * Get the classes for the outermost page wrapper
 33:      *
 34:      * @return array
 35:      */
 36:     protected function getContainerClasses()
 37:     {
 38:         $classes = array(
 39:             'quform-element',
 40:             'quform-element-page',
 41:             sprintf('quform-page-%s', $this->getId()),
 42:             sprintf('quform-page-%s', $this->getIdentifier()),
 43:             'quform-cf',
 44:             sprintf('quform-group-style-%s', $this->config('groupStyle'))
 45:         );
 46: 
 47:         if ($this->isFirstPage()) {
 48:             $classes[] = 'quform-first-page';
 49:         }
 50: 
 51:         if ($this->isLastPage()) {
 52:             $classes[] = 'quform-last-page';
 53:         }
 54: 
 55:         if ($this->isCurrentPage()) {
 56:             $classes[] = 'quform-current-page';
 57:         }
 58: 
 59:         $classes = apply_filters('quform_container_classes', $classes, $this);
 60:         $classes = apply_filters('quform_container_classes_' . $this->getIdentifier(), $classes, $this);
 61: 
 62:         return $classes;
 63:     }
 64: 
 65:     /**
 66:      * Get the page label text
 67:      *
 68:      * @return string
 69:      */
 70:     public function getLabel()
 71:     {
 72:         return apply_filters('quform_page_label_' . $this->getIdentifier(), $this->config('label'), $this, $this->getForm());
 73:     }
 74: 
 75:     /**
 76:      * @return bool
 77:      */
 78:     public function isFirstPage()
 79:     {
 80:         return $this->form->getFirstPage() == $this;
 81:     }
 82: 
 83:     /**
 84:      * @return bool
 85:      */
 86:     public function isLastPage()
 87:     {
 88:         return $this->form->getLastPage() == $this;
 89:     }
 90: 
 91:     /**
 92:      * @return bool
 93:      */
 94:     public function isCurrentPage()
 95:     {
 96:         return $this->form->getCurrentPage() == $this;
 97:     }
 98: 
 99:     /**
100:      * Is this page valid
101:      *
102:      * @return bool
103:      */
104:     public function isValid()
105:     {
106:         $valid = true;
107: 
108:         foreach ($this->getRecursiveIterator() as $element) {
109:             if ( ! $element instanceof Quform_Element_Field) {
110:                 continue;
111:             }
112: 
113:             if ( ! $element->isValid()) {
114:                 $valid = false;
115:             }
116:         }
117: 
118:         return $valid;
119:     }
120: 
121:     /**
122:      * Get the validation errors that exist on this page
123:      *
124:      * @return array
125:      */
126:     public function getErrors()
127:     {
128:         $errors = array();
129: 
130:         foreach ($this->getRecursiveIterator() as $element) {
131:             if ( ! $element instanceof Quform_Element_Field) {
132:                 continue;
133:             }
134: 
135:             if ($element->hasError()) {
136:                 foreach ($element->getErrorArray() as $identifier => $message) {
137:                     $errors[$identifier] = $message;
138:                 }
139:             }
140:         }
141: 
142:         return $errors;
143:     }
144: 
145:     /**
146:      * Get the list of CSS selectors
147:      *
148:      * @return array
149:      */
150:     protected function getCssSelectors()
151:     {
152:         return array(
153:             'page' => '%s .quform-page-%s',
154:             'pageTitle' => '%s .quform-page-%s .quform-page-title',
155:             'pageDescription' => '%s .quform-page-%s .quform-page-description',
156:             'pageElements' => '%s .quform-page-%s > .quform-child-elements'
157:         );
158:     }
159: 
160:     /**
161:      * Get the default element configuration
162:      *
163:      * @param   string|null  $key  Get the config by key, if omitted the full config is returned
164:      * @return  array
165:      */
166:     public static function getDefaultConfig($key = null)
167:     {
168:         $config = apply_filters('quform_default_config_page', array(
169:             // Basic
170:             'label' => '',
171:             'title' => '',
172:             'titleTag' => 'h3',
173:             'description' => '',
174: 
175:             // Styles
176:             'fieldSize' => 'inherit',
177:             'fieldWidth' => 'inherit',
178:             'fieldWidthCustom' => '',
179:             'groupStyle' => 'plain',
180:             'borderColor' => '',
181:             'backgroundColor' => '',
182:             'styles' => array(),
183: 
184:             // Labels
185:             'tooltipType' => 'inherit',
186:             'tooltipEvent' => 'inherit',
187:             'labelPosition' => 'inherit',
188:             'labelWidth' => '',
189:             'showLabelInEmail' => false,
190:             'showLabelInEntry' => false,
191: 
192:             // Logic
193:             'logicEnabled' => false,
194:             'logicAction' => true,
195:             'logicMatch' => 'all',
196:             'logicRules' => array(),
197: 
198:             // Elements
199:             'elements' => array()
200:         ));
201: 
202:         $config['type'] = 'page';
203: 
204:         if (Quform::isNonEmptyString($key)) {
205:             return Quform::get($config, $key);
206:         }
207: 
208:         return $config;
209:     }
210: }
211: 
API documentation generated by ApiGen