EditResult
CForm::EditResult( int RESULT_ID, array arrVALUES, varchar TEMPLATE="", char(1) EDIT_ADDITIONAL="N", char(1) EDIT_STATUS="N" );
The method displays the HTML code of a result editing page using the template "Result editing".
Parameters
Parameter | Description |
---|---|
RESULT_ID | Result ID. |
arVALUES | Array of the field values for the result editing form. This can be the result of a call to CFormResult::GetDataByIDForWeb, or can be set to array stored in $HTTP_POST_VARS. |
TEMPLATE | Name of the result editing template file. If omitted, the default template file of this is used. |
EDIT_ADDITIONAL | If set to "Y", all form fields are available for editing. If set to "N" (default), only the form questions are displayed and can be edited. |
EDIT_STATUS | If set to "Y", a result status can be changed in templates like "default.php". |
Example
The following is an example of the arVALUES parameter:
Array ( [form_text_586] => James Brown [form_date_587] => 10.03.1992 [form_textarea_588] => LA [form_radio_VS_MARRIED] => 589 [form_checkbox_VS_INTEREST] => Array ( [0] => 592 [1] => 593 [2] => 594 ) [form_dropdown_VS_AGE] => 597 [form_multiselect_VS_EDUCATION] => Array ( [0] => 603 [1] => 604 ) [form_text_606] => 2345 [form_image_607] => 1045 )
The below example shows the sample file "form_edit.php" allowing to edit the result.
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/include.php"); include(GetLangFileName($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/form/admin/lang/", "/form_result_edit.php")); $RESULT_ID = intval($RESULT_ID); $z = CFormResult::GetByID($RESULT_ID); if (!($arrResult=$z->Fetch())) { require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php"); echo ShowError("Survey form not found"); require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog.php"); die(); } $WEB_FORM_ID = intval($arrResult["FORM_ID"]); $F_RIGHT = intval(CForm::GetPermission($WEB_FORM_ID)); /* Y - allow to edit the form fields N - do not allow to edit the form fields */ $EDIT_ADDITIONAL = "N"; if ($F_RIGHT>=25 || ($F_RIGHT>=15 && $USER->GetID()==$arrResult["USER_ID"])) : // "Save results" clicked if ($REQUEST_METHOD=="POST" && intval($WEB_FORM_ID)>0 && (strlen($web_form_submit)>0 || strlen($apply)>0)) { // obtain the form data array $arrVALUES = $HTTP_POST_VARS; $error = CForm::Check($WEB_FORM_ID, $arrVALUES, $RESULT_ID); if (strlen($error)<=0) { CFormResult::Update($RESULT_ID, $arrVALUES, $EDIT_ADDITIONAL); $arr = CFormResult::GetDataByID($RESULT_ID, array("VS_PHOTO")); $PHOTO_EXIST = (intval($arr["VS_PHOTO"][0]["USER_FILE_ID"])>0) ? "Y" : "N"; CFormResult::SetField($RESULT_ID, "VS_PHOTO_EXIST", $PHOTO_EXIST); if (strlen($web_form_submit)>0) LocalRedirect("index.php?WEB_FORM_NAME=".$arrResult["VARNAME"]); } else $strError .= $error; } else // obtain the data array from the database $arrVALUES = CFormResult::GetDataByIDForWeb($RESULT_ID,$EDIT_ADDITIONAL); endif; $title = str_replace("#RESULT_ID#","$RESULT_ID","Editing form # #RESULT_ID#"); $APPLICATION->SetTitle($title); require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php"); ?> <a href="index.php?web_form_name=<?=$arrresult["varname"]?>" class="navchain">Forms</a> <br><br> <table cellspacing="0" cellpadding="2"> <?if ($F_RIGHT>=25):?> <tr> <td align="right" valign="top"><font class="tablebodytext"><b>ID:</b></font></td> <td valign="top"><font class="tablebodytext"><?=$arrResult["ID"]?></font></td> </tr> <tr> <td align="right" valign="top"><font class="tablebodytext"><b><?=GetMessage("FORM_FORM_NAME")?></b></font></td> <td valign="top"><font class="tablebodytext"><? echo "[<a class='tablebodylink' href='form_edit.php?lang=".lang."&id=".$web_form_id."'>". $WEB_FORM_ID."</a>] (".$arrResult["VARNAME"].") ".$arrResult["NAME"]; ?></font></td> </tr> <?endif;?> <tr> <td align="right" valign="top"><font class="tablebodytext"><b><?=GetMessage("FORM_DATE_CREATE")?></b></font></td> <td valign="top"><font class="tablebodytext"><?=$arrResult["DATE_CREATE"]?></font></td> </tr> <tr> <td align="right" valign="top"><font class="tablebodytext"><b><?=GetMessage("FORM_TIMESTAMP")?></b></font></td> <td valign="top"><font class="tablebodytext"><?=$arrResult["TIMESTAMP_X"]?></font></td> </tr> <?if ($F_RIGHT>=25):?> <tr> <td align="right" valign="top"><font class="tablebodytext"><b><?=GetMessage("FORM_USER")?></b></font></td> <td valign="top" nowrap><font class="tablebodytext"><? if (intval($arrResult["USER_ID"])>0) : echo "<font class='tablebodytext'>[</font><a class='tablebodylink' title='".GetMessage("FORM_EDIT_USER")."' href='user_edit.php?lang=".lang."&id=".$arrresult["user_id"]."'>".$arrresult["user_id"]."</a><font class='tablebodytext'>] (".htmlspecialchars($arrResult["LOGIN"]).") ".htmlspecialchars($arrResult["USER_NAME"])."</font>"; echo ($arrResult["USER_AUTH"]=="N") ? " <font class='filteroff'>".GetMessage("FORM_NOT_AUTH")."</font>" : ""; else : echo "<font class='tablebodytext'>".GetMessage("FORM_NOT_REGISTERED")."</font>"; endif; ?></font></td> </tr> <?if (CModule::IncludeModule("statistic")):?> <tr> <td align="right" valign="top"><font class="tablebodytext"><b><?=GetMessage("FORM_GUEST")?></b></font></td> <td valign="top"><font class="tablebodytext">[<a title="<?=GetMessage("FORM_GUEST_ALT")?>" class="tablebodylink" href="/bitrix/admin/guest_list.php?lang=<?=lang?>&find_id=<?=$arrresult["stat_guest_id"]?>&set_filter=y"><?=$arrresult["stat_guest_id"]?></a>]</font></td> </tr> <tr> <td align="right" valign="top"><font class="tablebodytext"><b><?=GetMessage("FORM_SESSION")?></b></font></td> <td valign="top"><font class="tablebodytext">[<a title="<?=GetMessage("FORM_SESSION_ALT")?>" class="tablebodylink" href="/bitrix/admin/session_list.php?lang=<?=lang?>&find_id=<?=$arrresult["stat_session_id"]?>&set_filter=y"><?=$arrresult["stat_session_id"]?></a>]</font></td> </tr> <?endif;?> <?endif;?> </table> <br> <? CForm::EditResult($RESULT_ID, $arrVALUES, $EDIT_RESULT_TEMPLATE, $EDIT_ADDITIONAL); require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog.php"); ?>
© «Bitrix24», 2001-2024