$before_last_month = ConvertTimeStamp(AddToTimeStamp(array("DD" => 0, "MM" => -2, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), mktime(0, 0, 0, date("n"), 1, date("Y")))); $date_today = ConvertTimeStamp(time(), "SHORT"); $date_yesterday = ConvertTimeStamp(AddToTimeStamp(array("DD" => -1, "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), time()), "SHORT"); $date_beforeyesterday = ConvertTimeStamp(AddToTimeStamp(array("DD" => -2, "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), time()), "SHORT"); $date_this_week1 = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $d), time())); $date_last_week1 = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . (7 + $d)), time())); $date_before_last_week1 = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . (14 + $d)), time())); $date_this_week2 = $date_today; $date_last_week2 = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . (1 + $d)), time())); $date_before_last_week2 = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . (8 + $d)), time())); $date_this_month1 = ConvertTimeStamp(mktime(0, 0, 0, date("n"), 1, date("Y"))); $date_last_month1 = ConvertTimeStamp(AddToTimeStamp(array("DD" => 0, "MM" => -1, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), mktime(0, 0, 0, date("n"), 1, date("Y")))); $date_before_last_month1 = ConvertTimeStamp(AddToTimeStamp(array("DD" => 0, "MM" => -2, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), mktime(0, 0, 0, date("n"), 1, date("Y")))); $date_this_month2 = $date_today; $date_last_month2 = ConvertTimeStamp(AddToTimeStamp(array("DD" => -1, "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), mktime(0, 0, 0, date("n"), 1, date("Y")))); $date_before_last_month2 = ConvertTimeStamp(AddToTimeStamp(array("MM" => -1, "DD" => -1, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), mktime(0, 0, 0, date("n"), 1, date("Y")))); ?> <script type="text/javascript"> var gdSaleTabControl_<?php echo $arGadgetParams["RND_STRING"]; ?> = false; </script><?php $aTabs = array(array("DIV" => "bx_gd_sale_stats_" . $arGadgetParams["RND_STRING"], "TAB" => GetMessage("GD_ORDERS_TAB_STATS"), "ICON" => "", "TITLE" => "", "ONSELECT" => "gdSaleTabControl_" . $arGadgetParams["RND_STRING"] . ".SelectTab('bx_gd_sale_stats_" . $arGadgetParams["RND_STRING"] . "');"), array("DIV" => "bx_gd_sale_orders_" . $arGadgetParams["RND_STRING"], "TAB" => GetMessage("GD_ORDERS_TAB_ORDERS"), "ICON" => "", "TITLE" => "", "ONSELECT" => "gdSaleTabControl_" . $arGadgetParams["RND_STRING"] . ".SelectTab('bx_gd_sale_orders_" . $arGadgetParams["RND_STRING"] . "');")); $tabControl = new CAdminViewTabControl("saleTabControl_" . $arGadgetParams["RND_STRING"], $aTabs); ?> <div class="bx-gadgets-tabs-wrap" id="bx_gd_tabset_sale_<?php echo $arGadgetParams["RND_STRING"]; ?> "><?php $tabControl->Begin();
function GetLiveFeedData($site_id = "", $lang = "en") { global $MESS; if (($r = CSaleWS::CheckAuth()) !== False) { return $r; } $saleRight = $GLOBALS["APPLICATION"]->GetGroupRight("sale"); CComponentUtil::__IncludeLang("/bitrix/components/bitrix/webservice.sale/", "/component_1.php", $lang); $arFilter = array(); $server_name = COption::GetOptionString("main", "server_name", $GLOBALS["SERVER_NAME"]); $protocol = CMain::IsHTTPS() ? "https" : "http"; if (strlen($site_id) > 0) { $rsSites = CSite::GetByID($arFields["SITE_ID"]); if ($arSite = $rsSites->Fetch()) { $arFilterLID = array("LID" => $site_id); if (strlen($arSite["SERVER_NAME"]) > 0) { $server_name = $arSite["SERVER_NAME"]; } } $strSiteCurrency = CSaleLang::GetLangCurrency($site_id); } else { $arFilterLID = array(); $strSiteCurrency = CCurrency::GetBaseCurrency(); } if ($saleRight != "W") { $arFilterPerms = array("STATUS_PERMS_GROUP_ID" => $GLOBALS["USER"]->GetUserGroupArray(), ">=STATUS_PERMS_PERM_VIEW" => "Y"); } else { $arFilterPerms = array(); } $d = date("w"); if ($d < 1) { $d = -6; } elseif ($d > 1) { $d = $d - 1; } else { $d = 0; } $BeforeLastWeek_minDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . (14 + $d)), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $BeforeLastWeek_maxDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . (7 + $d), "SS" => -1), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $LastWeek_minDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . (7 + $d)), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $LastWeek_maxDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $d, "SS" => -1), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $ThisWeek_minDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $d), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $ThisWeek_maxDate = ConvertTimeStamp(mktime(0, 0, 0, date("n"), date("j") + 1, date("Y")), "FULL"); $BeforeYesterday_minDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-2"), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $BeforeYesterday_maxDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-1", "SS" => -1), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $Yesterday_minDate = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-1"), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $Yesterday_maxDate = ConvertTimeStamp(AddToTimeStamp(array("SS" => -1), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "FULL"); $Today_minDate = ConvertTimeStamp(mktime(0, 0, 0, date("n"), date("j"), date("Y")), "FULL"); $Today_maxDate = ConvertTimeStamp(mktime(0, 0, 0, date("n"), date("j") + 1, date("Y")), "FULL"); $arDatePeriods = array("BEFORE_LAST_WEEK" => array("MIN_DATE" => $BeforeLastWeek_minDate, "MAX_DATE" => $BeforeLastWeek_maxDate), "LAST_WEEK" => array("MIN_DATE" => $LastWeek_minDate, "MAX_DATE" => $LastWeek_maxDate), "THIS_WEEK" => array("MIN_DATE" => $ThisWeek_minDate, "MAX_DATE" => $ThisWeek_maxDate), "BEFORE_YESTERDAY" => array("MIN_DATE" => $BeforeYesterday_minDate, "MAX_DATE" => $BeforeYesterday_maxDate), "YESTERDAY" => array("MIN_DATE" => $Yesterday_minDate, "MAX_DATE" => $Yesterday_maxDate), "TODAY" => array("MIN_DATE" => $Today_minDate, "MAX_DATE" => $Today_maxDate)); $arStatus1 = array("CREATED" => array("NAME" => GetMessage("BX_WS_SALE_STATUS_1_CREATED"), "DB_FIELD" => "DATE"), "PAID" => array("NAME" => GetMessage("BX_WS_SALE_STATUS_1_PAID"), "DB_FIELD" => "DATE_PAYED"), "CANCELED" => array("NAME" => GetMessage("BX_WS_SALE_STATUS_1_CANCELED"), "DB_FIELD" => "DATE_UPDATE", "Y_FIELD" => "CANCELED"), "ALLOW_DELIVERY" => array("NAME" => GetMessage("BX_WS_SALE_STATUS_1_ALLOW_DELIVERY"), "DB_FIELD" => "DATE_UPDATE", "Y_FIELD" => "ALLOW_DELIVERY")); foreach ($arDatePeriods as $key => $arPeriod) { foreach ($arStatus1 as $status_code => $arStatus) { $arOrderStats[$key][$status_code] = 0; $arOrderStats[$key]["PRICE_" . $status_code] = 0; } foreach ($arStatus1 as $status_code => $arStatus) { if (!is_array($arGadgetParams["ORDERS_STATUS_1"]) || in_array($status_code, $arGadgetParams["ORDERS_STATUS_1"])) { if (array_key_exists("Y_FIELD", $arStatus) && strlen($arStatus["Y_FIELD"]) > 0) { $arFilterYField = array($arStatus["Y_FIELD"] => "Y"); } else { $arFilterYField = array(); } $arFilter = array_merge(array($arStatus["DB_FIELD"] . "_FROM" => $arPeriod["MIN_DATE"], $arStatus["DB_FIELD"] . "_TO" => $arPeriod["MAX_DATE"]), $arFilterLID, $arFilterPerms, $arFilterYField); $dbOrder = CSaleOrder::GetList(array(), $arFilter, array("SUM" => "PRICE", "COUNT" => "ID")); if ($arOrder = $dbOrder->Fetch()) { $arOrderStats[$key][$status_code] = $arOrder["ID"]; $arOrderStats[$key]["PRICE_" . $status_code] = $arOrder["PRICE"]; } } } } $strSaleStat = '<table border="0">'; $strSaleStat .= '<tr><td> </td>'; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStat .= '<td><b>' . $arStatus["NAME"] . '</b></td>'; } $strSaleStat .= '</tr>'; $strSaleStat .= '<tr><td>' . GetMessage("BX_WS_SALE_TODAY") . '</td>'; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStat .= '<td align="center">' . intval($arOrderStats["TODAY"][$status_code]) . '</td>'; } $strSaleStat .= '</tr>'; $strSaleStat .= '<tr><td>' . GetMessage("BX_WS_SALE_YESTERDAY") . '</td>'; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStat .= '<td align="center">' . intval($arOrderStats["YESTERDAY"][$status_code]) . '</td>'; } $strSaleStat .= '</tr>'; $strSaleStat .= '<tr><td>' . GetMessage("BX_WS_SALE_BEFOREYESTERDAY") . '</td>'; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStat .= '<td align="center">' . intval($arOrderStats["BEFORE_YESTERDAY"][$status_code]) . '</td>'; } $strSaleStat .= '</tr>'; $strSaleStat .= '<tr><td>' . GetMessage("BX_WS_SALE_THISWEEK") . '</td>'; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStat .= '<td align="center">' . intval($arOrderStats["THIS_WEEK"][$status_code]) . '</td>'; } $strSaleStat .= '</tr>'; $strSaleStat .= '<tr><td>' . GetMessage("BX_WS_SALE_LASTWEEK") . '</td>'; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStat .= '<td align="center">' . intval($arOrderStats["LAST_WEEK"][$status_code]) . '</td>'; } $strSaleStat .= '</tr>'; $strSaleStat .= '<tr><td>' . GetMessage("BX_WS_SALE_BEFORELASTWEEK") . '</td>'; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStat .= '<td align="center">' . intval($arOrderStats["BEFORE_LAST_WEEK"][$status_code]) . '</td>'; } $strSaleStat .= '</tr>'; $strSaleStat .= '</table>'; $strSaleStatText = ''; foreach ($arStatus1 as $status_code => $arStatus) { $strSaleStatText .= '#BR#' . $arStatus["NAME"] . '#BR#'; $strSaleStatText .= GetMessage("BX_WS_SALE_TODAY") . ' ' . intval($arOrderStats["TODAY"][$status_code]) . (intval($arOrderStats["TODAY"][$status_code]) > 0 ? ' (' . CurrencyFormat($arOrderStats["TODAY"]["PRICE_" . $status_code], $strSiteCurrency) . ')' : '') . '#BR#'; $strSaleStatText .= GetMessage("BX_WS_SALE_YESTERDAY") . ' ' . intval($arOrderStats["YESTERDAY"][$status_code]) . (intval($arOrderStats["YESTERDAY"][$status_code]) > 0 ? ' (' . CurrencyFormat($arOrderStats["YESTERDAY"]["PRICE_" . $status_code], $strSiteCurrency) . ')' : '') . '#BR#'; $strSaleStatText .= GetMessage("BX_WS_SALE_BEFOREYESTERDAY") . ' ' . intval($arOrderStats["BEFORE_YESTERDAY"][$status_code]) . (intval($arOrderStats["BEFORE_YESTERDAY"][$status_code]) > 0 ? ' (' . CurrencyFormat($arOrderStats["BEFORE_YESTERDAY"]["PRICE_" . $status_code], $strSiteCurrency) . ')' : '') . '#BR#'; $strSaleStatText .= GetMessage("BX_WS_SALE_THISWEEK") . ' ' . intval($arOrderStats["THIS_WEEK"][$status_code]) . (intval($arOrderStats["THIS_WEEK"][$status_code]) > 0 ? ' (' . CurrencyFormat($arOrderStats["THIS_WEEK"]["PRICE_" . $status_code], $strSiteCurrency) . ')' : '') . '#BR#'; $strSaleStatText .= GetMessage("BX_WS_SALE_LASTWEEK") . ' ' . intval($arOrderStats["LAST_WEEK"][$status_code]) . (intval($arOrderStats["LAST_WEEK"][$status_code]) > 0 ? ' (' . CurrencyFormat($arOrderStats["LAST_WEEK"]["PRICE_" . $status_code], $strSiteCurrency) . ')' : '') . '#BR#'; $strSaleStatText .= GetMessage("BX_WS_SALE_BEFORELASTWEEK") . ' ' . intval($arOrderStats["BEFORE_LAST_WEEK"][$status_code]) . (intval($arOrderStats["BEFORE_LAST_WEEK"][$status_code]) > 0 ? ' (' . CurrencyFormat($arOrderStats["BEFORE_LAST_WEEK"]["PRICE_" . $status_code], $strSiteCurrency) . ')' : '') . '#BR#'; } $arResult = array("TITLE" => htmlspecialchars(GetMessage("BX_WS_SALE_LF_TITLE")), "MESSAGE" => htmlspecialchars($strSaleStat), "TEXT_MESSAGE" => htmlspecialchars($strSaleStatText), "URL" => htmlspecialchars($protocol . "://" . $server_name . "/bitrix/admin/sale_stat.php?lang=" . $lang)); return $arResult; }
$lAdmin->AddFooter($arFooterArray); $aContext = array(); $lAdmin->AddAdminContextMenu($aContext); $lAdmin->CheckListMode(); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/prolog.php"; $APPLICATION->SetTitle(GetMessage("SB_TITLE")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; ?> <form name="find_form" method="GET" action="<?php echo $APPLICATION->GetCurPage(); ?> ?"> <?php $oFilter = new CAdminFilter($sTableID . "_filter", array("find_universal" => GetMessage("SB_UNIVERSAL"), "find_user" => GetMessage("SB_FUSER_ID"), "find_user_login" => GetMessage("SB_USER_LOGIN"), "find_price" => GetMessage("SB_PRICE_ALL"), "find_quantity" => GetMessage("SB_QUANTITY_ALL"), "find_cnt" => GetMessage("SB_CNT"), "find_bt" => GetMessage("SB_BASKET_TYPE"), "find_di" => GetMessage("SB_DATE_INSERT"), "find_du" => GetMessage("SB_DATE_UPDATE"), "find_pi" => GetMessage("SB_PRODUCT_ID"), "find_cur" => GetMessage("SB_CURRENCY"), "find_ug" => GetMessage("SB_USER_GROUP_ID"), "find_lid" => GetMessage("SB_LID"))); $oFilter->SetDefaultRows(array("find_universal", "find_price", "find_ug", "find_quantity")); $oFilter->AddPreset(array("ID" => "find_1", "NAME" => GetMessage("SB_FILTER_WEEK"), "FIELDS" => array("filter_date_update_from_FILTER_PERIOD" => "week", "filter_date_update_from_FILTER_DIRECTION" => "previous", "filter_date_update_from" => ConvertTimeStamp(AddToTimeStamp(array("DD" => -7)))), "SORT_FIELD" => array("PRICE_ALL" => "DESC"))); $oFilter->AddPreset(array("ID" => "find_2", "NAME" => GetMessage("SB_FILTER_ALL"), "FIELDS" => array("find_user" => ""), "SORT_FIELD" => array("PRICE_ALL" => "DESC"))); $oFilter->AddPreset(array("ID" => "find_3", "NAME" => GetMessage("SB_FILTER_PRD"), "FIELDS" => array("find_user" => ""), "SORT_FIELD" => array("PR_COUNT" => "DESC"))); $oFilter->Begin(); ?> <tr> <td><?php echo GetMessage("SB_UNIVERSAL"); ?> :</td> <td> <input type="text" name="filter_universal" value="<?php echo htmlspecialcharsbx($filter_universal); ?> " size="40"> </td>
function RemindPayment() { $reminder = COption::GetOptionString("sale", "pay_reminder", ""); $arReminder = unserialize($reminder); if (!empty($arReminder)) { $arSites = array(); $minDay = mktime(); foreach ($arReminder as $key => $val) { if ($val["use"] == "Y") { $arSites[] = $key; $days = array(); for ($i = 0; $i <= floor($val["period"] / $val["frequency"]); $i++) { $day = AddToTimeStamp(array("DD" => -($val["after"] + $val["period"] - $val["frequency"] * $i))); if ($day < mktime()) { if ($minDay > $day) { $minDay = $day; } $day = ConvertTimeStamp($day); $days[] = $day; } } $arReminder[$key]["days"] = $days; } } if (!empty($arSites)) { $bTmpUser = False; if (!isset($GLOBALS["USER"]) || !is_object($GLOBALS["USER"])) { $bTmpUser = True; $GLOBALS["USER"] = new CUser(); } $arFilter = array("LID" => $arSites, "PAYED" => "N", "CANCELED" => "N", "ALLOW_DELIVERY" => "N", ">=DATE_INSERT" => ConvertTimeStamp($minDay)); $dbOrder = CSaleOrder::GetList(array("ID" => "DESC"), $arFilter, false, false, array("ID", "DATE_INSERT", "PAYED", "USER_ID", "LID", "PRICE", "CURRENCY")); while ($arOrder = $dbOrder->GetNext()) { $date_insert = ConvertDateTime($arOrder["DATE_INSERT"], CSite::GetDateFormat("SHORT")); if (in_array($date_insert, $arReminder[$arOrder["LID"]]["days"])) { $strOrderList = ""; $dbBasketTmp = CSaleBasket::GetList(array("NAME" => "ASC"), array("ORDER_ID" => $arOrder["ID"]), false, false, array("ID", "NAME", "QUANTITY")); while ($arBasketTmp = $dbBasketTmp->Fetch()) { $strOrderList .= $arBasketTmp["NAME"] . " (" . $arBasketTmp["QUANTITY"] . ")"; $strOrderList .= "\n"; } $payerEMail = ""; $dbOrderProp = CSaleOrderPropsValue::GetList(array(), array("ORDER_ID" => $arOrder["ID"], "PROP_IS_EMAIL" => "Y")); if ($arOrderProp = $dbOrderProp->Fetch()) { $payerEMail = $arOrderProp["VALUE"]; } $payerName = ""; $dbUser = CUser::GetByID($arOrder["USER_ID"]); if ($arUser = $dbUser->Fetch()) { if (strlen($payerName) <= 0) { $payerName = $arUser["NAME"] . (strlen($arUser["NAME"]) <= 0 || strlen($arUser["LAST_NAME"]) <= 0 ? "" : " ") . $arUser["LAST_NAME"]; } if (strlen($payerEMail) <= 0) { $payerEMail = $arUser["EMAIL"]; } } $arFields = array("ORDER_ID" => $arOrder["ID"], "ORDER_DATE" => $date_insert, "ORDER_USER" => $payerName, "PRICE" => SaleFormatCurrency($arOrder["PRICE"], $arOrder["CURRENCY"]), "BCC" => COption::GetOptionString("sale", "order_email", "order@" . $_SERVER["SERVER_NAME"]), "EMAIL" => $payerEMail, "ORDER_LIST" => $strOrderList, "SALE_EMAIL" => COption::GetOptionString("sale", "order_email", "order@" . $SERVER_NAME)); $eventName = "SALE_ORDER_REMIND_PAYMENT"; $bSend = true; foreach (GetModuleEvents("sale", "OnOrderRemindSendEmail", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($arOrder["ID"], &$eventName, &$arFields)) === false) { $bSend = false; } } if ($bSend) { $event = new CEvent(); $event->Send($eventName, $arOrder["LID"], $arFields, "N"); } } } if ($bTmpUser) { unset($GLOBALS["USER"]); } } } return "CSaleOrder::RemindPayment();"; }
if (($tzOffset = CTimeZone::GetOffset()) != 0) { $cache_id .= "_" . $tzOffset; } $cache_path = "/" . SITE_ID . "/blog/popular_blogs/"; if ($arParams["CACHE_TIME"] > 0 && $cache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path)) { $Vars = $cache->GetVars(); foreach ($Vars["arResult"] as $k => $v) { $arResult[$k] = $v; } CBitrixComponentTemplate::ApplyCachedData($Vars["templateCachedData"]); $cache->Output(); } else { if ($arParams["CACHE_TIME"] > 0) { $cache->StartDataCache($arParams["CACHE_TIME"], $cache_id, $cache_path); } $arFilter = array("<=DATE_PUBLISH" => ConvertTimeStamp(time() + $tzOffset, "FULL", false), ">=DATE_PUBLISH" => ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $arParams["PERIOD_DAYS"])) + $tzOffset, "FULL", false), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "BLOG_ACTIVE" => "Y", "BLOG_GROUP_SITE_ID" => SITE_ID, ">PERMS" => BLOG_PERMS_DENY); if (!empty($arParams["GROUP_ID"])) { $arFilter["BLOG_GROUP_ID"] = $arParams["GROUP_ID"]; } $arSelectedFields = array("ID", "BLOG_ID", "PERMS", "NUM_COMMENTS", "VIEWS"); if (CModule::IncludeModule("socialnetwork") && $arParams["USE_SOCNET"] == "Y") { unset($arFilter[">PERMS"]); $arSelectedFields[] = "SOCNET_BLOG_READ"; $arFilter["BLOG_USE_SOCNET"] = "Y"; } $dbItem = CBlogPost::GetList(array("VIEWS" => "DESC", "NUM_COMMENTS" => "DESC"), $arFilter, false, false, $arSelectedFields); while ($arItem = $dbItem->Fetch()) { $arBlogs[$arItem["BLOG_ID"]]["VIEWS"] += $arItem["VIEWS"]; $arBlogs[$arItem["BLOG_ID"]]["NUM_COMMENTS"] += $arItem["NUM_COMMENTS"]; } if (!empty($arBlogs)) {
private function FunctionDateAdd($args) { if (!is_array($args)) { $args = array($args); } $ar = $this->ArrgsToArray($args); $date = array_shift($ar); $interval = array_shift($ar); if ($date == null) { return null; } if (intval($date) . "!" != $date . "!") { if (($dateTmp = MakeTimeStamp($date, FORMAT_DATETIME)) === false) { if (($dateTmp = MakeTimeStamp($date, FORMAT_DATE)) === false) { if (($dateTmp = MakeTimeStamp($date, "YYYY-MM-DD HH:MI:SS")) === false) { if (($dateTmp = MakeTimeStamp($date, "YYYY-MM-DD")) === false) { return null; } } } } $date = $dateTmp; } if ($interval == null || strlen($interval) <= 0) { return $date; } // 1Y2M3D4H5I6S, -4 days 5 hours, 1month, 5h $interval = trim($interval); $bMinus = false; if (substr($interval, 0, 1) === "-") { $interval = substr($interval, 1); $bMinus = true; } static $arMap = array("y" => "YYYY", "year" => "YYYY", "years" => "YYYY", "m" => "MM", "month" => "MM", "months" => "MM", "d" => "DD", "day" => "DD", "days" => "DD", "h" => "HH", "hour" => "HH", "hours" => "HH", "i" => "MI", "min" => "MI", "minute" => "MI", "minutes" => "MI", "s" => "SS", "sec" => "SS", "second" => "SS", "seconds" => "SS"); $arInterval = array(); while (preg_match('/\\s*([\\d]+)\\s*([a-z]+)\\s*/i', $interval, $match)) { $match2 = strtolower($match[2]); if (array_key_exists($match2, $arMap)) { $arInterval[$arMap[$match2]] = $bMinus ? -intval($match[1]) : intval($match[1]); } $p = strpos($interval, $match[0]); $interval = substr($interval, $p + strlen($match[0])); } $newDate = AddToTimeStamp($arInterval, $date); return ConvertTimeStamp($newDate, "FULL"); }
if (strlen(trim($filter_date_visit_to)) > 0) { if ($arDate = ParseDateTime($filter_date_visit_to, CSite::GetDateFormat("FULL", SITE_ID))) { if (StrLen($filter_date_visit_to) < 11) { $arDate["HH"] = 23; $arDate["MI"] = 59; $arDate["SS"] = 59; } $filter_date_visit_to = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"])); $arFilter["DATE_TO"] = $filter_date_visit_to; } else { $filter_date_visit_to = ""; } } if (strlen(trim($filter_date_visit_from_DAYS_TO_BACK)) > 0) { $dateBack = IntVal($filter_date_visit_from_DAYS_TO_BACK); $arFilter["DATE_FROM"] = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $dateBack), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "SHORT"); } CAdminMessage::ShowNote($viewedMessage); CAdminMessage::ShowMessage($viewedError); $newFilter = array(); foreach ($arFilter as $key => $value) { if ($key == "DATE_FROM") { $newFilter['>=DATE_VISIT'] = $value; } elseif ($key == "DATE_TO") { $newFilter['<DATE_VISIT'] = $value; } else { $newFilter[$key] = $value; } } if (\Bitrix\Main\Loader::includeModule("catalog")) { $viewedQuery = new \Bitrix\Main\Entity\Query(\Bitrix\Catalog\CatalogViewedProductTable::getEntity());
$strFilterSite = "&site_id=" . $arGadgetParams["SITE_ID"]; } else { $strFilterSite = ""; } $arComm = CTraffic::GetCommonValues($arFilter); $arRows = array("HITS" => array("NAME" => GetMessage("GD_STAT_HITS"), "LINK" => "hit_list.php"), "HOSTS" => array("NAME" => GetMessage("GD_STAT_HOSTS")), "SESSIONS" => array("NAME" => GetMessage("GD_STAT_SESSIONS"), "LINK" => "session_list.php"), "EVENTS" => array("NAME" => GetMessage("GD_STAT_EVENTS"), "LINK" => "event_list.php")); if (!array_key_exists("SITE_ID", $arFilter)) { $arRows["GUESTS"] = array("NAME" => GetMessage("GD_STAT_VISITORS"), "LINK" => "guest_list.php"); } $date_beforeyesterday = ConvertTimeStamp(AddToTimeStamp(array("DD" => -2, "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "SHORT"); $date_yesterday = ConvertTimeStamp(AddToTimeStamp(array("DD" => -1, "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "SHORT"); $date_today = ConvertTimeStamp(mktime(0, 0, 0, date("n"), date("j"), date("Y")), "SHORT"); if ($arGadgetParams["HIDE_GRAPH"] != "Y") { $iGraphWidth = $arGadgetParams["GRAPH_WIDTH"]; $iGraphHeight = $arGadgetParams["GRAPH_HEIGHT"]; $dateGraph1 = ConvertTimeStamp(AddToTimeStamp(array("DD" => -$arGadgetParams["GRAPH_DAYS"], "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0), time()), "SHORT"); $dateGraph2 = ConvertTimeStamp(time(), "SHORT"); $days = CTraffic::DynamicDays($dateGraph1, $dateGraph2, $arFilter["SITE_ID"]); if ($days < 2) { ?> <div class="bx-gadgets-content-padding-rl bx-gadgets-content-padding-t"><?php echo CAdminMessage::ShowMessage(GetMessage("STAT_NOT_ENOUGH_DATA")); ?> </div><?php } else { $strGraphParams = ""; if (in_array("HIT", $arGadgetParams["GRAPH_PARAMS"])) { $strGraphParams .= "find_hit=Y&"; } if (in_array("HOST", $arGadgetParams["GRAPH_PARAMS"])) { $strGraphParams .= "find_host=Y&";
function OnAfterPhotoUpload($arFields, $arComponentParams, $arComponentResult) { static $arSiteWorkgroupsPage; if (!CModule::IncludeModule("iblock")) { return; } if (!array_key_exists("IS_SOCNET", $arComponentParams) || $arComponentParams["IS_SOCNET"] != "Y") { return; } $arComponentResult["SECTION"]["PATH"] = array(); $rsPath = CIBlockSection::GetNavChain(intval($arComponentParams["IBLOCK_ID"]), intval($arFields["IBLOCK_SECTION"])); while ($arPath = $rsPath->Fetch()) { $arComponentResult["SECTION"]["PATH"][] = $arPath; } foreach ($arComponentResult["SECTION"]["PATH"] as $arPathSection) { if (strlen(trim($arPathSection["PASSWORD"])) > 0) { return; } } if (array_key_exists("USER_ALIAS", $arComponentParams) && strlen($arComponentParams["USER_ALIAS"]) > 0) { $arTmp = explode("_", $arComponentParams["USER_ALIAS"]); if (is_array($arTmp) && count($arTmp) == 2) { $entity_type = $arTmp[0]; $entity_id = $arTmp[1]; if ($entity_type == "group") { $entity_type = SONET_ENTITY_GROUP; } elseif ($entity_type == "user") { $entity_type = SONET_ENTITY_USER; } } if ((!in_array($entity_type, array(SONET_ENTITY_GROUP, SONET_ENTITY_USER)) || intval($entity_id) <= 0) && count($arComponentResult["SECTION"]["PATH"]) > 0) { $entity_type = SONET_ENTITY_USER; $entity_id = $arComponentResult["SECTION"]["PATH"][0]["CREATED_BY"]; } } if (!in_array($entity_type, array(SONET_ENTITY_GROUP, SONET_ENTITY_USER)) || intval($entity_id) <= 0) { return; } if (!$arSiteWorkgroupsPage && IsModuleInstalled("extranet") && $entity_type == SONET_ENTITY_GROUP) { $rsSite = CSite::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y")); while ($arSite = $rsSite->Fetch()) { $arSiteWorkgroupsPage[$arSite["ID"]] = COption::GetOptionString("socialnetwork", "workgroup_page", $arSite["DIR"] . "workgroups/", $arSite["ID"]); } } if (is_set($arComponentParams["DETAIL_URL"]) && is_array($arSiteWorkgroupsPage) && $entity_type == SONET_ENTITY_GROUP) { foreach ($arSiteWorkgroupsPage as $groups_page) { if (strpos($arComponentParams["DETAIL_URL"], $groups_page) === 0) { $arComponentParams["DETAIL_URL"] = "#GROUPS_PATH#" . substr($arComponentParams["DETAIL_URL"], strlen($groups_page), strlen($arComponentParams["DETAIL_URL"]) - strlen($groups_page)); } } } $db_res = CSocNetLog::GetList(array(), array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "photo", "EXTERNAL_ID" => $arFields["IBLOCK_SECTION"] . "_" . $arFields["MODIFIED_BY"], ">=LOG_UPDATE" => ConvertTimeStamp(AddToTimeStamp(array("MI" => -5)) + CTimeZone::GetOffset(), "FULL"))); if ($db_res && ($res = $db_res->Fetch())) { if (strlen($res["PARAMS"]) > 0) { $arResParams = unserialize($res["PARAMS"]); array_push($arResParams["arItems"], $arFields["ID"]); } else { return; } $arLogParams = array("COUNT" => $arResParams["COUNT"] + 1, "IBLOCK_TYPE" => $arComponentParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arComponentParams["IBLOCK_ID"], "ALIAS" => $arComponentParams["USER_ALIAS"], "DETAIL_URL" => $arResParams["DETAIL_URL"], "arItems" => $arResParams["arItems"]); $arSonetFields = array("=LOG_UPDATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "PARAMS" => serialize($arLogParams)); CSocNetLog::Update($res["ID"], $arSonetFields); CSocNetLogRights::SetForSonet($res["ID"], $entity_type, $entity_id, "photo", "view"); } else { $arLogParams = array("COUNT" => 1, "IBLOCK_TYPE" => $arComponentParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arComponentParams["IBLOCK_ID"], "DETAIL_URL" => $arComponentParams["DETAIL_URL"], "ALIAS" => $arComponentParams["USER_ALIAS"], "arItems" => array($arFields["ID"])); $sAuthorName = GetMessage("SONET_LOG_GUEST"); $sAuthorUrl = ""; if ($GLOBALS["USER"]->IsAuthorized()) { $sAuthorName = trim($GLOBALS["USER"]->GetFullName()); $sAuthorName = empty($sAuthorName) ? $GLOBALS["USER"]->GetLogin() : $sAuthorName; } $arSonetFields = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "photo", "=LOG_DATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "TITLE_TEMPLATE" => str_replace("#AUTHOR_NAME#", $sAuthorName, GetMessage("SONET_PHOTO_LOG_1")), "TITLE" => str_replace("#COUNT#", "1", GetMessage("SONET_PHOTO_LOG_2")), "MESSAGE" => "", "URL" => str_replace(array("#SECTION_ID#", "#section_id#"), $arFields["IBLOCK_SECTION"], $arComponentResult["URL"]["SECTION_EMPTY"]), "MODULE_ID" => false, "CALLBACK_FUNC" => false, "EXTERNAL_ID" => $arFields["IBLOCK_SECTION"] . "_" . $arFields["MODIFIED_BY"], "PARAMS" => serialize($arLogParams), "SOURCE_ID" => $arFields["IBLOCK_SECTION"]); $serverName = defined("SITE_SERVER_NAME") && strLen(SITE_SERVER_NAME) > 0 ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name"); $arSonetFields["TEXT_MESSAGE"] = str_replace(array("#TITLE#"), array($arComponentResult["SECTION"]["TITLE"]), GetMessage("SONET_PHOTO_LOG_MAIL_TEXT")); if ($GLOBALS["USER"]->IsAuthorized()) { $arSonetFields["USER_ID"] = $GLOBALS["USER"]->GetID(); } $logID = CSocNetLog::Add($arSonetFields, false); if (intval($logID) > 0) { CSocNetLog::Update($logID, array("TMP_ID" => $logID)); CSocNetLogRights::SetForSonet($logID, $entity_type, $entity_id, "photo", "view", true); CSocNetLog::SendEvent($logID, "SONET_NEW_EVENT", $logID); } } }
<?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule('crm')) { return false; } $arGadgetParams['PATH_TO_FULL_VIEW'] = CrmCheckPath('PATH_TO_FULL_VIEW', $arGadgetParams['PATH_TO_FULL_VIEW'], COption::GetOptionString('crm', 'path_to_activity_list')); if (!is_array($arGadgetParams) || !array_key_exists('ITEM_COUNT', $arGadgetParams) || $arGadgetParams['ITEM_COUNT'] <= 0) { $arGadgetParams['ITEM_COUNT'] = 5; } global $APPLICATION; $APPLICATION->IncludeComponent('bitrix:crm.activity.list', 'gadget', array('PERMISSION_TYPE' => 'WRITE', 'ENABLE_TOOLBAR' => false, 'ENABLE_NAVIGATION' => true, 'DISPLAY_REFERENCE' => true, 'DISPLAY_CLIENT' => true, 'AJAX_MODE' => 'N', 'PREFIX' => 'GADGET_MY_ACTIVITIES', 'ITEM_COUNT' => $arGadgetParams['ITEM_COUNT'], 'PATH_TO_FULL_VIEW' => $arGadgetParams['PATH_TO_FULL_VIEW'], 'DEFAULT_FILTER' => array('LOGIC' => 'AND', 'RESPONSIBLE_ID' => CCrmSecurityHelper::GetCurrentUserID(), '__INNER_FILTER_RECENT_CHANGED' => array('LOGIC' => 'OR', 'COMPLETED' => 'N', '>=LAST_UPDATED' => ConvertTimeStamp(AddToTimeStamp(array('HH' => -1), time() + CTimeZone::GetOffset()), 'FULL')))), false, array('HIDE_ICONS' => 'Y'));
$key = ConvertDateTime($arOrder["DATE_INSERT"], FORMAT_DATE); if ($tstm < $minDate || $minDate <= 0) { $minDate = MakeTimeStamp($arOrder["DATE_INSERT"]); } } elseif ($filter_by == "week") { $d = date("w", $tstm); if ($d < 1) { $d = -6; } elseif ($d > 1) { $d = $d - 1; } else { $d = 0; } $key = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $d), $tstm)); if ($tstm < $minDate || $minDate <= 0) { $minDate = AddToTimeStamp(array("DD" => "-" . $d), $tstm); } } elseif ($filter_by == "month") { $key = ConvertTimeStamp(mktime(0, 0, 0, date("n", $tstm), 1, date("Y", $tstm))); if ($tstm < $minDate || $minDate <= 0) { $minDate = $tstm; } } else { $key = ConvertTimeStamp(mktime(0, 0, 0, 1, 1, date("Y", $tstm))); if ($tstm < $minDate || $minDate <= 0) { $minDate = $tstm; } } $arResult[$key]["DATE"] = $key; if ($arResult[$key]["COUNT"] <= 0) { $arResult[$key]["COUNT"] = 0;
$arFields["LANG"] = LANGUAGE_ID; $arFields["rand"] = randString(4); if ($arGadgetParams["PERIOD"] == "WEEK") { $arFields["filter_date_from"] = ConvertTimeStamp(AddToTimeStamp(array("DD" => -7))); $arFields["filter_by"] = "day"; $arFields["cache_time"] = 60 * 60 * 4; } elseif (strlen($arGadgetParams["PERIOD"]) <= 0 || $arGadgetParams["PERIOD"] == "MONTH") { $arFields["filter_date_from"] = ConvertTimeStamp(AddToTimeStamp(array("MM" => -1))); $arFields["filter_by"] = "week"; $arFields["cache_time"] = 60 * 60 * 12; } elseif ($arGadgetParams["PERIOD"] == "QUATER") { $arFields["filter_date_from"] = ConvertTimeStamp(AddToTimeStamp(array("MM" => -4))); $arFields["filter_by"] = "month"; $arFields["cache_time"] = 60 * 60 * 24; } elseif ($arGadgetParams["PERIOD"] == "YEAR") { $arFields["filter_date_from"] = ConvertTimeStamp(AddToTimeStamp(array("YYYY" => -1))); $arFields["filter_by"] = "month"; $arFields["cache_time"] = 60 * 60 * 24; } if ($_REQUEST["clear_cache"] == "Y") { $arFields["clear_cache"] = "Y"; } $imgUrl = "/bitrix/admin/sale_stat_graph.php?"; foreach ($arFields as $k => $v) { $imgUrl .= $k . "=" . $v . "&"; } ?> <script type="text/javascript"> var gdSaleGraphTabControl_<?php echo $arGadgetParams["RND_STRING"]; ?>
if (strlen($arGadgetParams["SITE_ID"]) > 0) { $arFilter["LID"] = $arGadgetParams["SITE_ID"]; $arGadgetParams["RND_STRING"] = $arGadgetParams["SITE_ID"] . '_' . $arGadgetParams["RND_STRING"]; } $cache_time = 0; if ($arGadgetParams["PERIOD"] == "WEEK") { $arFilter[">=DATE_INSERT"] = ConvertTimeStamp(AddToTimeStamp(array("DD" => -7))); $cache_time = 60 * 60 * 4; } elseif (strlen($arGadgetParams["PERIOD"]) <= 0 || $arGadgetParams["PERIOD"] == "MONTH") { $arFilter[">=DATE_INSERT"] = ConvertTimeStamp(AddToTimeStamp(array("MM" => -1))); $cache_time = 60 * 60 * 12; } elseif ($arGadgetParams["PERIOD"] == "QUATER") { $arFilter[">=DATE_INSERT"] = ConvertTimeStamp(AddToTimeStamp(array("MM" => -4))); $cache_time = 60 * 60 * 24; } elseif ($arGadgetParams["PERIOD"] == "YEAR") { $arFilter[">=DATE_INSERT"] = ConvertTimeStamp(AddToTimeStamp(array("YYYY" => -1))); $cache_time = 60 * 60 * 24; } if (!isset($arGadgetParams["LIMIT"]) || (int) $arGadgetParams["LIMIT"] <= 0) { $arGadgetParams["LIMIT"] = 5; } $obCache = new CPHPCache(); $cache_id = "admin_products_" . md5(serialize($arFilter)) . "_" . $arGadgetParams["LIMIT"]; if ($obCache->InitCache($cache_time, $cache_id, "/")) { $arResult = $obCache->GetVars(); } else { $cacheStart = false; if ($cache_time > 0) { $cacheStart = $obCache->StartDataCache(); } $arResult = array();
"filter_allow_delivery" => "N", ), //"SORT_FIELD" => array("DATE_UPDATE" => "DESC"), )); $oFilter->AddPreset(array( "ID" => "find_order_null", "NAME" => GetMessage("SOA_PRESET_ORDER_NULL"), "FIELDS" => array( "filter_canceled" => "N", "filter_payed" => "", "filter_allow_delivery" => "", "filter_status" => array("N", "P"), "filter_date_update_from_FILTER_PERIOD" => "before", "filter_date_update_from_FILTER_DIRECTION" => "previous", "filter_date_update_to" => ConvertTimeStamp(AddToTimeStamp(Array("DD" => -7))), ), //"SORT_FIELD" => array("DATE_UPDATE" => "DESC"), )); $oFilter->Begin(); ?> <tr> <td><?php echo GetMessage('SOA_ROW_BUYER'); ?> :</td> <td> <input type="text" name="filter_universal" value="<?echo htmlspecialcharsbx($filter_universal)?>" size="40"> </td> </tr>
<form name="find_form" method="GET" action="<?php echo $APPLICATION->GetCurPage(); ?> ?"> <?php $arFilterFieldsTmp = array("filter_universal" => Loc::getMessage("SOA_ROW_BUYER"), "filter_date_insert" => Loc::getMessage("SALE_F_DATE"), "filter_date_update" => Loc::getMessage("SALE_F_DATE_UPDATE"), "filter_id_from" => Loc::getMessage("SALE_F_ID"), "filter_account_number" => Loc::getMessage("SALE_F_ACCOUNT_NUMBER"), "filter_currency" => Loc::getMessage("SALE_F_LANG_CUR"), "filter_price" => Loc::getMessage("SOA_F_PRICE"), "filter_status" => Loc::getMessage("SALE_F_STATUS"), "filter_date_status_from" => Loc::getMessage("SALE_F_DATE_STATUS"), "filter_by_recommendation" => Loc::getMessage("SALE_F_BY_RECOMMENDATION"), "filter_payed" => Loc::getMessage("SALE_F_PAYED"), "filter_pay_system" => Loc::getMessage("SALE_F_PAY_SYSTEM"), "filter_person_type" => Loc::getMessage("SALE_F_PERSON_TYPE"), "filter_canceled" => Loc::getMessage("SALE_F_CANCELED"), "filter_deducted" => Loc::getMessage("SALE_F_DEDUCTED"), "filter_allow_delivery" => Loc::getMessage("SALE_F_ALLOW_DELIVERY"), "filter_date_paid" => Loc::getMessage("SALE_F_DATE_PAID"), "filter_date_allow_delivery" => Loc::getMessage("SALE_F_DATE_ALLOW_DELIVERY"), "filter_marked" => Loc::getMessage("SALE_F_MARKED"), "filter_user_id" => Loc::getMessage("SALE_F_USER_ID"), "filter_user_login" => Loc::getMessage("SALE_F_USER_LOGIN"), "filter_user_email" => Loc::getMessage("SALE_F_USER_EMAIL"), "filter_group_id" => Loc::getMessage("SALE_F_USER_GROUP_ID"), "filter_product_id" => Loc::getMessage("SO_PRODUCT_ID"), "filter_product_xml_id" => Loc::getMessage("SO_PRODUCT_XML_ID"), "filter_affiliate_id" => Loc::getMessage("SO_AFFILIATE_ID"), "filter_coupon" => Loc::getMessage("SALE_ORDER_LIST_HEADER_NAME_COUPONS"), "filter_sum_paid" => Loc::getMessage("SO_SUM_PAID"), "filter_xml_id" => Loc::getMessage("SO_XML_ID"), "filter_tracking_number" => Loc::getMessage("SOA_TRACKING_NUMBER"), "filter_source" => Loc::getMessage("SALE_F_SOURCE")); foreach ($arOrderProps + $arOrderPropsCode as $key => $value) { if ($value["IS_FILTERED"] == "Y" && $value["TYPE"] != "MULTIPLE") { $arFilterFieldsTmp[] = $value["NAME"]; } } $oFilter = new CAdminFilter($sTableID . "_filter", $arFilterFieldsTmp); $oFilter->SetDefaultRows(array("filter_universal", "filter_status", "filter_canceled")); $oFilter->AddPreset(array("ID" => "find_prioritet", "NAME" => Loc::getMessage("SOA_PRESET_PRIORITET"), "FIELDS" => array("filter_status" => "N", "filter_price_from" => "10000", "filter_price_to" => ""))); $oFilter->AddPreset(array("ID" => "find_allow_payed", "NAME" => Loc::getMessage("SOA_PRESET_PAYED"), "FIELDS" => array("filter_canceled" => "N", "filter_payed" => "Y"))); $oFilter->AddPreset(array("ID" => "find_order_null", "NAME" => Loc::getMessage("SOA_PRESET_ORDER_NULL"), "FIELDS" => array("filter_canceled" => "N", "filter_payed" => "", "filter_status" => array("N", "P"), "filter_date_update_from_FILTER_PERIOD" => "before", "filter_date_update_from_FILTER_DIRECTION" => "previous", "filter_date_update_to" => ConvertTimeStamp(AddToTimeStamp(array("DD" => -7)))))); $oFilter->Begin(); ?> <tr> <td><?php echo Loc::getMessage('SOA_ROW_BUYER'); ?> :</td> <td> <input type="text" name="filter_universal" value="<?php echo htmlspecialcharsbx($filter_universal); ?> " size="40"> </td> </tr> <tr>
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } include GetLangFileName(dirname(__FILE__) . "/", "/assist.php"); $assist_Shop_IDP = CSalePaySystemAction::GetParamValue("SHOP_IDP"); $assist_LOGIN = CSalePaySystemAction::GetParamValue("SHOP_LOGIN"); $assist_PASSWORD = CSalePaySystemAction::GetParamValue("SHOP_PASSWORD"); $password = CSalePaySystemAction::GetParamValue("SHOP_SECRET_WORLD"); $ORDER_ID = IntVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]); set_time_limit(0); $sHost = "payments.paysecure.ru"; $sUrl = "/orderstate/orderstate.cfm"; $dtm = AddToTimeStamp(array("MM" => -1), false); $sVars = "Ordernumber=" . $ORDER_ID . "&Merchant_ID=" . $assist_Shop_IDP . "&login="******"&password="******"&FORMAT=3&StartYear=" . date('Y', $dtm) . "&StartMonth=" . date('n', $dtm) . "&StartYDay=" . date('j', $dtm) . ""; $aDesc = array("In Process" => array(GetMessage("SASP_IP"), GetMessage("SASPD_IP")), "Delayed" => array(GetMessage("SASP_D"), GetMessage("SASPD_D")), "Approved" => array(GetMessage("SASP_A"), GetMessage("SASPD_A")), "PartialApproved" => array(GetMessage("SASP_PA"), GetMessage("SASPD_PA")), "PartialDelayed" => array(GetMessage("SASP_PD"), GetMessage("SASPD_PD")), "Canceled" => array(GetMessage("SASP_C"), GetMessage("SASPD_C")), "PartialCanceled" => array(GetMessage("SASP_PC"), GetMessage("SASPD_PC")), "Declined" => array(GetMessage("SASP_DEC"), GetMessage("SASPD_DEC")), "Timeout" => array(GetMessage("SASP_T"), GetMessage("SASPD_T"))); $sResult = QueryGetData($sHost, 80, $sUrl, $sVars, $errno, $errstr, "POST"); if ($sResult != "") { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/classes/general/xml.php"; $objXML = new CDataXML(); $objXML->LoadString($sResult); $arResult = $objXML->GetArray(); if (count($arResult) > 0 && $arResult["result"]["@"]["firstcode"] == "0") { $aRes = $arResult["result"]["#"]["order"][0]["#"]; if (IntVal($aRes["ordernumber"][0]["#"]) == $ORDER_ID) { $arFields = array(); $check = ToUpper(md5(toUpper(md5($password) . md5($assist_Shop_IDP . $aRes["ordernumber"][0]["#"] . $aRes["orderamount"][0]["#"] . $aRes["ordercurrency"][0]["#"] . $aRes["orderstate"][0]["#"])))); if ($aRes["checkvalue"][0]["#"] == $check) { $arOrder = CSaleOrder::GetByID($ORDER_ID); $arFields = array("PS_STATUS" => $aRes["orderstate"][0]["#"] == "Approved" ? "Y" : "N", "PS_STATUS_CODE" => substr($aRes["orderstate"][0]["#"], 0, 5), "PS_STATUS_DESCRIPTION" => $aDesc[$aRes["orderstate"][0]["#"]][0], "PS_STATUS_MESSAGE" => $aDesc[$aRes["orderstate"][0]["#"]][1], "PS_SUM" => DoubleVal($aRes["orderamount"][0]["#"]), "PS_CURRENCY" => $aRes["ordercurrency"][0]["#"], "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))));
public function GetDiscount($arParams = array()) { global $DB; global $USER; $arResult = array(); if (!(isset($USER) && $USER instanceof CUser && 'CUser' == get_class($USER))) { return $arResult; } if (!$USER->IsAuthorized()) { return $arResult; } if (!self::IsEnabled()) { return $arResult; } foreach (GetModuleEvents("catalog", "OnGetDiscountSave", true) as $arEvent) { $mxResult = ExecuteModuleEventEx($arEvent, $arParams); if (true !== $mxResult) { return $mxResult; } } if (!is_array($arParams) || empty($arParams)) { return $arResult; } $intUserID = 0; $arUserGroups = array(); $strSiteID = false; if (isset($arParams['USER_ID'])) { $intUserID = $arParams['USER_ID']; } if (isset($arParams['USER_GROUPS'])) { $arUserGroups = $arParams['USER_GROUPS']; } if (isset($arParams['SITE_ID'])) { $strSiteID = $arParams['SITE_ID']; } if (0 < self::GetDiscountUserID()) { $intUserID = self::GetDiscountUserID(); $arUserGroups = $USER->GetUserGroup($intUserID); } else { $intUserID = intval($intUserID); if (0 >= $intUserID) { $intUserID = $USER->GetID(); $arUserGroups = $USER->GetUserGroupArray(); } else { if (empty($arUserGroups)) { $arUserGroups = $USER->GetUserGroup($intUserID); } } } if (!is_array($arUserGroups) || empty($arUserGroups) || 0 >= $intUserID) { return $arResult; } $key = array_search(2, $arUserGroups); if (false !== $key) { unset($arUserGroups[$key]); } if (empty($arUserGroups)) { return $arResult; } if ($strSiteID === false) { $strSiteID = SITE_ID; } $arCurrentDiscountID = CCatalogDiscountSave::__GetDiscountIDByGroup($arUserGroups); if (!empty($arCurrentDiscountID)) { $intCurrentTime = getmicrotime(); $arFilter = array("ID" => $arCurrentDiscountID, 'SITE_ID' => $strSiteID, "TYPE" => DISCOUNT_TYPE_SAVE, 'ACTIVE' => 'Y', "+<=ACTIVE_FROM" => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), $intCurrentTime), "+>=ACTIVE_TO" => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), $intCurrentTime)); $rsDiscSaves = CCatalogDiscountSave::GetList(array(), $arFilter); while ($arDiscSave = $rsDiscSaves->Fetch()) { $arDiscSave['ACTION_SIZE'] = intval($arDiscSave['ACTION_SIZE']); $arDiscSave['COUNT_SIZE'] = intval($arDiscSave['COUNT_SIZE']); $arDiscSave['ACTIVE_FROM_UT'] = false; $arDiscSave['ACTIVE_TO_UT'] = false; $arDiscSave['COUNT_FROM_UT'] = false; $arDiscSave['COUNT_TO_UT'] = false; $strCountPeriod = 'U'; $strActionPeriod = 'U'; $arCountPeriodBack = array(); $arActionPeriodBack = array(); $arActionPeriod = array(); $arStartDate = false; $arOldOrderSumm = false; $arOrderSumm = false; $boolPeriodInsert = true; $intCountTime = $intCurrentTime; $arOrderFilter = array("USER_ID" => $intUserID, "LID" => $arDiscSave['SITE_ID'], "PAYED" => "Y", "CANCELED" => "N"); $arOldOrderFilter = $arOrderFilter; if (!empty($arDiscSave['ACTIVE_FROM']) || !empty($arDiscSave['ACTIVE_TO'])) { $strActionPeriod = 'D'; if (!empty($arDiscSave['ACTIVE_FROM'])) { $arDiscSave['ACTIVE_FROM_UT'] = MakeTimeStamp($arDiscSave['ACTIVE_FROM']); } if (!empty($arDiscSave['ACTIVE_TO'])) { $arDiscSave['ACTIVE_TO_UT'] = MakeTimeStamp($arDiscSave['ACTIVE_TO']); } } elseif (0 < $arDiscSave['ACTION_SIZE'] && in_array($arDiscSave['ACTION_TYPE'], array('D', 'M', 'Y'))) { $strActionPeriod = 'P'; $arActionPeriodBack = CCatalogDiscountSave::__GetTimeStampArray($arDiscSave['ACTION_SIZE'], $arDiscSave['ACTION_TYPE']); $arActionPeriod = CCatalogDiscountSave::__GetTimeStampArray($arDiscSave['ACTION_SIZE'], $arDiscSave['ACTION_TYPE'], true); } if (!empty($arDiscSave['COUNT_FROM']) || !empty($arDiscSave['COUNT_TO'])) { $strCountPeriod = 'D'; if (!empty($arDiscSave['COUNT_FROM'])) { $arDiscSave['COUNT_FROM_UT'] = MakeTimeStamp($arDiscSave['COUNT_FROM']); } if (!empty($arDiscSave['COUNT_TO'])) { $arDiscSave['COUNT_TO_UT'] = MakeTimeStamp($arDiscSave['COUNT_TO']); if ($arDiscSave['COUNT_TO_UT'] > $intCountTime) { $arDiscSave['COUNT_TO_UT'] = $intCountTime; $arDiscSave['COUNT_TO'] = ConvertTimeStamp($intCountTime, 'FULL'); } } } elseif (0 < $arDiscSave['COUNT_SIZE'] && in_array($arDiscSave['COUNT_TYPE'], array('D', 'M', 'Y'))) { $strCountPeriod = 'P'; $arCountPeriodBack = CCatalogDiscountSave::__GetTimeStampArray($arDiscSave['COUNT_SIZE'], $arDiscSave['COUNT_TYPE']); } if ('D' == $strCountPeriod) { if (false !== $arDiscSave['COUNT_FROM_UT']) { if ($arDiscSave['COUNT_FROM_UT'] > $intCountTime) { continue; } if (false !== $arDiscSave['COUNT_TO_UT'] && $arDiscSave['COUNT_TO_UT'] <= $arDiscSave['COUNT_FROM_UT']) { continue; } if (false !== $arDiscSave['ACTIVE_TO_UT'] && $arDiscSave['COUNT_FROM_UT'] >= $arDiscSave['ACTIVE_TO_UT']) { continue; } } if (false !== $arDiscSave['COUNT_TO_UT']) { if ('P' == $strActionPeriod && $arDiscSave['COUNT_TO_UT'] < AddToTimeStamp($arActionPeriodBack, $intCountTime)) { continue; } } } if ('P' == $strActionPeriod) { if ('P' == $strCountPeriod) { $arStartDate = CCatalogDiscountSave::__GetUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID, 'ACTIVE_FROM' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arActionPeriodBack, $intCountTime)))); if (is_array($arStartDate) && !empty($arStartDate)) { $arOldOrderFilter['<DATE_INSERT'] = $arStartDate['ACTIVE_FROM_FORMAT']; $arOldOrderFilter['>=DATE_INSERT'] = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arCountPeriodBack, MakeTimeStamp($arStartDate['ACTIVE_FROM_FORMAT']))); $arOldOrderSumm = CCatalogDiscountSave::__SaleOrderSumm($arOldOrderFilter, $arDiscSave['CURRENCY']); } } else { $arStartDate = CCatalogDiscountSave::__GetUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID), array('ACTIVE_FROM' => false, 'DELETE' => false)); if (is_array($arStartDate) && !empty($arStartDate)) { $intTimeStart = MakeTimeStamp($arStartDate['ACTIVE_FROM_FORMAT']); $intTimeFinish = MakeTimeStamp($arStartDate['ACTIVE_TO_FORMAT']); if (!($intTimeStart <= $intCountTime && $intTimeFinish >= $intCountTime)) { continue; } else { $boolPeriodInsert = false; } } } } $intTimeStart = false; $intTimeFinish = false; if ('D' == $strCountPeriod) { $intTimeStart = !empty($arDiscSave['COUNT_FROM']) ? $arDiscSave['COUNT_FROM'] : false; $intTimeFinish = !empty($arDiscSave['COUNT_TO']) ? $arDiscSave['COUNT_TO'] : false; } elseif ('P' == $strCountPeriod) { $intTimeStart = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arCountPeriodBack, $intCountTime)); } if ($intTimeStart) { $arOrderFilter['>=DATE_INSERT'] = $intTimeStart; } if ($intTimeFinish) { $arOrderFilter['<DATE_INSERT'] = $intTimeFinish; } $arOrderSumm = CCatalogDiscountSave::__SaleOrderSumm($arOrderFilter, $arDiscSave['CURRENCY']); if (is_array($arOldOrderSumm) && 0 < $arOldOrderSumm['RANGE_SUMM']) { if ($arOrderSumm['RANGE_SUMM'] <= $arOldOrderSumm['RANGE_SUMM']) { $arOrderSumm = $arOldOrderSumm; } else { $arOldOrderSumm = false; } } $rsRanges = CCatalogDiscountSave::GetRangeByDiscount(array('RANGE_FROM' => 'desc'), array('DISCOUNT_ID' => $arDiscSave['ID'], '<=RANGE_FROM' => $arOrderSumm['RANGE_SUMM']), false, array('nTopCount' => 1)); if ($arRange = $rsRanges->Fetch()) { if ('P' == $strActionPeriod) { if ('P' == $strCountPeriod) { if (!is_array($arOldOrderSumm)) { CCatalogDiscountSave::__UpdateUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID, 'ACTIVE_FROM' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), $intCountTime), 'ACTIVE_TO' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arActionPeriod, $intCountTime)), 'RANGE_FROM' => -1)); } } else { if ($boolPeriodInsert) { CCatalogDiscountSave::__UpdateUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID, 'ACTIVE_FROM' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), $intCountTime), 'ACTIVE_TO' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arActionPeriod, $intCountTime)), 'RANGE_FROM' => -1), array('SEARCH' => true, 'DELETE' => false)); } } } unset($arDiscSave['ACTIVE_FROM_UT']); unset($arDiscSave['ACTIVE_TO_UT']); unset($arDiscSave['COUNT_FROM_UT']); unset($arDiscSave['COUNT_TO_UT']); $arOneResult = array(); $arOneResult = $arDiscSave; $arOneResult['VALUE'] = $arRange['VALUE']; $arOneResult['VALUE_TYPE'] = $arRange['TYPE']; $arOneResult['RANGE_FROM'] = $arRange['RANGE_FROM']; $arOneResult['SUMM'] = $arOrderSumm['SUMM']; $arOneResult['SUMM_CURRENCY'] = $arOrderSumm['CURRENCY']; $arOneResult['RANGE_SUMM'] = $arOrderSumm['RANGE_SUMM']; $arOneResult['LAST_ORDER_DATE'] = $arOrderSumm['LAST_ORDER_DATE']; $arResult[] = $arOneResult; } } } return $arResult; }
text : '<?php echo GetMessageJS("prolog_main_support_menu3"); ?> ', onclick : function() {prolongRemind('<?php echo AddToTimeStamp(array("DD" => 14)); ?> ', this)} }, { text : '<?php echo GetMessageJS("prolog_main_support_menu4"); ?> ', onclick : function() {prolongRemind('<?php echo AddToTimeStamp(array("MM" => 1)); ?> ', this)} } ], { offsetTop : 5, offsetLeft : 13, angle : true }); return false; } function prolongRemind(tt, el) {
$arFilter["EVENT_ID"][] = "blog_comment"; $arFilter["EVENT_ID"][] = "blog_post_micro"; } $arFilter["EVENT_ID"][] = $feature_id; } } else { foreach ($arFilter["EVENT_ID"] as $key => $feature_id) { if (!in_array($feature_id, array_merge($arFeatures, array("system")))) { unset($arFilter["EVENT_ID"][$key]); } } } } if ($arParams["LOG_DATE_DAYS"] > 0) { $arrAdd = array("DD" => -$arParams["LOG_DATE_DAYS"], "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0); $stmp = AddToTimeStamp($arrAdd, time()); $arFilter[">=LOG_DATE"] = ConvertTimeStamp($stmp, "FULL"); } if (CModule::IncludeModule('extranet') && CExtranet::IsExtranetSite()) { $arFilter["SITE_ID"] = SITE_ID; } else { $arFilter["SITE_ID"] = array(SITE_ID, false); } $arResult["Events"] = array(); CTimeZone::Disable(); $dbEvents = CSocNetLog::GetList(array("LOG_DATE" => "DESC"), $arFilter, false, false, array(), array("USER_ID" => $bCurrentUserIsAdmin ? "A" : $GLOBALS["USER"]->GetID())); CTimeZone::Enable(); while ($arEvents = $dbEvents->GetNext()) { if ($arEvents["ENTITY_TYPE"] == SONET_ENTITY_GROUP) { $path2Entity = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arEvents["ENTITY_ID"])); } else {
public static function PlusMinutes($basetime, $min) { $result = $basetime; $arAdd = array('MI' => $min); $result = AddToTimeStamp($arAdd, $basetime); return $result; }
$arResult["GROUPS_FORUMS"] = $arGroups; /************** Topic list of forum ********************************/ $arFilter = array("@FORUM_ID" => array_keys($arResult["FORUMS"])); if (!CForumUser::IsAdmin()) { $arFilter["PERMISSION"] = $USER->GetGroups(); } $find_forum = !empty($arResult["FORUMS"][$find_forum]) ? $find_forum : 0; if (intVal($find_forum) > 0) { $arFilter["FORUM_ID"] = intVal($find_forum); } if (CheckLastTopicsFilter()) { if (intVal($find_date1) > 0) { $arFilter[">=LAST_POST_DATE"] = $find_date1; } if (intval($find_date2) > 0) { $arFilter["<=LAST_POST_DATE"] = GetTime(AddToTimeStamp(array("DD" => 1), CTimeZone::GetOffset() + MakeTimeStamp($find_date2, CLang::GetDateFormat('FULL', false)))); } } if ($USER->IsAuthorized()) { $arFilter["RENEW"] = $USER->GetID(); } else { //604800 = 7*24*60*60; $arFilter[">LAST_POST_DATE"] = ConvertTimeStamp(time() - 604800 + CTimeZone::GetOffset(), "FULL"); /*foreach ($arForums as $key => $val) { $arForums[$key]["LAST_VISIT"] = intVal($_SESSION["FORUM"]["LAST_VISIT_FORUM_0"]); if ($arForums[$key]["LAST_VISIT"] < intVal($_SESSION["FORUM"]["LAST_VISIT_FORUM_".intVal($key)])) $arForums[$key]["LAST_VISIT"] = intVal($_SESSION["FORUM"]["LAST_VISIT_FORUM_".intVal($key)]); } */ }
/** * Returns orders filter for CSaleProduct::GetBestSellerList method. * @return mixed[] */ protected function getOrdersFilter() { if (!empty($this->arParams['FILTER'])) { $filter = defined('SITE_ID') && !SITE_ID ? array('=LID' => $this->getSiteId()) : array(); $subFilter = array("LOGIC" => "OR"); $statuses = array("CANCELED" => true, "ALLOW_DELIVERY" => true, "PAYED" => true, "DEDUCTED" => true); if ($this->arParams['PERIOD'] > 0) { $date = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $this->arParams['PERIOD']))); if (!empty($date)) { foreach ($this->arParams['FILTER'] as &$field) { if (isset($statuses[$field])) { $subFilter[] = array(">=DATE_{$field}" => $date, "={$field}" => "Y"); } else { $subFilter[] = array("=STATUS_ID" => $field, ">=DATE_UPDATE" => $date); } } unset($field); } } else { foreach ($this->arParams['FILTER'] as &$field) { if (isset($statuses[$field])) { $subFilter[] = array("={$field}" => "Y"); } else { $subFilter[] = array("=STATUS_ID" => $field); } } unset($field); } $filter[] = $subFilter; return $filter; } return array(); }
} if (!CModule::IncludeModule("sale")) { $this->AbortResultCache(); ShowError(GetMessage("SB_MODULE_NOT_INSTALL")); return; } if (strlen($arParams["FILTER_NAME"]) <= 0 || !preg_match("/^[A-Za-z_][A-Za-z01-9_]*\$/", $arParams["FILTER_NAME"])) { $arFilterRes = array(); } else { global ${$arParams["FILTER_NAME"]}; $arFilterRes = ${$arParams["FILTER_NAME"]}; if (!is_array($arFilter)) { $arFilterRes = array(); } } $arOrderFilterRes = array(">=DATE_ALLOW_DELIVERY" => ConvertTimeStamp(AddToTimeStamp(array("DD" => "-" . $arParams["days"]))), "=ALLOW_DELIVERY" => "Y", "=LID" => SITE_ID); if (strlen($arParams["ORDER_FILTER_NAME"]) >= 0 && preg_match("/^[A-Za-z_][A-Za-z01-9_]*\$/", $arParams["ORDER_FILTER_NAME"])) { global ${$arParams["ORDER_FILTER_NAME"]}; if (is_array(${$arParams["ORDER_FILTER_NAME"]})) { foreach (${$arParams["ORDER_FILTER_NAME"]} as $k => $v) { $arOrderFilterRes[$k] = $v; } } } $i = 0; $dbRes = CSaleProduct::GetBestSellerList($arParams["by_val"], $arFilterRes, $arOrderFilterRes, $arParams["ITEM_COUNT"] * 2); while ($arRes = $dbRes->GetNext()) { $arFilterIB = array("SITE_ID" => SITE_ID, "ID" => $arRes["PRODUCT_ID"], "ACTIVE" => "Y"); if (strlen($arRes["CATALOG_XML_ID"]) > 0) { $arFilterIB["IBLOCK_EXTERNAL_ID"] = $arRes["CATALOG_XML_ID"]; }
} } if ($arFind["filter_by"] == "day" || $arFind["filter_by"] == "week" || $arFind["filter_by"] == "year") { if ($arFind["filter_by"] == "day") { $period = 60 * 60 * 24; } elseif ($arFind["filter_by"] == "week") { $period = 60 * 60 * 24 * 7; $d = date("w", $MinX); if ($d < 1) { $d = 6; } elseif ($d > 1) { $d = $d - 1; } else { $d = 0; } $MinX = AddToTimeStamp(array("DD" => "-" . $d), $MinX); } else { $period = 60 * 60 * 24 * 365; $MinX = mktime(0, 0, 0, 1, 1, date("Y", $MinX)); } for ($i = $MinX; $i < $MaxX; $i += $period) { $tm = ConvertTimeStamp($i); if ($arFind["filter_by"] == "year") { $tm = ConvertTimeStamp(mktime(0, 0, 0, 1, 1, date("Y", $i))); } if (empty($arResult[$tm])) { $arResult[$tm] = array("DATE" => $tm); } } } elseif ($arFind["filter_by"] == "month") { $minMonth = date("n", $MinX);
public static function OnAfterPhotoUpload($arFields, $arComponentParams, $arComponentResult) { static $arSiteWorkgroupsPage; if (!CModule::IncludeModule("iblock")) { return; } if (!array_key_exists("IS_SOCNET", $arComponentParams) || $arComponentParams["IS_SOCNET"] != "Y") { return; } $bPassword = false; $arComponentResult["SECTION"]["PATH"] = array(); $rsSectionAlbum = CIBlockSection::GetList(array(), array("ID" => intval($arFields["IBLOCK_SECTION"])), false, array("ID", "LEFT_MARGIN", "RIGHT_MARGIN", "DEPTH_LEVEL")); if ($arSectionAlbum = $rsSectionAlbum->Fetch()) { $dbSection = CIBlockSection::GetList(array("LEFT_MARGIN" => "ASC"), array("IBLOCK_ID" => intval($arComponentParams["IBLOCK_ID"]), "<=LEFT_BORDER" => intval($arSectionAlbum["LEFT_MARGIN"]), ">=RIGHT_BORDER" => intval($arSectionAlbum["RIGHT_MARGIN"]), "<=DEPTH_LEVEL" => intval($arSectionAlbum["DEPTH_LEVEL"])), false, array("ID", "IBLOCK_ID", "NAME", "CREATED_BY", "DEPTH_LEVEL", "LEFT_MARGIN", "RIGHT_MARGIN", "UF_PASSWORD")); while ($arPath = $dbSection->Fetch()) { $arComponentResult["SECTION"]["PATH"][] = $arPath; } } foreach ($arComponentResult["SECTION"]["PATH"] as $arPathSection) { if (strlen(trim($arPathSection["UF_PASSWORD"])) > 0) { $bPassword = true; break; } } if (array_key_exists("USER_ALIAS", $arComponentParams) && strlen($arComponentParams["USER_ALIAS"]) > 0) { $arTmp = explode("_", $arComponentParams["USER_ALIAS"]); if (is_array($arTmp) && count($arTmp) == 2) { $entity_type = $arTmp[0]; $entity_id = $arTmp[1]; if ($entity_type == "group") { $entity_type = SONET_ENTITY_GROUP; } elseif ($entity_type == "user") { $entity_type = SONET_ENTITY_USER; } } if ((!in_array($entity_type, array(SONET_ENTITY_GROUP, SONET_ENTITY_USER)) || intval($entity_id) <= 0) && count($arComponentResult["SECTION"]["PATH"]) > 0) { $entity_type = SONET_ENTITY_USER; $entity_id = $arComponentResult["SECTION"]["PATH"][0]["CREATED_BY"]; } } if (!in_array($entity_type, array(SONET_ENTITY_GROUP, SONET_ENTITY_USER)) || intval($entity_id) <= 0) { return; } if (!$arSiteWorkgroupsPage && IsModuleInstalled("extranet") && $entity_type == SONET_ENTITY_GROUP) { $rsSite = CSite::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y")); while ($arSite = $rsSite->Fetch()) { $arSiteWorkgroupsPage[$arSite["ID"]] = COption::GetOptionString("socialnetwork", "workgroups_page", $arSite["DIR"] . "workgroups/", $arSite["ID"]); } } if (is_set($arComponentParams["DETAIL_URL"]) && is_array($arSiteWorkgroupsPage) && $entity_type == SONET_ENTITY_GROUP) { foreach ($arSiteWorkgroupsPage as $groups_page) { if (strpos($arComponentParams["DETAIL_URL"], $groups_page) === 0) { $arComponentParams["DETAIL_URL"] = "#GROUPS_PATH#" . substr($arComponentParams["DETAIL_URL"], strlen($groups_page), strlen($arComponentParams["DETAIL_URL"]) - strlen($groups_page)); } } } $db_res = CSocNetLog::GetList(array(), array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "photo", "EXTERNAL_ID" => $arFields["IBLOCK_SECTION"] . "_" . $arFields["MODIFIED_BY"], ">=LOG_UPDATE" => ConvertTimeStamp(AddToTimeStamp(array("MI" => -5)) + CTimeZone::GetOffset(), "FULL"))); if (array_key_exists("SECTION", $arComponentResult) && array_key_exists("NAME", $arComponentResult["SECTION"])) { $strSectionName = $arComponentResult["SECTION"]["NAME"]; } else { $strSectionName = $arComponentResult["SECTION"]["PATH"][count($arComponentResult["SECTION"]["PATH"]) - 1]["NAME"]; } if (array_key_exists("URL", $arComponentResult) && array_key_exists("SECTION_EMPTY", $arComponentResult["URL"])) { $strSectionUrl = $arComponentResult["URL"]["SECTION_EMPTY"]; } else { $strSectionUrl = $arComponentResult["SECTION_URL"]; } $strSectionUrl = str_replace(array("#SECTION_ID#", "#section_id#"), $arFields["IBLOCK_SECTION"], $strSectionUrl); if ($db_res && ($res = $db_res->Fetch())) { if (strlen($res["PARAMS"]) > 0) { $arResParams = unserialize($res["PARAMS"]); array_push($arResParams["arItems"], $arFields["ID"]); } else { return; } $arLogParams = array("COUNT" => $arResParams["COUNT"] + 1, "IBLOCK_TYPE" => $arComponentParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arComponentParams["IBLOCK_ID"], "ALIAS" => $arComponentParams["USER_ALIAS"], "DETAIL_URL" => $arResParams["DETAIL_URL"], "arItems" => $arResParams["arItems"]); $arSonetFields = array("=LOG_UPDATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "PARAMS" => serialize($arLogParams)); CSocNetLog::Update($res["ID"], $arSonetFields); if (!$bPassword) { CSocNetLogRights::SetForSonet($res["ID"], $entity_type, $entity_id, "photo", "view"); } $logID = $res["ID"]; } else { $arLogParams = array("COUNT" => 1, "IBLOCK_TYPE" => $arComponentParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arComponentParams["IBLOCK_ID"], "DETAIL_URL" => $arComponentParams["DETAIL_URL"], "ALIAS" => $arComponentParams["USER_ALIAS"], "arItems" => array($arFields["ID"])); $sAuthorName = GetMessage("SONET_PHOTO_LOG_GUEST"); $sAuthorUrl = ""; if ($GLOBALS["USER"]->IsAuthorized()) { $sAuthorName = trim($GLOBALS["USER"]->GetFullName()); $sAuthorName = empty($sAuthorName) ? $GLOBALS["USER"]->GetLogin() : $sAuthorName; } $arSonetFields = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "photo", "=LOG_DATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "TITLE_TEMPLATE" => str_replace("#AUTHOR_NAME#", $sAuthorName, GetMessage("SONET_PHOTO_LOG_1")), "TITLE" => str_replace("#COUNT#", "1", GetMessage("SONET_PHOTO_LOG_2")), "MESSAGE" => "", "URL" => $strSectionUrl, "MODULE_ID" => false, "CALLBACK_FUNC" => false, "EXTERNAL_ID" => $arFields["IBLOCK_SECTION"] . "_" . $arFields["MODIFIED_BY"], "PARAMS" => serialize($arLogParams), "SOURCE_ID" => $arFields["IBLOCK_SECTION"]); $serverName = defined("SITE_SERVER_NAME") && strLen(SITE_SERVER_NAME) > 0 ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name"); $arSonetFields["TEXT_MESSAGE"] = str_replace(array("#TITLE#"), array($strSectionName), GetMessage("SONET_PHOTO_LOG_MAIL_TEXT")); if ($GLOBALS["USER"]->IsAuthorized()) { $arSonetFields["USER_ID"] = $GLOBALS["USER"]->GetID(); } $logID = CSocNetLog::Add($arSonetFields, false); if (intval($logID) > 0) { CSocNetLog::Update($logID, array("TMP_ID" => $logID, "RATING_TYPE_ID" => "IBLOCK_SECTION", "RATING_ENTITY_ID" => $arFields["IBLOCK_SECTION"])); if ($bPassword) { CSocNetLogRights::DeleteByLogID($logID); CSocNetLogRights::Add($logID, array("U" . $GLOBALS["USER"]->GetID(), "SA")); } else { CSocNetLogRights::SetForSonet($logID, $entity_type, $entity_id, "photo", "view", true); } CSocNetLog::CounterIncrement($logID); } } if ($entity_type == SONET_ENTITY_GROUP) { $dbRight = CSocNetLogRights::GetList(array(), array("LOG_ID" => $logID)); while ($arRight = $dbRight->Fetch()) { if ($arRight["GROUP_CODE"] == "SG" . $entity_id . "_" . SONET_ROLES_USER) { $title_tmp = str_replace(array("\r\n", "\n"), " ", $strSectionName); $title = TruncateText($title_tmp, 100); $title_out = TruncateText($title_tmp, 255); $arNotifyParams = array("LOG_ID" => $logID, "GROUP_ID" => array($entity_id), "NOTIFY_MESSAGE" => "", "FROM_USER_ID" => $arFields["MODIFIED_BY"], "URL" => $strSectionUrl, "MESSAGE" => GetMessage("SONET_IM_NEW_PHOTO", array("#title#" => "<a href=\"#URL#\" class=\"bx-notifier-item-action\">" . $title . "</a>")), "MESSAGE_OUT" => GetMessage("SONET_IM_NEW_PHOTO", array("#title#" => $title_out)) . " (#URL#)", "EXCLUDE_USERS" => array($arFields["MODIFIED_BY"])); CSocNetSubscription::NotifyGroup($arNotifyParams); break; } } } }
$title_user = CUser::FormatName($arParams['TITLE_NAME_TEMPLATE'], $arUser, $bUseLogin); $title = Str_Replace("#TITLE#", $title_user, GetMessage("SONET_ACTIVITY_PAGE_TITLE")); if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle($title); } if ($arParams["SET_NAV_CHAIN"] != "N") { $APPLICATION->AddChainItem($title_user, CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arParams["USER_ID"]))); $APPLICATION->AddChainItem(GetMessage("SONET_ACTIVITY_CHAIN_TITLE")); } } $arResult["CurrentUserPerms_UserID"] = CSocNetUserPerms::InitUserPerms($GLOBALS["USER"]->GetID(), $arParams["USER_ID"], $bCurrentUserIsAdmin); $arResult["Events"] = false; $arFilter = array("USER_ID" => $arParams["USER_ID"]); if ($arParams["LOG_DATE_DAYS"] > 0) { $arrAdd = array("DD" => -$arParams["LOG_DATE_DAYS"], "MM" => 0, "YYYY" => 0, "HH" => 0, "MI" => 0, "SS" => 0); $stmp = AddToTimeStamp($arrAdd, time() + CTimeZone::GetOffset()); $arFilter[">=LOG_DATE"] = ConvertTimeStamp($stmp, "FULL"); } if (strlen($arParams["EVENT_ID"]) > 0) { $arFilter["EVENT_ID"] = $arParams["EVENT_ID"]; if ($arFilter["EVENT_ID"] == "blog") { $arFilter["EVENT_ID"] = array("blog", "blog_post", "blog_comment", "blog_post_micro"); } } if (StrLen($_REQUEST["flt_event_id"]) > 0 && $_REQUEST["flt_event_id"] != "all") { $arFilter["EVENT_ID"] = $_REQUEST["flt_event_id"]; if ($arFilter["EVENT_ID"] == "blog") { $arFilter["EVENT_ID"] = array("blog", "blog_post", "blog_comment", "blog_post_micro"); } } if (CModule::IncludeModule('extranet') && CExtranet::IsExtranetSite()) {
BXClearCache(true, "/blog/comment/" . intval($arParams["ID"] / 100) . "/" . $arParams["ID"] . "/"); $images = array(); $res = CBlogImage::GetList(array(), array("POST_ID" => $arPost["ID"], "BLOG_ID" => $arBlog["ID"], "COMMENT_ID" => $commentID, "IS_COMMENT" => "Y")); while ($aImg = $res->Fetch()) { $images[$aImg["ID"]] = $aImg["FILE_ID"]; } $arParamsUpdateLog = array("PATH_TO_SMILE" => $arParams["PATH_TO_SMILE"], "IMAGES" => $images); if (IntVal($user_id) > 0) { $arResult["BlogUser"] = CBlogUser::GetByID($user_id, BLOG_BY_USER_ID); $arResult["BlogUser"] = CBlogTools::htmlspecialcharsExArray($arResult["BlogUser"]); $dbUser = CUser::GetByID($user_id); $arResult["arUser"] = $dbUser->GetNext(); $arResult["User"]["NAME"] = CBlogUser::GetUserName($arResult["BlogUser"]["ALIAS"], $arResult["arUser"]["NAME"], $arResult["arUser"]["LAST_NAME"], $arResult["arUser"]["LOGIN"]); } CBlogComment::UpdateLog($commentID, $arResult["BlogUser"], $arResult["User"], $arFields, $arPost, $arParamsUpdateLog); $res = CBlogImage::GetList(array(), array("POST_ID" => $arPost["ID"], "BLOG_ID" => $arBlog["ID"], "IS_COMMENT" => "Y", "COMMENT_ID" => false, "<=TIMESTAMP_X" => ConvertTimeStamp(AddToTimeStamp(array("HH" => -3)), "FULL"))); while ($aImg = $res->Fetch()) { CBlogImage::Delete($aImg["ID"]); } $commentUrl = CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arParams["ALLOW_POST_CODE"]), "user_id" => $arBlog["OWNER_ID"])); $commentUrl .= strpos($commentUrl, "?") !== false ? "&" : "?"; if (strlen($arFields["PUBLISH_STATUS"]) > 0 && $arFields["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH) { $arResult["MESSAGE"] = GetMessage("B_B_PC_MES_HIDDEN_EDITED"); } $arResult["ajax_comment"] = $commentID; $bHasImg = false; $bHasProps = false; $dbImg = CBlogImage::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arPost["ID"], "IS_COMMENT" => "Y"), false, false, array("ID")); if ($dbImg->Fetch()) { $bHasImg = true; }
public function GetDiscount($arParams = array(), $getAll = false) { global $DB, $USER; $adminSection = defined('ADMIN_SECTION') && ADMIN_SECTION === true; $arResult = array(); if (!CCatalog::IsUserExists() || !$USER->IsAuthorized() || !self::IsEnabled()) { return $arResult; } foreach (GetModuleEvents("catalog", "OnGetDiscountSave", true) as $arEvent) { $mxResult = ExecuteModuleEventEx($arEvent, $arParams); if ($mxResult !== true) { return $mxResult; } } if (empty($arParams) || !is_array($arParams)) { return $arResult; } $intUserID = 0; $arUserGroups = array(); $strSiteID = false; if (isset($arParams['USER_ID'])) { $intUserID = (int) $arParams['USER_ID']; } if (isset($arParams['USER_GROUPS'])) { $arUserGroups = $arParams['USER_GROUPS']; } if (isset($arParams['SITE_ID'])) { $strSiteID = $arParams['SITE_ID']; } if (self::GetDiscountUserID() > 0) { $intUserID = (int) self::GetDiscountUserID(); $arUserGroups = array(); } if ($intUserID <= 0 && !$adminSection) { $intUserID = (int) $USER->GetID(); $arUserGroups = array(); } if (empty($arUserGroups)) { if (!isset(self::$userGroups[$intUserID])) { self::$userGroups[$intUserID] = $USER->GetUserGroup($intUserID); } $arUserGroups = self::$userGroups[$intUserID]; } if (empty($arUserGroups) || !is_array($arUserGroups) || $intUserID <= 0) { return $arResult; } $key = array_search(2, $arUserGroups); if ($key !== false) { unset($arUserGroups[$key]); } if (empty($arUserGroups)) { return $arResult; } Main\Type\Collection::normalizeArrayValuesByInt($arUserGroups, true); if (empty($arUserGroups)) { return $arResult; } if ($strSiteID === false) { $strSiteID = SITE_ID; } $cacheKey = md5('U' . implode('_', $arUserGroups)); if (!isset(self::$discountFilterCache[$cacheKey])) { self::$discountFilterCache[$cacheKey] = CCatalogDiscountSave::__GetDiscountIDByGroup($arUserGroups); } if (empty(self::$discountFilterCache[$cacheKey])) { return $arResult; } $arCurrentDiscountID = self::$discountFilterCache[$cacheKey]; if (isset($arParams['ID'])) { Main\Type\Collection::normalizeArrayValuesByInt($arUserGroups, true); if (!empty($arParams['ID'])) { $arCurrentDiscountID = array_intersect($arCurrentDiscountID, $arParams['ID']); } } if (!empty($arCurrentDiscountID)) { $getAll = $getAll === true; $intCurrentTime = getmicrotime(); $strDate = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), $intCurrentTime); $arFilter = array('ID' => $arCurrentDiscountID, 'SITE_ID' => $strSiteID, 'TYPE' => self::ENTITY_ID, 'ACTIVE' => 'Y', '+<=ACTIVE_FROM' => $strDate, '+>=ACTIVE_TO' => $strDate); CTimeZone::Disable(); $rsDiscSaves = CCatalogDiscountSave::GetList(array(), $arFilter); CTimeZone::Enable(); while ($arDiscSave = $rsDiscSaves->Fetch()) { $arDiscSave['ACTION_SIZE'] = (int) $arDiscSave['ACTION_SIZE']; $arDiscSave['COUNT_SIZE'] = (int) $arDiscSave['COUNT_SIZE']; $arDiscSave['ACTIVE_FROM_UT'] = false; $arDiscSave['ACTIVE_TO_UT'] = false; $arDiscSave['COUNT_FROM_UT'] = false; $arDiscSave['COUNT_TO_UT'] = false; $arDiscSave['TYPE'] = (int) $arDiscSave['TYPE']; $arDiscSave['MODULE_ID'] = 'catalog'; $strCountPeriod = self::COUNT_TIME_ALL; $strActionPeriod = self::ACTION_TIME_ALL; $arCountPeriodBack = array(); $arActionPeriodBack = array(); $arActionPeriod = array(); $arStartDate = false; $arOldOrderSumm = false; $arOrderSumm = false; $boolPeriodInsert = true; $intCountTime = $intCurrentTime; $arOrderFilter = array('USER_ID' => $intUserID, 'LID' => $arDiscSave['SITE_ID'], 'PAYED' => 'Y', 'CANCELED' => 'N'); $arOldOrderFilter = $arOrderFilter; if (!empty($arDiscSave['ACTIVE_FROM']) || !empty($arDiscSave['ACTIVE_TO'])) { $strActionPeriod = self::ACTION_TIME_INTERVAL; if (!empty($arDiscSave['ACTIVE_FROM'])) { $arDiscSave['ACTIVE_FROM_UT'] = MakeTimeStamp($arDiscSave['ACTIVE_FROM']); } if (!empty($arDiscSave['ACTIVE_TO'])) { $arDiscSave['ACTIVE_TO_UT'] = MakeTimeStamp($arDiscSave['ACTIVE_TO']); } } elseif ($arDiscSave['ACTION_SIZE'] > 0 && in_array($arDiscSave['ACTION_TYPE'], array('D', 'M', 'Y'))) { $strActionPeriod = self::ACTION_TIME_PERIOD; $arActionPeriodBack = CCatalogDiscountSave::__GetTimeStampArray($arDiscSave['ACTION_SIZE'], $arDiscSave['ACTION_TYPE']); $arActionPeriod = CCatalogDiscountSave::__GetTimeStampArray($arDiscSave['ACTION_SIZE'], $arDiscSave['ACTION_TYPE'], true); } if (!empty($arDiscSave['COUNT_FROM']) || !empty($arDiscSave['COUNT_TO'])) { $strCountPeriod = self::COUNT_TIME_INTERVAL; if (!empty($arDiscSave['COUNT_FROM'])) { $arDiscSave['COUNT_FROM_UT'] = MakeTimeStamp($arDiscSave['COUNT_FROM']); } if (!empty($arDiscSave['COUNT_TO'])) { $arDiscSave['COUNT_TO_UT'] = MakeTimeStamp($arDiscSave['COUNT_TO']); if ($arDiscSave['COUNT_TO_UT'] > $intCountTime) { $arDiscSave['COUNT_TO_UT'] = $intCountTime; $arDiscSave['COUNT_TO'] = ConvertTimeStamp($intCountTime, 'FULL'); } } } elseif ($arDiscSave['COUNT_SIZE'] > 0 && in_array($arDiscSave['COUNT_TYPE'], array('D', 'M', 'Y'))) { $strCountPeriod = self::COUNT_TIME_PERIOD; $arCountPeriodBack = CCatalogDiscountSave::__GetTimeStampArray($arDiscSave['COUNT_SIZE'], $arDiscSave['COUNT_TYPE']); } if ($strCountPeriod == self::COUNT_TIME_INTERVAL) { if (false !== $arDiscSave['COUNT_FROM_UT']) { if ($arDiscSave['COUNT_FROM_UT'] > $intCountTime) { continue; } if (false !== $arDiscSave['COUNT_TO_UT'] && $arDiscSave['COUNT_TO_UT'] <= $arDiscSave['COUNT_FROM_UT']) { continue; } if (false !== $arDiscSave['ACTIVE_TO_UT'] && $arDiscSave['COUNT_FROM_UT'] >= $arDiscSave['ACTIVE_TO_UT']) { continue; } } if (false !== $arDiscSave['COUNT_TO_UT']) { if ($strActionPeriod == self::ACTION_TIME_PERIOD && $arDiscSave['COUNT_TO_UT'] < AddToTimeStamp($arActionPeriodBack, $intCountTime)) { continue; } } } if ($strActionPeriod == self::ACTION_TIME_PERIOD) { if ($strCountPeriod == self::COUNT_TIME_PERIOD) { $arStartDate = CCatalogDiscountSave::__GetUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID, 'ACTIVE_FROM' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arActionPeriodBack, $intCountTime)))); if (is_array($arStartDate) && !empty($arStartDate)) { $arOldOrderFilter['<DATE_INSERT'] = $arStartDate['ACTIVE_FROM_FORMAT']; $arOldOrderFilter['>=DATE_INSERT'] = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arCountPeriodBack, MakeTimeStamp($arStartDate['ACTIVE_FROM_FORMAT']))); $arOldOrderSumm = CCatalogDiscountSave::__SaleOrderSumm($arOldOrderFilter, $arDiscSave['CURRENCY']); } } else { $arStartDate = CCatalogDiscountSave::__GetUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID), array('ACTIVE_FROM' => false, 'DELETE' => false)); if (is_array($arStartDate) && !empty($arStartDate)) { $intTimeStart = MakeTimeStamp($arStartDate['ACTIVE_FROM_FORMAT']); $intTimeFinish = MakeTimeStamp($arStartDate['ACTIVE_TO_FORMAT']); if (!($intTimeStart <= $intCountTime && $intTimeFinish >= $intCountTime)) { continue; } else { $boolPeriodInsert = false; } } } } $intTimeStart = false; $intTimeFinish = false; if ($strCountPeriod == self::COUNT_TIME_INTERVAL) { $intTimeStart = !empty($arDiscSave['COUNT_FROM']) ? $arDiscSave['COUNT_FROM'] : false; $intTimeFinish = !empty($arDiscSave['COUNT_TO']) ? $arDiscSave['COUNT_TO'] : false; } elseif ($strCountPeriod == self::COUNT_TIME_PERIOD) { $intTimeStart = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arCountPeriodBack, $intCountTime)); } if ($intTimeStart) { $arOrderFilter['>=DATE_INSERT'] = $intTimeStart; } if ($intTimeFinish) { $arOrderFilter['<DATE_INSERT'] = $intTimeFinish; } $arOrderSumm = CCatalogDiscountSave::__SaleOrderSumm($arOrderFilter, $arDiscSave['CURRENCY']); if (is_array($arOldOrderSumm) && 0 < $arOldOrderSumm['RANGE_SUMM']) { if ($arOrderSumm['RANGE_SUMM'] <= $arOldOrderSumm['RANGE_SUMM']) { $arOrderSumm = $arOldOrderSumm; } else { $arOldOrderSumm = false; } } $rsRanges = CCatalogDiscountSave::GetRangeByDiscount(array('RANGE_FROM' => 'DESC'), array('DISCOUNT_ID' => $arDiscSave['ID'], '<=RANGE_FROM' => $arOrderSumm['RANGE_SUMM']), false, array('nTopCount' => 1)); $arRange = $rsRanges->Fetch(); if (!empty($arRange) || $getAll) { if (!empty($arRange)) { if ($strActionPeriod == self::ACTION_TIME_PERIOD) { if ($strCountPeriod == self::COUNT_TIME_PERIOD) { if (!is_array($arOldOrderSumm)) { CCatalogDiscountSave::__UpdateUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID, 'ACTIVE_FROM' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), $intCountTime), 'ACTIVE_TO' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arActionPeriod, $intCountTime)), 'RANGE_FROM' => -1)); } } else { if ($boolPeriodInsert) { CCatalogDiscountSave::__UpdateUserInfoByDiscount(array('DISCOUNT_ID' => $arDiscSave['ID'], 'USER_ID' => $intUserID, 'ACTIVE_FROM' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), $intCountTime), 'ACTIVE_TO' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), AddToTimeStamp($arActionPeriod, $intCountTime)), 'RANGE_FROM' => -1), array('SEARCH' => true, 'DELETE' => false)); } } } } unset($arDiscSave['ACTIVE_FROM_UT'], $arDiscSave['ACTIVE_TO_UT'], $arDiscSave['COUNT_FROM_UT'], $arDiscSave['COUNT_TO_UT']); $arOneResult = $arDiscSave; if (!empty($arRange)) { $arOneResult['VALUE'] = $arRange['VALUE']; $arOneResult['VALUE_TYPE'] = $arRange['TYPE']; $arOneResult['RANGE_FROM'] = $arRange['RANGE_FROM']; $arOneResult['MAX_DISCOUNT'] = 0; } else { $arOneResult['VALUE'] = 0; $arOneResult['VALUE_TYPE'] = self::TYPE_PERCENT; $arOneResult['MAX_DISCOUNT'] = 0; $rsRanges = CCatalogDiscountSave::GetRangeByDiscount(array('RANGE_FROM' => 'ASC'), array('DISCOUNT_ID' => $arDiscSave['ID']), false, array('nTopCount' => 1)); $arRange = $rsRanges->Fetch(); $arOneResult['NEXT_RANGE_FROM'] = $arRange['RANGE_FROM']; $arOneResult['NEXT_VALUE'] = $arRange['VALUE']; $arOneResult['NEXT_VALUE_TYPE'] = $arRange['TYPE']; } $arOneResult['SUMM'] = $arOrderSumm['SUMM']; $arOneResult['SUMM_CURRENCY'] = $arOrderSumm['CURRENCY']; $arOneResult['RANGE_SUMM'] = $arOrderSumm['RANGE_SUMM']; $arOneResult['LAST_ORDER_DATE'] = $arOrderSumm['LAST_ORDER_DATE']; $arResult[] = $arOneResult; } } } return $arResult; }
if (count($arBindingFilter) === 1) { $arBinding = $arBindingFilter[0]; $arResult['OWNER_TYPE'] = CCrmOwnerType::ResolveName($arBinding['OWNER_TYPE_ID']); $arResult['OWNER_ID'] = isset($arBinding['OWNER_ID']) ? $arBinding['OWNER_ID'] : 0; } else { $arResult['OWNER_TYPE'] = ''; $arResult['OWNER_ID'] = 0; } if ($showMode === 'COMPLETED') { $arFilter['__INNER_FILTER_SHOW_MODE'] = array('RESPONSIBLE_ID' => $currentUserID, 'LOGIC' => 'AND', 'COMPLETED' => 'Y'); } elseif ($showMode === 'NOT_COMPLETED') { $arFilter['__INNER_FILTER_SHOW_MODE'] = array('RESPONSIBLE_ID' => $currentUserID, 'LOGIC' => 'AND', 'COMPLETED' => 'N'); } elseif ($showMode === 'ALL_NOT_COMPLETED') { $arFilter['COMPLETED'] = 'N'; } elseif ($showMode === 'NOT_COMPLETED_OR_RECENT_CHANGED') { $arFilter['__INNER_FILTER_SHOW_MODE'] = array('LOGIC' => 'AND', 'RESPONSIBLE_ID' => $currentUserID, '__INNER_FILTER' => array('LOGIC' => 'OR', 'COMPLETED' => 'N', '>=LAST_UPDATED' => ConvertTimeStamp(AddToTimeStamp(array('HH' => -1), time() + CTimeZone::GetOffset()), 'FULL'))); } if (intval($arParams['ITEM_COUNT']) <= 0) { $arParams['ITEM_COUNT'] = 20; } $arParams['PATH_TO_USER_PROFILE'] = CrmCheckPath('PATH_TO_USER_PROFILE', isset($arParams['PATH_TO_USER_PROFILE']) ? $arParams['PATH_TO_USER_PROFILE'] : '', '/company/personal/user/#user_id#/'); $arResult['HEADERS'] = array(array('id' => 'ID', 'type' => 'number', 'name' => 'ID', 'sort' => 'id', 'default' => false, 'editable' => false, 'class' => 'minimal')); $arResult['HEADERS'][] = array('id' => 'SUBJECT', 'type' => 'text', 'name' => GetMessage('CRM_ACTIVITY_COLUMN_SUBJECT'), 'default' => true, 'editable' => true); $arResult['HEADERS'][] = array('id' => 'START_TIME', 'type' => 'date', 'name' => GetMessage('CRM_ACTIVITY_COLUMN_START'), 'default' => false, 'editable' => true, 'class' => 'datetime'); $arResult['HEADERS'][] = array('id' => 'END_TIME', 'type' => 'date', 'name' => GetMessage('CRM_ACTIVITY_COLUMN_END_2'), 'default' => false, 'editable' => true, 'class' => 'datetime'); $arResult['HEADERS'][] = array('id' => 'DEADLINE', 'type' => 'date', 'name' => GetMessage('CRM_ACTIVITY_COLUMN_DEADLINE'), 'sort' => 'DEADLINE', 'default' => true, 'editable' => false, 'class' => 'datetime'); $displayReference = $arResult['DISPLAY_REFERENCE'] = isset($arParams['DISPLAY_REFERENCE']) ? $arParams['DISPLAY_REFERENCE'] : false; $arResult['HEADERS'][] = array('id' => 'REFERENCE', 'type' => 'text', 'name' => GetMessage('CRM_ACTIVITY_COLUMN_REFERENCE'), 'default' => $displayReference, 'editable' => false); $displayClient = $arResult['DISPLAY_CLIENT'] = isset($arParams['DISPLAY_CLIENT']) ? $arParams['DISPLAY_CLIENT'] : true; $arResult['HEADERS'][] = array('id' => 'CLIENT', 'type' => 'text', 'name' => GetMessage('CRM_ACTIVITY_COLUMN_CLIENT'), 'default' => $displayClient, 'editable' => false); $arResult['HEADERS'][] = array('id' => 'DESCRIPTION', 'type' => 'text', 'name' => GetMessage('CRM_ACTIVITY_COLUMN_DESCRIPTION'), 'default' => false, 'editable' => true);