} $isPost = $_SERVER['REQUEST_METHOD'] === 'POST'; if ($isPost && !check_bitrix_sessid()) { LocalRedirect($arParams['PATH_TO_REPORT_LIST']); } $helperClassName = $arResult['HELPER_CLASS'] = isset($arParams['REPORT_HELPER_CLASS']) ? $arParams['REPORT_HELPER_CLASS'] : ''; if ($isPost && isset($_POST['HELPER_CLASS'])) { $helperClassName = $arResult['HELPER_CLASS'] = $_POST['HELPER_CLASS']; } $ownerId = $arResult['OWNER_ID'] = call_user_func(array($helperClassName, 'getOwnerId')); // auto create fresh default reports only if some reports alredy exist $userReportVersion = CUserOptions::GetOption('report', '~U_' . $ownerId, call_user_func(array($helperClassName, 'getFirstVersion'))); $sysReportVersion = call_user_func(array($helperClassName, 'getCurrentVersion')); if ($sysReportVersion !== $userReportVersion && CheckVersion($sysReportVersion, $userReportVersion)) { CUserOptions::SetOption('report', '~U_' . $ownerId, $sysReportVersion); if (CReport::GetCountInt($ownerId) > 0) { $dReports = call_user_func(array($helperClassName, 'getDefaultReports')); foreach ($dReports as $moduleVer => $vReports) { if ($moduleVer !== $userReportVersion && CheckVersion($moduleVer, $userReportVersion)) { // add fresh vReports CReport::addFreshDefaultReports($vReports, $ownerId); } } } } // create default reports by user request if ($isPost && !empty($_POST['CREATE_DEFAULT'])) { $dReports = call_user_func(array($helperClassName, 'getDefaultReports')); foreach ($dReports as $moduleVer => $vReports) { CReport::addFreshDefaultReports($vReports, $ownerId); }
if (!CModule::IncludeModule('iblock')) { $errorMessage .= GetMessage("IBLOCK_MODULE_NOT_INSTALLED") . '<br>'; } if (!$errorMessage) { CBaseSaleReportHelper::init(); $arParams = array('PATH_TO_REPORT_LIST' => '/bitrix/admin/sale_report.php?lang=' . LANG); // <editor-fold defaultstate="collapsed" desc="Creating or updating base reports"> //$ownerId = call_user_func(array($arParams['REPORT_HELPER_CLASS'], 'getOwnerId')); // auto create fresh default reports only if some reports alredy exist $optionSaleReportsVersion = '~U_' . SALE_REPORT_OWNER_ID . '_REPORTS'; $userReportVersion = CUserOptions::GetOption('sale', $optionSaleReportsVersion, CBaseSaleReportHelper::getFirstVersion()); $saleReportVersion = CBaseSaleReportHelper::getCurrentVersion(); if ($saleReportVersion !== $userReportVersion && CheckVersion($saleReportVersion, $userReportVersion)) { $nReps = 0; foreach (CBaseSaleReportHelper::getOwners() as $ownerId) { $nReps += CReport::GetCountInt($ownerId); } if ($nReps > 0) { $dReports = CBaseSaleReportHelper::getDefaultReports(); foreach ($dReports as $moduleVer => $vReports) { if ($moduleVer !== $userReportVersion && CheckVersion($moduleVer, $userReportVersion)) { // add fresh vReports //CReport::addFreshDefaultReports($vReports, $ownerId); foreach ($vReports as &$dReport) { $dReport['settings']['mark_default'] = $dReport['mark_default']; $dReport['settings']['title'] = $dReport['title']; $dReport['settings']['description'] = $dReport['description']; $dReport['settings']['owner'] = $dReport['owner']; CReport::Add($dReport['settings']); } unset($dReport);