Closed (fixed)
Project:
FeedAPI
Version:
5.x-1.x-dev
Component:
Code
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
2 Apr 2008 at 13:39 UTC
Updated:
18 Apr 2008 at 20:13 UTC
The assumption should be that if the files directory moves, the simplepie cache directory moves with it. Not so, if the old files directory continues to exist.
Steps to reproduce:
1) create site with files directory in sites/default/files,
-> parser simplepie points to sites/default/files/simplepie_cache
2) copy site db, copy files directory to sites/copy1/files
3) change file settings in copy1 site so that the files directory points to sites/copy1/files
-> parser simplepie still points to sites/default/files/simplepie_cache
The reason is because cache location is cached until the directory it points to isn't valid anymore:
/**
* Set the default caching directory if the current setting is not useable
*/
function _parser_simplepie_sanitize_cache() {
$cache_location = variable_get('parser_simplepie_cache', FALSE);
if (!is_writeable($cache_location) || !is_dir($cache_location) || !$cache_location !== FALSE) {
$cache_location = file_create_path(file_directory_path() . '/simplepie_cache');
if (!file_exists($cache_location) && is_writable(file_directory_path())) {
mkdir($cache_location);
}
if (!is_writeable($cache_location)) {
return FALSE;
}
variable_set('parser_simplepie_cache', $cache_location);
}
return $cache_location;
}
Can't we do the following instead?
/**
* Set the default caching directory if the current setting is not useable
*/
function _parser_simplepie_sanitize_cache() {
$cache_location = file_directory_path() . '/simplepie_cache';
if (!is_writeable($cache_location) || !is_dir($cache_location) || !$cache_location !== FALSE) {
$cache_location = file_create_path($cache_location);
if (!file_exists($cache_location) && is_writable(file_directory_path())) {
mkdir($cache_location);
}
if (!is_writeable($cache_location)) {
return FALSE;
}
}
return $cache_location;
}
Comments
Comment #1
aron novakThis problem was at parser_common_syndication too. Now it's fixed.
Comment #2
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.