Cache.php 839 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. /**
  3. * Cache utilities
  4. */
  5. /**
  6. * Purges all cached pages
  7. *
  8. * @param string $pageCacheDir page cache directory
  9. *
  10. * @return mixed an error string if the directory is missing
  11. */
  12. function purgeCachedPages($pageCacheDir)
  13. {
  14. if (! is_dir($pageCacheDir)) {
  15. $error = sprintf(t('Cannot purge %s: no directory'), $pageCacheDir);
  16. error_log($error);
  17. return $error;
  18. }
  19. array_map('unlink', glob($pageCacheDir.'/*.cache'));
  20. }
  21. /**
  22. * Invalidates caches when the database is changed or the user logs out.
  23. *
  24. * @param string $pageCacheDir page cache directory
  25. */
  26. function invalidateCaches($pageCacheDir)
  27. {
  28. // Purge cache attached to session.
  29. if (isset($_SESSION['tags'])) {
  30. unset($_SESSION['tags']);
  31. }
  32. // Purge page cache shared by sessions.
  33. purgeCachedPages($pageCacheDir);
  34. }