mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 06:30:59 +01:00
* Addressbook - fix birthday cache was not cleared when birthday edited
This commit is contained in:
parent
cf28dbecbe
commit
dd8fc59d6a
@ -1053,15 +1053,30 @@ class Contacts extends Contacts\Storage
|
||||
if($isUpdate && $old['bday'] !== $to_write['bday'] || !$isUpdate && $to_write['bday'])
|
||||
{
|
||||
$year = (int) date('Y',time());
|
||||
Cache::unsetInstance(__CLASS__,"birthday-$year-{$to_write['owner']}");
|
||||
$this->clear_birthday_cache($year, $to_write['owner']);
|
||||
$year++;
|
||||
Cache::unsetInstance(__CLASS__,"birthday-$year-{$to_write['owner']}");
|
||||
$this->clear_birthday_cache($year, $to_write['owner']);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->error ? false : $contact['id'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Since birthdays are cached for the instance for BIRTHDAY_CACHE_TIME, we
|
||||
* need to clear them if a birthday changes.
|
||||
*
|
||||
* @param type $year
|
||||
*/
|
||||
protected function clear_birthday_cache($year, $owner)
|
||||
{
|
||||
// Cache is kept per-language, so clear them all
|
||||
foreach(array_keys(Translation::get_installed_langs()) as $lang)
|
||||
{
|
||||
Cache::unsetInstance(__CLASS__,"birthday-$year-{$owner}-$lang");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Resize photo down to 240pixel width and returns it
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user