OnEndBufferContent — МиниКод http://minicode.ru записи кодов Wed, 05 Sep 2018 06:40:48 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.8.14 Вставка баннеров в закешированный контент http://minicode.ru/vstavka-bannerov-v-zakeshirovannyj-kontent/ http://minicode.ru/vstavka-bannerov-v-zakeshirovannyj-kontent/#comments Thu, 25 Oct 2012 13:32:25 +0000 http://minicode.ru/?p=139
AddEventHandler("main", "OnEndBufferContent", "ShowBannerInsideNews");
function ShowBannerInsideNews(&$content){
	if (CModule::IncludeModule("advertising")){
		if (strpos($content, '#BANNER_INSIDE_INSTS_LIST#') !== false){
			$crop_content = explode('<span>#BANNER_INSIDE_INSTS_LIST#</span>',$content);
			$aEarsAdv = array();
			for($i=0,$j=1; $i<$j; $i++){
				$sAdv = CAdvBanner::GetRandom('insts_list');
				if(!empty($sAdv)){
					$AdvWeightSort[] = $sAdv['WEIGHT'];
					$AdvIdSort[] = $sAdv['ID'];
					$aEarsAdv[] = $sAdv;
					$j++;
				}
				else
					break;
			}

			array_multisort($AdvWeightSort,SORT_ASC,$AdvIdSort,SORT_ASC,$aEarsAdv);

			$content = null;
			foreach($crop_content as $croped_key=>$croped){
				$banner = CAdvBanner::GetHTML($aEarsAdv[$croped_key]);
				$content .= $croped.$banner;
			}
		}
	}
}
]]>
http://minicode.ru/vstavka-bannerov-v-zakeshirovannyj-kontent/feed/ 2