1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
blog_trackback.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/blog/general/blog_trackback.php");
4
6{
7 /*************** ADD, UPDATE, DELETE *****************/
8 public static function Add($arFields)
9 {
10 global $DB;
11
12 $arFields1 = array();
13 foreach ($arFields as $key => $value)
14 {
15 if (mb_substr($key, 0, 1) == "=")
16 {
17 $arFields1[mb_substr($key, 1)] = $value;
18 unset($arFields[$key]);
19 }
20 }
21
23 return false;
24
25 $arInsert = $DB->PrepareInsert("b_blog_trackback", $arFields);
26
27 foreach ($arFields1 as $key => $value)
28 {
29 if ($arInsert[0] <> '')
30 $arInsert[0] .= ", ";
31 $arInsert[0] .= $key;
32 if ($arInsert[1] <> '')
33 $arInsert[1] .= ", ";
34 $arInsert[1] .= $value;
35 }
36
37 $ID = False;
38 if ($arInsert[0] <> '')
39 {
40 $strSql =
41 "INSERT INTO b_blog_trackback(".$arInsert[0].") ".
42 "VALUES(".$arInsert[1].")";
43 $DB->Query($strSql);
44
45 $ID = intval($DB->LastID());
46 }
47
48 if ($ID)
49 {
50 $arTrackback = CBlogTrackback::GetByID($ID);
51 CBlogPost::Update($arTrackback["POST_ID"], array("=NUM_TRACKBACKS" => "NUM_TRACKBACKS + 1"));
52 }
53
54 return $ID;
55 }
56
57 public static function Update($ID, $arFields)
58 {
59 global $DB;
60
61 $ID = intval($ID);
62
63 $arFields1 = array();
64 foreach ($arFields as $key => $value)
65 {
66 if (mb_substr($key, 0, 1) == "=")
67 {
68 $arFields1[mb_substr($key, 1)] = $value;
69 unset($arFields[$key]);
70 }
71 }
72
74 return false;
75
76 $strUpdate = $DB->PrepareUpdate("b_blog_trackback", $arFields);
77
78 foreach ($arFields1 as $key => $value)
79 {
80 if ($strUpdate <> '')
81 $strUpdate .= ", ";
82 $strUpdate .= $key."=".$value." ";
83 }
84
85 if ($strUpdate <> '')
86 {
87 $strSql =
88 "UPDATE b_blog_trackback SET ".
89 " ".$strUpdate." ".
90 "WHERE ID = ".$ID." ";
91 $DB->Query($strSql);
92
93 unset($GLOBALS["BLOG_TRACKBACK"]["BLOG_TRACKBACK_CACHE_".$ID]);
94
95 return $ID;
96 }
97
98 return False;
99 }
100
101 //*************** SELECT *********************/
102 public static function GetList($arOrder = Array("ID" => "DESC"), $arFilter = Array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
103 {
104 global $DB;
105
106 if (count($arSelectFields) <= 0)
107 $arSelectFields = array("ID", "TITLE", "URL", "PREVIEW_TEXT", "BLOG_NAME", "POST_DATE", "BLOG_ID", "POST_ID");
108
109 // FIELDS -->
111 "ID" => array("FIELD" => "C.ID", "TYPE" => "int"),
112 "TITLE" => array("FIELD" => "C.TITLE", "TYPE" => "string"),
113 "URL" => array("FIELD" => "C.URL", "TYPE" => "string"),
114 "PREVIEW_TEXT" => array("FIELD" => "C.PREVIEW_TEXT", "TYPE" => "string"),
115 "BLOG_NAME" => array("FIELD" => "C.BLOG_NAME", "TYPE" => "string"),
116 "POST_DATE" => array("FIELD" => "C.POST_DATE", "TYPE" => "datetime"),
117 "BLOG_ID" => array("FIELD" => "C.BLOG_ID", "TYPE" => "int"),
118 "POST_ID" => array("FIELD" => "C.POST_ID", "TYPE" => "int")
119 );
120 // <-- FIELDS
121
122 $arSqls = CBlog::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
123
124 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
125
126 if (is_array($arGroupBy) && count($arGroupBy)==0)
127 {
128 $strSql =
129 "SELECT ".$arSqls["SELECT"]." ".
130 "FROM b_blog_trackback C ".
131 " ".$arSqls["FROM"]." ";
132 if ($arSqls["WHERE"] <> '')
133 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
134 if ($arSqls["GROUPBY"] <> '')
135 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
136
137 //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
138
139 $dbRes = $DB->Query($strSql);
140 if ($arRes = $dbRes->Fetch())
141 return $arRes["CNT"];
142 else
143 return False;
144 }
145
146 $strSql =
147 "SELECT ".$arSqls["SELECT"]." ".
148 "FROM b_blog_trackback C ".
149 " ".$arSqls["FROM"]." ";
150 if ($arSqls["WHERE"] <> '')
151 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
152 if ($arSqls["GROUPBY"] <> '')
153 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
154 if ($arSqls["ORDERBY"] <> '')
155 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
156
157 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])<=0)
158 {
159 $strSql_tmp =
160 "SELECT COUNT('x') as CNT ".
161 "FROM b_blog_trackback C ".
162 " ".$arSqls["FROM"]." ";
163 if ($arSqls["WHERE"] <> '')
164 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
165 if ($arSqls["GROUPBY"] <> '')
166 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
167
168 //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>";
169
170 $dbRes = $DB->Query($strSql_tmp);
171 $cnt = 0;
172 if ($arSqls["GROUPBY"] == '')
173 {
174 if ($arRes = $dbRes->Fetch())
175 $cnt = $arRes["CNT"];
176 }
177 else
178 {
179 // ТОЛЬКО ДЛЯ MYSQL!!! ДЛЯ ORACLE ДРУГОЙ КОД
180 $cnt = $dbRes->SelectedRowsCount();
181 }
182
183 $dbRes = new CDBResult();
184
185 //echo "!2.2!=".htmlspecialcharsbx($strSql)."<br>";
186
187 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
188 }
189 else
190 {
191 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"]) > 0)
192 $strSql .= "LIMIT ".intval($arNavStartParams["nTopCount"]);
193
194 //echo "!3!=".htmlspecialcharsbx($strSql)."<br>";
195
196 $dbRes = $DB->Query($strSql);
197 }
198
199 return $dbRes;
200 }
201}
static PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false)
Определения blog.php:487
static GetByID($ID)
Определения blog_trackback.php:83
static CheckFields($ACTION, &$arFields, $ID=0)
Определения blog_trackback.php:12
static Update($ID, $arFields, $bSearchIndex=true)
Определения blog_post.php:224
Определения blog_trackback.php:6
static Add($arFields)
Определения blog_trackback.php:8
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения blog_trackback.php:102
static Update($ID, $arFields)
Определения blog_trackback.php:57
$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
if($ajaxMode) $ID
Определения get_user.php:27
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
if(empty($signedUserToken)) $key
Определения quickway.php:257
</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."%"
Определения waybill.php:936
$arRes
Определения options.php:104
$GLOBALS['_____370096793']
Определения update_client.php:1
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168