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; }
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; }