public function grep_records(\Closure $closure) { foreach ($this->selection->get_elements() as $record) { if (!$closure($record)) { $this->selection->remove_element($record); } } return $this; }
/** * * @return set_selection */ public function get_grouping_parents() { $sql = 'SELECT r.record_id FROM regroup g INNER JOIN (record r INNER JOIN collusr c ON site = :site AND usr_id = :usr_id AND c.coll_id = r.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND r.parent_record_id = 1 ) ON (g.rid_parent = r.record_id) WHERE rid_child = :record_id'; $stmt = $this->get_databox()->get_connection()->prepare($sql); $stmt->execute([':site' => $this->app['conf']->get(['main', 'key']), ':usr_id' => $this->app['authentication']->getUser()->getId(), ':record_id' => $this->get_record_id()]); $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); $set = new set_selection($this->app); foreach ($rs as $row) { $set->add_element(new record_adapter($this->app, $this->get_sbas_id(), $row['record_id'])); } return $set; }