summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--it_url.class11
1 files changed, 6 insertions, 5 deletions
diff --git a/it_url.class b/it_url.class
index cd0edb0..3a8cc41 100644
--- a/it_url.class
+++ b/it_url.class
@@ -382,11 +382,12 @@ static function get_cache_dir($p)
/**
- * Construct a local file name to cache an URL. Named args:
+ * Construct a local file name to cache an URL. Takes language into account. Named args:
* @param $p['url'] remote url to get
- * @param $p['cachedir'] directory to store cache files in, @see get_cache_dir
- * @param $p['data'] POST data array with key-value pairs
- * @param $p['id'] If you need more than one type of cache (e.g. different maxage) you can specify an id
+ * @param $p['cachedir'] directory to store cache files in, @see get_cache_dir
+ * @param $p['cachefilename'] Use this filename instead of calculating your own if this is given
+ * @param $p['data'] POST data array with key-value pairs
+ * @param $p['id'] If you need more than one type of cache (e.g. different maxage) you can specify an id
*/
static function get_cache_filename($p)
{
@@ -394,7 +395,7 @@ static function get_cache_filename($p)
$p = array('url'=>$p);
$p['cachedir'] = it_url::get_cache_dir($p);
- $filename = md5(T_lang() . $p['url'] . ($p['headers'] ? serialize($p['headers']) : "") . ($p['data'] ? serialize($p['data']) : ""));
+ $filename = $p['cachefilename'] ?: md5(T_lang() . $p['url'] . ($p['headers'] ? serialize($p['headers']) : "") . ($p['data'] ? serialize($p['data']) : ""));
return $p['cachedir'] . "/" . substr($filename, 0, 2) . "/$filename";
}