GetGroupRight("form"); if($FORM_RIGHT<="D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); CModule::IncludeModule("form"); $bSimple = (COption::GetOptionString("form", "SIMPLE", "Y") == "Y") ? true : false; IncludeModuleLangFile(__FILE__); $err_mess = "File: ".__FILE__."
Line: "; $arFilterFields = Array( "find_id", "find_id_exact_match", "find_name", "find_name_exact_match", "find_sid", "find_sid_exact_match", "find_description", "find_description_exact_match", "find_site" ); $lAdmin->InitFilter($arFilterFields); $old_module_version = CForm::IsOldVersion(); $reset_id = intval($reset_id); if ($FORM_RIGHT=="W" && $reset_id>0 && check_bitrix_sessid()) CForm::Reset($reset_id); $copy_id = intval($makecopy_id); if ($FORM_RIGHT=="W" && $copy_id>0 && check_bitrix_sessid()) { CForm::Copy($copy_id); LocalRedirect("form_list.php?lang=".LANGUAGE_ID); } InitBVar($find_id_exact_match); InitBVar($find_name_exact_match); InitBVar($find_sid_exact_match); InitBVar($find_description_exact_match); $arFilter = Array( "ID" => $find_id, "ID_EXACT_MATCH" => $find_id_exact_match, "NAME" => $find_name, "NAME_EXACT_MATCH" => $find_name_exact_match, "SID" => $find_sid, "SID_EXACT_MATCH" => $find_sid_exact_match, "DESCRIPTION" => $find_description, "DESCRIPTION_EXACT_MATCH" => $find_description_exact_match, "SITE" => $find_site ); // "Save" button was pressed if ($lAdmin->EditAction() && $FORM_RIGHT>="W" && check_bitrix_sessid()) { foreach($FIELDS as $ID=>$arFields) { if(!$lAdmin->IsUpdated($ID)) continue; $DB->StartTransaction(); $ID = intval($ID); $F_RIGHT = CForm::GetPermission($ID); if ($F_RIGHT>=30) { $arFieldsStore = Array( "TIMESTAMP_X" => $DB->GetNowFunction(), "C_SORT" => "'".intval($arFields[C_SORT])."'" ); if (!$DB->Update("b_form",$arFieldsStore,"WHERE ID='".$ID."'",$err_mess.__LINE__)) { $lAdmin->AddUpdateError(GetMessage("SAVE_ERROR").$ID.": ".GetMessage("FORM_SAVE_ERROR"), $ID); $DB->Rollback(); } } $DB->Commit(); } } // simgle and group actions processing if(($arID = $lAdmin->GroupAction()) && $FORM_RIGHT=="W" && check_bitrix_sessid()) { if($_REQUEST['action_target']=='selected') { $arID = Array(); $rsData = CForm::GetList('', '', $arFilter); while($arRes = $rsData->Fetch()) $arID[] = $arRes['ID']; } foreach($arID as $ID) { if($ID == '') continue; $ID = intval($ID); switch($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if(!CForm::Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("DELETE_ERROR"), $ID); } $DB->Commit(); break; } } } ////////////////////////////////////////////////////////////////////// // list initialization - get data global $by, $order; $rsData = CForm::GetList($by, $order, $arFilter); $arData = array(); while ($arForm = $rsData->Fetch()) { $F_RIGHT = CForm::GetPermission($arForm["ID"]); if ($F_RIGHT >= 20) { $arForm["F_RIGHT"] = $F_RIGHT; $arData[] = $arForm; } } $rsData->InitFromArray($arData); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // set navigation bar $lAdmin->NavText($rsData->GetNavPrint(GetMessage("FORM_PAGES"))); $headers = array( array("id"=>"ID", "content"=>"ID", "sort"=>"s_id", "default"=>true), array("id"=>"SITE", "content"=>GetMessage("FORM_SITE"), "default"=>true), array("id"=>"C_SORT", "content"=>GetMessage("FORM_C_SORT"), "sort"=>"s_c_sort", "default"=>true) ); if (!$bSimple) $headers[] = array("id"=>"SID", "content"=>GetMessage("FORM_SID"), "sort"=>"s_sid", "default"=>true); $headers[] = array("id"=>"NAME", "content"=>GetMessage("FORM_NAME"), "sort"=>"s_name", "default"=>true); $headers[] = array("id"=>"QUESTIONS", "content"=>GetMessage("FORM_QUESTIONS"), "default"=>true); if (COption::GetOptionString("form", "SIMPLE")!="Y") { $headers[]=array("id"=>"C_FIELDS", "content"=>GetMessage("FORM_FIELDS"), "default"=>true); $headers[]=array("id"=>"STATUSES", "content"=>GetMessage("FORM_STATUSES"), "default"=>true); } $headers[]=array("id"=>"RESULTS", "content"=>GetMessage("FORM_RESULTS"), "default"=>true); $lAdmin->AddHeaders($headers); while($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); //$F_RIGHT = CForm::GetPermission($f_ID); $F_RIGHT = $f_F_RIGHT; unset($txt); $arrSITE = CForm::GetSiteArray($f_ID); reset($arrSITE); if (is_array($arrSITE)) { foreach($arrSITE as $sid) $txt.= "".htmlspecialcharsbx($sid).","; } else $txt=" "; $txt=trim($txt,","); $row->AddViewField("SITE",$txt); if ($bSimple) { $f_QUESTIONS+=$f_C_FIELDS; $txt="$f_QUESTIONS [+]"; } else $txt="$f_QUESTIONS [+]"; $row->AddViewField("QUESTIONS",$txt); $txt="$f_C_FIELDS [+]"; $row->AddViewField("C_FIELDS",$txt); $txt="$f_STATUSES [+]"; $row->AddViewField("STATUSES",$txt); $txt="".(CFormResult::GetCount($f_ID))." [+]"; $row->AddViewField("RESULTS",$txt); if ($FORM_RIGHT=="W") $row->AddInputField("C_SORT"); $arActions = Array(); if ($F_RIGHT>=25) $arActions[] = array("DEFAULT"=>"Y", "ICON"=>"edit", "TITLE"=>GetMessage("FORM_EDIT_ALT"), "ACTION"=>$lAdmin->ActionRedirect("form_edit.php?lang=".LANGUAGE_ID."&ID=$f_ID"), "TEXT"=>GetMessage("FORM_EDIT")); if (CForm::IsAdmin()) $arActions[] = array("ICON"=>"copy", "TITLE"=>GetMessage("FORM_COPY_ALT"),"ACTION"=>$lAdmin->ActionRedirect("form_list.php?lang=".LANGUAGE_ID."&makecopy_id=$f_ID&".bitrix_sessid_get()),"TEXT"=>GetMessage("FORM_COPY")); if ($F_RIGHT>=30) { $arActions[] = array("SEPARATOR"=>true); $arActions[] = array("TITLE"=>GetMessage("FORM_DELETE_RESULTS_ALT"),"ACTION"=>"javascript:if(confirm('".CUtil::JSEscape(GetMessage("FORM_CONFIRM_DELETE_RESULTS"))."')) window.location='?lang=".LANGUAGE_ID."&reset_id=".$f_ID."&".bitrix_sessid_get()."'", "TEXT"=>GetMessage("FORM_DELETE_RESULTS")); } if (CForm::IsAdmin()) $arActions[] = array("ICON"=>"delete", "TITLE"=>GetMessage("FORM_DELETE_ALT"),"ACTION"=>"javascript:if(confirm('".CUtil::JSEscape(GetMessage("FORM_CONFIRM_DELETE"))."')) window.location='?lang=".LANGUAGE_ID."&action=delete&ID=$f_ID&".bitrix_sessid_get()."'","TEXT"=>GetMessage("FORM_DELETE")); $row->AddActions($arActions); } // list footer $lAdmin->AddFooter( array( array("title"=>GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value"=>$rsData->SelectedRowsCount()), array("counter"=>true, "title"=>GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value"=>"0"), ) ); if ($FORM_RIGHT=="W") // add list buttons $lAdmin->AddGroupActionTable(Array( "delete"=>GetMessage("FORM_DELETE_L"), )); // context menu if ($FORM_RIGHT=="W") { $aMenu = array(); $aMenu[] = array( "TEXT" => GetMessage("FORM_CREATE"), "TITLE"=>GetMessage("FORM_CREATE_TITLE"), "LINK"=>"form_edit.php?lang=".LANG, "ICON" => "btn_new" ); $aContext = $aMenu; $lAdmin->AddAdminContextMenu($aContext); } // check list output mode $lAdmin->CheckListMode(); $APPLICATION->SetTitle(GetMessage("FORM_PAGE_TITLE")); require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); ?>