Completed
Push — 4.0 ( 645c00...7c26f2 )
by David
14:19
created
src/Mouf/Database/TDBM/Controllers/TdbmInstallController.php 1 patch
Indentation   +166 added lines, -166 removed lines patch added patch discarded remove patch
@@ -15,170 +15,170 @@
 block discarded – undo
15 15
  */
16 16
 class TdbmInstallController extends Controller
17 17
 {
18
-    /**
19
-     * @var HtmlBlock
20
-     */
21
-    public $content;
22
-
23
-    public $selfedit;
24
-
25
-    /**
26
-     * The active MoufManager to be edited/viewed.
27
-     *
28
-     * @var MoufManager
29
-     */
30
-    public $moufManager;
31
-
32
-    /**
33
-     * The template used by the main page for mouf.
34
-     *
35
-     * @Property
36
-     * @Compulsory
37
-     *
38
-     * @var TemplateInterface
39
-     */
40
-    public $template;
41
-
42
-    /**
43
-     * Displays the first install screen.
44
-     *
45
-     * @Action
46
-     * @Logged
47
-     *
48
-     * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
49
-     */
50
-    public function defaultAction($selfedit = 'false')
51
-    {
52
-        $this->selfedit = $selfedit;
53
-
54
-        if ($selfedit == 'true') {
55
-            $this->moufManager = MoufManager::getMoufManager();
56
-        } else {
57
-            $this->moufManager = MoufManager::getMoufManagerHiddenInstance();
58
-        }
59
-
60
-        $this->content->addFile(dirname(__FILE__).'/../../../../views/installStep1.php', $this);
61
-        $this->template->toHtml();
62
-    }
63
-
64
-    /**
65
-     * Skips the install process.
66
-     *
67
-     * @Action
68
-     * @Logged
69
-     *
70
-     * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
71
-     */
72
-    public function skip($selfedit = 'false')
73
-    {
74
-        InstallUtils::continueInstall($selfedit == 'true');
75
-    }
76
-
77
-    protected $daoNamespace;
78
-    protected $beanNamespace;
79
-    protected $autoloadDetected;
80
-    protected $storeInUtc;
81
-
82
-    /**
83
-     * Displays the second install screen.
84
-     *
85
-     * @Action
86
-     * @Logged
87
-     *
88
-     * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
89
-     */
90
-    public function configure($selfedit = 'false')
91
-    {
92
-        $this->selfedit = $selfedit;
93
-
94
-        if ($selfedit == 'true') {
95
-            $this->moufManager = MoufManager::getMoufManager();
96
-        } else {
97
-            $this->moufManager = MoufManager::getMoufManagerHiddenInstance();
98
-        }
99
-
100
-        // Let's start by performing basic checks about the instances we assume to exist.
101
-        if (!$this->moufManager->instanceExists('dbalConnection')) {
102
-            $this->displayErrorMsg("The TDBM install process assumes your database connection instance is already created, and that the name of this instance is 'dbalConnection'. Could not find the 'dbalConnection' instance.");
103
-
104
-            return;
105
-        }
106
-
107
-        $this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace_tdbmService');
108
-        $this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace_tdbmService');
109
-
110
-        if ($this->daoNamespace == null && $this->beanNamespace == null) {
111
-            $classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
112
-
113
-            $autoloadNamespaces = $classNameMapper->getManagedNamespaces();
114
-            if ($autoloadNamespaces) {
115
-                $this->autoloadDetected = true;
116
-                $rootNamespace = $autoloadNamespaces[0];
117
-                $this->daoNamespace = $rootNamespace.'Dao';
118
-                $this->beanNamespace = $rootNamespace.'Dao\\Bean';
119
-            } else {
120
-                $this->autoloadDetected = false;
121
-                $this->daoNamespace = 'YourApplication\\Dao';
122
-                $this->beanNamespace = 'YourApplication\\Dao\\Bean';
123
-            }
124
-        } else {
125
-            $this->autoloadDetected = true;
126
-        }
127
-
128
-        $this->castDatesToDateTime = true;
129
-
130
-        $this->content->addFile(dirname(__FILE__).'/../../../../views/installStep2.php', $this);
131
-        $this->template->toHtml();
132
-    }
133
-
134
-    /**
135
-     * This action generates the TDBM instance, then the DAOs and Beans.
136
-     *
137
-     * @Action
138
-     *
139
-     * @param string $daonamespace
140
-     * @param string $beannamespace
141
-     * @param int    $storeInUtc
142
-     * @param string $selfedit
143
-     *
144
-     * @throws \Mouf\MoufException
145
-     */
146
-    public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit = 'false')
147
-    {
148
-        $this->selfedit = $selfedit;
149
-
150
-        if ($selfedit == 'true') {
151
-            $this->moufManager = MoufManager::getMoufManager();
152
-        } else {
153
-            $this->moufManager = MoufManager::getMoufManagerHiddenInstance();
154
-        }
155
-
156
-        if (!$this->moufManager->instanceExists('doctrineApcCache')) {
157
-            $doctrineApcCache = $this->moufManager->createInstance('Doctrine\\Common\\Cache\\ApcCache')->setName('doctrineApcCache');
158
-            // TODO: set namespace
159
-        } else {
160
-            $doctrineApcCache = $this->moufManager->getInstanceDescriptor('doctrineApcCache');
161
-        }
162
-
163
-        if (!$this->moufManager->instanceExists('tdbmService')) {
164
-            $tdbmService = $this->moufManager->createInstance('Mouf\\Database\\TDBM\\TDBMService')->setName('tdbmService');
165
-            $tdbmService->getConstructorArgumentProperty('connection')->setValue($this->moufManager->getInstanceDescriptor('dbalConnection'));
166
-            $tdbmService->getConstructorArgumentProperty('cache')->setValue($doctrineApcCache);
167
-        }
168
-
169
-        $this->moufManager->rewriteMouf();
170
-
171
-        TdbmController::generateDaos($this->moufManager, 'tdbmService', $daonamespace, $beannamespace, 'DaoFactory', 'daoFactory', $selfedit, $storeInUtc);
172
-
173
-        InstallUtils::continueInstall($selfedit == 'true');
174
-    }
175
-
176
-    protected $errorMsg;
177
-
178
-    private function displayErrorMsg($msg)
179
-    {
180
-        $this->errorMsg = $msg;
181
-        $this->content->addFile(dirname(__FILE__).'/../../../../views/installError.php', $this);
182
-        $this->template->toHtml();
183
-    }
18
+	/**
19
+	 * @var HtmlBlock
20
+	 */
21
+	public $content;
22
+
23
+	public $selfedit;
24
+
25
+	/**
26
+	 * The active MoufManager to be edited/viewed.
27
+	 *
28
+	 * @var MoufManager
29
+	 */
30
+	public $moufManager;
31
+
32
+	/**
33
+	 * The template used by the main page for mouf.
34
+	 *
35
+	 * @Property
36
+	 * @Compulsory
37
+	 *
38
+	 * @var TemplateInterface
39
+	 */
40
+	public $template;
41
+
42
+	/**
43
+	 * Displays the first install screen.
44
+	 *
45
+	 * @Action
46
+	 * @Logged
47
+	 *
48
+	 * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
49
+	 */
50
+	public function defaultAction($selfedit = 'false')
51
+	{
52
+		$this->selfedit = $selfedit;
53
+
54
+		if ($selfedit == 'true') {
55
+			$this->moufManager = MoufManager::getMoufManager();
56
+		} else {
57
+			$this->moufManager = MoufManager::getMoufManagerHiddenInstance();
58
+		}
59
+
60
+		$this->content->addFile(dirname(__FILE__).'/../../../../views/installStep1.php', $this);
61
+		$this->template->toHtml();
62
+	}
63
+
64
+	/**
65
+	 * Skips the install process.
66
+	 *
67
+	 * @Action
68
+	 * @Logged
69
+	 *
70
+	 * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
71
+	 */
72
+	public function skip($selfedit = 'false')
73
+	{
74
+		InstallUtils::continueInstall($selfedit == 'true');
75
+	}
76
+
77
+	protected $daoNamespace;
78
+	protected $beanNamespace;
79
+	protected $autoloadDetected;
80
+	protected $storeInUtc;
81
+
82
+	/**
83
+	 * Displays the second install screen.
84
+	 *
85
+	 * @Action
86
+	 * @Logged
87
+	 *
88
+	 * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
89
+	 */
90
+	public function configure($selfedit = 'false')
91
+	{
92
+		$this->selfedit = $selfedit;
93
+
94
+		if ($selfedit == 'true') {
95
+			$this->moufManager = MoufManager::getMoufManager();
96
+		} else {
97
+			$this->moufManager = MoufManager::getMoufManagerHiddenInstance();
98
+		}
99
+
100
+		// Let's start by performing basic checks about the instances we assume to exist.
101
+		if (!$this->moufManager->instanceExists('dbalConnection')) {
102
+			$this->displayErrorMsg("The TDBM install process assumes your database connection instance is already created, and that the name of this instance is 'dbalConnection'. Could not find the 'dbalConnection' instance.");
103
+
104
+			return;
105
+		}
106
+
107
+		$this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace_tdbmService');
108
+		$this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace_tdbmService');
109
+
110
+		if ($this->daoNamespace == null && $this->beanNamespace == null) {
111
+			$classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
112
+
113
+			$autoloadNamespaces = $classNameMapper->getManagedNamespaces();
114
+			if ($autoloadNamespaces) {
115
+				$this->autoloadDetected = true;
116
+				$rootNamespace = $autoloadNamespaces[0];
117
+				$this->daoNamespace = $rootNamespace.'Dao';
118
+				$this->beanNamespace = $rootNamespace.'Dao\\Bean';
119
+			} else {
120
+				$this->autoloadDetected = false;
121
+				$this->daoNamespace = 'YourApplication\\Dao';
122
+				$this->beanNamespace = 'YourApplication\\Dao\\Bean';
123
+			}
124
+		} else {
125
+			$this->autoloadDetected = true;
126
+		}
127
+
128
+		$this->castDatesToDateTime = true;
129
+
130
+		$this->content->addFile(dirname(__FILE__).'/../../../../views/installStep2.php', $this);
131
+		$this->template->toHtml();
132
+	}
133
+
134
+	/**
135
+	 * This action generates the TDBM instance, then the DAOs and Beans.
136
+	 *
137
+	 * @Action
138
+	 *
139
+	 * @param string $daonamespace
140
+	 * @param string $beannamespace
141
+	 * @param int    $storeInUtc
142
+	 * @param string $selfedit
143
+	 *
144
+	 * @throws \Mouf\MoufException
145
+	 */
146
+	public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit = 'false')
147
+	{
148
+		$this->selfedit = $selfedit;
149
+
150
+		if ($selfedit == 'true') {
151
+			$this->moufManager = MoufManager::getMoufManager();
152
+		} else {
153
+			$this->moufManager = MoufManager::getMoufManagerHiddenInstance();
154
+		}
155
+
156
+		if (!$this->moufManager->instanceExists('doctrineApcCache')) {
157
+			$doctrineApcCache = $this->moufManager->createInstance('Doctrine\\Common\\Cache\\ApcCache')->setName('doctrineApcCache');
158
+			// TODO: set namespace
159
+		} else {
160
+			$doctrineApcCache = $this->moufManager->getInstanceDescriptor('doctrineApcCache');
161
+		}
162
+
163
+		if (!$this->moufManager->instanceExists('tdbmService')) {
164
+			$tdbmService = $this->moufManager->createInstance('Mouf\\Database\\TDBM\\TDBMService')->setName('tdbmService');
165
+			$tdbmService->getConstructorArgumentProperty('connection')->setValue($this->moufManager->getInstanceDescriptor('dbalConnection'));
166
+			$tdbmService->getConstructorArgumentProperty('cache')->setValue($doctrineApcCache);
167
+		}
168
+
169
+		$this->moufManager->rewriteMouf();
170
+
171
+		TdbmController::generateDaos($this->moufManager, 'tdbmService', $daonamespace, $beannamespace, 'DaoFactory', 'daoFactory', $selfedit, $storeInUtc);
172
+
173
+		InstallUtils::continueInstall($selfedit == 'true');
174
+	}
175
+
176
+	protected $errorMsg;
177
+
178
+	private function displayErrorMsg($msg)
179
+	{
180
+		$this->errorMsg = $msg;
181
+		$this->content->addFile(dirname(__FILE__).'/../../../../views/installError.php', $this);
182
+		$this->template->toHtml();
183
+	}
184 184
 }
Please login to merge, or discard this patch.