Your IP : 18.116.23.149


Current Path : /home/bitrix/ext_www/ballu.in.ua/bitrix/components/bitrix/iblock.wizard/
Upload File :
Current File : /home/bitrix/ext_www/ballu.in.ua/bitrix/components/bitrix/iblock.wizard/component.php

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

if(!isset($arParams['NEXT_URL']))
	$arParams['NEXT_URL'] = 'ticket_edit.php';

if(!isset($arParams["CACHE_TIME"]))
	$arParams["CACHE_TIME"] = 3600;

$arParams["IBLOCK_ID"] = trim($arParams["IBLOCK_ID"]);

if (!CModule::IncludeModule('iblock'))
{
	ShowError(GetMessage("WZ_ERR_NOIBLOCK"));
	return;
}

$arResult = array();

$SECTION_ID = intval($_POST['SECTION_ID']);
$CURRENT_STEP = intval($_POST['CURRENT_STEP']);

if ($CURRENT_STEP < 1)
	$CURRENT_STEP = 1;

if($_POST['back_x'] || $_POST['back'])
{
	$CURRENT_STEP--;

	$rs = CIBlockSection::GetById($_POST['LAST_SECTION_ID']);
	$f=$rs->Fetch();
	$SECTION_ID = intval($f['IBLOCK_SECTION_ID']);
}
elseif ($SECTION_ID)
	$CURRENT_STEP++;
else
{
	if ($_POST['next_x'] || $_POST['next'])
		$arResult['ERROR'] = GetMessage("WZ_ERR_NOSECTION");

	$SECTION_ID = intval($_POST['LAST_SECTION_ID']);
}

$arResult['CURRENT_STEP'] = $CURRENT_STEP;
$arResult['LAST_SECTION_ID'] = $arResult['SECTION_ID']	= $SECTION_ID;

$arSteps = array('',GetMessage("WZ_S1"),GetMessage("WZ_S2"),GetMessage("WZ_S3"), GetMessage("WZ_S4"), GetMessage("WZ_S5"), GetMessage("WZ_S6"), GetMessage("WZ_S7"));
$arResult['CURRENT_STEP_TEXT'] = $arSteps[$CURRENT_STEP];

if ($CURRENT_STEP > 1 && is_array($_POST['wizard']))
{
	foreach($_POST['wizard'] as $k=>$v)
	{
		if (is_array($v))
		{
			foreach($v as $k1=>$v1)
				if (trim($v1))
					$arHidden[$k][$k1] = htmlspecialchars($v1);
		}
		elseif (trim($v))
			$arHidden[$k] = htmlspecialchars($v);
	}
}

// NavChain 
if ($CURRENT_STEP > 1 && $arParams['INCLUDE_IBLOCK_INTO_CHAIN']=='Y')
{
	$rs = CIBlockSection::GetNavChain($IBLOCK_ID, $SECTION_ID);
	while($f = $rs->Fetch())
		$APPLICATION->AddChainItem($f['NAME']);
}

// Step decription
if ($CURRENT_STEP==1)
	$rs = CIBlock::GetById($arParams['IBLOCK_ID']);
else
	$rs = CIBlockSection::GetById($SECTION_ID);

if ($f = $rs->GetNext())
	$arResult['TOP_MESSAGE'] = $f['DESCRIPTION'];


// Sections
$arResult['SECTIONS'] = array();
$arFilter = array(
	'IBLOCK_ID' => $arParams['IBLOCK_ID'],
	'DEPTH_LEVEL' => $CURRENT_STEP,
	'ACTIVE' => 'Y'
);

if ($SECTION_ID)
	$arFilter['SECTION_ID'] = $SECTION_ID;

$rs = CIBlockSection::GetList(array('sort'=>'asc'),$arFilter);
while($f = $rs->GetNext())
	$arResult['SECTIONS'][] = $f;


// Elements
$arResult['FIELDS'] = array();
$arFilter = array(
	'IBLOCK_ID'=>$arParams['IBLOCK_ID'],
	'SECTION_ID'=>$SECTION_ID
);
if (!$USER->IsAdmin())
	$arFilter['ACTIVE'] = 'Y';

$arSelect = array('*');

$rs = CIBlockElement::GetList(array('sort'=>'asc'),$arFilter,false,false,$arSelect);
while($el=$rs->GetNextElement())
{
	$arField = $el->GetFields();

	$arField['FIELD_ID'] = 'wizard_field_'.$arField['ID'];
	$arField['FIELD_VALUE'] = $arHidden[$arField['FIELD_ID']];
	unset($arHidden[$arField['FIELD_ID']]);

	if ($arParams['PROPERTY_FIELD_TYPE'])
	{
		$prop = $el->GetProperties();
		$type = $prop[$arParams['PROPERTY_FIELD_TYPE']]['CODE'];
		if ($type)
		{
			$arField['FIELD_TYPE'] = $prop[$type]['VALUE_XML_ID'];
			$arField['FIELD_VALUES'] = $prop[$arParams['PROPERTY_FIELD_VALUES']]['VALUE'];
		}
//			$arField['PROPERTIES'] = $prop;
//			echo '<pre>';print_r($arField);echo '</pre>';
	}

	$arResult['FIELDS'][] = $arField;
}
$arResult['HIDDEN'] = $arHidden;

$this->IncludeComponentTemplate();
?>