} else { $op = ""; $newKey = $key; } if (!in_array($newKey, array("NAME", "MODIFIED", "OVERDUE_DATE", "WORKFLOW_TEMPLATE_ID", "DESCRIPTION"))) { continue; } if (in_array($newKey, array("NAME", "DESCRIPTION")) && $op == "") { $op = "~"; $value = "%" . $value . "%"; } $arFilter[$op . $newKey] = $value; } $arResult["SORT"] = $gridSort["sort"]; $arResult["RECORDS"] = array(); $dbRecordsList = CBPTaskService::GetList($gridSort["sort"], $arFilter, false, $gridOptions->GetNavParams(), $arSelectFields); while ($arRecord = $dbRecordsList->GetNext()) { $arRecord['MODIFIED'] = FormatDateFromDB($arRecord['MODIFIED']); $arRecord["DOCUMENT_URL"] = CBPDocument::GetDocumentAdminPage($arRecord["PARAMETERS"]["DOCUMENT_ID"]); $arRecord["MODULE_ID"] = $arRecord["PARAMETERS"]["DOCUMENT_ID"][0]; $arRecord["ENTITY"] = $arRecord["PARAMETERS"]["DOCUMENT_ID"][1]; $arRecord["DOCUMENT_ID"] = $arRecord["PARAMETERS"]["DOCUMENT_ID"][2]; $arRecord["URL"] = array("~TASK" => CComponentEngine::MakePathFromTemplate($arParams["~TASK_EDIT_URL"], $arRecord), "TASK" => CComponentEngine::MakePathFromTemplate($arParams["TASK_EDIT_URL"], $arRecord)); if (array_key_exists("DESCRIPTION", $arRecord)) { $arRecord["DESCRIPTION"] = nl2br($arRecord["DESCRIPTION"]); } if (count(array_intersect($arSelectFields, array("WORKFLOW_NAME", "WORKFLOW_STATE", "WORKFLOW_STARTED", "WORKFLOW_STARTED_BY"))) > 0) { $arState = CBPStateService::GetWorkflowState($arRecord["WORKFLOW_ID"]); $arRecord["WORKFLOW_NAME"] = $arState["TEMPLATE_NAME"]; $arRecord["WORKFLOW_STATE"] = $arState["STATE_TITLE"]; $arRecord["WORKFLOW_STARTED"] = FormatDateFromDB($arState["STARTED_FORMATTED"]);
$op = $arFilterable[$new_key]; } $arFilter[$op . $new_key] = $value; } } foreach ($arCustomFilter as $FIELD_ID => $arCallback) { $filtered = false; call_user_func_array($arCallback["callback"], array($arListFields[$FIELD_ID], array("VALUE" => $FIELD_ID, "GRID_ID" => $arResult["GRID_ID"]), &$arFilter, &$filtered)); } $arFilter["IBLOCK_ID"] = $arIBlock["ID"]; $arFilter["CHECK_PERMISSIONS"] = $lists_perm >= CListPermissions::CAN_READ ? "N" : "Y"; if (!$arResult["ANY_SECTION"]) { $arFilter["SECTION_ID"] = $arResult["SECTION_ID"]; } /** @var CIBlockResult $rsElements */ $rsElements = CIBlockElement::GetList($grid_sort["sort"], $arFilter, false, $grid_options->GetNavParams(), $arSelect); if ($arResult["BIZPROC"] == "Y") { $arUserGroupsForBP = CUser::GetUserGroup($USER->GetID()); $arDocumentStatesForBP = CBPWorkflowTemplateLoader::GetDocumentTypeStates(BizProcDocument::generateDocumentComplexType($arParams["IBLOCK_TYPE_ID"], $arIBlock["ID"])); } else { $arUserGroupsForBP = array(); $arDocumentStatesForBP = array(); } $arResult["ELEMENTS_CAN_DELETE"] = array(); $arResult["ELEMENTS_CAN_MOVE"] = array(); $arResult["ELEMENTS_ROWS"] = array(); $check = false; while ($obElement = $rsElements->GetNextElement()) { $check = true; $data = $obElement->GetFields(); $aCols = array();
} } elseif ($_POST["action_button_" . $arResult["GRID_ID"]] == "edit" && isset($_POST["FIELDS"]) && is_array($_POST["FIELDS"]) && !$arResult["IS_SOCNET_GROUP_CLOSED"]) { foreach ($_POST["FIELDS"] as $ID => $arField) { if ($lists_perm >= CListPermissions::CAN_WRITE || CIBlockSectionRights::UserHasRightTo($arIBlock["ID"], $ID, "section_edit")) { $arFields = array("NAME" => $arField["NAME"], "CHECK_PERMISSIONS" => "N"); $obSection->Update($ID, $arFields); } } } if (!isset($_POST["AJAX_CALL"])) { LocalRedirect($arResult["LIST_SECTION_URL"]); } } $grid_options = new CGridOptions($arResult["GRID_ID"]); $rsSections = CIBlockSection::GetList(array("left_margin" => "asc"), array("IBLOCK_ID" => $arResult["IBLOCK_ID"], "GLOBAL_ACTIVE" => "Y", "SECTION_ID" => $arResult["SECTION_ID"], "CHECK_PERMISSIONS" => $lists_perm >= CListPermissions::IS_ADMIN ? "N" : "Y")); $rsSections->NavStart($grid_options->GetNavParams(), false); $arResult["SECTIONS_ROWS"] = array(); while ($data = $rsSections->GetNext()) { $aCols = array("NAME" => '<a href="' . str_replace(array("#list_id#", "#section_id#", "#group_id#"), array($data["IBLOCK_ID"], $data["ID"], $arParams["SOCNET_GROUP_ID"]), $arParams['LIST_SECTIONS_URL']) . '">' . $data["NAME"] . '</a>'); $aActions = array(); if (!$arResult["IS_SOCNET_GROUP_CLOSED"] && ($lists_perm >= CListPermissions::CAN_WRITE || CIBlockSectionRights::UserHasRightTo($data["IBLOCK_ID"], $data["ID"], "section_edit"))) { $aActions[] = array("ICONCLASS" => "edit", "TEXT" => GetMessage("CC_BLS_SECTION_ACTION_MENU_RENAME"), "ONCLICK" => "renameSection('form_section_add', '" . CUtil::JSEscape(GetMessage("CC_BLS_NEW_SECTION_NAME_PROMPT")) . "', " . $data["ID"] . ", '" . CUtil::JSEscape($data["NAME"]) . "');", "DEFAULT" => true); } if (!$arResult["IS_SOCNET_GROUP_CLOSED"] && ($lists_perm >= CListPermissions::CAN_WRITE || CIBlockSectionRights::UserHasRightTo($data["IBLOCK_ID"], $data["ID"], "section_delete"))) { $aActions[] = array("ICONCLASS" => "delete", "TEXT" => GetMessage("CC_BLS_SECTION_ACTION_MENU_DELETE"), "ONCLICK" => "bxGrid_" . $arResult["GRID_ID"] . ".DeleteItem('" . $data["ID"] . "', '" . GetMessage("CC_BLS_SECTION_DELETE_PROPMT") . "')"); $canDelete = true; } else { $canDelete = false; } $arResult["SECTIONS_ROWS"][] = array("id" => $data["ID"], "data" => $data, "actions" => $aActions, "columns" => $aCols, "canDelete" => $canDelete); }
} } if ($newKey == "ACTIVE_FROM") { $newKey = "DATE_ACTIVE_FROM"; } if ($newKey == "ACTIVE_TO") { $newKey = "DATE_ACTIVE_TO"; } $arFilter[$op . $newKey] = $value; } } $arResult["SORT"] = $gridSort["sort"]; $arResult["ShowStateEvents"] = false; $arResult["ShowTasks"] = false; $arResult["RECORDS"] = array(); list($dbRecordsList, $dbRecordsList1) = CBPVirtualDocument::GetList($gridSort["sort"], $arFilter, false, $gridOptions->GetNavParams(), $arSelectFields); while ($arRecord = $dbRecordsList->fetch()) { $arKeys = array_keys($arRecord); foreach ($arKeys as $key) { if ($arDocumentFields[$key]["BaseType"] == "file") { $ar = $arRecord[$key]; if (!is_array($ar)) { $ar = array($ar); } $arRecord[$key] = ""; foreach ($ar as $v) { if (strlen($arRecord[$key]) > 0) { $arRecord[$key] .= " "; } $arRecord[$key] .= CFile::ShowFile($v, 100000, 50, 50, true); }
$arResult["FILTER"] = array( array("id"=>"ID", "name"=>GetMessage('SUP_F_ID')), array("id"=>"LAMP", "name"=>GetMessage('SUP_F_LAMP'), "type"=>"list", "params"=>array("size"=>4, "multiple"=>"multiple"), "valign"=>"top", "items"=>array( 'red' => GetMessage('SUP_RED'), 'green' => GetMessage('SUP_GREEN'), 'grey' => GetMessage('SUP_GREY') )), array("id"=>"CLOSE", "name"=>GetMessage('SUP_F_CLOSE'), "type" => "list", "items" => array( "" => GetMessage('SUP_ALL'), 'Y' => GetMessage('SUP_CLOSED'),'N' => GetMessage('SUP_OPENED') )), array("id"=>"MESSAGE", "name"=>GetMessage('SUP_F_MESSAGE_TITLE')) ); $arParams["TICKETS_PER_PAGE"] = (intval($arParams["TICKETS_PER_PAGE"]) <= 0 ? 50 : intval($arParams["TICKETS_PER_PAGE"])); $grid_options = new CGridOptions($arResult["GRID_ID"]); $aSort = $grid_options->GetSorting(array("sort"=>array("id"=>"desc"), "vars"=>array("by"=>"by", "order"=>"order"))); $aNav = $grid_options->GetNavParams(array("nPageSize"=>$arParams["TICKETS_PER_PAGE"])); $aSortArg = each($aSort["sort"]); $aFilter = $grid_options->GetFilter($arResult["FILTER"]); $aSortVal = $aSort['sort']; $sort_order = current($aSortVal); $sort_by = key($aSortVal); if (strlen($arParams["SITE_ID"]) > 0) $aFilter["LID"] = $arParams["SITE_ID"]; $rsTickets = CTicket::GetList( $sort_by, $sort_order, $aFilter,
} } LocalRedirect($APPLICATION->GetCurPageParam("", array("ACTION", "ID", "ENTITY_TYPE", "ENTITY_CODE", "sessid"))); break; } } $arResult = array("USER_ID" => $USER->GetID(), "IDEA" => array(), "SUBSCRIBE" => array(), "IDEA_STATUS" => array(), "GRID" => array()); //Get Idea subscribtion if ($arResult["USER_ID"] > 0) { //InitGrid $GridOptions = new CGridOptions($arResult["GRID_ID"]); //Grid Sort $arSort = $GridOptions->GetSorting(array("sort" => array("DATE_PUBLISH" => "DESC"), "vars" => array("by" => "by", "order" => "order"))); $arResult["GRID"]["SORT"] = $arSort["sort"]; $arResult["GRID"]["SORT_VARS"] = $arSort["vars"]; $arNav = $GridOptions->GetNavParams(array("nPageSize" => 25)); $db_res = \Bitrix\Idea\NotifyEmailTable::getList(array('filter' => array("USER_ID" => $arResult["USER_ID"]), 'select' => array("ID" => "RUNTIME_ID", "SUBSCRIBE_TYPE", "ENTITY_TYPE", "ENTITY_CODE", "CATEGORY_NAME" => "ASCENDED_CATEGORIES.NAME"), 'order' => array("ENTITY_TYPE" => "ASC", "ENTITY_CODE" => "ASC"), 'runtime' => array(new \Bitrix\Main\Entity\ExpressionField('RUNTIME_ID', \Bitrix\Main\Application::getConnection()->getSqlHelper()->getConcatFunction("CASE " . "WHEN %s='" . \Bitrix\Idea\NotifyEmailTable::ENTITY_TYPE_IDEA . "' AND %s='' THEN '" . CIdeaManagmentEmailNotify::SUBSCRIBE_ALL . "' " . "WHEN %s='" . \Bitrix\Idea\NotifyEmailTable::ENTITY_TYPE_IDEA . "' THEN '" . CIdeaManagmentEmailNotify::SUBSCRIBE_IDEA_COMMENT . "' " . "WHEN %s='" . \Bitrix\Idea\NotifyEmailTable::ENTITY_TYPE_CATEGORY . "' AND %s='' THEN '" . CIdeaManagmentEmailNotify::SUBSCRIBE_ALL_IDEA . "' " . "WHEN %s='" . \Bitrix\Idea\NotifyEmailTable::ENTITY_TYPE_CATEGORY . "' THEN '" . \Bitrix\Idea\NotifyEmailTable::ENTITY_TYPE_CATEGORY . "' " . "ELSE 'UNK' END", "%s"), array("ENTITY_TYPE", "ENTITY_CODE", "ENTITY_TYPE", "ENTITY_TYPE", "ENTITY_CODE", "ENTITY_TYPE", "ENTITY_CODE"))))); $oIdeaSubscribe = new CDBResult($db_res); $oIdeaSubscribe->NavStart($arNav["nPageSize"], false); //Select Subscribe $arBlogPostId = array(); while ($r = $oIdeaSubscribe->Fetch()) { $arResult["SUBSCRIBE"][] = $r["ID"]; if ($r["ID"] == CIdeaManagmentEmailNotify::SUBSCRIBE_ALL) { $arResult["IDEA"] = array(CIdeaManagmentEmailNotify::SUBSCRIBE_ALL => $r + array("TITLE" => GetMessage("IDEA_SUBSCRIBE_ALL_SUBSCRIBED"), "ID" => CIdeaManagmentEmailNotify::SUBSCRIBE_ALL)) + $arResult["IDEA"]; } else { if ($r["ID"] == CIdeaManagmentEmailNotify::SUBSCRIBE_ALL_IDEA) { $arResult["IDEA"] = array(CIdeaManagmentEmailNotify::SUBSCRIBE_ALL_IDEA => $r + array("TITLE" => GetMessage("IDEA_SUBSCRIBE_ALL_IDEA_SUBSCRIBED"), "ID" => CIdeaManagmentEmailNotify::SUBSCRIBE_ALL_IDEA)) + $arResult["IDEA"]; } else { if ($r["ENTITY_TYPE"] == \Bitrix\Idea\NotifyEmailTable::ENTITY_TYPE_CATEGORY) { $arResult["IDEA"][$r["ID"]] = $r + array("TITLE" => !!$r["CATEGORY_NAME"] ? $r["CATEGORY_NAME"] : GetMessage("IDEA_SUBSCRIBE_NOT_FOUND_2", array("#CODE#" => $r["ENTITY_CODE"])));
if (!empty($arIDs)) { $dbSection = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $catalogID, 'ID' => $arIDs, 'GLOBAL_ACTIVE' => 'Y', 'CHECK_PERMISSIONS' => 'N'), false, array('ID')); $section = new CIBlockSection(); while ($arSection = $dbSection->Fetch()) { $sectionID = $arSection['ID']; $arSectionFields = isset($arFields[$sectionID]) ? $arFields[$sectionID] : null; // Is only one field allowed: 'NAME'. if (!(is_array($arSectionFields) && isset($arSectionFields['NAME']))) { continue; } $section->Update($sectionID, array('NAME' => $arSectionFields['NAME'], 'CHECK_PERMISSIONS' => 'N')); } } if (!isset($_GET['AJAX_CALL'])) { LocalRedirect($arResult['SECTION_LIST_URL']); } } } // Preparing of grid data $gridOptions = new CGridOptions($arResult['GRID_ID']); $arFilter = array('IBLOCK_ID' => $catalogID, 'GLOBAL_ACTIVE' => 'Y', 'CHECK_PERMISSIONS' => 'N', 'SECTION_ID' => $sectionID); $rsSections = CIBlockSection::GetList(array('left_margin' => 'asc'), $arFilter); $arNav = $gridOptions->GetNavParams(array('nPageSize' => isset($arParams['SECTION_COUNT']) ? intval($arParams['SECTION_COUNT']) : 20)); $rsSections->NavStart($arNav['nPageSize']); $arResult['SECTIONS'] = array(); while ($arSection = $rsSections->GetNext()) { $arResult['SECTIONS'][] = $arSection; } $rsSections->bShowAll = false; $arResult['NAV_OBJECT'] = $rsSections; $this->IncludeComponentTemplate();
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule("voximplant")) { die; } use Bitrix\Voximplant as VI; $arResult["GRID_ID"] = "voximpant_statistic_detail"; /*$arResult["FILTER"] = array( array("id"=>"PHONE_NUMBER", "name"=>"Phone"), array("id"=>"CALL_DURATION", "name"=>"Time"), array("id"=>"CALL_START_DATE", "name"=>"Date", "type"=>"date", "default"=>"Y"), );*/ $gridOptions = new CGridOptions($arResult["GRID_ID"]); $gridNav = $gridOptions->GetNavParams(); $limit = $gridNav["nPageSize"]; if (!intval($limit)) { $limit = 30; } $page = $_GET['PAGEN_1'] ? $_GET['PAGEN_1'] : 1; $filter = array(); $filterByUser = ''; if (isset($_GET['USER_ID']) && intval($_GET['USER_ID'])) { $filterByUser = intval($_GET['USER_ID']); $filter["PORTAL_USER_ID"] = $filterByUser; } $filterByCode = ''; if (isset($_GET['CODE']) && preg_match('#^[[:alnum:]\\-]+$#D', $_GET['CODE'])) { $filterByCode = $_GET['CODE']; $filter["CALL_FAILED_CODE"] = $filterByCode;
array("id"=>"PROPERTY_COUNTOBJECT_VALUE", "name"=>"Количество объектов", "sort"=>"countobject", "default"=>false, "editable"=>false), array("id"=>"PROPERTY_PLANNEDRESPONSE_VALUE", "name"=>"Планируемый отклик", "sort"=>"plannedresponse", "default"=>false, "editable"=>false), array("id"=>"PROPERTY_PLANNEDBUDJET_VALUE", "name"=>"Планируемый бюджет", "sort"=>"plannedbudjet", "default"=>false, "editable"=>false), array("id"=>"PROPERTY_ACTUALBUDJET_VALUE", "name"=>"Фактический бюджет", "sort"=>"actualbudjet", "default"=>false, "editable"=>false), array("id"=>"PROPERTY_SALESPROGRAM_VALUE", "name"=>"Фактический бюджет", "sort"=>"salesprogramm", "default"=>false, "editable"=>false), array("id"=>"PROPERTY_ACTUALSALES_VALUE", "name"=>"Фактические продажи", "sort"=>"actualsales", "default"=>false, "editable"=>false), //array("id"=>"TEAMUSERS", "name"=>"Команда пользователей", "sort"=>"teamusers", "default"=>false, "editable"=>false), //array("id"=>"TEAMCONTACTS", "name"=>"Команда контрагентов", "sort"=>"teamcontacts", "default"=>false, "editable"=>false) ); //инициализируем объект с настройками пользователя для нашего грида $grid_options = new CGridOptions($arResult["GRID_ID"]); //какую сортировку сохранил пользователь (передаем то, что по умолчанию) $aSort = $grid_options->GetSorting(array("sort"=>array("id"=>"desc"), "vars"=>array("by"=>"by", "order"=>"order"))); //размер страницы в постраничке (передаем умолчания) $aNav = $grid_options->GetNavParams(array("nPageSize"=>10)); //получим текущий фильтр (передаем описанный выше фильтр) $aFilter = $grid_options->GetFilter($arResult["FILTER"]); if(isset($aFilter["FIND"])){ $aFilter[$aFilter["FIND_list"]]=$aFilter["FIND"]; unset($aFilter["FIND"],$aFilter["FIND_list"]); } if(count($aFilter) > 0){ foreach ($aFilter as $key => $value) { switch ($key) { case 'NAME': $aFilter["NAME"] = "%".$value."%";