1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
contractor.php
См. документацию.
1<?php
2
4
5require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/catalog/general/contractor.php");
6
8{
14 public static function add($arFields)
15 {
16 global $DB, $APPLICATION;
17
18 if (Contractor\Provider\Manager::isActiveProviderExists())
19 {
20 $APPLICATION->throwException('This API has been deprecated and is no longer available');
21 return false;
22 }
23
24 if(array_key_exists('DATE_CREATE', $arFields))
25 unset($arFields['DATE_CREATE']);
26 if(array_key_exists('DATE_MODIFY', $arFields))
27 unset($arFields['DATE_MODIFY']);
28
29 $arFields['~DATE_MODIFY'] = $DB->GetNowFunction();
30 $arFields['~DATE_CREATE'] = $DB->GetNowFunction();
31
32 if(!self::checkFields('ADD', $arFields))
33 return false;
34
35 $arInsert = $DB->PrepareInsert("b_catalog_contractor", $arFields);
36
37 $strSql = "INSERT INTO b_catalog_contractor (".$arInsert[0].") VALUES(".$arInsert[1].")";
38
39 $res = $DB->Query($strSql);
40 if(!$res)
41 return false;
42 $lastId = intval($DB->LastID());
43 return $lastId;
44 }
45
46 public static function getList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
47 {
48 global $DB;
49
50 if (Contractor\Provider\Manager::isActiveProviderExists())
51 {
55 return new CDBResult();
56 }
57
58 if (empty($arSelectFields))
59 $arSelectFields = array("ID", "PERSON_TYPE", "PERSON_NAME", "PERSON_LASTNAME", "PERSON_MIDDLENAME", "EMAIL", "PHONE", "POST_INDEX", "COUNTRY", "CITY", "COMPANY", "ADDRESS", "INN", "KPP");
60
62 "ID" => array("FIELD" => "CC.ID", "TYPE" => "int"),
63 "PERSON_TYPE" => array("FIELD" => "CC.PERSON_TYPE", "TYPE" => "char"),
64 "PERSON_NAME" => array("FIELD" => "CC.PERSON_NAME", "TYPE" => "string"),
65 "PERSON_LASTNAME" => array("FIELD" => "CC.PERSON_LASTNAME", "TYPE" => "string"),
66 "PERSON_MIDDLENAME" => array("FIELD" => "CC.PERSON_MIDDLENAME", "TYPE" => "string"),
67 "EMAIL" => array("FIELD" => "CC.EMAIL", "TYPE" => "string"),
68 "PHONE" => array("FIELD" => "CC.PHONE", "TYPE" => "string"),
69 "POST_INDEX" => array("FIELD" => "CC.POST_INDEX", "TYPE" => "string"),
70 "COUNTRY" => array("FIELD" => "CC.COUNTRY", "TYPE" => "string"),
71 "CITY" => array("FIELD" => "CC.CITY", "TYPE" => "string"),
72 "COMPANY" => array("FIELD" => "CC.COMPANY", "TYPE" => "string"),
73 "ADDRESS" => array("FIELD" => "CC.ADDRESS", "TYPE" => "string"),
74 "INN" => array("FIELD" => "CC.INN", "TYPE" => "string"),
75 "KPP" => array("FIELD" => "CC.KPP", "TYPE" => "string"),
76 "DATE_CREATE" => array("FIELD" => "CC.DATE_CREATE", "TYPE" => "datetime"),
77 "DATE_MODIFY" => array("FIELD" => "CC.DATE_MODIFY", "TYPE" => "datetime"),
78 "CREATED_BY" => array("FIELD" => "CC.CREATED_BY", "TYPE" => "int"),
79 "MODIFIED_BY" => array("FIELD" => "CC.MODIFIED_BY", "TYPE" => "int"),
80 );
81 $arSqls = CCatalog::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
82 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
83
84 if (empty($arGroupBy) && is_array($arGroupBy))
85 {
86 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_contractor CC ".$arSqls["FROM"];
87 if (!empty($arSqls["WHERE"]))
88 $strSql .= " WHERE ".$arSqls["WHERE"];
89 if (!empty($arSqls["GROUPBY"]))
90 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
91
92 $dbRes = $DB->Query($strSql);
93 if ($arRes = $dbRes->Fetch())
94 return $arRes["CNT"];
95 else
96 return false;
97 }
98
99 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_contractor CC ".$arSqls["FROM"];
100 if (!empty($arSqls["WHERE"]))
101 $strSql .= " WHERE ".$arSqls["WHERE"];
102 if (!empty($arSqls["GROUPBY"]))
103 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
104 if (!empty($arSqls["ORDERBY"]))
105 $strSql .= " ORDER BY ".$arSqls["ORDERBY"];
106
107 $intTopCount = 0;
108 $boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
109 if ($boolNavStartParams && array_key_exists('nTopCount', $arNavStartParams))
110 {
111 $intTopCount = intval($arNavStartParams["nTopCount"]);
112 }
113 if ($boolNavStartParams && 0 >= $intTopCount)
114 {
115 $strSql_tmp = "SELECT COUNT('x') as CNT FROM b_catalog_contractor CC ".$arSqls["FROM"];
116 if (!empty($arSqls["WHERE"]))
117 $strSql_tmp .= " WHERE ".$arSqls["WHERE"];
118 if (!empty($arSqls["GROUPBY"]))
119 $strSql_tmp .= " GROUP BY ".$arSqls["GROUPBY"];
120
121 $dbRes = $DB->Query($strSql_tmp);
122 $cnt = 0;
123 if (empty($arSqls["GROUPBY"]))
124 {
125 if ($arRes = $dbRes->Fetch())
126 $cnt = $arRes["CNT"];
127 }
128 else
129 {
130 $cnt = $dbRes->SelectedRowsCount();
131 }
132
133 $dbRes = new CDBResult();
134
135 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
136 }
137 else
138 {
139 if ($boolNavStartParams && 0 < $intTopCount)
140 {
141 $strSql .= " LIMIT ".$intTopCount;
142 }
143 $dbRes = $DB->Query($strSql);
144 }
145
146 return $dbRes;
147 }
148}
global $APPLICATION
Определения include.php:80
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения catalog.php:389
Определения contractor.php:8
static getList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения contractor.php:46
static add($arFields)
Определения contractor.php:14
Определения dbresult.php:88
if(!\Bitrix\Main\Loader::includeModule('clouds')) $lastId
Определения sync.php:68
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
$arRes
Определения options.php:104
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168