@@ 46-81 (lines=36) @@ | ||
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 !== null) { |
|
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 | /** |
|
69 | * @var $results Notebook[] |
|
70 | */ |
|
71 | $results = []; |
|
72 | foreach ($this->execute($sql, $params)->fetchAll() as $item) { |
|
73 | $results[] = $this->makeEntityFromDBResult($item); |
|
74 | } |
|
75 | // var_dump($results); |
|
76 | if(count($results) === 1){ |
|
77 | return reset($results); |
|
78 | } |
|
79 | ||
80 | return $results; |
|
81 | } |
|
82 | ||
83 | /** |
|
84 | * @param $group_name |
|
@@ 89-124 (lines=36) @@ | ||
86 | * @param bool $deleted |
|
87 | * @return Notebook[]|Notebook |
|
88 | */ |
|
89 | public function findByName($group_name, $user_id = null, $deleted = false) { |
|
90 | $params = []; |
|
91 | $where = []; |
|
92 | if($group_name){ |
|
93 | $where[] = 'g.name = ?'; |
|
94 | $params[] = $group_name; |
|
95 | } |
|
96 | ||
97 | if ($user_id) { |
|
98 | $params[] = $user_id; |
|
99 | $where[] = 'g.uid = ?'; |
|
100 | } |
|
101 | ||
102 | if ($deleted !== false) { |
|
103 | $params[] = $deleted; |
|
104 | $where[] = 'g.deleted = ?'; |
|
105 | } |
|
106 | $where = implode(' AND ', $where); |
|
107 | if($where){ |
|
108 | $where = 'WHERE '. $where; |
|
109 | } |
|
110 | $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"; |
|
111 | /** |
|
112 | * @var $results Notebook[] |
|
113 | */ |
|
114 | $results = []; |
|
115 | foreach ($this->execute($sql, $params)->fetchAll() as $item) { |
|
116 | $results[] = $this->makeEntityFromDBResult($item); |
|
117 | } |
|
118 | ||
119 | if(count($results) === 1){ |
|
120 | return reset($results); |
|
121 | } |
|
122 | ||
123 | return $results; |
|
124 | } |
|
125 | ||
126 | /** |
|
127 | * Creates a group |