2require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/bizproc/classes/general/workflowtemplateloader.php");
4class CBPWorkflowTemplateLoader
5 extends CAllBPWorkflowTemplateLoader
9 private function __construct()
11 $useGZipCompressionOption = \Bitrix\Main\Config\Option::get(
"bizproc",
"use_gzip_compression",
"");
12 if ($useGZipCompressionOption ===
"Y")
14 elseif ($useGZipCompressionOption ===
"N")
15 $this->useGZipCompression =
false;
17 $this->useGZipCompression = function_exists(
"gzcompress");
27 if (!isset(self::$instance))
30 self::$instance =
new $c;
33 return self::$instance;
40 if (
count($arSelectFields) <= 0)
41 $arSelectFields =
array(
"ID",
"MODULE_ID",
"ENTITY",
"DOCUMENT_TYPE",
"AUTO_EXECUTE",
"NAME",
"DESCRIPTION",
"TEMPLATE",
"PARAMETERS",
"VARIABLES",
"CONSTANTS",
"MODIFIED",
"USER_ID",
"ACTIVE",
"IS_MODIFIED");
43 if (
count(array_intersect($arSelectFields,
array(
"MODULE_ID",
"ENTITY",
"DOCUMENT_TYPE"))) > 0)
45 if (!in_array(
"MODULE_ID", $arSelectFields))
46 $arSelectFields[] =
"MODULE_ID";
47 if (!in_array(
"ENTITY", $arSelectFields))
48 $arSelectFields[] =
"ENTITY";
49 if (!in_array(
"DOCUMENT_TYPE", $arSelectFields))
50 $arSelectFields[] =
"DOCUMENT_TYPE";
53 if (array_key_exists(
"DOCUMENT_TYPE",
$arFilter))
55 $d = CBPHelper::ParseDocumentId(
$arFilter[
"DOCUMENT_TYPE"]);
61 if (array_key_exists(
"AUTO_EXECUTE",
$arFilter))
80 "ID" => Array(
"FIELD" =>
"T.ID",
"TYPE" =>
"int"),
81 "MODULE_ID" => Array(
"FIELD" =>
"T.MODULE_ID",
"TYPE" =>
"string"),
82 "ENTITY" => Array(
"FIELD" =>
"T.ENTITY",
"TYPE" =>
"string"),
83 "DOCUMENT_TYPE" => Array(
"FIELD" =>
"T.DOCUMENT_TYPE",
"TYPE" =>
"string"),
84 "AUTO_EXECUTE" => Array(
"FIELD" =>
"T.AUTO_EXECUTE",
"TYPE" =>
"int"),
85 "NAME" => Array(
"FIELD" =>
"T.NAME",
"TYPE" =>
"string"),
86 "DESCRIPTION" => Array(
"FIELD" =>
"T.DESCRIPTION",
"TYPE" =>
"string"),
87 "TEMPLATE" => Array(
"FIELD" =>
"T.TEMPLATE",
"TYPE" =>
"string"),
88 "PARAMETERS" => Array(
"FIELD" =>
"T.PARAMETERS",
"TYPE" =>
"string"),
89 "VARIABLES" => Array(
"FIELD" =>
"T.VARIABLES",
"TYPE" =>
"string"),
90 "CONSTANTS" => Array(
"FIELD" =>
"T.CONSTANTS",
"TYPE" =>
"string"),
91 "MODIFIED" => Array(
"FIELD" =>
"T.MODIFIED",
"TYPE" =>
"datetime"),
92 "USER_ID" => Array(
"FIELD" =>
"T.USER_ID",
"TYPE" =>
"int"),
93 "SYSTEM_CODE" => Array(
"FIELD" =>
"T.SYSTEM_CODE",
"TYPE" =>
"string"),
94 "ACTIVE" => Array(
"FIELD" =>
"T.ACTIVE",
"TYPE" =>
"string"),
95 "IS_MODIFIED" => Array(
"FIELD" =>
"T.IS_MODIFIED",
"TYPE" =>
"string"),
97 "USER_NAME" => Array(
"FIELD" =>
"U.NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (T.USER_ID = U.ID)"),
98 "USER_LAST_NAME" => Array(
"FIELD" =>
"U.LAST_NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (T.USER_ID = U.ID)"),
99 "USER_SECOND_NAME" => Array(
"FIELD" =>
"U.SECOND_NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (T.USER_ID = U.ID)"),
100 "USER_LOGIN" => Array(
"FIELD" =>
"U.LOGIN",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_user U ON (T.USER_ID = U.ID)"),
103 $arSqls = CBPHelper::PrepareSql(
$arFields, $arOrder,
$arFilter, $arGroupBy, $arSelectFields);
105 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"", $arSqls[
"SELECT"]);
107 if (is_array($arGroupBy) &&
count($arGroupBy)==0)
110 "SELECT ".$arSqls[
"SELECT"].
" ".
111 "FROM b_bp_workflow_template T ".
112 " ".$arSqls[
"FROM"].
" ";
113 if (strlen($arSqls[
"WHERE"]) > 0)
114 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
115 if (strlen($arSqls[
"GROUPBY"]) > 0)
116 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
120 $dbRes =
$DB->Query($strSql,
false,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
128 "SELECT ".$arSqls[
"SELECT"].
" ".
129 "FROM b_bp_workflow_template T ".
130 " ".$arSqls[
"FROM"].
" ";
131 if (strlen($arSqls[
"WHERE"]) > 0)
132 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
133 if (strlen($arSqls[
"GROUPBY"]) > 0)
134 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
135 if (strlen($arSqls[
"ORDERBY"]) > 0)
136 $strSql .=
"ORDER BY ".$arSqls[
"ORDERBY"].
" ";
138 if (is_array($arNavStartParams) && IntVal($arNavStartParams[
"nTopCount"]) <= 0)
141 "SELECT COUNT('x') as CNT ".
142 "FROM b_bp_workflow_template T ".
143 " ".$arSqls[
"FROM"].
" ";
144 if (strlen($arSqls[
"WHERE"]) > 0)
145 $strSql_tmp .=
"WHERE ".$arSqls[
"WHERE"].
" ";
146 if (strlen($arSqls[
"GROUPBY"]) > 0)
147 $strSql_tmp .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
151 $dbRes =
$DB->Query($strSql_tmp,
false,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
153 if (strlen($arSqls[
"GROUPBY"]) <= 0)
160 $cnt =
$dbRes->SelectedRowsCount();
164 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
168 if (is_array($arNavStartParams) && IntVal($arNavStartParams[
"nTopCount"]) > 0)
169 $strSql .=
"LIMIT ".intval($arNavStartParams[
"nTopCount"]);
173 $dbRes =
$DB->Query($strSql,
false,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
184 self::ParseFields(
$arFields, 0, $systemImport);
186 $arInsert =
$DB->PrepareInsert(
"b_bp_workflow_template",
$arFields);
189 "INSERT INTO b_bp_workflow_template (".$arInsert[0].
", MODIFIED) ".
190 "VALUES(".$arInsert[1].
", ".
$DB->CurrentTimeFunction().
")";
191 $DB->Query($strSql, False,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
193 return intval(
$DB->LastID());
204 self::ParseFields(
$arFields, $id, $systemImport);
206 $strUpdate =
$DB->PrepareUpdate(
"b_bp_workflow_template",
$arFields);
209 "UPDATE b_bp_workflow_template SET ".
211 " MODIFIED = ".$DB->CurrentTimeFunction().
" ".
212 "WHERE ID = ".intval($id).
" ";
213 $DB->Query($strSql, False,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
AddTemplate($arFields, $systemImport=false)
UpdateTemplate($id, $arFields, $systemImport=false)
static useGZipCompression()
GetTemplatesList($arOrder=array("ID"=> "DESC"), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
if(preg_match('/^ else[a-z0-9_]{2}$/i', $siteID)===1)
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."%"