Exemple #1
0
	function _AllLibInstalled() {
			if  ( ShopVKTEST::_iscurlinstalled() && ShopVKTEST::_isiconvinstalled() ) {
					return true;
			}
			else{
					return false;
			}
	}
Exemple #2
0
if(!$USER->IsAdmin()) return;

	require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/kreattika.shopvk/classes/general/autotest.php");

	$module_id = "kreattika.shopvk";
	$strWarning = "";

	$vk_app_id = COption::GetOptionString($module_id, "shop_vk_app_id", "N");

	$all_lib_installed = false;
	$not_installed_lib_name = '';
	if ($curl_lib_installed = ShopVKTEST::_iscurlinstalled()):
	else:
		$not_installed_lib_name .= ' curl';
	endif;
	if ($iconv_lib_installed = ShopVKTEST::_isiconvinstalled()):
	else:
		$not_installed_lib_name .= ' iconv';
	endif;
	if( $curl_lib_installed && $iconv_lib_installed ):
		$all_lib_installed = true;
	else:
		$all_lib_installed = false;
	endif;

	$IBList = array();
	if(CModule::IncludeModule("iblock")):
		$resIB = CIBlock::GetList(Array(), Array('ACTIVE'=>'Y'), false);
		while($arIB = $resIB->Fetch()):
			$IBList[$arIB['ID']] = '[ '.$arIB['ID'].' ] '.$arIB['NAME'];
		endwhile;
Exemple #3
0
	public function wall_auto_post(&$arFields) {

		global $APPLICATION;
		$MODULE_ID = "kreattika.shopvk";
		$TableNamePost = "b_shopvk_post";
		$TableNameAlbums = "b_shopvk_albums";
		$TableNamePhotos = "b_shopvk_photos";

		$flAutotest = ShopVKTEST::_AllLibInstalled();
		$flPost = COption::GetOptionString($MODULE_ID, "svk_on", "N");
		$flPostVK = COption::GetOptionString($MODULE_ID, "shop_vk_on", "N");
		$flAlbumVK = COption::GetOptionString($MODULE_ID, "shop_vk_album_on", "N");
		$flNewPostVK = true;
		$flImgExistVK = false;

		if ($flPost=="Y"):

				$arPostVKIBList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_ib", "N"));
				$arAlbumVKIBList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_album_ib", "N"));
				$PostVKActiveElementPost = COption::GetOptionString($MODULE_ID, "shop_vk_active_auto_post", "Y");
				$PostVKActiveElementAlbum = COption::GetOptionString($MODULE_ID, "shop_vk_album_active_auto_post", "Y");

				$arPostVKPropsIBListValues = array();
				$arPostVKPricesListValues = array();
				$arAlbumVKPropsIBListValues = array();
				$arAlbumVKPricesListValues = array();
				$PostPicture = '';
	
				$flPostVKIBExist = false;
				foreach($arPostVKIBList as $IBItemID):
					if($IBItemID == $arFields['IBLOCK_ID']): $flPostVKIBExist = true; endif;
				endforeach;

				$flAlbumVKIBExist = false;
				foreach($arAlbumVKIBList as $IBItemID):
					if($IBItemID == $arFields['IBLOCK_ID']): $flAlbumVKIBExist = true; endif;
				endforeach;

				if($flPostVKIBExist || $flAlbumVKIBExist):

					$VKOwnerID = COption::GetOptionString($MODULE_ID, "shop_vk_owner_id", "N");
					$arPostVKFieldsIBList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_ib_fields", "N"));
					$arAlbumVKFieldsIBList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_album_ib_fields", "N"));
					$arPostVKPropsIBList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_ib_properties", "N"));
					$arAlbumVKPropsIBList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_album_ib_properties", "N"));
					$arPostVKPricesList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_ib_prices", "N"));
					$arAlbumVKPricesList = explode(',', COption::GetOptionString($MODULE_ID, "shop_vk_album_ib_prices", "N"));
					$PostVKTPL = COption::GetOptionString($MODULE_ID, "shop_vk_tpl", "N");
					$AlbumVKTPL = COption::GetOptionString($MODULE_ID, "shop_vk_album_tpl", "N");
					$PostVKEventLog = COption::GetOptionString($MODULE_ID, "shop_vk_event_log", "N");
					$AlbumVKEventLog = COption::GetOptionString($MODULE_ID, "shop_vk_album_event_log", "N");

					$fl_is_group = COption::GetOptionString($MODULE_ID, "shop_vk_is_group", "Y");

					if($flAutotest):
						if( in_array('LINK', $arPostVKFieldsIBList) || count($arPostVKPropsIBList) > 0 || in_array('LINK', $arAlbumVKFieldsIBList) || count($arAlbumVKPropsIBList) > 0 ):
							if(CModule::IncludeModule("iblock")):
								$resEl = CIBlockElement::GetByID($arFields['ID']);
								if($obEl = $resEl->GetNextElement()):
									$arElFields = $obEl->GetFields();
									$arElProps = $obEl->GetProperties();
									foreach($arElProps as $ElPropValue):
										if ( in_array($ElPropValue['ID'], $arPostVKPropsIBList) || in_array($ElPropValue['ID'], $arAlbumVKPropsIBList) ):
											$ElPropID = $ElPropValue['ID'];
											$arPValues = array();
											$arPValues['ID'] = $ElPropValue['ID'];
											$arPValues['NAME'] = $ElPropValue['NAME'];
											$arPValues['CODE'] = $ElPropValue['CODE'];
											$arPValues['VALUE'] = $ElPropValue['VALUE'];
											$arPostVKPropsIBListValues[$ElPropID] = $arPValues;
											$arAlbumVKPropsIBListValues[$ElPropID] = $arPValues;
										endif;
									endforeach;
								endif;
							endif;
						endif;

						if( count($arPostVKPricesList) > 0  || count($arAlbumVKPricesList) > 0 ):
							if(CModule::IncludeModule("iblock") && CModule::IncludeModule("catalog")):
								$obElPrice = CPrice::GetList(array(), array("PRODUCT_ID" =>$arFields['ID']));
								while($ElPriceValue = $obElPrice->GetNext()):
									if ( in_array($ElPriceValue['CATALOG_GROUP_ID'], $arPostVKPricesList) || in_array($ElPriceValue['CATALOG_GROUP_ID'], $arAlbumVKPricesList) ):
										$ElPriceID = $ElPriceValue['CATALOG_GROUP_ID'];
										$arPrValues = array();
										$arPrValues['ID'] = $ElPriceValue['CATALOG_GROUP_ID'];
										$arPrValues['NAME'] = $ElPriceValue['CATALOG_GROUP_NAME'];
										$arPrValues['VALUE'] = $ElPriceValue['PRICE'];
										$arPrValues['CURRENCY'] = $ElPriceValue['CURRENCY'];
										$arPostVKPricesListValues[$ElPriceID] = $arPrValues;
										$arAlbumVKPricesListValues[$ElPriceID] = $arPrValues;
									endif;
								endwhile;
							endif;
						endif;

						$PostName=$arFields['NAME'];
						if($arFields['PREVIEW_TEXT_TYPE']=='text'):
							$PostPText=$arFields['PREVIEW_TEXT'];
						else:
							$PostPText=HTMLToTxt($arFields['PREVIEW_TEXT']);
						endif;
						if($arFields['DETAIL_TEXT_TYPE']=='text'):
							$PostDText=$arFields['DETAIL_TEXT'];
						else:
							$PostDText=HTMLToTxt($arFields['DETAIL_TEXT']);
						endif;

						$PostText = $PostVKTPL;
						$AlbumText = $AlbumVKTPL;

						$arDBPostFilter=array("ACTIVE"=>'\'Y\'', "VK_OWNER_ID"=>intval($VKOwnerID), "IBLOCK_ID"=>intval($arFields["IBLOCK_ID"]), "ELEMENT_ID"=>intval($arFields["ID"]));
						$obDBPostResult = CSVKDataBlock::GetList($TableNamePost, $arDBPostFilter);
						if ($arDBPostResult = $obDBPostResult->Fetch()) :
							$flNewPostVK = false;
						endif;

						if ( $flNewPostVK ):
							if ( isset($arFields['PREVIEW_PICTURE_ID']) && !empty($arFields['PREVIEW_PICTURE_ID']) ):
								$Post_PREVIEW_PICTURE_SRC = $_SERVER["DOCUMENT_ROOT"].CFile::GetPath($arFields['PREVIEW_PICTURE_ID']);
								$Post_PREVIEW_PICTURE_ID = $arFields['PREVIEW_PICTURE_ID'];
							endif;
							$flImgExistVK = true;
						else:
							if( isset($arElFields['PREVIEW_PICTURE']) && !empty($arElFields['PREVIEW_PICTURE']) ):
								$Post_PREVIEW_PICTURE_SRC = $_SERVER["DOCUMENT_ROOT"].CFile::GetPath($arElFields['PREVIEW_PICTURE']);
								$Post_PREVIEW_PICTURE_ID = $arElFields['PREVIEW_PICTURE'];
								$flImgExistVK = true;
							endif;
						endif;

						if ( $flNewPostVK ):
							if ( isset($arFields['DETAIL_PICTURE_ID']) && !empty($arFields['DETAIL_PICTURE_ID']) ):
								$Post_DETAIL_PICTURE_SRC = $_SERVER["DOCUMENT_ROOT"].CFile::GetPath($arFields['DETAIL_PICTURE_ID']);
								$Post_DETAIL_PICTURE_ID = $arFields['DETAIL_PICTURE_ID'];
								$flImgExistVK = true;
							endif;
						else:
							if( isset($arElFields['DETAIL_PICTURE']) && !empty($arElFields['DETAIL_PICTURE']) ):
								$Post_DETAIL_PICTURE_SRC = $_SERVER["DOCUMENT_ROOT"].CFile::GetPath($arElFields['DETAIL_PICTURE']);
								$Post_DETAIL_PICTURE_ID = $arElFields['DETAIL_PICTURE'];
								$flImgExistVK = true;
							endif;
						endif;

						if ($flAlbumVKIBExist && $flImgExistVK && $flAlbumVK=="Y"):
							if($PostVKActiveElementAlbum=='Y' && $arFields['ACTIVE']=='N'):
								#return false;
							else:
								$arAlbumVKID = array();
								if( isset($arFields["IBLOCK_SECTION_ID"]) && !empty($arFields["IBLOCK_SECTION_ID"]) ):
									if ($tmpAlbumVKID = SVK::find_creat_album(intval($arFields["IBLOCK_SECTION_ID"]), $arFields, $arElFields)):
										$arAlbumVKID[] = $tmpAlbumVKID;
									endif;
								elseif( is_array($arFields["IBLOCK_SECTION"]) && count($arFields["IBLOCK_SECTION"]) > 0):
									foreach($arFields["IBLOCK_SECTION"] as $elSection):
										if ($tmpAlbumVKID = SVK::find_creat_album(intval($elSection), $arFields, $arElFields)):
											$arAlbumVKID[] = $tmpAlbumVKID;
										endif;
									endforeach;
								endif;
							endif;
						endif;



							if(in_array('NAME', $arPostVKFieldsIBList)):
								$PostText = str_replace('#NAME#', $PostName, $PostText);
							endif;
							if(in_array('LINK', $arPostVKFieldsIBList)):
								$PostText = str_replace('#LINK#', $_SERVER['HTTP_HOST'].$arElFields['DETAIL_PAGE_URL'], $PostText);
							endif;
							if(in_array('PREVIEW_OR_DETAIL_TEXT', $arPostVKFieldsIBList)):
								if(!empty($PostDText)):
									$PostText = str_replace('#PREVIEW_OR_DETAIL_TEXT#', $PostDText, $PostText);
								elseif(!empty($PostPText)):
									$PostText = str_replace('#PREVIEW_OR_DETAIL_TEXT#', $PostPText, $PostText);
								else:
									$PostText = str_replace('#PREVIEW_OR_DETAIL_TEXT#', '', $PostText);
								endif;
							endif;
							if(in_array('PREVIEW_OR_DETAIL_PICTURE', $arPostVKFieldsIBList)):
								if(!empty($Post_DETAIL_PICTURE_ID)):
									$PostPicture = $Post_DETAIL_PICTURE_SRC;
									$PostPictureID = $Post_DETAIL_PICTURE_ID;
								elseif(!empty($Post_PREVIEW_PICTURE_ID)):
									$PostPicture = $Post_PREVIEW_PICTURE_SRC;
									$PostPictureID = $Post_PREVIEW_PICTURE_ID;
								endif;
								$PostText = str_replace('#PREVIEW_OR_DETAIL_PICTURE#', '', $PostText);
							endif;
							if(in_array('PREVIEW_PICTURE', $arPostVKFieldsIBList)):
								$PostPicture = $Post_PREVIEW_PICTURE_SRC;
								$PostPictureID = $Post_PREVIEW_PICTURE_ID;
								$PostText = str_replace('#PREVIEW_PICTURE#', '', $PostText);
							endif;
							if(in_array('PREVIEW_TEXT', $arPostVKFieldsIBList)):
								$PostText = str_replace('#PREVIEW_TEXT#', $PostPText, $PostText);
							endif;

							if(in_array('DETAIL_PICTURE', $arPostVKFieldsIBList)):
								$PostPicture = $Post_DETAIL_PICTURE_SRC;
								$PostPictureID = $Post_DETAIL_PICTURE_ID;
								$PostText = str_replace('#DETAIL_PICTURE#', '', $PostText);
							endif;
							if(in_array('DETAIL_TEXT', $arPostVKFieldsIBList)):
								$PostText = str_replace('#DETAIL_TEXT#', $PostDText, $PostText);
							endif;

							foreach($arPostVKPropsIBListValues as $ElPropValue):
								if ( in_array($ElPropValue['ID'], $arPostVKPropsIBList) ):
									$tmpElPropName = '#PROPERTY_'.$ElPropValue['ID'].'_NAME#';
									$tmpElPropValue = '#PROPERTY_'.$ElPropValue['ID'].'_VALUE#';
									$PostText = str_replace($tmpElPropName, $ElPropValue['NAME'], $PostText);
									$PostText = str_replace($tmpElPropValue, $ElPropValue['VALUE'], $PostText);
								endif;
							endforeach;

							if( is_array($arPostVKPricesListValues) && count($arPostVKPricesListValues) <= 0):
								foreach($arPostVKPricesList as $ElPriceValue):
										$tmpElPriceName = '#PRICE_'.$ElPriceValue.'_NAME#';
										$tmpElPriceValue = '#PRICE_'.$ElPriceValue.'_VALUE#';
										$PostText = str_replace($tmpElPriceName, '', $PostText);
										$PostText = str_replace($tmpElPriceValue, '', $PostText);
								endforeach;
							else:
								foreach($arPostVKPricesListValues as $ElPriceValue):
									if ( in_array($ElPriceValue['ID'], $arPostVKPricesList) ):
										$tmpElPriceName = '#PRICE_'.$ElPriceValue['ID'].'_NAME#';
										$tmpElPriceValue = '#PRICE_'.$ElPriceValue['ID'].'_VALUE#';
										$PostText = str_replace($tmpElPriceName, $ElPriceValue['NAME'], $PostText);
										$PostText = str_replace($tmpElPriceValue, $ElPriceValue['VALUE'], $PostText);
									endif;
								endforeach;
							endif;



							if(in_array('NAME', $arAlbumVKFieldsIBList)):
								$AlbumText = str_replace('#NAME#', $PostName, $AlbumText);
							endif;
							if(in_array('LINK', $arAlbumVKFieldsIBList)):
								$AlbumText = str_replace('#LINK#', $_SERVER['HTTP_HOST'].$arElFields['DETAIL_PAGE_URL'], $AlbumText);
							endif;
							if(in_array('PREVIEW_OR_DETAIL_TEXT', $arAlbumVKFieldsIBList)):
								if(!empty($PostDText)):
									$AlbumText = str_replace('#PREVIEW_OR_DETAIL_TEXT#', $PostDText, $AlbumText);
								elseif(!empty($PostPText)):
									$AlbumText = str_replace('#PREVIEW_OR_DETAIL_TEXT#', $PostPText, $AlbumText);
								else:
									$AlbumText = str_replace('#PREVIEW_OR_DETAIL_TEXT#', '', $AlbumText);
								endif;
							endif;
							if(in_array('PREVIEW_OR_DETAIL_PICTURE', $arAlbumVKFieldsIBList)):
								if(!empty($Post_DETAIL_PICTURE_ID)):
									$PostPicture = $Post_DETAIL_PICTURE_SRC;
									$PostPictureID = $Post_DETAIL_PICTURE_ID;
								elseif(!empty($Post_PREVIEW_PICTURE_ID)):
									$PostPicture = $Post_PREVIEW_PICTURE_SRC;
									$PostPictureID = $Post_PREVIEW_PICTURE_ID;
								endif;
								$AlbumText = str_replace('#PREVIEW_OR_DETAIL_PICTURE#', '', $AlbumText);
							endif;
							if(in_array('PREVIEW_PICTURE', $arAlbumVKFieldsIBList)):
								$PostPicture = $Post_PREVIEW_PICTURE_SRC;
								$PostPictureID = $Post_PREVIEW_PICTURE_ID;
								$AlbumText = str_replace('#PREVIEW_PICTURE#', '', $AlbumText);
							endif;
							if(in_array('PREVIEW_TEXT', $arAlbumVKFieldsIBList)):
								$AlbumText = str_replace('#PREVIEW_TEXT#', $PostPText, $AlbumText);
							endif;

							if(in_array('DETAIL_PICTURE', $arAlbumVKFieldsIBList)):
								$PostPicture = $Post_DETAIL_PICTURE_SRC;
								$PostPictureID = $Post_DETAIL_PICTURE_ID;
								$AlbumText = str_replace('#DETAIL_PICTURE#', '', $AlbumText);
							endif;
							if(in_array('DETAIL_TEXT', $arAlbumVKFieldsIBList)):
								$AlbumText = str_replace('#DETAIL_TEXT#', $PostDText, $AlbumText);
							endif;

							foreach($arAlbumVKPropsIBListValues as $ElPropValue):
								if ( in_array($ElPropValue['ID'], $arAlbumVKPropsIBList) ):
									$tmpElPropName = '#PROPERTY_'.$ElPropValue['ID'].'_NAME#';
									$tmpElPropValue = '#PROPERTY_'.$ElPropValue['ID'].'_VALUE#';
									$AlbumText = str_replace($tmpElPropName, $ElPropValue['NAME'], $AlbumText);
									$AlbumText = str_replace($tmpElPropValue, $ElPropValue['VALUE'], $AlbumText);
								endif;
							endforeach;

							if( is_array($arAlbumVKPricesListValues) && count($arAlbumVKPricesListValues) <= 0):
								foreach($arAlbumVKPricesList as $ElPriceValue):
										$tmpElPriceName = '#PRICE_'.$ElPriceValue.'_NAME#';
										$tmpElPriceValue = '#PRICE_'.$ElPriceValue.'_VALUE#';
										$AlbumText = str_replace($tmpElPriceName, '', $AlbumText);
										$AlbumText = str_replace($tmpElPriceValue, '', $AlbumText);
								endforeach;
							else:
								foreach($arAlbumVKPricesListValues as $ElPriceValue):
									if ( in_array($ElPriceValue['ID'], $arPostVKPricesList) ):
										$tmpElPriceName = '#PRICE_'.$ElPriceValue['ID'].'_NAME#';
										$tmpElPriceValue = '#PRICE_'.$ElPriceValue['ID'].'_VALUE#';
										$AlbumText = str_replace($tmpElPriceName, $ElPriceValue['NAME'], $AlbumText);
										$AlbumText = str_replace($tmpElPriceValue, $ElPriceValue['VALUE'], $AlbumText);
									endif;
								endforeach;
							endif;


						if ($flPostVKIBExist && $flPostVK=="Y"):
							if($PostVKActiveElementPost=='Y' && $arFields['ACTIVE']=='N'):
								#return false;
							else:
								$arDBPostFilter=array("ACTIVE"=>'\'Y\'', "VK_OWNER_ID"=>intval($VKOwnerID), "IBLOCK_ID"=>intval($arFields["IBLOCK_ID"]), "ELEMENT_ID"=>intval($arFields["ID"]));
								$obDBPostResult = CSVKDataBlock::GetList($TableNamePost, $arDBPostFilter);
								if ($arDBPostResult = $obDBPostResult->Fetch()) :
									$flNewPostVK = false;
									$PostVKID = $arDBPostResult["VK_POST_ID"];
									$DBPostItemID = $arDBPostResult["ID"];
									$AutoPostResult = $PostVKID;
									$AutoEditPostResult = ShopVK::wall_edit_post($PostVKID, $PostText, $PostPicture, '', $fl_is_group, 'N');
									if($AutoPostResult):
										$arDBPostFields = array(
											"LAST_MODIFIED"=>ConvertTimeStamp(time(), "FULL", $arElFields['LID']),
										);
										CSVKDataBlock::Update($TableNamePost, $arDBPostFields, $DBPostItemID);
									endif;
									$EventLogDesc = 'Edit VKPostID: '.$AutoPostResult.', ElementID: '.$arFields['ID'].', '.$arFields['NAME'];
								else:
									$AutoPostResult = ShopVK::wall_post($PostText, $PostPicture, '', $fl_is_group, 'N');
									if($AutoPostResult):
										$arDBPostFields = array(
											"ACTIVE"=>"Y",
											"CREATED"=>ConvertTimeStamp(time(), "FULL", $arElFields['LID']),
											"SITE_ID"=>$arElFields['LID'],
											"IBLOCK_ID"=>intval($arFields['IBLOCK_ID']),
											"ELEMENT_ID"=>intval($arFields['ID']),
											"VK_OWNER_ID"=>intval($VKOwnerID),
											"VK_POST_ID"=>intval($AutoPostResult),
										);
										CSVKDataBlock::Add($TableNamePost, $arDBPostFields);
									endif;
									$EventLogDesc = 'New VKPostID: '.$AutoPostResult.', ElementID: '.$arFields['ID'].', '.$arFields['NAME'];
								endif;

								if($PostVKEventLog=='Y'):
											CEventLog::Add(array(
											 "SEVERITY" => "SECURITY",
											 "AUDIT_TYPE_ID" => "SHOP_VK_AUTO_POST",
											 "MODULE_ID" => $MODULE_ID,
											 "ITEM_ID" => $arFields['ID'],
											 "DESCRIPTION" => $EventLogDesc,
										  ));
								endif;
							endif;
						endif;

						if ($flAlbumVKIBExist && $flImgExistVK && $flAlbumVK=="Y"):
							if($PostVKActiveElementAlbum=='Y' && $arFields['ACTIVE']=='N'):
								#return false;
							else:
								foreach($arAlbumVKID as $AlbumVKID):
									$arDBPhotoFilter=array("ACTIVE"=>'\'Y\'', "VK_OWNER_ID"=>intval($VKOwnerID), "IBLOCK_ID"=>intval($arFields["IBLOCK_ID"]), "ELEMENT_ID"=>intval($arFields["ID"]), "VK_ALBUM_ID"=>intval($AlbumVKID));
									$obDBPhotoResult = CSVKDataBlock::GetList($TableNamePhotos, $arDBPhotoFilter);
									$lfEventExist = false;
									if ($arDBPhotoResult = $obDBPhotoResult->Fetch()) :
										if($arDBPhotoResult["FILE_ID"] != $PostPictureID):
											$PhotoVKID = intval(ShopVK::upload_photo($PostPicture, $AlbumVKID, $AlbumText, 'N'));
											if( isset($PhotoVKID) && !empty($PhotoVKID) ):
												ShopVK::delete_photo($arDBPhotoResult["VK_PHOTO_ID"], 'N');
												$arDBPhotoFields = array(
													"LAST_MODIFIED"=>ConvertTimeStamp(time(), "FULL", $arElFields['LID']),
													"FILE_ID"=>intval($PostPictureID),
													"VK_ALBUM_ID"=>intval($AlbumVKID),
													"VK_PHOTO_ID"=>intval($PhotoVKID),
													"VK_PHOTO_CAPTION"=>$PostText,
												);
												CSVKDataBlock::Update($TableNamePhotos, $arDBPhotoFields, $arDBPhotoResult["ID"]);
												$EventLogDesc = 'Update VKPhotoID: '.$PhotoVKID.', for ElementID: '.$arFields['ID'].', '.$arFields['NAME'];
												$lfEventExist = true;
											endif;
										endif;
									else:
										$PhotoVKID = intval(ShopVK::upload_photo($PostPicture, $AlbumVKID, $AlbumText, 'N'));
										if( isset($PhotoVKID) && !empty($PhotoVKID) ):
											$arDBPhotoFields = array(
												"ACTIVE"=>"Y",
												"CREATED"=>ConvertTimeStamp(time(), "FULL", $arElFields['LID']),
												"SITE_ID"=>$arElFields['LID'],
												"IBLOCK_ID"=>intval($arFields['IBLOCK_ID']),
												"ELEMENT_ID"=>intval($arFields['ID']),
												"FILE_ID"=>intval($PostPictureID),
												"VK_OWNER_ID"=>intval($VKOwnerID),
												"VK_ALBUM_ID"=>intval($AlbumVKID),
												"VK_PHOTO_ID"=>intval($PhotoVKID),
												"VK_PHOTO_CAPTION"=>$PostText,
											);
											CSVKDataBlock::Add($TableNamePhotos, $arDBPhotoFields);
											$EventLogDesc = 'New VKPhotoID: '.$PhotoVKID.', for ElementID: '.$arFields['ID'].', '.$arFields['NAME'];
											$lfEventExist = true;
										endif;
									endif;

									if($AlbumVKEventLog=='Y' && $lfEventExist):
										CEventLog::Add(array(
												 "SEVERITY" => "SECURITY",
												 "AUDIT_TYPE_ID" => "SHOP_VK_AUTOEX_PHOTO",
												 "MODULE_ID" => $MODULE_ID,
												 "ITEM_ID" => $arFields['ID'],
												 "DESCRIPTION" => $EventLogDesc,
											  ));
									endif;
								endforeach;
							endif;
						endif;
					else:
						$EventLogDesc = 'Error ShopVK autotest';
						CEventLog::Add(array(
								 "SEVERITY" => "SECURITY",
								 "AUDIT_TYPE_ID" => "SHOP_VK_AUTOTEST",
								 "MODULE_ID" => $MODULE_ID,
								 "ITEM_ID" => $arFields['ID'],
								 "DESCRIPTION" => $EventLogDesc,
							  ));
					endif;
				endif;
		endif;
	}
Exemple #4
0
	private function execute( $method, $params, $flAutotest='Y' ) {

		if ( $flAutotest=='Y' ):
			if (!$all_lib_installed = ShopVKTEST::_AllLibInstalled()):
				return false;
			endif;
		endif;

		$MODULE_ID = "kreattika.shopvk";
		$token = COption::GetOptionString($MODULE_ID, "shop_vk_token", "N");
		if ( $token == 'N' ):
		else:
			$ch = curl_init( 'https://api.vk.com/method/' . $method . '?access_token=' . $token );
			curl_setopt ( $ch, CURLOPT_HEADER, false );
			curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
			curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
			curl_setopt ( $ch, CURLOPT_POST, true );
			curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
			$data = curl_exec($ch);
			curl_close($ch);
#echo $data;
			return $data;
		endif;
	}