From e4baa9a420fe96938e7aaabeefbc06f2254935d2 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Fri, 17 Jul 2009 11:56:16 -0600 Subject: [PATCH] Add Horde::getCacheUrl(). --- framework/Core/lib/Horde.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/framework/Core/lib/Horde.php b/framework/Core/lib/Horde.php index f6ee3507b..d1a26045b 100644 --- a/framework/Core/lib/Horde.php +++ b/framework/Core/lib/Horde.php @@ -1946,4 +1946,36 @@ HTML; return '\n"; } + /** + * Creates a URL for cached IMP data. + * + * @param string $type The cache type ('app', 'css', 'js'). + * @param array $params Optional parameters: + *
+     * RESERVED PARAMETERS:
+     * 'app' - REQUIRED for $type == 'app'. Identifies the application to
+     *         call the 'cacheOutput' API call, which is passed in the
+     *         value of the entire $params array (which may include parameters
+     *         other than those listed here). The return from cacheOutput
+     *         should be a 2-element array: 'data' (the cached data) and
+     *         'type' (the content-type of the data).
+     * 'cid' - REQUIRED for $type == 'css' || 'js'. The cacheid of the
+     *         data (stored in Horde_Cache).
+     * 'nocache' - If true, sets the cache limiter to 'nocache' instead of
+     *             the default 'public'.
+     * 
+ * + * @return string The URL to the cache page. + */ + static public function getCacheUrl($type, $params = array()) + { + $registry = Horde_Registry::singleton(); + $url = $GLOBALS['registry']->get('webroot', 'horde') . '/services/cache.php?cache=' . $type; + foreach ($params as $key => $val) { + $url .= '/' . $key . '=' . rawurlencode(strval($val)); + } + + return Horde::url($url); + } + } -- 2.11.0