/** * Load the messages for the given locale. * * @param string $locale * @param string $group * @param string $namespace * @return array */ public function loadSource($locale, $group, $namespace = '*') { if ($this->cache->has($locale, $group, $namespace)) { return $this->cache->get($locale, $group, $namespace); } else { $source = $this->fallback->load($locale, $group, $namespace); $this->cache->put($locale, $group, $namespace, $source, $this->cacheTimeout); return $source; } }
/** * Cache the passed response * * @param \Illuminate\Routing\Route $route * @param \Illuminate\Http\Request $request * @param \Symfony\Component\HttpFoundation\Response $response * * @return void */ public function store(Route $route, Request $request, Response $response) { if ($ttl = $this->ttl) { $key = $this->makeCacheKey($request); if (!$this->cache->has($key)) { $cacheable = $this->serializeResponse($response); $this->cache->put($key, $cacheable, $ttl); } } }
/** * Sets a cache key to the specified locale. * * @param Model $locale */ protected function setCacheLocale(Model $locale) { if (!$this->cache->has($locale->code)) { $id = sprintf('translation.%s', $locale->code); $this->cache->put($id, $locale, $this->cacheTime); } }
/** * Save a remote file to cache * * @param string $url * @param array $options * @return string */ public function saveRemoteFileToCache($url, $options = array()) { $url = explode('/', $url); $folder = '/app/storage/tmp/' . implode(array_slice($url, 0, -1)); $file = end($url); $url = implode('/', $url); $tmp = $folder . '/' . $file; $this->local->put($tmp, ''); $tmp = base_path() . $tmp; // $tmp needs to be absolute from here on $ch = curl_init($url); $fp = fopen($tmp, 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); return $this->saveFileToCache($tmp, '/' . $url, $options); }