json api: fix building of catalog.json (NB: this puts extra load on server; we can try to make it lighter)

This commit is contained in:
czaks 2013-12-28 18:03:49 +01:00
parent c8913f41a7
commit 62fe8571e2

View File

@ -1365,13 +1365,27 @@ function buildIndex() {
for ($page = 1; $page <= $config['max_pages']; $page++) { for ($page = 1; $page <= $config['max_pages']; $page++) {
$filename = $board['dir'] . ($page == 1 ? $config['file_index'] : sprintf($config['file_page'], $page)); $filename = $board['dir'] . ($page == 1 ? $config['file_index'] : sprintf($config['file_page'], $page));
if ($config['try_smarter'] && isset($build_pages) && !empty($build_pages) if (!$config['api']['enabled'] && $config['try_smarter'] && isset($build_pages) && !empty($build_pages)
&& !in_array($page, $build_pages) && is_file($filename)) && !in_array($page, $build_pages) && is_file($filename))
continue; continue;
$content = index($page); $content = index($page);
if (!$content) if (!$content)
break; break;
// json api
if ($config['api']['enabled']) {
$threads = $content['threads'];
$json = json_encode($api->translatePage($threads));
$jsonFilename = $board['dir'] . ($page - 1) . '.json'; // pages should start from 0
file_write($jsonFilename, $json);
$catalog[$page-1] = $threads;
}
if ($config['api']['enabled'] && $config['try_smarter'] && isset($build_pages) && !empty($build_pages)
&& !in_array($page, $build_pages) && is_file($filename))
continue;
if ($config['try_smarter']) { if ($config['try_smarter']) {
$antibot = create_antibot($board['uri'], 0 - $page); $antibot = create_antibot($board['uri'], 0 - $page);
$content['current_page'] = $page; $content['current_page'] = $page;
@ -1383,16 +1397,6 @@ function buildIndex() {
$content['antibot'] = $antibot; $content['antibot'] = $antibot;
file_write($filename, Element('index.html', $content)); file_write($filename, Element('index.html', $content));
// json api
if ($config['api']['enabled']) {
$threads = $content['threads'];
$json = json_encode($api->translatePage($threads));
$jsonFilename = $board['dir'] . ($page - 1) . '.json'; // pages should start from 0
file_write($jsonFilename, $json);
$catalog[$page-1] = $threads;
}
} }
if ($page < $config['max_pages']) { if ($page < $config['max_pages']) {