5 public static function GetPermissionList($STATUS_ID, &$arPERMISSION_VIEW, &$arPERMISSION_MOVE, &$arPERMISSION_EDIT, &$arPERMISSION_DELETE)
8 $STATUS_ID = intval($STATUS_ID);
9 $arPERMISSION_VIEW = $arPERMISSION_MOVE = $arPERMISSION_EDIT = $arPERMISSION_DELETE =
array();
17 STATUS_ID='$STATUS_ID'
19 $z =
$DB->Query($strSql);
20 while (
$zr=
$z->Fetch())
22 if (
$zr[
"PERMISSION"]==
"VIEW") $arPERMISSION_VIEW[] =
$zr[
"GROUP_ID"];
23 if (
$zr[
"PERMISSION"]==
"MOVE") $arPERMISSION_MOVE[] =
$zr[
"GROUP_ID"];
24 if (
$zr[
"PERMISSION"]==
"EDIT") $arPERMISSION_EDIT[] =
$zr[
"GROUP_ID"];
25 if (
$zr[
"PERMISSION"]==
"DELETE") $arPERMISSION_DELETE[] =
$zr[
"GROUP_ID"];
32 return array(
"VIEW",
"MOVE",
"EDIT",
"DELETE");
39 $USER_ID =
$USER->GetID();
40 $STATUS_ID = intval($STATUS_ID);
59 b_form_status_2_group G
61 G.STATUS_ID = $STATUS_ID
63 G.GROUP_ID IN (0,".$groups.
")";
65 $z =
$DB->Query($strSql);
66 while (
$zr =
$z->Fetch())
67 $arReturn[] =
$zr[
"PERMISSION"];
76 $WEB_FORM_ID = intval($WEB_FORM_ID);
77 $strSql =
"SELECT max(C_SORT) MAX_SORT FROM b_form_status WHERE FORM_ID=$WEB_FORM_ID";
78 $z =
$DB->Query($strSql);
80 return intval(
$zr[
"MAX_SORT"])+100;
86 $WEB_FORM_ID = intval($WEB_FORM_ID);
87 $strSql =
"SELECT ID FROM b_form_status WHERE FORM_ID=$WEB_FORM_ID and ACTIVE='Y' and DEFAULT_VALUE='Y'";
88 $z =
$DB->Query($strSql);
90 return intval(
$zr[
"ID"]);
97 $STATUS_ID = intval($STATUS_ID);
99 if ($FORM_ID <= 0)
$str .=
GetMessage(
"FORM_ERROR_FORM_ID_NOT_DEFINED").
"<br>";
108 if (
$FORM_RIGHT>
"D" && $F_RIGHT>=30) $RIGHT_OK =
"Y";
120 if (
$str <> '')
return false;
else return true;
123 public static function Set(
$arFields, $STATUS_ID=
false, $CHECK_RIGHTS=
"Y")
126 $STATUS_ID = intval($STATUS_ID);
129 $arFields_i =
array();
131 $arFields_i[
"TIMESTAMP_X"] =
$DB->GetNowFunction();
134 $arFields_i[
"C_SORT"] =
"'".intval(
$arFields[
"C_SORT"]).
"'";
137 $arFields_i[
"ACTIVE"] = (
$arFields[
"ACTIVE"]==
"Y") ?
"'Y'" :
"'N'";
140 $arFields_i[
"TITLE"] =
"'".$DB->ForSql(
$arFields[
"TITLE"],255).
"'";
143 $arFields_i[
"DESCRIPTION"] =
"'".$DB->ForSql(
$arFields[
"DESCRIPTION"],2000).
"'";
146 $arFields_i[
"CSS"] =
"'".$DB->ForSql(
$arFields[
"CSS"],255).
"'";
149 $arFields_i[
"HANDLER_OUT"] =
"'".$DB->ForSql(
$arFields[
"HANDLER_OUT"],255).
"'";
152 $arFields_i[
"HANDLER_IN"] =
"'".$DB->ForSql(
$arFields[
"HANDLER_IN"],255).
"'";
155 $arFields_i[
"MAIL_EVENT_TYPE"] =
"'".$DB->ForSql(
$arFields[
"MAIL_EVENT_TYPE"],255).
"'";
158 if ($DEFAULT_STATUS_ID<=0 || $DEFAULT_STATUS_ID==$STATUS_ID)
161 $arFields_i[
"DEFAULT_VALUE"] = (
$arFields[
"DEFAULT_VALUE"]==
"Y") ?
"'Y'" :
"'N'";
166 $DB->Update(
"b_form_status", $arFields_i,
"WHERE ID='".$STATUS_ID.
"'");
170 $arFields_i[
"FORM_ID"] =
"'".intval(
$arFields[
"FORM_ID"]).
"'";
171 $STATUS_ID =
$DB->Insert(
"b_form_status", $arFields_i);
174 $STATUS_ID = intval($STATUS_ID);
180 $DB->Query(
"DELETE FROM b_form_status_2_group WHERE STATUS_ID='".$STATUS_ID.
"' and PERMISSION='VIEW'");
181 if (is_array(
$arFields[
"arPERMISSION_VIEW"]))
184 foreach(
$arFields[
"arPERMISSION_VIEW"] as $gid)
187 "STATUS_ID" =>
"'".intval($STATUS_ID).
"'",
188 "GROUP_ID" =>
"'".intval($gid).
"'",
189 "PERMISSION" =>
"'VIEW'"
191 $DB->Insert(
"b_form_status_2_group",$arFields_i);
198 $DB->Query(
"DELETE FROM b_form_status_2_group WHERE STATUS_ID='".$STATUS_ID.
"' and PERMISSION='MOVE'");
199 if (is_array(
$arFields[
"arPERMISSION_MOVE"]))
202 foreach(
$arFields[
"arPERMISSION_MOVE"] as $gid)
205 "STATUS_ID" =>
"'".intval($STATUS_ID).
"'",
206 "GROUP_ID" =>
"'".intval($gid).
"'",
207 "PERMISSION" =>
"'MOVE'"
209 $DB->Insert(
"b_form_status_2_group",$arFields_i);
216 $DB->Query(
"DELETE FROM b_form_status_2_group WHERE STATUS_ID='".$STATUS_ID.
"' and PERMISSION='EDIT'");
217 if (is_array(
$arFields[
"arPERMISSION_EDIT"]))
220 foreach(
$arFields[
"arPERMISSION_EDIT"] as $gid)
223 "STATUS_ID" =>
"'".intval($STATUS_ID).
"'",
224 "GROUP_ID" =>
"'".intval($gid).
"'",
225 "PERMISSION" =>
"'EDIT'"
227 $DB->Insert(
"b_form_status_2_group",$arFields_i);
234 $DB->Query(
"DELETE FROM b_form_status_2_group WHERE STATUS_ID='".$STATUS_ID.
"' and PERMISSION='DELETE'");
235 if (is_array(
$arFields[
"arPERMISSION_DELETE"]))
238 foreach(
$arFields[
"arPERMISSION_DELETE"] as $gid)
241 "STATUS_ID" =>
"'".intval($STATUS_ID).
"'",
242 "GROUP_ID" =>
"'".intval($gid).
"'",
243 "PERMISSION" =>
"'DELETE'"
245 $DB->Insert(
"b_form_status_2_group",$arFields_i);
252 $DB->Query(
"DELETE FROM b_form_status_2_mail_template WHERE STATUS_ID='".$STATUS_ID.
"'");
253 if (is_array(
$arFields[
"arMAIL_TEMPLATE"]))
259 INSERT INTO b_form_status_2_mail_template (STATUS_ID, MAIL_TEMPLATE_ID) VALUES (
279 if ($arStatus = $rsStatus->Fetch())
287 if ($F_RIGHT>=30) $RIGHT_OK=
"Y";
291 $strSql =
"SELECT 'x' FROM b_form_result WHERE STATUS_ID='$ID'";
292 $z =
$DB->Query($strSql);
293 if (!
$zr =
$z->Fetch())
295 if (
$DB->Query(
"DELETE FROM b_form_status WHERE ID='$ID'"))
297 if (
$DB->Query(
"DELETE FROM b_form_status_2_group WHERE STATUS_ID='$ID'"))
310 public static function Copy(
$ID, $CHECK_RIGHTS=
"Y", $NEW_FORM_ID=
false)
314 $NEW_FORM_ID = intval($NEW_FORM_ID);
316 if ($arStatus = $rsStatus->Fetch())
328 if ($NEW_F_RIGHT>=30) $RIGHT_OK =
"Y";
341 "FORM_ID" => ($NEW_FORM_ID>0) ? $NEW_FORM_ID : $arStatus[
"FORM_ID"],
342 "C_SORT" => $arStatus[
"C_SORT"],
343 "ACTIVE" => $arStatus[
"ACTIVE"],
344 "TITLE" => $arStatus[
"TITLE"],
345 "DESCRIPTION" => $arStatus[
"DESCRIPTION"],
346 "CSS" => $arStatus[
"CSS"],
347 "HANDLER_OUT" => $arStatus[
"HANDLER_OUT"],
348 "HANDLER_IN" => $arStatus[
"HANDLER_IN"],
349 "DEFAULT_VALUE" => $arStatus[
"DEFAULT_VALUE"],
350 "arPERMISSION_VIEW" => $arPERMISSION_VIEW,
351 "arPERMISSION_MOVE" => $arPERMISSION_MOVE,
352 "arPERMISSION_EDIT" => $arPERMISSION_EDIT,
353 "arPERMISSION_DELETE" => $arPERMISSION_DELETE,
364 public static function SetMailTemplate($WEB_FORM_ID, $STATUS_ID, $ADD_NEW_TEMPLATE=
"Y", $old_SID=
"", $bReturnFullInfo =
false)
368 $arrReturn =
array();
369 $WEB_FORM_ID = intval($WEB_FORM_ID);
371 if ($arrForm = $q->Fetch())
374 if ($arrStatus =
$dbRes->Fetch())
376 $MAIL_EVENT_TYPE =
"FORM_STATUS_CHANGE_".$arrForm[
"SID"].
"_".$arrStatus[
'ID'];
378 $old_MAIL_EVENT_TYPE =
"FORM_STATUS_CHANGE_".$old_SID.
"_".$arrStatus[
'ID'];
383 if ($MAIL_EVENT_TYPE <>
'')
384 $et->
Delete($MAIL_EVENT_TYPE);
389 while ($arLang =
$z->Fetch())
394 $str .=
"#EMAIL_TO# - ".GetMessage(
"FORM_L_EMAIL_TO").
"\n";
395 $str .=
"#RS_FORM_ID# - ".GetMessage(
"FORM_L_FORM_ID").
"\n";
396 $str .=
"#RS_FORM_NAME# - ".GetMessage(
"FORM_L_NAME").
"\n";
397 $str .=
"#RS_FORM_SID# - ".GetMessage(
"FORM_L_SID").
"\n";
398 $str .=
"#RS_RESULT_ID# - ".GetMessage(
"FORM_L_RESULT_ID").
"\n";
399 $str .=
"#RS_DATE_CREATE# - ".GetMessage(
"FORM_L_DATE_CREATE").
"\n";
400 $str .=
"#RS_USER_ID# - ".GetMessage(
"FORM_L_USER_ID").
"\n";
401 $str .=
"#RS_USER_EMAIL# - ".GetMessage(
"FORM_L_USER_EMAIL").
"\n";
402 $str .=
"#RS_USER_NAME# - ".GetMessage(
"FORM_L_USER_NAME").
"\n";
403 $str .=
"#RS_STATUS_ID# - ".GetMessage(
"FORM_L_STATUS_ID").
"\n";
404 $str .=
"#RS_STATUS_NAME# - ".GetMessage(
"FORM_L_STATUS_NAME").
"\n";
408 "LID" => $arLang[
"LID"],
409 "EVENT_NAME" => $MAIL_EVENT_TYPE,
410 "NAME" => str_replace(
array(
'#FORM_SID#',
'#STATUS_NAME#'),
array($arrForm[
'SID'], $arrStatus[
'TITLE']),
GetMessage(
"FORM_CHANGE_STATUS")),
411 "DESCRIPTION" =>
$str
416 if ($old_MAIL_EVENT_TYPE <>
'' && $old_MAIL_EVENT_TYPE!=$MAIL_EVENT_TYPE)
418 $e = $em->GetList(
"id",
"desc",
array(
"EVENT_NAME"=>$old_MAIL_EVENT_TYPE));
419 while ($er=$e->Fetch())
421 $em->Update($er[
"ID"],
array(
"EVENT_NAME"=>$MAIL_EVENT_TYPE));
423 if ($old_MAIL_EVENT_TYPE <>
'')
424 $et->Delete($old_MAIL_EVENT_TYPE);
427 if ($ADD_NEW_TEMPLATE==
"Y")
429 $z = CSite::GetList();
430 while ($arSite =
$z->Fetch()) $arrSiteLang[$arSite[
"ID"]] = $arSite[
"LANGUAGE_ID"];
433 if (is_array($arrFormSite) &&
count($arrFormSite)>0)
435 foreach($arrFormSite as $sid)
439 $SUBJECT =
GetMessage(
"FORM_CHANGE_STATUS_S");
440 $MESSAGE =
GetMessage(
"FORM_CHANGE_STATUS_B");
444 "EVENT_NAME" => $MAIL_EVENT_TYPE,
446 "EMAIL_FROM" =>
"#DEFAULT_EMAIL_FROM#",
447 "EMAIL_TO" =>
"#EMAIL_TO#",
448 "SUBJECT" => $SUBJECT,
449 "MESSAGE" => $MESSAGE,
450 "BODY_TYPE" =>
"text"
453 if ($bReturnFullInfo)
454 $arrReturn[] =
array(
455 'ID' => $TEMPLATE_ID,
459 $arrReturn[] = $TEMPLATE_ID;
465 CFormStatus::Set(
array(
'FORM_ID' => $WEB_FORM_ID,
'MAIL_EVENT_TYPE' => $MAIL_EVENT_TYPE), $STATUS_ID,
'N');
477 $STATUS_ID = intval($STATUS_ID);
478 if ($STATUS_ID <= 0)
return false;
485 b_form_status_2_mail_template FM
487 FM.STATUS_ID='".$STATUS_ID.
"'
489 $rs =
$DB->Query($strSql);
490 while (
$ar =
$rs->Fetch()) $arrRes[] =
$ar[
"MAIL_TEMPLATE_ID"];
499 $STATUS_ID = intval($STATUS_ID);
508INNER JOIN b_form_2_site FS ON (FS.FORM_ID = F.FORM_ID)
510 F.ID='".$STATUS_ID.
"'
513 $z =
$DB->Query($strSql);
514 while (
$zr =
$z->Fetch())
516 $MAIL_EVENT_TYPE =
$zr[
"MAIL_EVENT_TYPE"];
517 $arrSITE[] =
$zr[
"SITE_ID"];
520 if ($MAIL_EVENT_TYPE ==
'')
523 $arReferenceId =
array();
524 $arReference =
array();
527 "SITE_ID" => $arrSITE,
528 "EVENT_NAME" => $MAIL_EVENT_TYPE
531 while ($er=$e->Fetch())
533 if (!in_array($er[
"ID"], $arReferenceId))
535 $arReferenceId[] = $er[
"ID"];
536 $arReference[] =
"(".$er[
"LID"].
") ".
TruncateText($er[
"SUBJECT"],50);
540 $arr =
array(
"reference"=>$arReference,
"reference_id"=>$arReferenceId);
static GetList($by='id', $order='desc', $arFilter=[])
static GetList($by="sort", $order="asc", $arFilter=[])
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
TruncateText($strText, $intLen)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"