8&&$hour<21){ $params['MAX_PRICE']=$params['MAX_PRICE']*2; } } $retstavk=CEDirectCalculate::sys_methodMain($params); return $retstavk; } //second user method public function user_method_two($params) { return 0; } //====================CULCULATE EFFECTIVE FUNCTIONS====================== /** * return Product items list to EasyDirect * @return array see bottom * * $arReturn = array( * array( * 'NAME' - product name * 'ID' - product id * ), * ... * ); */ function getShopItemsInfoHandler() { CModule::IncludeModule("iblock"); $IBLOCK_ID=5; $arReturn=array(); $arSelect = Array("ID", "NAME","IBLOCK_ID"); $arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y"); $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect); while($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); $arReturn[]=array( "NAME"=>$arFields["NAME"], "ID"=>$arFields["ID"] ); } return $arReturn; } /** * return SOLD Product item CNT in date interval * @param int $ItemID Product item ID * @param date $FromDate date in SiteFormat start interval * @param date $ToDate date in SiteFormat stop interval * * @return int CNT SOLD Product */ function getSoldShopItemsCNTHandler($ItemID,$FromDate,$ToDate) { $cntSoldItem=0; //определите количество проданных товаров $cntSoldItem в период с $FromDate по $ToDate return $cntSoldItem; } /** * return PAUSE INTERVAL in HOURs for check company * @param array $arParams see bottom * @return int PAUSE INTERVAL in HOURs * * $arParams = array( * "COMPANY"=> //main company params * array( * 'ID' * 'NAME' * 'ID_EX_ITEM' - linked product item * 'REST' - rest money SUMM * 'IN_GOOGLE' - isset company in google * ), * "LAST_REPORTS"=>array( //last 3 full reports params * array( * 'SUMM' - sped summ for the report period * 'FROM_DATE' - start period date * 'TO_DATE' - stop period date * 'SOLD_CNT' - product SOLD CNT for the report period * 'DAYS_CNT' - days in period * 'CPS' - Cost Per Sale one product item * ), * ... * ) * ); * */ function getCompanyPauseInterval($arParams) { $PAUSE_INTERVAL=0; //in hours if($arParams["COMPANY"]["ID_EX_ITEM"]){ foreach ($arParams["LAST_REPORTS"] as $report) { if($report["CPS"]<0||$report["CPS"]>500){ if($report["SOLD_CNT"]==0) $PAUSE_INTERVAL+=72; else if($report["CPS"]&&$report["CPS"]<1000) $PAUSE_INTERVAL+=24; else $PAUSE_INTERVAL+=48; if($report["DAYS_CNT"]>7||$report["SOLD_CNT"]!=0) break; } else { break; } } } return $PAUSE_INTERVAL; } //============================================================= } ?>