Beispiel #1
0
$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();
Beispiel #2
0
 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>&nbsp;</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;
 }
Beispiel #3
0
$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>
Beispiel #4
0
 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();";
 }
Beispiel #5
0
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)) {
Beispiel #6
0
 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());
Beispiel #8
0
    $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);
         }
     }
 }
Beispiel #10
0
<?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'));
Beispiel #11
0
     $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;
Beispiel #12
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 . "&amp;";
}
?>
<script type="text/javascript">
	var gdSaleGraphTabControl_<?php 
echo $arGadgetParams["RND_STRING"];
?>
Beispiel #13
0
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();
Beispiel #14
0
			"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>
Beispiel #15
0
<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>
Beispiel #16
0
<?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;
 }
Beispiel #18
0
									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)
						{
Beispiel #19
0
                 $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 {
Beispiel #20
0
 public static function PlusMinutes($basetime, $min)
 {
     $result = $basetime;
     $arAdd = array('MI' => $min);
     $result = AddToTimeStamp($arAdd, $basetime);
     return $result;
 }
Beispiel #21
0
$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)]);
    }
    */
}
Beispiel #22
0
 /**
  * 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();
 }
Beispiel #23
0
 }
 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);
Beispiel #25
0
 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;
             }
         }
     }
 }
Beispiel #26
0
     $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()) {
Beispiel #27
0
 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;
 }
Beispiel #28
0
 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;
 }
Beispiel #29
0
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);