%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/controller/admin/ |
Current File : //home/bitrix/www/bitrix/modules/controller/admin/controller_counter_admin.php |
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); /** @global CMain $APPLICATION */ /** @global CDatabase $DB */ /** @global CUser $USER */ if (!$USER->CanDoOperation("controller_counters_view") || !CModule::IncludeModule("controller")) { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/controller/prolog.php"); IncludeModuleLangFile(__FILE__); $sTableID = "t_controller_counter"; $oSort = new CAdminSorting($sTableID, "id", "desc"); /** @global string $by */ /** @global string $order */ $lAdmin = new CAdminList($sTableID, $oSort); $arFilterRows = array(); $arGroups = array(); $dbr_groups = CControllerGroup::GetList(array("SORT" => "ASC", "NAME" => "ASC", "ID" => "ASC")); while ($ar_groups = $dbr_groups->Fetch()) $arGroups[$ar_groups["ID"]] = $ar_groups["NAME"]; $filter = new CAdminFilter( $sTableID."_filter_id", $arFilterRows ); $arFilterFields = array( "find_controller_group_id", ); $adminFilter = $lAdmin->InitFilter($arFilterFields); if ($adminFilter["find_controller_group_id"]) $arFilter = array("=CONTROLLER_GROUP_ID" => $adminFilter["find_controller_group_id"]); else $arFilter = array(); if ($USER->CanDoOperation("controller_counters_manage") && $lAdmin->EditAction()) { foreach ($_POST['FIELDS'] as $ID => $arFields) { $ID = intval($ID); if (!$lAdmin->IsUpdated($ID)) continue; $DB->StartTransaction(); if (!CControllerCounter::Update($ID, $arFields)) { $e = $APPLICATION->GetException(); $lAdmin->AddUpdateError(GetMessage("CTRL_CNT_ADMIN_UPDATE_ERROR", array("#ID#" => $ID, "#ERROR#" => $e->GetString())), $ID); $DB->Rollback(); } $DB->Commit(); } } if ($USER->CanDoOperation("controller_counters_manage") && $arID = $lAdmin->GroupAction()) { if ($_REQUEST['action_target'] == 'selected') { $rsData = CControllerCounter::GetList(array($by => $order), $arFilter); while ($arRes = $rsData->Fetch()) $arID[] = $arRes['ID']; } foreach ($arID as $ID) { if (strlen($ID) <= 0) continue; $ID = intval($ID); switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CControllerCounter::Delete($ID)) { $e = $APPLICATION->GetException(); $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("CTRL_CNT_ADMIN_DELETE_ERROR", array("#ID#" => $ID, "#ERROR#" => $e->GetString())), $ID); } $DB->Commit(); break; } } } $rsData = CControllerCounter::GetList(Array($by => $order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("CTRL_CNT_ADMIN_NAV"))); $arHeaders = array( array( "id" => "ID", "content" => GetMessage("CTRL_CNT_ADMIN_ID"), "default" => true, "sort" => "id", ), array( "id" => "NAME", "content" => GetMessage("CTRL_CNT_ADMIN_NAME"), "default" => true, "sort" => "name", ), array( "id" => "COUNTER_TYPE", "content" => GetMessage("CTRL_CNT_ADMIN_COUNTER_TYPE"), "default" => true, ), array( "id" => "COUNTER_FORMAT", "content" => GetMessage("CTRL_CNT_ADMIN_COUNTER_FORMAT"), "default" => true, ), array( "id" => "COMMAND", "content" => GetMessage("CTRL_CNT_ADMIN_COMMAND"), "default" => true, ), ); $lAdmin->AddHeaders($arHeaders); while ($arRes = $rsData->Fetch()) { $row = $lAdmin->AddRow($arRes["ID"], $arRes); $row->AddInputField("NAME", array("size" => "35")); $htmlLink = 'controller_counter_edit.php?ID='.urlencode($arRes['ID']).'&lang='.LANGUAGE_ID; $row->AddViewField("NAME", '<a href="'.htmlspecialcharsbx($htmlLink).'">'.htmlspecialcharsEx($arRes['NAME']).'</a>'); $row->AddSelectField("COUNTER_TYPE", CControllerCounter::GetTypeArray()); $row->AddSelectField("COUNTER_FORMAT", CControllerCounter::GetFormatArray()); $row->AddViewField("COMMAND", "<pre>".htmlspecialcharsEx($arRes["COMMAND"])."</pre>"); $row->AddEditField("COMMAND", "<textarea cols=\"80\" rows=\"15\" name=\"".htmlspecialcharsEx("FIELDS[".$arRes["ID"]."][COMMAND]")."\">".htmlspecialcharsbx($arRes["COMMAND"])."</textarea>"); if ($USER->CanDoOperation("controller_counters_manage")) { $arActions = array( array( "ICON" => "edit", "DEFAULT" => "Y", "TEXT" => GetMessage("CTRL_CNT_ADMIN_MENU_EDIT"), "ACTION" => $lAdmin->ActionRedirect("controller_counter_edit.php?ID=".urlencode($arRes["ID"])."&lang=".LANGUAGE_ID), ), array("SEPARATOR" => true), array( "ICON" => "delete", "TEXT" => GetMessage("CTRL_CNT_ADMIN_MENU_DELETE"), "ACTION" => "if(confirm('".GetMessage("CTRL_CNT_ADMIN_MENU_DELETE_ALERT")."')) ".$lAdmin->ActionDoGroup($arRes["ID"], "delete"), ), ); $row->AddActions($arActions); } } $lAdmin->AddFooter( array( array( "title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount(), ), array( "counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => 0, ), ) ); if ($USER->CanDoOperation("controller_counters_manage")) { $lAdmin->AddGroupActionTable(Array( "delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"), ) ); $aContext = array( array( "ICON" => "btn_new", "TEXT" => GetMessage("MAIN_ADD"), "LINK" => "controller_counter_edit.php?lang=".LANGUAGE_ID, "TITLE" => GetMessage("MAIN_ADD") ), ); } else { $lAdmin->bCanBeEdited = false; $aContext = array(); } $lAdmin->AddAdminContextMenu($aContext); $lAdmin->CheckListMode(); $APPLICATION->SetTitle(GetMessage("CTRL_CNT_ADMIN_TITLE")); require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php"); ?> <form name="form1" method="GET" action="<? echo $APPLICATION->GetCurPage() ?>?"> <? $filter->Begin(); ?> <tr> <td nowrap><label for="find_controller_group_id"><?=GetMessage("CTRL_CNT_ADMIN_FILTER_GROUP")?></label></td> <td> <select name="find_controller_group_id" id="find_controller_group_id"> <option value=""><? echo GetMessage("CTRL_CNT_ADMIN_FILTER_ANY") ?></option> <? foreach ($arGroups as $group_id => $group_name): ?> <option value="<?=htmlspecialcharsbx($group_id)?>" <? if ($group_id == $adminFilter['find_controller_group_id']) echo "selected" ?>><?=htmlspecialcharsEx($group_name)?></option> <? endforeach; ?> </select> </td> </tr> <? $filter->Buttons(array("table_id" => $sTableID, "url" => $APPLICATION->GetCurPage(), "form" => "form1")); $filter->End(); ?> </form> <? $lAdmin->DisplayList(); require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_admin.php");