1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
searcher.php
См. документацию.
1<?php
3{
4 public static function DynamicDays($SEARCHER_ID, $date1="", $date2="")
5 {
6 $arMaxMin = array();
7 $arFilter = array("DATE1"=>$date1, "DATE2"=>$date2);
8 $z = CSearcher::GetDynamicList($SEARCHER_ID, '', '', $arMaxMin, $arFilter);
9 $d = 0;
10 while($zr = $z->Fetch())
11 if(intval($zr["TOTAL_HITS"]) > 0)
12 $d++;
13 return $d;
14 }
15
16 // returns arrays needed to plot site indexing graph
17 public static function GetGraphArray($arFilter, &$arrLegend)
18 {
19 $DB = CDatabase::GetModuleConnection('statistic');
20 $arSqlSearch = Array("D.SEARCHER_ID <> 1");
21
22 if (is_array($arFilter))
23 {
24 foreach ($arFilter as $key => $val)
25 {
26 if(is_array($val))
27 {
28 if(count($val) <= 0)
29 continue;
30 }
31 else
32 {
33 if( ((string)$val == '') || ($val === "NOT_REF") )
34 continue;
35 }
36
37 $key = strtoupper($key);
38 switch($key)
39 {
40 case "SEARCHER_ID":
41 $arSqlSearch[] = GetFilterQuery("D.SEARCHER_ID",$val,"N");
42 break;
43 case "DATE1":
45 $arSqlSearch[] = "D.DATE_STAT>=".$DB->CharToDateFunction($val, "SHORT");
46 break;
47 case "DATE2":
49 $arSqlSearch[] = "D.DATE_STAT<=".$DB->CharToDateFunction($val." 23:59:59", "FULL");
50 break;
51 }
52 }
53 }
54 $arrDays = array();
55 $arrLegend = array();
56 $strSqlSearch = GetFilterSqlSearch($arSqlSearch);
57 $summa = $arFilter["SUMMA"]=="Y" ? "Y" : "N";
58 $strSql = CSearcher::GetGraphArray_SQL($strSqlSearch);
59
60 $rsD = $DB->Query($strSql);
61 while ($arD = $rsD->Fetch())
62 {
63 $arrDays[$arD["DATE_STAT"]]["D"] = $arD["DAY"];
64 $arrDays[$arD["DATE_STAT"]]["M"] = $arD["MONTH"];
65 $arrDays[$arD["DATE_STAT"]]["Y"] = $arD["YEAR"];
66 if ($summa=="N")
67 {
68 $arrDays[$arD["DATE_STAT"]][$arD["SEARCHER_ID"]]["TOTAL_HITS"] = $arD["TOTAL_HITS"];
69 $arrLegend[$arD["SEARCHER_ID"]]["COUNTER_TYPE"] = "DETAIL";
70 $arrLegend[$arD["SEARCHER_ID"]]["NAME"] = $arD["NAME"];
71 }
72 elseif ($summa=="Y")
73 {
74 $arrDays[$arD["DATE_STAT"]]["TOTAL_HITS"] += $arD["TOTAL_HITS"];
75 $arrLegend[0]["COUNTER_TYPE"] = "TOTAL";
76 }
77 }
78
79 $color = "";
80 $total = sizeof($arrLegend);
81 foreach ($arrLegend as $key => $arr)
82 {
83 $color = GetNextRGB($color, $total);
84 $arrLegend[$key]["COLOR"] = $color;
85 }
86
87 return $arrDays;
88 }
89
90 public static function GetDomainList($by = 's_id', $order = 'desc', $arFilter = [])
91 {
92 $DB = CDatabase::GetModuleConnection('statistic');
93 $arSqlSearch = Array("P.SEARCHER_ID <> 1");
94
95 if (is_array($arFilter))
96 {
97 foreach ($arFilter as $key => $val)
98 {
99 if(is_array($val))
100 {
101 if(count($val) <= 0)
102 continue;
103 }
104 else
105 {
106 if( ((string)$val == '') || ($val === "NOT_REF") )
107 continue;
108 }
109 $match_value_set = array_key_exists($key."_EXACT_MATCH", $arFilter);
110 $key = strtoupper($key);
111 switch($key)
112 {
113 case "ID":
114 case "SEARCHER_ID":
115 $match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" : "N";
116 $arSqlSearch[] = GetFilterQuery("P.".$key,$val,$match);
117 break;
118 case "DOMAIN":
119 case "VARIABLE":
120 $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y";
121 $arSqlSearch[] = GetFilterQuery("P.".$key, $val, $match);
122 break;
123 }
124 }
125 }
126
127 if ($by == "s_id") $strSqlOrder = "ORDER BY P.ID";
128 elseif ($by == "s_domain") $strSqlOrder = "ORDER BY P.DOMAIN";
129 elseif ($by == "s_variable") $strSqlOrder = "ORDER BY P.VARIABLE";
130 else
131 {
132 $strSqlOrder = "ORDER BY P.ID";
133 }
134
135 if ($order != "asc")
136 {
137 $strSqlOrder .= " desc ";
138 }
139
140 $strSqlSearch = GetFilterSqlSearch($arSqlSearch);
141 $strSql = "
142 SELECT
143 P.ID,
144 P.DOMAIN,
145 P.VARIABLE,
146 P.CHAR_SET
147 FROM
148 b_stat_searcher_params P
149 WHERE
150 $strSqlSearch
151 $strSqlOrder
152 ";
153
154 $rs = $DB->Query($strSql);
155
156 return $rs;
157 }
158
159 public static function GetByID($ID)
160 {
161 $DB = CDatabase::GetModuleConnection('statistic');
162 $ID = intval($ID);
163 $strSql = "SELECT S.* FROM b_stat_searcher S WHERE S.ID = '$ID'";
164 $res = $DB->Query($strSql);
165 return $res;
166 }
167}
Определения searcher.php:3
static GetDomainList($by='s_id', $order='desc', $arFilter=[])
Определения searcher.php:90
static GetByID($ID)
Определения searcher.php:159
static DynamicDays($SEARCHER_ID, $date1="", $date2="")
Определения searcher.php:4
static GetGraphArray($arFilter, &$arrLegend)
Определения searcher.php:17
static GetGraphArray_SQL($strSqlSearch)
Определения searcher.php:6
static GetDynamicList($SEARCHER_ID, $by='s_date', $order='desc', &$arMaxMin=[], $arFilter=[])
Определения searcher.php:205
$arr
Определения file_new.php:624
</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
GetFilterSqlSearch($arSqlSearch=array(), $FilterLogic="FILTER_logic")
Определения filter_tools.php:397
GetFilterQuery($field, $val, $procent="Y", $ex_sep=array(), $clob="N", $div_fields="Y", $clob_upper="N")
Определения filter_tools.php:383
$zr
Определения options.php:5
if($ajaxMode) $ID
Определения get_user.php:27
global $DB
Определения cron_frame.php:29
GetNextRGB($base_color, $total)
Определения img.php:93
$z
Определения options.php:31
CheckDateTime($datetime, $format=false)
Определения tools.php:398
$order
Определения payment.php:8
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
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
$val
Определения options.php:1793
$rs
Определения action.php:82
$arFilter
Определения user_search.php:106