public function getByPath($path)
{
// check for root node
$_path = $path != "/" ? dirname($path) : $path;
$_path = str_replace("\\", "/", $_path);
// windows patch
$_key = basename($path);
$_path .= $_path != "/" ? "/" : "";
$data = $this->db->fetchRow("SELECT id FROM documents WHERE path = " . $this->db->quote($_path) . " and `key` = " . $this->db->quote($_key));
if ($data["id"]) {
$this->assignVariablesToModel($data);
} else {
// try to find a page with a pretty URL (use the original $path)
$data = $this->db->fetchRow("SELECT id FROM documents_page WHERE prettyUrl = " . $this->db->quote($path));
if ($data["id"]) {
$this->assignVariablesToModel($data);
} else {
throw new \Exception("document with path {$path} doesn't exist");
}
}
}