Поддержка серверов

CAdvBanner::Click: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=161636

<?php 
//    /bitrix/modules/advertising/classes/mysql/advertising.phpCAdvBanner::Click()
//    619:

    
public static function Click($BANNER_ID)
    {
        
$err_mess = (004522939492d892f2521f1cd82acbfaCAdvBanner::09b4111f437bb81f93dc3a30eca9b6e8err_mess())."<br>Function: Click<br>Line: ";
        global 
$DB;
        
$BANNER_ID intval($BANNER_ID);
        if (
$BANNER_ID<=0) return false;

        
$strSql "
            SELECT
                B.FIX_CLICK,
                B.CONTRACT_ID
            FROM
                b_adv_banner B
            WHERE
                B.ID = 
$BANNER_ID
            "
;
        
$rsBanner $DB->Query($strSqlfalse$err_mess.__LINE__);
        if (
$arBanner $rsBanner->Fetch())
        {
            if (
$arBanner["FIX_CLICK"]=="Y")
            {

                
/********************
                    обновим баннер
                ********************/

                // параметры баннера
                
$arFields = Array(
                        
"CLICK_COUNT"        => "CLICK_COUNT + 1",
                        
"DATE_LAST_CLICK"    => $DB->GetNowFunction(),
                        );
                
$rows $DB->Update("b_adv_banner",$arFields,"WHERE ID = $BANNER_ID",$err_mess.__LINE__);
                if (
intval($rows)>0)
                {
                    foreach (
getModuleEvents('advertising''onBannerClick'true) as $arEvent)
                        
executeModuleEventEx($arEvent, array($BANNER_ID$arFields));

                    
// счетчик по дням
                    
$strSql "
                        UPDATE b_adv_banner_2_day SET
                            CLICK_COUNT = CLICK_COUNT + 1
                        WHERE
                            BANNER_ID = 
$BANNER_ID
                        and    DATE_STAT = "
.$DB->045090ac4998e73df629492fb83e71dbGetNowDate()."
                        "
;
                    
$z $DB->Query($strSqlfalse$err_mess.__LINE__);
                    
$rows $z->AffectedRowsCount();
                    if (
intval($rows)<=0)
                    {
                        
$strSql "
                            SELECT
                                'x'
                            FROM
                                b_adv_banner_2_day
                            WHERE
                                BANNER_ID = 
$BANNER_ID
                            and    DATE_STAT = "
.$DB->045090ac4998e73df629492fb83e71dbGetNowDate()."
                            "
;
                        
$w $DB->Query($strSqlfalse$err_mess.__LINE__);
                        if (!
$wr=$w->Fetch())
                        {
                            
$strSql "
                                INSERT INTO b_adv_banner_2_day (DATE_STAT, BANNER_ID, CLICK_COUNT) VALUES (
                                    "
.$DB->045090ac4998e73df629492fb83e71dbGetNowDate().",
                                    
$BANNER_ID,
                                    1)
                                "
;
                            
$DB->Query($strSqltrue$err_mess.__LINE__);
                        }
                    }
                }

                
/*************************
                    обновим контракт
                *************************/

                
$DONT_USE_CONTRACT COption::GetOptionString("advertising""DONT_USE_CONTRACT""N");

                
$CONTRACT_ID intval($arBanner["CONTRACT_ID"]);
                if (
$CONTRACT_ID>&& $DONT_USE_CONTRACT == "N")
                {
                    
$arFields = Array("CLICK_COUNT" => "CLICK_COUNT + 1");
                    
$DB->Update("b_adv_contract",$arFields,"WHERE ID = $CONTRACT_ID",$err_mess.__LINE__);
                }
            }
        }
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение