switch to better option handling
This commit is contained in:
parent
cb4c7cd68e
commit
33ba3f3a42
@ -260,22 +260,18 @@ class DailyImageWidget {
|
|||||||
* @return array|boolean The cached data or false upon failure.
|
* @return array|boolean The cached data or false upon failure.
|
||||||
*/
|
*/
|
||||||
function _get_cached_data() {
|
function _get_cached_data() {
|
||||||
$result = get_option('hubblesite-daily-image-cache');
|
if (($result = get_option('hubblesite-daily-image-cache')) !== false) {
|
||||||
|
list($timestamp, $cached_data) = $result;
|
||||||
if (is_string($result)) {
|
|
||||||
if (($data = @unserialize($result)) !== false) {
|
if (($timestamp + $this->_cache_time) > time()) {
|
||||||
list($timestamp, $cached_data) = $data;
|
$is_valid = true;
|
||||||
|
foreach ($this->_valid_column_names as $field) {
|
||||||
|
if (!isset($cached_data[$field])) { $is_valid = false; break; }
|
||||||
|
}
|
||||||
|
|
||||||
if (($timestamp + $this->_cache_time) > time()) {
|
if ($is_valid) {
|
||||||
$is_valid = true;
|
$this->data = $cached_data;
|
||||||
foreach ($this->_valid_column_names as $field) {
|
return $cached_data;
|
||||||
if (!isset($cached_data[$field])) { $is_valid = false; break; }
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($is_valid) {
|
|
||||||
$this->data = $cached_data;
|
|
||||||
return $cached_data;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -256,11 +256,11 @@ class DailyImageWidgetTest extends PHPUnit_Framework_TestCase {
|
|||||||
|
|
||||||
function testGetCachedData() {
|
function testGetCachedData() {
|
||||||
$test_time = time() + 86500;
|
$test_time = time() + 86500;
|
||||||
update_option('hubblesite-daily-image-cache', serialize(array($test_time, $this->sample_data)));
|
update_option('hubblesite-daily-image-cache', array($test_time, $this->sample_data));
|
||||||
$this->assertEquals($this->sample_data, $this->diw->_get_cached_data());
|
$this->assertEquals($this->sample_data, $this->diw->_get_cached_data());
|
||||||
|
|
||||||
$test_time = time() - 86500;
|
$test_time = time() - 86500;
|
||||||
update_option('hubblesite-daily-image-cache', serialize(array($test_time, $this->sample_data)));
|
update_option('hubblesite-daily-image-cache', array($test_time, $this->sample_data));
|
||||||
$this->assertEquals(false, $this->diw->_get_cached_data());
|
$this->assertEquals(false, $this->diw->_get_cached_data());
|
||||||
|
|
||||||
update_option('hubblesite-daily-image-cache', null);
|
update_option('hubblesite-daily-image-cache', null);
|
||||||
|
Loading…
Reference in New Issue
Block a user