public function getDirectoryId(string $cabin, array $parts) : int
{
$directoryId = null;
do {
$part = \array_shift($parts);
if (empty($directoryId)) {
$directoryId = $this->db->cell('SELECT
directoryid
FROM
airship_dirs
WHERE
cabin = ?
AND parent IS NULL
AND name = ?
', $cabin, $part);
} else {
$directoryId = $this->db->cell('SELECT
directoryid
FROM
airship_dirs
WHERE
parent = ?
AND name = ?
', $directoryId, $part);
}
if (empty($directoryId)) {
throw new FileNotFound();
}
} while (!empty($parts));
return $directoryId;
}