function Set($arFields, $FORM_ID = false, $CHECK_RIGHTS = "Y")
 {
     $err_mess = CAllForm::err_mess() . "<br>Function: Set<br>Line: ";
     global $DB, $USER, $strError, $APPLICATION;
     $FORM_ID = intval($FORM_ID);
     if (CForm::CheckFields($arFields, $FORM_ID, $CHECK_RIGHTS)) {
         $arFields_i = array();
         if (strlen(trim($arFields["SID"])) > 0) {
             $arFields["VARNAME"] = $arFields["SID"];
         } elseif (strlen($arFields["VARNAME"]) > 0) {
             $arFields["SID"] = $arFields["VARNAME"];
         }
         //$arFields_i["TIMESTAMP_X"] = $DB->GetNowFunction();
         $arFields_i["TIMESTAMP_X"] = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time() + CTimeZone::GetOffset());
         if (is_set($arFields, "NAME")) {
             $arFields_i["NAME"] = $arFields['NAME'];
         }
         //"'".$DB->ForSql($arFields["NAME"],255)."'";
         if (is_set($arFields, "SID")) {
             $arFields_i["SID"] = $arFields['SID'];
         }
         //"'".$DB->ForSql($arFields["SID"],255)."'";
         if (is_set($arFields, "DESCRIPTION")) {
             $arFields_i["DESCRIPTION"] = $arFields['DESCRIPTION'];
         }
         //"'".$DB->ForSql($arFields["DESCRIPTION"],2000)."'";
         if (is_set($arFields, "C_SORT")) {
             $arFields_i["C_SORT"] = intval($arFields["C_SORT"]);
         }
         //"'".intval($arFields["C_SORT"])."'";
         if (is_array($arrSITE)) {
             reset($arrSITE);
             list($k, $arFields["FIRST_SITE_ID"]) = each($arrSITE);
         }
         if (is_set($arFields, "BUTTON")) {
             $arFields_i["BUTTON"] = $arFields['BUTTON'];
         }
         //"'".$DB->ForSql($arFields["BUTTON"],255)."'";
         if (is_set($arFields, "USE_CAPTCHA")) {
             $arFields_i["USE_CAPTCHA"] = $arFields["USE_CAPTCHA"] == "Y" ? "Y" : "N";
         }
         // "'Y'" : "'N'";
         if (is_set($arFields, "DESCRIPTION_TYPE")) {
             $arFields_i["DESCRIPTION_TYPE"] = $arFields["DESCRIPTION_TYPE"] == "html" ? "html" : "text";
         }
         //"'html'" : "'text'";
         if (is_set($arFields, "FORM_TEMPLATE")) {
             $arFields_i["FORM_TEMPLATE"] = $arFields['FORM_TEMPLATE'];
         }
         //"'".$DB->ForSql($arFields["FORM_TEMPLATE"])."'";
         if (is_set($arFields, "USE_DEFAULT_TEMPLATE")) {
             $arFields_i["USE_DEFAULT_TEMPLATE"] = $arFields["USE_DEFAULT_TEMPLATE"] == "Y" ? "Y" : "N";
         }
         //"'Y'" : "'N'";
         if (is_set($arFields, "SHOW_TEMPLATE")) {
             $arFields_i["SHOW_TEMPLATE"] = $arFields['SHOW_TEMPLATE'];
         }
         //"'".$DB->ForSql($arFields["SHOW_TEMPLATE"],255)."'";
         if (is_set($arFields, "SHOW_RESULT_TEMPLATE")) {
             $arFields_i["SHOW_RESULT_TEMPLATE"] = $arFields['SHOW_RESULT_TEMPLATE'];
         }
         //"'".$DB->ForSql($arFields["SHOW_RESULT_TEMPLATE"],255)."'";
         if (is_set($arFields, "PRINT_RESULT_TEMPLATE")) {
             $arFields_i["PRINT_RESULT_TEMPLATE"] = $arFields['PRINT_RESULT_TEMPLATE'];
         }
         //"'".$DB->ForSql($arFields["PRINT_RESULT_TEMPLATE"],255)."'";
         if (is_set($arFields, "EDIT_RESULT_TEMPLATE")) {
             $arFields_i["EDIT_RESULT_TEMPLATE"] = $arFields['EDIT_RESULT_TEMPLATE'];
         }
         //"'".$DB->ForSql($arFields["EDIT_RESULT_TEMPLATE"],255)."'";
         if (is_set($arFields, "FILTER_RESULT_TEMPLATE")) {
             $arFields_i["FILTER_RESULT_TEMPLATE"] = $arFields['FILTER_RESULT_TEMPLATE'];
         }
         //"'".$DB->ForSql($arFields["FILTER_RESULT_TEMPLATE"],255)."'";
         if (is_set($arFields, "TABLE_RESULT_TEMPLATE")) {
             $arFields_i["TABLE_RESULT_TEMPLATE"] = $arFields['TABLE_RESULT_TEMPLATE'];
         }
         //"'".$DB->ForSql($arFields["TABLE_RESULT_TEMPLATE"],255)."'";
         if (is_set($arFields, "USE_RESTRICTIONS")) {
             $arFields_i["USE_RESTRICTIONS"] = $arFields["USE_RESTRICTIONS"] == "Y" ? "Y" : "N";
         }
         //"'Y'" : "'N'";
         if (is_set($arFields, "RESTRICT_USER")) {
             $arFields_i["RESTRICT_USER"] = intval($arFields["RESTRICT_USER"]);
         }
         //"'".intval($arFields["RESTRICT_USER"])."'";
         if (is_set($arFields, "RESTRICT_TIME")) {
             $arFields_i["RESTRICT_TIME"] = intval($arFields["RESTRICT_TIME"]);
         }
         //"'".intval($arFields["RESTRICT_TIME"])."'";
         if (is_set($arFields, "arRESTRICT_STATUS")) {
             $arFields_i["RESTRICT_STATUS"] = implode(",", $arFields["arRESTRICT_STATUS"]);
         }
         //"'".$DB->ForSql(implode(",", $arFields["arRESTRICT_STATUS"]))."'";
         if (is_set($arFields, "STAT_EVENT1")) {
             $arFields_i["STAT_EVENT1"] = $arFields['STAT_EVENT1'];
         }
         //"'".$DB->ForSql($arFields["STAT_EVENT1"],255)."'";
         if (is_set($arFields, "STAT_EVENT2")) {
             $arFields_i["STAT_EVENT2"] = $arFields['STAT_EVENT2'];
         }
         //"'".$DB->ForSql($arFields["STAT_EVENT2"],255)."'";
         if (is_set($arFields, "STAT_EVENT3")) {
             $arFields_i["STAT_EVENT3"] = $arFields['STAT_EVENT3'];
         }
         //"'".$DB->ForSql($arFields["STAT_EVENT3"],255)."'";
         if (CForm::IsOldVersion() != "Y") {
             unset($arFields_i["SHOW_TEMPLATE"]);
             unset($arFields_i["SHOW_RESULT_TEMPLATE"]);
             unset($arFields_i["PRINT_RESULT_TEMPLATE"]);
             unset($arFields_i["EDIT_RESULT_TEMPLATE"]);
         }
         $z = $DB->Query("SELECT IMAGE_ID, SID, SID as VARNAME FROM b_form WHERE ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
         $zr = $z->Fetch();
         $oldSID = $zr["SID"];
         if (strlen($arFields["arIMAGE"]["name"]) > 0 || strlen($arFields["arIMAGE"]["del"]) > 0) {
             if (intval($zr["IMAGE_ID"]) > 0) {
                 $arFields["arIMAGE"]["old_file"] = $zr["IMAGE_ID"];
             }
             if (!array_key_exists("MODULE_ID", $arFields["arIMAGE"]) || strlen($arFields["arIMAGE"]["MODULE_ID"]) <= 0) {
                 $arFields["arIMAGE"]["MODULE_ID"] = "form";
             }
             $fid = CFile::SaveFile($arFields["arIMAGE"], "form");
             if (intval($fid) > 0) {
                 $arFields_i["IMAGE_ID"] = intval($fid);
             } else {
                 $arFields_i["IMAGE_ID"] = "null";
             }
         }
         if ($arFields['SID']) {
             $arFields_i["MAIL_EVENT_TYPE"] = "FORM_FILLING_" . $arFields["SID"];
         } else {
             $arFields_i["MAIL_EVENT_TYPE"] = "FORM_FILLING_" . $oldSID;
         }
         if ($FORM_ID > 0) {
             $strUpdate = $DB->PrepareUpdate('b_form', $arFields_i);
             if ($strUpdate != '') {
                 $query = 'UPDATE b_form SET ' . $strUpdate . " WHERE ID='" . $FORM_ID . "'";
                 $arBinds = array('FORM_TEMPLATE' => $arFields_i['FORM_TEMPLATE']);
                 $DB->QueryBind($query, $arBinds);
             }
             //$DB->Update("b_form", $arFields_i, "WHERE ID='".$FORM_ID."'", $err_mess.__LINE__);
             CForm::SetMailTemplate($FORM_ID, "N", $oldSID);
         } else {
             //$FORM_ID = $DB->Insert("b_form", $arFields_i, $err_mess.__LINE__);
             $FORM_ID = $DB->Add("b_form", $arFields_i, array('FORM_TEMPLATE'));
             CForm::SetMailTemplate($FORM_ID, "N");
         }
         $FORM_ID = intval($FORM_ID);
         if ($FORM_ID > 0) {
             // сайты
             if (is_set($arFields, "arSITE")) {
                 $DB->Query("DELETE FROM b_form_2_site WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arSITE"])) {
                     reset($arFields["arSITE"]);
                     foreach ($arFields["arSITE"] as $sid) {
                         $strSql = "\n\t\t\t\t\t\t\t\tINSERT INTO b_form_2_site (FORM_ID, SITE_ID) VALUES (\n\t\t\t\t\t\t\t\t\t{$FORM_ID},\n\t\t\t\t\t\t\t\t\t'" . $DB->ForSql($sid, 2) . "'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t";
                         $DB->Query($strSql, false, $err_mess . __LINE__);
                     }
                 }
             }
             // меню
             if (is_set($arFields, "arMENU")) {
                 $DB->Query("DELETE FROM b_form_menu WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arMENU"])) {
                     reset($arFields["arMENU"]);
                     while (list($lid, $menu) = each($arFields["arMENU"])) {
                         $arFields_i = array("FORM_ID" => $FORM_ID, "LID" => "'" . $DB->ForSql($lid, 2) . "'", "MENU" => "'" . $DB->ForSql($menu, 50) . "'");
                         $DB->Insert("b_form_menu", $arFields_i, $err_mess . __LINE__);
                     }
                 }
             }
             // почтовые шаблоны
             if (is_set($arFields, "arMAIL_TEMPLATE")) {
                 $DB->Query("DELETE FROM b_form_2_mail_template WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arMAIL_TEMPLATE"])) {
                     reset($arFields["arMAIL_TEMPLATE"]);
                     foreach ($arFields["arMAIL_TEMPLATE"] as $mid) {
                         $strSql = "\n\t\t\t\t\t\t\t\tINSERT INTO b_form_2_mail_template (FORM_ID, MAIL_TEMPLATE_ID) VALUES (\n\t\t\t\t\t\t\t\t\t{$FORM_ID},\n\t\t\t\t\t\t\t\t\t'" . intval($mid) . "'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t";
                         $DB->Query($strSql, false, $err_mess . __LINE__);
                     }
                 }
             }
             // группы
             if (is_set($arFields, "arGROUP")) {
                 $DB->Query("DELETE FROM b_form_2_group WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arGROUP"])) {
                     reset($arFields["arGROUP"]);
                     while (list($group_id, $perm) = each($arFields["arGROUP"])) {
                         if (intval($perm) > 0) {
                             $arFields_i = array("FORM_ID" => $FORM_ID, "GROUP_ID" => "'" . intval($group_id) . "'", "PERMISSION" => "'" . intval($perm) . "'");
                             $DB->Insert("b_form_2_group", $arFields_i, $err_mess . __LINE__);
                         }
                     }
                 }
             }
         }
         return $FORM_ID;
     }
     return false;
 }
Esempio n. 2
0
if ($FORM_RIGHT <= "D") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
CModule::IncludeModule("form");
ClearVars();
$strError = '';
IncludeModuleLangFile(__FILE__);
$additional = $_REQUEST['additional'];
InitBVar($additional);
$err_mess = "File: " . __FILE__ . "<br>Line: ";
if ($additional != "Y") {
    define("HELP_FILE", "form_question_list.php");
} else {
    define("HELP_FILE", "form_field_list.php");
}
$old_module_version = CForm::IsOldVersion();
$aTabs = array();
$aTabs[] = array("DIV" => "edit1", "TAB" => GetMessage("FORM_PROP"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_PROP_TITLE"));
if ($additional != "Y") {
    $aTabs[] = array("DIV" => "edit2", "TAB" => GetMessage("FORM_QUESTION"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_TITLE"));
    $aTabs[] = array("DIV" => "edit3", "TAB" => GetMessage("FORM_ANSWER"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_ANSWER_LIST"));
    $aTabs[] = array("DIV" => "edit7", "TAB" => GetMessage("FORM_VAL"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_VAL_TITLE"));
}
$aTabs[] = array("DIV" => "edit4", "TAB" => GetMessage("FORM_RESULTS"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_RESULTS_SHOW"));
$aTabs[] = array("DIV" => "edit5", "TAB" => GetMessage("FORM_FILTER"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_FILTER_TYPE"));
$aTabs[] = array("DIV" => "edit6", "TAB" => GetMessage("FORM_COMMENT_TOP"), "ICON" => "form_edit", "TITLE" => GetMessage("FORM_COMMENTS"));
$tabControl = new CAdminTabControl("tabControl", $aTabs);
$message = null;
/***************************************************************************
                           GET | POST processing
***************************************************************************/
Esempio n. 3
0
 function Set($arFields, $FORM_ID = false, $CHECK_RIGHTS = "Y")
 {
     $err_mess = CAllForm::err_mess() . "<br>Function: Set<br>Line: ";
     global $DB, $USER, $strError, $APPLICATION;
     if (CForm::CheckFields($arFields, $FORM_ID, $CHECK_RIGHTS)) {
         $arFields_i = array();
         if (strlen(trim($arFields["SID"])) > 0) {
             $arFields["VARNAME"] = $arFields["SID"];
         } elseif (strlen($arFields["VARNAME"]) > 0) {
             $arFields["SID"] = $arFields["VARNAME"];
         }
         $arFields_i["TIMESTAMP_X"] = $DB->GetNowFunction();
         if (is_set($arFields, "NAME")) {
             $arFields_i["NAME"] = "'" . $DB->ForSql($arFields["NAME"], 255) . "'";
         }
         if (is_set($arFields, "SID")) {
             $arFields_i["SID"] = "'" . $DB->ForSql($arFields["SID"], 255) . "'";
         }
         if (is_set($arFields, "DESCRIPTION")) {
             $arFields_i["DESCRIPTION"] = "'" . $DB->ForSql($arFields["DESCRIPTION"], 2000) . "'";
         }
         if (is_set($arFields, "C_SORT")) {
             $arFields_i["C_SORT"] = "'" . intval($arFields["C_SORT"]) . "'";
         }
         if (is_array($arrSITE)) {
             reset($arrSITE);
             list($k, $arFields["FIRST_SITE_ID"]) = each($arrSITE);
         }
         if (is_set($arFields, "BUTTON")) {
             $arFields_i["BUTTON"] = "'" . $DB->ForSql($arFields["BUTTON"], 255) . "'";
         }
         if (is_set($arFields, "DESCRIPTION_TYPE")) {
             $arFields_i["DESCRIPTION_TYPE"] = $arFields["DESCRIPTION_TYPE"] == "html" ? "'html'" : "'text'";
         }
         if (is_set($arFields, "SHOW_TEMPLATE")) {
             $arFields_i["SHOW_TEMPLATE"] = "'" . $DB->ForSql($arFields["SHOW_TEMPLATE"], 255) . "'";
         }
         if (is_set($arFields, "SHOW_RESULT_TEMPLATE")) {
             $arFields_i["SHOW_RESULT_TEMPLATE"] = "'" . $DB->ForSql($arFields["SHOW_RESULT_TEMPLATE"], 255) . "'";
         }
         if (is_set($arFields, "PRINT_RESULT_TEMPLATE")) {
             $arFields_i["PRINT_RESULT_TEMPLATE"] = "'" . $DB->ForSql($arFields["PRINT_RESULT_TEMPLATE"], 255) . "'";
         }
         if (is_set($arFields, "EDIT_RESULT_TEMPLATE")) {
             $arFields_i["EDIT_RESULT_TEMPLATE"] = "'" . $DB->ForSql($arFields["EDIT_RESULT_TEMPLATE"], 255) . "'";
         }
         if (is_set($arFields, "FILTER_RESULT_TEMPLATE")) {
             $arFields_i["FILTER_RESULT_TEMPLATE"] = "'" . $DB->ForSql($arFields["FILTER_RESULT_TEMPLATE"], 255) . "'";
         }
         if (is_set($arFields, "TABLE_RESULT_TEMPLATE")) {
             $arFields_i["TABLE_RESULT_TEMPLATE"] = "'" . $DB->ForSql($arFields["TABLE_RESULT_TEMPLATE"], 255) . "'";
         }
         if (is_set($arFields, "STAT_EVENT1")) {
             $arFields_i["STAT_EVENT1"] = "'" . $DB->ForSql($arFields["STAT_EVENT1"], 255) . "'";
         }
         if (is_set($arFields, "STAT_EVENT2")) {
             $arFields_i["STAT_EVENT2"] = "'" . $DB->ForSql($arFields["STAT_EVENT2"], 255) . "'";
         }
         if (is_set($arFields, "STAT_EVENT3")) {
             $arFields_i["STAT_EVENT3"] = "'" . $DB->ForSql($arFields["STAT_EVENT3"], 255) . "'";
         }
         if (CForm::IsOldVersion() != "Y") {
             unset($arFields_i["SHOW_TEMPLATE"]);
             unset($arFields_i["SHOW_RESULT_TEMPLATE"]);
             unset($arFields_i["PRINT_RESULT_TEMPLATE"]);
             unset($arFields_i["EDIT_RESULT_TEMPLATE"]);
         }
         $z = $DB->Query("SELECT IMAGE_ID, SID, SID as VARNAME FROM b_form WHERE ID='{$FORM_ID}'", false, $err_mess . __LINE__);
         $zr = $z->Fetch();
         $oldSID = $zr["SID"];
         if (strlen($arFields["arIMAGE"]["name"]) > 0 || strlen($arFields["arIMAGE"]["del"]) > 0) {
             $fid = CFile::SaveFile($arFields["arIMAGE"], "form");
             if (intval($fid) > 0) {
                 $arFields_i["IMAGE_ID"] = intval($fid);
             } else {
                 $arFields_i["IMAGE_ID"] = "null";
             }
         }
         $arFields_i["MAIL_EVENT_TYPE"] = "'" . $DB->ForSql("FORM_FILLING_" . $arFields["SID"], 50) . "'";
         if ($FORM_ID > 0) {
             $DB->Update("b_form", $arFields_i, "WHERE ID='" . $FORM_ID . "'", $err_mess . __LINE__);
             CForm::SetMailTemplate($FORM_ID, "N", $oldSID);
         } else {
             $FORM_ID = $DB->Insert("b_form", $arFields_i, $err_mess . __LINE__);
             CForm::SetMailTemplate($FORM_ID, "N");
         }
         $FORM_ID = intval($FORM_ID);
         if ($FORM_ID > 0) {
             // сайты
             if (is_set($arFields, "arSITE")) {
                 $DB->Query("DELETE FROM b_form_2_site WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arSITE"])) {
                     reset($arFields["arSITE"]);
                     foreach ($arFields["arSITE"] as $sid) {
                         $strSql = "\r\n\t\t\t\t\t\t\t\tINSERT INTO b_form_2_site (FORM_ID, SITE_ID) VALUES (\r\n\t\t\t\t\t\t\t\t\t{$FORM_ID},\r\n\t\t\t\t\t\t\t\t\t'" . $DB->ForSql($sid, 2) . "'\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t";
                         $DB->Query($strSql, false, $err_mess . __LINE__);
                     }
                 }
             }
             // меню
             if (is_set($arFields, "arMENU")) {
                 $DB->Query("DELETE FROM b_form_menu WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arMENU"])) {
                     reset($arFields["arMENU"]);
                     while (list($lid, $menu) = each($arFields["arMENU"])) {
                         $arFields_i = array("FORM_ID" => $FORM_ID, "LID" => "'" . $DB->ForSql($lid, 2) . "'", "MENU" => "'" . $DB->ForSql($menu, 50) . "'");
                         $DB->Insert("b_form_menu", $arFields_i, $err_mess . __LINE__);
                     }
                 }
             }
             // почтовые шаблоны
             if (is_set($arFields, "arMAIL_TEMPLATE")) {
                 $DB->Query("DELETE FROM b_form_2_mail_template WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arMAIL_TEMPLATE"])) {
                     reset($arFields["arMAIL_TEMPLATE"]);
                     foreach ($arFields["arMAIL_TEMPLATE"] as $mid) {
                         $strSql = "\r\n\t\t\t\t\t\t\t\tINSERT INTO b_form_2_mail_template (FORM_ID, MAIL_TEMPLATE_ID) VALUES (\r\n\t\t\t\t\t\t\t\t\t{$FORM_ID},\r\n\t\t\t\t\t\t\t\t\t'" . intval($mid) . "'\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t";
                         $DB->Query($strSql, false, $err_mess . __LINE__);
                     }
                 }
             }
             // группы
             if (is_set($arFields, "arGROUP")) {
                 $DB->Query("DELETE FROM b_form_2_group WHERE FORM_ID='" . $FORM_ID . "'", false, $err_mess . __LINE__);
                 if (is_array($arFields["arGROUP"])) {
                     reset($arFields["arGROUP"]);
                     while (list($group_id, $perm) = each($arFields["arGROUP"])) {
                         if (intval($perm) > 0) {
                             $arFields_i = array("FORM_ID" => $FORM_ID, "GROUP_ID" => "'" . intval($group_id) . "'", "PERMISSION" => "'" . intval($perm) . "'");
                             $DB->Insert("b_form_2_group", $arFields_i, $err_mess . __LINE__);
                         }
                     }
                 }
             }
         }
         return $FORM_ID;
     }
     return false;
 }