Passed
Push — master ( e9dd98...02cf1a )
by Richard
01:44
created
maphper/datasource/DatabaseCrud.php 1 patch
Indentation   +50 added lines, -50 removed lines patch added patch discarded remove patch
@@ -2,30 +2,30 @@  discard block
 block discarded – undo
2 2
 namespace Maphper\DataSource;
3 3
 
4 4
 class DatabaseCrud {
5
-    private $crudBuilder;
6
-    private $whereBuilder;
7
-    private $adapter;
8
-    private $databaseModify;
9
-    private $databaseSelect;
10
-    private $table;
11
-    private $primaryKey;
12
-
13
-    public function __construct(DatabaseAdapter $adapter, DatabaseModify $databaseModify, DatabaseSelect $databaseSelect, $table, $primaryKey) {
14
-        $this->adapter = $adapter;
15
-        $this->databaseModify = $databaseModify;
16
-        $this->databaseSelect = $databaseSelect;
17
-        $this->crudBuilder = new \Maphper\Lib\CrudBuilder();
18
-        $this->whereBuilder = new \Maphper\Lib\Sql\WhereBuilder();
19
-        $this->table = $table;
20
-        $this->primaryKey = $primaryKey;
21
-    }
22
-
23
-    public function deleteById($id) {
24
-        $this->adapter->query($this->crudBuilder->delete($this->table, [$this->primaryKey[0] . ' = :id'], [':id' => $id], 1));
25
-        $this->databaseSelect->deleteIDFromCache($id);
5
+	private $crudBuilder;
6
+	private $whereBuilder;
7
+	private $adapter;
8
+	private $databaseModify;
9
+	private $databaseSelect;
10
+	private $table;
11
+	private $primaryKey;
12
+
13
+	public function __construct(DatabaseAdapter $adapter, DatabaseModify $databaseModify, DatabaseSelect $databaseSelect, $table, $primaryKey) {
14
+		$this->adapter = $adapter;
15
+		$this->databaseModify = $databaseModify;
16
+		$this->databaseSelect = $databaseSelect;
17
+		$this->crudBuilder = new \Maphper\Lib\CrudBuilder();
18
+		$this->whereBuilder = new \Maphper\Lib\Sql\WhereBuilder();
19
+		$this->table = $table;
20
+		$this->primaryKey = $primaryKey;
26 21
 	}
27 22
 
28
-    public function deleteByField(array $fields, array $options = []) {
23
+	public function deleteById($id) {
24
+		$this->adapter->query($this->crudBuilder->delete($this->table, [$this->primaryKey[0] . ' = :id'], [':id' => $id], 1));
25
+		$this->databaseSelect->deleteIDFromCache($id);
26
+	}
27
+
28
+	public function deleteByField(array $fields, array $options = []) {
29 29
 		$query = $this->whereBuilder->createSql($fields);
30 30
 		$this->adapter->query($this->crudBuilder->delete($this->table, $query['sql'], $query['args'], $options['limit'], null, $options['order']));
31 31
 		$this->databaseModify->addIndex(array_keys($query['args']));
@@ -35,22 +35,22 @@  discard block
 block discarded – undo
35 35
 		$this->databaseSelect->clearResultCache();
36 36
 	}
37 37
 
38
-    private function getIfNew($data) {
39
-        $new = false;
40
-        foreach ($this->primaryKey as $k) {
41
-            if (empty($data->$k)) {
42
-                $data->$k = null;
43
-                $new = true;
44
-            }
45
-        }
46
-        return $new;
47
-    }
38
+	private function getIfNew($data) {
39
+		$new = false;
40
+		foreach ($this->primaryKey as $k) {
41
+			if (empty($data->$k)) {
42
+				$data->$k = null;
43
+				$new = true;
44
+			}
45
+		}
46
+		return $new;
47
+	}
48 48
 
49
-    public function save($data, $tryagain = true) {
50
-        $new = $this->getIfNew($data);
49
+	public function save($data, $tryagain = true) {
50
+		$new = $this->getIfNew($data);
51 51
 
52 52
 		try {
53
-            $result = $this->insert($this->table, $this->primaryKey, $data);
53
+			$result = $this->insert($this->table, $this->primaryKey, $data);
54 54
 
55 55
 			//If there was an error but PDO is silent, trigger the catch block anyway
56 56
 			if ($result->errorCode() !== '00000') throw new \Exception('Could not insert into ' . $this->table);
@@ -68,15 +68,15 @@  discard block
 block discarded – undo
68 68
 		$this->databaseSelect->updateCache($data, $data->{$this->primaryKey[0]});
69 69
 	}
70 70
 
71
-    private function updatePK($data, $new) {
72
-        if ($new && count($this->primaryKey) == 1) $data->{$this->primaryKey[0]} = $this->adapter->lastInsertId();
73
-    }
71
+	private function updatePK($data, $new) {
72
+		if ($new && count($this->primaryKey) == 1) $data->{$this->primaryKey[0]} = $this->adapter->lastInsertId();
73
+	}
74 74
 
75
-    private function checkIfUpdateWorked($data) {
76
-        $updateWhere = $this->whereBuilder->createSql($data);
77
-        $matched = $this->databaseSelect->findByField($updateWhere['args']);
78
-        if (count($matched) == 0) throw new \InvalidArgumentException('Record inserted into table ' . $this->table . ' fails table constraints');
79
-    }
75
+	private function checkIfUpdateWorked($data) {
76
+		$updateWhere = $this->whereBuilder->createSql($data);
77
+		$matched = $this->databaseSelect->findByField($updateWhere['args']);
78
+		if (count($matched) == 0) throw new \InvalidArgumentException('Record inserted into table ' . $this->table . ' fails table constraints');
79
+	}
80 80
 
81 81
 	private function insert($table, array $primaryKey, $data) {
82 82
 		$error = 0;
@@ -88,16 +88,16 @@  discard block
 block discarded – undo
88 88
 		}
89 89
 
90 90
  		if ($error || $result->errorCode() !== '00000') {
91
-            $result = $this->tryUpdate($table, $primaryKey, $data);
92
-        }
91
+			$result = $this->tryUpdate($table, $primaryKey, $data);
92
+		}
93 93
 
94 94
 		return $result;
95 95
 	}
96 96
 
97
-    private function tryUpdate($table, array $primaryKey, $data) {
98
-        $result = $this->adapter->query($this->crudBuilder->update($table, $primaryKey, $data));
99
-        if ($result->rowCount() === 0) $this->checkIfUpdateWorked($data);
97
+	private function tryUpdate($table, array $primaryKey, $data) {
98
+		$result = $this->adapter->query($this->crudBuilder->update($table, $primaryKey, $data));
99
+		if ($result->rowCount() === 0) $this->checkIfUpdateWorked($data);
100 100
 
101
-        return $result;
102
-    }
101
+		return $result;
102
+	}
103 103
 }
Please login to merge, or discard this patch.
maphper/datasource/database.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -7,8 +7,8 @@  discard block
 block discarded – undo
7 7
 
8 8
 	private $primaryKey;
9 9
 	private $fields = '*';
10
-    private $databaseSelect;
11
-    private $databaseCrud;
10
+	private $databaseSelect;
11
+	private $databaseCrud;
12 12
 
13 13
 	public function __construct($db, $table, $primaryKey = 'id', array $options = []) {
14 14
 		$options = new DatabaseOptions($db, $options);
@@ -20,10 +20,10 @@  discard block
 block discarded – undo
20 20
 
21 21
 		$defaultSort = $options->read('defaultSort') !== false ? $options->read('defaultSort')  : implode(', ', $this->primaryKey);
22 22
 
23
-        $databaseModify = new DatabaseModify($adapter, $options->getEditMode(), $table);
23
+		$databaseModify = new DatabaseModify($adapter, $options->getEditMode(), $table);
24 24
 
25
-        $this->databaseSelect = new DatabaseSelect($adapter, $databaseModify, $table, $defaultSort);
26
-        $this->databaseCrud = new DatabaseCrud($adapter, $databaseModify, $this->databaseSelect, $table, $this->primaryKey);
25
+		$this->databaseSelect = new DatabaseSelect($adapter, $databaseModify, $table, $defaultSort);
26
+		$this->databaseCrud = new DatabaseCrud($adapter, $databaseModify, $this->databaseSelect, $table, $this->primaryKey);
27 27
 
28 28
 		$databaseModify->optimizeColumns();
29 29
 	}
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
 	}
46 46
 
47 47
 	public function findByField(array $fields, $options = []) {
48
-        return $this->databaseSelect->findByField($fields, $options);
48
+		return $this->databaseSelect->findByField($fields, $options);
49 49
 	}
50 50
 
51 51
 	public function deleteByField(array $fields, array $options = []) {
@@ -53,6 +53,6 @@  discard block
 block discarded – undo
53 53
 	}
54 54
 
55 55
 	public function save($data) {
56
-        $this->databaseCrud->save($data, true);
56
+		$this->databaseCrud->save($data, true);
57 57
 	}
58 58
 }
Please login to merge, or discard this patch.
maphper/datasource/DatabaseModify.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -2,25 +2,25 @@
 block discarded – undo
2 2
 namespace Maphper\DataSource;
3 3
 
4 4
 class DatabaseModify {
5
-    private $adapter;
6
-    private $alterDb;
7
-    private $table;
5
+	private $adapter;
6
+	private $alterDb;
7
+	private $table;
8 8
 
9
-    public function __construct(DatabaseAdapter $adapter, $alterDb, $table) {
10
-        $this->adapter = $adapter;
11
-        $this->alterDb = $alterDb;
12
-        $this->table = $table;
13
-    }
9
+	public function __construct(DatabaseAdapter $adapter, $alterDb, $table) {
10
+		$this->adapter = $adapter;
11
+		$this->alterDb = $alterDb;
12
+		$this->table = $table;
13
+	}
14 14
 
15
-    public function addIndex($args) {
15
+	public function addIndex($args) {
16 16
 		if (Database::EDIT_INDEX & $this->alterDb) $this->adapter->addIndex($this->table, $args);
17 17
 	}
18 18
 
19
-    public function optimizeColumns() {
20
-        if (Database::EDIT_OPTIMISE & $this->alterDb && rand(0,500) == 1) $this->adapter->optimiseColumns($this->table);
21
-    }
19
+	public function optimizeColumns() {
20
+		if (Database::EDIT_OPTIMISE & $this->alterDb && rand(0,500) == 1) $this->adapter->optimiseColumns($this->table);
21
+	}
22 22
 
23
-    public function getTryInsertAgain($tryagain) {
24
-        return $tryagain && Database::EDIT_STRUCTURE & $this->alterDb;
25
-    }
23
+	public function getTryInsertAgain($tryagain) {
24
+		return $tryagain && Database::EDIT_STRUCTURE & $this->alterDb;
25
+	}
26 26
 }
Please login to merge, or discard this patch.
maphper/datasource/DatabaseSelect.php 1 patch
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -2,31 +2,31 @@  discard block
 block discarded – undo
2 2
 namespace Maphper\DataSource;
3 3
 
4 4
 class DatabaseSelect {
5
-    private $resultCache = [];
6
-    private $idCache = [];
7
-    private $selectBuilder;
8
-    private $whereBuilder;
9
-    private $adapter;
10
-    private $databaseModify;
11
-    private $defaultSort;
12
-    private $table;
13
-
14
-    public function __construct(DatabaseAdapter $adapter, DatabaseModify $databaseModify, $table, $defaultSort) {
15
-        $this->adapter = $adapter;
16
-        $this->databaseModify = $databaseModify;
17
-        $this->selectBuilder = new \Maphper\Lib\SelectBuilder();
18
-        $this->whereBuilder = new \Maphper\Lib\Sql\WhereBuilder();
19
-        $this->defaultSort = $defaultSort;
20
-        $this->table = $table;
21
-    }
22
-
23
-    public function findById($id, $pk) {
5
+	private $resultCache = [];
6
+	private $idCache = [];
7
+	private $selectBuilder;
8
+	private $whereBuilder;
9
+	private $adapter;
10
+	private $databaseModify;
11
+	private $defaultSort;
12
+	private $table;
13
+
14
+	public function __construct(DatabaseAdapter $adapter, DatabaseModify $databaseModify, $table, $defaultSort) {
15
+		$this->adapter = $adapter;
16
+		$this->databaseModify = $databaseModify;
17
+		$this->selectBuilder = new \Maphper\Lib\SelectBuilder();
18
+		$this->whereBuilder = new \Maphper\Lib\Sql\WhereBuilder();
19
+		$this->defaultSort = $defaultSort;
20
+		$this->table = $table;
21
+	}
22
+
23
+	public function findById($id, $pk) {
24 24
 		if (!isset($this->idCache[$id])) {
25 25
 			try {
26 26
 				$result = $this->selectQuery($this->selectBuilder->select($this->table, $pk . ' = :id', [':id' => $id], ['limit' => 1]));
27 27
 			}
28 28
 			catch (\Exception $e) {
29
-                // Don't issue an error if it cannot be found since we return null
29
+				// Don't issue an error if it cannot be found since we return null
30 30
 			}
31 31
 
32 32
 			if (isset($result[0])) 	$this->idCache[$id] = $result[0];
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
 		return $this->idCache[$id];
36 36
 	}
37 37
 
38
-    public function findByField(array $fields, $options = []) {
38
+	public function findByField(array $fields, $options = []) {
39 39
 		$cacheId = md5(serialize(func_get_args()));
40 40
 		if (!isset($this->resultCache[$cacheId])) {
41 41
 			$query = $this->whereBuilder->createSql($fields);
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
 		return $this->resultCache[$cacheId];
56 56
 	}
57 57
 
58
-    public function findAggregate($function, $field, $group = null, array $criteria = [], array $options = []) {
58
+	public function findAggregate($function, $field, $group = null, array $criteria = [], array $options = []) {
59 59
 		//Cannot count/sum/max multiple fields, pick the first one. This should only come into play when trying to count() a mapper with multiple primary keys
60 60
 		if (is_array($field)) $field = $field[0];
61 61
 		$query = $this->whereBuilder->createSql($criteria);
@@ -72,34 +72,34 @@  discard block
 block discarded – undo
72 72
 		}
73 73
 	}
74 74
 
75
-    private function determineAggregateResult($result, $group, $field) {
76
-        if ($group != null) {
77
-            $ret = [];
78
-            foreach ($result as $res) $ret[$res->$field] = $res->val;
79
-            return $ret;
80
-        }
81
-        else if (isset($result[0])) return $result[0]->val;
82
-        else return 0;
83
-    }
84
-
85
-    private function selectQuery(\Maphper\Lib\Query $query) {
86
-        return $this->adapter->query($query)->fetchAll(\PDO::FETCH_OBJ);
87
-    }
88
-
89
-    public function clearResultCache() {
90
-        $this->resultCache = [];
91
-    }
92
-
93
-    public function clearIDCache() {
94
-        $this->idCache = [];
95
-    }
96
-
97
-    public function updateCache($data, $pkValue) {
75
+	private function determineAggregateResult($result, $group, $field) {
76
+		if ($group != null) {
77
+			$ret = [];
78
+			foreach ($result as $res) $ret[$res->$field] = $res->val;
79
+			return $ret;
80
+		}
81
+		else if (isset($result[0])) return $result[0]->val;
82
+		else return 0;
83
+	}
84
+
85
+	private function selectQuery(\Maphper\Lib\Query $query) {
86
+		return $this->adapter->query($query)->fetchAll(\PDO::FETCH_OBJ);
87
+	}
88
+
89
+	public function clearResultCache() {
90
+		$this->resultCache = [];
91
+	}
92
+
93
+	public function clearIDCache() {
94
+		$this->idCache = [];
95
+	}
96
+
97
+	public function updateCache($data, $pkValue) {
98 98
 		if (isset($this->cache[$pkValue])) $this->cache[$pkValue] = (object) array_merge((array)$this->cache[$pkValue], (array)$data);
99 99
 		else $this->cache[$pkValue] = $data;
100
-    }
100
+	}
101 101
 
102
-    public function deleteIDFromCache($id) {
103
-        unset($this->idCache[$id]);
104
-    }
102
+	public function deleteIDFromCache($id) {
103
+		unset($this->idCache[$id]);
104
+	}
105 105
 }
Please login to merge, or discard this patch.