private function getFileContent(File $file) { static $maxFileSize = null; if (!isset($maxFileSize)) { $maxFileSize = Option::get("search", "max_file_size", 0) * 1024; } $searchData = ''; $searchData .= strip_tags($file->getName()) . "\r\n"; if ($maxFileSize > 0 && $file->getSize() > $maxFileSize) { return ''; } $searchDataFile = array(); $fileArray = CFile::makeFileArray($file->getFileId()); if ($fileArray && $fileArray['tmp_name']) { $fileAbsPath = \CBXVirtualIo::getInstance()->getLogicalName($fileArray['tmp_name']); foreach (GetModuleEvents('search', 'OnSearchGetFileContent', true) as $event) { if ($searchDataFile = executeModuleEventEx($event, array($fileAbsPath, getFileExtension($fileArray['name'])))) { break; } } return is_array($searchDataFile) ? $searchData . "\r\n" . $searchDataFile['CONTENT'] : $searchData; } return $searchData; }
/** * <p>Метод фиксирует клик по баннеру в базе данных.</p> * * * @param int $BANNER_ID ID баннера. * * @param int $CONTRACT_ID = false ID контракта которому принадлежит баннер; если задано false - ID * контракта берется из параметров баннера. Необязательный * параметр. * * @return mixed * * @static * @link http://dev.1c-bitrix.ru/api_help/advertising/classes/cadvbanner/click.php * @author Bitrix */ public static function Click($BANNER_ID) { $err_mess = CAdvBanner::err_mess() . "<br>Function: Click<br>Line: "; global $DB; $BANNER_ID = intval($BANNER_ID); if ($BANNER_ID <= 0) { return false; } $strSql = "\n\t\t\tSELECT\n\t\t\t\tB.FIX_CLICK,\n\t\t\t\tB.CONTRACT_ID\n\t\t\tFROM\n\t\t\t\tb_adv_banner B\n\t\t\tWHERE\n\t\t\t\tB.ID = {$BANNER_ID}\n\t\t\t"; $rsBanner = $DB->Query($strSql, false, $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 = "\n\t\t\t\t\t\tUPDATE b_adv_banner_2_day SET\n\t\t\t\t\t\t\tCLICK_COUNT = CLICK_COUNT + 1\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tBANNER_ID = {$BANNER_ID}\n\t\t\t\t\t\tand\tDATE_STAT = " . $DB->GetNowDate() . "\n\t\t\t\t\t\t"; $z = $DB->Query($strSql, false, $err_mess . __LINE__); $rows = $z->AffectedRowsCount(); if (intval($rows) <= 0) { $strSql = "\n\t\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\t\t'x'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\tb_adv_banner_2_day\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\tBANNER_ID = {$BANNER_ID}\n\t\t\t\t\t\t\tand\tDATE_STAT = " . $DB->GetNowDate() . "\n\t\t\t\t\t\t\t"; $w = $DB->Query($strSql, false, $err_mess . __LINE__); if (!($wr = $w->Fetch())) { $strSql = "\n\t\t\t\t\t\t\t\tINSERT INTO b_adv_banner_2_day (DATE_STAT, BANNER_ID, CLICK_COUNT) VALUES (\n\t\t\t\t\t\t\t\t\t" . $DB->GetNowDate() . ",\n\t\t\t\t\t\t\t\t\t{$BANNER_ID},\n\t\t\t\t\t\t\t\t\t1)\n\t\t\t\t\t\t\t\t"; $DB->Query($strSql, true, $err_mess . __LINE__); } } } /************************* обновим контракт *************************/ $DONT_USE_CONTRACT = COption::GetOptionString("advertising", "DONT_USE_CONTRACT", "N"); $CONTRACT_ID = intval($arBanner["CONTRACT_ID"]); if ($CONTRACT_ID > 0 && $DONT_USE_CONTRACT == "N") { $arFields = array("CLICK_COUNT" => "CLICK_COUNT + 1"); $DB->Update("b_adv_contract", $arFields, "WHERE ID = {$CONTRACT_ID}", $err_mess . __LINE__); } } } }