public function getItem(array $filter) { if ($filter == '') { return $this->listsArr; } elseif (parent::arrayKeyExists('status', $filter) && $filter['status'] == statusItem::DEFAULT_STATUS) { return array_filter($this->listsArr, 'self::filter_status_default'); } elseif (parent::arrayKeyExists('status', $filter) && $filter['status'] == statusItem::DEFAULT_DONE) { return array_filter($this->listsArr, 'self::filter_status_done'); } else { throw new ExceptionTodoList('Error : filters no defined'); } }
private function generate_listItem_fromDB($nameList, $filters = '') { // Request for this nameList in DB $listArr = $this->DB->query_select("SELECT lists.id FROM lists WHERE name='" . DataBase::format_text_sql($nameList) . "' order by id DESC limit 0,1"); if ($listArr[0]['count_row'] == 0) { throw new ExceptionToDoList('Error : name list not found'); } $id = $listArr[0]['id']; $lstTodo = parent::create($nameList); // Create a new object of listTodo class // Request for items nameList in DB if (is_array($filters)) { $filters = DataBase::generate_filter_sql($filters); } $listArr = $this->DB->query_select("SELECT items.content, items.status FROM items WHERE list_id={$id} {$filters} order by id DESC"); for ($i = 0; $i < $listArr[0]['count_row']; $i++) { if ($listArr[$i]['content'] != '') { $lstTodo->addItem(array('content' => $listArr[$i]['content'], 'status' => $listArr[$i]['status'])); } } return array($id, $lstTodo); }