Completed
Pull Request — 3.4 (#46)
by David
22:22 queued 03:02
created
src/Mouf/Database/TDBM/AbstractTDBMObject.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -515,7 +515,7 @@
 block discarded – undo
515 515
 	/**
516 516
 	 * Returns the tables used in the filter in an array.
517 517
 	 *
518
-	 * @return array<string>
518
+	 * @return integer[]
519 519
 	 */
520 520
 	public function getUsedTables() {
521 521
 		return array_keys($this->dbRows);
Please login to merge, or discard this patch.
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -537,10 +537,10 @@  discard block
 block discarded – undo
537 537
 		return $sql_where;
538 538
 	}
539 539
 
540
-    /**
541
-     * Override the native php clone function for TDBMObjects
542
-     */
543
-    public function __clone() {
540
+	/**
541
+	 * Override the native php clone function for TDBMObjects
542
+	 */
543
+	public function __clone() {
544 544
 		// Let's clone the many to many relationships
545 545
 		if ($this->status === TDBMObjectStateEnum::STATE_DETACHED) {
546 546
 			$pivotTableList = array_keys($this->relationships);
@@ -566,10 +566,10 @@  discard block
 block discarded – undo
566 566
 		}
567 567
 
568 568
 		// Let's set the status to new (to enter the save function)
569
-        $this->status = TDBMObjectStateEnum::STATE_DETACHED;
569
+		$this->status = TDBMObjectStateEnum::STATE_DETACHED;
570 570
 
571 571
 
572
-    }
572
+	}
573 573
 
574 574
 	/**
575 575
 	 * Returns raw database rows.
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
 	 * @throws TDBMException
96 96
 	 * @throws TDBMInvalidOperationException
97 97
 	 */
98
-	public function __construct($tableName=null, array $primaryKeys=array(), TDBMService $tdbmService=null) {
98
+	public function __construct($tableName = null, array $primaryKeys = array(), TDBMService $tdbmService = null) {
99 99
 		// FIXME: lazy loading should be forbidden on tables with inheritance and dynamic type assignation...
100 100
 		if (!empty($tableName)) {
101 101
 			$this->dbRows[$tableName] = new DbRow($this, $tableName, $primaryKeys, $tdbmService);
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
 	 * $status = TDBMObjectStateEnum::STATE_LOADED when the object is cached in memory.
200 200
 	 * @param string $state
201 201
 	 */
202
-	public function _setStatus($state){
202
+	public function _setStatus($state) {
203 203
 		$this->status = $state;
204 204
 
205 205
 		// TODO: we might ignore the loaded => dirty state here! dirty status comes from the db_row itself.
@@ -210,7 +210,7 @@  discard block
 block discarded – undo
210 210
 
211 211
 	public function get($var, $tableName = null) {
212 212
 		if ($tableName === null) {
213
-			if (count($this->dbRows) > 1) {
213
+			if (count($this->dbRows)>1) {
214 214
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
215 215
 			} elseif (count($this->dbRows) === 1) {
216 216
 				$tableName = array_keys($this->dbRows)[0];
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
 	 */
237 237
 	public function has($var, $tableName = null) {
238 238
 		if ($tableName === null) {
239
-			if (count($this->dbRows) > 1) {
239
+			if (count($this->dbRows)>1) {
240 240
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
241 241
 			} elseif (count($this->dbRows) === 1) {
242 242
 				$tableName = array_keys($this->dbRows)[0];
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
 	
257 257
 	public function set($var, $value, $tableName = null) {
258 258
 		if ($tableName === null) {
259
-			if (count($this->dbRows) > 1) {
259
+			if (count($this->dbRows)>1) {
260 260
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
261 261
 			} elseif (count($this->dbRows) === 1) {
262 262
 				$tableName = array_keys($this->dbRows)[0];
@@ -281,7 +281,7 @@  discard block
 block discarded – undo
281 281
 	 */
282 282
 	public function setRef($foreignKeyName, AbstractTDBMObject $bean, $tableName = null) {
283 283
 		if ($tableName === null) {
284
-			if (count($this->dbRows) > 1) {
284
+			if (count($this->dbRows)>1) {
285 285
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
286 286
 			} elseif (count($this->dbRows) === 1) {
287 287
 				$tableName = array_keys($this->dbRows)[0];
@@ -306,7 +306,7 @@  discard block
 block discarded – undo
306 306
 	 */
307 307
 	public function getRef($foreignKeyName, $tableName = null) {
308 308
 		if ($tableName === null) {
309
-			if (count($this->dbRows) > 1) {
309
+			if (count($this->dbRows)>1) {
310 310
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
311 311
 			} elseif (count($this->dbRows) === 1) {
312 312
 				$tableName = array_keys($this->dbRows)[0];
@@ -422,13 +422,13 @@  discard block
 block discarded – undo
422 422
 	 */
423 423
 	private function setRelationship($pivotTableName, AbstractTDBMObject $remoteBean, $status) {
424 424
 		$storage = $this->getRelationshipStorage($pivotTableName);
425
-		$storage->attach($remoteBean, [ 'status' => $status, 'reverse' => false ]);
425
+		$storage->attach($remoteBean, ['status' => $status, 'reverse' => false]);
426 426
 		if ($this->status === TDBMObjectStateEnum::STATE_LOADED) {
427 427
 			$this->_setStatus(TDBMObjectStateEnum::STATE_DIRTY);
428 428
 		}
429 429
 
430 430
 		$remoteStorage = $remoteBean->getRelationshipStorage($pivotTableName);
431
-		$remoteStorage->attach($this, [ 'status' => $status, 'reverse' => true ]);
431
+		$remoteStorage->attach($this, ['status' => $status, 'reverse' => true]);
432 432
 	}
433 433
 
434 434
 	/**
@@ -522,17 +522,17 @@  discard block
 block discarded – undo
522 522
 		// Now for the object_id
523 523
 		$object_id = $this->TDBMObject_id;
524 524
 		// If there is only one primary key:
525
-		if (count($pk_table)==1) {
525
+		if (count($pk_table) == 1) {
526 526
 			$sql_where = $this->db_connection->escapeDBItem($this->dbTableName).'.'.$this->db_connection->escapeDBItem($pk_table[0])."=".$this->db_connection->quoteSmart($this->TDBMObject_id);
527 527
 		} else {
528 528
 			$ids = unserialize($object_id);
529
-			$i=0;
529
+			$i = 0;
530 530
 			$sql_where_array = array();
531 531
 			foreach ($pk_table as $pk) {
532 532
 				$sql_where_array[] = $this->db_connection->escapeDBItem($this->dbTableName).'.'.$this->db_connection->escapeDBItem($pk)."=".$this->db_connection->quoteSmart($ids[$i]);
533 533
 				$i++;
534 534
 			}
535
-			$sql_where = implode(" AND ",$sql_where_array);
535
+			$sql_where = implode(" AND ", $sql_where_array);
536 536
 		}
537 537
 		return $sql_where;
538 538
 	}
@@ -556,7 +556,7 @@  discard block
 block discarded – undo
556 556
 				$metadata = $storage[$remoteBean];
557 557
 
558 558
 				$remoteStorage = $remoteBean->getRelationshipStorage($pivotTable);
559
-				$remoteStorage->attach($this, [ 'status' => $metadata['status'], 'reverse' => !$metadata['reverse'] ]);
559
+				$remoteStorage->attach($this, ['status' => $metadata['status'], 'reverse' => !$metadata['reverse']]);
560 560
 			}
561 561
 		}
562 562
 
@@ -583,7 +583,7 @@  discard block
 block discarded – undo
583 583
 	private function registerTable($tableName) {
584 584
 		$dbRow = new DbRow($this, $tableName);
585 585
 
586
-		if (in_array($this->status, [ TDBMObjectStateEnum::STATE_NOT_LOADED, TDBMObjectStateEnum::STATE_LOADED, TDBMObjectStateEnum::STATE_DIRTY ])) {
586
+		if (in_array($this->status, [TDBMObjectStateEnum::STATE_NOT_LOADED, TDBMObjectStateEnum::STATE_LOADED, TDBMObjectStateEnum::STATE_DIRTY])) {
587 587
 			// Let's get the primary key for the new table
588 588
 			$anotherDbRow = array_values($this->dbRows)[0];
589 589
 			/* @var $anotherDbRow DbRow */
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Controllers/TdbmInstallController.php 3 patches
Doc Comments   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -138,9 +138,7 @@  discard block
 block discarded – undo
138 138
 	 * @Action
139 139
 	 * @param string $daonamespace
140 140
 	 * @param string $beannamespace
141
-	 * @param int $keepSupport
142 141
 	 * @param int $storeInUtc
143
-	 * @param int $castDatesToDateTime
144 142
 	 * @param string $selfedit
145 143
 	 * @throws \Mouf\MoufException
146 144
 	 */
@@ -168,6 +166,9 @@  discard block
 block discarded – undo
168 166
 	
169 167
 	protected $errorMsg;
170 168
 	
169
+	/**
170
+	 * @param string $msg
171
+	 */
171 172
 	private function displayErrorMsg($msg) {
172 173
 		$this->errorMsg = $msg;
173 174
 		$this->content->addFile(dirname(__FILE__)."/../../../../views/installError.php", $this);
Please login to merge, or discard this patch.
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -109,12 +109,12 @@  discard block
 block discarded – undo
109 109
 		$this->beanNamespace = $this->moufManager->getVariable("tdbmDefaultBeanNamespace_tdbmService");
110 110
 		
111 111
 		if ($this->daoNamespace == null && $this->beanNamespace == null) {
112
-            $classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
112
+			$classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
113 113
 
114
-            $autoloadNamespaces = $classNameMapper->getManagedNamespaces();
114
+			$autoloadNamespaces = $classNameMapper->getManagedNamespaces();
115 115
 			if ($autoloadNamespaces) {
116 116
 				$this->autoloadDetected = true;
117
-                $rootNamespace = $autoloadNamespaces[0];
117
+				$rootNamespace = $autoloadNamespaces[0];
118 118
 				$this->daoNamespace = $rootNamespace."Dao";
119 119
 				$this->beanNamespace = $rootNamespace."Dao\\Bean";
120 120
 			} else {
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
 	 * @param string $selfedit
145 145
 	 * @throws \Mouf\MoufException
146 146
 	 */
147
-    public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit="false") {
147
+	public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit="false") {
148 148
 		$this->selfedit = $selfedit;
149 149
 		
150 150
 		if ($selfedit == "true") {
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -144,7 +144,7 @@
 block discarded – undo
144 144
 	 * @param string $selfedit
145 145
 	 * @throws \Mouf\MoufException
146 146
 	 */
147
-    public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit="false") {
147
+    public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit = "false") {
148 148
 		$this->selfedit = $selfedit;
149 149
 		
150 150
 		if ($selfedit == "true") {
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/DbRow.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -328,7 +328,7 @@
 block discarded – undo
328 328
 	/**
329 329
 	 * Returns the tables used in the filter in an array.
330 330
 	 *
331
-	 * @return array<string>
331
+	 * @return string[]
332 332
 	 */
333 333
 	public function getUsedTables() {
334 334
 		return array($this->dbTableName);
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -94,7 +94,7 @@  discard block
 block discarded – undo
94 94
 	 * @throws TDBMException
95 95
 	 * @throws TDBMInvalidOperationException
96 96
 	 */
97
-	public function __construct(AbstractTDBMObject $object, $table_name, array $primaryKeys=array(), TDBMService $tdbmService=null, array $dbRow = array()) {
97
+	public function __construct(AbstractTDBMObject $object, $table_name, array $primaryKeys = array(), TDBMService $tdbmService = null, array $dbRow = array()) {
98 98
 		$this->object = $object;
99 99
 		$this->dbTableName = $table_name;
100 100
 
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
 	 * $status = TDBMObjectStateEnum::STATE_LOADED when the object is cached in memory.
142 142
 	 * @param string $state
143 143
 	 */
144
-	public function _setStatus($state){
144
+	public function _setStatus($state) {
145 145
 		$this->status = $state;
146 146
 	}
147 147
 
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
 			$sql = "SELECT * FROM ".$connection->quoteIdentifier($this->dbTableName)." WHERE ".$sql_where;
164 164
 			$result = $connection->executeQuery($sql, $parameters);
165 165
 
166
-			if ($result->rowCount()==0)
166
+			if ($result->rowCount() == 0)
167 167
 			{
168 168
 				throw new TDBMException("Could not retrieve object from table \"$this->dbTableName\" with ID \"".$this->TDBMObject_id."\".");
169 169
 			}
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
     /**
327 327
      * Override the native php clone function for TDBMObjects
328 328
      */
329
-    public function __clone(){
329
+    public function __clone() {
330 330
         $this->_dbLoadIfNotLoaded();
331 331
         //First lets set the status to new (to enter the save function)
332 332
         $this->status = TDBMObjectStateEnum::STATE_NEW;
@@ -358,7 +358,7 @@  discard block
 block discarded – undo
358 358
             $pkValues = array_values($firstRefDbRow->_getPrimaryKeys());
359 359
             $localColumns = $fk->getLocalColumns();
360 360
 
361
-            for ($i=0, $count=count($localColumns); $i<$count; $i++) {
361
+            for ($i = 0, $count = count($localColumns); $i<$count; $i++) {
362 362
                 $dbRow[$localColumns[$i]] = $pkValues[$i];
363 363
             }
364 364
         }
Please login to merge, or discard this patch.
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -247,36 +247,36 @@  discard block
 block discarded – undo
247 247
 	public function setRef($foreignKeyName, AbstractTDBMObject $bean = null) {
248 248
 		$this->references[$foreignKeyName] = $bean;
249 249
 
250
-        if ($this->tdbmService !== null && $this->status === TDBMObjectStateEnum::STATE_LOADED) {
251
-            $this->status = TDBMObjectStateEnum::STATE_DIRTY;
252
-            $this->tdbmService->_addToToSaveObjectList($this);
253
-        }
250
+		if ($this->tdbmService !== null && $this->status === TDBMObjectStateEnum::STATE_LOADED) {
251
+			$this->status = TDBMObjectStateEnum::STATE_DIRTY;
252
+			$this->tdbmService->_addToToSaveObjectList($this);
253
+		}
254 254
 	}
255 255
 
256
-    /**
257
-     * @param string $foreignKeyName A unique name for this reference
258
-     * @return AbstractTDBMObject|null
259
-     */
260
-    public function getRef($foreignKeyName) {
256
+	/**
257
+	 * @param string $foreignKeyName A unique name for this reference
258
+	 * @return AbstractTDBMObject|null
259
+	 */
260
+	public function getRef($foreignKeyName) {
261 261
 		if (isset($this->references[$foreignKeyName])) {
262 262
 			return $this->references[$foreignKeyName];
263 263
 		} elseif ($this->status === TDBMObjectStateEnum::STATE_NEW) {
264
-            // If the object is new and has no property, then it has to be empty.
265
-            return null;
266
-        } else {
267
-            $this->_dbLoadIfNotLoaded();
264
+			// If the object is new and has no property, then it has to be empty.
265
+			return null;
266
+		} else {
267
+			$this->_dbLoadIfNotLoaded();
268 268
 
269
-            // Let's match the name of the columns to the primary key values
270
-            $fk = $this->tdbmService->_getForeignKeyByName($this->dbTableName, $foreignKeyName);
269
+			// Let's match the name of the columns to the primary key values
270
+			$fk = $this->tdbmService->_getForeignKeyByName($this->dbTableName, $foreignKeyName);
271 271
 
272
-            $values = [];
273
-            foreach ($fk->getLocalColumns() as $column) {
274
-                $values[] = $this->dbRow[$column];
275
-            }
272
+			$values = [];
273
+			foreach ($fk->getLocalColumns() as $column) {
274
+				$values[] = $this->dbRow[$column];
275
+			}
276 276
 
277
-            $filter = array_combine($this->tdbmService->getPrimaryKeyColumns($fk->getForeignTableName()), $values);
277
+			$filter = array_combine($this->tdbmService->getPrimaryKeyColumns($fk->getForeignTableName()), $values);
278 278
 
279
-            return $this->tdbmService->findObjectByPk($fk->getForeignTableName(), $filter, [], true);
279
+			return $this->tdbmService->findObjectByPk($fk->getForeignTableName(), $filter, [], true);
280 280
 		}
281 281
 	}
282 282
 
@@ -323,26 +323,26 @@  discard block
 block discarded – undo
323 323
 		return array($this->dbTableName);
324 324
 	}
325 325
 
326
-    /**
327
-     * Override the native php clone function for TDBMObjects
328
-     */
329
-    public function __clone(){
326
+	/**
327
+	 * Override the native php clone function for TDBMObjects
328
+	 */
329
+	public function __clone(){
330 330
 		// Let's load the row (before we lose the ID!)
331 331
 		$this->_dbLoadIfNotLoaded();
332 332
 
333 333
 		//Let's set the status to detached
334
-        $this->status = TDBMObjectStateEnum::STATE_DETACHED;
334
+		$this->status = TDBMObjectStateEnum::STATE_DETACHED;
335 335
 
336 336
 		$this->primaryKeys = null;
337 337
 
338
-        //Now unset the PK from the row
338
+		//Now unset the PK from the row
339 339
 		if ($this->tdbmService) {
340 340
 			$pk_array = $this->tdbmService->getPrimaryKeyColumns($this->dbTableName);
341 341
 			foreach ($pk_array as $pk) {
342 342
 				$this->dbRow[$pk] = null;
343 343
 			}
344 344
 		}
345
-    }
345
+	}
346 346
 
347 347
 	/**
348 348
 	 * Returns raw database row.
@@ -350,35 +350,35 @@  discard block
 block discarded – undo
350 350
 	 * @return array
351 351
 	 */
352 352
 	public function _getDbRow() {
353
-        // Let's merge $dbRow and $references
354
-        $dbRow = $this->dbRow;
355
-
356
-        foreach ($this->references as $foreignKeyName => $reference) {
357
-            // Let's match the name of the columns to the primary key values
358
-            $fk = $this->tdbmService->_getForeignKeyByName($this->dbTableName, $foreignKeyName);
359
-            $refDbRows = $reference->_getDbRows();
360
-            $firstRefDbRow = reset($refDbRows);
361
-            $pkValues = array_values($firstRefDbRow->_getPrimaryKeys());
362
-            $localColumns = $fk->getLocalColumns();
363
-
364
-            for ($i=0, $count=count($localColumns); $i<$count; $i++) {
365
-                $dbRow[$localColumns[$i]] = $pkValues[$i];
366
-            }
367
-        }
353
+		// Let's merge $dbRow and $references
354
+		$dbRow = $this->dbRow;
355
+
356
+		foreach ($this->references as $foreignKeyName => $reference) {
357
+			// Let's match the name of the columns to the primary key values
358
+			$fk = $this->tdbmService->_getForeignKeyByName($this->dbTableName, $foreignKeyName);
359
+			$refDbRows = $reference->_getDbRows();
360
+			$firstRefDbRow = reset($refDbRows);
361
+			$pkValues = array_values($firstRefDbRow->_getPrimaryKeys());
362
+			$localColumns = $fk->getLocalColumns();
363
+
364
+			for ($i=0, $count=count($localColumns); $i<$count; $i++) {
365
+				$dbRow[$localColumns[$i]] = $pkValues[$i];
366
+			}
367
+		}
368 368
 
369 369
 		return $dbRow;
370 370
 	}
371 371
 
372
-    /**
373
-     * Returns references array.
374
-     *
375
-     * @return AbstractTDBMObject[]
376
-     */
377
-    public function _getReferences() {
378
-        return $this->references;
379
-    }
372
+	/**
373
+	 * Returns references array.
374
+	 *
375
+	 * @return AbstractTDBMObject[]
376
+	 */
377
+	public function _getReferences() {
378
+		return $this->references;
379
+	}
380 380
 
381
-    /**
381
+	/**
382 382
 	 * @return array
383 383
 	 */
384 384
 	public function _getPrimaryKeys()
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/PageIterator.php 3 patches
Doc Comments   +4 added lines, -1 removed lines patch added patch discarded remove patch
@@ -63,6 +63,9 @@  discard block
 block discarded – undo
63 63
 
64 64
 	private $innerResultIterator;
65 65
 
66
+	/**
67
+	 * @param integer $offset
68
+	 */
66 69
 	public function __construct(ResultIterator $parentResult, $magicSql, array $parameters, $limit, $offset, array $columnDescriptors, $objectStorage, $className, TDBMService $tdbmService, MagicQuery $magicQuery, $mode)
67 70
 	{
68 71
 		$this->parentResult = $parentResult;
@@ -108,7 +111,7 @@  discard block
 block discarded – undo
108 111
 	}
109 112
 
110 113
 	/**
111
-	 * @return int
114
+	 * @return double
112 115
 	 */
113 116
 	public function getCurrentPage()
114 117
 	{
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -112,7 +112,7 @@
 block discarded – undo
112 112
 	 */
113 113
 	public function getCurrentPage()
114 114
 	{
115
-		return floor($this->offset / $this->limit) + 1;
115
+		return floor($this->offset/$this->limit)+1;
116 116
 	}
117 117
 
118 118
 	/**
Please login to merge, or discard this patch.
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -18,7 +18,6 @@
 block discarded – undo
18 18
  along with this program; if not, write to the Free Software
19 19
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 20
  */
21
-use Doctrine\DBAL\Driver\Connection;
22 21
 
23 22
 
24 23
 /**
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/TDBMObject.php 4 patches
Doc Comments   +7 added lines patch added patch discarded remove patch
@@ -35,6 +35,9 @@  discard block
 block discarded – undo
35 35
 class TDBMObject extends AbstractTDBMObject implements \ArrayAccess, \Iterator
36 36
 {
37 37
 
38
+    /**
39
+     * @param string $var
40
+     */
38 41
     public function __get($var)
39 42
     {
40 43
         return $this->get($var);
@@ -51,6 +54,10 @@  discard block
 block discarded – undo
51 54
         return $this->has($var);
52 55
     }
53 56
 
57
+    /**
58
+     * @param string $var
59
+     * @param string|null $value
60
+     */
54 61
     public function __set($var, $value)
55 62
     {
56 63
         $this->set($var, $value);
Please login to merge, or discard this patch.
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -18,7 +18,6 @@
 block discarded – undo
18 18
  along with this program; if not, write to the Free Software
19 19
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 20
  */
21
-use Doctrine\DBAL\Driver\Connection;
22 21
 
23 22
 
24 23
 /**
Please login to merge, or discard this patch.
Indentation   +113 added lines, -113 removed lines patch added patch discarded remove patch
@@ -35,117 +35,117 @@
 block discarded – undo
35 35
 class TDBMObject extends AbstractTDBMObject implements \ArrayAccess, \Iterator
36 36
 {
37 37
 
38
-    public function __get($var)
39
-    {
40
-        return $this->get($var);
41
-    }
42
-
43
-    /**
44
-     * Returns true if a column is set, false otherwise.
45
-     *
46
-     * @param string $var
47
-     * @return boolean
48
-     */
49
-    public function __isset($var)
50
-    {
51
-        return $this->has($var);
52
-    }
53
-
54
-    public function __set($var, $value)
55
-    {
56
-        $this->set($var, $value);
57
-    }
58
-
59
-    /**
60
-     * Implements array behaviour for our object.
61
-     *
62
-     * @param string $offset
63
-     * @param string $value
64
-     */
65
-    public function offsetSet($offset, $value)
66
-    {
67
-        $this->__set($offset, $value);
68
-    }
69
-
70
-    /**
71
-     * Implements array behaviour for our object.
72
-     *
73
-     * @param string $offset
74
-     * @return bool
75
-     */
76
-    public function offsetExists($offset)
77
-    {
78
-        $this->_dbLoadIfNotLoaded();
79
-        return isset($this->dbRow[$offset]);
80
-    }
81
-
82
-    /**
83
-     * Implements array behaviour for our object.
84
-     *
85
-     * @param string $offset
86
-     */
87
-    public function offsetUnset($offset)
88
-    {
89
-        $this->__set($offset, null);
90
-    }
91
-
92
-    /**
93
-     * Implements array behaviour for our object.
94
-     *
95
-     * @param string $offset
96
-     * @return mixed|null
97
-     */
98
-    public function offsetGet($offset)
99
-    {
100
-        return $this->__get($offset);
101
-    }
102
-
103
-    private $_validIterator = false;
104
-
105
-    /**
106
-     * Implements iterator behaviour for our object (so we can each column).
107
-     */
108
-    public function rewind()
109
-    {
110
-        $this->_dbLoadIfNotLoaded();
111
-        if (count($this->dbRow) > 0) {
112
-            $this->_validIterator = true;
113
-        } else {
114
-            $this->_validIterator = false;
115
-        }
116
-        reset($this->dbRow);
117
-    }
118
-
119
-    /**
120
-     * Implements iterator behaviour for our object (so we can each column).
121
-     */
122
-    public function next()
123
-    {
124
-        $val = next($this->dbRow);
125
-        $this->_validIterator = !($val === false);
126
-    }
127
-
128
-    /**
129
-     * Implements iterator behaviour for our object (so we can each column).
130
-     */
131
-    public function key()
132
-    {
133
-        return key($this->dbRow);
134
-    }
135
-
136
-    /**
137
-     * Implements iterator behaviour for our object (so we can each column).
138
-     */
139
-    public function current()
140
-    {
141
-        return current($this->dbRow);
142
-    }
143
-
144
-    /**
145
-     * Implements iterator behaviour for our object (so we can each column).
146
-     */
147
-    public function valid()
148
-    {
149
-        return $this->_validIterator;
150
-    }
38
+	public function __get($var)
39
+	{
40
+		return $this->get($var);
41
+	}
42
+
43
+	/**
44
+	 * Returns true if a column is set, false otherwise.
45
+	 *
46
+	 * @param string $var
47
+	 * @return boolean
48
+	 */
49
+	public function __isset($var)
50
+	{
51
+		return $this->has($var);
52
+	}
53
+
54
+	public function __set($var, $value)
55
+	{
56
+		$this->set($var, $value);
57
+	}
58
+
59
+	/**
60
+	 * Implements array behaviour for our object.
61
+	 *
62
+	 * @param string $offset
63
+	 * @param string $value
64
+	 */
65
+	public function offsetSet($offset, $value)
66
+	{
67
+		$this->__set($offset, $value);
68
+	}
69
+
70
+	/**
71
+	 * Implements array behaviour for our object.
72
+	 *
73
+	 * @param string $offset
74
+	 * @return bool
75
+	 */
76
+	public function offsetExists($offset)
77
+	{
78
+		$this->_dbLoadIfNotLoaded();
79
+		return isset($this->dbRow[$offset]);
80
+	}
81
+
82
+	/**
83
+	 * Implements array behaviour for our object.
84
+	 *
85
+	 * @param string $offset
86
+	 */
87
+	public function offsetUnset($offset)
88
+	{
89
+		$this->__set($offset, null);
90
+	}
91
+
92
+	/**
93
+	 * Implements array behaviour for our object.
94
+	 *
95
+	 * @param string $offset
96
+	 * @return mixed|null
97
+	 */
98
+	public function offsetGet($offset)
99
+	{
100
+		return $this->__get($offset);
101
+	}
102
+
103
+	private $_validIterator = false;
104
+
105
+	/**
106
+	 * Implements iterator behaviour for our object (so we can each column).
107
+	 */
108
+	public function rewind()
109
+	{
110
+		$this->_dbLoadIfNotLoaded();
111
+		if (count($this->dbRow) > 0) {
112
+			$this->_validIterator = true;
113
+		} else {
114
+			$this->_validIterator = false;
115
+		}
116
+		reset($this->dbRow);
117
+	}
118
+
119
+	/**
120
+	 * Implements iterator behaviour for our object (so we can each column).
121
+	 */
122
+	public function next()
123
+	{
124
+		$val = next($this->dbRow);
125
+		$this->_validIterator = !($val === false);
126
+	}
127
+
128
+	/**
129
+	 * Implements iterator behaviour for our object (so we can each column).
130
+	 */
131
+	public function key()
132
+	{
133
+		return key($this->dbRow);
134
+	}
135
+
136
+	/**
137
+	 * Implements iterator behaviour for our object (so we can each column).
138
+	 */
139
+	public function current()
140
+	{
141
+		return current($this->dbRow);
142
+	}
143
+
144
+	/**
145
+	 * Implements iterator behaviour for our object (so we can each column).
146
+	 */
147
+	public function valid()
148
+	{
149
+		return $this->_validIterator;
150
+	}
151 151
 }
152 152
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -108,7 +108,7 @@
 block discarded – undo
108 108
     public function rewind()
109 109
     {
110 110
         $this->_dbLoadIfNotLoaded();
111
-        if (count($this->dbRow) > 0) {
111
+        if (count($this->dbRow)>0) {
112 112
             $this->_validIterator = true;
113 113
         } else {
114 114
             $this->_validIterator = false;
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Utils/ScalarBeanPropertyDescriptor.php 2 patches
Doc Comments   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -27,8 +27,7 @@
 block discarded – undo
27 27
     /**
28 28
      * Returns the foreignkey the column is part of, if any. null otherwise.
29 29
      *
30
-     * @param Column $column
31
-     * @return ForeignKeyConstraint|null
30
+     * @return boolean
32 31
      */
33 32
     public function getForeignKey() {
34 33
         return false;
Please login to merge, or discard this patch.
Indentation   +118 added lines, -118 removed lines patch added patch discarded remove patch
@@ -12,88 +12,88 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class ScalarBeanPropertyDescriptor extends AbstractBeanPropertyDescriptor
14 14
 {
15
-    /**
16
-     * @var Column
17
-     */
18
-    private $column;
19
-
20
-
21
-    public function __construct(Table $table, Column $column) {
22
-        parent::__construct($table);
23
-        $this->table = $table;
24
-        $this->column = $column;
25
-    }
26
-
27
-    /**
28
-     * Returns the foreignkey the column is part of, if any. null otherwise.
29
-     *
30
-     * @param Column $column
31
-     * @return ForeignKeyConstraint|null
32
-     */
33
-    public function getForeignKey() {
34
-        return false;
35
-    }
36
-
37
-    /**
38
-     * Returns the param annotation for this property (useful for constructor).
39
-     *
40
-     * @return string
41
-     */
42
-    public function getParamAnnotation() {
43
-        $className = $this->getClassName();
44
-        $paramType = $className ?: TDBMDaoGenerator::dbalTypeToPhpType($this->column->getType());
45
-
46
-        $str = "     * @param %s %s";
47
-        return sprintf($str, $paramType, $this->getVariableName());
48
-    }
49
-
50
-    public function getUpperCamelCaseName() {
51
-        return TDBMDaoGenerator::toCamelCase($this->column->getName());
52
-    }
53
-
54
-    /**
55
-     * Returns the name of the class linked to this property or null if this is not a foreign key
56
-     * @return null|string
57
-     */
58
-    public function getClassName() {
59
-        return null;
60
-    }
61
-
62
-    /**
63
-     * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
64
-     * @return bool
65
-     */
66
-    public function isCompulsory() {
67
-        return $this->column->getNotnull() && !$this->column->getAutoincrement();
68
-    }
69
-
70
-    /**
71
-     * Returns true if the property is the primary key
72
-     * @return bool
73
-     */
74
-    public function isPrimaryKey() {
75
-        return in_array($this->column->getName(), $this->table->getPrimaryKeyColumns());
76
-    }
77
-
78
-    /**
79
-     * Returns the PHP code for getters and setters
80
-     * @return string
81
-     */
82
-    public function getGetterSetterCode() {
83
-
84
-        $type = $this->column->getType();
85
-        $normalizedType = TDBMDaoGenerator::dbalTypeToPhpType($type);
86
-
87
-        $columnGetterName = $this->getGetterName();
88
-        $columnSetterName = $this->getSetterName();
89
-
90
-        if ($normalizedType == "\\DateTimeInterface") {
91
-            $castTo = "\\DateTimeInterface ";
92
-        } else {
93
-            $castTo = "";
94
-        }
95
-
96
-        $getterAndSetterCode = '    /**
15
+	/**
16
+	 * @var Column
17
+	 */
18
+	private $column;
19
+
20
+
21
+	public function __construct(Table $table, Column $column) {
22
+		parent::__construct($table);
23
+		$this->table = $table;
24
+		$this->column = $column;
25
+	}
26
+
27
+	/**
28
+	 * Returns the foreignkey the column is part of, if any. null otherwise.
29
+	 *
30
+	 * @param Column $column
31
+	 * @return ForeignKeyConstraint|null
32
+	 */
33
+	public function getForeignKey() {
34
+		return false;
35
+	}
36
+
37
+	/**
38
+	 * Returns the param annotation for this property (useful for constructor).
39
+	 *
40
+	 * @return string
41
+	 */
42
+	public function getParamAnnotation() {
43
+		$className = $this->getClassName();
44
+		$paramType = $className ?: TDBMDaoGenerator::dbalTypeToPhpType($this->column->getType());
45
+
46
+		$str = "     * @param %s %s";
47
+		return sprintf($str, $paramType, $this->getVariableName());
48
+	}
49
+
50
+	public function getUpperCamelCaseName() {
51
+		return TDBMDaoGenerator::toCamelCase($this->column->getName());
52
+	}
53
+
54
+	/**
55
+	 * Returns the name of the class linked to this property or null if this is not a foreign key
56
+	 * @return null|string
57
+	 */
58
+	public function getClassName() {
59
+		return null;
60
+	}
61
+
62
+	/**
63
+	 * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
64
+	 * @return bool
65
+	 */
66
+	public function isCompulsory() {
67
+		return $this->column->getNotnull() && !$this->column->getAutoincrement();
68
+	}
69
+
70
+	/**
71
+	 * Returns true if the property is the primary key
72
+	 * @return bool
73
+	 */
74
+	public function isPrimaryKey() {
75
+		return in_array($this->column->getName(), $this->table->getPrimaryKeyColumns());
76
+	}
77
+
78
+	/**
79
+	 * Returns the PHP code for getters and setters
80
+	 * @return string
81
+	 */
82
+	public function getGetterSetterCode() {
83
+
84
+		$type = $this->column->getType();
85
+		$normalizedType = TDBMDaoGenerator::dbalTypeToPhpType($type);
86
+
87
+		$columnGetterName = $this->getGetterName();
88
+		$columnSetterName = $this->getSetterName();
89
+
90
+		if ($normalizedType == "\\DateTimeInterface") {
91
+			$castTo = "\\DateTimeInterface ";
92
+		} else {
93
+			$castTo = "";
94
+		}
95
+
96
+		$getterAndSetterCode = '    /**
97 97
      * The getter for the "%s" column.
98 98
      *
99 99
      * @return %s
@@ -112,40 +112,40 @@  discard block
 block discarded – undo
112 112
     }
113 113
 
114 114
 ';
115
-        return sprintf($getterAndSetterCode,
116
-            // Getter
117
-            $this->column->getName(),
118
-            $normalizedType,
119
-            $columnGetterName,
120
-            var_export($this->column->getName(), true),
121
-            var_export($this->table->getName(), true),
122
-            // Setter
123
-            $this->column->getName(),
124
-            $normalizedType,
125
-            $this->column->getName(),
126
-            $columnSetterName,
127
-            $castTo,
128
-            $this->column->getName(),
129
-            var_export($this->column->getName(), true),
130
-            $this->column->getName(),
131
-            var_export($this->table->getName(), true)
132
-        );
133
-    }
134
-
135
-    /**
136
-     * Returns the part of code useful when doing json serialization.
137
-     *
138
-     * @return string
139
-     */
140
-    public function getJsonSerializeCode()
141
-    {
142
-        $type = $this->column->getType();
143
-        $normalizedType = TDBMDaoGenerator::dbalTypeToPhpType($type);
144
-
145
-        if ($normalizedType == "\\DateTimeInterface") {
146
-            return '        $array['.var_export($this->getLowerCamelCaseName(), true).'] = $this->'.$this->getGetterName()."()->format('c');\n";
147
-        } else {
148
-            return '        $array['.var_export($this->getLowerCamelCaseName(), true).'] = $this->'.$this->getGetterName()."();\n";
149
-        }
150
-    }
115
+		return sprintf($getterAndSetterCode,
116
+			// Getter
117
+			$this->column->getName(),
118
+			$normalizedType,
119
+			$columnGetterName,
120
+			var_export($this->column->getName(), true),
121
+			var_export($this->table->getName(), true),
122
+			// Setter
123
+			$this->column->getName(),
124
+			$normalizedType,
125
+			$this->column->getName(),
126
+			$columnSetterName,
127
+			$castTo,
128
+			$this->column->getName(),
129
+			var_export($this->column->getName(), true),
130
+			$this->column->getName(),
131
+			var_export($this->table->getName(), true)
132
+		);
133
+	}
134
+
135
+	/**
136
+	 * Returns the part of code useful when doing json serialization.
137
+	 *
138
+	 * @return string
139
+	 */
140
+	public function getJsonSerializeCode()
141
+	{
142
+		$type = $this->column->getType();
143
+		$normalizedType = TDBMDaoGenerator::dbalTypeToPhpType($type);
144
+
145
+		if ($normalizedType == "\\DateTimeInterface") {
146
+			return '        $array['.var_export($this->getLowerCamelCaseName(), true).'] = $this->'.$this->getGetterName()."()->format('c');\n";
147
+		} else {
148
+			return '        $array['.var_export($this->getLowerCamelCaseName(), true).'] = $this->'.$this->getGetterName()."();\n";
149
+		}
150
+	}
151 151
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Utils/TDBMDaoGenerator.php 5 patches
Unused Use Statements   -2 removed lines patch added patch discarded remove patch
@@ -2,8 +2,6 @@
 block discarded – undo
2 2
 namespace Mouf\Database\TDBM\Utils;
3 3
 
4 4
 use Doctrine\DBAL\Driver\Connection;
5
-use Doctrine\DBAL\Schema\Column;
6
-use Doctrine\DBAL\Schema\ForeignKeyConstraint;
7 5
 use Doctrine\DBAL\Schema\Schema;
8 6
 use Doctrine\DBAL\Schema\Table;
9 7
 use Doctrine\DBAL\Types\Type;
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -206,7 +206,7 @@  discard block
 block discarded – undo
206 206
 
207 207
 }";
208 208
             $this->ensureDirectoryExist($possibleFileName);
209
-            file_put_contents($possibleFileName ,$str);
209
+            file_put_contents($possibleFileName, $str);
210 210
             @chmod($possibleFileName, 0664);
211 211
         }
212 212
     }
@@ -226,11 +226,11 @@  discard block
 block discarded – undo
226 226
         foreach ($table->getColumns() as $column) {
227 227
             $comments = $column->getComment();
228 228
             $matches = array();
229
-            if (preg_match('/@defaultSort(\((desc|asc)\))*/', $comments, $matches) != 0){
229
+            if (preg_match('/@defaultSort(\((desc|asc)\))*/', $comments, $matches) != 0) {
230 230
                 $defaultSort = $data['column_name'];
231
-                if (count($matches == 3)){
231
+                if (count($matches == 3)) {
232 232
                     $defaultSortDirection = $matches[2];
233
-                }else{
233
+                } else {
234 234
                     $defaultSortDirection = 'ASC';
235 235
                 }
236 236
             }
@@ -416,7 +416,7 @@  discard block
 block discarded – undo
416 416
         $possibleBaseFileName = $this->rootPath.$possibleBaseFileNames[0];
417 417
 
418 418
         $this->ensureDirectoryExist($possibleBaseFileName);
419
-        file_put_contents($possibleBaseFileName ,$str);
419
+        file_put_contents($possibleBaseFileName, $str);
420 420
         @chmod($possibleBaseFileName, 0664);
421 421
 
422 422
         $possibleFileNames = $classNameMapper->getPossibleFileNames($daonamespace."\\".$className);
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
 }
448 448
 ";
449 449
             $this->ensureDirectoryExist($possibleFileName);
450
-            file_put_contents($possibleFileName ,$str);
450
+            file_put_contents($possibleFileName, $str);
451 451
             @chmod($possibleFileName, 0664);
452 452
         }
453 453
     }
@@ -523,7 +523,7 @@  discard block
 block discarded – undo
523 523
         $possibleFileName = $this->rootPath.$possibleFileNames[0];
524 524
 
525 525
         $this->ensureDirectoryExist($possibleFileName);
526
-        file_put_contents($possibleFileName ,$str);
526
+        file_put_contents($possibleFileName, $str);
527 527
     }
528 528
 
529 529
     /**
@@ -534,7 +534,7 @@  discard block
 block discarded – undo
534 534
      * @return string
535 535
      */
536 536
     public static function toCamelCase($str) {
537
-        $str = strtoupper(substr($str,0,1)).substr($str,1);
537
+        $str = strtoupper(substr($str, 0, 1)).substr($str, 1);
538 538
         while (true) {
539 539
             if (strpos($str, "_") === false && strpos($str, " ") === false) {
540 540
                 break;
@@ -544,9 +544,9 @@  discard block
 block discarded – undo
544 544
             if ($pos === false) {
545 545
                 $pos = strpos($str, " ");
546 546
             }
547
-            $before = substr($str,0,$pos);
548
-            $after = substr($str,$pos+1);
549
-            $str = $before.strtoupper(substr($after,0,1)).substr($after,1);
547
+            $before = substr($str, 0, $pos);
548
+            $after = substr($str, $pos+1);
549
+            $str = $before.strtoupper(substr($after, 0, 1)).substr($after, 1);
550 550
         }
551 551
         return $str;
552 552
     }
@@ -627,7 +627,7 @@  discard block
 block discarded – undo
627 627
             Type::GUID => 'string'
628 628
         ];
629 629
 
630
-        return isset($map[$type->getName()])?$map[$type->getName()]:$type->getName();
630
+        return isset($map[$type->getName()]) ? $map[$type->getName()] : $type->getName();
631 631
     }
632 632
 
633 633
     /**
@@ -642,7 +642,7 @@  discard block
 block discarded – undo
642 642
 
643 643
         foreach ($tables as $table) {
644 644
             $tableName = $table->getName();
645
-            $tableToBeanMap[$tableName] = $beanNamespace . "\\" . self::getBeanNameFromTableName($tableName);
645
+            $tableToBeanMap[$tableName] = $beanNamespace."\\".self::getBeanNameFromTableName($tableName);
646 646
         }
647 647
         return $tableToBeanMap;
648 648
     }
Please login to merge, or discard this patch.
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -230,7 +230,7 @@
 block discarded – undo
230 230
                 $defaultSort = $data['column_name'];
231 231
                 if (count($matches == 3)){
232 232
                     $defaultSortDirection = $matches[2];
233
-                }else{
233
+                } else{
234 234
                     $defaultSortDirection = 'ASC';
235 235
                 }
236 236
             }
Please login to merge, or discard this patch.
Doc Comments   +10 added lines, -5 removed lines patch added patch discarded remove patch
@@ -47,7 +47,6 @@  discard block
 block discarded – undo
47 47
     /**
48 48
      * Constructor.
49 49
      *
50
-     * @param Connection $dbConnection The connection to the database.
51 50
      */
52 51
     public function __construct(SchemaAnalyzer $schemaAnalyzer, Schema $schema, TDBMSchemaAnalyzer $tdbmSchemaAnalyzer) {
53 52
         $this->schemaAnalyzer = $schemaAnalyzer;
@@ -100,6 +99,9 @@  discard block
 block discarded – undo
100 99
      * Generates in one method call the daos and the beans for one table.
101 100
      * 
102 101
      * @param $tableName
102
+     * @param string $daonamespace
103
+     * @param string $beannamespace
104
+     * @param boolean $storeInUtc
103 105
      */
104 106
     public function generateDaoAndBean(Table $table, $daonamespace, $beannamespace, ClassNameMapper $classNameMapper, $storeInUtc) {
105 107
 		$tableName = $table->getName();
@@ -135,7 +137,7 @@  discard block
 block discarded – undo
135 137
     /**
136 138
      * Returns the name of the base bean class from the table name.
137 139
      * 
138
-     * @param $tableName
140
+     * @param string $tableName
139 141
      * @return string
140 142
      */
141 143
     public static function getBaseBeanNameFromTableName($tableName) {
@@ -145,7 +147,7 @@  discard block
 block discarded – undo
145 147
     /**
146 148
      * Returns the name of the base DAO class from the table name.
147 149
      *
148
-     * @param $tableName
150
+     * @param string $tableName
149 151
      * @return string
150 152
      */
151 153
     public static function getBaseDaoNameFromTableName($tableName) {
@@ -215,9 +217,10 @@  discard block
 block discarded – undo
215 217
     /**
216 218
      * Writes the PHP bean DAO with simple functions to create/get/save objects.
217 219
      *
218
-     * @param string $fileName The file that will be written (without the directory)
219 220
      * @param string $className The name of the class
220
-     * @param string $tableName The name of the table
221
+     * @param string $table The name of the table
222
+     * @param string $baseClassName
223
+     * @param string $beanClassName
221 224
      */
222 225
     public function generateDao($className, $baseClassName, $beanClassName, Table $table, $daonamespace, $beannamespace, ClassNameMapper $classNameMapper) {
223 226
         $tableName = $table->getName();
@@ -461,6 +464,8 @@  discard block
 block discarded – undo
461 464
      * Generates the factory bean.
462 465
      * 
463 466
      * @param Table[] $tableList
467
+     * @param string $daoFactoryClassName
468
+     * @param string $daoNamespace
464 469
      */
465 470
     private function generateFactory(array $tableList, $daoFactoryClassName, $daoNamespace, ClassNameMapper $classNameMapper) {
466 471
         // For each table, let's write a property.
Please login to merge, or discard this patch.
Indentation   +373 added lines, -373 removed lines patch added patch discarded remove patch
@@ -20,178 +20,178 @@  discard block
 block discarded – undo
20 20
  */
21 21
 class TDBMDaoGenerator {
22 22
 
23
-    /**
24
-     * 
25
-     * @var SchemaAnalyzer
26
-     */
27
-    private $schemaAnalyzer;
28
-
29
-    /**
30
-     *
31
-     * @var Schema
32
-     */
33
-    private $schema;
34
-
35
-    /**
36
-     * The root directory of the project.
37
-     *
38
-     * @var string
39
-     */
40
-    private $rootPath;
41
-
42
-    /**
43
-     * @var TDBMSchemaAnalyzer
44
-     */
45
-    private $tdbmSchemaAnalyzer;
46
-
47
-    /**
48
-     * Constructor.
49
-     *
50
-     * @param Connection $dbConnection The connection to the database.
51
-     */
52
-    public function __construct(SchemaAnalyzer $schemaAnalyzer, Schema $schema, TDBMSchemaAnalyzer $tdbmSchemaAnalyzer) {
53
-        $this->schemaAnalyzer = $schemaAnalyzer;
54
-        $this->schema = $schema;
55
-        $this->tdbmSchemaAnalyzer = $tdbmSchemaAnalyzer;
56
-        $this->rootPath = __DIR__."/../../../../../../../../";
57
-    }
58
-
59
-    /**
60
-     * Generates all the daos and beans.
61
-     *
62
-     * @param string $daoFactoryClassName The classe name of the DAO factory
63
-     * @param string $daonamespace The namespace for the DAOs, without trailing \
64
-     * @param string $beannamespace The Namespace for the beans, without trailing \
65
-     * @param bool $storeInUtc If the generated daos should store the date in UTC timezone instead of user's timezone.
66
-     * @return \string[] the list of tables
67
-     * @throws TDBMException
68
-     */
69
-    public function generateAllDaosAndBeans($daoFactoryClassName, $daonamespace, $beannamespace, $storeInUtc) {
70
-        // TODO: extract ClassNameMapper in its own package!
71
-        $classNameMapper = ClassNameMapper::createFromComposerFile($this->rootPath.'composer.json');
72
-
73
-        // TODO: check that no class name ends with "Base". Otherwise, there will be name clash.
74
-
75
-        $tableList = $this->schema->getTables();
76
-
77
-        // Remove all beans and daos from junction tables
78
-        $junctionTables = $this->schemaAnalyzer->detectJunctionTables();
79
-        $junctionTableNames = array_map(function(Table $table) {
80
-            return $table->getName();
81
-        }, $junctionTables);
82
-
83
-        $tableList = array_filter($tableList, function(Table $table) use ($junctionTableNames) {
84
-            return !in_array($table->getName(), $junctionTableNames);
85
-        });
86
-
87
-        foreach ($tableList as $table) {
88
-            $this->generateDaoAndBean($table, $daonamespace, $beannamespace, $classNameMapper, $storeInUtc);
89
-        }
23
+	/**
24
+	 * 
25
+	 * @var SchemaAnalyzer
26
+	 */
27
+	private $schemaAnalyzer;
28
+
29
+	/**
30
+	 *
31
+	 * @var Schema
32
+	 */
33
+	private $schema;
34
+
35
+	/**
36
+	 * The root directory of the project.
37
+	 *
38
+	 * @var string
39
+	 */
40
+	private $rootPath;
41
+
42
+	/**
43
+	 * @var TDBMSchemaAnalyzer
44
+	 */
45
+	private $tdbmSchemaAnalyzer;
46
+
47
+	/**
48
+	 * Constructor.
49
+	 *
50
+	 * @param Connection $dbConnection The connection to the database.
51
+	 */
52
+	public function __construct(SchemaAnalyzer $schemaAnalyzer, Schema $schema, TDBMSchemaAnalyzer $tdbmSchemaAnalyzer) {
53
+		$this->schemaAnalyzer = $schemaAnalyzer;
54
+		$this->schema = $schema;
55
+		$this->tdbmSchemaAnalyzer = $tdbmSchemaAnalyzer;
56
+		$this->rootPath = __DIR__."/../../../../../../../../";
57
+	}
58
+
59
+	/**
60
+	 * Generates all the daos and beans.
61
+	 *
62
+	 * @param string $daoFactoryClassName The classe name of the DAO factory
63
+	 * @param string $daonamespace The namespace for the DAOs, without trailing \
64
+	 * @param string $beannamespace The Namespace for the beans, without trailing \
65
+	 * @param bool $storeInUtc If the generated daos should store the date in UTC timezone instead of user's timezone.
66
+	 * @return \string[] the list of tables
67
+	 * @throws TDBMException
68
+	 */
69
+	public function generateAllDaosAndBeans($daoFactoryClassName, $daonamespace, $beannamespace, $storeInUtc) {
70
+		// TODO: extract ClassNameMapper in its own package!
71
+		$classNameMapper = ClassNameMapper::createFromComposerFile($this->rootPath.'composer.json');
72
+
73
+		// TODO: check that no class name ends with "Base". Otherwise, there will be name clash.
74
+
75
+		$tableList = $this->schema->getTables();
76
+
77
+		// Remove all beans and daos from junction tables
78
+		$junctionTables = $this->schemaAnalyzer->detectJunctionTables();
79
+		$junctionTableNames = array_map(function(Table $table) {
80
+			return $table->getName();
81
+		}, $junctionTables);
82
+
83
+		$tableList = array_filter($tableList, function(Table $table) use ($junctionTableNames) {
84
+			return !in_array($table->getName(), $junctionTableNames);
85
+		});
86
+
87
+		foreach ($tableList as $table) {
88
+			$this->generateDaoAndBean($table, $daonamespace, $beannamespace, $classNameMapper, $storeInUtc);
89
+		}
90 90
         
91
-        $this->generateFactory($tableList, $daoFactoryClassName, $daonamespace, $classNameMapper);
91
+		$this->generateFactory($tableList, $daoFactoryClassName, $daonamespace, $classNameMapper);
92 92
 
93
-        // Ok, let's return the list of all tables.
94
-        // These will be used by the calling script to create Mouf instances.
93
+		// Ok, let's return the list of all tables.
94
+		// These will be used by the calling script to create Mouf instances.
95 95
         
96
-        return array_map(function(Table $table) { return $table->getName(); },$tableList);
97
-    }
96
+		return array_map(function(Table $table) { return $table->getName(); },$tableList);
97
+	}
98 98
     
99
-    /**
100
-     * Generates in one method call the daos and the beans for one table.
101
-     * 
102
-     * @param $tableName
103
-     */
104
-    public function generateDaoAndBean(Table $table, $daonamespace, $beannamespace, ClassNameMapper $classNameMapper, $storeInUtc) {
99
+	/**
100
+	 * Generates in one method call the daos and the beans for one table.
101
+	 * 
102
+	 * @param $tableName
103
+	 */
104
+	public function generateDaoAndBean(Table $table, $daonamespace, $beannamespace, ClassNameMapper $classNameMapper, $storeInUtc) {
105 105
 		$tableName = $table->getName();
106
-        $daoName = $this->getDaoNameFromTableName($tableName);
107
-        $beanName = $this->getBeanNameFromTableName($tableName);
108
-        $baseBeanName = $this->getBaseBeanNameFromTableName($tableName);
109
-        $baseDaoName = $this->getBaseDaoNameFromTableName($tableName);
110
-
111
-        $this->generateBean($beanName, $baseBeanName, $table, $beannamespace, $classNameMapper, $storeInUtc);
112
-        $this->generateDao($daoName, $baseDaoName, $beanName, $table, $daonamespace, $beannamespace, $classNameMapper);
113
-    }
106
+		$daoName = $this->getDaoNameFromTableName($tableName);
107
+		$beanName = $this->getBeanNameFromTableName($tableName);
108
+		$baseBeanName = $this->getBaseBeanNameFromTableName($tableName);
109
+		$baseDaoName = $this->getBaseDaoNameFromTableName($tableName);
110
+
111
+		$this->generateBean($beanName, $baseBeanName, $table, $beannamespace, $classNameMapper, $storeInUtc);
112
+		$this->generateDao($daoName, $baseDaoName, $beanName, $table, $daonamespace, $beannamespace, $classNameMapper);
113
+	}
114 114
     
115
-    /**
116
-     * Returns the name of the bean class from the table name.
117
-     * 
118
-     * @param $tableName
119
-     * @return string
120
-     */
121
-    public static function getBeanNameFromTableName($tableName) {
122
-        return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."Bean";
123
-    }
115
+	/**
116
+	 * Returns the name of the bean class from the table name.
117
+	 * 
118
+	 * @param $tableName
119
+	 * @return string
120
+	 */
121
+	public static function getBeanNameFromTableName($tableName) {
122
+		return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."Bean";
123
+	}
124 124
     
125
-    /**
126
-     * Returns the name of the DAO class from the table name.
127
-     * 
128
-     * @param $tableName
129
-     * @return string
130
-     */
131
-    public static function getDaoNameFromTableName($tableName) {
132
-        return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."Dao";
133
-    }
125
+	/**
126
+	 * Returns the name of the DAO class from the table name.
127
+	 * 
128
+	 * @param $tableName
129
+	 * @return string
130
+	 */
131
+	public static function getDaoNameFromTableName($tableName) {
132
+		return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."Dao";
133
+	}
134 134
     
135
-    /**
136
-     * Returns the name of the base bean class from the table name.
137
-     * 
138
-     * @param $tableName
139
-     * @return string
140
-     */
141
-    public static function getBaseBeanNameFromTableName($tableName) {
142
-        return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."BaseBean";
143
-    }
144
-
145
-    /**
146
-     * Returns the name of the base DAO class from the table name.
147
-     *
148
-     * @param $tableName
149
-     * @return string
150
-     */
151
-    public static function getBaseDaoNameFromTableName($tableName) {
152
-        return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."BaseDao";
153
-    }
154
-
155
-    /**
156
-     * Writes the PHP bean file with all getters and setters from the table passed in parameter.
157
-     *
158
-     * @param string $className The name of the class
159
-     * @param string $baseClassName The name of the base class which will be extended (name only, no directory)
160
-     * @param Table $table The table
161
-     * @param string $beannamespace The namespace of the bean
162
-     * @param ClassNameMapper $classNameMapper
163
-     * @throws TDBMException
164
-     */
165
-    public function generateBean($className, $baseClassName, Table $table, $beannamespace, ClassNameMapper $classNameMapper, $storeInUtc) {
166
-
167
-        $beanDescriptor = new BeanDescriptor($table, $this->schemaAnalyzer, $this->schema, $this->tdbmSchemaAnalyzer);
168
-
169
-        $str = $beanDescriptor->generatePhpCode($beannamespace);
170
-
171
-        $possibleBaseFileNames = $classNameMapper->getPossibleFileNames($beannamespace."\\".$baseClassName);
172
-        if (!$possibleBaseFileNames) {
173
-            throw new TDBMException('Sorry, autoload namespace issue. The class "'.$beannamespace."\\".$baseClassName.'" is not autoloadable.');
174
-        }
175
-        $possibleBaseFileName = $this->rootPath.$possibleBaseFileNames[0];
176
-
177
-        $this->ensureDirectoryExist($possibleBaseFileName);
178
-        file_put_contents($possibleBaseFileName, $str);
179
-        @chmod($possibleBaseFileName, 0664);
180
-
181
-
182
-
183
-        $possibleFileNames = $classNameMapper->getPossibleFileNames($beannamespace."\\".$className);
184
-        if (!$possibleFileNames) {
185
-            // @codeCoverageIgnoreStart
186
-            throw new TDBMException('Sorry, autoload namespace issue. The class "'.$beannamespace."\\".$className.'" is not autoloadable.');
187
-            // @codeCoverageIgnoreEnd
188
-        }
189
-        $possibleFileName = $this->rootPath.$possibleFileNames[0];
190
-
191
-        if (!file_exists($possibleFileName)) {
192
-            $tableName = $table->getName();
193
-
194
-            $str = "<?php
135
+	/**
136
+	 * Returns the name of the base bean class from the table name.
137
+	 * 
138
+	 * @param $tableName
139
+	 * @return string
140
+	 */
141
+	public static function getBaseBeanNameFromTableName($tableName) {
142
+		return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."BaseBean";
143
+	}
144
+
145
+	/**
146
+	 * Returns the name of the base DAO class from the table name.
147
+	 *
148
+	 * @param $tableName
149
+	 * @return string
150
+	 */
151
+	public static function getBaseDaoNameFromTableName($tableName) {
152
+		return TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($tableName))."BaseDao";
153
+	}
154
+
155
+	/**
156
+	 * Writes the PHP bean file with all getters and setters from the table passed in parameter.
157
+	 *
158
+	 * @param string $className The name of the class
159
+	 * @param string $baseClassName The name of the base class which will be extended (name only, no directory)
160
+	 * @param Table $table The table
161
+	 * @param string $beannamespace The namespace of the bean
162
+	 * @param ClassNameMapper $classNameMapper
163
+	 * @throws TDBMException
164
+	 */
165
+	public function generateBean($className, $baseClassName, Table $table, $beannamespace, ClassNameMapper $classNameMapper, $storeInUtc) {
166
+
167
+		$beanDescriptor = new BeanDescriptor($table, $this->schemaAnalyzer, $this->schema, $this->tdbmSchemaAnalyzer);
168
+
169
+		$str = $beanDescriptor->generatePhpCode($beannamespace);
170
+
171
+		$possibleBaseFileNames = $classNameMapper->getPossibleFileNames($beannamespace."\\".$baseClassName);
172
+		if (!$possibleBaseFileNames) {
173
+			throw new TDBMException('Sorry, autoload namespace issue. The class "'.$beannamespace."\\".$baseClassName.'" is not autoloadable.');
174
+		}
175
+		$possibleBaseFileName = $this->rootPath.$possibleBaseFileNames[0];
176
+
177
+		$this->ensureDirectoryExist($possibleBaseFileName);
178
+		file_put_contents($possibleBaseFileName, $str);
179
+		@chmod($possibleBaseFileName, 0664);
180
+
181
+
182
+
183
+		$possibleFileNames = $classNameMapper->getPossibleFileNames($beannamespace."\\".$className);
184
+		if (!$possibleFileNames) {
185
+			// @codeCoverageIgnoreStart
186
+			throw new TDBMException('Sorry, autoload namespace issue. The class "'.$beannamespace."\\".$className.'" is not autoloadable.');
187
+			// @codeCoverageIgnoreEnd
188
+		}
189
+		$possibleFileName = $this->rootPath.$possibleFileNames[0];
190
+
191
+		if (!file_exists($possibleFileName)) {
192
+			$tableName = $table->getName();
193
+
194
+			$str = "<?php
195 195
 /*
196 196
  * This file has been automatically generated by TDBM.
197 197
  * You can edit this file as it will not be overwritten.
@@ -206,44 +206,44 @@  discard block
 block discarded – undo
206 206
 {
207 207
 
208 208
 }";
209
-            $this->ensureDirectoryExist($possibleFileName);
210
-            file_put_contents($possibleFileName ,$str);
211
-            @chmod($possibleFileName, 0664);
212
-        }
213
-    }
214
-
215
-    /**
216
-     * Writes the PHP bean DAO with simple functions to create/get/save objects.
217
-     *
218
-     * @param string $fileName The file that will be written (without the directory)
219
-     * @param string $className The name of the class
220
-     * @param string $tableName The name of the table
221
-     */
222
-    public function generateDao($className, $baseClassName, $beanClassName, Table $table, $daonamespace, $beannamespace, ClassNameMapper $classNameMapper) {
223
-        $tableName = $table->getName();
224
-        $primaryKeyColumns = $table->getPrimaryKeyColumns();
225
-
226
-        $defaultSort = null;
227
-        foreach ($table->getColumns() as $column) {
228
-            $comments = $column->getComment();
229
-            $matches = array();
230
-            if (preg_match('/@defaultSort(\((desc|asc)\))*/', $comments, $matches) != 0){
231
-                $defaultSort = $data['column_name'];
232
-                if (count($matches == 3)){
233
-                    $defaultSortDirection = $matches[2];
234
-                }else{
235
-                    $defaultSortDirection = 'ASC';
236
-                }
237
-            }
238
-        }
209
+			$this->ensureDirectoryExist($possibleFileName);
210
+			file_put_contents($possibleFileName ,$str);
211
+			@chmod($possibleFileName, 0664);
212
+		}
213
+	}
214
+
215
+	/**
216
+	 * Writes the PHP bean DAO with simple functions to create/get/save objects.
217
+	 *
218
+	 * @param string $fileName The file that will be written (without the directory)
219
+	 * @param string $className The name of the class
220
+	 * @param string $tableName The name of the table
221
+	 */
222
+	public function generateDao($className, $baseClassName, $beanClassName, Table $table, $daonamespace, $beannamespace, ClassNameMapper $classNameMapper) {
223
+		$tableName = $table->getName();
224
+		$primaryKeyColumns = $table->getPrimaryKeyColumns();
225
+
226
+		$defaultSort = null;
227
+		foreach ($table->getColumns() as $column) {
228
+			$comments = $column->getComment();
229
+			$matches = array();
230
+			if (preg_match('/@defaultSort(\((desc|asc)\))*/', $comments, $matches) != 0){
231
+				$defaultSort = $data['column_name'];
232
+				if (count($matches == 3)){
233
+					$defaultSortDirection = $matches[2];
234
+				}else{
235
+					$defaultSortDirection = 'ASC';
236
+				}
237
+			}
238
+		}
239 239
 
240
-        // FIXME: lowercase tables with _ in the name should work!
241
-        $tableCamel = self::toSingular(self::toCamelCase($tableName));
240
+		// FIXME: lowercase tables with _ in the name should work!
241
+		$tableCamel = self::toSingular(self::toCamelCase($tableName));
242 242
         
243
-        $beanClassWithoutNameSpace = $beanClassName;
244
-        $beanClassName = $beannamespace."\\".$beanClassName;
243
+		$beanClassWithoutNameSpace = $beanClassName;
244
+		$beanClassName = $beannamespace."\\".$beanClassName;
245 245
         
246
-        $str = "<?php
246
+		$str = "<?php
247 247
 
248 248
 /*
249 249
  * This file has been automatically generated by TDBM.
@@ -330,9 +330,9 @@  discard block
 block discarded – undo
330 330
     }
331 331
     ";
332 332
 
333
-        if (count($primaryKeyColumns) === 1) {
334
-            $primaryKeyColumn = $primaryKeyColumns[0];
335
-            $str .= "
333
+		if (count($primaryKeyColumns) === 1) {
334
+			$primaryKeyColumn = $primaryKeyColumns[0];
335
+			$str .= "
336 336
     /**
337 337
      * Get $beanClassWithoutNameSpace specified by its ID (its primary key)
338 338
      * If the primary key does not exist, an exception is thrown.
@@ -347,8 +347,8 @@  discard block
 block discarded – undo
347 347
         return \$this->tdbmService->findObjectByPk('$tableName', ['$primaryKeyColumn' => \$id], [], \$lazyLoading);
348 348
     }
349 349
     ";
350
-        }
351
-        $str .= "
350
+		}
351
+		$str .= "
352 352
     /**
353 353
      * Deletes the $beanClassWithoutNameSpace passed in parameter.
354 354
      *
@@ -410,29 +410,29 @@  discard block
 block discarded – undo
410 410
 }
411 411
 ";
412 412
 
413
-        $possibleBaseFileNames = $classNameMapper->getPossibleFileNames($daonamespace."\\".$baseClassName);
414
-        if (!$possibleBaseFileNames) {
415
-            // @codeCoverageIgnoreStart
416
-            throw new TDBMException('Sorry, autoload namespace issue. The class "'.$baseClassName.'" is not autoloadable.');
417
-            // @codeCoverageIgnoreEnd
418
-        }
419
-        $possibleBaseFileName = $this->rootPath.$possibleBaseFileNames[0];
420
-
421
-        $this->ensureDirectoryExist($possibleBaseFileName);
422
-        file_put_contents($possibleBaseFileName ,$str);
423
-        @chmod($possibleBaseFileName, 0664);
424
-
425
-        $possibleFileNames = $classNameMapper->getPossibleFileNames($daonamespace."\\".$className);
426
-        if (!$possibleFileNames) {
427
-            // @codeCoverageIgnoreStart
428
-            throw new TDBMException('Sorry, autoload namespace issue. The class "'.$className.'" is not autoloadable.');
429
-            // @codeCoverageIgnoreEnd
430
-        }
431
-        $possibleFileName = $this->rootPath.$possibleFileNames[0];
413
+		$possibleBaseFileNames = $classNameMapper->getPossibleFileNames($daonamespace."\\".$baseClassName);
414
+		if (!$possibleBaseFileNames) {
415
+			// @codeCoverageIgnoreStart
416
+			throw new TDBMException('Sorry, autoload namespace issue. The class "'.$baseClassName.'" is not autoloadable.');
417
+			// @codeCoverageIgnoreEnd
418
+		}
419
+		$possibleBaseFileName = $this->rootPath.$possibleBaseFileNames[0];
420
+
421
+		$this->ensureDirectoryExist($possibleBaseFileName);
422
+		file_put_contents($possibleBaseFileName ,$str);
423
+		@chmod($possibleBaseFileName, 0664);
424
+
425
+		$possibleFileNames = $classNameMapper->getPossibleFileNames($daonamespace."\\".$className);
426
+		if (!$possibleFileNames) {
427
+			// @codeCoverageIgnoreStart
428
+			throw new TDBMException('Sorry, autoload namespace issue. The class "'.$className.'" is not autoloadable.');
429
+			// @codeCoverageIgnoreEnd
430
+		}
431
+		$possibleFileName = $this->rootPath.$possibleFileNames[0];
432 432
         
433
-        // Now, let's generate the "editable" class
434
-        if (!file_exists($possibleFileName)) {
435
-            $str = "<?php
433
+		// Now, let's generate the "editable" class
434
+		if (!file_exists($possibleFileName)) {
435
+			$str = "<?php
436 436
 
437 437
 /*
438 438
  * This file has been automatically generated by TDBM.
@@ -449,23 +449,23 @@  discard block
 block discarded – undo
449 449
 
450 450
 }
451 451
 ";
452
-            $this->ensureDirectoryExist($possibleFileName);
453
-            file_put_contents($possibleFileName ,$str);
454
-            @chmod($possibleFileName, 0664);
455
-        }
456
-    }
452
+			$this->ensureDirectoryExist($possibleFileName);
453
+			file_put_contents($possibleFileName ,$str);
454
+			@chmod($possibleFileName, 0664);
455
+		}
456
+	}
457 457
 
458 458
 
459 459
 
460
-    /**
461
-     * Generates the factory bean.
462
-     * 
463
-     * @param Table[] $tableList
464
-     */
465
-    private function generateFactory(array $tableList, $daoFactoryClassName, $daoNamespace, ClassNameMapper $classNameMapper) {
466
-        // For each table, let's write a property.
460
+	/**
461
+	 * Generates the factory bean.
462
+	 * 
463
+	 * @param Table[] $tableList
464
+	 */
465
+	private function generateFactory(array $tableList, $daoFactoryClassName, $daoNamespace, ClassNameMapper $classNameMapper) {
466
+		// For each table, let's write a property.
467 467
         
468
-        $str = "<?php
468
+		$str = "<?php
469 469
 
470 470
 /*
471 471
  * This file has been automatically generated by TDBM.
@@ -482,12 +482,12 @@  discard block
 block discarded – undo
482 482
 {
483 483
 ";
484 484
 
485
-        foreach ($tableList as $table) {
486
-            $tableName = $table->getName();
487
-            $daoClassName = $this->getDaoNameFromTableName($tableName);
488
-            $daoInstanceName = self::toVariableName($daoClassName);
485
+		foreach ($tableList as $table) {
486
+			$tableName = $table->getName();
487
+			$daoClassName = $this->getDaoNameFromTableName($tableName);
488
+			$daoInstanceName = self::toVariableName($daoClassName);
489 489
             
490
-            $str .= '    /**
490
+			$str .= '    /**
491 491
      * @var '.$daoClassName.'
492 492
      */
493 493
     private $'.$daoInstanceName.';
@@ -512,142 +512,142 @@  discard block
 block discarded – undo
512 512
     }
513 513
     
514 514
 ';
515
-        }
515
+		}
516 516
         
517 517
         
518
-        $str .= '
518
+		$str .= '
519 519
 }
520 520
 ';
521 521
 
522
-        $possibleFileNames = $classNameMapper->getPossibleFileNames($daoNamespace."\\".$daoFactoryClassName);
523
-        if (!$possibleFileNames) {
524
-            throw new TDBMException('Sorry, autoload namespace issue. The class "'.$daoNamespace."\\".$daoFactoryClassName.'" is not autoloadable.');
525
-        }
526
-        $possibleFileName = $this->rootPath.$possibleFileNames[0];
527
-
528
-        $this->ensureDirectoryExist($possibleFileName);
529
-        file_put_contents($possibleFileName ,$str);
530
-        @chmod($possibleFileName, 0664);
531
-    }
532
-
533
-    /**
534
-     * Transforms a string to camelCase (except the first letter will be uppercase too).
535
-     * Underscores and spaces are removed and the first letter after the underscore is uppercased.
536
-     * 
537
-     * @param $str string
538
-     * @return string
539
-     */
540
-    public static function toCamelCase($str) {
541
-        $str = strtoupper(substr($str,0,1)).substr($str,1);
542
-        while (true) {
543
-            if (strpos($str, "_") === false && strpos($str, " ") === false) {
544
-                break;
522
+		$possibleFileNames = $classNameMapper->getPossibleFileNames($daoNamespace."\\".$daoFactoryClassName);
523
+		if (!$possibleFileNames) {
524
+			throw new TDBMException('Sorry, autoload namespace issue. The class "'.$daoNamespace."\\".$daoFactoryClassName.'" is not autoloadable.');
525
+		}
526
+		$possibleFileName = $this->rootPath.$possibleFileNames[0];
527
+
528
+		$this->ensureDirectoryExist($possibleFileName);
529
+		file_put_contents($possibleFileName ,$str);
530
+		@chmod($possibleFileName, 0664);
531
+	}
532
+
533
+	/**
534
+	 * Transforms a string to camelCase (except the first letter will be uppercase too).
535
+	 * Underscores and spaces are removed and the first letter after the underscore is uppercased.
536
+	 * 
537
+	 * @param $str string
538
+	 * @return string
539
+	 */
540
+	public static function toCamelCase($str) {
541
+		$str = strtoupper(substr($str,0,1)).substr($str,1);
542
+		while (true) {
543
+			if (strpos($str, "_") === false && strpos($str, " ") === false) {
544
+				break;
545 545
 			}
546 546
                 
547
-            $pos = strpos($str, "_");
548
-            if ($pos === false) {
549
-                $pos = strpos($str, " ");
550
-            }
551
-            $before = substr($str,0,$pos);
552
-            $after = substr($str,$pos+1);
553
-            $str = $before.strtoupper(substr($after,0,1)).substr($after,1);
554
-        }
555
-        return $str;
556
-    }
547
+			$pos = strpos($str, "_");
548
+			if ($pos === false) {
549
+				$pos = strpos($str, " ");
550
+			}
551
+			$before = substr($str,0,$pos);
552
+			$after = substr($str,$pos+1);
553
+			$str = $before.strtoupper(substr($after,0,1)).substr($after,1);
554
+		}
555
+		return $str;
556
+	}
557 557
     
558
-    /**
559
-     * Tries to put string to the singular form (if it is plural).
560
-     * We assume the table names are in english.
561
-     *
562
-     * @param $str string
563
-     * @return string
564
-     */
565
-    public static function toSingular($str) {
566
-        return Inflector::singularize($str);
567
-    }
558
+	/**
559
+	 * Tries to put string to the singular form (if it is plural).
560
+	 * We assume the table names are in english.
561
+	 *
562
+	 * @param $str string
563
+	 * @return string
564
+	 */
565
+	public static function toSingular($str) {
566
+		return Inflector::singularize($str);
567
+	}
568 568
     
569
-    /**
570
-     * Put the first letter of the string in lower case.
571
-     * Very useful to transform a class name into a variable name.
572
-     * 
573
-     * @param $str string
574
-     * @return string
575
-     */
576
-    public static function toVariableName($str) {
577
-        return strtolower(substr($str, 0, 1)).substr($str, 1);
578
-    }
579
-
580
-    /**
581
-     * Ensures the file passed in parameter can be written in its directory.
582
-     * @param string $fileName
583
-     * @throws TDBMException
584
-     */
585
-    private function ensureDirectoryExist($fileName) {
586
-        $dirName = dirname($fileName);
587
-        if (!file_exists($dirName)) {
588
-            $old = umask(0);
589
-            $result = mkdir($dirName, 0775, true);
590
-            umask($old);
591
-            if ($result === false) {
592
-                throw new TDBMException("Unable to create directory: '".$dirName."'.");
593
-            }
594
-        }
595
-    }
596
-
597
-    /**
598
-     * @param string $rootPath
599
-     */
600
-    public function setRootPath($rootPath)
601
-    {
602
-        $this->rootPath = $rootPath;
603
-    }
604
-
605
-    /**
606
-     * Transforms a DBAL type into a PHP type (for PHPDoc purpose)
607
-     *
608
-     * @param Type $type The DBAL type
609
-     * @return string The PHP type
610
-     */
611
-    public static function dbalTypeToPhpType(Type $type) {
612
-        $map = [
613
-            Type::TARRAY => 'array',
614
-            Type::SIMPLE_ARRAY => 'array',
615
-            Type::JSON_ARRAY => 'array',
616
-            Type::BIGINT => 'string',
617
-            Type::BOOLEAN => 'bool',
618
-            Type::DATETIME => '\DateTimeInterface',
619
-            Type::DATETIMETZ => '\DateTimeInterface',
620
-            Type::DATE => '\DateTimeInterface',
621
-            Type::TIME => '\DateTimeInterface',
622
-            Type::DECIMAL => 'float',
623
-            Type::INTEGER => 'int',
624
-            Type::OBJECT => 'string',
625
-            Type::SMALLINT => 'int',
626
-            Type::STRING => 'string',
627
-            Type::TEXT => 'string',
628
-            Type::BINARY => 'string',
629
-            Type::BLOB => 'string',
630
-            Type::FLOAT => 'float',
631
-            Type::GUID => 'string'
632
-        ];
633
-
634
-        return isset($map[$type->getName()])?$map[$type->getName()]:$type->getName();
635
-    }
636
-
637
-    /**
638
-     *
639
-     * @param string $beanNamespace
640
-     * @return \string[] Returns a map mapping table name to beans name
641
-     */
642
-    public function buildTableToBeanMap($beanNamespace) {
643
-        $tableToBeanMap = [];
644
-
645
-        $tables = $this->schema->getTables();
646
-
647
-        foreach ($tables as $table) {
648
-            $tableName = $table->getName();
649
-            $tableToBeanMap[$tableName] = $beanNamespace . "\\" . self::getBeanNameFromTableName($tableName);
650
-        }
651
-        return $tableToBeanMap;
652
-    }
569
+	/**
570
+	 * Put the first letter of the string in lower case.
571
+	 * Very useful to transform a class name into a variable name.
572
+	 * 
573
+	 * @param $str string
574
+	 * @return string
575
+	 */
576
+	public static function toVariableName($str) {
577
+		return strtolower(substr($str, 0, 1)).substr($str, 1);
578
+	}
579
+
580
+	/**
581
+	 * Ensures the file passed in parameter can be written in its directory.
582
+	 * @param string $fileName
583
+	 * @throws TDBMException
584
+	 */
585
+	private function ensureDirectoryExist($fileName) {
586
+		$dirName = dirname($fileName);
587
+		if (!file_exists($dirName)) {
588
+			$old = umask(0);
589
+			$result = mkdir($dirName, 0775, true);
590
+			umask($old);
591
+			if ($result === false) {
592
+				throw new TDBMException("Unable to create directory: '".$dirName."'.");
593
+			}
594
+		}
595
+	}
596
+
597
+	/**
598
+	 * @param string $rootPath
599
+	 */
600
+	public function setRootPath($rootPath)
601
+	{
602
+		$this->rootPath = $rootPath;
603
+	}
604
+
605
+	/**
606
+	 * Transforms a DBAL type into a PHP type (for PHPDoc purpose)
607
+	 *
608
+	 * @param Type $type The DBAL type
609
+	 * @return string The PHP type
610
+	 */
611
+	public static function dbalTypeToPhpType(Type $type) {
612
+		$map = [
613
+			Type::TARRAY => 'array',
614
+			Type::SIMPLE_ARRAY => 'array',
615
+			Type::JSON_ARRAY => 'array',
616
+			Type::BIGINT => 'string',
617
+			Type::BOOLEAN => 'bool',
618
+			Type::DATETIME => '\DateTimeInterface',
619
+			Type::DATETIMETZ => '\DateTimeInterface',
620
+			Type::DATE => '\DateTimeInterface',
621
+			Type::TIME => '\DateTimeInterface',
622
+			Type::DECIMAL => 'float',
623
+			Type::INTEGER => 'int',
624
+			Type::OBJECT => 'string',
625
+			Type::SMALLINT => 'int',
626
+			Type::STRING => 'string',
627
+			Type::TEXT => 'string',
628
+			Type::BINARY => 'string',
629
+			Type::BLOB => 'string',
630
+			Type::FLOAT => 'float',
631
+			Type::GUID => 'string'
632
+		];
633
+
634
+		return isset($map[$type->getName()])?$map[$type->getName()]:$type->getName();
635
+	}
636
+
637
+	/**
638
+	 *
639
+	 * @param string $beanNamespace
640
+	 * @return \string[] Returns a map mapping table name to beans name
641
+	 */
642
+	public function buildTableToBeanMap($beanNamespace) {
643
+		$tableToBeanMap = [];
644
+
645
+		$tables = $this->schema->getTables();
646
+
647
+		foreach ($tables as $table) {
648
+			$tableName = $table->getName();
649
+			$tableToBeanMap[$tableName] = $beanNamespace . "\\" . self::getBeanNameFromTableName($tableName);
650
+		}
651
+		return $tableToBeanMap;
652
+	}
653 653
 }
Please login to merge, or discard this patch.
src/views/installStep2.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@
 block discarded – undo
29 29
 <div class="control-group">
30 30
 	<label class="control-label">Store dates / timestamps in UTC:</label>
31 31
 	<div class="controls">
32
-		<input type="checkbox" name="storeInUtc" value="1" <?php echo $this->storeInUtc?'checked="checked"':"" ?>></input>
32
+		<input type="checkbox" name="storeInUtc" value="1" <?php echo $this->storeInUtc ? 'checked="checked"' : "" ?>></input>
33 33
 		<span class="help-block">Select this option if you want timestamps to be stored in UTC.
34 34
 		If your application supports several time zones, you should select this option to store all dates in
35 35
 		the same time zone.</span>
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Utils/ObjectBeanPropertyDescriptor.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
     public function getUpperCamelCaseName() {
63 63
         // First, are there many column or only one?
64 64
         // If one column, we name the setter after it. Otherwise, we name the setter after the table name
65
-        if (count($this->foreignKey->getLocalColumns()) > 1) {
65
+        if (count($this->foreignKey->getLocalColumns())>1) {
66 66
             $name = TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($this->foreignKey->getForeignTableName()));
67 67
             if ($this->alternativeName) {
68 68
                 $camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $this->foreignKey->getLocalColumns());
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
      * @param '.$referencedBeanName.' $object
145 145
      */
146 146
     public function '.$setterName.'('.$referencedBeanName.' $object = null) {
147
-        $this->setRef(' . var_export($this->foreignKey->getName(), true) . ', $object, '.var_export($tableName, true).');
147
+        $this->setRef(' . var_export($this->foreignKey->getName(), true).', $object, '.var_export($tableName, true).');
148 148
     }
149 149
 
150 150
 ';
Please login to merge, or discard this patch.
Indentation   +128 added lines, -128 removed lines patch added patch discarded remove patch
@@ -14,122 +14,122 @@  discard block
 block discarded – undo
14 14
 class ObjectBeanPropertyDescriptor extends AbstractBeanPropertyDescriptor
15 15
 {
16 16
 
17
-    /**
18
-     * @var ForeignKeyConstraint
19
-     */
20
-    private $foreignKey;
21
-
22
-    /**
23
-     * @var SchemaAnalyzer
24
-     */
25
-    private $schemaAnalyzer;
26
-
27
-    public function __construct(Table $table, ForeignKeyConstraint $foreignKey, SchemaAnalyzer $schemaAnalyzer) {
28
-        parent::__construct($table);
29
-        $this->foreignKey = $foreignKey;
30
-        $this->schemaAnalyzer = $schemaAnalyzer;
31
-    }
32
-
33
-
34
-
35
-    /**
36
-     * Returns the foreignkey the column is part of, if any. null otherwise.
37
-     *
38
-     * @return ForeignKeyConstraint|null
39
-     */
40
-    public function getForeignKey() {
41
-        return $this->foreignKey;
42
-    }
43
-
44
-    /**
45
-     * Returns the name of the class linked to this property or null if this is not a foreign key
46
-     * @return null|string
47
-     */
48
-    public function getClassName() {
49
-        return TDBMDaoGenerator::getBeanNameFromTableName($this->foreignKey->getForeignTableName());
50
-    }
51
-
52
-    /**
53
-     * Returns the param annotation for this property (useful for constructor).
54
-     *
55
-     * @return string
56
-     */
57
-    public function getParamAnnotation() {
58
-        $str = "     * @param %s %s";
59
-        return sprintf($str, $this->getClassName(), $this->getVariableName());
60
-    }
61
-
62
-    public function getUpperCamelCaseName() {
63
-        // First, are there many column or only one?
64
-        // If one column, we name the setter after it. Otherwise, we name the setter after the table name
65
-        if (count($this->foreignKey->getLocalColumns()) > 1) {
66
-            $name = TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($this->foreignKey->getForeignTableName()));
67
-            if ($this->alternativeName) {
68
-                $camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $this->foreignKey->getLocalColumns());
69
-
70
-                $name .= 'By'.implode('And', $camelizedColumns);
71
-            }
72
-        } else {
73
-            $column = $this->foreignKey->getLocalColumns()[0];
74
-            // Let's remove any _id or id_.
75
-            if (strpos(strtolower($column), "id_") === 0) {
76
-                $column = substr($column, 3);
77
-            }
78
-            if (strrpos(strtolower($column), "_id") === strlen($column)-3) {
79
-                $column = substr($column, 0, strlen($column)-3);
80
-            }
81
-            $name = TDBMDaoGenerator::toCamelCase($column);
82
-            if ($this->alternativeName) {
83
-                $name .= 'Object';
84
-            }
85
-        }
86
-        return $name;
87
-    }
88
-
89
-    /**
90
-     * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
91
-     * @return bool
92
-     */
93
-    public function isCompulsory() {
94
-        // Are all columns nullable?
95
-        $localColumnNames = $this->foreignKey->getLocalColumns();
96
-
97
-        foreach ($localColumnNames as $name) {
98
-            $column = $this->table->getColumn($name);
99
-            if ($column->getNotnull()) {
100
-                return true;
101
-            }
102
-        }
103
-
104
-        return false;
105
-    }
106
-
107
-    /**
108
-     * Returns true if the property is the primary key
109
-     * @return bool
110
-     */
111
-    public function isPrimaryKey() {
112
-        $fkColumns = $this->foreignKey->getLocalColumns();
113
-        sort($fkColumns);
114
-
115
-        $pkColumns = $this->table->getPrimaryKeyColumns();
116
-        sort($pkColumns);
117
-
118
-        return $fkColumns == $pkColumns;
119
-    }
120
-
121
-    /**
122
-     * Returns the PHP code for getters and setters
123
-     * @return string
124
-     */
125
-    public function getGetterSetterCode() {
126
-        $tableName = $this->table->getName();
127
-        $getterName = $this->getGetterName();
128
-        $setterName = $this->getSetterName();
129
-
130
-        $referencedBeanName = TDBMDaoGenerator::getBeanNameFromTableName($this->foreignKey->getForeignTableName());
131
-
132
-        $str = '    /**
17
+	/**
18
+	 * @var ForeignKeyConstraint
19
+	 */
20
+	private $foreignKey;
21
+
22
+	/**
23
+	 * @var SchemaAnalyzer
24
+	 */
25
+	private $schemaAnalyzer;
26
+
27
+	public function __construct(Table $table, ForeignKeyConstraint $foreignKey, SchemaAnalyzer $schemaAnalyzer) {
28
+		parent::__construct($table);
29
+		$this->foreignKey = $foreignKey;
30
+		$this->schemaAnalyzer = $schemaAnalyzer;
31
+	}
32
+
33
+
34
+
35
+	/**
36
+	 * Returns the foreignkey the column is part of, if any. null otherwise.
37
+	 *
38
+	 * @return ForeignKeyConstraint|null
39
+	 */
40
+	public function getForeignKey() {
41
+		return $this->foreignKey;
42
+	}
43
+
44
+	/**
45
+	 * Returns the name of the class linked to this property or null if this is not a foreign key
46
+	 * @return null|string
47
+	 */
48
+	public function getClassName() {
49
+		return TDBMDaoGenerator::getBeanNameFromTableName($this->foreignKey->getForeignTableName());
50
+	}
51
+
52
+	/**
53
+	 * Returns the param annotation for this property (useful for constructor).
54
+	 *
55
+	 * @return string
56
+	 */
57
+	public function getParamAnnotation() {
58
+		$str = "     * @param %s %s";
59
+		return sprintf($str, $this->getClassName(), $this->getVariableName());
60
+	}
61
+
62
+	public function getUpperCamelCaseName() {
63
+		// First, are there many column or only one?
64
+		// If one column, we name the setter after it. Otherwise, we name the setter after the table name
65
+		if (count($this->foreignKey->getLocalColumns()) > 1) {
66
+			$name = TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($this->foreignKey->getForeignTableName()));
67
+			if ($this->alternativeName) {
68
+				$camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $this->foreignKey->getLocalColumns());
69
+
70
+				$name .= 'By'.implode('And', $camelizedColumns);
71
+			}
72
+		} else {
73
+			$column = $this->foreignKey->getLocalColumns()[0];
74
+			// Let's remove any _id or id_.
75
+			if (strpos(strtolower($column), "id_") === 0) {
76
+				$column = substr($column, 3);
77
+			}
78
+			if (strrpos(strtolower($column), "_id") === strlen($column)-3) {
79
+				$column = substr($column, 0, strlen($column)-3);
80
+			}
81
+			$name = TDBMDaoGenerator::toCamelCase($column);
82
+			if ($this->alternativeName) {
83
+				$name .= 'Object';
84
+			}
85
+		}
86
+		return $name;
87
+	}
88
+
89
+	/**
90
+	 * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
91
+	 * @return bool
92
+	 */
93
+	public function isCompulsory() {
94
+		// Are all columns nullable?
95
+		$localColumnNames = $this->foreignKey->getLocalColumns();
96
+
97
+		foreach ($localColumnNames as $name) {
98
+			$column = $this->table->getColumn($name);
99
+			if ($column->getNotnull()) {
100
+				return true;
101
+			}
102
+		}
103
+
104
+		return false;
105
+	}
106
+
107
+	/**
108
+	 * Returns true if the property is the primary key
109
+	 * @return bool
110
+	 */
111
+	public function isPrimaryKey() {
112
+		$fkColumns = $this->foreignKey->getLocalColumns();
113
+		sort($fkColumns);
114
+
115
+		$pkColumns = $this->table->getPrimaryKeyColumns();
116
+		sort($pkColumns);
117
+
118
+		return $fkColumns == $pkColumns;
119
+	}
120
+
121
+	/**
122
+	 * Returns the PHP code for getters and setters
123
+	 * @return string
124
+	 */
125
+	public function getGetterSetterCode() {
126
+		$tableName = $this->table->getName();
127
+		$getterName = $this->getGetterName();
128
+		$setterName = $this->getSetterName();
129
+
130
+		$referencedBeanName = TDBMDaoGenerator::getBeanNameFromTableName($this->foreignKey->getForeignTableName());
131
+
132
+		$str = '    /**
133 133
      * Returns the '.$referencedBeanName.' object bound to this object via the '.implode(" and ", $this->foreignKey->getLocalColumns()).' column.
134 134
      *
135 135
      * @return '.$referencedBeanName.'
@@ -148,19 +148,19 @@  discard block
 block discarded – undo
148 148
     }
149 149
 
150 150
 ';
151
-        return $str;
152
-    }
153
-
154
-    /**
155
-     * Returns the part of code useful when doing json serialization.
156
-     *
157
-     * @return string
158
-     */
159
-    public function getJsonSerializeCode()
160
-    {
161
-        return '        if (!$stopRecursion) {
151
+		return $str;
152
+	}
153
+
154
+	/**
155
+	 * Returns the part of code useful when doing json serialization.
156
+	 *
157
+	 * @return string
158
+	 */
159
+	public function getJsonSerializeCode()
160
+	{
161
+		return '        if (!$stopRecursion) {
162 162
             $array['.var_export($this->getLowerCamelCaseName(), true).'] = $this->'.$this->getGetterName().'()->jsonSerialize(true);
163 163
         }
164 164
 ';
165
-    }
165
+	}
166 166
 }
Please login to merge, or discard this patch.