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_Admin_Page_Factory
  7: {
  8:     /**
  9:      * @var Quform_ViewFactory
 10:      */
 11:     protected $viewFactory;
 12: 
 13:     /**
 14:      * @var Quform_Repository
 15:      */
 16:     protected $repository;
 17: 
 18:     /**
 19:      * @var Quform_Options
 20:      */
 21:     protected $options;
 22: 
 23:     /**
 24:      * @var Quform_License
 25:      */
 26:     protected $license;
 27: 
 28:     /**
 29:      * @var Quform_Form_Factory
 30:      */
 31:     protected $formFactory;
 32: 
 33:     /**
 34:      * @var Quform_ScriptLoader
 35:      */
 36:     protected $scriptLoader;
 37: 
 38:     /**
 39:      * @var Quform_Permissions
 40:      */
 41:     protected $permissions;
 42: 
 43:     /**
 44:      * @var Quform_Builder
 45:      */
 46:     protected $builder;
 47: 
 48:     /**
 49:      * @var Quform_Themes
 50:      */
 51:     protected $themes;
 52: 
 53:     /**
 54:      * @var Quform_Entry_Exporter
 55:      */
 56:     protected $entryExporter;
 57: 
 58:     /**
 59:      * @var Quform_Uploader
 60:      */
 61:     protected $uploader;
 62: 
 63:     /**
 64:      * @var Quform_Session
 65:      */
 66:     protected $session;
 67: 
 68:     /**
 69:      * @var Quform_Migrator
 70:      */
 71:     protected $migrator;
 72: 
 73:     /**
 74:      * @var Quform_Upgrader
 75:      */
 76:     protected $upgrader;
 77: 
 78:     /**
 79:      * @param  Quform_ViewFactory     $viewFactory
 80:      * @param  Quform_Repository      $repository
 81:      * @param  Quform_Options         $options
 82:      * @param  Quform_License         $license
 83:      * @param  Quform_Form_Factory    $formFactory
 84:      * @param  Quform_ScriptLoader    $scriptLoader
 85:      * @param  Quform_Permissions     $permissions
 86:      * @param  Quform_Builder         $builder
 87:      * @param  Quform_Themes          $themes
 88:      * @param  Quform_Entry_Exporter  $entryExporter
 89:      * @param  Quform_Uploader        $uploader
 90:      * @param  Quform_Session         $session
 91:      * @param  Quform_Migrator        $migrator
 92:      * @param  Quform_Upgrader        $upgrader
 93:      */
 94:     public function __construct(Quform_ViewFactory $viewFactory, Quform_Repository $repository,
 95:                                 Quform_Options $options, Quform_License $license, Quform_Form_Factory $formFactory,
 96:                                 Quform_ScriptLoader $scriptLoader, Quform_Permissions $permissions,
 97:                                 Quform_Builder $builder, Quform_Themes $themes, Quform_Entry_Exporter $entryExporter,
 98:                                 Quform_Uploader $uploader, Quform_Session $session, Quform_Migrator $migrator,
 99:                                 Quform_Upgrader $upgrader)
100:     {
101:         $this->viewFactory = $viewFactory;
102:         $this->repository = $repository;
103:         $this->options = $options;
104:         $this->license = $license;
105:         $this->formFactory = $formFactory;
106:         $this->scriptLoader = $scriptLoader;
107:         $this->permissions = $permissions;
108:         $this->builder = $builder;
109:         $this->themes = $themes;
110:         $this->entryExporter = $entryExporter;
111:         $this->uploader = $uploader;
112:         $this->session = $session;
113:         $this->migrator = $migrator;
114:         $this->upgrader = $upgrader;
115:     }
116: 
117:     /**
118:      * @param   string                    $page  The name of the page
119:      * @return  Quform_Admin_Page                The page class instance
120:      * @throws  InvalidArgumentException         If the page class does not exist
121:      */
122:     public function create($page)
123:     {
124:         $method = 'create' . $page . 'Page';
125: 
126:         if (method_exists($this, $method)) {
127:             return $this->$method();
128:         }
129: 
130:         throw new InvalidArgumentException('Method not found to create page: ' . $page);
131:     }
132: 
133:     /**
134:      * @return Quform_Admin_Page_Dashboard
135:      */
136:     protected function createDashboardPage()
137:     {
138:         return new Quform_Admin_Page_Dashboard($this->viewFactory, $this->repository, $this->options);
139:     }
140: 
141:     /**
142:      * @return Quform_Admin_Page
143:      */
144:     protected function createFormsPage()
145:     {
146:         switch ($this->getSubPage()) {
147:             case 'list':
148:             default:
149:                 $page = new Quform_Admin_Page_Forms_List($this->viewFactory, $this->repository, $this->scriptLoader, new Quform_Form_List_Table($this->repository, $this->options));
150:                 break;
151:             case 'add':
152:                 $page = new Quform_Admin_Page_Forms_Add($this->viewFactory, $this->repository);
153:                 break;
154:             case 'edit':
155:                 $page = new Quform_Admin_Page_Forms_Edit($this->viewFactory, $this->repository, $this->builder, $this->license, $this->options);
156:                 break;
157:         }
158: 
159:         return $page;
160:     }
161: 
162:     /**
163:      * @return Quform_Admin_Page
164:      */
165:     protected function createEntriesPage()
166:     {
167:         switch ($this->getSubPage()) {
168:             case 'list':
169:             default:
170:                 $page = new Quform_Admin_Page_Entries_List($this->viewFactory, $this->repository, $this->formFactory, $this->options);
171:                 break;
172:             case 'view':
173:                 $page = new Quform_Admin_Page_Entries_View($this->viewFactory, $this->repository, $this->formFactory, $this->options);
174:                 break;
175:             case 'edit':
176:                 $page = new Quform_Admin_Page_Entries_Edit($this->viewFactory, $this->repository, $this->formFactory, $this->uploader, $this->session);
177:                 break;
178:         }
179: 
180:         return $page;
181:     }
182: 
183:     /**
184:      * @return Quform_Admin_Page
185:      */
186:     protected function createToolsPage()
187:     {
188:         switch ($this->getSubPage()) {
189:             case 'home':
190:             default:
191:                 $page = new Quform_Admin_Page_Tools_Home($this->viewFactory, $this->repository);
192:                 break;
193:             case 'export.entries':
194:                 $page = new Quform_Admin_Page_Tools_ExportEntries($this->viewFactory, $this->repository, $this->entryExporter, $this->formFactory);
195:                 break;
196:             case 'export.form':
197:                 $page = new Quform_Admin_Page_Tools_ExportForm($this->viewFactory, $this->repository);
198:                 break;
199:             case 'import.form':
200:                 $page = new Quform_Admin_Page_Tools_ImportForm($this->viewFactory, $this->repository);
201:                 break;
202:             case 'migrate':
203:                 $page = new Quform_Admin_Page_Tools_Migrate($this->viewFactory, $this->repository, $this->migrator);
204:                 break;
205:             case 'uninstall':
206:                 $page = new Quform_Admin_Page_Tools_Uninstall($this->viewFactory, $this->repository, $this->options, $this->permissions, $this->uploader, $this->session, $this->upgrader);
207:                 break;
208:         }
209: 
210:         return $page;
211:     }
212: 
213:     /**
214:      * @return Quform_Admin_Page_Settings
215:      */
216:     protected function createSettingsPage()
217:     {
218:         return new Quform_Admin_Page_Settings($this->viewFactory, $this->repository, $this->options, $this->license, $this->permissions, $this->scriptLoader);
219:     }
220: 
221:     /**
222:      * @return Quform_Admin_Page_Help
223:      */
224:     protected function createHelpPage()
225:     {
226:         return new Quform_Admin_Page_Help($this->viewFactory, $this->repository);
227:     }
228: 
229:     /**
230:      * @return Quform_Admin_Page_Preview
231:      */
232:     protected function createPreviewPage()
233:     {
234:         return new Quform_Admin_Page_Preview($this->viewFactory, $this->repository, $this->options, $this->scriptLoader, $this->themes);
235:     }
236: 
237:     /**
238:      * Get the sub page query var
239:      *
240:      * @return string|null
241:      */
242:     protected function getSubPage()
243:     {
244:         return Quform::get($_GET, 'sp');
245:     }
246: }
247: 
API documentation generated by ApiGen