+++ /dev/null
-<?php
-/**
- * @file
- * Engine for the cache commands.
- */
-
-function _drush_cache_command_get($cid, $bin) {
- if (is_null($bin)) {
- $bin = _drush_cache_bin_default();
- }
- return cache_get($cid, $bin);
-}
-
-/**
- * The default bin.
- *
- * @return string
- */
-function _drush_cache_bin_default() {
- return 'cache';
-}
-
-function _drush_cache_command_set($cid, $data, $bin, $expire, $tags) {
- // Convert the "expire" argument to a valid value for Drupal's cache_set().
- if (is_null($bin)) {
- $bin = _drush_cache_bin_default();
- }
- if ($expire == 'CACHE_TEMPORARY') {
- $expire = CACHE_TEMPORARY;
- }
- if (!isset($expire) || $expire == 'CACHE_PERMANENT') {
- $expire = CACHE_PERMANENT;
- }
-
- // D6/D7 don't natively support cache tags.
- return cache_set($cid, $data, $bin, $expire);
-}
-
-function _drush_cache_clear_types($include_bootstrapped_types) {
- $types = array(
- 'drush' => 'drush_cache_clear_drush',
- 'all' => 'drush_cache_clear_both',
- );
- if ($include_bootstrapped_types) {
- $types += array(
- 'theme-registry' => 'drush_cache_clear_theme_registry',
- 'menu' => 'menu_rebuild',
- 'css-js' => 'drush_cache_clear_css_js',
- 'block' => 'drush_cache_clear_block',
- 'module-list' => 'drush_get_modules',
- 'theme-list' => 'drush_get_themes',
- );
- }
- $drupal_version = drush_drupal_major_version();
-
- if ($drupal_version >= 7) {
- $types['registry'] = 'registry_update';
- }
- elseif ($drupal_version == 6 && function_exists('module_exists') && module_exists('autoload')) {
- // TODO: move this to autoload module.
- $types['registry'] = 'autoload_registry_update';
- }
-
- return $types;
-}
-
-function drush_cache_clear_theme_registry() {
- if (drush_drupal_major_version() >= 7) {
- drupal_theme_rebuild();
- }
- else {
- cache_clear_all('theme_registry', 'cache', TRUE);
- }
-}
-
-function drush_cache_clear_menu() {
- return menu_router_rebuild();
-}
-
-function drush_cache_clear_css_js() {
- _drupal_flush_css_js();
- drupal_clear_css_cache();
- drupal_clear_js_cache();
-}
-
-/**
- * Clear the cache of the block output.
- */
-function drush_cache_clear_block() {
- cache_clear_all(NULL, 'cache_block');
-}
-
-/**
- * Clear caches internal to Drush core and Drupal.
- */
-function drush_cache_clear_both() {
- drush_cache_clear_drush();
- if (drush_has_boostrapped(DRUSH_BOOTSTRAP_DRUPAL_FULL)) {
- drupal_flush_all_caches();
- }
-}