function storageGetItemBy($entity, $attribute, $criteria) { $items = []; $files = scandir(DB_DIR); foreach ($files as $filename) { list($id) = sscanf($filename, getFilenamePattern($entity)); if ($id) { $item = storageGetItemById($entity, $id); if ($item && isset($item[$attribute]) && $item[$attribute] == $criteria) { $items[] = $item; } } } return $items; }
function storageGetALL($entitiy) { $items = []; $dir = @opendir(DB_DIR); if (!$dir) { return $items; } do { $filename = readdir($dir); list($id) = sscanf($filename, getFilenamePattern($entitiy)); if ($id) { $items[] = storageGetItemByID($entitiy, $id); } } while ($filename); closedir($dir); return $items; }