1: <?php
 2: 
 3:  4:  5: 
 6: class Quform_Container extends JuiceContainer
 7: {
 8:     public function __construct()
 9:     {
10:         $this->setup();
11:     }
12: 
13:     14: 15: 
16:     protected function setup()
17:     {
18:         $this['formFactory'] = new JuiceDefinition('Quform_Form_Factory', array('@elementFactory', '@options', '@session', '@tokenReplacer'));
19:         $this['elementFactory'] = new JuiceDefinition('Quform_Element_Factory', array('@options', '@session', '@repository'));
20:         $this['repository'] = new JuiceDefinition('Quform_Repository');
21:         $this['adminPageController'] = new JuiceDefinition('Quform_Admin_Page_Controller', array('@adminPageFactory'));
22:         $this['adminPageFactory'] = new JuiceDefinition('Quform_Admin_Page_Factory', array('@viewFactory', '@repository', '@options', '@license', '@formFactory', '@scriptLoader', '@permissions', '@builder', '@themes', '@entryExporter', '@uploader', '@session', '@migrator', '@upgrader'));
23:         $this['viewFactory'] = new JuiceDefinition('Quform_ViewFactory');
24:         $this['uploader'] = new JuiceDefinition('Quform_Uploader', array('@session', '@repository', '@formFactory'));
25:         $this['options'] = new JuiceDefinition('Quform_Options', array('quform_options'));
26:         $this['updater'] = new JuiceDefinition('Quform_Updater', array('@api', '@license'));
27:         $this['api'] = new JuiceDefinition('Quform_Api', array('@options'));
28:         $this['license'] = new JuiceDefinition('Quform_License', array('@api', '@options'));
29:         $this['shortcode'] = new JuiceDefinition('Quform_Shortcode', array('@formController', '@options'));
30:         $this['builder'] = new JuiceDefinition('Quform_Builder', array('@repository', '@formFactory', '@options', '@themes', '@scriptLoader'));
31:         $this['formController'] = new JuiceDefinition('Quform_Form_Controller', array('@formFactory', '@repository', '@formProcessor', '@session', '@uploader'));
32:         $this['formProcessor'] = new JuiceDefinition('Quform_Form_Processor', array('@repository', '@session', '@uploader', '@options'));
33:         $this['insertForm'] = new JuiceDefinition('Quform_Admin_InsertForm', array('@repository', '@options'));
34:         $this['entryExporter'] = new JuiceDefinition('Quform_Entry_Exporter', array('@repository', '@formFactory', '@options'));
35:         $this['dashboardWidget'] = new JuiceDefinition('Quform_Dashboard_Widget', array('@repository', '@viewFactory', '@options'));
36:         $this['translations'] = new JuiceDefinition('Quform_Translations');
37:         $this['scriptLoader'] = new JuiceDefinition('Quform_ScriptLoader', array('@options', '@themes', '@repository', '@formFactory', '@session'));
38:         $this['permissions'] = new JuiceDefinition('Quform_Permissions');
39:         $this['themes'] = new JuiceDefinition('Quform_Themes');
40:         $this['session'] = new JuiceDefinition('Quform_Session');
41:         $this['captcha'] = new JuiceDefinition('Quform_Captcha', array('@repository', '@formFactory'));
42:         $this['entryController'] = new JuiceDefinition('Quform_Entry_Controller', array('@formFactory', '@repository', '@entryProcessor'));
43:         $this['entryProcessor'] = new JuiceDefinition('Quform_Entry_Processor', array('@repository', '@session', '@uploader', '@options'));
44:         $this['tokenReplacer'] = new JuiceDefinition('Quform_TokenReplacer', array('@options'));
45:         $this['settings'] = new JuiceDefinition('Quform_Settings', array('@options', '@permissions', '@scriptLoader'));
46:         $this['formExporter'] = new JuiceDefinition('Quform_Form_Exporter', array('@repository'));
47:         $this['formImporter'] = new JuiceDefinition('Quform_Form_Importer', array('@repository', '@builder', '@scriptLoader'));
48:         $this['toolbar'] = new JuiceDefinition('Quform_Toolbar', array('@options', '@repository'));
49:         $this['formsListSettings'] = new JuiceDefinition('Quform_Form_List_Settings');
50:         $this['entriesListSettings'] = new JuiceDefinition('Quform_Entry_List_Settings', array('@repository'));
51:         $this['migrator'] = new JuiceDefinition('Quform_Migrator', array('@repository', '@builder', '@scriptLoader', '@options', '@formFactory'));
52:         $this['upgrader'] = new JuiceDefinition('Quform_Upgrader', array('@repository', '@permissions', '@uploader', '@session', '@scriptLoader'));
53:         $this['nonceRefresher'] = new JuiceDefinition('Quform_NonceRefresher');
54:         $this['block'] = new JuiceDefinition('Quform_Block', array('@formController', '@repository'));
55:         $this['notificationResender'] = new JuiceDefinition('Quform_Notification_Resender', array('@repository', '@formFactory'));
56:         $this['entriesUserSearcher'] = new JuiceDefinition('Quform_Entry_UserSearcher');
57: 
58:         do_action('quform_container_setup', $this);
59: 
60:         $this->lock();
61:     }
62: }
63: