Beispiel #1
0
if ($ID <= 0) {
    ?>
<tr>
	<td colspan="2" align="center"><?php 
    echo BeginNote(), GetMessage('FORM_CRM_NOT_SAVED'), EndNote();
    ?>
</td>
</tr>
	<?php 
} else {
    $arCRMServers = array();
    $dbRes = CFormCrm::GetList(array('NAME' => 'ASC', 'ID' => 'ASC'), array());
    while ($arServer = $dbRes->Fetch()) {
        $arCRMServers[] = $arServer;
    }
    $dbRes = CFormCrm::GetByFormID($ID);
    $bLinkCreated = false;
    if ($arFormCrmLink = $dbRes->Fetch()) {
        $bLinkCreated = true;
        $dbRes = CFormCrm::GetFields($arFormCrmLink['ID']);
        $arFormCrmFields = array();
        while ($arFld = $dbRes->Fetch()) {
            $arFormCrmFields[] = $arFld;
        }
    }
    $dbRes = CFormField::GetList($ID, 'ALL', $by, $order, array(), $is_filtered);
    $arFormFields = array();
    while ($arFld = $dbRes->Fetch()) {
        $arFormFields[] = $arFld;
    }
    if (false && !$bLinkCreated) {
Beispiel #2
0
	public static function AddLead($FORM_ID, $RESULT_ID, $arLink = null)
	{
		$FORM_ID = intval($FORM_ID);
		$RESULT_ID = intval($RESULT_ID);

		if ($FORM_ID <= 0 || $RESULT_ID <= 0)
			return false;

		if (!is_array($arLink))
		{
			$dbRes = CFormCrm::GetByFormID($FORM_ID);
			$arLink = $dbRes->Fetch();
		}

		if (!$arLink)
			return false;

		$arResultFields = array();
		$arAnswers = array();

		CFormResult::GetDataByID($RESULT_ID, array(), $arResultFields, $arAnswers);

		$ob = new CFormCrmSender($arLink['CRM_ID']);
		$arCrmF = $ob->GetFields();
		$arCrmFields = array();
		foreach ($arCrmF as $ar)
			$arCrmFields[$ar['ID']] = $ar;

		$arLeadFields = array();
		$dbRes = CFormCrm::GetFields($arLink['ID']);
		while ($arRes = $dbRes->Fetch())
		{
			if (intval($arRes['FIELD_ID']) > 0)
			{
				$bFound = false;
				foreach ($arAnswers as $sid => $arAnswer)
				{
					foreach ($arAnswer as $answer_id => $arAns)
					{
						if ($arAns['FIELD_ID'] == $arRes['FIELD_ID'])
						{
							$bFound = true;
							if ($arCrmFields[$arRes['CRM_FIELD']])
							{
								switch ($arCrmFields[$arRes['CRM_FIELD']]['TYPE'])
								{
									case 'enum':
									{
										if ($arAns['FIELD_TYPE'] == 'dropdown' || $arAns['FIELD_TYPE'] == 'checkbox' || $arAns['FIELD_TYPE'] == 'radio' || $arAns['FIELD_TYPE'] == 'multiselect')
										{
											$arLeadFields[$arRes['CRM_FIELD']] = $arAns['VALUE'];
										}
										else
										{
											$arLeadFields[$arRes['CRM_FIELD']] = $arAns['ANSWER_TEXT'];
										}
									}
									break;
									case 'boolean':
										$arLeadFields[$arRes['CRM_FIELD']] = 'Y';
									break;
									default:
										$arLeadFields[$arRes['CRM_FIELD']] = (strlen($arAns['USER_TEXT']) > 0
											? $arAns['USER_TEXT']
											: (
												strlen($arAns['ANSWER_TEXT']) > 0
												? $arAns['ANSWER_TEXT']
												: $arAns['VALUE']
											)
										);
								}
							}
						}
					}
				}

				if (!$bFound && $arCrmFields[$arRes['CRM_FIELD']] && $arCrmFields[$arRes['CRM_FIELD']]['TYPE'] == 'boolean')
				{
					$arLeadFields[$arRes['CRM_FIELD']] = 'N';
				}
			}
			elseif (strlen($arRes['FIELD_ALT']) > 0)
			{
				switch($arRes['FIELD_ALT'])
				{
					case 'RESULT_ID':
						$arLeadFields[$arRes['CRM_FIELD']] = $arResultFields['ID'];
					break;
					case 'FORM_SID':
						$arLeadFields[$arRes['CRM_FIELD']] = $arResultFields['SID'];
					break;
					case 'FORM_NAME':
						$arLeadFields[$arRes['CRM_FIELD']] = $arResultFields['NAME'];
					break;
					case 'SITE_ID':
						$arLeadFields[$arRes['CRM_FIELD']] = SITE_ID;
					break;
					case 'FORM_ALL':
						$arLeadFields[$arRes['CRM_FIELD']] = self::_getAllFormFields($FORM_ID, $RESULT_ID, $arAnswers);
					break;
					case 'FORM_ALL_HTML':
						$arLeadFields[$arRes['CRM_FIELD']] = self::_getAllFormFieldsHTML($FORM_ID, $RESULT_ID, $arAnswers);
					break;
				}
			}
		}

		$result = $ob->AddLead($arLeadFields);
		if ($result->code() != 201)
		{
			$GLOBALS['APPLICATION']->ThrowException($result->error(), $result->code());
			return false;
		}
		else
		{
			CFormResult::SetCRMFlag($RESULT_ID, 'Y');
			return $result->field('ID');
		}
	}
if (false === $arForm) {
    define('BX_ADMIN_FORM_MENU_OPEN', 1);
    if ($_REQUEST["mode"] == "list") {
        require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_js.php";
    } else {
        require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
    }
    $adminPage->ShowSectionIndex("menu_webforms_list", "form");
    if ($_REQUEST["mode"] == "list") {
        require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin_js.php";
    } else {
        require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
    }
    die;
} else {
    $dbRes = CFormCrm::GetByFormID($WEB_FORM_ID);
    $arFormCrmLink = $dbRes->Fetch();
}
$HELP_FILE_ACCESS = $APPLICATION->GetFileAccessPermission("/bitrix/modules/form/help/" . LANGUAGE_ID . "/index.php");
$FORM_RIGHT = $APPLICATION->GetGroupRight("form");
$MAIN_RIGHT = $APPLICATION->GetGroupRight("main");
$WEB_FORM_NAME = $arForm["SID"];
##########
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/form/include.php";
IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/form/admin/form_result_list.php");
$err_mess = "File: " . __FILE__ . "<br>Line: ";
/***************************************************************************
								Utility
***************************************************************************/
function CheckFilter()
{