Code Duplication    Length = 33-33 lines in 2 locations

lib/Db/NotebookMapper.php 2 locations

@@ 46-78 (lines=33) @@
43
	 * @param bool|int $deleted
44
	 * @return Notebook[]|Notebook
45
	 */
46
	public function find($notebook_id, $user_id = null, $deleted = false) {
47
		$params = [];
48
		$where = [];
49
		if($notebook_id){
50
			$where[] = 'g.id= ?';
51
			$params[] = $notebook_id;
52
		}
53
54
		if ($user_id) {
55
			$params[] = $user_id;
56
			$where[] = 'g.uid = ?';
57
		}
58
59
		if ($deleted !== false) {
60
			$params[] = $deleted;
61
			$where[] = 'g.deleted = ?';
62
		}
63
		$where = implode(' AND ', $where);
64
		if($where){
65
			$where = 'WHERE '. $where;
66
		}
67
		$sql = "SELECT g.*, g.guid as guid, COUNT(n.id) as note_count FROM *PREFIX*nextnote_groups g LEFT JOIN *PREFIX*nextnote_notes n ON g.name=n.grouping $where  GROUP BY g.id";
68
		$results = [];
69
		foreach ($this->execute($sql, $params)->fetchAll() as $item) {
70
			$results[] = $this->makeEntityFromDBResult($item);
71
		}
72
//		var_dump($results);
73
		if(count($results) === 1){
74
			return reset($results);
75
		}
76
77
		return $results;
78
	}
79
80
	/**
81
	 * @param $group_name
@@ 86-118 (lines=33) @@
83
	 * @param bool $deleted
84
	 * @return Notebook[]|Notebook
85
	 */
86
	public function findByName($group_name, $user_id = null, $deleted = false) {
87
		$params = [];
88
		$where = [];
89
		if($group_name){
90
			$where[] = 'g.name = ?';
91
			$params[] = $group_name;
92
		}
93
94
		if ($user_id) {
95
			$params[] = $user_id;
96
			$where[] = 'g.uid = ?';
97
		}
98
99
		if ($deleted !== false) {
100
			$params[] = $deleted;
101
			$where[] = 'g.deleted = ?';
102
		}
103
		$where = implode(' AND ', $where);
104
		if($where){
105
			$where = 'WHERE '. $where;
106
		}
107
		$sql = "SELECT g.*, COUNT(n.id) as note_count FROM *PREFIX*nextnote_groups g LEFT JOIN *PREFIX*nextnote_notes n ON g.name=n.grouping $where  GROUP BY g.id";
108
		$results = [];
109
		foreach ($this->execute($sql, $params)->fetchAll() as $item) {
110
			$results[] = $this->makeEntityFromDBResult($item);
111
		}
112
113
		if(count($results) === 1){
114
			return reset($results);
115
		}
116
117
		return $results;
118
	}
119
120
   	/**
121
	 * Creates a group