public static function PrepareFormData($arrFS)
    {
        $out = "";
        $i = 0;
        if (is_array($arrFS)) {
            foreach ($arrFS as $key => $arField) {
                if ($arField['isNew'] == "Y") {
                    $arField["CAPTION"] = $arField["isHTMLCaption"] == "Y" ? $arField["CAPTION_UNFORM"] : "<span class=\"tablebodytext\">" . $arField["CAPTION_UNFORM"] . "</span>" . ($arField["isRequired"] ? CFormOutput::ShowRequired() : "");
                }
                ?>
arrInputObjects[<?php 
                echo $i++;
                ?>
] = new CFormAnswer(
	'<?php 
                echo $arField["FIELD_SID"];
                ?>
',
	'<?php 
                echo CUtil::JSEscape($arField["CAPTION"]);
                ?>
',
	'<?php 
                echo $arField["isHTMLCaption"];
                ?>
',
	'<?php 
                echo CUtil::JSEscape("'", "\\'", $arField["CAPTION_UNFORM"]);
                ?>
',
	'<?php 
                echo $arField["isRequired"];
                ?>
',
	'<?php 
                echo $arField["type"];
                ?>
',
	[<?php 
                foreach ($arField["structure"] as $key => $arQuestion) {
                    $arr = array();
                    $cnt = 0;
                    foreach ($arQuestion as $q_key => $value) {
                        $arr[] = $q_key . ":'" . ($q_key == "ANS_NEW" ? $value == "Y" ? 'true' : 'false' : str_replace("'", "\\'", $value)) . "'";
                        if ($q_key == "ANS_NEW" && $value) {
                            $cnt++;
                        }
                    }
                    if ($key != 0) {
                        echo ",";
                    }
                    echo "{";
                    echo implode(",", $arr);
                    echo "}";
                }
                ?>
],
	<?php 
                echo $arField["isNew"] == "Y" ? 'true' : 'false';
                ?>
,
	<?php 
                echo $arField["ID"] ? $arField["ID"] : '_global_newinput_counter++';
                ?>
,
	'<?php 
                echo $arField["inResultsTable"];
                ?>
',
	'<?php 
                echo $arField["inExcelTable"];
                ?>
'
);

<?php 
                if ($cnt > 0) {
                    echo "_global_newanswer_counter += " . $cnt . ";\n";
                }
            }
        }
    }
Example #2
0
			)
			? "Y" : "N";

		if ($arResult['isFormErrors'] == 'Y')
		{
			unset($arResult['FORM_RESULT']);
			unset($arResult['FORM_NOTE']);
		}

		// ************************************************************* //
		//                                             output                                                                    //
		// ************************************************************* //

		if ($arParams["IGNORE_CUSTOM_TEMPLATE"] == "N" && $arResult["arForm"]["USE_DEFAULT_TEMPLATE"] == "N" && strlen($arResult["arForm"]["FORM_TEMPLATE"]) > 0)
		{
			$FORM = new CFormOutput();
			// initialize template
			$FORM->InitializeTemplate($arParams, $arResult);

			// get template
			if ($strReturn = $FORM->IncludeFormCustomTemplate())
			{
				// add icons
				$back_url = $_SERVER['REQUEST_URI'];

				$editor = "/freetrix/admin/fileman_file_edit.php?full_src=Y&site=".SITE_ID."&";
				$href = "javascript:window.location='".$editor."path=".urlencode($path)."&lang=".LANGUAGE_ID."&back_url=".urlencode($back_url)."'";

				if ($arParams['USE_EXTENDED_ERRORS'] == 'Y')
				$APPLICATION->SetAdditionalCSS($this->GetPath()."/error.css");
Example #3
0
            $aMenu[] = array("TEXT" => GetMessage("FORM_CP"), "TITLE" => GetMessage("FORM_COPY"), "ICON" => "btn_copy", "LINK" => "form_edit.php?copy_id=" . $ID . "&ID=" . $ID . "&lang=" . LANGUAGE_ID . "&" . bitrix_sessid_get());
        }
        if ($F_RIGHT >= 30) {
            $aMenu[] = array("TEXT" => GetMessage("FORM_DELETE_RESULTS"), "TITLE" => GetMessage("FORM_DELETE_RESULTS_TITLE"), "ICON" => "btn_delete", "LINK" => "javascript:if(confirm('" . GetMessage("FORM_CONFIRM_DELETE_RESULTS") . "'))window.location='form_edit.php?ID=" . $ID . "&reset_id=" . $ID . "&" . bitrix_sessid_get() . "&lang=" . LANGUAGE_ID . "';");
        }
        if (CForm::IsAdmin()) {
            $aMenu[] = array("ICON" => "btn_delete", "TEXT" => GetMessage("FORM_DELETE_TEXT"), "TITLE" => GetMessage("FORM_DELETE_TITLE"), "LINK" => "javascript:if(confirm('" . GetMessage("FORM_CONFIRM_DELETE") . "'))window.location='form_list.php?action=delete&ID=" . $ID . "&" . bitrix_sessid_get() . "&lang=" . LANGUAGE_ID . "';");
        }
    }
    if (count($aMenu) > 0) {
        $context = new CAdminContextMenu($aMenu);
        $context->Show();
    }
}
// (!defined('BX_PUBLIC_MODE') || BX_PUBLIC_MODE != 1)
$FORM = new CFormOutput();
//initialize&check form
$FORM->Init(array("WEB_FORM_ID" => $ID), true);
if ($strError) {
    $aMsg = array();
    $arrErr = explode("<br>", $strError);
    reset($arrErr);
    while (list(, $err) = each($arrErr)) {
        $aMsg[]['text'] = $err;
    }
    $e = new CAdminException($aMsg);
    $GLOBALS["APPLICATION"]->ThrowException($e);
    $message = new CAdminMessage(GetMessage("FORM_ERROR_SAVE"), $e);
    echo $message->Show();
}
echo ShowNote($strNote);
Example #4
0
	"EDIT_URL" => "result_edit.php",
	"CHAIN_ITEM_TEXT" => "Forms List",
	"CHAIN_ITEM_LINK" => "result_list.php?WEB_FORM_ID=".$_REQUEST["WEB_FORM_ID"]
));

Parameters:

$WEB_FORM_ID		- web-form ID
$LIST_URL			- page URL for redirecting user after "Save" button press (if empty, there is no redirecting)
$EDIT_URL			- page URL for redirecting user after "Apply" button press (if empty, there is no redirecting)
$CHAIN_ITEM_TEXT	- additional item name in the navigation chain (if empty, no item is added)
$CHAIN_ITEM_LINK	- additional item link in the navigation chain

***********************************************************************/
global $USER, $APPLICATION;
$APPLICATION->SetTemplateCSS("form/form.css");
if (CModule::IncludeModule("form")) {
    IncludeTemplateLangFile(__FILE__);
    // create form output class
    $FORM = new CFormOutput();
    //initialize&check form
    if ($FORM->Init($arParams)) {
        // output form
        $FORM->Out();
    } else {
        echo ShowError(GetMessage($FORM->ShowErrorMsg()));
    }
} else {
    echo ShowError(GetMessage("FORM_MODULE_NOT_INSTALLED"));
}
//endif (CModule::IncludeModule("form"));
Example #5
0
		if ($arParams["IGNORE_CUSTOM_TEMPLATE"] == "N" && $arResult["arForm"]["USE_DEFAULT_TEMPLATE"] == "N" && strlen($arResult["arForm"]["FORM_TEMPLATE"]) > 0)
		{
			// use visual template
			if (!$bCache || $bCache && !$bVarsFromCache)
			{
				if ($bCache)
				{
					$obFormCache->StartDataCache();
					$GLOBALS['CACHE_MANAGER']->StartTagCache($CACHE_PATH);
					$GLOBALS['CACHE_MANAGER']->RegisterTag('forms');
					$GLOBALS['CACHE_MANAGER']->RegisterTag('form_'.$arParams['WEB_FORM_ID']);
				}

				// initialize template
				$FORM = new CFormOutput();

				$FORM->InitializeTemplate($arParams, $arResult);

				// cache image files paths
				$FORM->ShowFormImage();
				$FORM->getFormImagePath();

				if ($bCache)
				{
					$GLOBALS['CACHE_MANAGER']->EndTagCache();
					$obFormCache->EndDataCache(
						array(
							"arResult" => $arResult,
							"FORM" => $FORM,
						)
Example #6
0
         }
     }
     // create CPHPCache class instance
     $cache_form = new CPHPCache();
     // create cache ID and path
     $CACHE_ID = SITE_ID . "|" . $componentName . "|" . md5(serialize($arCacheParams)) . "|" . $USER->GetGroups();
     $CACHE_PATH = "/" . SITE_ID . CComponentEngine::MakeComponentPath($componentName);
 }
 // initialize cache
 if ($bCache && $cache_form->InitCache($arParams["CACHE_TIME"], $CACHE_ID, $CACHE_PATH)) {
     // if cache already exists - get vars
     $vars = $cache_form->GetVars();
     $FORM = $vars["FORM"];
 } else {
     // process form
     $FORM = new CFormOutput();
     //$res = $FORM->Init($arParams);
     /*************************************************************/
     $FORM->bSimple = COption::GetOptionString("form", "SIMPLE", "Y") == "Y" ? true : false;
     $FORM->comp2 = true;
     $FORM->SHOW_INCLUDE_AREAS = $APPLICATION->GetShowIncludeAreas();
     $FORM->arParams = $arParams;
     if (intval($FORM->WEB_FORM_ID) <= 0) {
         $FORM->WEB_FORM_ID = intval($arParams["WEB_FORM_ID"]);
     }
     // if there's no WEB_FORM_ID, try to get it from $_REQUEST;
     if (intval($FORM->WEB_FORM_ID) <= 0) {
         $FORM->WEB_FORM_ID = intval($_REQUEST["WEB_FORM_ID"]);
     }
     // check WEB_FORM_ID and get web form data
     $FORM->WEB_FORM_ID = CForm::GetDataByID($FORM->WEB_FORM_ID, $FORM->arForm, $FORM->arQuestions, $FORM->arAnswers, $FORM->arDropDown, $FORM->arMultiSelect, "N", $FORM->arParams["SHOW_ADDITIONAL"] == "Y" || $FORM->arParams["EDIT_ADDITIONAL"] == "Y" ? "Y" : "N");