function xmlsitemap_regenerate_batch_generate in XML sitemap 7.2
Same name and namespace in other branches
- 8 xmlsitemap.module \xmlsitemap_regenerate_batch_generate()
- 6.2 xmlsitemap.generate.inc \xmlsitemap_regenerate_batch_generate()
- 2.x xmlsitemap.module \xmlsitemap_regenerate_batch_generate()
Batch callback; generate all pages of a sitemap.
1 string reference to 'xmlsitemap_regenerate_batch_generate'
- xmlsitemap_regenerate_batch in ./
xmlsitemap.generate.inc - BATCH OPERATIONS -----------------------------------------------------------.
File
- ./
xmlsitemap.generate.inc, line 341 - Sitemap generation and rebuilding functions for the xmlsitemap module.
Code
function xmlsitemap_regenerate_batch_generate($smid, array &$context) {
if (!isset($context['sandbox']['sitemap'])) {
$context['sandbox']['sitemap'] = xmlsitemap_sitemap_load($smid);
$context['sandbox']['sitemap']->chunks = 1;
$context['sandbox']['sitemap']->links = 0;
$context['sandbox']['max'] = XMLSITEMAP_MAX_SITEMAP_LINKS;
// Clear the cache directory for this sitemap before generating any files.
xmlsitemap_check_directory($context['sandbox']['sitemap']);
xmlsitemap_clear_directory($context['sandbox']['sitemap']);
}
$sitemap =& $context['sandbox']['sitemap'];
$links = xmlsitemap_generate_page($sitemap, $sitemap->chunks);
$context['message'] = t('Now generating %sitemap-url.', array(
'%sitemap-url' => url('sitemap.xml', $sitemap->uri['options'] + array(
'query' => array(
'page' => $sitemap->chunks,
),
)),
));
if ($links) {
$sitemap->links += $links;
$sitemap->chunks++;
}
else {
// Cleanup the 'extra' empty file.
$file = xmlsitemap_sitemap_get_file($sitemap, $sitemap->chunks);
if (file_exists($file) && $sitemap->chunks > 1) {
file_unmanaged_delete($file);
}
$sitemap->chunks--;
// Save the updated chunks and links values.
$context['sandbox']['max'] = $sitemap->chunks;
$sitemap->updated = REQUEST_TIME;
xmlsitemap_sitemap_get_max_filesize($sitemap);
xmlsitemap_sitemap_save($sitemap);
}
if ($sitemap->chunks != $context['sandbox']['max']) {
$context['finished'] = $sitemap->chunks / $context['sandbox']['max'];
}
}