Sorry if I go back this topic and for my English 'google' ...
I think for the task, it's simple, I try the task it works (then it will remain to do the plugin, which will be more practical, examples of lacking).
Thanks in advance for correcting me if this is not good to do!
Best regards,
I think for the task, it's simple, I try the task it works (then it will remain to do the plugin, which will be more practical, examples of lacking).
<?php
/**
* Rebuild forum counters
*/
function task_acprebuild($task)
{
function acp_rebuild_forum_counters()
{
global $db, $mybb, $lang;
$query = $db->simple_select("forums", "COUNT(*) as num_forums");
$num_forums = $db->fetch_field($query, 'num_forums');
$page = $mybb->get_input('page', MyBB::INPUT_INT);
$per_page = $mybb->get_input('forumcounters', MyBB::INPUT_INT);
if($per_page <= 0)
{
$per_page = 50;
}
$start = ($page-1) * $per_page;
$end = $start + $per_page;
$query = $db->simple_select("forums", "fid", '', array('order_by' => 'fid', 'order_dir' => 'asc', 'limit_start' => $start, 'limit' => $per_page));
while($forum = $db->fetch_array($query))
{
$update['parentlist'] = make_parent_list($forum['fid']);
$db->update_query("forums", $update, "fid='{$forum['fid']}'");
rebuild_forum_counters($forum['fid']);
}
//check_proceed($num_forums, $end, ++$page, $per_page, "forumcounters", "do_rebuildforumcounters", $lang->success_rebuilt_forum_counters);
}
/**
* Rebuild thread counters
*/
function acp_rebuild_thread_counters()
{
global $db, $mybb, $lang;
$query = $db->simple_select("threads", "COUNT(*) as num_threads");
$num_threads = $db->fetch_field($query, 'num_threads');
$page = $mybb->get_input('page', MyBB::INPUT_INT);
$per_page = $mybb->get_input('threadcounters', MyBB::INPUT_INT);
if($per_page <= 0)
{
$per_page = 500;
}
$start = ($page-1) * $per_page;
$end = $start + $per_page;
$query = $db->simple_select("threads", "tid", '', array('order_by' => 'tid', 'order_dir' => 'asc', 'limit_start' => $start, 'limit' => $per_page));
while($thread = $db->fetch_array($query))
{
rebuild_thread_counters($thread['tid']);
}
//check_proceed($num_threads, $end, ++$page, $per_page, "threadcounters", "do_rebuildthreadcounters", $lang->success_rebuilt_thread_counters);
}
add_task_log($task, "success_rebuilt_thread_counters and success_rebuilt_forum_counters." );
}
?>
Thanks in advance for correcting me if this is not good to do!
Best regards,