/** * update the storage_mtime of the direct parent in the cache to the mtime from the storage * * @param string $internalPath */ private function correctParentStorageMtime($internalPath) { $parentId = $this->cache->getParentId($internalPath); $parent = dirname($internalPath); if ($parentId != -1) { $this->cache->update($parentId, array('storage_mtime' => $this->storage->filemtime($parent))); } }
public function testSimple() { $file1 = 'foo'; $file2 = 'foo/bar'; $data1 = array('size' => 100, 'mtime' => 50, 'mimetype' => 'foo/folder'); $data2 = array('size' => 1000, 'mtime' => 20, 'mimetype' => 'foo/file'); $this->assertFalse($this->cache->inCache($file1)); $this->assertEquals($this->cache->get($file1), null); $id1 = $this->cache->put($file1, $data1); $this->assertTrue($this->cache->inCache($file1)); $cacheData1 = $this->cache->get($file1); foreach ($data1 as $key => $value) { $this->assertEquals($value, $cacheData1[$key]); } $this->assertEquals($cacheData1['mimepart'], 'foo'); $this->assertEquals($cacheData1['fileid'], $id1); $this->assertEquals($id1, $this->cache->getId($file1)); $this->assertFalse($this->cache->inCache($file2)); $id2 = $this->cache->put($file2, $data2); $this->assertTrue($this->cache->inCache($file2)); $cacheData2 = $this->cache->get($file2); foreach ($data2 as $key => $value) { $this->assertEquals($value, $cacheData2[$key]); } $this->assertEquals($cacheData1['fileid'], $cacheData2['parent']); $this->assertEquals($cacheData2['fileid'], $id2); $this->assertEquals($id2, $this->cache->getId($file2)); $this->assertEquals($id1, $this->cache->getParentId($file2)); $newSize = 1050; $newId2 = $this->cache->put($file2, array('size' => $newSize)); $cacheData2 = $this->cache->get($file2); $this->assertEquals($newId2, $id2); $this->assertEquals($cacheData2['size'], $newSize); $this->assertEquals($cacheData1, $this->cache->get($file1)); $this->cache->remove($file2); $this->assertFalse($this->cache->inCache($file2)); $this->assertEquals($this->cache->get($file2), null); $this->assertTrue($this->cache->inCache($file1)); $this->assertEquals($cacheData1, $this->cache->get($id1)); }
/** * get the id of the parent folder of a file * * @param string $file * @return int */ public function getParentId($file) { return $this->cache->getParentId($file); }