Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/webdebug.antirutin/admin/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/webdebug.antirutin/admin/wda_profiles.php

<?
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/webdebug.antirutin/prolog.php");
CModule::IncludeModule('webdebug.antirutin');
IncludeModuleLangFile(__FILE__);
$arModuleActions = CWDA::GetActionsList();
$arIBlocks = array();
if(CModule::IncludeModule('iblock')) {
	$resIBlocks = CIBlock::GetList();
	while($arIBlock = $resIBlocks->GetNext(false,false)) {
		$arIBlocks[$arIBlock['ID']] = $arIBlock;
	}
}

$sTableID = "WdaProfiles";
$oSort = new CAdminSorting($sTableID, "SORT", "ASC");
$lAdmin = new CAdminList($sTableID, $oSort);

// Filter
function CheckFilter() {
	global $FilterArr, $lAdmin;
	foreach ($FilterArr as $f) global $f;
	return count($lAdmin->arFilterErrors)==0;
}
$FilterArr = Array(
	"find_id",
	"find_name",
	"find_description",
	"find_send_email",
	"find_iblock_id",
	"find_action",
);
$lAdmin->InitFilter($FilterArr);
if (CheckFilter()) {
	$arFilter = Array(
		"ID" => $find_id,
		"%NAME" => $find_name,
		"%DESCRIPTION" => $find_description,
		"SEND_EMAIL" => $find_send_email,
		"IBLOCK_ID" => $find_iblock_id,
		"=ACTION" => $find_action,
	);
}

// Processing with actions
if($lAdmin->EditAction()) {
	foreach($FIELDS as $ID=>$arFields) {
		if(!$lAdmin->IsUpdated($ID)) continue;
		$DB->StartTransaction();
		$ID = IntVal($ID);
		if(($rsData = CWDA_Profile::GetByID($ID)) && ($arData = $rsData->Fetch())) {
			foreach($arFields as $key=>$value) $arData[$key]=$value;
			if(!CWDA_Profile::Update($ID, $arData)) {
				$lAdmin->AddGroupError(GetMessage("rub_save_error"), $ID);
				$DB->Rollback();
			}
		} else {
			$lAdmin->AddGroupError(GetMessage("rub_save_error")." ".GetMessage("rub_no_rubric"), $ID);
			$DB->Rollback();
		}
		$DB->Commit();
	}
}
if(($arID = $lAdmin->GroupAction())) {
  if($_REQUEST['action_target']=='selected') {
    $rsData = CWDA_Profile::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(!CWDA_Profile::Delete($ID)) {
					$DB->Rollback();
					$lAdmin->AddGroupError(GetMessage("rub_del_err"), $ID);
				}
				$DB->Commit();
				break;
    }
  }
}

// Get items list
$rsData = CWDA_Profile::GetList(array($by => $order), $arFilter);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("rub_nav")));

// Add headers
$lAdmin->AddHeaders(array(
  array(
	  "id" => "ID",
    "content" => GetMessage("WDA_PROFILES_HEADER_ID"),
    "sort" => "ID",
    "align" => "right",
    "default" => true,
  ),
  array(
	  "id" => "NAME",
    "content" => GetMessage("WDA_PROFILES_HEADER_NAME"),
    "sort" => "NAME",
		"align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "DESCRIPTION",
    "content" => GetMessage("WDA_PROFILES_HEADER_DESCRIPTION"),
    "sort" => "DESCRIPTION",
		"align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "SORT",
    "content" => GetMessage("WDA_PROFILES_HEADER_SORT"),
    "sort" => "SORT",
    "align" => "right",
    "default" => true,
  ),
  array(
	  "id" => "SEND_EMAIL",
    "content" => GetMessage("WDA_PROFILES_HEADER_SEND_EMAIL"),
    "sort" => "SEND_EMAIL",
    "align" => "center",
    "default" => true,
  ),
  array(
	  "id" => "IBLOCK_ID",
    "content" => GetMessage("WDA_PROFILES_HEADER_IBLOCK_ID"),
    "sort" => "IBLOCK_ID",
		"align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "SECTIONS_ID",
    "content" => GetMessage("WDA_PROFILES_HEADER_SECTIONS_ID"),
    "sort" => "SECTIONS_ID",
		"align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "WITH_SUBSECTIONS",
    "content" => GetMessage("WDA_PROFILES_HEADER_WITH_SUBSECTIONS"),
    "sort" => "WITH_SUBSECTIONS",
		"align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "FILTER",
    "content" => GetMessage("WDA_PROFILES_HEADER_FILTER"),
    "sort" => "FILTER",
		"align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "ACTION",
    "content" => GetMessage("WDA_PROFILES_HEADER_ACTION"),
    "sort" => "ACTION",
    "align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "DATE_CREATED",
    "content" => GetMessage("WDA_PROFILES_HEADER_DATE_CREATED"),
    "sort" => "DATE_CREATED",
		"align" => "left",
    "default" => true,
  ),
  array(
	  "id" => "DATE_SUCCESS",
    "content" => GetMessage("WDA_PROFILES_HEADER_DATE_SUCCESS"),
    "sort" => "DATE_SUCCESS",
		"align" => "left",
    "default" => true,
  ),
));

// Build items list
while ($arRes = $rsData->NavNext(true, "f_")) {
  $row = &$lAdmin->AddRow($f_ID, $arRes); 
	// ID
	$row->AddViewField("ID", $f_ID);
  // NAME
  $row->AddInputField("NAME", array("SIZE" => "30"));
	$row->AddViewField("NAME", '<div style="min-width:150px;">'.$f_NAME.'</div>');
	// DESCRIPTION
	$sHTML = '<textarea rows="2" cols="30" name="FIELDS['.$f_ID.'][DESCRIPTION]">'.htmlspecialcharsbx($f_DESCRIPTION).'</textarea>';
	$row->AddEditField("DESCRIPTION", $sHTML);
	$row->AddViewField("DESCRIPTION", '<div style="min-width:150px;">'.$f_DESCRIPTION.'</div>');
  // SORT
  $row->AddInputField("SORT", array("SIZE"=>5));
	// SEND_EMAIL
	$row->AddCheckField("SEND_EMAIL", $f_SEND_EMAIL);
	// IBLOCK_ID
	$strIBlock = $f_IBLOCK_ID;
	if($f_IBLOCK_ID>0 && is_array($arIBlocks[$f_IBLOCK_ID])) {
		$strIBlock = '<a href="/bitrix/admin/iblock_list_admin.php?IBLOCK_ID='.$f_IBLOCK_ID.'&type='.$arIBlocks[$f_IBLOCK_ID]['IBLOCK_TYPE_ID'].'&lang='.LANGUAGE_ID.'&find_section_section=0">['.$f_IBLOCK_ID.'] '.$arIBlocks[$f_IBLOCK_ID]['NAME'];
	}
	$row->AddViewField("IBLOCK_ID", $strIBlock);
	// SECTIONS_ID
	if(empty($f_SECTIONS_ID)) {
		$f_SECTIONS_ID = GetMessage('WDA_PROFILES_HEADER_SECTIONS_ID_ALL');
	} else {
		$f_SECTIONS_ID = str_replace(',',', ',$f_SECTIONS_ID);
	}
	if(strlen($f_SECTIONS_ID)>100) {
		$f_SECTIONS_ID = substr($f_SECTIONS_ID,0,100).'...';
	}
	$row->AddViewField("SECTIONS_ID", $f_SECTIONS_ID);
  // WITH_SUBSECTIONS
  $row->AddViewField("WITH_SUBSECTIONS", $f_WITH_SUBSECTIONS=='Y'?GetMessage('WDA_PROFILES_HEADER_WITH_SUBSECTIONS_Y'):GetMessage('WDA_PROFILES_HEADER_WITH_SUBSECTIONS_N'));
	// FILTER
	parse_str($f_FILTER,$arValues);
	$arProfileFilter = array();
	if(is_array($arValues['f_p1'])) {
		foreach($arValues['f_p1'] as $Index => $Value){
			$arProfileFilter[] = '<li style="margin-bottom:4px;"><b>'.$Value.'</b> '.$arValues['f_e1'][$Index].' <b>'.$arValues['f_v1'][$Index].'</b></li>';
		}
		$f_FILTER = '<ul style="margin:0;min-width:200px;padding:0 0 0 20px;">'.implode('',$arProfileFilter).'</ul>';
	}
	$row->AddViewField("FILTER", $f_FILTER);
	// ACTION
	$strAction = $f_ACTION;
	foreach($arModuleActions as $arModuleAction){
		if($arModuleAction['CODE']==$strAction) {
			$strAction = $arModuleAction['NAME'];
			break;
		}
	}
	$row->AddViewField("ACTION", '<div style="min-width:150px;">'.$strAction.'</div>');
	// DATE_CREATED
	$row->AddViewField("DATE_CREATED", $f_DATE_CREATED);
	// DATE_SUCCESS
	$row->AddViewField("DATE_SUCCESS", $f_DATE_SUCCESS);
	// Build context menu
  $arActions = Array();
	$arActions[] = array(
		"ICON" => "delete",
		"DEFAULT" => false,
		"TEXT" => GetMessage("WDA_PROFILES_CONTEXT_DELETE"),
		"ACTION" => "if(confirm('".sprintf(GetMessage('WDA_PROFILES_CONTEXT_DELETE_CONFIRM'), $f_NAME)."')) ".$lAdmin->ActionDoGroup($f_ID, "delete")
	);
	$Command = CWDA::GetCronCommand($f_ID);
	if($Command!==false) {
		$arActions[] = array(
			"SEPARATOR" => true
		);
		$arActions[] = array(
			"ICON" => "edit",
			"DEFAULT" => false,
			"TEXT" => GetMessage("WDA_PROFILES_CONTEXT_GET_COMMAND"),
			"ACTION" => 'prompt("'.GetMessage('WDA_PROFILES_CONTEXT_GET_COMMAND_TITLE').'","'.$Command.'");'
		);
	}
  $row->AddActions($arActions);
}

// List Footer
$lAdmin->AddFooter(
  array(
    array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value"=>$rsData->SelectedRowsCount()),
    array("counter"=>true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0"),
  )
);
$lAdmin->AddGroupActionTable(Array(
  "delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"),
  "activate" => GetMessage("MAIN_ADMIN_LIST_ACTIVATE"),
  "deactivate" => GetMessage("MAIN_ADMIN_LIST_DEACTIVATE"),
));

// Start output
$lAdmin->CheckListMode();
$APPLICATION->SetTitle(GetMessage("WDA_PROFILES_PAGE_TITLE"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");

// Output filter
$oFilter = new CAdminFilter(
  $sTableID."_filter",
  array(
		GetMessage("WDA_PROFILES_FILTER_NAME"),
		GetMessage("WDA_PROFILES_FILTER_DESCRIPTION"),
		GetMessage("WDA_PROFILES_FILTER_SEND_EMAIL"),
		GetMessage("WDA_PROFILES_FILTER_IBLOCK_ID"),
		GetMessage("WDA_PROFILES_FILTER_ACTION"),
  )
);
?>

<form name="find_form" method="get" action="<?=$APPLICATION->GetCurPage();?>">
	<?$oFilter->Begin();?>
	<tr>
		<td><b><?=GetMessage("WDA_PROFILES_FILTER_ID")?>:</b></td>
		<td>
			<input type="text" size="25" name="find_id" value="<?=htmlspecialchars($find_id)?>" title="<?=GetMessage("WEBDEBUG_SMS_FILTER_ID_DESCR");?>"/>
		</td>
	</tr>
	<tr>
		<td><?=GetMessage("WDA_PROFILES_FILTER_NAME")?>:</td>
		<td><input type="text" size="50" maxlength="255" name="find_name" value="<?=htmlspecialchars($find_name)?>" title="<?=GetMessage("WEBDEBUG_SMS_FILTER_NAME_DESCR");?>"/></td>
	</tr>
	<tr>
		<td><?=GetMessage("WDA_PROFILES_FILTER_DESCRIPTION")?>:</td>
		<td><input type="text" size="50" maxlength="255" name="find_description" value="<?=htmlspecialchars($find_description)?>" title="<?=GetMessage("WEBDEBUG_SMS_FILTER_DESCRIPTION_DESCR");?>"/></td>
	</tr>
	<tr>
		<td><?=GetMessage("WDA_PROFILES_FILTER_SEND_EMAIL")?>:</td>
		<td>
			<select name="find_send_email">
				<option value=""><?=GetMessage('MAIN_ALL');?></option>
				<option value="Y"><?=GetMessage('MAIN_YES');?></option>
				<option value="N"><?=GetMessage('MAIN_NO');?></option>
			</select>
		</td>
	</tr>
	<tr>
		<td><?=GetMessage("WDA_PROFILES_FILTER_IBLOCK_ID")?>:</td>
		<td>
			<?$arIBlocks = CWDA::GetIBlockList(true, false);?>
			<select name="find_iblock_id">
				<option value=""><?=GetMessage('MAIN_ALL');?></option>
				<?foreach($arIBlocks as $IBlockTypeCode => $arIBlockType):?>
					<?if(is_array($arIBlockType['ITEMS'])&&!empty($arIBlockType['ITEMS'])):?>
						<optgroup label="<?=$arIBlockType['NAME'];?>">
							<?foreach($arIBlockType['ITEMS'] as $arItem):?>
								<option value="<?=$arItem['ID'];?>">[<?=$arItem['ID'];?>] [<?=$arItem['CODE'];?>] <?=$arItem['NAME'];?></option>
							<?endforeach?>
						</optgroup>
					<?endif?>
				<?endforeach?>
			</select>
		</td>
	</tr>
	<tr>
		<td><?=GetMessage("WDA_PROFILES_FILTER_ACTION")?>:</td>
		<td>
			<select name="find_action">
				<option value=""><?=GetMessage('MAIN_ALL');?></option>
				<?foreach ($arModuleActions as $arModuleAction):?>
					<option value="<?=$arModuleAction['CODE'];?>"><?=$arModuleAction['NAME']?></option>
				<?endforeach?>
			</select>
		</td>
	</tr>
	<?$oFilter->Buttons(array("table_id"=>$sTableID,"url"=>$APPLICATION->GetCurPage(),"form" => "find_form"));?>
	<?$oFilter->End();?>
</form>

<?// Output ?>
<?$lAdmin->DisplayList();?>

<?
if(!CWDA::WdaCheckCli()) {
	CAdminMessage::ShowMessage(array(
		"MESSAGE" => GetMessage("WDA_CLI_CHECK_TITLE"),
		"DETAILS" => GetMessage("WDA_CLI_CHECK_CONTENT"),
		"HTML" => true,
	)); 
}
?>

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");?>