@@ -93,10 +93,18 @@ public function find($id, $withLabels = false, $withAcl = false) {
9393	 * @param null $offset 
9494	 * @return array 
9595	 */ 
96- 	public  function  findAllByUser ($ userId$ limitnull , $ offsetnull , $ since1 ) {
97- 		$ sql'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ? UNION  '  .
96+ 	public  function  findAllByUser ($ userId$ limitnull , $ offsetnull , $ since1 , $ includeArchivedtrue ) {
97+ 		// FIXME: One moving to QBMapper we should allow filtering the boards probably by method chaining for additional where clauses 
98+ 		$ sql'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ? ' ;
99+ 		if  (!$ includeArchived
100+ 			$ sql' AND NOT archived ' ;
101+ 		}
102+ 		$ sql' UNION  '  .
98103			'SELECT boards.id, title, owner, color, archived, deleted_at, 1 as shared, last_modified FROM `*PREFIX*deck_boards` as boards  '  .
99104			'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ? AND last_modified > ? ' ;
105+ 		if  (!$ includeArchived
106+ 			$ sql' AND NOT archived ' ;
107+ 		}
100108		$ entries$ this findEntities ($ sql$ userId$ since$ userIdPERMISSION_TYPE_USER , $ userId$ since$ limit$ offset
101109		/* @var Board $entry */ 
102110		foreach  ($ entriesas  $ entry
@@ -120,7 +128,7 @@ public function findAllByOwner(string $userId, int $limit = null, int $offset =
120128	 * @param null $offset 
121129	 * @return array 
122130	 */ 
123- 	public  function  findAllByGroups ($ userId$ groups$ limitnull , $ offsetnull ) {
131+ 	public  function  findAllByGroups ($ userId$ groups$ limitnull , $ offsetnull ,  $ since  = - 1 , $ includeArchived  =  true ) {
124132		if  (count ($ groups0 ) {
125133			return  [];
126134		}
@@ -132,7 +140,10 @@ public function findAllByGroups($userId, $groups, $limit = null, $offset = null)
132140				$ sql' OR  ' ;
133141			}
134142		}
135- 		$ sql'); ' ;
143+ 		$ sql') ' ;
144+ 		if  (!$ includeArchived
145+ 			$ sql' AND NOT archived ' ;
146+ 		}
136147		$ entries$ this findEntities ($ sqlarray_merge ([$ userIdPERMISSION_TYPE_GROUP ], $ groups$ limit$ offset
137148		/* @var Board $entry */ 
138149		foreach  ($ entriesas  $ entry
@@ -142,7 +153,7 @@ public function findAllByGroups($userId, $groups, $limit = null, $offset = null)
142153		return  $ entries
143154	}
144155
145- 	public  function  findAllByCircles ($ userId$ limitnull , $ offsetnull ) {
156+ 	public  function  findAllByCircles ($ userId$ limitnull , $ offsetnull ,  $ since  = - 1 , $ includeArchived  =  true ) {
146157		if  (!$ this circlesEnabled ) {
147158			return  [];
148159		}
@@ -161,7 +172,10 @@ public function findAllByCircles($userId, $limit = null, $offset = null) {
161172				$ sql' OR  ' ;
162173			}
163174		}
164- 		$ sql'); ' ;
175+ 		$ sql') ' ;
176+ 		if  (!$ includeArchived
177+ 			$ sql' AND NOT archived ' ;
178+ 		}
165179		$ entries$ this findEntities ($ sqlarray_merge ([$ userIdPERMISSION_TYPE_CIRCLE ], $ circles$ limit$ offset
166180		/* @var Board $entry */ 
167181		foreach  ($ entriesas  $ entry
0 commit comments