Пример #1
0
	public function find_creat_album($SectionID, $arFields, $arELFields=array()) {

		if( !isset($SectionID) || empty($SectionID) || !is_array($arFields) ):
			return false;
		endif;

		global $APPLICATION;
		$MODULE_ID = "kreattika.shopvk";

		$VKOwnerID = COption::GetOptionString($MODULE_ID, "shop_vk_owner_id", "N");
		$AlbumVKEventLog = COption::GetOptionString($MODULE_ID, "shop_vk_album_event_log", "N");
		$TableNameAlbums = "b_shopvk_albums";
		$lfEventExist = false;

		$arDBAlbumFilter=array("ACTIVE"=>'\'Y\'', "VK_OWNER_ID"=>intval($VKOwnerID), "IBLOCK_ID"=>intval($arFields["IBLOCK_ID"]), "SECTION_ID"=>intval($SectionID));
		$obDBAlbumResult = CSVKDataBlock::GetList($TableNameAlbums, $arDBAlbumFilter);
		if ($arDBAlbumResult = $obDBAlbumResult->Fetch()) :
			$AlbumVKID = $arDBAlbumResult["VK_ALBUM_ID"];
			$DBAlbumItemID = $arDBAlbumResult["ID"];
			return intval($AlbumVKID);
		else:

			if(CModule::IncludeModule("iblock")):
				$obSection = CIBlockSection::GetByID($SectionID);
				if($arSection = $obSection->Fetch()):
					$AlbumVKID = ShopVK::create_album($arSection['NAME'], HTMLToTxt($arSection['DESCRIPTION']), 'N');
					$AlbumVKID = intval($AlbumVKID);
					$arDBAlbumFields = array(
						"ACTIVE"=>"Y",
						"CREATED"=>ConvertTimeStamp(time(), "FULL", $arElFields['LID']),
						"SITE_ID"=>$arElFields['LID'],
						"IBLOCK_ID"=>intval($arFields['IBLOCK_ID']),
						"SECTION_ID"=>intval($arSection['ID']),
						"SECTION_NAME"=>trim($arSection['NAME']),
						"VK_OWNER_ID"=>intval($VKOwnerID),
						"VK_ALBUM_ID"=>intval($AlbumVKID),
						"VK_ALBUM_NAME"=>trim($arSection['NAME']),
						"VK_ALBUM_CAPTION"=>HTMLToTxt($arSection['DESCRIPTION']),
					);
					CSVKDataBlock::Add($TableNameAlbums, $arDBAlbumFields);
					$EventLogDesc = 'New VKAlbumID: '.$AlbumVKID.', for SectionID: '.$arSection['ID'].', '.$arSection['NAME'];
					$lfEventExist = true;
					return intval($AlbumVKID);
				else:
					return false;
				endif;
			else:
				return false;
			endif;
		endif;

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

	}
Пример #2
0
	public function get_shop_vk_album( $id, $flAutotest='Y' ) {

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

		global $APPLICATION;
		$MODULE_ID = "kreattika.shopvk";

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

		if($fl_is_group=='Y'):
			$owner_id = -$group_id;
		else:
			$owner_id = $group_id;
		endif;

		$data = json_decode(
					ShopVK::execute(
						'photos.getAlbums',
						array(
							'oid' => $owner_id,
							'aids' => $id
						),
						'N'
					)
				);
		if( isset( $data->error ) ) {
			return ShopVK::error( $data );
		}

		$find_shop_vk_album = false;
		if ( is_object($data) ):
			$arData = get_object_vars($data);
			if ( is_array($arData['response']) ):
				foreach($arData['response'] as $DataItem):
					if ( is_object($DataItem) ):
						$arDataItemFields = get_object_vars($DataItem);
						if ($arDataItemFields['title'] == 'shop'):
							$find_shop_vk_album = $arDataItemFields['aid'];
							break;
						endif;
					endif;
				endforeach;
			endif;
		endif;

		if($find_shop_vk_album):
			return $find_shop_vk_album;
		else:
			return ShopVK::create_album('shop', '', 'N');
		endif;
	}