protected function getcapabilities() { $cacheId = $this->repository->getKey() . '_' . $this->project->getKey() . '_' . $this->param('service'); $hash = jCache::get($cacheId . '_hash'); $cachedMime = jCache::get($cacheId . '_mime'); $cachedData = jCache::get($cacheId . '_data'); $newhash = md5_file(realpath($this->repository->getPath()) . '/' . $this->project->getKey() . ".qgs"); // Verifying cache content if ($cachedData && preg_match('#ServiceExceptionReport#i', $cachedData)) { $hash = null; $cachedMime = null; $cachedData = null; jCache::delete($cacheId . '_hash'); } // Cache exists for the unchanged QGIS project file if ($hash and $cachedMime and $cachedData and $hash == $newhash) { return (object) array('code' => 200, 'mime' => $cachedMime, 'data' => $cachedData, 'cached' => True); } // No cache or the file content has changed $url = $this->services->wmsServerURL . '?'; $bparams = http_build_query($this->params); $querystring = $url . $bparams; // Get remote data $getRemoteData = lizmapProxy::getRemoteData($querystring, $this->services->proxyMethod, $this->services->debugMode); $data = $getRemoteData[0]; $mime = $getRemoteData[1]; $code = $getRemoteData[2]; return (object) array('code' => $code, 'mime' => $mime, 'data' => $data, 'cached' => False); }
public function testDelete() { $this->assertTrue(jCache::set('deleteKey', 'data to delete', 0, $this->profile)); $this->assertTrue(jCache::delete('deleteKey', $this->profile)); $this->assertFalse(jCache::get('deleteKey', $this->profile)); $this->assertFalse(jCache::delete('inexistentKey', $this->profile)); }
public function deleteContainer($formSel, $formId) { list($selector, $formId, $key) = $this->getCacheKey($formSel, $formId); if (isset($this->containers[$key])) { $container = $this->containers[$key]; } else { $container = jCache::get($key, 'jforms'); if (!$container) { return; } $this->containers[$key] = $container; } if (is_numeric($formId) && $formId == self::DEFAULT_ID) { if (--$container->refcount > 0) { $container->clear(); return; } } jCache::delete($key, 'jforms'); unset($this->containers[$key]); }
public function clearCache() { $file = $this->repository->getPath() . $this->key . '.qgs'; try { jCache::delete($file, 'qgisprojects'); } catch (Exception $e) { // if qgisprojects profile does not exist, or if there is an // other error about the cache, let's log it jLog::log($e->getMessage(), 'error'); } }