public function deleteFromFilesystem(CrudEvent $event) { $id = $event->getData(); if (file_exists($this->pathForId($id))) { unlink($this->pathForId($id)); } clearstatcache(); }
public function testProperties() { $l = new Librarian('test'); $e = new CrudEvent('test', [], $l); $e->setData([1, 2, 3]); $this->assertEquals($e->getData(), [1, 2, 3]); $e->setId(1); $this->assertEquals($e->getId(), 1); }
public function onPut(CrudEvent $event) { $data = $event->getData(); $this->db->delete($this->getTableName(), ['id' => $event->getId()]); if (!isset($data[$this->propertyName])) { return; } $this->db->insert($this->getTableName(), ['id' => $event->getId(), 'content' => $data[$this->propertyName], 'last_indexed' => time()]); }
public function onPut(CrudEvent $event) { $data = $event->getData(); $this->db->delete($this->getTableName(), ['id' => $event->getId()]); if (!isset($data[$this->propertyName])) { return; } $parts = parse_url($data[$this->propertyName]); $this->db->insert($this->getTableName(), ['id' => $event->getId(), 'raw' => $data[$this->propertyName], 'scheme' => @($parts['scheme'] ?: ''), 'domain' => @($parts['host'] ?: ''), 'port' => @($parts['port'] ?: ''), 'path' => @($parts['path'] ?: ''), 'fragment' => @($parts['fragment'] ?: ''), 'last_indexed' => time()]); }
public function dehydratePropertyAndUpdateIndex(CrudEvent $event) { $data = $event->getData(); // TODO: better idea to remove the index here? if (empty($data[$this->propertyName])) { return; } if (!$data[$this->propertyName] instanceof DateTime) { $datetime = new DateTime($data[$this->propertyName]); } else { $datetime = $data[$this->propertyName]; } // TODO: make format configurable? $data[$this->propertyName] = $datetime->format(DateTime::W3C); $event->setData($data); // Refresh index // TODO: is update quicker than delete/insert? Do we care? $this->db->delete($this->getTableName(), ['id' => $event->getId()]); $this->db->insert($this->getTableName(), ['id' => $event->getId(), 'datetime' => $datetime->format('Y-m-d H:i:s'), 'last_indexed' => time()]); }
public function decode(L\CrudEvent $event) { $in = $event->getData(); $data = yaml_parse($in); $event->setData($data); }
public function onPutEvent(CrudEvent $event) { $data = $event->getData(); $id = $event->getId(); return $this->updateIndex($data, $id); }
public function decodeJson(L\CrudEvent $event) { $json = $event->getData(); $data = json_decode($json, true); $event->setData($data); }