/*
##############################################
# Bitrix: SiteManager #
# Copyright (c) 2004 - 2006 Bitrix #
# http://www.bitrix.ru #
# mailto:admin@bitrix.ru #
##############################################
*/
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/prolog.php");
$FORM_RIGHT = $APPLICATION->GetGroupRight("form");
if($FORM_RIGHT<="D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
CModule::IncludeModule('form');
ClearVars();
IncludeModuleLangFile(__FILE__);
$err_mess = "File: ".__FILE__."
Line: ";
define("HELP_FILE","form_list.php");
$old_module_version = CForm::IsOldVersion();
$bSimple = (COption::GetOptionString("form", "SIMPLE") == "Y");
$bEditTemplate = $USER->CanDoOperation('edit_php');
$aTabs = array(
array("DIV" => "edit1", "TAB" => GetMessage("FORM_PROP"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_PROP_TITLE")),
array("DIV" => "edit2", "TAB" => GetMessage("FORM_DESC"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_DESC_TITLE")),
);
if ($bEditTemplate)
$aTabs[]=array("DIV" => "edit5", "TAB" => GetMessage("FORM_VISUAL"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_TPL_MAIN"));
$aTabs[]=array("DIV" => "edit7", "TAB" => GetMessage("FORM_RESTRICTIONS"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_RESTRICTIONS_TITLE"));
if (!$bSimple)
$aTabs[]=array("DIV" => "edit3", "TAB" => GetMessage("FORM_TPL"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_TPL_TITLE"));
$aTabs[]=array("DIV" => "edit4", "TAB" => GetMessage("FORM_EVENTS"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_EVENTS_TITLE"));
$aTabs[]=array("DIV" => "editcrm", "TAB" => GetMessage("FORM_CRM"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_CRM_TITLE"));
$aTabs[]=array("DIV" => "edit6", "TAB" => GetMessage("FORM_ACCESS"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_RIGHTS"));
$tabControl = new CAdminTabControl("tabControl", $aTabs, true, true);
$message = null;
/***************************************************************************
GET | POST processing
***************************************************************************/
$ID = intval($_REQUEST['ID']);
$copy_id = intval($_REQUEST['copy_id']);
$reset_id = intval($_REQUEST['reset_id']);
$strError = '';
if ($ID > 0)
{
$F_RIGHT = CForm::GetPermission($ID);
if ($F_RIGHT<25) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
// copying
if ($copy_id > 0 && check_bitrix_sessid() && $F_RIGHT >= 30)
{
$new_id = CForm::Copy($copy_id);
if ($strError == '' && intval($new_id)>0)
{
LocalRedirect("/bitrix/admin/form_edit.php?ID=".$new_id."&lang=".LANGUAGE_ID);
}
}
// cleaning
if ($reset_id > 0 && check_bitrix_sessid() && $F_RIGHT >= 30)
{
CForm::Reset($reset_id);
LocalRedirect("/bitrix/admin/form_edit.php?ID=".$reset_id."&lang=".LANGUAGE_ID);
}
$w = CGroup::GetList("dropdown", "asc", array("ADMIN"=>"N"));
$arGroups = array();
while ($wr=$w->Fetch())
{
$arGroups[] = array(
"ID" => $wr["ID"],
"NAME" => "[".intval($wr["ID"])."] ".htmlspecialcharsbx($wr["NAME"]),
);
}
$z = CLanguage::GetList('', '', array("ACTIVE" => "Y"));
$arFormMenuLang = array();
while ($zr=$z->Fetch())
{
$arFormMenuLang[] = array("LID"=>$zr["LID"], "NAME"=>$zr["NAME"]);
}
$rs = CSite::GetList();
$arrSites = array();
while ($ar = $rs->Fetch())
{
if ($ar["DEF"]=="Y") $def_site_id = $ar["ID"];
$arrSites[$ar["ID"]] = $ar;
}
if (($_REQUEST['save'] <> '' || $_REQUEST['apply'] <> '') && $_SERVER['REQUEST_METHOD']=="POST" && ($F_RIGHT>=30 || $ID<=0) && check_bitrix_sessid())
{
$arIMAGE_ID = $_FILES["IMAGE_ID"];
$arIMAGE_ID["MODULE_ID"] = "form";
$arIMAGE_ID["del"] = $_REQUEST["IMAGE_ID_del"];
$SID = $_REQUEST['SID'];
if ($bSimple && $SID == '')
{
$SID = "SIMPLE_FORM_".randString(8);
}
$RESTRICT_STATUS = $_REQUEST['RESTRICT_STATUS'];
$RESTRICT_USER = intval($_REQUEST['RESTRICT_USER']);
$RESTRICT_TIME = intval($_REQUEST['RESTRICT_TIME']);
$RESTRICT_TIME_MULTIPLYER = intval($_REQUEST['RESTRICT_TIME_MULTIPLYER']);
$RESTRICT_TIME *= $RESTRICT_TIME_MULTIPLYER;
$arRestrictStatus = array();
if (is_array($RESTRICT_STATUS))
{
foreach ($RESTRICT_STATUS as $key => $value)
{
$arRestrictStatus[] = intval($value);
}
}
$arFields = array(
"NAME" => $_REQUEST['NAME'],
"SID" => $SID,
"C_SORT" => $_REQUEST['C_SORT'],
"BUTTON" => $_REQUEST['BUTTON'],
"USE_CAPTCHA" => $_REQUEST['USE_CAPTCHA'] == "Y" ? "Y" : "N",
"DESCRIPTION" => $_REQUEST['FORM_DESCRIPTION'],
"DESCRIPTION_TYPE" => $_REQUEST['FORM_DESCRIPTION_TYPE'],
"SHOW_TEMPLATE" => $_REQUEST['SHOW_TEMPLATE'],
"SHOW_RESULT_TEMPLATE" => $_REQUEST['SHOW_RESULT_TEMPLATE'],
"PRINT_RESULT_TEMPLATE" => $_REQUEST['PRINT_RESULT_TEMPLATE'],
"EDIT_RESULT_TEMPLATE" => $_REQUEST['EDIT_RESULT_TEMPLATE'],
"USE_RESTRICTIONS" => $_REQUEST['USE_RESTRICTIONS'] == "Y" ? "Y" : "N",
"RESTRICT_USER" => $RESTRICT_USER,
"RESTRICT_TIME" => $RESTRICT_TIME,
"arRESTRICT_STATUS" => $arRestrictStatus,
"STAT_EVENT1" => $_REQUEST['STAT_EVENT1'],
"STAT_EVENT2" => $_REQUEST['STAT_EVENT2'],
"STAT_EVENT3" => $_REQUEST['STAT_EVENT3'],
"arIMAGE" => $arIMAGE_ID,
"arSITE" => $_REQUEST['arSITE'],
"arMAIL_TEMPLATE" => $_REQUEST['arMAIL_TEMPLATE'],
);
if ($bEditTemplate)
{
$arFields['FILTER_RESULT_TEMPLATE'] = $_REQUEST['FILTER_RESULT_TEMPLATE'];
$arFields['TABLE_RESULT_TEMPLATE'] = $_REQUEST['TABLE_RESULT_TEMPLATE'];
$FORM_TEMPLATE = $_REQUEST['FORM_TEMPLATE'];
$USE_DEFAULT_TEMPLATE = $_REQUEST['USE_DEFAULT_TEMPLATE'] == "N" && $FORM_TEMPLATE <> '' ? "N" : "Y";
$arFields["FORM_TEMPLATE"] = $FORM_TEMPLATE;
$arFields["USE_DEFAULT_TEMPLATE"] = $USE_DEFAULT_TEMPLATE;
$arFields['USE_CAPTCHA'] = $arFields['USE_CAPTCHA'] == "Y" && ($USE_DEFAULT_TEMPLATE == "Y" || $USE_DEFAULT_TEMPLATE == "N" && CForm::isCAPTCHAInTemplate($FORM_TEMPLATE)) ? "Y" : "N";
}
// menu
$arFields["arMENU"] = array();
foreach ($arFormMenuLang as $arrL)
{
$arFields["arMENU"][$arrL["LID"]] = $_REQUEST["MENU_".$arrL["LID"]];
}
// access rights
$arFields["arGROUP"] = array();
foreach ($arGroups as $arrG)
{
$arFields["arGROUP"][$arrG["ID"]] = $_REQUEST["PERMISSION_".$arrG["ID"]];
}
$res = intval(CForm::Set($arFields, $ID));
if ($res>0)
{
if ($bEditTemplate && $USE_DEFAULT_TEMPLATE == "N")
{
// structure
$FORM_STRUCTURE = $_REQUEST["FORM_STRUCTURE"];
$arrFS =
CheckSerializedData($FORM_STRUCTURE)
? unserialize($FORM_STRUCTURE, ['allowed_classes' => false])
: []
;
if (CFormOutput::CheckTemplate($FORM_TEMPLATE, $arrFS))
{
$GLOBALS['CACHE_MANAGER']->ClearByTag('form_'.$res);
foreach ($arrFS as $arQuestion)
{
$arQuestionFields = array(
"FORM_ID" => $res,
"TITLE" => $arQuestion["CAPTION_UNFORM"],
"TITLE_TYPE" => $arQuestion["isHTMLCaption"] == "N" ? "text" : "html",
"SID" => $arQuestion["FIELD_SID"],
"REQUIRED" => $arQuestion["isRequired"] == "N" ? "N" : "Y",
"IN_RESULTS_TABLE" => $arQuestion["inResultsTable"] == "Y" ? "Y" : "N",
"IN_EXCEL_TABLE" => $arQuestion["inExcelTable"] == "Y" ? "Y" : "N",
"ACTIVE" => CForm::isFieldInTemplate($arQuestion["FIELD_SID"], $FORM_TEMPLATE) ? "Y" : "N",
'FILTER_TITLE' => $arQuestion['FILTER_TITLE'],
);
$FIELD_ID = $arQuestion["isNew"] == "Y" ? false : $arQuestion["ID"];
$QID = CFormField::Set($arQuestionFields, $FIELD_ID, 'Y', 'N');
if ($QID)
{
foreach ($arQuestion["structure"] as $arAnswer)
{
if ($arAnswer["MESSAGE"] == '')
{
if (
$arAnswer['ANS_NEW'] != 'Y'
&&
in_array($arAnswer['FIELD_TYPE'], array('dropdown', 'multiselect', 'checkbox', 'radio'))
)
{
CFormAnswer::Delete($arAnswer['ID'], $QID);
}
continue;
}
if(isset($arAnswer['DEFAULT']))
{
if ($arAnswer["FIELD_TYPE"] == "dropdown" || $arAnswer['FIELD_TYPE'] == "multiselect")
{
if ($arAnswer["DEFAULT"] == "Y")
$arAnswer["FIELD_PARAM"] = "SELECTED";
else
$arAnswer["FIELD_PARAM"] = "";
}
if ($arAnswer["FIELD_TYPE"] == "checkbox" || $arAnswer['FIELD_TYPE'] == "radio")
{
if ($arAnswer["DEFAULT"] == "Y")
$arAnswer["FIELD_PARAM"] = "CHECKED";
else
$arAnswer["FIELD_PARAM"] = "";
}
}
$arAnswerFields = array(
"FIELD_ID" => $QID,
"MESSAGE" => $arAnswer["MESSAGE"],
"C_SORT" => $arAnswer["C_SORT"],
"ACTIVE" => $arAnswer["ACTIVE"],
"VALUE" => $arAnswer["VALUE"],
"FIELD_TYPE" => $arAnswer["FIELD_TYPE"],
"FIELD_WIDTH" => $arAnswer["FIELD_WIDTH"],
"FIELD_HEIGHT" => $arAnswer["FIELD_HEIGHT"],
"FIELD_PARAM" => $arAnswer["FIELD_PARAM"],
);
$ANS_ID = $arAnswer["ANS_NEW"] == "Y" ? false : $arAnswer["ID"];
CFormAnswer::Set($arAnswerFields, $ANS_ID);
}
}
}
}
}
if ($bSimple)
{
// mail template
$arr = CForm::GetTemplateList("MAIL","xxx",$res);
if ($_REQUEST['USE_MAIL_TEMPLATE'] && count($arr['reference_id']) == 0)
CForm::SetMailTemplate($res, "Y");
elseif (!$_REQUEST['USE_MAIL_TEMPLATE'] && count($arr['reference_id']) > 0)
{
reset($arr['reference_id']);
foreach ($arr['reference_id'] as $tmp_id)
{
CEventMessage::Delete($tmp_id);
}
}
$arr = CForm::GetTemplateList("MAIL","xxx",$res);
$arFields['SID'] = "SIMPLE_FORM_$res";
$arFields['arMAIL_TEMPLATE'] = $arr['reference_id'];
CForm::Set($arFields, $res);
// create default status
if ($ID==0)
{
$arFields_status = array(
"FORM_ID" => $res,
"C_SORT" => 100,
"ACTIVE" => "Y",
"TITLE" => "DEFAULT",
"DESCRIPTION" => "DEFAULT",
"CSS" => "statusgreen",
"DEFAULT_VALUE" => "Y",
"arPERMISSION_VIEW" => array(0),
"arPERMISSION_MOVE" => array(0),
"arPERMISSION_EDIT" => array(0),
"arPERMISSION_DELETE" => array(0),
);
CFormStatus::Set($arFields_status, 0);
}
}
if ($strError == '' && $ID > 0)
{
$arCrmParams = array(
'CRM_ID' => $_REQUEST['CRM_ID'],
'LINK_TYPE' => $_REQUEST['CRM_LINK_TYPE'],
'CRM_FIELDS' => $_REQUEST['CRM_FIELD'],
'FORM_FIELDS' => $_REQUEST['CRM_FORM_FIELD'],
);
CFormCrm::SetForm($ID, $arCrmParams);
}
$ID = $res;
if ($strError == '')
{
if ($_REQUEST['save'] <> '')
{
if (!empty($_REQUEST["back_url"])) LocalRedirect("/".ltrim($_REQUEST["back_url"], "/"));
else LocalRedirect("/bitrix/admin/form_list.php?lang=".LANGUAGE_ID);
}
else LocalRedirect("/bitrix/admin/form_edit.php?ID=".$ID."&lang=".LANGUAGE_ID."&".$tabControl->ActiveTabParam().(!empty($_REQUEST["back_url"]) ? "&back_url=".urlencode($_REQUEST["back_url"]) : ""));
exit();
}
}
$DB->PrepareFields("b_form");
$str_FORM_TEMPLATE = $FORM_TEMPLATE;
}
//$rsForm = CForm::GetByID($ID);
$arForm = CForm::GetByID_admin($ID, 'form');
if (!$arForm || !extract($arForm, EXTR_PREFIX_ALL, 'str'))
{
$ID = 0;
$str_STAT_EVENT1 = "form";
$str_DESCRIPTION_TYPE = "text";
$str_BUTTON = GetMessage("FORM_SAVE");
$str_C_SORT = CForm::GetNextSort();
$str_USE_CAPTCHA = "N";
$str_USE_DEFAULT_TEMPLATE = "N";
$str_USE_RESTRICTIONS = "N";
$str_RESTRICT_USER = 0;
$str_RESTRICT_TIME = 0;
$arRESTRICT_STATUS = array();
}
else
{
if ($strError == '')
{
$z = CForm::GetMenuList(array("FORM_ID"=>$ID), "N");
while ($zr = $z->Fetch()) ${"MENU_".$zr["LID"]} = $zr["MENU"];
$arSITE = CForm::GetSiteArray($ID);
$arMAIL_TEMPLATE = CForm::GetMailTemplateArray($ID);
if (!is_set($str_FORM_TEMPLATE)) $str_FORM_TEMPLATE = CForm::GetFormTemplateByID($ID);
$arRESTRICT_STATUS = explode(",", $str_RESTRICT_STATUS);
}
}
if ($strError <> '') $DB->InitTableVarsForEdit("b_form", "", "str_");
if ($ID>0)
{
$sDocTitle = str_replace("#ID#", $ID, GetMessage("FORM_EDIT_RECORD"));
$sDocTitle = str_replace("#NAME#", $str_NAME, $sDocTitle);
}
else $sDocTitle = GetMessage("FORM_NEW_RECORD");
$APPLICATION->SetTitle($sDocTitle);
if ($ID > 0)
{
$txt = "(".htmlspecialcharsbx($arForm['SID']).") ".htmlspecialcharsbx($str_NAME);
$link = "form_edit.php?lang=".LANGUAGE_ID."&ID=".$ID;
$adminChain->AddItem(array("TEXT"=>$txt, "LINK"=>$link));
}
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
/***************************************************************************
HTML form
****************************************************************************/
if (!defined('BX_PUBLIC_MODE') || BX_PUBLIC_MODE != 1):
if ($ID > 0):
$context = new CAdminContextMenuList($arForm['ADMIN_MENU']);
$context->Show();
echo BeginNote('width="100%"');
?>
Fatal error: Uncaught Error: Call to undefined function GetMessage() in D:\ktt\ttepla.com\public_html\bitrix\modules\form\admin\form_edit.php:416
Stack trace:
#0 {main}
thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\form\admin\form_edit.php on line 416