Example #1
0
}
$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);
    }
Example #2
0
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);