/** * <p>Очищает собранные статистические данные.</p> * * * * * @param string $date = "" Дата в <a href="http://dev.1c-bitrix.ru/api_help/main/general/constants.php#format_date">формате * текущего сайта</a> (или языка) до которой (включительно) необходимо * очистить статистику. Если в данном параметре не указать дату, то * будут очищены все накопленные данные статистики. * * * * @param array &$errors Если параметр <i>date</i> не содержит даты, то в данном параметре будут * возвращены возможные ошибки которые могут возникнуть в процессе * полной очистки данных статистики. * * * * @return bool <p>Функция возвращает "true", в случае успешного выполнения и "false" - в * противном случае.</p> * * * <h4>Example</h4> * <pre> * <? * // дата в формате текущего сайта или языка * // до которой включительно будет очищена вся собранная статистика * $date = "31.12.2007"; * * // очищаем * <b>CStatistics::CleanUp</b>($date); * ?> * </pre> * * * * <h4>See Also</h4> * <ul> <li> <a href="http://www.1c-bitrix.ru/user_help/statistic/settings.php">Настройки модуля * "Статистика"</a> </li> </ul><a name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/statistic/classes/cstatistics/cleanup.php * @author Bitrix */ public static function CleanUp($cleanup_date="", &$arErrors) { $err_mess = "File: ".__FILE__."<br>Line: "; $DB = CDatabase::GetModuleConnection('statistic'); if (strlen($cleanup_date)<=0) { $fname = $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/install/db/".strtolower($DB->type)."/clean_up.sql"; if (file_exists($fname)) { $arErrors = $DB->RunSQLBatch($fname); if (!$arErrors) { $fname = $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/install/db/".strtolower($DB->type)."/adv.sql"; $arErrors2 = $DB->RunSQLBatch($fname); if (!$arErrors2) return true; else { $arErrors = array_merge($arErrors, $arErrors2); return false; } } else return false; } } else { $stmp = MkDateTime(ConvertDateTime($cleanup_date,"D.M.Y"),"d.m.Y"); if ($stmp) { $arrTables = array( "b_stat_adv_guest" => "DATE_GUEST_HIT", "b_stat_adv_guest" => "DATE_HOST_HIT", "b_stat_adv_day" => "DATE_STAT", "b_stat_adv_event_day" => "DATE_STAT", "b_stat_day" => "DATE_STAT", "b_stat_day_site" => "DATE_STAT", "b_stat_event_day" => "DATE_STAT", "b_stat_event_list" => "DATE_ENTER", "b_stat_guest" => "LAST_DATE", "b_stat_hit" => "DATE_HIT", "b_stat_searcher_hit" => "DATE_HIT", "b_stat_phrase_list" => "DATE_HIT", "b_stat_referer" => "DATE_LAST", "b_stat_referer_list" => "DATE_HIT", "b_stat_searcher_day" => "DATE_STAT", "b_stat_session" => "DATE_LAST", "b_stat_page" => "DATE_STAT", "b_stat_country_day" => "DATE_STAT", "b_stat_path" => "DATE_STAT" ); reset($arrTables); while (list($table_name, $date_name) = each($arrTables)) { CStatistics::CleanUpTableByDate($cleanup_date, $table_name, $date_name); } } } return true; }