Completed
Pull Request — 3.4 (#46)
by David
12:52 queued 01:27
created
src/Mouf/Database/TDBM/AbstractTDBMObject.php 3 patches
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.
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.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
 	 * @throws TDBMException
76 76
 	 * @throws TDBMInvalidOperationException
77 77
 	 */
78
-	public function __construct($tableName=null, array $primaryKeys=array(), TDBMService $tdbmService=null) {
78
+	public function __construct($tableName = null, array $primaryKeys = array(), TDBMService $tdbmService = null) {
79 79
 		// FIXME: lazy loading should be forbidden on tables with inheritance and dynamic type assignation...
80 80
 		if (!empty($tableName)) {
81 81
 			$this->dbRows[$tableName] = new DbRow($this, $tableName, $primaryKeys, $tdbmService);
@@ -159,7 +159,7 @@  discard block
 block discarded – undo
159 159
 	 * $status = TDBMObjectStateEnum::STATE_LOADED when the object is cached in memory.
160 160
 	 * @param string $state
161 161
 	 */
162
-	public function _setStatus($state){
162
+	public function _setStatus($state) {
163 163
 		$this->status = $state;
164 164
 
165 165
 		// TODO: we might ignore the loaded => dirty state here! dirty status comes from the db_row itself.
@@ -170,7 +170,7 @@  discard block
 block discarded – undo
170 170
 
171 171
 	public function get($var, $tableName = null) {
172 172
 		if ($tableName === null) {
173
-			if (count($this->dbRows) > 1) {
173
+			if (count($this->dbRows)>1) {
174 174
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
175 175
 			} elseif (count($this->dbRows) === 1) {
176 176
 				$tableName = array_keys($this->dbRows)[0];
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
 	 */
197 197
 	public function has($var, $tableName = null) {
198 198
 		if ($tableName === null) {
199
-			if (count($this->dbRows) > 1) {
199
+			if (count($this->dbRows)>1) {
200 200
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
201 201
 			} elseif (count($this->dbRows) === 1) {
202 202
 				$tableName = array_keys($this->dbRows)[0];
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
 	
217 217
 	public function set($var, $value, $tableName = null) {
218 218
 		if ($tableName === null) {
219
-			if (count($this->dbRows) > 1) {
219
+			if (count($this->dbRows)>1) {
220 220
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
221 221
 			} elseif (count($this->dbRows) === 1) {
222 222
 				$tableName = array_keys($this->dbRows)[0];
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
 	 */
242 242
 	public function setRef($foreignKeyName, AbstractTDBMObject $bean, $tableName = null) {
243 243
 		if ($tableName === null) {
244
-			if (count($this->dbRows) > 1) {
244
+			if (count($this->dbRows)>1) {
245 245
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
246 246
 			} elseif (count($this->dbRows) === 1) {
247 247
 				$tableName = array_keys($this->dbRows)[0];
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 	 */
267 267
 	public function getRef($foreignKeyName, $tableName = null) {
268 268
 		if ($tableName === null) {
269
-			if (count($this->dbRows) > 1) {
269
+			if (count($this->dbRows)>1) {
270 270
 				throw new TDBMException('This object is based on several tables. You must specify which table you are retrieving data from.');
271 271
 			} elseif (count($this->dbRows) === 1) {
272 272
 				$tableName = array_keys($this->dbRows)[0];
@@ -382,13 +382,13 @@  discard block
 block discarded – undo
382 382
 	 */
383 383
 	private function setRelationship($pivotTableName, AbstractTDBMObject $remoteBean, $status) {
384 384
 		$storage = $this->getRelationshipStorage($pivotTableName);
385
-		$storage->attach($remoteBean, [ 'status' => $status, 'reverse' => false ]);
385
+		$storage->attach($remoteBean, ['status' => $status, 'reverse' => false]);
386 386
 		if ($this->status === TDBMObjectStateEnum::STATE_LOADED) {
387 387
 			$this->_setStatus(TDBMObjectStateEnum::STATE_DIRTY);
388 388
 		}
389 389
 
390 390
 		$remoteStorage = $remoteBean->getRelationshipStorage($pivotTableName);
391
-		$remoteStorage->attach($this, [ 'status' => $status, 'reverse' => true ]);
391
+		$remoteStorage->attach($this, ['status' => $status, 'reverse' => true]);
392 392
 	}
393 393
 
394 394
 	/**
@@ -458,7 +458,7 @@  discard block
 block discarded – undo
458 458
 				$metadata = $storage[$remoteBean];
459 459
 
460 460
 				$remoteStorage = $remoteBean->getRelationshipStorage($pivotTable);
461
-				$remoteStorage->attach($this, [ 'status' => $metadata['status'], 'reverse' => !$metadata['reverse'] ]);
461
+				$remoteStorage->attach($this, ['status' => $metadata['status'], 'reverse' => !$metadata['reverse']]);
462 462
 			}
463 463
 		}
464 464
 
@@ -485,7 +485,7 @@  discard block
 block discarded – undo
485 485
 	private function registerTable($tableName) {
486 486
 		$dbRow = new DbRow($this, $tableName);
487 487
 
488
-		if (in_array($this->status, [ TDBMObjectStateEnum::STATE_NOT_LOADED, TDBMObjectStateEnum::STATE_LOADED, TDBMObjectStateEnum::STATE_DIRTY ])) {
488
+		if (in_array($this->status, [TDBMObjectStateEnum::STATE_NOT_LOADED, TDBMObjectStateEnum::STATE_LOADED, TDBMObjectStateEnum::STATE_DIRTY])) {
489 489
 			// Let's get the primary key for the new table
490 490
 			$anotherDbRow = array_values($this->dbRows)[0];
491 491
 			/* @var $anotherDbRow DbRow */
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/TDBMSchemaAnalyzer.php 1 patch
Indentation   +122 added lines, -122 removed lines patch added patch discarded remove patch
@@ -16,126 +16,126 @@
 block discarded – undo
16 16
 class TDBMSchemaAnalyzer
17 17
 {
18 18
 
19
-    private $connection;
20
-
21
-    /**
22
-     * @var Schema
23
-     */
24
-    private $schema;
25
-
26
-    /**
27
-     * @var string
28
-     */
29
-    private $cachePrefix;
30
-
31
-    /**
32
-     * @var Cache
33
-     */
34
-    private $cache;
35
-
36
-    /**
37
-     * @var SchemaAnalyzer
38
-     */
39
-    private $schemaAnalyzer;
40
-
41
-    /**
42
-     * @param Connection $connection The DBAL DB connection to use
43
-     * @param Cache $cache A cache service to be used
44
-     * @param SchemaAnalyzer $schemaAnalyzer The schema analyzer that will be used to find shortest paths...
45
-     * 										 Will be automatically created if not passed.
46
-     */
47
-    public function __construct(Connection $connection, Cache $cache, SchemaAnalyzer $schemaAnalyzer) {
48
-        $this->connection = $connection;
49
-        $this->cache = $cache;
50
-        $this->schemaAnalyzer = $schemaAnalyzer;
51
-    }
52
-
53
-    /**
54
-     * Returns a unique ID for the current connection. Useful for namespacing cache entries in the current connection.
55
-     * @return string
56
-     */
57
-    public function getCachePrefix() {
58
-        if ($this->cachePrefix === null) {
59
-            $this->cachePrefix = hash('md4', $this->connection->getHost()."-".$this->connection->getPort()."-".$this->connection->getDatabase()."-".$this->connection->getDriver()->getName());
60
-        }
61
-        return $this->cachePrefix;
62
-    }
63
-
64
-    /**
65
-     * Returns the (cached) schema.
66
-     *
67
-     * @return Schema
68
-     */
69
-    public function getSchema() {
70
-        if ($this->schema === null) {
71
-            $cacheKey = $this->getCachePrefix().'_schema';
72
-            if ($this->cache->contains($cacheKey)) {
73
-                $this->schema = $this->cache->fetch($cacheKey);
74
-            } else {
75
-                $this->schema = $this->connection->getSchemaManager()->createSchema();
76
-                $this->cache->save($cacheKey, $this->schema);
77
-            }
78
-        }
79
-        return $this->schema;
80
-    }
81
-
82
-    /**
83
-     * Returns the list of pivot tables linked to table $tableName
84
-     * @param string $tableName
85
-     * @return array|string[]
86
-     */
87
-    public function getPivotTableLinkedToTable($tableName) {
88
-        $cacheKey = $this->getCachePrefix().'_pivottables_link';
89
-        if ($this->cache->contains($cacheKey)) {
90
-            return $this->cache->fetch($cacheKey);
91
-        }
92
-
93
-        $pivotTables = [];
94
-
95
-        $junctionTables = $this->schemaAnalyzer->detectJunctionTables();
96
-        foreach ($junctionTables as $table) {
97
-            $fks = $table->getForeignKeys();
98
-            foreach ($fks as $fk) {
99
-                if ($fk->getForeignTableName() == $tableName) {
100
-                    $pivotTables[] = $table->getName();
101
-                    break;
102
-                }
103
-            }
104
-        }
105
-
106
-        $this->cache->save($cacheKey, $pivotTables);
107
-        return $pivotTables;
108
-    }
109
-
110
-    /**
111
-     * Returns the list of foreign keys pointing to the table represented by this bean, excluding foreign keys
112
-     * from junction tables and from inheritance.
113
-     *
114
-     * @return ForeignKeyConstraint[]
115
-     */
116
-    public function getIncomingForeignKeys($tableName) {
117
-
118
-        $junctionTables = $this->schemaAnalyzer->detectJunctionTables();
119
-        $junctionTableNames = array_map(function(Table $table) { return $table->getName(); }, $junctionTables);
120
-        $childrenRelationships = $this->schemaAnalyzer->getChildrenRelationships($tableName);
121
-
122
-        $fks = [];
123
-        foreach ($this->getSchema()->getTables() as $table) {
124
-            foreach ($table->getForeignKeys() as $fk) {
125
-                if ($fk->getForeignTableName() === $tableName) {
126
-                    if (in_array($fk->getLocalTableName(), $junctionTableNames)) {
127
-                        continue;
128
-                    }
129
-                    foreach ($childrenRelationships as $childFk) {
130
-                        if ($fk->getLocalTableName() === $childFk->getLocalTableName() && $fk->getLocalColumns() === $childFk->getLocalColumns()) {
131
-                            continue 2;
132
-                        }
133
-                    }
134
-                    $fks[] = $fk;
135
-                }
136
-            }
137
-        }
138
-
139
-        return $fks;
140
-    }
19
+	private $connection;
20
+
21
+	/**
22
+	 * @var Schema
23
+	 */
24
+	private $schema;
25
+
26
+	/**
27
+	 * @var string
28
+	 */
29
+	private $cachePrefix;
30
+
31
+	/**
32
+	 * @var Cache
33
+	 */
34
+	private $cache;
35
+
36
+	/**
37
+	 * @var SchemaAnalyzer
38
+	 */
39
+	private $schemaAnalyzer;
40
+
41
+	/**
42
+	 * @param Connection $connection The DBAL DB connection to use
43
+	 * @param Cache $cache A cache service to be used
44
+	 * @param SchemaAnalyzer $schemaAnalyzer The schema analyzer that will be used to find shortest paths...
45
+	 * 										 Will be automatically created if not passed.
46
+	 */
47
+	public function __construct(Connection $connection, Cache $cache, SchemaAnalyzer $schemaAnalyzer) {
48
+		$this->connection = $connection;
49
+		$this->cache = $cache;
50
+		$this->schemaAnalyzer = $schemaAnalyzer;
51
+	}
52
+
53
+	/**
54
+	 * Returns a unique ID for the current connection. Useful for namespacing cache entries in the current connection.
55
+	 * @return string
56
+	 */
57
+	public function getCachePrefix() {
58
+		if ($this->cachePrefix === null) {
59
+			$this->cachePrefix = hash('md4', $this->connection->getHost()."-".$this->connection->getPort()."-".$this->connection->getDatabase()."-".$this->connection->getDriver()->getName());
60
+		}
61
+		return $this->cachePrefix;
62
+	}
63
+
64
+	/**
65
+	 * Returns the (cached) schema.
66
+	 *
67
+	 * @return Schema
68
+	 */
69
+	public function getSchema() {
70
+		if ($this->schema === null) {
71
+			$cacheKey = $this->getCachePrefix().'_schema';
72
+			if ($this->cache->contains($cacheKey)) {
73
+				$this->schema = $this->cache->fetch($cacheKey);
74
+			} else {
75
+				$this->schema = $this->connection->getSchemaManager()->createSchema();
76
+				$this->cache->save($cacheKey, $this->schema);
77
+			}
78
+		}
79
+		return $this->schema;
80
+	}
81
+
82
+	/**
83
+	 * Returns the list of pivot tables linked to table $tableName
84
+	 * @param string $tableName
85
+	 * @return array|string[]
86
+	 */
87
+	public function getPivotTableLinkedToTable($tableName) {
88
+		$cacheKey = $this->getCachePrefix().'_pivottables_link';
89
+		if ($this->cache->contains($cacheKey)) {
90
+			return $this->cache->fetch($cacheKey);
91
+		}
92
+
93
+		$pivotTables = [];
94
+
95
+		$junctionTables = $this->schemaAnalyzer->detectJunctionTables();
96
+		foreach ($junctionTables as $table) {
97
+			$fks = $table->getForeignKeys();
98
+			foreach ($fks as $fk) {
99
+				if ($fk->getForeignTableName() == $tableName) {
100
+					$pivotTables[] = $table->getName();
101
+					break;
102
+				}
103
+			}
104
+		}
105
+
106
+		$this->cache->save($cacheKey, $pivotTables);
107
+		return $pivotTables;
108
+	}
109
+
110
+	/**
111
+	 * Returns the list of foreign keys pointing to the table represented by this bean, excluding foreign keys
112
+	 * from junction tables and from inheritance.
113
+	 *
114
+	 * @return ForeignKeyConstraint[]
115
+	 */
116
+	public function getIncomingForeignKeys($tableName) {
117
+
118
+		$junctionTables = $this->schemaAnalyzer->detectJunctionTables();
119
+		$junctionTableNames = array_map(function(Table $table) { return $table->getName(); }, $junctionTables);
120
+		$childrenRelationships = $this->schemaAnalyzer->getChildrenRelationships($tableName);
121
+
122
+		$fks = [];
123
+		foreach ($this->getSchema()->getTables() as $table) {
124
+			foreach ($table->getForeignKeys() as $fk) {
125
+				if ($fk->getForeignTableName() === $tableName) {
126
+					if (in_array($fk->getLocalTableName(), $junctionTableNames)) {
127
+						continue;
128
+					}
129
+					foreach ($childrenRelationships as $childFk) {
130
+						if ($fk->getLocalTableName() === $childFk->getLocalTableName() && $fk->getLocalColumns() === $childFk->getLocalColumns()) {
131
+							continue 2;
132
+						}
133
+					}
134
+					$fks[] = $fk;
135
+				}
136
+			}
137
+		}
138
+
139
+		return $fks;
140
+	}
141 141
 }
Please login to merge, or discard this patch.