function system_check_caches($repair = true) { global $DB; // Check cache/ folder $result = system_check_dir('cache'); if ($result > 0) { // error with cache/ folder $failed = true; if ($repair && $result == 2) { // if cache folder not exists, and should repair, then try to create it $failed = $failed && !system_create_cache_folder(); } if ($failed) { // could/should not repair list($status, $message) = system_get_result($result, T_('Cache folder error') . ': '); return array($message); } } $error_messages = array(); if (($result = system_check_blog_cache(NULL, $repair)) !== false) { // general cache folder should exists list($status, $message) = $result; if ($status != 'ok') { $error_messages[] = T_('General cache folder error') . ': ' . $message; } } $cache_enabled_blogs = system_get_blog_IDs(true); $BlogCache =& get_BlogCache(); foreach ($cache_enabled_blogs as $blog_ID) { // blog's cache folder should exists if (($result = system_check_blog_cache($blog_ID, $repair)) !== false) { list($status, $message) = $result; if ($status != 'ok') { $Blog = $BlogCache->get_by_ID($blog_ID); $error_messages[] = sprintf(T_('«%s» page cache folder'), $Blog->get('shortname')) . ': ' . $message; } } } return $error_messages; }
} } else { disp_system_check('ok'); } init_system_check('Internal b2evo charset', $system_stats['evo_charset']); disp_system_check('note'); init_system_check('Blog count', $system_stats['evo_blog_count']); disp_system_check('note'); $block_item_Widget->disp_template_raw('block_end'); /* * Caching */ $block_item_Widget->title = T_('Caching'); $block_item_Widget->disp_template_replaced('block_start'); // Cache folder writable? list($cachedir_status, $cachedir_msg) = system_get_result($system_stats['cachedir_status']); $cachedir_long = ''; if ($cachedir_status == 'error') { $cachedir_long = '<p>' . T_('You will not be able to use page cache.') . "</p>\n" . '<p>' . T_('Your host requires that you set special file permissions on your cache directory.') . get_manual_link('cache_file_permission_errors') . "</p>\n"; } init_system_check(T_('Cache directory'), $cachedir_msg . ' - ' . $cache_path); disp_system_check($cachedir_status, $cachedir_long); // cache folder size init_system_check('Cache folder size', bytesreadable($system_stats['cachedir_size'])); disp_system_check('note'); if ($cachedir_status != 'error') { // 'cache/ directory exists and, it is writable // General cache is enabled init_system_check(T_('General caching'), $system_stats['general_pagecache_enabled'] ? 'Enabled' : 'Disabled'); disp_system_check('note'); // how many blogs have enabled caches