1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
log_pages.php
См. документацию.
1<?php
2
4{
5 public static function GetList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
6 {
7 if (func_num_args() <= 2)
8 {
9 $arSelectFields = $arFilter;
10 $arFilter = $arOrder;
11 $arOrder = array();
12 }
13
14 global $DB;
15
16 if (count($arSelectFields) <= 0)
17 {
18 $arSelectFields = array("USER_ID", "SITE_ID", "GROUP_CODE", "PAGE_SIZE", "PAGE_NUM", "PAGE_LAST_DATE", "TRAFFIC_AVG", "TRAFFIC_CNT", "TRAFFIC_LAST_DATE");
19 }
20
21 // FIELDS -->
23 "USER_ID" => Array("FIELD" => "SLP.USER_ID", "TYPE" => "int"),
24 "SITE_ID" => Array("FIELD" => "SLP.SITE_ID", "TYPE" => "string"),
25 "GROUP_CODE" => Array("FIELD" => "SLP.GROUP_CODE", "TYPE" => "string"),
26 "PAGE_SIZE" => array("FIELD" => "SLP.PAGE_SIZE", "TYPE" => "int"),
27 "PAGE_NUM" => array("FIELD" => "SLP.PAGE_NUM", "TYPE" => "int"),
28 "PAGE_LAST_DATE" => Array("FIELD" => "SLP.PAGE_LAST_DATE", "TYPE" => "datetime"),
29 "TRAFFIC_AVG" => array("FIELD" => "SLP.TRAFFIC_AVG", "TYPE" => "int"),
30 "TRAFFIC_CNT" => array("FIELD" => "SLP.TRAFFIC_CNT", "TYPE" => "int"),
31 "TRAFFIC_LAST_DATE" => Array("FIELD" => "SLP.TRAFFIC_LAST_DATE", "TYPE" => "datetime"),
32 );
33 // <-- FIELDS
34
35 $arSqls = CSocNetGroup::PrepareSql($arFields, $arOrder, $arFilter, false, $arSelectFields);
36
37 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
38
39 $strSql =
40 "SELECT ".$arSqls["SELECT"]." ".
41 "FROM b_sonet_log_page SLP ".
42 " ".$arSqls["FROM"]." ";
43 if ($arSqls["WHERE"] <> '')
44 {
45 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
46 }
47 if ($arSqls["ORDERBY"] <> '')
48 {
49 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
50 }
51
52 $dbRes = $DB->Query($strSql);
53
54 return $dbRes;
55 }
56
57 public static function DeleteEx($user_id, $site_id = '**', $page_size = false, $group_code = '**')
58 {
59 global $DB;
60
61 $user_id = intval($user_id);
62
63 if ($user_id <= 0)
64 {
65 return false;
66 }
67
68 $strWhere = " USER_ID = ".$user_id;
69 if (
71 && $site_id != "**"
72 )
73 {
74 $strWhere .= " AND SITE_ID = '".$DB->ForSQL($site_id)."'";
75 }
76
77 if (
78 $group_code <> ''
79 && $group_code != "**"
80 )
81 {
82 $strWhere .= " AND GROUP_CODE = '".$DB->ForSQL($group_code)."'";
83 }
84
85 if (intval($page_size) > 0)
86 {
87 $strWhere .= " AND PAGE_SIZE = ".$page_size;
88 }
89
90 $strSQL = "DELETE FROM b_sonet_log_page WHERE ".$strWhere;
91 if ($DB->Query($strSQL))
92 {
93 return true;
94 }
95 else
96 {
97 return false;
98 }
99 }
100
101 public static function Set($user_id, $page_last_date, $page_size, $page_num = 1, $site_id = SITE_ID, $group_code = '**', $traffic_avg = false, $traffic_cnt = false)
102 {
103 global $DB;
104
105 $user_id = intval($user_id);
106 $page_size = intval($page_size);
107 $page_num = intval($page_num);
108 $traffic_avg = intval($traffic_avg);
109 $traffic_cnt = intval($traffic_cnt);
110
111 if (
112 $user_id <= 0
113 || $page_size <= 0
114 || $page_last_date == ''
115 )
116 {
117 return false;
118 }
119
120 $page_last_date = new \Bitrix\Main\Type\DateTime($page_last_date);
121
123 $helper = $connection->getSqlHelper();
124
125 $arInsertFields = array(
126 "USER_ID" => $user_id,
127 "SITE_ID" => $DB->ForSQL($site_id),
128 "GROUP_CODE" => $DB->ForSQL($group_code),
129 "PAGE_SIZE" => $page_size,
130 "PAGE_NUM" => $page_num,
131 "PAGE_LAST_DATE" => $page_last_date
132 );
133
134 $arUpdateFields = array(
135 "PAGE_LAST_DATE" => $page_last_date
136 );
137
138 if ($traffic_cnt)
139 {
140 $arInsertFields["TRAFFIC_AVG"] = $arUpdateFields["TRAFFIC_AVG"] = $traffic_avg;
141 $arInsertFields["TRAFFIC_CNT"] = $arUpdateFields["TRAFFIC_CNT"] = $traffic_cnt;
142 $arInsertFields["TRAFFIC_LAST_DATE"] = $arUpdateFields["TRAFFIC_LAST_DATE"] = new \Bitrix\Main\DB\SqlExpression($helper->getCurrentDateTimeFunction());
143 }
144
145 $merge = $helper->prepareMerge(
146 "b_sonet_log_page",
147 array("USER_ID", "SITE_ID", "GROUP_CODE", "PAGE_SIZE", "PAGE_NUM"),
148 $arInsertFields,
149 $arUpdateFields
150 );
151
152 if ($merge[0] != "")
153 {
154 $connection->query($merge[0]);
155 if ($traffic_cnt)
156 {
157 CSocNetLogFollow::checkAutoUnfollow($traffic_cnt, $traffic_avg, $user_id);
158 }
159 }
160 }
161}
$connection
Определения actionsdefinitions.php:38
static getConnection($name="")
Определения application.php:638
Определения log_pages.php:4
static Set($user_id, $page_last_date, $page_size, $page_num=1, $site_id=SITE_ID, $group_code=' **', $traffic_avg=false, $traffic_cnt=false)
Определения log_pages.php:101
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения log_pages.php:5
static DeleteEx($user_id, $site_id=' **', $page_size=false, $group_code=' **')
Определения log_pages.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
global $DB
Определения cron_frame.php:29
</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
$site_id
Определения sonet_set_content_view.php:9
const SITE_ID
Определения sonet_set_content_view.php:12
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168