1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
storeassist.php
См. документацию.
1<?
3Loc::loadMessages(__FILE__);
4
6{
8 "currencies",
9 "cat_group_admin",
10 "cat_measure_list",
11 "sale_report_edit",
12 "sale_person_type",
13 "locations",
14 "sale_buyers",
15 "sale_status",
16 "cat_store_list",
17 "storeassist_social",
18 "cat_product_list",
19 "quantity",
20 "cat_store_document_list",
21 "order_setting",
22 "reserve_setting",
23 "storeassist_1c_catalog_fill",
24 "1c_integration",
25 "storeassist_1c_unloading",
26 "1c_exchange",
27 "storeassist_1c_exchange_realtime",
28 "storeassist_1c_small_firm",
29 "sale_pay_system",
30 "sale_delivery",
31 "sale_delivery_service_list",
32 "storeassist_seo_settings",
33 "seo_robots",
34 "seo_sitemap",
35 "seo_search_yandex",
36 "seo_search_google",
37 "search_reindex",
38 "storeassist_adaptive",
39 "opening",
40 "checklist",
41 "storeassist_context_adv",
42 "cat_discount_admin",
43 "storeassist_marketing",
44 "posting_admin",
45 "cat_export_setup",
46 "sale_ymarket",
47 "ebay",
48 "sale_order",
49 "sale_report",
50 "storeassist_print",
51 "client",
52 "sale_account_admin",
53 "sale_basket",
54 "sale_personalization",
55 "sale_crm",
56 "storeassist_crm_client",
57 "storeassist_crm_calls",
58 "site_speed",
59 "composite",
60 "bitrixcloud_cdn",
61 "perfmon_panel",
62 "security_filter",
63 "dump_auto",
64 "bitrixcloud_monitoring_admin",
65 "security_scanner",
66 "security_otp",
67 "scale_graph",
68 "cluster_index",
69 "storeassist_virtual",
70 "blog_comment",
71 "ticket_desktop",
72 "site_checker",
73 "info_vk",
74 "info_blog",
75 "info_forum_guest",
76 "info_forum_client",
77 "info_idea",
78 "info_user_doc",
79 "info_api_doc",
80 "info_courses",
81 "support_developer",
82 "support_bitrix"
83 );
84
85 public static function setSettingOption($pageId, $isDone)
86 {
87 if (!in_array($pageId, self::$arAllPageId))
88 return false;
89
90 if (!in_array($isDone, array("Y", "N")))
91 return false;
92
93 $option = Bitrix\Main\Config\Option::get('storeassist', 'storeassist_settings', '');
94
95 if (!$option)
96 $option = array();
97 else
98 $option = explode(",", $option);
99
100 if ($isDone == "Y" && !in_array($pageId, $option))
101 {
102 $option[] = $pageId;
103 }
104 elseif($isDone == "N" && in_array($pageId, $option))
105 {
106 $key = array_search($pageId, $option);
107 unset($option[$key]);
108 }
109
110 $option = implode(",", $option);
111
112 Bitrix\Main\Config\Option::set('storeassist', 'storeassist_settings', $option, '');
113
114 return $option;
115 }
116
117 public static function getSettingOption()
118 {
119 $option = Bitrix\Main\Config\Option::get('storeassist', 'storeassist_settings', '');
120 if (!$option)
121 $option = array();
122 else
123 $option = explode(",", $option);
124
125 return $option;
126 }
127
128 public static function getDocumentationLink($pageId)
129 {
130 if (!$pageId)
131 return false;
132
133 if (!in_array($pageId, self::$arAllPageId))
134 return false;
135
136 return Loc::getMessage("STOREAS_DOCURL_".$pageId);
137 }
138
139 public static function onPrologAdminTitle($pageUrl, $pageId = "")
140 {
141 if (!in_array(LANGUAGE_ID, array("ru", "ua")))
142 return;
143
144 global $APPLICATION, $bxProductConfig;
145
146 $ST_RIGHT = $APPLICATION->GetGroupRight("storeassist");
147 if (!($ST_RIGHT >= "R"))
148 {
149 return false;
150 }
151
152 $partnerUrl = Bitrix\Main\Config\Option::get("storeassist", "partner_url", '');
153 if ($partnerUrl)
154 $bxProductConfig["admin"]["links"] = '<a href="https://www.1c-bitrix.ru/">www.1c-bitrix.ru</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="'.htmlspecialcharsbx($partnerUrl).'" class="adm-main-support-link">'.Loc::getMessage("STOREAS_SUPPORT").'</a>';
155
156 if (!$pageId)
157 {
158 preg_match("/([^\/]*?)\.php/i", $pageUrl, $matches);
159 if (isset($matches[1]))
160 $pageId = $matches[1];
161 else
162 return false;
163 }
164
165 if (!in_array($pageId, self::$arAllPageId))
166 return false;
167
168 $arSettingOption = self::getSettingOption();
169 $isItemDone = (in_array($pageId, $arSettingOption)) ? true : false;
170
171 CJSCore::Init(array('storeassist', 'fx'));
172 $APPLICATION->SetAdditionalCSS('/bitrix/panel/storeassist/storeassist.css');
173 //Bitrix\Main\Page\Asset::getInstance()->addCss('/bitrix/panel/storeassist/storeassist.css');
174
175 $hash = (isset($_GET["back"])) ? "#".htmlspecialcharsbx($_GET["back"]) : "";
176 echo '<div class="adm-s-toolbar" data-role="adm-task-toolbar" onmouseout="BX.removeClass(this, \'hover\')">
177 <div class="adm-s-toolbar-shadow">
178 <div class="adm-detail-toolbar" style="margin-bottom: 0;">
179 <a href="/bitrix/admin/storeassist.php?lang='.LANGUAGE_ID.$hash.'" class="adm-detail-toolbar-btn"><span class="adm-detail-toolbar-btn-l"></span><span class="adm-detail-toolbar-btn-text">'.Loc::getMessage("STOREAS_BACK_BUTTON").'</span><span class="adm-detail-toolbar-btn-r"></span></a>
180 <span class="adm-s-toolbar-task '.($isItemDone ? 'checked' : '').'">'.Loc::getMessage(($isItemDone ? 'STOREAS_DONE' : 'STOREAS_NOT_DONE')).'</span>
181 <div class="adm-detail-toolbar-right">
182 <span class="adm-btn-wrap adm-btn-delete">
183 <span class="adm-btn" onclick="BX.Storeassist.Admin.showDocumentation(\''.CUtil::JSEscape(Loc::getMessage("STOREAS_DOCURL_".$pageId)).'\')">'.Loc::getMessage("STOREAS_DOCUMENTATION").'</span>
184 </span>
185 </div>
186 </div>
187 <div class="adm-s-toolbar-hidden-block">
188 <strong>'.Loc::getMessage("STOREAS_TASK").':</strong>
189 '.Loc::getMessage("STOREAS_TASK_".(isset($_GET["subId"]) ? htmlspecialcharsbx($_GET["subId"]) : $pageId)).
190 ($ST_RIGHT >= "W" ?
191 '<div class="adm-s-toolbar-hidden-block-btn">'.($isItemDone ?
192 '<a href="javascript:void(0)" onclick="BX.Storeassist.Admin.setOption(\''.$pageId.'\', \'N\')" class="adm-btn">'.Loc::getMessage("STOREAS_NOT_DONE_BUTTON").'</a>' :
193 '<a href="javascript:void(0)" onclick="BX.Storeassist.Admin.setOption(\''.$pageId.'\', \'Y\')" class="adm-btn adm-btn-green">'.Loc::getMessage("STOREAS_DONE_BUTTON").'</a>').
194 '</div>' : '')
195 .'</div>
196 </div>
197 </div>';
198
199 if (!$isItemDone)
200 {
201 echo '<script>
202 BX.ready(function(){
203 var hash = window.location.hash;
204 if (hash.indexOf("showtask") != -1)
205 {
206 var toolbar = document.querySelector(\'[data-role="adm-task-toolbar"]\');
207
208 if (toolbar)
209 {
210 new BX.easing({
211 duration : 600,
212 start : { opacity : 0 },
213 finish : { opacity : 1 },
214 transition : BX.easing.transitions.linear,
215 step : function(state){
216 toolbar.style.opacity = state.opacity;
217 },
218 complete : function() {
219 BX.addClass(toolbar, "hover");
220 }
221 }).animate();
222 }
223 }
224 });
225 </script>';
226 }
227 }
228
229 public static function onBuildGlobalMenu(&$arGlobalMenu, &$arModuleMenu)
230 {
231 if (!in_array(LANGUAGE_ID, array("ru", "ua")))
232 return;
233
234 global $APPLICATION;
235
236 if ($APPLICATION->GetGroupRight("storeassist") >= "R")
237 {
238 $storeAssistItem = array(
239 "text" => Loc::getMessage("STOREAS_MENU_TEXT"),
240 "url" => "storeassist.php?lang=".LANGUAGE_ID,
241 "title" => Loc::getMessage("STOREAS_MENU_TITLE"),
242 );
243
244 foreach ($arModuleMenu as &$arMenuItem)
245 {
246 if (!isset($arMenuItem["items_id"]) || $arMenuItem["items_id"] !== "menu_sale_settings")
247 {
248 continue;
249 }
250
251 if (isset($arMenuItem["items"]) && is_array($arMenuItem["items"]))
252 {
253 array_unshift($arMenuItem["items"], $storeAssistItem);
254 }
255 else
256 {
257 $arMenuItem["items"] = array($storeAssistItem);
258 }
259 break;
260 }
261 }
262 }
263
264 public static function getProgressPercent()
265 {
266 $progress = Bitrix\Main\Config\Option::get("storeassist", "progress_percent", 0);
267
268 if ($progress < 0)
269 $progress = 0;
270 elseif ($progress > 10)
271 $progress = 10;
272
273 return $progress;
274 }
275
276 public static function AgentCountDayOrders()
277 {
278 global $DB;
279
280 if (Bitrix\Main\Loader::includeModule("sale"))
281 {
282 //count orders
284 "STATUS_ID" => array("F", "P"),
285 "PAYED" => "Y",
286 );
287
288 $dateFromTs = MakeTimeStamp(date("d", time()-3600*24*2).".".date("m", time()-3600*24*2).".".date("Y", time()-3600*24*2)." 23:59:59", "DD.MM.YYYY HH:MI:SS");
289 $dateToTs = MakeTimeStamp(date("d").".".date("m").".".date("Y")." 00:00:00", "DD.MM.YYYY HH:MI:SS");
290
291 $arFilter[">DATE_STATUS"] = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), $dateFromTs);
292 $arFilter["<DATE_STATUS"] = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), $dateToTs);
293
294 $dbOrders = CSaleOrder::GetList(array(), $arFilter);
295 $numOrders = $dbOrders->SelectedRowsCount();
296
297 $newNumOrders = array(
298 "newDay" => $numOrders
299 );
300
301 $curNumOrders = Bitrix\Main\Config\Option::get("storeassist", "num_orders", "");
302 if ($curNumOrders)
303 {
304 $curNumOrders = unserialize($curNumOrders, ["allowed_classes" => false]);
305 }
306 $newNumOrders["prevDay"] = (isset($curNumOrders["newDay"])) ? $curNumOrders["newDay"] : 0;
307
308 Bitrix\Main\Config\Option::set("storeassist", "num_orders", serialize($newNumOrders), "");
309
310 //count progress
311 $progress = Bitrix\Main\Config\Option::get("storeassist", "progress_percent", 0);
312
313 $newProgress = 0;
314 if ($newNumOrders["newDay"] >= $newNumOrders["prevDay"] && $newNumOrders["newDay"] > 0)
315 {
316 $newProgress = (++$progress > 10) ? 10 : $progress;
317 }
318 else
319 {
320 $newProgress = (--$progress > 0) ? $progress : 0;
321 }
322
323 Bitrix\Main\Config\Option::set("storeassist", "progress_percent", $newProgress, "");
324 }
325
326 return "CStoreAssist::AgentCountDayOrders();";
327 }
328}
329?>
$hash
Определения ajax_redirector.php:8
global $APPLICATION
Определения include.php:80
change_password_forgot_link login popup forget pas AUTH_GOTO_FORGOT_FORM login btn wrap change_password_button login popup link login popup return auth javascript
Определения change_password.php:57
static get($moduleId, $name, $default="", $siteId=false)
Определения option.php:30
static set($moduleId, $name, $value="", $siteId="")
Определения option.php:261
static Init($arExt=array(), $bReturn=false)
Определения jscore.php:66
static GetList($arOrder=array("ID"=>"DESC"), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array(), $arOptions=array())
Определения order.php:339
Определения storeassist.php:6
static getDocumentationLink($pageId)
Определения storeassist.php:128
static onPrologAdminTitle($pageUrl, $pageId="")
Определения storeassist.php:139
static setSettingOption($pageId, $isDone)
Определения storeassist.php:85
static AgentCountDayOrders()
Определения storeassist.php:276
static onBuildGlobalMenu(&$arGlobalMenu, &$arModuleMenu)
Определения storeassist.php:229
static $arAllPageId
Определения storeassist.php:7
static getSettingOption()
Определения storeassist.php:117
static getProgressPercent()
Определения storeassist.php:264
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$pageId
Определения group_bizproc_log.php:3
global $DB
Определения cron_frame.php:29
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
MakeTimeStamp($datetime, $format=false)
Определения tools.php:538
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
if(empty($signedUserToken)) $key
Определения quickway.php:257
$option
Определения options.php:1711
$matches
Определения index.php:22
const SITE_ID
Определения sonet_set_content_view.php:12
$arFilter
Определения user_search.php:106