Completed
Push — 4.3 ( 28cdbc )
by David
21:20 queued 01:32
created
src/Mouf/Database/TDBM/WeakrefObjectStorage.php 1 patch
Indentation   +105 added lines, -105 removed lines patch added patch discarded remove patch
@@ -31,117 +31,117 @@
 block discarded – undo
31 31
  */
32 32
 class WeakrefObjectStorage
33 33
 {
34
-    /**
35
-     * An array of fetched object, accessible via table name and primary key.
36
-     * If the primary key is split on several columns, access is done by an array of columns, serialized.
37
-     *
38
-     * @var array<string, WeakMap<string, TDBMObject>>
39
-     */
40
-    private $objects = array();
34
+	/**
35
+	 * An array of fetched object, accessible via table name and primary key.
36
+	 * If the primary key is split on several columns, access is done by an array of columns, serialized.
37
+	 *
38
+	 * @var array<string, WeakMap<string, TDBMObject>>
39
+	 */
40
+	private $objects = array();
41 41
 
42
-    /**
43
-     * Every 10000 set in the dataset, we perform a cleanup to ensure the WeakRef instances
44
-     * are removed if they are no more valid.
45
-     * This is to avoid having memory used by dangling WeakRef instances.
46
-     *
47
-     * @var int
48
-     */
49
-    private $garbageCollectorCount = 0;
42
+	/**
43
+	 * Every 10000 set in the dataset, we perform a cleanup to ensure the WeakRef instances
44
+	 * are removed if they are no more valid.
45
+	 * This is to avoid having memory used by dangling WeakRef instances.
46
+	 *
47
+	 * @var int
48
+	 */
49
+	private $garbageCollectorCount = 0;
50 50
 
51
-    /**
52
-     * Sets an object in the storage.
53
-     *
54
-     * @param string $tableName
55
-     * @param string $id
56
-     * @param DbRow  $dbRow
57
-     */
58
-    public function set($tableName, $id, DbRow $dbRow)
59
-    {
60
-        $this->objects[$tableName][$id] = new \WeakRef($dbRow);
61
-        ++$this->garbageCollectorCount;
62
-        if ($this->garbageCollectorCount == 10000) {
63
-            $this->garbageCollectorCount = 0;
64
-            $this->cleanupDanglingWeakRefs();
65
-        }
66
-    }
51
+	/**
52
+	 * Sets an object in the storage.
53
+	 *
54
+	 * @param string $tableName
55
+	 * @param string $id
56
+	 * @param DbRow  $dbRow
57
+	 */
58
+	public function set($tableName, $id, DbRow $dbRow)
59
+	{
60
+		$this->objects[$tableName][$id] = new \WeakRef($dbRow);
61
+		++$this->garbageCollectorCount;
62
+		if ($this->garbageCollectorCount == 10000) {
63
+			$this->garbageCollectorCount = 0;
64
+			$this->cleanupDanglingWeakRefs();
65
+		}
66
+	}
67 67
 
68
-    /**
69
-     * Checks if an object is in the storage.
70
-     *
71
-     * @param string $tableName
72
-     * @param string $id
73
-     *
74
-     * @return bool
75
-     */
76
-    public function has($tableName, $id)
77
-    {
78
-        if (isset($this->objects[$tableName][$id])) {
79
-            if ($this->objects[$tableName][$id]->valid()) {
80
-                return true;
81
-            } else {
82
-                unset($this->objects[$tableName][$id]);
83
-            }
84
-        }
68
+	/**
69
+	 * Checks if an object is in the storage.
70
+	 *
71
+	 * @param string $tableName
72
+	 * @param string $id
73
+	 *
74
+	 * @return bool
75
+	 */
76
+	public function has($tableName, $id)
77
+	{
78
+		if (isset($this->objects[$tableName][$id])) {
79
+			if ($this->objects[$tableName][$id]->valid()) {
80
+				return true;
81
+			} else {
82
+				unset($this->objects[$tableName][$id]);
83
+			}
84
+		}
85 85
 
86
-        return false;
87
-    }
86
+		return false;
87
+	}
88 88
 
89
-    /**
90
-     * Returns an object from the storage (or null if no object is set).
91
-     *
92
-     * @param string $tableName
93
-     * @param string $id
94
-     *
95
-     * @return DbRow
96
-     */
97
-    public function get($tableName, $id)
98
-    {
99
-        if (isset($this->objects[$tableName][$id])) {
100
-            if ($this->objects[$tableName][$id]->valid()) {
101
-                return $this->objects[$tableName][$id]->get();
102
-            }
103
-        } else {
104
-            return;
105
-        }
106
-    }
89
+	/**
90
+	 * Returns an object from the storage (or null if no object is set).
91
+	 *
92
+	 * @param string $tableName
93
+	 * @param string $id
94
+	 *
95
+	 * @return DbRow
96
+	 */
97
+	public function get($tableName, $id)
98
+	{
99
+		if (isset($this->objects[$tableName][$id])) {
100
+			if ($this->objects[$tableName][$id]->valid()) {
101
+				return $this->objects[$tableName][$id]->get();
102
+			}
103
+		} else {
104
+			return;
105
+		}
106
+	}
107 107
 
108
-    /**
109
-     * Removes an object from the storage.
110
-     *
111
-     * @param string $tableName
112
-     * @param string $id
113
-     */
114
-    public function remove($tableName, $id)
115
-    {
116
-        unset($this->objects[$tableName][$id]);
117
-    }
108
+	/**
109
+	 * Removes an object from the storage.
110
+	 *
111
+	 * @param string $tableName
112
+	 * @param string $id
113
+	 */
114
+	public function remove($tableName, $id)
115
+	{
116
+		unset($this->objects[$tableName][$id]);
117
+	}
118 118
 
119
-    /**
120
-     * Applies the callback to all objects.
121
-     *
122
-     * @param callable $callback
123
-     */
124
-    public function apply(callable $callback)
125
-    {
126
-        foreach ($this->objects as $tableName => $table) {
127
-            foreach ($table as $id => $obj) {
128
-                if ($obj->valid()) {
129
-                    $callback($obj->get(), $tableName, $id);
130
-                } else {
131
-                    unset($this->objects[$tableName][$id]);
132
-                }
133
-            }
134
-        }
135
-    }
119
+	/**
120
+	 * Applies the callback to all objects.
121
+	 *
122
+	 * @param callable $callback
123
+	 */
124
+	public function apply(callable $callback)
125
+	{
126
+		foreach ($this->objects as $tableName => $table) {
127
+			foreach ($table as $id => $obj) {
128
+				if ($obj->valid()) {
129
+					$callback($obj->get(), $tableName, $id);
130
+				} else {
131
+					unset($this->objects[$tableName][$id]);
132
+				}
133
+			}
134
+		}
135
+	}
136 136
 
137
-    private function cleanupDanglingWeakRefs()
138
-    {
139
-        foreach ($this->objects as $tableName => $table) {
140
-            foreach ($table as $id => $obj) {
141
-                if (!$obj->valid()) {
142
-                    unset($this->objects[$tableName][$id]);
143
-                }
144
-            }
145
-        }
146
-    }
137
+	private function cleanupDanglingWeakRefs()
138
+	{
139
+		foreach ($this->objects as $tableName => $table) {
140
+			foreach ($table as $id => $obj) {
141
+				if (!$obj->valid()) {
142
+					unset($this->objects[$tableName][$id]);
143
+				}
144
+			}
145
+		}
146
+	}
147 147
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Utils/ObjectBeanPropertyDescriptor.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
     {
66 66
         // First, are there many column or only one?
67 67
         // If one column, we name the setter after it. Otherwise, we name the setter after the table name
68
-        if (count($this->foreignKey->getLocalColumns()) > 1) {
68
+        if (count($this->foreignKey->getLocalColumns())>1) {
69 69
             $name = TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($this->foreignKey->getForeignTableName()));
70 70
             if ($this->alternativeName) {
71 71
                 $camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $this->foreignKey->getLocalColumns());
@@ -78,8 +78,8 @@  discard block
 block discarded – undo
78 78
             if (strpos(strtolower($column), 'id_') === 0) {
79 79
                 $column = substr($column, 3);
80 80
             }
81
-            if (strrpos(strtolower($column), '_id') === strlen($column) - 3) {
82
-                $column = substr($column, 0, strlen($column) - 3);
81
+            if (strrpos(strtolower($column), '_id') === strlen($column)-3) {
82
+                $column = substr($column, 0, strlen($column)-3);
83 83
             }
84 84
             $name = TDBMDaoGenerator::toCamelCase($column);
85 85
             if ($this->alternativeName) {
Please login to merge, or discard this patch.
Indentation   +162 added lines, -162 removed lines patch added patch discarded remove patch
@@ -12,156 +12,156 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class ObjectBeanPropertyDescriptor extends AbstractBeanPropertyDescriptor
14 14
 {
15
-    /**
16
-     * @var ForeignKeyConstraint
17
-     */
18
-    private $foreignKey;
19
-
20
-    /**
21
-     * @var SchemaAnalyzer
22
-     */
23
-    private $schemaAnalyzer;
24
-
25
-    public function __construct(Table $table, ForeignKeyConstraint $foreignKey, SchemaAnalyzer $schemaAnalyzer)
26
-    {
27
-        parent::__construct($table);
28
-        $this->foreignKey = $foreignKey;
29
-        $this->schemaAnalyzer = $schemaAnalyzer;
30
-    }
31
-
32
-    /**
33
-     * Returns the foreignkey the column is part of, if any. null otherwise.
34
-     *
35
-     * @return ForeignKeyConstraint|null
36
-     */
37
-    public function getForeignKey()
38
-    {
39
-        return $this->foreignKey;
40
-    }
41
-
42
-    /**
43
-     * Returns the name of the class linked to this property or null if this is not a foreign key.
44
-     *
45
-     * @return null|string
46
-     */
47
-    public function getClassName()
48
-    {
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
-    {
59
-        $str = '     * @param %s %s';
60
-
61
-        return sprintf($str, $this->getClassName(), $this->getVariableName());
62
-    }
63
-
64
-    public function getUpperCamelCaseName()
65
-    {
66
-        // First, are there many column or only one?
67
-        // If one column, we name the setter after it. Otherwise, we name the setter after the table name
68
-        if (count($this->foreignKey->getLocalColumns()) > 1) {
69
-            $name = TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($this->foreignKey->getForeignTableName()));
70
-            if ($this->alternativeName) {
71
-                $camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $this->foreignKey->getLocalColumns());
72
-
73
-                $name .= 'By'.implode('And', $camelizedColumns);
74
-            }
75
-        } else {
76
-            $column = $this->foreignKey->getLocalColumns()[0];
77
-            // Let's remove any _id or id_.
78
-            if (strpos(strtolower($column), 'id_') === 0) {
79
-                $column = substr($column, 3);
80
-            }
81
-            if (strrpos(strtolower($column), '_id') === strlen($column) - 3) {
82
-                $column = substr($column, 0, strlen($column) - 3);
83
-            }
84
-            $name = TDBMDaoGenerator::toCamelCase($column);
85
-            if ($this->alternativeName) {
86
-                $name .= 'Object';
87
-            }
88
-        }
89
-
90
-        return $name;
91
-    }
92
-
93
-    /**
94
-     * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
95
-     *
96
-     * @return bool
97
-     */
98
-    public function isCompulsory()
99
-    {
100
-        // Are all columns nullable?
101
-        $localColumnNames = $this->foreignKey->getLocalColumns();
102
-
103
-        foreach ($localColumnNames as $name) {
104
-            $column = $this->table->getColumn($name);
105
-            if ($column->getNotnull()) {
106
-                return true;
107
-            }
108
-        }
109
-
110
-        return false;
111
-    }
112
-
113
-    /**
114
-     * Returns true if the property has a default value.
115
-     *
116
-     * @return bool
117
-     */
118
-    public function hasDefault()
119
-    {
120
-        return false;
121
-    }
122
-
123
-    /**
124
-     * Returns the code that assigns a value to its default value.
125
-     *
126
-     * @return string
127
-     *
128
-     * @throws \TDBMException
129
-     */
130
-    public function assignToDefaultCode()
131
-    {
132
-        throw new \TDBMException('Foreign key based properties cannot be assigned a default value.');
133
-    }
134
-
135
-    /**
136
-     * Returns true if the property is the primary key.
137
-     *
138
-     * @return bool
139
-     */
140
-    public function isPrimaryKey()
141
-    {
142
-        $fkColumns = $this->foreignKey->getLocalColumns();
143
-        sort($fkColumns);
144
-
145
-        $pkColumns = $this->table->getPrimaryKeyColumns();
146
-        sort($pkColumns);
147
-
148
-        return $fkColumns == $pkColumns;
149
-    }
150
-
151
-    /**
152
-     * Returns the PHP code for getters and setters.
153
-     *
154
-     * @return string
155
-     */
156
-    public function getGetterSetterCode()
157
-    {
158
-        $tableName = $this->table->getName();
159
-        $getterName = $this->getGetterName();
160
-        $setterName = $this->getSetterName();
161
-
162
-        $referencedBeanName = TDBMDaoGenerator::getBeanNameFromTableName($this->foreignKey->getForeignTableName());
163
-
164
-        $str = '    /**
15
+	/**
16
+	 * @var ForeignKeyConstraint
17
+	 */
18
+	private $foreignKey;
19
+
20
+	/**
21
+	 * @var SchemaAnalyzer
22
+	 */
23
+	private $schemaAnalyzer;
24
+
25
+	public function __construct(Table $table, ForeignKeyConstraint $foreignKey, SchemaAnalyzer $schemaAnalyzer)
26
+	{
27
+		parent::__construct($table);
28
+		$this->foreignKey = $foreignKey;
29
+		$this->schemaAnalyzer = $schemaAnalyzer;
30
+	}
31
+
32
+	/**
33
+	 * Returns the foreignkey the column is part of, if any. null otherwise.
34
+	 *
35
+	 * @return ForeignKeyConstraint|null
36
+	 */
37
+	public function getForeignKey()
38
+	{
39
+		return $this->foreignKey;
40
+	}
41
+
42
+	/**
43
+	 * Returns the name of the class linked to this property or null if this is not a foreign key.
44
+	 *
45
+	 * @return null|string
46
+	 */
47
+	public function getClassName()
48
+	{
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
+	{
59
+		$str = '     * @param %s %s';
60
+
61
+		return sprintf($str, $this->getClassName(), $this->getVariableName());
62
+	}
63
+
64
+	public function getUpperCamelCaseName()
65
+	{
66
+		// First, are there many column or only one?
67
+		// If one column, we name the setter after it. Otherwise, we name the setter after the table name
68
+		if (count($this->foreignKey->getLocalColumns()) > 1) {
69
+			$name = TDBMDaoGenerator::toSingular(TDBMDaoGenerator::toCamelCase($this->foreignKey->getForeignTableName()));
70
+			if ($this->alternativeName) {
71
+				$camelizedColumns = array_map(['Mouf\\Database\\TDBM\\Utils\\TDBMDaoGenerator', 'toCamelCase'], $this->foreignKey->getLocalColumns());
72
+
73
+				$name .= 'By'.implode('And', $camelizedColumns);
74
+			}
75
+		} else {
76
+			$column = $this->foreignKey->getLocalColumns()[0];
77
+			// Let's remove any _id or id_.
78
+			if (strpos(strtolower($column), 'id_') === 0) {
79
+				$column = substr($column, 3);
80
+			}
81
+			if (strrpos(strtolower($column), '_id') === strlen($column) - 3) {
82
+				$column = substr($column, 0, strlen($column) - 3);
83
+			}
84
+			$name = TDBMDaoGenerator::toCamelCase($column);
85
+			if ($this->alternativeName) {
86
+				$name .= 'Object';
87
+			}
88
+		}
89
+
90
+		return $name;
91
+	}
92
+
93
+	/**
94
+	 * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
95
+	 *
96
+	 * @return bool
97
+	 */
98
+	public function isCompulsory()
99
+	{
100
+		// Are all columns nullable?
101
+		$localColumnNames = $this->foreignKey->getLocalColumns();
102
+
103
+		foreach ($localColumnNames as $name) {
104
+			$column = $this->table->getColumn($name);
105
+			if ($column->getNotnull()) {
106
+				return true;
107
+			}
108
+		}
109
+
110
+		return false;
111
+	}
112
+
113
+	/**
114
+	 * Returns true if the property has a default value.
115
+	 *
116
+	 * @return bool
117
+	 */
118
+	public function hasDefault()
119
+	{
120
+		return false;
121
+	}
122
+
123
+	/**
124
+	 * Returns the code that assigns a value to its default value.
125
+	 *
126
+	 * @return string
127
+	 *
128
+	 * @throws \TDBMException
129
+	 */
130
+	public function assignToDefaultCode()
131
+	{
132
+		throw new \TDBMException('Foreign key based properties cannot be assigned a default value.');
133
+	}
134
+
135
+	/**
136
+	 * Returns true if the property is the primary key.
137
+	 *
138
+	 * @return bool
139
+	 */
140
+	public function isPrimaryKey()
141
+	{
142
+		$fkColumns = $this->foreignKey->getLocalColumns();
143
+		sort($fkColumns);
144
+
145
+		$pkColumns = $this->table->getPrimaryKeyColumns();
146
+		sort($pkColumns);
147
+
148
+		return $fkColumns == $pkColumns;
149
+	}
150
+
151
+	/**
152
+	 * Returns the PHP code for getters and setters.
153
+	 *
154
+	 * @return string
155
+	 */
156
+	public function getGetterSetterCode()
157
+	{
158
+		$tableName = $this->table->getName();
159
+		$getterName = $this->getGetterName();
160
+		$setterName = $this->getSetterName();
161
+
162
+		$referencedBeanName = TDBMDaoGenerator::getBeanNameFromTableName($this->foreignKey->getForeignTableName());
163
+
164
+		$str = '    /**
165 165
      * Returns the '.$referencedBeanName.' object bound to this object via the '.implode(' and ', $this->foreignKey->getLocalColumns()).' column.
166 166
      *
167 167
      * @return '.$referencedBeanName.'
@@ -183,20 +183,20 @@  discard block
 block discarded – undo
183 183
 
184 184
 ';
185 185
 
186
-        return $str;
187
-    }
188
-
189
-    /**
190
-     * Returns the part of code useful when doing json serialization.
191
-     *
192
-     * @return string
193
-     */
194
-    public function getJsonSerializeCode()
195
-    {
196
-        return '        if (!$stopRecursion) {
186
+		return $str;
187
+	}
188
+
189
+	/**
190
+	 * Returns the part of code useful when doing json serialization.
191
+	 *
192
+	 * @return string
193
+	 */
194
+	public function getJsonSerializeCode()
195
+	{
196
+		return '        if (!$stopRecursion) {
197 197
             $object = $this->'.$this->getGetterName().'();
198 198
             $array['.var_export($this->getLowerCamelCaseName(), true).'] = $object ? $object->jsonSerialize(true) : null;
199 199
         }
200 200
 ';
201
-    }
201
+	}
202 202
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/InnerResultArray.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
 
84 84
     private function toIndex($offset)
85 85
     {
86
-        if ($offset < 0 || filter_var($offset, FILTER_VALIDATE_INT) === false) {
86
+        if ($offset<0 || filter_var($offset, FILTER_VALIDATE_INT) === false) {
87 87
             throw new TDBMInvalidOffsetException('Trying to access result set using offset "'.$offset.'". An offset must be a positive integer.');
88 88
         }
89 89
         if ($this->statement === null) {
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
     public function next()
101 101
     {
102 102
         // Let's overload the next() method to store the result.
103
-        if (isset($this->results[$this->key + 1])) {
103
+        if (isset($this->results[$this->key+1])) {
104 104
             ++$this->key;
105 105
             $this->current = $this->results[$this->key];
106 106
         } else {
Please login to merge, or discard this patch.
Indentation   +89 added lines, -89 removed lines patch added patch discarded remove patch
@@ -27,100 +27,100 @@
 block discarded – undo
27 27
  */
28 28
 class InnerResultArray extends InnerResultIterator
29 29
 {
30
-    /**
31
-     * The list of results already fetched.
32
-     *
33
-     * @var AbstractTDBMObject[]
34
-     */
35
-    private $results = [];
30
+	/**
31
+	 * The list of results already fetched.
32
+	 *
33
+	 * @var AbstractTDBMObject[]
34
+	 */
35
+	private $results = [];
36 36
 
37
-    /**
38
-     * Whether a offset exists.
39
-     *
40
-     * @link http://php.net/manual/en/arrayaccess.offsetexists.php
41
-     *
42
-     * @param mixed $offset <p>
43
-     *                      An offset to check for.
44
-     *                      </p>
45
-     *
46
-     * @return bool true on success or false on failure.
47
-     *              </p>
48
-     *              <p>
49
-     *              The return value will be casted to boolean if non-boolean was returned
50
-     *
51
-     * @since 5.0.0
52
-     */
53
-    public function offsetExists($offset)
54
-    {
55
-        try {
56
-            $this->toIndex($offset);
57
-        } catch (TDBMInvalidOffsetException $e) {
58
-            return false;
59
-        }
37
+	/**
38
+	 * Whether a offset exists.
39
+	 *
40
+	 * @link http://php.net/manual/en/arrayaccess.offsetexists.php
41
+	 *
42
+	 * @param mixed $offset <p>
43
+	 *                      An offset to check for.
44
+	 *                      </p>
45
+	 *
46
+	 * @return bool true on success or false on failure.
47
+	 *              </p>
48
+	 *              <p>
49
+	 *              The return value will be casted to boolean if non-boolean was returned
50
+	 *
51
+	 * @since 5.0.0
52
+	 */
53
+	public function offsetExists($offset)
54
+	{
55
+		try {
56
+			$this->toIndex($offset);
57
+		} catch (TDBMInvalidOffsetException $e) {
58
+			return false;
59
+		}
60 60
 
61
-        return true;
62
-    }
61
+		return true;
62
+	}
63 63
 
64
-    /**
65
-     * Offset to retrieve.
66
-     *
67
-     * @link http://php.net/manual/en/arrayaccess.offsetget.php
68
-     *
69
-     * @param mixed $offset <p>
70
-     *                      The offset to retrieve.
71
-     *                      </p>
72
-     *
73
-     * @return mixed Can return all value types
74
-     *
75
-     * @since 5.0.0
76
-     */
77
-    public function offsetGet($offset)
78
-    {
79
-        $this->toIndex($offset);
64
+	/**
65
+	 * Offset to retrieve.
66
+	 *
67
+	 * @link http://php.net/manual/en/arrayaccess.offsetget.php
68
+	 *
69
+	 * @param mixed $offset <p>
70
+	 *                      The offset to retrieve.
71
+	 *                      </p>
72
+	 *
73
+	 * @return mixed Can return all value types
74
+	 *
75
+	 * @since 5.0.0
76
+	 */
77
+	public function offsetGet($offset)
78
+	{
79
+		$this->toIndex($offset);
80 80
 
81
-        return $this->results[$offset];
82
-    }
81
+		return $this->results[$offset];
82
+	}
83 83
 
84
-    private function toIndex($offset)
85
-    {
86
-        if ($offset < 0 || filter_var($offset, FILTER_VALIDATE_INT) === false) {
87
-            throw new TDBMInvalidOffsetException('Trying to access result set using offset "'.$offset.'". An offset must be a positive integer.');
88
-        }
89
-        if ($this->statement === null) {
90
-            $this->executeQuery();
91
-        }
92
-        while (!isset($this->results[$offset])) {
93
-            $this->next();
94
-            if ($this->current === null) {
95
-                throw new TDBMInvalidOffsetException('Offset "'.$offset.'" does not exist in result set.');
96
-            }
97
-        }
98
-    }
84
+	private function toIndex($offset)
85
+	{
86
+		if ($offset < 0 || filter_var($offset, FILTER_VALIDATE_INT) === false) {
87
+			throw new TDBMInvalidOffsetException('Trying to access result set using offset "'.$offset.'". An offset must be a positive integer.');
88
+		}
89
+		if ($this->statement === null) {
90
+			$this->executeQuery();
91
+		}
92
+		while (!isset($this->results[$offset])) {
93
+			$this->next();
94
+			if ($this->current === null) {
95
+				throw new TDBMInvalidOffsetException('Offset "'.$offset.'" does not exist in result set.');
96
+			}
97
+		}
98
+	}
99 99
 
100
-    public function next()
101
-    {
102
-        // Let's overload the next() method to store the result.
103
-        if (isset($this->results[$this->key + 1])) {
104
-            ++$this->key;
105
-            $this->current = $this->results[$this->key];
106
-        } else {
107
-            parent::next();
108
-            if ($this->current !== null) {
109
-                $this->results[$this->key] = $this->current;
110
-            }
111
-        }
112
-    }
100
+	public function next()
101
+	{
102
+		// Let's overload the next() method to store the result.
103
+		if (isset($this->results[$this->key + 1])) {
104
+			++$this->key;
105
+			$this->current = $this->results[$this->key];
106
+		} else {
107
+			parent::next();
108
+			if ($this->current !== null) {
109
+				$this->results[$this->key] = $this->current;
110
+			}
111
+		}
112
+	}
113 113
 
114
-    /**
115
-     * Overloads the rewind implementation.
116
-     * Do not reexecute the query.
117
-     */
118
-    public function rewind()
119
-    {
120
-        if (!$this->fetchStarted) {
121
-            $this->executeQuery();
122
-        }
123
-        $this->key = -1;
124
-        $this->next();
125
-    }
114
+	/**
115
+	 * Overloads the rewind implementation.
116
+	 * Do not reexecute the query.
117
+	 */
118
+	public function rewind()
119
+	{
120
+		if (!$this->fetchStarted) {
121
+			$this->executeQuery();
122
+		}
123
+		$this->key = -1;
124
+		$this->next();
125
+	}
126 126
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/StandardObjectStorage.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -30,78 +30,78 @@
 block discarded – undo
30 30
  */
31 31
 class StandardObjectStorage
32 32
 {
33
-    /**
34
-     * An array of fetched object, accessible via table name and primary key.
35
-     * If the primary key is split on several columns, access is done by an array of columns, serialized.
36
-     *
37
-     * @var array<string, array<string, TDBMObject>>
38
-     */
39
-    private $objects = array();
33
+	/**
34
+	 * An array of fetched object, accessible via table name and primary key.
35
+	 * If the primary key is split on several columns, access is done by an array of columns, serialized.
36
+	 *
37
+	 * @var array<string, array<string, TDBMObject>>
38
+	 */
39
+	private $objects = array();
40 40
 
41
-    /**
42
-     * Sets an object in the storage.
43
-     *
44
-     * @param string     $tableName
45
-     * @param string     $id
46
-     * @param TDBMObject $dbRow
47
-     */
48
-    public function set($tableName, $id, DbRow $dbRow)
49
-    {
50
-        $this->objects[$tableName][$id] = $dbRow;
51
-    }
41
+	/**
42
+	 * Sets an object in the storage.
43
+	 *
44
+	 * @param string     $tableName
45
+	 * @param string     $id
46
+	 * @param TDBMObject $dbRow
47
+	 */
48
+	public function set($tableName, $id, DbRow $dbRow)
49
+	{
50
+		$this->objects[$tableName][$id] = $dbRow;
51
+	}
52 52
 
53
-    /**
54
-     * Checks if an object is in the storage.
55
-     *
56
-     * @param string $tableName
57
-     * @param string $id
58
-     *
59
-     * @return bool
60
-     */
61
-    public function has($tableName, $id)
62
-    {
63
-        return isset($this->objects[$tableName][$id]);
64
-    }
53
+	/**
54
+	 * Checks if an object is in the storage.
55
+	 *
56
+	 * @param string $tableName
57
+	 * @param string $id
58
+	 *
59
+	 * @return bool
60
+	 */
61
+	public function has($tableName, $id)
62
+	{
63
+		return isset($this->objects[$tableName][$id]);
64
+	}
65 65
 
66
-    /**
67
-     * Returns an object from the storage (or null if no object is set).
68
-     *
69
-     * @param string $tableName
70
-     * @param string $id
71
-     *
72
-     * @return DbRow
73
-     */
74
-    public function get($tableName, $id)
75
-    {
76
-        if (isset($this->objects[$tableName][$id])) {
77
-            return $this->objects[$tableName][$id];
78
-        } else {
79
-            return;
80
-        }
81
-    }
66
+	/**
67
+	 * Returns an object from the storage (or null if no object is set).
68
+	 *
69
+	 * @param string $tableName
70
+	 * @param string $id
71
+	 *
72
+	 * @return DbRow
73
+	 */
74
+	public function get($tableName, $id)
75
+	{
76
+		if (isset($this->objects[$tableName][$id])) {
77
+			return $this->objects[$tableName][$id];
78
+		} else {
79
+			return;
80
+		}
81
+	}
82 82
 
83
-    /**
84
-     * Removes an object from the storage.
85
-     *
86
-     * @param string $tableName
87
-     * @param string $id
88
-     */
89
-    public function remove($tableName, $id)
90
-    {
91
-        unset($this->objects[$tableName][$id]);
92
-    }
83
+	/**
84
+	 * Removes an object from the storage.
85
+	 *
86
+	 * @param string $tableName
87
+	 * @param string $id
88
+	 */
89
+	public function remove($tableName, $id)
90
+	{
91
+		unset($this->objects[$tableName][$id]);
92
+	}
93 93
 
94
-    /**
95
-     * Applies the callback to all objects.
96
-     *
97
-     * @param callable $callback
98
-     */
99
-    public function apply(callable $callback)
100
-    {
101
-        foreach ($this->objects as $tableName => $table) {
102
-            foreach ($table as $id => $obj) {
103
-                $callback($obj, $tableName, $id);
104
-            }
105
-        }
106
-    }
94
+	/**
95
+	 * Applies the callback to all objects.
96
+	 *
97
+	 * @param callable $callback
98
+	 */
99
+	public function apply(callable $callback)
100
+	{
101
+		foreach ($this->objects as $tableName => $table) {
102
+			foreach ($table as $id => $obj) {
103
+				$callback($obj, $tableName, $id);
104
+			}
105
+		}
106
+	}
107 107
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/PageIterator.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -112,7 +112,7 @@  discard block
 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
     /**
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
      */
252 252
     public function jsonSerialize()
253 253
     {
254
-        return array_map(function (AbstractTDBMObject $item) {
254
+        return array_map(function(AbstractTDBMObject $item) {
255 255
             return $item->jsonSerialize();
256 256
         }, $this->toArray());
257 257
     }
Please login to merge, or discard this patch.
Indentation   +211 added lines, -211 removed lines patch added patch discarded remove patch
@@ -30,238 +30,238 @@
 block discarded – undo
30 30
  */
31 31
 class PageIterator implements Page, \ArrayAccess, \JsonSerializable
32 32
 {
33
-    /**
34
-     * @var Statement
35
-     */
36
-    protected $statement;
33
+	/**
34
+	 * @var Statement
35
+	 */
36
+	protected $statement;
37 37
 
38
-    protected $fetchStarted = false;
39
-    private $objectStorage;
40
-    private $className;
38
+	protected $fetchStarted = false;
39
+	private $objectStorage;
40
+	private $className;
41 41
 
42
-    private $parentResult;
43
-    private $tdbmService;
44
-    private $magicSql;
45
-    private $parameters;
46
-    private $limit;
47
-    private $offset;
48
-    private $columnDescriptors;
49
-    private $magicQuery;
42
+	private $parentResult;
43
+	private $tdbmService;
44
+	private $magicSql;
45
+	private $parameters;
46
+	private $limit;
47
+	private $offset;
48
+	private $columnDescriptors;
49
+	private $magicQuery;
50 50
 
51
-    /**
52
-     * The key of the current retrieved object.
53
-     *
54
-     * @var int
55
-     */
56
-    protected $key = -1;
51
+	/**
52
+	 * The key of the current retrieved object.
53
+	 *
54
+	 * @var int
55
+	 */
56
+	protected $key = -1;
57 57
 
58
-    protected $current = null;
58
+	protected $current = null;
59 59
 
60
-    private $databasePlatform;
60
+	private $databasePlatform;
61 61
 
62
-    private $innerResultIterator;
62
+	private $innerResultIterator;
63 63
 
64
-    private $mode;
64
+	private $mode;
65 65
 
66
-    /**
67
-     * @var LoggerInterface
68
-     */
69
-    private $logger;
66
+	/**
67
+	 * @var LoggerInterface
68
+	 */
69
+	private $logger;
70 70
 
71
-    public function __construct(ResultIterator $parentResult, $magicSql, array $parameters, $limit, $offset, array $columnDescriptors, $objectStorage, $className, TDBMService $tdbmService, MagicQuery $magicQuery, $mode, LoggerInterface $logger)
72
-    {
73
-        $this->parentResult = $parentResult;
74
-        $this->magicSql = $magicSql;
75
-        $this->objectStorage = $objectStorage;
76
-        $this->className = $className;
77
-        $this->tdbmService = $tdbmService;
78
-        $this->parameters = $parameters;
79
-        $this->limit = $limit;
80
-        $this->offset = $offset;
81
-        $this->columnDescriptors = $columnDescriptors;
82
-        $this->magicQuery = $magicQuery;
83
-        $this->databasePlatform = $this->tdbmService->getConnection()->getDatabasePlatform();
84
-        $this->mode = $mode;
85
-        $this->logger = $logger;
86
-    }
71
+	public function __construct(ResultIterator $parentResult, $magicSql, array $parameters, $limit, $offset, array $columnDescriptors, $objectStorage, $className, TDBMService $tdbmService, MagicQuery $magicQuery, $mode, LoggerInterface $logger)
72
+	{
73
+		$this->parentResult = $parentResult;
74
+		$this->magicSql = $magicSql;
75
+		$this->objectStorage = $objectStorage;
76
+		$this->className = $className;
77
+		$this->tdbmService = $tdbmService;
78
+		$this->parameters = $parameters;
79
+		$this->limit = $limit;
80
+		$this->offset = $offset;
81
+		$this->columnDescriptors = $columnDescriptors;
82
+		$this->magicQuery = $magicQuery;
83
+		$this->databasePlatform = $this->tdbmService->getConnection()->getDatabasePlatform();
84
+		$this->mode = $mode;
85
+		$this->logger = $logger;
86
+	}
87 87
 
88
-    /**
89
-     * Retrieve an external iterator.
90
-     *
91
-     * @link http://php.net/manual/en/iteratoraggregate.getiterator.php
92
-     *
93
-     * @return InnerResultIterator An instance of an object implementing <b>Iterator</b> or
94
-     *                             <b>Traversable</b>
95
-     *
96
-     * @since 5.0.0
97
-     */
98
-    public function getIterator()
99
-    {
100
-        if ($this->innerResultIterator === null) {
101
-            if ($this->mode === TDBMService::MODE_CURSOR) {
102
-                $this->innerResultIterator = new InnerResultIterator($this->magicSql, $this->parameters, $this->limit, $this->offset, $this->columnDescriptors, $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
103
-            } else {
104
-                $this->innerResultIterator = new InnerResultArray($this->magicSql, $this->parameters, $this->limit, $this->offset, $this->columnDescriptors, $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
105
-            }
106
-        }
88
+	/**
89
+	 * Retrieve an external iterator.
90
+	 *
91
+	 * @link http://php.net/manual/en/iteratoraggregate.getiterator.php
92
+	 *
93
+	 * @return InnerResultIterator An instance of an object implementing <b>Iterator</b> or
94
+	 *                             <b>Traversable</b>
95
+	 *
96
+	 * @since 5.0.0
97
+	 */
98
+	public function getIterator()
99
+	{
100
+		if ($this->innerResultIterator === null) {
101
+			if ($this->mode === TDBMService::MODE_CURSOR) {
102
+				$this->innerResultIterator = new InnerResultIterator($this->magicSql, $this->parameters, $this->limit, $this->offset, $this->columnDescriptors, $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
103
+			} else {
104
+				$this->innerResultIterator = new InnerResultArray($this->magicSql, $this->parameters, $this->limit, $this->offset, $this->columnDescriptors, $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
105
+			}
106
+		}
107 107
 
108
-        return $this->innerResultIterator;
109
-    }
108
+		return $this->innerResultIterator;
109
+	}
110 110
 
111
-    /**
112
-     * @return int
113
-     */
114
-    public function getCurrentOffset()
115
-    {
116
-        return $this->offset;
117
-    }
111
+	/**
112
+	 * @return int
113
+	 */
114
+	public function getCurrentOffset()
115
+	{
116
+		return $this->offset;
117
+	}
118 118
 
119
-    /**
120
-     * @return int
121
-     */
122
-    public function getCurrentPage()
123
-    {
124
-        return floor($this->offset / $this->limit) + 1;
125
-    }
119
+	/**
120
+	 * @return int
121
+	 */
122
+	public function getCurrentPage()
123
+	{
124
+		return floor($this->offset / $this->limit) + 1;
125
+	}
126 126
 
127
-    /**
128
-     * @return int
129
-     */
130
-    public function getCurrentLimit()
131
-    {
132
-        return $this->limit;
133
-    }
127
+	/**
128
+	 * @return int
129
+	 */
130
+	public function getCurrentLimit()
131
+	{
132
+		return $this->limit;
133
+	}
134 134
 
135
-    /**
136
-     * Return the number of results on the current page of the {@link Result}.
137
-     *
138
-     * @return int
139
-     */
140
-    public function count()
141
-    {
142
-        return $this->getIterator()->count();
143
-    }
135
+	/**
136
+	 * Return the number of results on the current page of the {@link Result}.
137
+	 *
138
+	 * @return int
139
+	 */
140
+	public function count()
141
+	{
142
+		return $this->getIterator()->count();
143
+	}
144 144
 
145
-    /**
146
-     * Return the number of ALL results in the paginatable of {@link Result}.
147
-     *
148
-     * @return int
149
-     */
150
-    public function totalCount()
151
-    {
152
-        return $this->parentResult->count();
153
-    }
145
+	/**
146
+	 * Return the number of ALL results in the paginatable of {@link Result}.
147
+	 *
148
+	 * @return int
149
+	 */
150
+	public function totalCount()
151
+	{
152
+		return $this->parentResult->count();
153
+	}
154 154
 
155
-    /**
156
-     * Casts the result set to a PHP array.
157
-     *
158
-     * @return array
159
-     */
160
-    public function toArray()
161
-    {
162
-        return iterator_to_array($this->getIterator());
163
-    }
155
+	/**
156
+	 * Casts the result set to a PHP array.
157
+	 *
158
+	 * @return array
159
+	 */
160
+	public function toArray()
161
+	{
162
+		return iterator_to_array($this->getIterator());
163
+	}
164 164
 
165
-    /**
166
-     * Returns a new iterator mapping any call using the $callable function.
167
-     *
168
-     * @param callable $callable
169
-     *
170
-     * @return MapIterator
171
-     */
172
-    public function map(callable $callable)
173
-    {
174
-        return new MapIterator($this->getIterator(), $callable);
175
-    }
165
+	/**
166
+	 * Returns a new iterator mapping any call using the $callable function.
167
+	 *
168
+	 * @param callable $callable
169
+	 *
170
+	 * @return MapIterator
171
+	 */
172
+	public function map(callable $callable)
173
+	{
174
+		return new MapIterator($this->getIterator(), $callable);
175
+	}
176 176
 
177
-    /**
178
-     * Whether a offset exists.
179
-     *
180
-     * @link http://php.net/manual/en/arrayaccess.offsetexists.php
181
-     *
182
-     * @param mixed $offset <p>
183
-     *                      An offset to check for.
184
-     *                      </p>
185
-     *
186
-     * @return bool true on success or false on failure.
187
-     *              </p>
188
-     *              <p>
189
-     *              The return value will be casted to boolean if non-boolean was returned
190
-     *
191
-     * @since 5.0.0
192
-     */
193
-    public function offsetExists($offset)
194
-    {
195
-        return $this->getIterator()->offsetExists($offset);
196
-    }
177
+	/**
178
+	 * Whether a offset exists.
179
+	 *
180
+	 * @link http://php.net/manual/en/arrayaccess.offsetexists.php
181
+	 *
182
+	 * @param mixed $offset <p>
183
+	 *                      An offset to check for.
184
+	 *                      </p>
185
+	 *
186
+	 * @return bool true on success or false on failure.
187
+	 *              </p>
188
+	 *              <p>
189
+	 *              The return value will be casted to boolean if non-boolean was returned
190
+	 *
191
+	 * @since 5.0.0
192
+	 */
193
+	public function offsetExists($offset)
194
+	{
195
+		return $this->getIterator()->offsetExists($offset);
196
+	}
197 197
 
198
-    /**
199
-     * Offset to retrieve.
200
-     *
201
-     * @link http://php.net/manual/en/arrayaccess.offsetget.php
202
-     *
203
-     * @param mixed $offset <p>
204
-     *                      The offset to retrieve.
205
-     *                      </p>
206
-     *
207
-     * @return mixed Can return all value types
208
-     *
209
-     * @since 5.0.0
210
-     */
211
-    public function offsetGet($offset)
212
-    {
213
-        return $this->getIterator()->offsetGet($offset);
214
-    }
198
+	/**
199
+	 * Offset to retrieve.
200
+	 *
201
+	 * @link http://php.net/manual/en/arrayaccess.offsetget.php
202
+	 *
203
+	 * @param mixed $offset <p>
204
+	 *                      The offset to retrieve.
205
+	 *                      </p>
206
+	 *
207
+	 * @return mixed Can return all value types
208
+	 *
209
+	 * @since 5.0.0
210
+	 */
211
+	public function offsetGet($offset)
212
+	{
213
+		return $this->getIterator()->offsetGet($offset);
214
+	}
215 215
 
216
-    /**
217
-     * Offset to set.
218
-     *
219
-     * @link http://php.net/manual/en/arrayaccess.offsetset.php
220
-     *
221
-     * @param mixed $offset <p>
222
-     *                      The offset to assign the value to.
223
-     *                      </p>
224
-     * @param mixed $value  <p>
225
-     *                      The value to set.
226
-     *                      </p>
227
-     *
228
-     * @since 5.0.0
229
-     */
230
-    public function offsetSet($offset, $value)
231
-    {
232
-        return $this->getIterator()->offsetSet($offset, $value);
233
-    }
216
+	/**
217
+	 * Offset to set.
218
+	 *
219
+	 * @link http://php.net/manual/en/arrayaccess.offsetset.php
220
+	 *
221
+	 * @param mixed $offset <p>
222
+	 *                      The offset to assign the value to.
223
+	 *                      </p>
224
+	 * @param mixed $value  <p>
225
+	 *                      The value to set.
226
+	 *                      </p>
227
+	 *
228
+	 * @since 5.0.0
229
+	 */
230
+	public function offsetSet($offset, $value)
231
+	{
232
+		return $this->getIterator()->offsetSet($offset, $value);
233
+	}
234 234
 
235
-    /**
236
-     * Offset to unset.
237
-     *
238
-     * @link http://php.net/manual/en/arrayaccess.offsetunset.php
239
-     *
240
-     * @param mixed $offset <p>
241
-     *                      The offset to unset.
242
-     *                      </p>
243
-     *
244
-     * @since 5.0.0
245
-     */
246
-    public function offsetUnset($offset)
247
-    {
248
-        return $this->getIterator()->offsetUnset($offset);
249
-    }
235
+	/**
236
+	 * Offset to unset.
237
+	 *
238
+	 * @link http://php.net/manual/en/arrayaccess.offsetunset.php
239
+	 *
240
+	 * @param mixed $offset <p>
241
+	 *                      The offset to unset.
242
+	 *                      </p>
243
+	 *
244
+	 * @since 5.0.0
245
+	 */
246
+	public function offsetUnset($offset)
247
+	{
248
+		return $this->getIterator()->offsetUnset($offset);
249
+	}
250 250
 
251
-    /**
252
-     * Specify data which should be serialized to JSON.
253
-     *
254
-     * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
255
-     *
256
-     * @return mixed data which can be serialized by <b>json_encode</b>,
257
-     *               which is a value of any type other than a resource
258
-     *
259
-     * @since 5.4.0
260
-     */
261
-    public function jsonSerialize()
262
-    {
263
-        return array_map(function (AbstractTDBMObject $item) {
264
-            return $item->jsonSerialize();
265
-        }, $this->toArray());
266
-    }
251
+	/**
252
+	 * Specify data which should be serialized to JSON.
253
+	 *
254
+	 * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
255
+	 *
256
+	 * @return mixed data which can be serialized by <b>json_encode</b>,
257
+	 *               which is a value of any type other than a resource
258
+	 *
259
+	 * @since 5.4.0
260
+	 */
261
+	public function jsonSerialize()
262
+	{
263
+		return array_map(function (AbstractTDBMObject $item) {
264
+			return $item->jsonSerialize();
265
+		}, $this->toArray());
266
+	}
267 267
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Controllers/TdbmController.php 1 patch
Indentation   +144 added lines, -144 removed lines patch added patch discarded remove patch
@@ -18,148 +18,148 @@
 block discarded – undo
18 18
  */
19 19
 class TdbmController extends AbstractMoufInstanceController
20 20
 {
21
-    /**
22
-     * @var HtmlBlock
23
-     */
24
-    public $content;
25
-
26
-    protected $daoNamespace;
27
-    protected $beanNamespace;
28
-    protected $daoFactoryName;
29
-    protected $daoFactoryInstanceName;
30
-    protected $autoloadDetected;
31
-    protected $storeInUtc;
32
-    protected $useCustomComposer;
33
-
34
-    /**
35
-     * Admin page used to display the DAO generation form.
36
-     *
37
-     * @Action
38
-     */
39
-    public function defaultAction($name, $selfedit = 'false')
40
-    {
41
-        $this->initController($name, $selfedit);
42
-
43
-        // Fill variables
44
-        if ($this->moufManager->getVariable('tdbmDefaultSourceDirectory_'.$name) != null) {
45
-            $this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace_'.$name);
46
-            $this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace_'.$name);
47
-            $this->daoFactoryName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryName_'.$name);
48
-            $this->daoFactoryInstanceName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryInstanceName_'.$name);
49
-            $this->storeInUtc = $this->moufManager->getVariable('tdbmDefaultStoreInUtc_'.$name);
50
-            $this->useCustomComposer = $this->moufManager->getVariable('tdbmDefaultUseCustomComposer_'.$name);
51
-            $this->composerFile = $this->moufManager->getVariable('tdbmDefaultComposerFile_'.$name);
52
-        } else {
53
-            $this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace');
54
-            $this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace');
55
-            $this->daoFactoryName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryName');
56
-            $this->daoFactoryInstanceName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryInstanceName');
57
-            $this->storeInUtc = $this->moufManager->getVariable('tdbmDefaultStoreInUtc');
58
-            $this->useCustomComposer = $this->moufManager->getVariable('tdbmDefaultUseCustomComposer');
59
-            $this->composerFile = $this->moufManager->getVariable('tdbmDefaultComposerFile');
60
-        }
61
-
62
-        if ($this->daoNamespace == null && $this->beanNamespace == null) {
63
-            $classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
64
-
65
-            $autoloadNamespaces = $classNameMapper->getManagedNamespaces();
66
-            if ($autoloadNamespaces) {
67
-                $this->autoloadDetected = true;
68
-                $rootNamespace = $autoloadNamespaces[0];
69
-                $this->daoNamespace = $rootNamespace.'Dao';
70
-                $this->beanNamespace = $rootNamespace.'Dao\\Bean';
71
-            } else {
72
-                $this->autoloadDetected = false;
73
-                $this->daoNamespace = 'YourApplication\\Dao';
74
-                $this->beanNamespace = 'YourApplication\\Dao\\Bean';
75
-            }
76
-        } else {
77
-            $this->autoloadDetected = true;
78
-        }
79
-
80
-        $this->content->addFile(__DIR__.'/../../../../views/tdbmGenerate.php', $this);
81
-        $this->template->toHtml();
82
-    }
83
-
84
-    /**
85
-     * This action generates the DAOs and Beans for the TDBM service passed in parameter.
86
-     *
87
-     * @Action
88
-     *
89
-     * @param string $name
90
-     * @param bool   $selfedit
91
-     */
92
-    public function generate($name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $storeInUtc = 0, $selfedit = 'false', $useCustomComposer = false, $composerFile = '')
93
-    {
94
-        $this->initController($name, $selfedit);
95
-
96
-        self::generateDaos($this->moufManager, $name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $selfedit, $storeInUtc, $useCustomComposer, $composerFile);
97
-
98
-        // TODO: better: we should redirect to a screen that list the number of DAOs generated, etc...
99
-        header('Location: '.ROOT_URL.'ajaxinstance/?name='.urlencode($name).'&selfedit='.$selfedit);
100
-    }
101
-
102
-    /**
103
-     * This function generates the DAOs and Beans for the TDBM service passed in parameter.
104
-     *
105
-     * @param MoufManager $moufManager
106
-     * @param string      $name
107
-     * @param string      $daonamespace
108
-     * @param string      $beannamespace
109
-     * @param string      $daofactoryclassname
110
-     * @param string      $daofactoryinstancename
111
-     * @param string      $selfedit
112
-     * @param bool        $storeInUtc
113
-     *
114
-     * @throws \Mouf\MoufException
115
-     */
116
-    public static function generateDaos(MoufManager $moufManager, $name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $selfedit = 'false', $storeInUtc = null, $useCustomComposer = null, $composerFile = null)
117
-    {
118
-        $moufManager->setVariable('tdbmDefaultDaoNamespace_'.$name, $daonamespace);
119
-        $moufManager->setVariable('tdbmDefaultBeanNamespace_'.$name, $beannamespace);
120
-        $moufManager->setVariable('tdbmDefaultDaoFactoryName_'.$name, $daofactoryclassname);
121
-        $moufManager->setVariable('tdbmDefaultDaoFactoryInstanceName_'.$name, $daofactoryinstancename);
122
-        $moufManager->setVariable('tdbmDefaultStoreInUtc_'.$name, $storeInUtc);
123
-        $moufManager->setVariable('tdbmDefaultUseCustomComposer_'.$name, $useCustomComposer);
124
-        $moufManager->setVariable('tdbmDefaultComposerFile_'.$name, $composerFile);
125
-
126
-        // In case of instance renaming, let's use the last used settings
127
-        $moufManager->setVariable('tdbmDefaultDaoNamespace', $daonamespace);
128
-        $moufManager->setVariable('tdbmDefaultBeanNamespace', $beannamespace);
129
-        $moufManager->setVariable('tdbmDefaultDaoFactoryName', $daofactoryclassname);
130
-        $moufManager->setVariable('tdbmDefaultDaoFactoryInstanceName', $daofactoryinstancename);
131
-        $moufManager->setVariable('tdbmDefaultStoreInUtc', $storeInUtc);
132
-        $moufManager->setVariable('tdbmDefaultUseCustomComposer', $useCustomComposer);
133
-        $moufManager->setVariable('tdbmDefaultComposerFile', $composerFile);
134
-
135
-        // Remove first and last slash in namespace.
136
-        $daonamespace = trim($daonamespace, '\\');
137
-        $beannamespace = trim($beannamespace, '\\');
138
-
139
-        $tdbmService = new InstanceProxy($name);
140
-        /* @var $tdbmService TDBMService */
141
-        $tables = $tdbmService->generateAllDaosAndBeans($daofactoryclassname, $daonamespace, $beannamespace, $storeInUtc, ($useCustomComposer ? $composerFile : null));
142
-
143
-        $moufManager->declareComponent($daofactoryinstancename, $daonamespace.'\\Generated\\'.$daofactoryclassname, false, MoufManager::DECLARE_ON_EXIST_KEEP_INCOMING_LINKS);
144
-
145
-        $tableToBeanMap = [];
146
-
147
-        //$tdbmServiceDescriptor = $moufManager->getInstanceDescriptor('tdbmService');
148
-
149
-        foreach ($tables as $table) {
150
-            $daoName = TDBMDaoGenerator::getDaoNameFromTableName($table);
151
-
152
-            $instanceName = TDBMDaoGenerator::toVariableName($daoName);
153
-            if (!$moufManager->instanceExists($instanceName)) {
154
-                $moufManager->declareComponent($instanceName, $daonamespace.'\\'.$daoName);
155
-            }
156
-            $moufManager->setParameterViaConstructor($instanceName, 0, $name, 'object');
157
-            $moufManager->bindComponentViaSetter($daofactoryinstancename, 'set'.$daoName, $instanceName);
158
-
159
-            $tableToBeanMap[$table] = $beannamespace.'\\'.TDBMDaoGenerator::getBeanNameFromTableName($table);
160
-        }
161
-        $tdbmServiceDescriptor = $moufManager->getInstanceDescriptor($name);
162
-        $tdbmServiceDescriptor->getSetterProperty('setTableToBeanMap')->setValue($tableToBeanMap);
163
-        $moufManager->rewriteMouf();
164
-    }
21
+	/**
22
+	 * @var HtmlBlock
23
+	 */
24
+	public $content;
25
+
26
+	protected $daoNamespace;
27
+	protected $beanNamespace;
28
+	protected $daoFactoryName;
29
+	protected $daoFactoryInstanceName;
30
+	protected $autoloadDetected;
31
+	protected $storeInUtc;
32
+	protected $useCustomComposer;
33
+
34
+	/**
35
+	 * Admin page used to display the DAO generation form.
36
+	 *
37
+	 * @Action
38
+	 */
39
+	public function defaultAction($name, $selfedit = 'false')
40
+	{
41
+		$this->initController($name, $selfedit);
42
+
43
+		// Fill variables
44
+		if ($this->moufManager->getVariable('tdbmDefaultSourceDirectory_'.$name) != null) {
45
+			$this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace_'.$name);
46
+			$this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace_'.$name);
47
+			$this->daoFactoryName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryName_'.$name);
48
+			$this->daoFactoryInstanceName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryInstanceName_'.$name);
49
+			$this->storeInUtc = $this->moufManager->getVariable('tdbmDefaultStoreInUtc_'.$name);
50
+			$this->useCustomComposer = $this->moufManager->getVariable('tdbmDefaultUseCustomComposer_'.$name);
51
+			$this->composerFile = $this->moufManager->getVariable('tdbmDefaultComposerFile_'.$name);
52
+		} else {
53
+			$this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace');
54
+			$this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace');
55
+			$this->daoFactoryName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryName');
56
+			$this->daoFactoryInstanceName = $this->moufManager->getVariable('tdbmDefaultDaoFactoryInstanceName');
57
+			$this->storeInUtc = $this->moufManager->getVariable('tdbmDefaultStoreInUtc');
58
+			$this->useCustomComposer = $this->moufManager->getVariable('tdbmDefaultUseCustomComposer');
59
+			$this->composerFile = $this->moufManager->getVariable('tdbmDefaultComposerFile');
60
+		}
61
+
62
+		if ($this->daoNamespace == null && $this->beanNamespace == null) {
63
+			$classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
64
+
65
+			$autoloadNamespaces = $classNameMapper->getManagedNamespaces();
66
+			if ($autoloadNamespaces) {
67
+				$this->autoloadDetected = true;
68
+				$rootNamespace = $autoloadNamespaces[0];
69
+				$this->daoNamespace = $rootNamespace.'Dao';
70
+				$this->beanNamespace = $rootNamespace.'Dao\\Bean';
71
+			} else {
72
+				$this->autoloadDetected = false;
73
+				$this->daoNamespace = 'YourApplication\\Dao';
74
+				$this->beanNamespace = 'YourApplication\\Dao\\Bean';
75
+			}
76
+		} else {
77
+			$this->autoloadDetected = true;
78
+		}
79
+
80
+		$this->content->addFile(__DIR__.'/../../../../views/tdbmGenerate.php', $this);
81
+		$this->template->toHtml();
82
+	}
83
+
84
+	/**
85
+	 * This action generates the DAOs and Beans for the TDBM service passed in parameter.
86
+	 *
87
+	 * @Action
88
+	 *
89
+	 * @param string $name
90
+	 * @param bool   $selfedit
91
+	 */
92
+	public function generate($name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $storeInUtc = 0, $selfedit = 'false', $useCustomComposer = false, $composerFile = '')
93
+	{
94
+		$this->initController($name, $selfedit);
95
+
96
+		self::generateDaos($this->moufManager, $name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $selfedit, $storeInUtc, $useCustomComposer, $composerFile);
97
+
98
+		// TODO: better: we should redirect to a screen that list the number of DAOs generated, etc...
99
+		header('Location: '.ROOT_URL.'ajaxinstance/?name='.urlencode($name).'&selfedit='.$selfedit);
100
+	}
101
+
102
+	/**
103
+	 * This function generates the DAOs and Beans for the TDBM service passed in parameter.
104
+	 *
105
+	 * @param MoufManager $moufManager
106
+	 * @param string      $name
107
+	 * @param string      $daonamespace
108
+	 * @param string      $beannamespace
109
+	 * @param string      $daofactoryclassname
110
+	 * @param string      $daofactoryinstancename
111
+	 * @param string      $selfedit
112
+	 * @param bool        $storeInUtc
113
+	 *
114
+	 * @throws \Mouf\MoufException
115
+	 */
116
+	public static function generateDaos(MoufManager $moufManager, $name, $daonamespace, $beannamespace, $daofactoryclassname, $daofactoryinstancename, $selfedit = 'false', $storeInUtc = null, $useCustomComposer = null, $composerFile = null)
117
+	{
118
+		$moufManager->setVariable('tdbmDefaultDaoNamespace_'.$name, $daonamespace);
119
+		$moufManager->setVariable('tdbmDefaultBeanNamespace_'.$name, $beannamespace);
120
+		$moufManager->setVariable('tdbmDefaultDaoFactoryName_'.$name, $daofactoryclassname);
121
+		$moufManager->setVariable('tdbmDefaultDaoFactoryInstanceName_'.$name, $daofactoryinstancename);
122
+		$moufManager->setVariable('tdbmDefaultStoreInUtc_'.$name, $storeInUtc);
123
+		$moufManager->setVariable('tdbmDefaultUseCustomComposer_'.$name, $useCustomComposer);
124
+		$moufManager->setVariable('tdbmDefaultComposerFile_'.$name, $composerFile);
125
+
126
+		// In case of instance renaming, let's use the last used settings
127
+		$moufManager->setVariable('tdbmDefaultDaoNamespace', $daonamespace);
128
+		$moufManager->setVariable('tdbmDefaultBeanNamespace', $beannamespace);
129
+		$moufManager->setVariable('tdbmDefaultDaoFactoryName', $daofactoryclassname);
130
+		$moufManager->setVariable('tdbmDefaultDaoFactoryInstanceName', $daofactoryinstancename);
131
+		$moufManager->setVariable('tdbmDefaultStoreInUtc', $storeInUtc);
132
+		$moufManager->setVariable('tdbmDefaultUseCustomComposer', $useCustomComposer);
133
+		$moufManager->setVariable('tdbmDefaultComposerFile', $composerFile);
134
+
135
+		// Remove first and last slash in namespace.
136
+		$daonamespace = trim($daonamespace, '\\');
137
+		$beannamespace = trim($beannamespace, '\\');
138
+
139
+		$tdbmService = new InstanceProxy($name);
140
+		/* @var $tdbmService TDBMService */
141
+		$tables = $tdbmService->generateAllDaosAndBeans($daofactoryclassname, $daonamespace, $beannamespace, $storeInUtc, ($useCustomComposer ? $composerFile : null));
142
+
143
+		$moufManager->declareComponent($daofactoryinstancename, $daonamespace.'\\Generated\\'.$daofactoryclassname, false, MoufManager::DECLARE_ON_EXIST_KEEP_INCOMING_LINKS);
144
+
145
+		$tableToBeanMap = [];
146
+
147
+		//$tdbmServiceDescriptor = $moufManager->getInstanceDescriptor('tdbmService');
148
+
149
+		foreach ($tables as $table) {
150
+			$daoName = TDBMDaoGenerator::getDaoNameFromTableName($table);
151
+
152
+			$instanceName = TDBMDaoGenerator::toVariableName($daoName);
153
+			if (!$moufManager->instanceExists($instanceName)) {
154
+				$moufManager->declareComponent($instanceName, $daonamespace.'\\'.$daoName);
155
+			}
156
+			$moufManager->setParameterViaConstructor($instanceName, 0, $name, 'object');
157
+			$moufManager->bindComponentViaSetter($daofactoryinstancename, 'set'.$daoName, $instanceName);
158
+
159
+			$tableToBeanMap[$table] = $beannamespace.'\\'.TDBMDaoGenerator::getBeanNameFromTableName($table);
160
+		}
161
+		$tdbmServiceDescriptor = $moufManager->getInstanceDescriptor($name);
162
+		$tdbmServiceDescriptor->getSetterProperty('setTableToBeanMap')->setValue($tableToBeanMap);
163
+		$moufManager->rewriteMouf();
164
+	}
165 165
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Utils/AbstractBeanPropertyDescriptor.php 1 patch
Indentation   +127 added lines, -127 removed lines patch added patch discarded remove patch
@@ -9,131 +9,131 @@
 block discarded – undo
9 9
  */
10 10
 abstract class AbstractBeanPropertyDescriptor
11 11
 {
12
-    /**
13
-     * @var Table
14
-     */
15
-    protected $table;
16
-
17
-    /**
18
-     * Whether to use the more complex name in case of conflict.
19
-     *
20
-     * @var bool
21
-     */
22
-    protected $alternativeName = false;
23
-
24
-    /**
25
-     * @param Table $table
26
-     */
27
-    public function __construct(Table $table)
28
-    {
29
-        $this->table = $table;
30
-    }
31
-
32
-    /**
33
-     * Use the more complex name in case of conflict.
34
-     */
35
-    public function useAlternativeName()
36
-    {
37
-        $this->alternativeName = true;
38
-    }
39
-
40
-    /**
41
-     * Returns the name of the class linked to this property or null if this is not a foreign key.
42
-     *
43
-     * @return null|string
44
-     */
45
-    abstract public function getClassName();
46
-
47
-    /**
48
-     * Returns the param annotation for this property (useful for constructor).
49
-     *
50
-     * @return string
51
-     */
52
-    abstract public function getParamAnnotation();
53
-
54
-    public function getVariableName()
55
-    {
56
-        return '$'.$this->getLowerCamelCaseName();
57
-    }
58
-
59
-    public function getLowerCamelCaseName()
60
-    {
61
-        return TDBMDaoGenerator::toVariableName($this->getUpperCamelCaseName());
62
-    }
63
-
64
-    abstract public function getUpperCamelCaseName();
65
-
66
-    public function getSetterName()
67
-    {
68
-        return 'set'.$this->getUpperCamelCaseName();
69
-    }
70
-
71
-    public function getGetterName()
72
-    {
73
-        return 'get'.$this->getUpperCamelCaseName();
74
-    }
75
-
76
-    /**
77
-     * Returns the PHP code used in the ben constructor for this property.
78
-     *
79
-     * @return string
80
-     */
81
-    public function getConstructorAssignCode()
82
-    {
83
-        $str = '        $this->%s(%s);';
84
-
85
-        return sprintf($str, $this->getSetterName(), $this->getVariableName());
86
-    }
87
-
88
-    /**
89
-     * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
90
-     *
91
-     * @return bool
92
-     */
93
-    abstract public function isCompulsory();
94
-
95
-    /**
96
-     * Returns true if the property has a default value.
97
-     *
98
-     * @return bool
99
-     */
100
-    abstract public function hasDefault();
101
-
102
-    /**
103
-     * Returns the code that assigns a value to its default value.
104
-     *
105
-     * @return string
106
-     *
107
-     * @throws \TDBMException
108
-     */
109
-    abstract public function assignToDefaultCode();
110
-
111
-    /**
112
-     * Returns true if the property is the primary key.
113
-     *
114
-     * @return bool
115
-     */
116
-    abstract public function isPrimaryKey();
117
-
118
-    /**
119
-     * @return Table
120
-     */
121
-    public function getTable()
122
-    {
123
-        return $this->table;
124
-    }
125
-
126
-    /**
127
-     * Returns the PHP code for getters and setters.
128
-     *
129
-     * @return string
130
-     */
131
-    abstract public function getGetterSetterCode();
132
-
133
-    /**
134
-     * Returns the part of code useful when doing json serialization.
135
-     *
136
-     * @return string
137
-     */
138
-    abstract public function getJsonSerializeCode();
12
+	/**
13
+	 * @var Table
14
+	 */
15
+	protected $table;
16
+
17
+	/**
18
+	 * Whether to use the more complex name in case of conflict.
19
+	 *
20
+	 * @var bool
21
+	 */
22
+	protected $alternativeName = false;
23
+
24
+	/**
25
+	 * @param Table $table
26
+	 */
27
+	public function __construct(Table $table)
28
+	{
29
+		$this->table = $table;
30
+	}
31
+
32
+	/**
33
+	 * Use the more complex name in case of conflict.
34
+	 */
35
+	public function useAlternativeName()
36
+	{
37
+		$this->alternativeName = true;
38
+	}
39
+
40
+	/**
41
+	 * Returns the name of the class linked to this property or null if this is not a foreign key.
42
+	 *
43
+	 * @return null|string
44
+	 */
45
+	abstract public function getClassName();
46
+
47
+	/**
48
+	 * Returns the param annotation for this property (useful for constructor).
49
+	 *
50
+	 * @return string
51
+	 */
52
+	abstract public function getParamAnnotation();
53
+
54
+	public function getVariableName()
55
+	{
56
+		return '$'.$this->getLowerCamelCaseName();
57
+	}
58
+
59
+	public function getLowerCamelCaseName()
60
+	{
61
+		return TDBMDaoGenerator::toVariableName($this->getUpperCamelCaseName());
62
+	}
63
+
64
+	abstract public function getUpperCamelCaseName();
65
+
66
+	public function getSetterName()
67
+	{
68
+		return 'set'.$this->getUpperCamelCaseName();
69
+	}
70
+
71
+	public function getGetterName()
72
+	{
73
+		return 'get'.$this->getUpperCamelCaseName();
74
+	}
75
+
76
+	/**
77
+	 * Returns the PHP code used in the ben constructor for this property.
78
+	 *
79
+	 * @return string
80
+	 */
81
+	public function getConstructorAssignCode()
82
+	{
83
+		$str = '        $this->%s(%s);';
84
+
85
+		return sprintf($str, $this->getSetterName(), $this->getVariableName());
86
+	}
87
+
88
+	/**
89
+	 * Returns true if the property is compulsory (and therefore should be fetched in the constructor).
90
+	 *
91
+	 * @return bool
92
+	 */
93
+	abstract public function isCompulsory();
94
+
95
+	/**
96
+	 * Returns true if the property has a default value.
97
+	 *
98
+	 * @return bool
99
+	 */
100
+	abstract public function hasDefault();
101
+
102
+	/**
103
+	 * Returns the code that assigns a value to its default value.
104
+	 *
105
+	 * @return string
106
+	 *
107
+	 * @throws \TDBMException
108
+	 */
109
+	abstract public function assignToDefaultCode();
110
+
111
+	/**
112
+	 * Returns true if the property is the primary key.
113
+	 *
114
+	 * @return bool
115
+	 */
116
+	abstract public function isPrimaryKey();
117
+
118
+	/**
119
+	 * @return Table
120
+	 */
121
+	public function getTable()
122
+	{
123
+		return $this->table;
124
+	}
125
+
126
+	/**
127
+	 * Returns the PHP code for getters and setters.
128
+	 *
129
+	 * @return string
130
+	 */
131
+	abstract public function getGetterSetterCode();
132
+
133
+	/**
134
+	 * Returns the part of code useful when doing json serialization.
135
+	 *
136
+	 * @return string
137
+	 */
138
+	abstract public function getJsonSerializeCode();
139 139
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/ResultIterator.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -245,7 +245,7 @@
 block discarded – undo
245 245
      */
246 246
     public function jsonSerialize($stopRecursion = false)
247 247
     {
248
-        return array_map(function (AbstractTDBMObject $item) use ($stopRecursion) {
248
+        return array_map(function(AbstractTDBMObject $item) use ($stopRecursion) {
249 249
             return $item->jsonSerialize($stopRecursion);
250 250
         }, $this->toArray());
251 251
     }
Please login to merge, or discard this patch.
Indentation   +281 added lines, -281 removed lines patch added patch discarded remove patch
@@ -32,285 +32,285 @@
 block discarded – undo
32 32
  */
33 33
 class ResultIterator implements Result, \ArrayAccess, \JsonSerializable
34 34
 {
35
-    /**
36
-     * @var Statement
37
-     */
38
-    protected $statement;
39
-
40
-    private $objectStorage;
41
-    private $className;
42
-
43
-    private $tdbmService;
44
-    private $parameters;
45
-    private $magicQuery;
46
-
47
-    /**
48
-     * @var QueryFactory
49
-     */
50
-    private $queryFactory;
51
-
52
-    /**
53
-     * @var InnerResultIterator
54
-     */
55
-    private $innerResultIterator;
56
-
57
-    private $databasePlatform;
58
-
59
-    private $totalCount;
60
-
61
-    private $mode;
62
-
63
-    private $logger;
64
-
65
-    public function __construct(QueryFactory $queryFactory, array $parameters, $objectStorage, $className, TDBMService $tdbmService, MagicQuery $magicQuery, $mode, LoggerInterface $logger)
66
-    {
67
-        if ($mode !== null && $mode !== TDBMService::MODE_CURSOR && $mode !== TDBMService::MODE_ARRAY) {
68
-            throw new TDBMException("Unknown fetch mode: '".$mode."'");
69
-        }
70
-
71
-        $this->queryFactory = $queryFactory;
72
-        $this->objectStorage = $objectStorage;
73
-        $this->className = $className;
74
-        $this->tdbmService = $tdbmService;
75
-        $this->parameters = $parameters;
76
-        $this->magicQuery = $magicQuery;
77
-        $this->databasePlatform = $this->tdbmService->getConnection()->getDatabasePlatform();
78
-        $this->mode = $mode;
79
-        $this->logger = $logger;
80
-    }
81
-
82
-    protected function executeCountQuery()
83
-    {
84
-        $sql = $this->magicQuery->build($this->queryFactory->getMagicSqlCount(), $this->parameters);
85
-        $this->logger->debug('Running count query: '.$sql);
86
-        $this->totalCount = $this->tdbmService->getConnection()->fetchColumn($sql, $this->parameters);
87
-    }
88
-
89
-    /**
90
-     * Counts found records (this is the number of records fetched, taking into account the LIMIT and OFFSET settings).
91
-     *
92
-     * @return int
93
-     */
94
-    public function count()
95
-    {
96
-        if ($this->totalCount === null) {
97
-            $this->executeCountQuery();
98
-        }
99
-
100
-        return $this->totalCount;
101
-    }
102
-
103
-    /**
104
-     * Casts the result set to a PHP array.
105
-     *
106
-     * @return array
107
-     */
108
-    public function toArray()
109
-    {
110
-        return iterator_to_array($this->getIterator());
111
-    }
112
-
113
-    /**
114
-     * Returns a new iterator mapping any call using the $callable function.
115
-     *
116
-     * @param callable $callable
117
-     *
118
-     * @return MapIterator
119
-     */
120
-    public function map(callable $callable)
121
-    {
122
-        return new MapIterator($this->getIterator(), $callable);
123
-    }
124
-
125
-    /**
126
-     * Retrieve an external iterator.
127
-     *
128
-     * @link http://php.net/manual/en/iteratoraggregate.getiterator.php
129
-     *
130
-     * @return InnerResultIterator An instance of an object implementing <b>Iterator</b> or
131
-     *                             <b>Traversable</b>
132
-     *
133
-     * @since 5.0.0
134
-     */
135
-    public function getIterator()
136
-    {
137
-        if ($this->innerResultIterator === null) {
138
-            if ($this->mode === TDBMService::MODE_CURSOR) {
139
-                $this->innerResultIterator = new InnerResultIterator($this->queryFactory->getMagicSql(), $this->parameters, null, null, $this->queryFactory->getColumnDescriptors(), $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
140
-            } else {
141
-                $this->innerResultIterator = new InnerResultArray($this->queryFactory->getMagicSql(), $this->parameters, null, null, $this->queryFactory->getColumnDescriptors(), $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
142
-            }
143
-        }
144
-
145
-        return $this->innerResultIterator;
146
-    }
147
-
148
-    /**
149
-     * @param int $offset
150
-     * @param int $limit
151
-     *
152
-     * @return PageIterator
153
-     */
154
-    public function take($offset, $limit)
155
-    {
156
-        return new PageIterator($this, $this->queryFactory->getMagicSql(), $this->parameters, $limit, $offset, $this->queryFactory->getColumnDescriptors(), $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->mode, $this->logger);
157
-    }
158
-
159
-    /**
160
-     * Whether a offset exists.
161
-     *
162
-     * @link http://php.net/manual/en/arrayaccess.offsetexists.php
163
-     *
164
-     * @param mixed $offset <p>
165
-     *                      An offset to check for.
166
-     *                      </p>
167
-     *
168
-     * @return bool true on success or false on failure.
169
-     *              </p>
170
-     *              <p>
171
-     *              The return value will be casted to boolean if non-boolean was returned
172
-     *
173
-     * @since 5.0.0
174
-     */
175
-    public function offsetExists($offset)
176
-    {
177
-        return $this->getIterator()->offsetExists($offset);
178
-    }
179
-
180
-    /**
181
-     * Offset to retrieve.
182
-     *
183
-     * @link http://php.net/manual/en/arrayaccess.offsetget.php
184
-     *
185
-     * @param mixed $offset <p>
186
-     *                      The offset to retrieve.
187
-     *                      </p>
188
-     *
189
-     * @return mixed Can return all value types
190
-     *
191
-     * @since 5.0.0
192
-     */
193
-    public function offsetGet($offset)
194
-    {
195
-        return $this->getIterator()->offsetGet($offset);
196
-    }
197
-
198
-    /**
199
-     * Offset to set.
200
-     *
201
-     * @link http://php.net/manual/en/arrayaccess.offsetset.php
202
-     *
203
-     * @param mixed $offset <p>
204
-     *                      The offset to assign the value to.
205
-     *                      </p>
206
-     * @param mixed $value  <p>
207
-     *                      The value to set.
208
-     *                      </p>
209
-     *
210
-     * @since 5.0.0
211
-     */
212
-    public function offsetSet($offset, $value)
213
-    {
214
-        return $this->getIterator()->offsetSet($offset, $value);
215
-    }
216
-
217
-    /**
218
-     * Offset to unset.
219
-     *
220
-     * @link http://php.net/manual/en/arrayaccess.offsetunset.php
221
-     *
222
-     * @param mixed $offset <p>
223
-     *                      The offset to unset.
224
-     *                      </p>
225
-     *
226
-     * @since 5.0.0
227
-     */
228
-    public function offsetUnset($offset)
229
-    {
230
-        return $this->getIterator()->offsetUnset($offset);
231
-    }
232
-
233
-    /**
234
-     * Specify data which should be serialized to JSON.
235
-     *
236
-     * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
237
-     *
238
-     * @param bool $stopRecursion Parameter used internally by TDBM to
239
-     *                            stop embedded objects from embedding
240
-     *                            other objects
241
-     *
242
-     * @return mixed data which can be serialized by <b>json_encode</b>,
243
-     *               which is a value of any type other than a resource
244
-     *
245
-     * @since 5.4.0
246
-     */
247
-    public function jsonSerialize($stopRecursion = false)
248
-    {
249
-        return array_map(function (AbstractTDBMObject $item) use ($stopRecursion) {
250
-            return $item->jsonSerialize($stopRecursion);
251
-        }, $this->toArray());
252
-    }
253
-
254
-    /**
255
-     * Returns only one value (the first) of the result set.
256
-     * Returns null if no value exists.
257
-     *
258
-     * @return mixed|null
259
-     */
260
-    public function first()
261
-    {
262
-        $page = $this->take(0, 1);
263
-        foreach ($page as $bean) {
264
-            return $bean;
265
-        }
266
-
267
-        return;
268
-    }
269
-
270
-    /**
271
-     * Sets the ORDER BY directive executed in SQL and returns a NEW ResultIterator.
272
-     *
273
-     * For instance:
274
-     *
275
-     *  $resultSet = $resultSet->withOrder('label ASC, status DESC');
276
-     *
277
-     * **Important:** TDBM does its best to protect you from SQL injection. In particular, it will only allow column names in the "ORDER BY" clause. This means you are safe to pass input from the user directly in the ORDER BY parameter.
278
-     * If you want to pass an expression to the ORDER BY clause, you will need to tell TDBM to stop checking for SQL injections. You do this by passing a `UncheckedOrderBy` object as a parameter:
279
-     *
280
-     *  $resultSet->withOrder(new UncheckedOrderBy('RAND()'))
281
-     *
282
-     * @param string|UncheckedOrderBy|null $orderBy
283
-     *
284
-     * @return ResultIterator
285
-     */
286
-    public function withOrder($orderBy) : ResultIterator
287
-    {
288
-        $clone = clone $this;
289
-        $clone->queryFactory = clone $this->queryFactory;
290
-        $clone->queryFactory->sort($orderBy);
291
-        $clone->innerResultIterator = null;
292
-
293
-        return $clone;
294
-    }
295
-
296
-    /**
297
-     * Sets new parameters for the SQL query and returns a NEW ResultIterator.
298
-     *
299
-     * For instance:
300
-     *
301
-     *  $resultSet = $resultSet->withParameters('label ASC, status DESC');
302
-     *
303
-     * @param string|UncheckedOrderBy|null $orderBy
304
-     *
305
-     * @return ResultIterator
306
-     */
307
-    public function withParameters(array $parameters) : ResultIterator
308
-    {
309
-        $clone = clone $this;
310
-        $clone->parameters = $parameters;
311
-        $clone->innerResultIterator = null;
312
-        $clone->totalCount = null;
313
-
314
-        return $clone;
315
-    }
35
+	/**
36
+	 * @var Statement
37
+	 */
38
+	protected $statement;
39
+
40
+	private $objectStorage;
41
+	private $className;
42
+
43
+	private $tdbmService;
44
+	private $parameters;
45
+	private $magicQuery;
46
+
47
+	/**
48
+	 * @var QueryFactory
49
+	 */
50
+	private $queryFactory;
51
+
52
+	/**
53
+	 * @var InnerResultIterator
54
+	 */
55
+	private $innerResultIterator;
56
+
57
+	private $databasePlatform;
58
+
59
+	private $totalCount;
60
+
61
+	private $mode;
62
+
63
+	private $logger;
64
+
65
+	public function __construct(QueryFactory $queryFactory, array $parameters, $objectStorage, $className, TDBMService $tdbmService, MagicQuery $magicQuery, $mode, LoggerInterface $logger)
66
+	{
67
+		if ($mode !== null && $mode !== TDBMService::MODE_CURSOR && $mode !== TDBMService::MODE_ARRAY) {
68
+			throw new TDBMException("Unknown fetch mode: '".$mode."'");
69
+		}
70
+
71
+		$this->queryFactory = $queryFactory;
72
+		$this->objectStorage = $objectStorage;
73
+		$this->className = $className;
74
+		$this->tdbmService = $tdbmService;
75
+		$this->parameters = $parameters;
76
+		$this->magicQuery = $magicQuery;
77
+		$this->databasePlatform = $this->tdbmService->getConnection()->getDatabasePlatform();
78
+		$this->mode = $mode;
79
+		$this->logger = $logger;
80
+	}
81
+
82
+	protected function executeCountQuery()
83
+	{
84
+		$sql = $this->magicQuery->build($this->queryFactory->getMagicSqlCount(), $this->parameters);
85
+		$this->logger->debug('Running count query: '.$sql);
86
+		$this->totalCount = $this->tdbmService->getConnection()->fetchColumn($sql, $this->parameters);
87
+	}
88
+
89
+	/**
90
+	 * Counts found records (this is the number of records fetched, taking into account the LIMIT and OFFSET settings).
91
+	 *
92
+	 * @return int
93
+	 */
94
+	public function count()
95
+	{
96
+		if ($this->totalCount === null) {
97
+			$this->executeCountQuery();
98
+		}
99
+
100
+		return $this->totalCount;
101
+	}
102
+
103
+	/**
104
+	 * Casts the result set to a PHP array.
105
+	 *
106
+	 * @return array
107
+	 */
108
+	public function toArray()
109
+	{
110
+		return iterator_to_array($this->getIterator());
111
+	}
112
+
113
+	/**
114
+	 * Returns a new iterator mapping any call using the $callable function.
115
+	 *
116
+	 * @param callable $callable
117
+	 *
118
+	 * @return MapIterator
119
+	 */
120
+	public function map(callable $callable)
121
+	{
122
+		return new MapIterator($this->getIterator(), $callable);
123
+	}
124
+
125
+	/**
126
+	 * Retrieve an external iterator.
127
+	 *
128
+	 * @link http://php.net/manual/en/iteratoraggregate.getiterator.php
129
+	 *
130
+	 * @return InnerResultIterator An instance of an object implementing <b>Iterator</b> or
131
+	 *                             <b>Traversable</b>
132
+	 *
133
+	 * @since 5.0.0
134
+	 */
135
+	public function getIterator()
136
+	{
137
+		if ($this->innerResultIterator === null) {
138
+			if ($this->mode === TDBMService::MODE_CURSOR) {
139
+				$this->innerResultIterator = new InnerResultIterator($this->queryFactory->getMagicSql(), $this->parameters, null, null, $this->queryFactory->getColumnDescriptors(), $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
140
+			} else {
141
+				$this->innerResultIterator = new InnerResultArray($this->queryFactory->getMagicSql(), $this->parameters, null, null, $this->queryFactory->getColumnDescriptors(), $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->logger);
142
+			}
143
+		}
144
+
145
+		return $this->innerResultIterator;
146
+	}
147
+
148
+	/**
149
+	 * @param int $offset
150
+	 * @param int $limit
151
+	 *
152
+	 * @return PageIterator
153
+	 */
154
+	public function take($offset, $limit)
155
+	{
156
+		return new PageIterator($this, $this->queryFactory->getMagicSql(), $this->parameters, $limit, $offset, $this->queryFactory->getColumnDescriptors(), $this->objectStorage, $this->className, $this->tdbmService, $this->magicQuery, $this->mode, $this->logger);
157
+	}
158
+
159
+	/**
160
+	 * Whether a offset exists.
161
+	 *
162
+	 * @link http://php.net/manual/en/arrayaccess.offsetexists.php
163
+	 *
164
+	 * @param mixed $offset <p>
165
+	 *                      An offset to check for.
166
+	 *                      </p>
167
+	 *
168
+	 * @return bool true on success or false on failure.
169
+	 *              </p>
170
+	 *              <p>
171
+	 *              The return value will be casted to boolean if non-boolean was returned
172
+	 *
173
+	 * @since 5.0.0
174
+	 */
175
+	public function offsetExists($offset)
176
+	{
177
+		return $this->getIterator()->offsetExists($offset);
178
+	}
179
+
180
+	/**
181
+	 * Offset to retrieve.
182
+	 *
183
+	 * @link http://php.net/manual/en/arrayaccess.offsetget.php
184
+	 *
185
+	 * @param mixed $offset <p>
186
+	 *                      The offset to retrieve.
187
+	 *                      </p>
188
+	 *
189
+	 * @return mixed Can return all value types
190
+	 *
191
+	 * @since 5.0.0
192
+	 */
193
+	public function offsetGet($offset)
194
+	{
195
+		return $this->getIterator()->offsetGet($offset);
196
+	}
197
+
198
+	/**
199
+	 * Offset to set.
200
+	 *
201
+	 * @link http://php.net/manual/en/arrayaccess.offsetset.php
202
+	 *
203
+	 * @param mixed $offset <p>
204
+	 *                      The offset to assign the value to.
205
+	 *                      </p>
206
+	 * @param mixed $value  <p>
207
+	 *                      The value to set.
208
+	 *                      </p>
209
+	 *
210
+	 * @since 5.0.0
211
+	 */
212
+	public function offsetSet($offset, $value)
213
+	{
214
+		return $this->getIterator()->offsetSet($offset, $value);
215
+	}
216
+
217
+	/**
218
+	 * Offset to unset.
219
+	 *
220
+	 * @link http://php.net/manual/en/arrayaccess.offsetunset.php
221
+	 *
222
+	 * @param mixed $offset <p>
223
+	 *                      The offset to unset.
224
+	 *                      </p>
225
+	 *
226
+	 * @since 5.0.0
227
+	 */
228
+	public function offsetUnset($offset)
229
+	{
230
+		return $this->getIterator()->offsetUnset($offset);
231
+	}
232
+
233
+	/**
234
+	 * Specify data which should be serialized to JSON.
235
+	 *
236
+	 * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
237
+	 *
238
+	 * @param bool $stopRecursion Parameter used internally by TDBM to
239
+	 *                            stop embedded objects from embedding
240
+	 *                            other objects
241
+	 *
242
+	 * @return mixed data which can be serialized by <b>json_encode</b>,
243
+	 *               which is a value of any type other than a resource
244
+	 *
245
+	 * @since 5.4.0
246
+	 */
247
+	public function jsonSerialize($stopRecursion = false)
248
+	{
249
+		return array_map(function (AbstractTDBMObject $item) use ($stopRecursion) {
250
+			return $item->jsonSerialize($stopRecursion);
251
+		}, $this->toArray());
252
+	}
253
+
254
+	/**
255
+	 * Returns only one value (the first) of the result set.
256
+	 * Returns null if no value exists.
257
+	 *
258
+	 * @return mixed|null
259
+	 */
260
+	public function first()
261
+	{
262
+		$page = $this->take(0, 1);
263
+		foreach ($page as $bean) {
264
+			return $bean;
265
+		}
266
+
267
+		return;
268
+	}
269
+
270
+	/**
271
+	 * Sets the ORDER BY directive executed in SQL and returns a NEW ResultIterator.
272
+	 *
273
+	 * For instance:
274
+	 *
275
+	 *  $resultSet = $resultSet->withOrder('label ASC, status DESC');
276
+	 *
277
+	 * **Important:** TDBM does its best to protect you from SQL injection. In particular, it will only allow column names in the "ORDER BY" clause. This means you are safe to pass input from the user directly in the ORDER BY parameter.
278
+	 * If you want to pass an expression to the ORDER BY clause, you will need to tell TDBM to stop checking for SQL injections. You do this by passing a `UncheckedOrderBy` object as a parameter:
279
+	 *
280
+	 *  $resultSet->withOrder(new UncheckedOrderBy('RAND()'))
281
+	 *
282
+	 * @param string|UncheckedOrderBy|null $orderBy
283
+	 *
284
+	 * @return ResultIterator
285
+	 */
286
+	public function withOrder($orderBy) : ResultIterator
287
+	{
288
+		$clone = clone $this;
289
+		$clone->queryFactory = clone $this->queryFactory;
290
+		$clone->queryFactory->sort($orderBy);
291
+		$clone->innerResultIterator = null;
292
+
293
+		return $clone;
294
+	}
295
+
296
+	/**
297
+	 * Sets new parameters for the SQL query and returns a NEW ResultIterator.
298
+	 *
299
+	 * For instance:
300
+	 *
301
+	 *  $resultSet = $resultSet->withParameters('label ASC, status DESC');
302
+	 *
303
+	 * @param string|UncheckedOrderBy|null $orderBy
304
+	 *
305
+	 * @return ResultIterator
306
+	 */
307
+	public function withParameters(array $parameters) : ResultIterator
308
+	{
309
+		$clone = clone $this;
310
+		$clone->parameters = $parameters;
311
+		$clone->innerResultIterator = null;
312
+		$clone->totalCount = null;
313
+
314
+		return $clone;
315
+	}
316 316
 }
Please login to merge, or discard this patch.
src/Mouf/Database/TDBM/Controllers/TdbmInstallController.php 1 patch
Indentation   +164 added lines, -164 removed lines patch added patch discarded remove patch
@@ -15,168 +15,168 @@
 block discarded – undo
15 15
  */
16 16
 class TdbmInstallController extends Controller
17 17
 {
18
-    /**
19
-     * @var HtmlBlock
20
-     */
21
-    public $content;
22
-
23
-    public $selfedit;
24
-
25
-    /**
26
-     * The active MoufManager to be edited/viewed.
27
-     *
28
-     * @var MoufManager
29
-     */
30
-    public $moufManager;
31
-
32
-    /**
33
-     * The template used by the main page for mouf.
34
-     *
35
-     * @Property
36
-     * @Compulsory
37
-     *
38
-     * @var TemplateInterface
39
-     */
40
-    public $template;
41
-
42
-    /**
43
-     * Displays the first install screen.
44
-     *
45
-     * @Action
46
-     * @Logged
47
-     *
48
-     * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
49
-     */
50
-    public function defaultAction($selfedit = 'false')
51
-    {
52
-        $this->selfedit = $selfedit;
53
-
54
-        if ($selfedit == 'true') {
55
-            $this->moufManager = MoufManager::getMoufManager();
56
-        } else {
57
-            $this->moufManager = MoufManager::getMoufManagerHiddenInstance();
58
-        }
59
-
60
-        $this->content->addFile(dirname(__FILE__).'/../../../../views/installStep1.php', $this);
61
-        $this->template->toHtml();
62
-    }
63
-
64
-    /**
65
-     * Skips the install process.
66
-     *
67
-     * @Action
68
-     * @Logged
69
-     *
70
-     * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
71
-     */
72
-    public function skip($selfedit = 'false')
73
-    {
74
-        InstallUtils::continueInstall($selfedit == 'true');
75
-    }
76
-
77
-    protected $daoNamespace;
78
-    protected $beanNamespace;
79
-    protected $autoloadDetected;
80
-    protected $storeInUtc;
81
-    protected $useCustomComposer = false;
82
-
83
-    /**
84
-     * Displays the second install screen.
85
-     *
86
-     * @Action
87
-     * @Logged
88
-     *
89
-     * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
90
-     */
91
-    public function configure($selfedit = 'false')
92
-    {
93
-        $this->selfedit = $selfedit;
94
-
95
-        if ($selfedit == 'true') {
96
-            $this->moufManager = MoufManager::getMoufManager();
97
-        } else {
98
-            $this->moufManager = MoufManager::getMoufManagerHiddenInstance();
99
-        }
100
-
101
-        // Let's start by performing basic checks about the instances we assume to exist.
102
-        if (!$this->moufManager->instanceExists('dbalConnection')) {
103
-            $this->displayErrorMsg("The TDBM install process assumes your database connection instance is already created, and that the name of this instance is 'dbalConnection'. Could not find the 'dbalConnection' instance.");
104
-
105
-            return;
106
-        }
107
-
108
-        $this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace_tdbmService');
109
-        $this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace_tdbmService');
110
-
111
-        if ($this->daoNamespace == null && $this->beanNamespace == null) {
112
-            $classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
113
-
114
-            $autoloadNamespaces = $classNameMapper->getManagedNamespaces();
115
-            if ($autoloadNamespaces) {
116
-                $this->autoloadDetected = true;
117
-                $rootNamespace = $autoloadNamespaces[0];
118
-                $this->daoNamespace = $rootNamespace.'Model\\Dao';
119
-                $this->beanNamespace = $rootNamespace.'Model\\Bean';
120
-            } else {
121
-                $this->autoloadDetected = false;
122
-                $this->daoNamespace = 'YourApplication\\Model\\Dao';
123
-                $this->beanNamespace = 'YourApplication\\Model\\Bean';
124
-            }
125
-        } else {
126
-            $this->autoloadDetected = true;
127
-        }
128
-        $this->defaultPath = true;
129
-        $this->storePath = '';
130
-
131
-        $this->castDatesToDateTime = true;
132
-
133
-        $this->content->addFile(dirname(__FILE__).'/../../../../views/installStep2.php', $this);
134
-        $this->template->toHtml();
135
-    }
136
-
137
-    /**
138
-     * This action generates the TDBM instance, then the DAOs and Beans.
139
-     *
140
-     * @Action
141
-     *
142
-     * @param string $daonamespace
143
-     * @param string $beannamespace
144
-     * @param int    $storeInUtc
145
-     * @param string $selfedit
146
-     *
147
-     * @throws \Mouf\MoufException
148
-     */
149
-    public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit = 'false', $defaultPath = false, $storePath = '')
150
-    {
151
-        $this->selfedit = $selfedit;
152
-
153
-        if ($selfedit == 'true') {
154
-            $this->moufManager = MoufManager::getMoufManager();
155
-        } else {
156
-            $this->moufManager = MoufManager::getMoufManagerHiddenInstance();
157
-        }
158
-
159
-        $doctrineCache = $this->moufManager->getInstanceDescriptor('defaultDoctrineCache');
160
-
161
-        if (!$this->moufManager->instanceExists('tdbmService')) {
162
-            $tdbmService = $this->moufManager->createInstance('Mouf\\Database\\TDBM\\TDBMService')->setName('tdbmService');
163
-            $tdbmService->getConstructorArgumentProperty('connection')->setValue($this->moufManager->getInstanceDescriptor('dbalConnection'));
164
-            $tdbmService->getConstructorArgumentProperty('cache')->setValue($doctrineCache);
165
-        }
166
-
167
-        $this->moufManager->rewriteMouf();
168
-
169
-        TdbmController::generateDaos($this->moufManager, 'tdbmService', $daonamespace, $beannamespace, 'DaoFactory', 'daoFactory', $selfedit, $storeInUtc, $defaultPath, $storePath);
170
-
171
-        InstallUtils::continueInstall($selfedit == 'true');
172
-    }
173
-
174
-    protected $errorMsg;
175
-
176
-    private function displayErrorMsg($msg)
177
-    {
178
-        $this->errorMsg = $msg;
179
-        $this->content->addFile(dirname(__FILE__).'/../../../../views/installError.php', $this);
180
-        $this->template->toHtml();
181
-    }
18
+	/**
19
+	 * @var HtmlBlock
20
+	 */
21
+	public $content;
22
+
23
+	public $selfedit;
24
+
25
+	/**
26
+	 * The active MoufManager to be edited/viewed.
27
+	 *
28
+	 * @var MoufManager
29
+	 */
30
+	public $moufManager;
31
+
32
+	/**
33
+	 * The template used by the main page for mouf.
34
+	 *
35
+	 * @Property
36
+	 * @Compulsory
37
+	 *
38
+	 * @var TemplateInterface
39
+	 */
40
+	public $template;
41
+
42
+	/**
43
+	 * Displays the first install screen.
44
+	 *
45
+	 * @Action
46
+	 * @Logged
47
+	 *
48
+	 * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
49
+	 */
50
+	public function defaultAction($selfedit = 'false')
51
+	{
52
+		$this->selfedit = $selfedit;
53
+
54
+		if ($selfedit == 'true') {
55
+			$this->moufManager = MoufManager::getMoufManager();
56
+		} else {
57
+			$this->moufManager = MoufManager::getMoufManagerHiddenInstance();
58
+		}
59
+
60
+		$this->content->addFile(dirname(__FILE__).'/../../../../views/installStep1.php', $this);
61
+		$this->template->toHtml();
62
+	}
63
+
64
+	/**
65
+	 * Skips the install process.
66
+	 *
67
+	 * @Action
68
+	 * @Logged
69
+	 *
70
+	 * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
71
+	 */
72
+	public function skip($selfedit = 'false')
73
+	{
74
+		InstallUtils::continueInstall($selfedit == 'true');
75
+	}
76
+
77
+	protected $daoNamespace;
78
+	protected $beanNamespace;
79
+	protected $autoloadDetected;
80
+	protected $storeInUtc;
81
+	protected $useCustomComposer = false;
82
+
83
+	/**
84
+	 * Displays the second install screen.
85
+	 *
86
+	 * @Action
87
+	 * @Logged
88
+	 *
89
+	 * @param string $selfedit If true, the name of the component must be a component from the Mouf framework itself (internal use only)
90
+	 */
91
+	public function configure($selfedit = 'false')
92
+	{
93
+		$this->selfedit = $selfedit;
94
+
95
+		if ($selfedit == 'true') {
96
+			$this->moufManager = MoufManager::getMoufManager();
97
+		} else {
98
+			$this->moufManager = MoufManager::getMoufManagerHiddenInstance();
99
+		}
100
+
101
+		// Let's start by performing basic checks about the instances we assume to exist.
102
+		if (!$this->moufManager->instanceExists('dbalConnection')) {
103
+			$this->displayErrorMsg("The TDBM install process assumes your database connection instance is already created, and that the name of this instance is 'dbalConnection'. Could not find the 'dbalConnection' instance.");
104
+
105
+			return;
106
+		}
107
+
108
+		$this->daoNamespace = $this->moufManager->getVariable('tdbmDefaultDaoNamespace_tdbmService');
109
+		$this->beanNamespace = $this->moufManager->getVariable('tdbmDefaultBeanNamespace_tdbmService');
110
+
111
+		if ($this->daoNamespace == null && $this->beanNamespace == null) {
112
+			$classNameMapper = ClassNameMapper::createFromComposerFile(__DIR__.'/../../../../../../../../composer.json');
113
+
114
+			$autoloadNamespaces = $classNameMapper->getManagedNamespaces();
115
+			if ($autoloadNamespaces) {
116
+				$this->autoloadDetected = true;
117
+				$rootNamespace = $autoloadNamespaces[0];
118
+				$this->daoNamespace = $rootNamespace.'Model\\Dao';
119
+				$this->beanNamespace = $rootNamespace.'Model\\Bean';
120
+			} else {
121
+				$this->autoloadDetected = false;
122
+				$this->daoNamespace = 'YourApplication\\Model\\Dao';
123
+				$this->beanNamespace = 'YourApplication\\Model\\Bean';
124
+			}
125
+		} else {
126
+			$this->autoloadDetected = true;
127
+		}
128
+		$this->defaultPath = true;
129
+		$this->storePath = '';
130
+
131
+		$this->castDatesToDateTime = true;
132
+
133
+		$this->content->addFile(dirname(__FILE__).'/../../../../views/installStep2.php', $this);
134
+		$this->template->toHtml();
135
+	}
136
+
137
+	/**
138
+	 * This action generates the TDBM instance, then the DAOs and Beans.
139
+	 *
140
+	 * @Action
141
+	 *
142
+	 * @param string $daonamespace
143
+	 * @param string $beannamespace
144
+	 * @param int    $storeInUtc
145
+	 * @param string $selfedit
146
+	 *
147
+	 * @throws \Mouf\MoufException
148
+	 */
149
+	public function generate($daonamespace, $beannamespace, $storeInUtc = 0, $selfedit = 'false', $defaultPath = false, $storePath = '')
150
+	{
151
+		$this->selfedit = $selfedit;
152
+
153
+		if ($selfedit == 'true') {
154
+			$this->moufManager = MoufManager::getMoufManager();
155
+		} else {
156
+			$this->moufManager = MoufManager::getMoufManagerHiddenInstance();
157
+		}
158
+
159
+		$doctrineCache = $this->moufManager->getInstanceDescriptor('defaultDoctrineCache');
160
+
161
+		if (!$this->moufManager->instanceExists('tdbmService')) {
162
+			$tdbmService = $this->moufManager->createInstance('Mouf\\Database\\TDBM\\TDBMService')->setName('tdbmService');
163
+			$tdbmService->getConstructorArgumentProperty('connection')->setValue($this->moufManager->getInstanceDescriptor('dbalConnection'));
164
+			$tdbmService->getConstructorArgumentProperty('cache')->setValue($doctrineCache);
165
+		}
166
+
167
+		$this->moufManager->rewriteMouf();
168
+
169
+		TdbmController::generateDaos($this->moufManager, 'tdbmService', $daonamespace, $beannamespace, 'DaoFactory', 'daoFactory', $selfedit, $storeInUtc, $defaultPath, $storePath);
170
+
171
+		InstallUtils::continueInstall($selfedit == 'true');
172
+	}
173
+
174
+	protected $errorMsg;
175
+
176
+	private function displayErrorMsg($msg)
177
+	{
178
+		$this->errorMsg = $msg;
179
+		$this->content->addFile(dirname(__FILE__).'/../../../../views/installError.php', $this);
180
+		$this->template->toHtml();
181
+	}
182 182
 }
Please login to merge, or discard this patch.