| 1 |
<?php |
<?php |
| 2 |
// $Id: xmlsitemap.install,v 1.5.2.38.2.55 2009/10/03 21:57:32 davereid Exp $ |
// $Id: xmlsitemap.install,v 1.5.2.38.2.56 2009/10/03 22:38:22 davereid Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 60 |
$requirements['xmlsitemap_chunk_count']['description'] .= ' ' . t('Please increase the number of links per page.'); |
$requirements['xmlsitemap_chunk_count']['description'] .= ' ' . t('Please increase the number of links per page.'); |
| 61 |
} |
} |
| 62 |
} |
} |
| 63 |
|
|
| 64 |
|
// Check when the cached files were last generated. |
| 65 |
|
$generated_last = xmlsitemap_var('generated_last'); |
| 66 |
|
$generated_ago = REQUEST_TIME - $generated_last; |
| 67 |
$requirements['xmlsitemap_generated'] = array( |
$requirements['xmlsitemap_generated'] = array( |
| 68 |
'title' => $t('XML sitemap'), |
'title' => $t('XML sitemap'), |
| 69 |
'value' => xmlsitemap_var('generated_last') ? $t('Last generated on !date (!interval ago).', array('!date' => format_date(xmlsitemap_var('generated_last'), 'small'), '!interval' => format_interval(REQUEST_TIME - xmlsitemap_var('generated_last')))) : $t('Cached files have not been generated yet.'), |
'value' => $generated_last ? $t('Last generated on !date (!interval ago).', array('!date' => format_date($generated_last, 'small'), '!interval' => format_interval($generated_ago))) : $t('Cached files have not been generated yet.'), |
| 70 |
|
'severity' => REQUIREMENT_OK, |
| 71 |
); |
); |
| 72 |
if (xmlsitemap_var('rebuild_needed')) { |
if (xmlsitemap_var('rebuild_needed')) { |
| 73 |
$requirements['xmlsitemap_generated']['severity'] = REQUIREMENT_ERROR; |
$requirements['xmlsitemap_generated']['severity'] = REQUIREMENT_ERROR; |
| 74 |
$requirements['xmlsitemap_generated']['description'] = $t('The XML sitemap data is out of sync and needs to be <a href="@link-rebuild">completely rebuilt<a>.', array('@link-rebuild' => url('admin/settings/xmlsitemap/rebuild'))); |
$requirements['xmlsitemap_generated']['description'] = $t('The XML sitemap data is out of sync and needs to be <a href="@link-rebuild">completely rebuilt<a>.', array('@link-rebuild' => url('admin/settings/xmlsitemap/rebuild'))); |
| 75 |
} |
} |
| 76 |
elseif (xmlsitemap_var('regenerate_needed') && (REQUEST_TIME - xmlsitemap_var('generated_last')) > variable_get('cron_threshold_warning', 172800)) { |
elseif (xmlsitemap_var('regenerate_needed')) { |
| 77 |
$requirements['xmlsitemap_generated']['severity'] = REQUIREMENT_WARNING; |
if ($generated_ago >= variable_get('cron_threshold_error', 1209600)) { |
| 78 |
$requirements['xmlsitemap_generated']['description'] = $t('The XML cached files are out of date and need to be regenerated. You can <a href="@link-cron">run cron manually</a> to regenerate the sitemap files.', array('@link-cron' => url('admin/reports/status/run-cron'))); |
$requirements['xmlsitemap_generated']['severity'] = REQUIREMENT_ERROR; |
| 79 |
|
} |
| 80 |
|
elseif ($generated_ago >= variable_get('cron_threshold_warning', 172800)) { |
| 81 |
|
$requirements['xmlsitemap_generated']['severity'] = REQUIREMENT_WARNING; |
| 82 |
|
} |
| 83 |
|
if ($requirements['xmlsitemap_generated']['severity']) { |
| 84 |
|
$requirements['xmlsitemap_generated']['description'] = $t('The XML cached files are out of date and need to be regenerated. You can <a href="@link-cron">run cron manually</a> to regenerate the sitemap files.', array('@link-cron' => url('admin/reports/status/run-cron'))); |
| 85 |
|
} |
| 86 |
} |
} |
| 87 |
} |
} |
| 88 |
return $requirements; |
return $requirements; |
| 89 |
} |
} |
| 90 |
|
|
| 91 |
/** |
/** |
| 92 |
|
* Check the status of all hook_requirements() from xmlsitemap modules. |
| 93 |
|
* |
| 94 |
|
* @param $return_only |
| 95 |
|
* If TRUE, will return the result, otherwise it will show a message. |
| 96 |
|
* @return |
| 97 |
|
* TRUE if there is a warning or error requirement, or FALSE otherwise. |
| 98 |
|
*/ |
| 99 |
|
function xmlsitemap_check_status($return = FALSE) { |
| 100 |
|
$severity = REQUIREMENT_OK; |
| 101 |
|
|
| 102 |
|
foreach (module_implements('requirements') as $module) { |
| 103 |
|
if (strpos($module, 'xmlsitemap') !== FALSE) { |
| 104 |
|
module_load_install($module); |
| 105 |
|
$requirements = module_invoke($module, 'requirements', 'runtime'); |
| 106 |
|
$severity = max($severity, drupal_requirements_severity($requirements)); |
| 107 |
|
} |
| 108 |
|
} |
| 109 |
|
|
| 110 |
|
if (!$return && $severity == REQUIREMENT_ERROR && user_access('administer site configuration')) { |
| 111 |
|
$t = get_t(); |
| 112 |
|
drupal_set_message($t('One or more problems were detected with your XML sitemap configuration. Please check the <a href="@status-report">status report</a> for more information.', array('@status-report' => url('admin/reports/status'))), 'error', FALSE); |
| 113 |
|
} |
| 114 |
|
|
| 115 |
|
return $severity == REQUIREMENT_ERROR; |
| 116 |
|
} |
| 117 |
|
|
| 118 |
|
/** |
| 119 |
* Implementation of hook_install(). |
* Implementation of hook_install(). |
| 120 |
*/ |
*/ |
| 121 |
function xmlsitemap_install() { |
function xmlsitemap_install() { |