}
}
+ /**
+ * Tasks to perform at logout.
+ */
+ public function logout()
+ {
+ /* Clean up dangling IMP_Compose objects. */
+ if (!empty($_SESSION['imp']['cache']['compose'])) {
+ foreach (array_keys($_SESSION['imp']['cache']['compose']) as $key) {
+ $GLOBALS['injector']->getInstance('IMP_Compose')->getOb($key)->destroy('cancel');
+ }
+ }
+ }
+
/* Horde permissions. */
/**
case 'changed':
$val->changed = '';
$obs->overwrite($key, $val, false);
+
+ $_SESSION['imp']['cache']['compose'][$key] = 1;
break;
case 'deleted':
$obs->prune($key);
+ unset($_SESSION['imp']['cache']['compose'][$key]);
break;
}
}