Exemplo n.º 1
0
$statisticFilter = $arFilter = array_merge($USER->GetViewTasksFilter(), $arFilter);
$arFilter = array_merge($arFilter, $filters[$_SESSION['LIST_FILTER']]);
$arFilter = array_merge($arFilter, $filters2[$_SESSION['LIST_FILTER2']]);
$res = CIBlockElement::GetList(array($sorts[$_SESSION['LIST_SORT']] => $_SESSION['LIST_SORT_ORDER']), $arFilter, false, array('nPageSize' => $arParams['COUNT']), array("ID", "IBLOCK_ID", "NAME", "DETAIL_PAGE_URL", "PROPERTY_*", "DATE_CREATE", "CREATED_BY"));
while ($ob = $res->GetNextElement()) {
    $arFields = $ob->GetFields();
    if (strlen($arFields["DATE_CREATE"]) > 0) {
        $arFields["DATE_CREATE"] = CIBlockFormatProperties::DateFormat($arParams['DATE_FORMAT'], MakeTimeStamp($arFields["DATE_CREATE"], CSite::GetDateFormat()));
    }
    $arFields['PROPERTIES'] = $ob->GetProperties();
    foreach (array('STATUS_DATE', 'COMMENT_DATE') as $code) {
        if (strlen($arFields['PROPERTIES'][$code]['VALUE']) > 0) {
            $arFields['PROPERTIES'][$code]['VALUE'] = CIBlockFormatProperties::DateFormat($arParams['DATE_TIME_FORMAT'], MakeTimeStamp($arFields['PROPERTIES'][$code]['VALUE'], CSite::GetDateFormat()));
        }
    }
    $arFields['NOT_VIEWED'] = $logger->isNotViewed($arFields['ID']);
    $arFields['NEW_COMMENTS'] = $logger->getNewCommentsCnt($arFields['ID']);
    $arFields['NEW_STATUS'] = $logger->getStatusField($arFields['ID']);
    $arFields['STATUS'] = $arFields['PROPERTIES']['STATUS']["VALUE_ENUM_ID"];
    $arFields['STATUS_TEXT'] = StatusHelper::getStr($arFields['STATUS']);
    $arResult['TASKS'][] = $arFields;
}
$arResult["NAV_STRING"] = $res->GetPageNavString();
$arResult['USER_ID'] = CUser::GetID();
/* statistic */
$arResult['ALL_TASK_TIME'] = $arResult['TASK_CNT'] = $arResult['ACCEPTED_TASK_TIME'] = $arResult['ACCEPTED_TASK_CNT'] = 0;
$statisticFilter['!PROPERTY_STATUS'] = STATUS_LIST_REJECT;
$res = CIBlockElement::GetList(array(), $statisticFilter, false, false, array("ID", "PROPERTY_CALC_COMMENTS", "PROPERTY_STATUS", "IBLOCK_ID", 'PROPERTY_TRACKING'));
while ($item = $res->Fetch()) {
    if ($item["PROPERTY_STATUS_ENUM_ID"] == STATUS_LIST_ACCEPT) {
        $arResult['ACCEPTED_TASK_CNT'] += 1;