'name' => array( 'header' => array( 'value' => $txt['spider_name'], ), 'data' => array( 'db' => 'spider_name', ), 'sort' => array( 'default' => 's.spider_name', 'reverse' => 's.spider_name DESC', ), ), 'page_hits' => array( 'header' => array( 'value' => $txt['spider_stats_page_hits'], ), 'data' => array( 'db' => 'page_hits', ), 'sort' => array( 'default' => 'ss.page_hits', 'reverse' => 'ss.page_hits DESC', ), ), ), 'form' => array( 'href' => $scripturl . '?action=admin;area=sengines;sa=stats', 'name' => 'spider_stat_list', ), 'additional_rows' => empty($date_select) ? array() : array( array( 'position' => 'below_table_data', 'value' => $date_select, 'style' => 'text-align: right;', ), ), ); createToken('admin-ss'); require_once($sourcedir . '/Subs-List.php'); createList($listOptions); $context['sub_template'] = 'show_spider_stats'; $context['default_list'] = 'spider_stat_list'; } /** * Callback function for createList() * Get a list of spider stats from the log_spider table * * @param int $start The item to start with (for pagination purposes) * @param int $items_per_page The number of items to show per page * @param string $sort A string indicating how to sort the results * @return array An array of spider statistics info */ function list_getSpiderStats($start, $items_per_page, $sort) { global $smcFunc; $request = $smcFunc['db_query']('', ' SELECT ss.id_spider, ss.stat_date, ss.page_hits, s.spider_name FROM {db_prefix}log_spider_stats AS ss INNER JOIN {db_prefix}spiders AS s ON (s.id_spider = ss.id_spider) ORDER BY {raw:sort} LIMIT {int:start}, {int:items}', array( 'sort' => $sort, 'start' => $start, 'items' => $items_per_page, ) ); $spider_stats = array(); while ($row = $smcFunc['db_fetch_assoc']($request)) $spider_stats[] = $row; $smcFunc['db_free_result']($request); return $spider_stats; } /** * Callback function for createList() * Get the number of spider stat rows from the log spider stats table * * @return int The number of rows in the log_spider_stats table */ function list_getNumSpiderStats() { global $smcFunc; $request = $smcFunc['db_query']('', ' SELECT COUNT(*) AS num_stats FROM {db_prefix}log_spider_stats', array( ) ); list ($numStats) = $smcFunc['db_fetch_row']($request); $smcFunc['db_free_result']($request); return $numStats; } /** * Recache spider names? */ function recacheSpiderNames() { global $smcFunc; $request = $smcFunc['db_query']('', ' SELECT id_spider, spider_name FROM {db_prefix}spiders', array() ); $spiders = array(); while ($row = $smcFunc['db_fetch_assoc']($request)) $spiders[$row['id_spider']] = $row['spider_name']; $smcFunc['db_free_result']($request); updateSettings(array('spider_name_cache' => $smcFunc['json_encode']($spiders))); } ?>