/** * Retrieve an asset from the cache for display * @param $id string identifying the item to return * @return null|string */ private static function retrieve_cache_asset($cache_id, $asset_id) { $storage = Amber::get_storage_for_item($cache_id); if (is_null($storage)) { return NULL; } $d = $storage->get_asset($cache_id, $asset_id); if ($d) { $data['data'] = $d; // Set the mime-type for certain files $last_element = $asset_id; $extension = substr($last_element, strrpos($last_element, '.') + 1); switch ($extension) { case "css": $data['metadata']['type'] = 'text/css'; break; case "jpg": $data['metadata']['type'] = 'image/jpeg'; break; case "png": $data['metadata']['type'] = 'image/png'; break; case "svg": $data['metadata']['type'] = 'image/svg+xml'; break; case "js": $data['metadata']['type'] = 'application/javascript'; break; } } return isset($data) ? $data : NULL; }