$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } $APPLICATION->SetTitle(GetMessage('HLBLOCK_ADMIN_MENU_TITLE')); $sTableID = "tbl_hlblock_entity"; $oSort = new CAdminSorting($sTableID, "NAME", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $arHeaders = array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "NAME", "content" => GetMessage('HLBLOCK_ADMIN_ENTITY_TITLE'), "sort" => "NAME", "default" => true)); $lAdmin->AddHeaders($arHeaders); // menu if ($_REQUEST["mode"] !== "list") { $aMenu = array(array("TEXT" => GetMessage('HLBLOCK_ADMIN_ADD_ENTITY_BUTTON'), "TITLE" => GetMessage('HLBLOCK_ADMIN_ADD_ENTITY_BUTTON'), "LINK" => "highloadblock_entity_edit.php?lang=" . LANGUAGE_ID, "ICON" => "btn_new")); $context = new CAdminContextMenu($aMenu); } use Bitrix\Highloadblock as HL; // select data $rsData = HL\HighloadBlockTable::getList(array("select" => $lAdmin->GetVisibleHeaderColumns(), "order" => array($by => strtoupper($order)))); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // build list $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); while ($arRes = $rsData->NavNext(true, "f_")) { $row = $lAdmin->AddRow($f_ID, $arRes); $can_edit = true; $arActions = array(); $arActions[] = array("ICON" => "list", "TEXT" => GetMessage('HLBLOCK_ADMIN_ROWS_LIST'), "ACTION" => $lAdmin->ActionRedirect("highloadblock_rows_list.php?ENTITY_ID=" . $f_ID), "DEFAULT" => true); $arActions[] = array("ICON" => "list", "TEXT" => GetMessage('HLBLOCK_ADMIN_FIELDS_LIST'), "ACTION" => $lAdmin->ActionRedirect("userfield_admin.php?lang=" . LANGUAGE_ID . "&set_filter=Y&find=HLBLOCK_" . intval($f_ID) . "&find_type=ENTITY_ID&back_url=" . urlencode($APPLICATION->GetCurPageParam()))); $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage($can_edit ? "MAIN_ADMIN_MENU_EDIT" : "MAIN_ADMIN_MENU_VIEW"), "ACTION" => $lAdmin->ActionRedirect("highloadblock_entity_edit.php?ID=" . $f_ID)); $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("MAIN_ADMIN_MENU_DELETE"), "ACTION" => "if(confirm('" . GetMessageJS('HLBLOCK_ADMIN_DELETE_ENTITY_CONFIRM') . "')) " . $lAdmin->ActionRedirect("highloadblock_entity_edit.php?action=delete&ID=" . $f_ID . '&' . bitrix_sessid_get())); $row->AddActions($arActions); } // view
$params['limit'] = $navyParams['SIZEN']; $params['offset'] = 0; } } $dbResultList = new CAdminResult(PaymentTable::getList($params), $tableId); if ($usePageNavigation) { $dbResultList->NavStart($params['limit'], $navyParams['SHOW_ALL'], $navyParams['PAGEN']); $dbResultList->NavRecordCount = $totalCount; $dbResultList->NavPageCount = $totalPages; $dbResultList->NavPageNomer = $navyParams['PAGEN']; } else { $dbResultList->NavStart(); } $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("group_admin_nav"))); $lAdmin->AddHeaders($headers); $visibleHeaders = $lAdmin->GetVisibleHeaderColumns(); while ($payment = $dbResultList->Fetch()) { $row =& $lAdmin->AddRow($payment['ID'], $payment); $row->AddField("ID", "<a href=\"sale_order_payment_edit.php?order_id=" . $payment['ORDER_ID'] . "&payment_id=" . $payment['ID'] . "&lang=" . $lang . GetFilterParams("filter_") . "\">" . $payment['ID'] . "</a>"); $row->AddField("ORDER_ID", "<a href=\"sale_order_edit.php?ID=" . $payment['ORDER_ID'] . "&lang=" . $lang . GetFilterParams("filter_") . "\">" . $payment['ORDER_ID'] . "</a>"); $row->AddField("ACCOUNT_NUMBER", "<a href=\"sale_order_edit.php?ID=" . $payment['ORDER_ID'] . "&lang=" . $lang . GetFilterParams("filter_") . "\">" . htmlspecialcharsbx($payment['ORDER_ACCOUNT_NUMBER']) . "</a>"); $row->AddField("SUM", \CCurrencyLang::CurrencyFormat($payment['SUM'], $payment['CURRENCY'])); $row->AddField("PAID", $payment['PAID'] == 'Y' ? GetMessage("PAYMENT_ORDER_PAID_YES") : GetMessage("PAYMENT_ORDER_PAID_NO")); $row->AddField("PAY_SYSTEM_NAME", "<a href='sale_pay_system_edit.php?ID=" . $payment['PAY_SYSTEM_ID'] . "&lang=" . $lang . "'>" . htmlspecialcharsbx($payment['PAY_SYSTEM_NAME']) . "</a>"); $row->AddField("COMPANY_BY", "<a href='sale_pay_system_edit.php?ID=" . $payment['COMPANY_ID'] . "&lang=" . $lang . "'>" . htmlspecialcharsbx($payment['COMPANY_BY_NAME']) . "</a>"); $row->AddField("ORDER_USER_NAME", "<a href='/bitrix/admin/user_edit.php?ID=" . $payment['ORDER_USER_ID'] . "&lang=" . $lang . "'>" . htmlspecialcharsbx($payment['ORDER_USER_NAME']) . " " . htmlspecialcharsbx($payment['ORDER_USER_LAST_NAME']) . "</a>"); $row->AddField("RESPONSIBLE_BY", "<a href=\"user_edit.php?ID=" . $payment['RESPONSIBLE_ID'] . "\">" . htmlspecialcharsbx($payment['RESPONSIBLE_BY_NAME']) . " " . htmlspecialcharsbx($payment['RESPONSIBLE_BY_LAST_NAME']) . "</a>"); $arActions = array(); $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("EDIT_PAYMENT_ALT"), "ACTION" => $lAdmin->ActionRedirect("sale_order_payment_edit.php?order_id=" . $payment['ORDER_ID'] . "&payment_id=" . $payment['ID'] . "&lang=" . $lang . GetFilterParams("filter_") . ""), "DEFAULT" => true); if (!$bReadOnly) { $arActions[] = array("SEPARATOR" => true);
$arHeader[] = array("id" => "EXTERNAL_ID", "content" => GetMessage("IBLOCK_FIELD_XML_ID"), "sort" => "external_id"); if (CModule::IncludeModule("workflow")) { $arHeader[] = array("id" => "WF_STATUS_ID", "content" => GetMessage("IBLOCK_FIELD_STATUS"), "sort" => "status", "default" => true); $arHeader[] = array("id" => "LOCKED_USER_NAME", "content" => GetMessage("IBLOCK_ELSEARCH_LOCK_BY")); } $arHeader[] = array("id" => "SHOW_COUNTER", "content" => GetMessage("IBLOCK_FIELD_SHOW_COUNTER"), "sort" => "show_counter", "align" => "right"); $arHeader[] = array("id" => "SHOW_COUNTER_START", "content" => GetMessage("IBLOCK_FIELD_SHOW_COUNTER_START"), "sort" => "show_counter_start", "align" => "right"); $arHeader[] = array("id" => "PREVIEW_PICTURE", "content" => GetMessage("IBLOCK_FIELD_PREVIEW_PICTURE"), "align" => "right"); $arHeader[] = array("id" => "PREVIEW_TEXT", "content" => GetMessage("IBLOCK_FIELD_PREVIEW_TEXT")); $arHeader[] = array("id" => "DETAIL_PICTURE", "content" => GetMessage("IBLOCK_FIELD_DETAIL_PICTURE"), "align" => "center"); $arHeader[] = array("id" => "DETAIL_TEXT", "content" => GetMessage("IBLOCK_FIELD_DETAIL_TEXT")); foreach ($arProps as $prop) { $arHeader[] = array("id" => "PROPERTY_" . $prop['ID'], "content" => $prop['NAME'], "align" => $prop["PROPERTY_TYPE"] == 'N' ? "right" : "left", "sort" => $prop["MULTIPLE"] != 'Y' ? "PROPERTY_" . $prop['ID'] : ""); } $lAdmin->AddHeaders($arHeader); $arSelectedFields = $lAdmin->GetVisibleHeaderColumns(); $arSelectedProps = array(); foreach ($arProps as $prop) { if (in_array("PROPERTY_" . $prop['ID'], $arSelectedFields)) { $arSelectedProps[] = $prop; $arSelect[$prop['ID']] = array(); $props = CIBlockProperty::GetPropertyEnum($prop['ID']); while ($res = $props->Fetch()) { $arSelect[$prop['ID']][$res["ID"]] = $res["VALUE"]; } } if ($prop["MULTIPLE"] == 'Y') { if ($key = array_search("PROPERTY_" . $prop['ID'], $arSelectedFields)) { unset($arSelectedFields[$key]); } }
} else { $arProps = $arResult['PROPS']; $arSKUProps = $arResult['SKU_PROPS']; $arFilter = $arResult['FILTER']; $arHeaders = $arResult['HEADERS']; $arPrices = $arResult['PRICES']; $tableId = CUtil::JSEscape($arResult['TABLE_ID']); // START TEMPLATE $APPLICATION->SetAdditionalCSS('/bitrix/panel/main/admin.css'); $lAdmin = new CAdminList($arResult['TABLE_ID'], new CAdminSorting($arResult['TABLE_ID'], "ID", "ASC")); $lAdmin->InitFilter($arResult['FILTER_FIELDS']); // fix $_REQUEST['admin_history'] = 1; $lAdmin->NavText($arResult['DB_RESULT_LIST']->GetNavPrint(GetMessage("SPS_NAV_LABEL"))); $lAdmin->AddHeaders($arHeaders); $arSelectedFields = $lAdmin->GetVisibleHeaderColumns(); $arSelectedProps = array(); $allProps = array_merge($arProps, $arSKUProps); foreach ($allProps as $prop) { if ($key = array_search("PROPERTY_" . $prop['ID'], $arSelectedFields)) { $arSelectedProps[] = $prop; unset($arSelectedFields[$key]); } } $allProps = null; $arSelectedFields = null; $arSku = array(); //Add 'Level Up' row to grid if ($arResult['PARENT_SECTION_ID'] >= 0) { $row =& $lAdmin->AddRow(0, array()); $row->AddViewField('NAME', '<a class="adm-list-table-link"><span class="bx-s-iconset folder"></span>..</a>');
{ $arErrors = array(); foreach($result->getErrors() as $error) $arErrors[] = $error->getMessage(); $lAdmin->AddGroupError(join("<br>", $arErrors), $ID); } } } $lAdmin->AddHeaders($arHeaders); $arSelect = array(); foreach($arHeaders as $val) { if(in_array($val["id"], $lAdmin->GetVisibleHeaderColumns())) $arSelect[$val["id"]] = (is_set($val, "sort") ? $val["sort"] : $val["id"]); } if(!in_array($sPrimaryKey, $arSelect)) $arSelect[$sPrimaryKey] = $sPrimaryKey; $rsData = $sDataClassName::getList(array( "select" => $arSelect, "filter" => $arFilter, "order" => array( $by => strtoupper($order) ), )); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart();
$arFilter["=URL_TO"] = $find_url_to; } else { $arFilter["URL_TO"] = $find_url_to; } $arFilter["=URL_TO_404"] = $find_url_to_404; foreach ($arFilter as $key => $value) { if (!strlen($value)) { unset($arFilter[$key]); } } $arFilter["!PHRASE"] = false; $aContext = array(); $lAdmin->AddAdminContextMenu($aContext); $arHeaders = array(array("id" => "PHRASE", "content" => GetMessage("SEARCH_PHS_PHRASE"), "sort" => "PHRASE", "default" => true), array("id" => "COUNT", "content" => GetMessage("SEARCH_PHS_COUNT"), "sort" => "COUNT", "default" => true, "align" => "right")); $lAdmin->AddHeaders($arHeaders); $arFields = $lAdmin->GetVisibleHeaderColumns(); $arFields[] = "COUNT"; $rsData = CSearchStatistic::GetList(array($by => $order), $arFilter, $arFields, true); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // navigation setup $lAdmin->NavText($rsData->GetNavPrint(GetMessage("SEARCH_PHS_PHRASES"))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); } $lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount()))); $lAdmin->CheckListMode(); /*************************************************************************** HTML form ****************************************************************************/ $APPLICATION->SetTitle(GetMessage("SEARCH_PHS_TITLE"));
if($arID = $lAdmin->GroupAction()) { if($_REQUEST['action_target']=='selected') { $is_filteredTT = null; //$rsData = CTicket::GetList($by, $order, $arFilter); $rsData = CTicket::GetList( $by, $order, $arFilter, $is_filteredTT, "Y", "Y", "Y", false, array( "SELECT" => $lAdmin->GetVisibleHeaderColumns() ) ); while($arRes = $rsData->Fetch()) $arID[] = $arRes['ID']; } foreach($arID as $ID) { if(strlen($ID)<=0) continue; $ID = intval($ID); switch($_REQUEST['action']) {
array("id"=>"WORK_WWW", "content"=>GetMessage("WORK_WWW"), "sort"=>"work_www"), array("id"=>"WORK_PHONE", "content"=>GetMessage("WORK_PHONE"), "sort"=>"work_phone"), array("id"=>"WORK_CITY", "content"=>GetMessage("WORK_CITY"), "sort"=>"work_city"), array("id"=>"XML_ID", "content"=>GetMessage("XML_ID"), "sort"=>"xml_id"), array("id"=>"EXTERNAL_AUTH_ID", "content"=>GetMessage("EXTERNAL_AUTH_ID")), ); $rsRatings = CRatings::GetList(array('ID' => 'ASC'), array('ACTIVE' => 'Y', 'ENTITY_ID' => 'USER')); while ($arRatingsTmp = $rsRatings->GetNext()) $arHeaders[] = array("id"=>"RATING_".$arRatingsTmp['ID'], "content"=>htmlspecialcharsbx($arRatingsTmp['NAME']), "sort"=>"RATING_".$arRatingsTmp['ID']); $USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders); $lAdmin->AddHeaders($arHeaders); $rsData = CUser::GetList($by, $order, $arFilter, array( "SELECT" => $lAdmin->GetVisibleHeaderColumns(), "NAV_PARAMS"=> array("nPageSize"=>CAdminResult::GetNavSize($sTableID)), )); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); while($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $USER_FIELD_MANAGER->AddUserFields($entity_id, $arRes, $row); $row->AddViewField("ID", "<a href='user_edit.php?lang=".LANGUAGE_ID."&ID=".$f_ID."' title='".GetMessage("MAIN_EDIT_TITLE")."'>".$f_ID."</a>"); $own_edit = ($USER->CanDoOperation('edit_own_profile') && ($USER->GetParam("USER_ID") == $f_ID)); $edit = ($USER->CanDoOperation('edit_subordinate_users') || $USER->CanDoOperation('edit_all_users')); $can_edit = (IntVal($f_ID)>1 && ($own_edit || $edit));
if($bWorkflow) $row->AddCheckField("WORKFLOW"); } else { if($arIBTYPE["SECTIONS"]=="Y") $row->AddViewField("NAME", '<a href="'.htmlspecialcharsbx(CIBlock::GetAdminSectionListLink($f_ID , array('find_section_section'=>0))).'" title="'.GetMessage("IBLOCK_ADM_TO_SECTLIST").'">'.$f_NAME.'</a>'); else $row->AddViewField("NAME", '<a href="'.htmlspecialcharsbx(CIBlock::GetAdminElementListLink($f_ID , array('find_section_section'=>-1))).'" title="'.GetMessage("IBLOCK_ADM_TO_EL_LIST").'">'.$f_NAME.'</a>'); $row->AddCheckField("ACTIVE", false); $row->AddCheckField("INDEX_ELEMENT", false); if($bWorkflow) $row->AddCheckField("WORKFLOW", false); } if(in_array("ELEMENT_CNT", $lAdmin->GetVisibleHeaderColumns())) { $f_ELEMENT_CNT = CIBlock::GetElementCount($f_ID); $row->AddViewField("ELEMENT_CNT", '<a href="'.htmlspecialcharsbx(CIBlock::GetAdminElementListLink($f_ID, array('find_section_section'=>-1))).'" title="'.GetMessage("IBLOCK_ADM_TO_ELLIST").'">'.$f_ELEMENT_CNT.'</a>'); } if($arIBTYPE["SECTIONS"]=="Y" && in_array("SECTION_CNT", $lAdmin->GetVisibleHeaderColumns())) $row->AddViewField("SECTION_CNT", '<a href="'.htmlspecialcharsbx(CIBlock::GetAdminSectionListLink($f_ID, array())).'" title="'.GetMessage("IBLOCK_ADM_TO_SECTLIST").'">'.IntVal(CIBlockSection::GetCount(array("IBLOCK_ID"=>$f_ID))).'</a>'); if( $bBizproc && $dbrs["BIZPROC"] == "Y" && in_array("WORKFLOW_TEMPLATES", $lAdmin->GetVisibleHeaderColumns()) && IsModuleInstalled("bizprocdesigner") ) {
$arHeaders = array(); $arHeaders[] = array("id" => "NAME", "content" => GetMessage("CTRLR_GR_AD_COL_NAME"), "default" => true, "sort" => "name"); $arHeaders[] = array("id" => "TIMESTAMP_X", "content" => GetMessage("CTRLR_GR_AD_COL_MOD"), "default" => true, "sort" => "timestamp_x"); $arHeaders[] = array("id" => "MODIFIED_BY", "content" => GetMessage("CTRLR_GR_AD_COL_MODBY"), "default" => true, "sort" => "modified_by"); $arHeaders[] = array("id" => "DATE_CREATE", "content" => GetMessage("CTRLR_GR_AD_COL_CRE"), "sort" => "DATE_CREATE"); $arHeaders[] = array("id" => "CREATED_BY", "content" => GetMessage("CTRLR_GR_AD_COL_CREBY"), "sort" => "CREATED_BY"); $arHeaders[] = array("id" => "DESCRIPTION", "content" => GetMessage("CTRLR_GR_AD_COL_DESC")); $arHeaders[] = array("id" => "COUNTER_UPDATE_PERIOD", "content" => GetMessage("CTRLE_GR_AD_COUNTER_UPD_PER"), "sort" => "COUNTER_UPDATE_PERIOD"); $arHeaders[] = array("id" => "CHECK_COUNTER_FREE_SPACE", "content" => GetMessage("CTRLE_GR_AD_COUNTER_FREE"), "sort" => "CHECK_COUNTER_FREE_SPACE"); $arHeaders[] = array("id" => "CHECK_COUNTER_SITES", "content" => GetMessage("CTRLE_GR_AD_COUNTER_SITES"), "sort" => "CHECK_COUNTER_SITES"); $arHeaders[] = array("id" => "CHECK_COUNTER_USERS", "content" => GetMessage("CTRLE_GR_AD_COUNTER_USERS"), "sort" => "CHECK_COUNTER_USERS"); $arHeaders[] = array("id" => "CHECK_COUNTER_LAST_AUTH", "content" => GetMessage("CTRLE_GR_AD_COUNTER_LAST_AU"), "sort" => "CHECK_COUNTER_LAST_AUTH"); $arHeaders[] = array("id" => "ID", "content" => "ID", "default" => true, "sort" => "id"); $USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders); $lAdmin->AddHeaders($arHeaders); $rsData = CControllerGroup::GetList(array($by => $order), $arFilter, $lAdmin->GetVisibleHeaderColumns()); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("CTRLR_GR_AD_NAV"))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $USER_FIELD_MANAGER->AddUserFields($entity_id, $arRes, $row); $row->AddViewField("MODIFIED_BY", '<a href="user_edit.php?ID=' . $f_MODIFIED_BY . '">(' . $f_MODIFIED_BY_LOGIN . ') ' . $f_MODIFIED_BY_NAME . ' ' . $f_MODIFIED_BY_LAST_NAME) . '</a>'; $row->AddViewField("CREATED_BY", '<a href="user_edit.php?ID=' . $f_CREATED_BY . '">(' . $f_CREATED_BY_LOGIN . ') ' . $f_CREATED_BY_NAME . ' ' . $f_CREATED_BY_LAST_NAME) . '</a>'; $row->AddInputField("NAME", array("size" => "35")); $row->AddViewField("NAME", '<a href="controller_group_edit.php?ID=' . $f_ID . '&lang=' . LANG . '">' . $f_NAME . '</a>'); $row->AddInputField("COUNTER_UPDATE_PERIOD", array("size" => "5")); $row->AddCheckField("CHECK_COUNTER_FREE_SPACE"); $row->AddCheckField("CHECK_COUNTER_SITES"); $row->AddCheckField("CHECK_COUNTER_USERS"); $row->AddCheckField("CHECK_COUNTER_LAST_AUTH");
$lAdmin->AddGroupError(GetMessage("MAIN_EDIT_ERROR") . $ob->LAST_ERROR, $ID); } break; } } } // заголовок списка $arHeaders = array(array("id" => "LOGIN", "content" => GetMessage("LOGIN"), "sort" => "login", "default" => true), array("id" => "ACTIVE", "content" => GetMessage('ACTIVE'), "sort" => "active", "default" => true, "align" => "center"), array("id" => "TIMESTAMP_X", "content" => GetMessage('TIMESTAMP'), "sort" => "timestamp_x", "default" => true), array("id" => "NAME", "content" => GetMessage("NAME"), "sort" => "name", "default" => true), array("id" => "LAST_NAME", "content" => GetMessage("LAST_NAME"), "sort" => "last_name", "default" => true), array("id" => "SECOND_NAME", "content" => GetMessage("SECOND_NAME"), "sort" => "second_name"), array("id" => "EMAIL", "content" => GetMessage('EMAIL'), "sort" => "email", "default" => true), array("id" => "LAST_LOGIN", "content" => GetMessage("LAST_LOGIN"), "sort" => "last_login", "default" => true), array("id" => "DATE_REGISTER", "content" => GetMessage("DATE_REGISTER"), "sort" => "date_register"), array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true, "align" => "right"), array("id" => "PERSONAL_BIRTHDAY", "content" => GetMessage("PERSONAL_BIRTHDAY"), "sort" => "personal_birthday"), array("id" => "PERSONAL_PROFESSION", "content" => GetMessage("PERSONAL_PROFESSION"), "sort" => "personal_profession"), array("id" => "PERSONAL_WWW", "content" => GetMessage("PERSONAL_WWW"), "sort" => "personal_www"), array("id" => "PERSONAL_ICQ", "content" => GetMessage("PERSONAL_ICQ"), "sort" => "personal_icq"), array("id" => "PERSONAL_GENDER", "content" => GetMessage("PERSONAL_GENDER"), "sort" => "personal_gender"), array("id" => "PERSONAL_PHONE", "content" => GetMessage("PERSONAL_PHONE"), "sort" => "personal_phone"), array("id" => "PERSONAL_MOBILE", "content" => GetMessage("PERSONAL_MOBILE"), "sort" => "personal_mobile"), array("id" => "PERSONAL_CITY", "content" => GetMessage("PERSONAL_CITY"), "sort" => "personal_city"), array("id" => "PERSONAL_STREET", "content" => GetMessage("PERSONAL_STREET"), "sort" => "personal_street"), array("id" => "WORK_COMPANY", "content" => GetMessage("WORK_COMPANY"), "sort" => "work_company"), array("id" => "WORK_DEPARTMENT", "content" => GetMessage("WORK_DEPARTMENT"), "sort" => "work_department"), array("id" => "WORK_POSITION", "content" => GetMessage("WORK_POSITION"), "sort" => "work_position"), array("id" => "WORK_WWW", "content" => GetMessage("WORK_WWW"), "sort" => "work_www"), array("id" => "WORK_PHONE", "content" => GetMessage("WORK_PHONE"), "sort" => "work_phone"), array("id" => "WORK_CITY", "content" => GetMessage("WORK_CITY"), "sort" => "work_city"), array("id" => "XML_ID", "content" => GetMessage("XML_ID"), "sort" => "xml_id"), array("id" => "EXTERNAL_AUTH_ID", "content" => GetMessage("EXTERNAL_AUTH_ID"))); $rsRatings = CRatings::GetList(array('ID' => 'ASC'), array('ACTIVE' => 'Y', 'ENTITY_ID' => 'USER')); while ($arRatingsTmp = $rsRatings->GetNext()) { $arHeaders[] = array("id" => "RATING_" . $arRatingsTmp['ID'], "content" => htmlspecialcharsbx($arRatingsTmp['NAME']), "sort" => "RATING_" . $arRatingsTmp['ID']); } $USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders); $lAdmin->AddHeaders($arHeaders); // инициализация списка - выборка данных $rsData = CUser::GetList($by, $order, $arFilter, array("SELECT" => $lAdmin->GetVisibleHeaderColumns(), "NAV_PARAMS" => array("nPageSize" => CAdminResult::GetNavSize($sTableID)))); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // установке параметров списка $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $USER_FIELD_MANAGER->AddUserFields($entity_id, $arRes, $row); $row->AddViewField("ID", "<a href='user_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $f_ID . "' title='" . GetMessage("MAIN_EDIT_TITLE") . "'>" . $f_ID . "</a>"); $own_edit = $USER->CanDoOperation('edit_own_profile') && $USER->GetParam("USER_ID") == $f_ID; $edit = $USER->CanDoOperation('edit_subordinate_users') || $USER->CanDoOperation('edit_all_users'); $can_edit = IntVal($f_ID) > 1 && ($own_edit || $edit); if ($f_ID == 1 || $own_edit || !$can_edit) { $row->AddCheckField("ACTIVE", false); } else { $row->AddCheckField("ACTIVE");
if ($ID > 2) { $ob = new CGroup(); $arFields["ACTIVE"] = $_REQUEST['action'] == "activate" ? "Y" : "N"; if (!$ob->Update($ID, $arFields)) { $lAdmin->AddGroupError(GetMessage("MAIN_EDIT_ERROR") . ":" . $ob->LAST_ERROR, $ID); } } else { $lAdmin->AddGroupError(GetMessage("MAIN_ERROR_GROUP") . $ID . GetMessage("MAIN_ERROR_GROUP_EDIT")); } break; } } } // заголовок списка $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true, "align" => "right"), array("id" => "TIMESTAMP_X", "content" => GetMessage('TIMESTAMP'), "sort" => "timestamp_x", "default" => true), array("id" => "ACTIVE", "content" => GetMessage('ACTIVE'), "sort" => "active", "default" => true), array("id" => "C_SORT", "content" => GetMessage("MAIN_C_SORT"), "sort" => "c_sort", "default" => true, "align" => "right"), array("id" => "NAME", "content" => GetMessage("NAME"), "sort" => "name", "default" => true), array("id" => "DESCRIPTION", "content" => GetMessage("MAIN_DESCRIPTION"), "sort" => "description", "default" => false), array("id" => "USERS", "content" => GetMessage('MAIN_USERS'), "sort" => "users", "align" => "right"))); $showUserCount = in_array("USERS", $lAdmin->GetVisibleHeaderColumns()); // инициализация списка - выборка данных $rsData = CGroup::GetList($by, $order, $arFilter, $showUserCount ? "Y" : "N"); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // установке параметров списка $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); // построение списка while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes, "group_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $f_ID, GetMessage("MAIN_EDIT_TITLE")); $row->AddViewField("ID", "<a href='group_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $f_ID . "' title='" . GetMessage("MAIN_EDIT_TITLE") . "'>" . $f_ID . "</a>"); if ($USER->CanDoOperation('edit_groups')) { if ($f_ID <= 2) { $row->AddCheckField("ACTIVE", false); } else { $row->AddCheckField("ACTIVE");
/** * Основной цикл отображения списка. Этапы: * <ul> * <li> Вывод заголовков страницы </li> * <li> Определение списка видимых колонок и колонок, участвующих в выборке. </li> * <li> Создание виджета для каждого поля выборки </li> * <li> Модификация параметров запроса каждым из виджетов </li> * <li> Выборка данных </li> * <li> Вывод строк таблицы. Во время итерации по строкам возможна модификация данных строки. </li> * <li> Отрисовка футера таблицы, добавление контекстного меню </li> * </ul> * * @param array $sort Настройки сортировки. * * @see AdminListHelper::getList(); * @see AdminListHelper::getMixedData(); * @see AdminListHelper::modifyRowData(); * @see AdminListHelper::addRowCell(); * @see AdminListHelper::addRow(); * @see HelperWidget::changeGetListOptions(); */ public function buildList($sort) { $this->setContext(AdminListHelper::OP_GET_DATA_BEFORE); $headers = $this->arHeader; $sectionEditHelper = static::getHelperClass(AdminSectionEditHelper::className()); if ($sectionEditHelper) { // если есть реализация класса AdminSectionEditHelper, значит используются разделы $sectionHeaders = $this->getSectionsHeader(); foreach ($sectionHeaders as $sectionHeader) { foreach ($headers as $i => $elementHeader) { if ($sectionHeader['id'] == $elementHeader['id']) { unset($headers[$i]); } } } $headers = array_merge($headers, $sectionHeaders); } // сортировка столбцов с сохранением исходной позиции в // массиве для развнозначных элементов // массив $headers модифицируется $this->mergeSortHeader($headers); $this->list->AddHeaders($headers); $visibleColumns = $this->list->GetVisibleHeaderColumns(); if ($sectionEditHelper) { $modelClass = $this->getModel(); $elementFields = array_keys($modelClass::getEntity()->getFields()); $sectionsVisibleColumns = array(); foreach ($visibleColumns as $k => $v) { if (isset($this->sectionFields[$v])) { if (!in_array($k, $elementFields)) { unset($visibleColumns[$k]); } $sectionsVisibleColumns[] = $v; } } $visibleColumns = array_values($visibleColumns); $visibleColumns = array_merge($visibleColumns, array_keys($this->tableColumnsMap)); } $className = static::getModel(); $visibleColumns[] = static::pk(); $sectionsVisibleColumns[] = static::sectionPk(); $raw = array('SELECT' => $visibleColumns, 'FILTER' => $this->arFilter, 'SORT' => $sort); foreach ($this->fields as $name => $settings) { if (isset($settings['VIRTUAL']) and $settings['VIRTUAL'] == true) { $key = array_search($name, $visibleColumns); unset($visibleColumns[$key]); unset($this->arFilter[$name]); unset($sort[$name]); } if (isset($settings['FORCE_SELECT']) and $settings['FORCE_SELECT'] == true) { $visibleColumns[] = $name; } } $visibleColumns = array_unique($visibleColumns); $sectionsVisibleColumns = array_unique($sectionsVisibleColumns); // Поля для селекта (перевернутый массив) $listSelect = array_flip($visibleColumns); foreach ($this->fields as $code => $settings) { $widget = $this->createWidgetForField($code); $widget->changeGetListOptions($this->arFilter, $visibleColumns, $sort, $raw); // Множественные поля не должны быть в селекте if (!empty($settings['MULTIPLE'])) { unset($listSelect[$code]); } } // Поля для селекта (множественные поля отфильтрованы) $listSelect = array_flip($listSelect); if ($sectionEditHelper) { $mixedData = $this->getMixedData($sectionsVisibleColumns, $visibleColumns, $sort, $raw); $res = new \CDbResult(); $res->InitFromArray($mixedData); $res = new \CAdminResult($res, $this->getListTableID()); $res->nSelectedCount = $this->totalRowsCount; // используем кастомный NavStart что бы определить правильное количество страниц и элементов в списке $this->customNavStart($res); $this->list->NavText($res->GetNavPrint(Loc::getMessage("PAGES"))); while ($data = $res->NavNext(false)) { $this->modifyRowData($data); if ($data['IS_SECTION']) { list($link, $name) = $this->getRow($data, $this->getHelperClass(AdminSectionEditHelper::className())); $row = $this->list->AddRow('s' . $data[$this->pk()], $data, $link, $name); foreach ($this->sectionFields as $code => $settings) { if (in_array($code, $sectionsVisibleColumns)) { $this->addRowSectionCell($row, $code, $data); } } $row->AddActions($this->getRowActions($data, true)); } else { $this->modifyRowData($data); list($link, $name) = $this->getRow($data); // объединение полей элемента с полями раздела foreach ($this->tableColumnsMap as $elementCode => $sectionCode) { if (isset($data[$elementCode])) { $data[$sectionCode] = $data[$elementCode]; } } $row = $this->list->AddRow($data[$this->pk()], $data, $link, $name); foreach ($this->fields as $code => $settings) { $this->addRowCell($row, $code, $data, isset($this->tableColumnsMap[$code]) ? $this->tableColumnsMap[$code] : false); } $row->AddActions($this->getRowActions($data)); } } } else { $res = $this->getData($className, $this->arFilter, $listSelect, $sort, $raw); $res = new \CAdminResult($res, $this->getListTableID()); $res->NavStart(); $this->list->NavText($res->GetNavPrint(Loc::getMessage("PAGES"))); while ($data = $res->NavNext(false)) { $this->modifyRowData($data); list($link, $name) = $this->getRow($data); $row = $this->list->AddRow($data[$this->pk()], $data, $link, $name); foreach ($this->fields as $code => $settings) { $this->addRowCell($row, $code, $data); } $row->AddActions($this->getRowActions($data)); } } $this->list->AddFooter($this->getFooter($res)); $this->list->AddGroupActionTable($this->getGroupActions(), $this->groupActionsParams); $this->list->AddAdminContextMenu($this->getContextMenu()); $this->list->BeginPrologContent(); echo $this->prologHtml; $this->list->EndPrologContent(); $this->list->BeginEpilogContent(); echo $this->epilogHtml; $this->list->EndEpilogContent(); // добавляем ошибки в CAdminList для режимов list и frame if (in_array($_GET['mode'], array('list', 'frame')) && is_array($this->getErrors())) { foreach ($this->getErrors() as $error) { $this->list->addGroupError($error); } } $this->list->CheckListMode(); }
$APPLICATION->SetTitle(GetMessage('HLBLOCK_ADMIN_ROWS_LIST_PAGE_TITLE', array('#NAME#' => $hlblock['NAME']))); $entity = HL\HighloadBlockTable::compileEntity($hlblock); $entity_data_class = $entity->getDataClass(); $entity_table_name = $hlblock['TABLE_NAME']; $sTableID = 'tbl_' . $entity_table_name; $oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $arHeaders = array(array('id' => 'ID', 'content' => 'ID', 'sort' => 'ID', 'default' => true)); $USER_FIELD_MANAGER->AdminListAddHeaders('HLBLOCK_' . $hlblock['ID'], $arHeaders); // show all by default foreach ($arHeaders as &$arHeader) { $arHeader['default'] = true; } unset($arHeader); $lAdmin->AddHeaders($arHeaders); if (!in_array($by, $lAdmin->GetVisibleHeaderColumns(), true)) { $by = 'ID'; } // select data $rsData = $entity_data_class::getList(array("select" => $lAdmin->GetVisibleHeaderColumns(), "order" => array($by => strtoupper($order)))); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); if ($_REQUEST["mode"] !== "list") { // menu $aMenu = array(array("TEXT" => GetMessage('HLBLOCK_ADMIN_ROWS_ADD_NEW_BUTTON'), "TITLE" => GetMessage('HLBLOCK_ADMIN_ROWS_ADD_NEW_BUTTON'), "LINK" => "highloadblock_row_edit.php?ENTITY_ID=" . intval($_REQUEST['ENTITY_ID']) . "&lang=" . LANGUAGE_ID, "ICON" => "btn_new"), array("TEXT" => GetMessage('HLBLOCK_ADMIN_ROWS_EDIT_ENTITY'), "TITLE" => GetMessage('HLBLOCK_ADMIN_ROWS_EDIT_ENTITY'), "LINK" => "highloadblock_entity_edit.php?ID=" . $hlblock['ID'] . "&lang=" . LANGUAGE_ID, "ICON" => "btn_edit")); $context = new CAdminContextMenu($aMenu); } // build list $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); while ($arRes = $rsData->NavNext(true, "f_")) { $row = $lAdmin->AddRow($f_ID, $arRes);
if (ControllerIsSharedMode()) { $arHeaders[] = array("id" => "SHARED_KERNEL", "content" => GetMessage("CTRL_MEMB_ADMIN_COLUMN_SHARED_KERN"), "sort" => "SHARED_KERNEL", "align" => "center"); } if (COption::GetOptionString("controller", "show_hostname") == "Y") { $arHeaders[] = array("id" => "HOSTNAME", "content" => GetMessage("CTRL_MEMB_ADMIN_COLUMN_HOSTNAME"), "sort" => "HOSTNAME"); } $arCounters = array(); $rsCounters = CControllerCounter::GetList(); while ($arCounter = $rsCounters->Fetch()) { $key = "COUNTER_" . $arCounter["ID"]; $arCounters[$key] = $arCounter; $arHeaders[] = array("id" => $key, "content" => htmlspecialcharsex($arCounter["NAME"]), "sort" => $key, "align" => $arCounter["COUNTER_FORMAT"] == "F" ? "right" : "left"); } $USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders); $lAdmin->AddHeaders($arHeaders); $arSelect = $lAdmin->GetVisibleHeaderColumns(); $arSelect[] = "ID"; $arSelect[] = "DISCONNECTED"; $arSelect[] = "SHARED_KERNEL"; if (in_array("MODIFIED_BY", $arSelect)) { $arSelect[] = "MODIFIED_BY_USER"; } if (in_array("CREATED_BY", $arSelect)) { $arSelect[] = "CREATED_BY_USER"; } $rsData = CControllerMember::GetList(array($by => $order), $arFilter, $arSelect, array(), array("nPageSize" => CAdminResult::GetNavSize($sTableID))); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("CTRL_MEMB_ADMIN_NAVSTRING"))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes);
if ($bWorkflow) { $row->AddCheckField("WORKFLOW"); } } else { if ($arIBTYPE["SECTIONS"] == "Y") { $row->AddViewField("NAME", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminSectionListLink($f_ID, array('find_section_section' => 0))) . '" title="' . GetMessage("IBLOCK_ADM_TO_SECTLIST") . '">' . $f_NAME . '</a>'); } else { $row->AddViewField("NAME", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminElementListLink($f_ID, array('find_section_section' => -1))) . '" title="' . GetMessage("IBLOCK_ADM_TO_EL_LIST") . '">' . $f_NAME . '</a>'); } $row->AddCheckField("ACTIVE", false); $row->AddCheckField("INDEX_ELEMENT", false); if ($bWorkflow) { $row->AddCheckField("WORKFLOW", false); } } if (in_array("ELEMENT_CNT", $lAdmin->GetVisibleHeaderColumns())) { $f_ELEMENT_CNT = CIBlock::GetElementCount($f_ID); $row->AddViewField("ELEMENT_CNT", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminElementListLink($f_ID, array('find_section_section' => -1))) . '" title="' . GetMessage("IBLOCK_ADM_TO_ELLIST") . '">' . $f_ELEMENT_CNT . '</a>'); } if ($arIBTYPE["SECTIONS"] == "Y" && in_array("SECTION_CNT", $lAdmin->GetVisibleHeaderColumns())) { $row->AddViewField("SECTION_CNT", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminSectionListLink($f_ID, array())) . '" title="' . GetMessage("IBLOCK_ADM_TO_SECTLIST") . '">' . IntVal(CIBlockSection::GetCount(array("IBLOCK_ID" => $f_ID))) . '</a>'); } if ($bBizproc && $dbrs["BIZPROC"] == "Y" && in_array("WORKFLOW_TEMPLATES", $lAdmin->GetVisibleHeaderColumns()) && IsModuleInstalled("bizprocdesigner")) { $cnt = CBPDocument::GetNumberOfWorkflowTemplatesForDocumentType(array("iblock", "CIBlockDocument", "iblock_" . $f_ID)); $row->AddViewField("WORKFLOW_TEMPLATES", '<a href="/bitrix/admin/iblock_bizproc_workflow_admin.php?document_type=iblock_' . $f_ID . '&lang=' . LANGUAGE_ID . '&back_url_list=' . urlencode($APPLICATION->GetCurPageParam("", array())) . '">' . $cnt . '</a>'); } $arActions = array(); if ($_REQUEST["admin"] == "Y" && CIBlockRights::UserHasRightTo($f_ID, $f_ID, "iblock_edit")) { $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("MAIN_ADMIN_MENU_EDIT"), "DEFAULT" => $_REQUEST["admin"] == "Y", "ACTION" => $lAdmin->ActionRedirect("iblock_edit.php?ID=" . $f_ID . "&type=" . urlencode($type) . "&lang=" . LANGUAGE_ID . "&admin=" . ($_REQUEST["admin"] == "Y" ? "Y" : "N"))); $arActions[] = array("ICON" => "list", "TEXT" => GetMessage("IBLOCK_ADM_MENU_PROPERTIES"), "ACTION" => $lAdmin->ActionRedirect("iblock_property_admin.php?IBLOCK_ID=" . $f_ID . "&lang=" . LANGUAGE_ID . ($_REQUEST["admin"] == "Y" ? "&admin=Y" : "&admin=N"))); }
continue; } switch ($_REQUEST['action']) { case "delete": \Xpage\Seofilter\PropertyTable::delete($ID); break; } } } $obGroups = \Xpage\Seofilter\PropertyTable::getList(['order' => ['ID' => 'ASC'], 'select' => ['ID', 'TITLE', 'SORT', 'PROPERTY_ID', 'PROPERTY_NAME' => 'PROPERTY.NAME']]); $obGroups = new CAdminResult($obGroups, $listTableId); $obGroups->NavStart(); $adminList->NavText($obGroups->GetNavPrint("Разделы")); $colHeaders = [["id" => 'ID', "content" => 'ID', "sort" => 1, "default" => true], ["id" => 'TITLE', "content" => 'TITLE', "sort" => 2, "default" => true], ["id" => 'SORT', "content" => 'SORT', "sort" => 3, "default" => true], ["id" => 'PROPERTY_NAME', "content" => 'PROPERTY_NAME', "sort" => 4, "default" => true]]; $adminList->AddHeaders($colHeaders); $visibleHeaderColumns = $adminList->GetVisibleHeaderColumns(); $arUsersCache = []; while ($arRes = $obGroups->GetNext()) { $row =& $adminList->AddRow($arRes["ID"], $arRes); $arActions = [["ICON" => "delete", "TEXT" => "Удалить", "ACTION" => $adminList->ActionDoGroup($arRes["ID"], "delete")], ["ICON" => "edit", "TEXT" => "Редактировать", "ACTION" => $adminList->ActionRedirect("seofilter_property_edit.php?ID=" . $arRes["ID"] . "&lang=" . LANGUAGE_ID), "DEFAULT" => true], ["ICON" => "", "TEXT" => "Замена", "ACTION" => $adminList->ActionRedirect("seofilter_property_values_edit.php?ID=" . $arRes["PROPERTY_ID"] . "&lang=" . LANGUAGE_ID)]]; $row->AddActions($arActions); } $adminList->AddFooter([["title" => "Всего", "value" => $obGroups->SelectedRowsCount()], ["counter" => true, "title" => "Отмечено", "value" => "0"]]); $adminList->AddGroupActionTable(["delete" => "Удалить"]); $aContext = [["TEXT" => GetMessage("MAIN_ADD"), "LINK" => "seofilter_property_edit.php", "TITLE" => GetMessage("POST_ADD_TITLE"), "ICON" => "btn_new"]]; $adminList->AddAdminContextMenu($aContext); $adminList->CheckListMode(); $APPLICATION->SetTitle("Свойства сеофильтра"); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; $adminList->DisplayList(); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
/** @var HL\DataManager $entity_data_class */ $entity_data_class = $entity->getDataClass(); $entity_table_name = $hlblock['TABLE_NAME']; $sTableID = 'tbl_' . $entity_table_name; $oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $arHeaders = array(array('id' => 'ID', 'content' => 'ID', 'sort' => 'ID', 'default' => true)); $ufEntityId = 'HLBLOCK_' . $hlblock['ID']; $USER_FIELD_MANAGER->AdminListAddHeaders($ufEntityId, $arHeaders); // show all columns by default foreach ($arHeaders as &$arHeader) { $arHeader['default'] = true; } unset($arHeader); $lAdmin->AddHeaders($arHeaders); if (!in_array($by, $lAdmin->GetVisibleHeaderColumns(), true)) { $by = 'ID'; } // add filter $filter = null; $filterFields = array('find_id'); $filterValues = array(); $filterTitles = array('ID'); $USER_FIELD_MANAGER->AdminListAddFilterFields($ufEntityId, $filterFields); $filter = $lAdmin->InitFilter($filterFields); if (!empty($find_id)) { $filterValues['ID'] = $find_id; } $USER_FIELD_MANAGER->AdminListAddFilter($ufEntityId, $filterValues); $USER_FIELD_MANAGER->AddFindFields($ufEntityId, $filterTitles); $filter = new CAdminFilter($sTableID . "_filter_id", $filterTitles);
InitBVar($find_message_exact_match); if (CheckFilter()) { $arFilter = array("MESSAGE_EXACT_MATCH" => $find_message_exact_match, "ID" => $find != "" && $find_type == "id" ? $find : $find_id, "ID_EXACT_MATCH" => $find_id_exact_match, "SITE" => $find_site, "LAMP" => $find_lamp, "DATE_CREATE_1" => $find_date_create1, "DATE_CREATE_2" => $find_date_create2, "DATE_TIMESTAMP_1" => $find_date_timestamp1, "DATE_TIMESTAMP_2" => $find_date_timestamp2, "DATE_CLOSE_1" => $find_date_close1, "DATE_CLOSE_2" => $find_date_close2, "CLOSE" => $find_close, "PROBLEM_TIME1" => $find_problem_time1, "PROBLEM_TIME2" => $find_problem_time2, "TICKET_TIME_1" => $find_ticket_time_1, "TICKET_TIME_2" => $find_ticket_time_2, "TITLE" => $find != "" && $find_type == "name" ? $find : $find_title, "TITLE_EXACT_MATCH" => $find_title_exact_match, "MESSAGES1" => $find_messages1, "MESSAGES2" => $find_messages2, "OVERDUE_MESSAGES1" => $find_overdue_messages1, "OVERDUE_MESSAGES2" => $find_overdue_messages2, "AUTO_CLOSE_DAYS_LEFT1" => $find_auto_close_days_left1, "AUTO_CLOSE_DAYS_LEFT2" => $find_auto_close_days_left2, "OWNER" => $find != "" && $find_type == "owner" ? $find : $find_owner, "OWNER_EXACT_MATCH" => $find_owner_exact_match, "CREATED_BY" => $find_created_by, "CREATED_BY_EXACT_MATCH" => $find_created_by_exact_match, "RESPONSIBLE" => $find_responsible, "RESPONSIBLE_EXACT_MATCH" => $find_responsible_exact_match, "RESPONSIBLE_ID" => $find_responsible_id, "SLA_ID" => $find_sla_id, "CATEGORY_ID" => $find_category_id, "CRITICALITY_ID" => $find_criticality_id, "STATUS_ID" => $find_status_id, "DIFFICULTY_ID" => $find_difficulty_id, "MARK_ID" => $find_mark_id, "SOURCE_ID" => $find_source_id, "MODIFIED_BY" => $find_modified_by, "MODIFIED_BY_EXACT_MATCH" => $find_modified_by_exact_match, "MESSAGE" => $find != "" && $find_type == "message" ? $find : $find_message, "SUPPORT_COMMENTS" => $find_support_comments, "SUPPORT_COMMENTS_EXACT_MATCH" => $find_support_comments_exact_match, "IS_SPAM" => $find_is_spam, "IS_SPAM_MAYBE" => $find_is_spam_maybe, "HOLD_ON" => $find_hold_on, "SUPPORTTEAM_GROUP_ID" => $find_supportteam_group_id, "CLIENT_GROUP_ID" => $find_client_group_id, 'COUPON' => $find_coupon, 'COUPON_EXACT_MATCH' => $find_coupon_exact_match); $USER_FIELD_MANAGER->AdminListAddFilter($entity_id, $arFilter); } else { if ($e = $APPLICATION->GetException()) { $GLOBALS["lAdmin"]->AddFilterError(GetMessage("SUP_FILTER_ERROR") . ": " . $e->GetString()); //$message = new CAdminMessage(GetMessage("SUP_FILTER_ERROR"), $e); } } // обработка действий групповых и одиночных if ($arID = $lAdmin->GroupAction()) { if ($_REQUEST['action_target'] == 'selected') { $is_filteredTT = null; //$rsData = CTicket::GetList($by, $order, $arFilter); $rsData = CTicket::GetList($by, $order, $arFilter, $is_filteredTT, "Y", "Y", "Y", false, array("SELECT" => $lAdmin->GetVisibleHeaderColumns())); while ($arRes = $rsData->Fetch()) { $arID[] = $arRes['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } $ID = intval($ID); switch ($_REQUEST['action']) { case "close": CTicket::SetTicket(array("CLOSE" => "Y"), $ID, "Y", "N"); break; case "close_notify": CTicket::SetTicket(array("CLOSE" => "Y"), $ID, "Y", "Y");
if (!$ibp->Update($ID, $arFields)) { $lAdmin->AddUpdateError(GetMessage("IBP_ADM_SAVE_ERROR", array("#ID#" => $ID, "#ERROR_TEXT#" => $ibp->LAST_ERROR)), $ID); } break; } } } $arHeader = array(array("id" => "ID", "content" => GetMessage("IBP_ADM_ID"), "sort" => "ID", "align" => "right", "default" => true), array("id" => "NAME", "content" => GetMessage("IBP_ADM_NAME"), "sort" => "NAME", "default" => true), array("id" => "CODE", "content" => GetMessage("IBP_ADM_CODE"), "sort" => "CODE", "default" => true), array("id" => "PROPERTY_TYPE", "content" => GetMessage("IBP_ADM_PROPERTY_TYPE"), "sort" => "PROPERTY_TYPE", "default" => true), array("id" => "SORT", "content" => GetMessage("IBP_ADM_SORT"), "sort" => "SORT", "align" => "right", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("IBP_ADM_ACTIVE"), "sort" => "ACTIVE", "align" => "center", "default" => true), array("id" => "IS_REQUIRED", "content" => GetMessage("IBP_ADM_IS_REQUIRED"), "sort" => "IS_REQUIRED", "align" => "center", "default" => true), array("id" => "MULTIPLE", "content" => GetMessage("IBP_ADM_MULTIPLE"), "sort" => "MULTIPLE", "align" => "center", "default" => true), array("id" => "SEARCHABLE", "content" => GetMessage("IBP_ADM_SEARCHABLE"), "sort" => "SEARCHABLE", "align" => "center", "default" => true), array("id" => "FILTRABLE", "content" => GetMessage("IBP_ADM_FILTRABLE"), "sort" => "FILTRABLE", "align" => "center"), array("id" => "XML_ID", "content" => GetMessage("IBP_ADM_XML_ID"), "sort" => "XML_ID"), array("id" => "WITH_DESCRIPTION", "content" => GetMessage("IBP_ADM_WITH_DESCRIPTION"), "sort" => "WITH_DESCRIPTION", "align" => "center"), array("id" => "HINT", "content" => GetMessage("IBP_ADM_HINT"))); $arPropType = array(Iblock\PropertyTable::TYPE_STRING => GetMessage("IBLOCK_PROP_S"), Iblock\PropertyTable::TYPE_NUMBER => GetMessage("IBLOCK_PROP_N"), Iblock\PropertyTable::TYPE_LIST => GetMessage("IBLOCK_PROP_L"), Iblock\PropertyTable::TYPE_FILE => GetMessage("IBLOCK_PROP_F"), Iblock\PropertyTable::TYPE_SECTION => GetMessage("IBLOCK_PROP_G"), Iblock\PropertyTable::TYPE_ELEMENT => GetMessage("IBLOCK_PROP_E")); $arUserTypeList = CIBlockProperty::GetUserType(); Main\Type\Collection::sortByColumn($arUserTypeList, array('DESCRIPTION' => SORT_STRING)); foreach ($arUserTypeList as $arUserType) { $arPropType[$arUserType["PROPERTY_TYPE"] . ":" . $arUserType["USER_TYPE"]] = $arUserType["DESCRIPTION"]; } $lAdmin->AddHeaders($arHeader); $selectFields = array_fill_keys($lAdmin->GetVisibleHeaderColumns(), true); $selectFields['ID'] = true; $selectFieldsMap = array_fill_keys(array_keys($arHeader), false); $selectFieldsMap = array_merge($selectFieldsMap, $selectFields); if (!isset($by)) { $by = 'SORT'; } if (!isset($order)) { $order = 'ASC'; } $propertyOrder = array(); if ($by == 'PROPERTY_TYPE') { $propertyOrder = array('PROPERTY_TYPE' => $order, 'USER_TYPE' => $order); } else { $propertyOrder = array(strtoupper($by) => strtoupper($order)); }
} } unset($ids, $errors, $action, $status, $taskId, $userId); } } if ($actionErrorMessage) { $lAdmin->BeginPrologContent(); CAdminMessage::ShowMessage($actionErrorMessage); $lAdmin->EndPrologContent(); } $arAddHeaders = array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "DOCUMENT_NAME", "content" => GetMessage("BPATL_DOCUMENT_NAME"), "default" => false, "sort" => "DOCUMENT_NAME"), array("id" => "NAME", "content" => GetMessage("BPATL_NAME"), "sort" => "NAME", "default" => true), array("id" => "DESCRIPTION", "content" => GetMessage("BPATL_DESCR"), "default" => true, "sort" => "DESCRIPTION"), array("id" => "DESCRIPTION_FULL", "content" => GetMessage("BPATL_DESCR_FULL"), "default" => false, "sort" => "DESCRIPTION"), array("id" => "MODIFIED", "content" => GetMessage("BPATL_MODIFIED"), "sort" => "MODIFIED", "default" => true), array("id" => "OVERDUE_DATE", "content" => GetMessage("BPATL_OVERDUE_DATE"), "default" => false, "sort" => "OVERDUE_DATE"), array("id" => "WORKFLOW_STARTED", "content" => GetMessage("BPATL_STARTED"), "default" => false, "sort" => "WORKFLOW_STARTED"), array("id" => "WORKFLOW_STARTED_BY", "content" => GetMessage("BPATL_STARTED_BY"), "default" => false, "sort" => "WORKFLOW_STARTED_BY"), array("id" => "WORKFLOW_NAME", "content" => GetMessage("BPATL_WORKFLOW_NAME"), "default" => true, "sort" => "WORKFLOW_TEMPLATE_NAME"), array("id" => "WORKFLOW_STATE", "content" => GetMessage("BPATL_WORKFLOW_STATE"), "default" => true, "sort" => "WORKFLOW_STATE")); if ($allowAdminAccess) { $arAddHeaders[] = array("id" => "USER", "content" => GetMessage("BPATL_USER"), "default" => true, "sort" => "USER_ID"); } $lAdmin->AddHeaders($arAddHeaders); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); $arSelectFields = array("ID", "WORKFLOW_ID", "ACTIVITY", "ACTIVITY_NAME", "MODIFIED", "OVERDUE_DATE", "NAME", "DESCRIPTION", "PARAMETERS", 'DOCUMENT_NAME', 'WORKFLOW_STARTED', 'WORKFLOW_STARTED_BY', 'OVERDUE_DATE', 'WORKFLOW_TEMPLATE_NAME', 'WORKFLOW_STATE'); if (in_array("USER", $arVisibleColumns) && $allowAdminAccess) { $arSelectFields[] = "USER_ID"; } $dbResultList = CBPTaskService::GetList(array($by => $order), $arFilter, false, false, $arSelectFields); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("BPATL_NAV"))); while ($arResultItem = $dbResultList->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID . '_' . $f_USER_ID, $arResultItem); $s = $allowAdminAccess ? "&uid=" . intval($arResultItem["USER_ID"]) : ""; $row->AddField("ID", '<a href="bizproc_task.php?id=' . $f_ID . $s . '&back_url=' . urlencode($APPLICATION->GetCurPageParam("lang=" . LANGUAGE_ID, array("lang"))) . '" title="' . GetMessage("BPATL_VIEW") . '">' . $f_ID . '</a>'); $row->AddField("NAME", $f_NAME); $description = $f_DESCRIPTION; if (strlen($description) > 100) {
/** * Основной цикл отображения списка. Этапы: * <ul> * <li> Вывод заголовков страницы </li> * <li> Определение списка видимых колонок и колонок, участвующих в выборке. </li> * <li> Создание виджета для каждого поля выборки </li> * <li> Модификация параметров запроса каждым из виджетов </li> * <li> Выборка данных </li> * <li> Вывод строк таблицы. Во время итерации по строкам возможна модификация данных строки. </li> * <li> Отрисовка футера таблиы, добавление контекстного меню </li> * </ul> * * @param array $sort Настройки сортировки. * * @see AdminListHelper::getList(); * @see AdminListHelper::modifyRowData(); * @see AdminListHelper::addRowCell(); * @see AdminListHelper::addRow(); * @see HelperWidget::changeGetListOptions(); */ public function getData($sort) { $this->setContext(AdminListHelper::OP_GET_DATA_BEFORE); $this->list->AddHeaders($this->arHeader); $visibleColumns = $this->list->GetVisibleHeaderColumns(); $className = static::getModel(); $visibleColumns[] = static::pk(); $raw = array('SELECT' => $visibleColumns, 'FILTER' => $this->arFilter, 'SORT' => $sort); foreach ($this->fields as $name => $settings) { if (isset($settings['VIRTUAL']) and $settings['VIRTUAL'] == true) { $key = array_search($name, $visibleColumns); unset($visibleColumns[$key]); unset($this->arFilter[$name]); unset($sort[$name]); } if (isset($settings['FORCE_SELECT']) and $settings['FORCE_SELECT'] == true) { $visibleColumns[] = $name; } } $visibleColumns = array_unique($visibleColumns); // Поля для селекта (перевернутый массив) $listSelect = array_flip($visibleColumns); foreach ($this->fields as $code => $settings) { $widget = $this->createWidgetForField($code); $widget->changeGetListOptions($this->arFilter, $visibleColumns, $sort, $raw); // Множественные поля не должны быть в селекте if (!empty($settings['MULTIPLE'])) { unset($listSelect[$code]); } } // Поля для селекта (множественные поля отфильтрованы) $listSelect = array_flip($listSelect); $res = $this->getList($className, $this->arFilter, $listSelect, $sort, $raw); $res = new \CAdminResult($res, $this->getListTableID()); $res->NavStart(); $this->list->NavText($res->GetNavPrint(Loc::getMessage("PAGES"))); while ($data = $res->NavNext(false)) { $this->modifyRowData($data); list($link, $name) = $this->addRow($data); $row = $this->list->AddRow($data[$this->pk()], $data, $link, $name); foreach ($this->fields as $code => $settings) { $this->addRowCell($row, $code, $data); } $actions = $this->addRowActions($data); $row->AddActions($actions); } $this->addFooter($res); $this->list->AddFooter($this->footer); $this->list->AddGroupActionTable($this->groupActionsList, $this->groupActionsParams); $this->list->AddAdminContextMenu($this->contextMenu); $this->list->BeginPrologContent(); echo $this->prologHtml; $this->list->EndPrologContent(); $this->list->BeginEpilogContent(); echo $this->epilogHtml; $this->list->EndEpilogContent(); $this->list->CheckListMode(); }