<?php 

add_action( 'plugins_loaded', function () {
	if ( function_exists( 'register_block_type' ) ) {
		// Hook server side rendering into render callback
		register_block_type(
			'affi/embeded-block', array(
				'render_callback' => 'affi_searchblock_callback',
				'attributes'	  => array(
						'market'	 => array(
							'type' => 'string',
							'default' =>'amazon',
						),				
						'country'	 => array(
							'type' => 'string',
							'default' =>'com',
						),
						'category'	 => array(
							'type' => 'string',
							'default' =>'',
						),						
						'keyword'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'items'	 => array(
							'type' => 'array',
							'default' =>[],
							'items'   => array(
								'type' => 'object',
							)
						),
						'page'	=> array(
							'type'	=> 'number',
							'default' => 1,
						),
						'perpage'	=> array(
							'type'	=> 'string',
							'default' => '12',
						),						
						'deeplink'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'addtocartbtn'	 => array(
							'type' => 'string',
							'default' =>'yes',
						),						
						'addtocarttext'	 => array(
							'type' => 'string',
							'default' =>'Buy Now',
						),
                        'loaddefaultproduct' => array(
							'type' => 'string',
							'default' =>'yes',						
						),
                        'allowkeyword' => array(
							'type' => 'string',
							'default' =>'yes',						
						),
                        'allowcountry' => array(
							'type' => 'string',
							'default' =>'yes',						
						),
                        'allowcategory' => array(
							'type' => 'string',
							'default' =>'yes',						
						),
                        'buttontext' => array(
							'type' => 'string',
							'default' =>'Search products',						
						),	
						'searchbtnColor'	=> array(
							'type'	=> 'string',
							'default' => '#fff',
						),
						'searchbtnbgColor'	=> array(
							'type'	=> 'string',
							'default' => '#4B0082',
						),
						'searchbtnbghoverColor'	=> array(
							'type'	=> 'string',
							'default' => '#ff6600',
						),						
						'showrating'	 => array(
							'type' => 'string',
							'default' =>'show',
						),
						'socialicons'	 => array(
							'type' => 'string',
							'default' =>'show',
						),
						'socialgm'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialfb'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialtw'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialli'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialre'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialtb'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialpr'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'productlayout'	=> array(
							'type'	=> 'string',
							'default' => '3',
						),
						'productperpage'	=> array(
							'type'	=> 'number',
							'default' => 12,
						),
						'paginationalign'	=> array(
							'type'	=> 'string',
							'default' => 'center',
						),
						'titleSize'	=> array(
							'type'	=> 'number',
							'default' => 16,
						),
						'priceSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'ratingSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'btntextSize'	=> array(
							'type'	=> 'number',
							'default' => 15,
						),
						'titleColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'priceColor'	=> array(
							'type'	=> 'string',
							'default' => '#e86100',
						),
						'ratingColor'	=> array(
							'type'	=> 'string',
							'default' => '#f2b01e',
						),
						'btntextColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),
						'btnhoverColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'productload'	=> array(
							'type'	=> 'string',
							'default' => 'static',
						),
						'paginationtext' => array(
							'type'	=> 'string',
							'default' => 'Load More...',
						),
                        'searchlabeltext' => array(
							'type' => 'string',
							'default' =>'Search Products by Keyword:',						
						),	
						'searchtitleColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),	
						'searchtitleSize'	=> array(
							'type'	=> 'number',
							'default' => 22,
						),
                        'categoryLabel' => array(
							'type' => 'string',
							'default' =>'Select Category',						
						),
                        'keywordLabel' => array(
							'type' => 'string',
							'default' =>'Select Keyword',						
						),						
						'labelColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),	
						'labelSize'	=> array(
							'type'	=> 'number',
							'default' => 17,
						)						
						
					)
			)
		);
		register_block_type(
			'affi/embeded-amazon', array(
			    'render_callback' => 'affi_embeded_block_callback',
				'attributes'	  => array(
						'market'	 => array(
							'type' => 'string',
							'default' =>'amazon',
						),					
						'country'	 => array(
							'type' => 'string',
							'default' =>'com',
						),
						'keyword'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'items'	 => array(
							'type' => 'array',
							'default' =>[],
							'items'   => array(
								'type' => 'object',
							)
						),						
						'deeplink'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'addtocartbtn'	 => array(
							'type' => 'string',
							'default' =>'no',
						),
						'addtocarttext'	 => array(
							'type' => 'string',
							'default' =>'Buy Now',
						),	
						'showrating'	 => array(
							'type' => 'string',
							'default' =>'show',
						),						
						'socialicons'	 => array(
							'type' => 'string',
							'default' =>'show',
						),
						'socialgm'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialfb'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialtw'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialli'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialre'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialtb'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialpr'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'productlayout'	=> array(
							'type'	=> 'string',
							'default' => '3',
						),
						'productperpage'	=> array(
							'type'	=> 'string',
							'default' => '12',
						),
						'paginationalign'	=> array(
							'type'	=> 'string',
							'default' => 'center',
						),
						'titleSize'	=> array(
							'type'	=> 'number',
							'default' => 16,
						),
						'priceSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'ratingSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'btntextSize'	=> array(
							'type'	=> 'number',
							'default' => 15,
						),
						'pgnSize'  => array(
							'type'	=> 'number',
							'default' => 12,
						),
						'titleColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'priceColor'	=> array(
							'type'	=> 'string',
							'default' => '#e86100',
						),
						'ratingColor'	=> array(
							'type'	=> 'string',
							'default' => '#f2b01e',
						),
						'btntextColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),
						'btnhoverColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'pgnColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),						
						'productload'	=> array(
							'type'	=> 'string',
							'default' => 'static',
						)	
					)			
			)
		);
		register_block_type(
			'affi/aliexpress-embeded', array(
			    'render_callback' => 'affi_embeded_block_callback',
				'attributes'	  => array(
						'market'	 => array(
							'type' => 'string',
							'default' =>'aliexpress',
						),					
						'country'	 => array(
							'type' => 'string',
							'default' =>'com',
						),
						'keyword'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'items'	 => array(
							'type' => 'array',
							'default' =>[],
							'items'   => array(
								'type' => 'object',
							)
						),						
						'deeplink'	 => array(
							'type' => 'string',
							'default' =>'',
						),						
						'addtocarttext'	 => array(
							'type' => 'string',
							'default' =>'Buy Now',
						),	
						'showrating'	 => array(
							'type' => 'string',
							'default' =>'show',
						),						
						'socialicons'	 => array(
							'type' => 'string',
							'default' =>'show',
						),
						'socialgm'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialfb'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialtw'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialli'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialre'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialtb'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialpr'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'productlayout'	=> array(
							'type'	=> 'string',
							'default' => '3',
						),
						'productperpage'	=> array(
							'type'	=> 'string',
							'default' => '12',
						),
						'paginationalign'	=> array(
							'type'	=> 'string',
							'default' => 'center',
						),
						'titleSize'	=> array(
							'type'	=> 'number',
							'default' => 16,
						),
						'priceSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'ratingSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'btntextSize'	=> array(
							'type'	=> 'number',
							'default' => 15,
						),
						'pgnSize'  => array(
							'type'	=> 'number',
							'default' => 12,
						),						
						'titleColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'priceColor'	=> array(
							'type'	=> 'string',
							'default' => '#e86100',
						),
						'ratingColor'	=> array(
							'type'	=> 'string',
							'default' => '#f2b01e',
						),
						'btntextColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),
						'btnhoverColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'pgnColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),							
						'productload'	=> array(
							'type'	=> 'string',
							'default' => 'static',
						)	
					)
			)
		);	
		register_block_type(
			'affi/walmart-embeded', array(
			    'render_callback' => 'affi_embeded_block_callback',
				'attributes'	  => array(
						'market'	 => array(
							'type' => 'string',
							'default' =>'walmart',
						),						
						'country'	 => array(
							'type' => 'string',
							'default' =>'com',
						),
						'keyword'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'items'	 => array(
							'type' => 'array',
							'default' =>[],
							'items'   => array(
								'type' => 'object',
							)
						),						
						'deeplink'	 => array(
							'type' => 'string',
							'default' =>'',
						),						
						'addtocarttext'	 => array(
							'type' => 'string',
							'default' =>'Buy Now',
						),	
						'showrating'	 => array(
							'type' => 'string',
							'default' =>'show',
						),						
						'socialicons'	 => array(
							'type' => 'string',
							'default' =>'show',
						),
						'socialgm'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialfb'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialtw'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialli'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialre'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialtb'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialpr'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'productlayout'	=> array(
							'type'	=> 'string',
							'default' => '3',
						),
						'productperpage'	=> array(
							'type'	=> 'string',
							'default' => '12',
						),
						'paginationalign'	=> array(
							'type'	=> 'string',
							'default' => 'center',
						),
						'titleSize'	=> array(
							'type'	=> 'number',
							'default' => 16,
						),
						'priceSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'ratingSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'btntextSize'	=> array(
							'type'	=> 'number',
							'default' => 15,
						),
						'pgnSize'  => array(
							'type'	=> 'number',
							'default' => 12,
						),						
						'titleColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'priceColor'	=> array(
							'type'	=> 'string',
							'default' => '#e86100',
						),
						'ratingColor'	=> array(
							'type'	=> 'string',
							'default' => '#f2b01e',
						),
						'btntextColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),
						'btnhoverColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'pgnColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),							
						'productload'	=> array(
							'type'	=> 'string',
							'default' => 'static',
						)	
					)
			)
		);	
		register_block_type(
			'affi/bestbuy-embeded', array(
			    'render_callback' => 'affi_embeded_block_callback',
				'attributes'	  => array(
						'market'	 => array(
							'type' => 'string',
							'default' =>'bestbuy',
						),							
						'country'	 => array(
							'type' => 'string',
							'default' =>'com',
						),
						'keyword'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'items'	 => array(
							'type' => 'array',
							'default' =>[],
							'items'   => array(
								'type' => 'object',
							)
						),						
						'deeplink'	 => array(
							'type' => 'string',
							'default' =>'',
						),						
						'addtocarttext'	 => array(
							'type' => 'string',
							'default' =>'Buy Now',
						),
						'showrating'	 => array(
							'type' => 'string',
							'default' =>'show',
						),						
						'socialicons'	 => array(
							'type' => 'string',
							'default' =>'show',
						),
						'socialgm'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialfb'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialtw'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialli'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialre'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialtb'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialpr'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'productlayout'	=> array(
							'type'	=> 'string',
							'default' => '3',
						),
						'productperpage'	=> array(
							'type'	=> 'string',
							'default' => '12',
						),
						'paginationalign'	=> array(
							'type'	=> 'string',
							'default' => 'center',
						),
						'titleSize'	=> array(
							'type'	=> 'number',
							'default' => 16,
						),
						'priceSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'ratingSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'btntextSize'	=> array(
							'type'	=> 'number',
							'default' => 15,
						),
						'pgnSize'  => array(
							'type'	=> 'number',
							'default' => 12,
						),						
						'titleColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'priceColor'	=> array(
							'type'	=> 'string',
							'default' => '#e86100',
						),
						'ratingColor'	=> array(
							'type'	=> 'string',
							'default' => '#f2b01e',
						),
						'btntextColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),
						'btnhoverColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'pgnColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),							
						'productload'	=> array(
							'type'	=> 'string',
							'default' => 'static',
						)	
					)
			)
		);
		register_block_type(
			'affi/ebay-embeded', array(
			    'render_callback' => 'affi_embeded_block_callback',
				'attributes'	  => array(
						'market'	 => array(
							'type' => 'string',
							'default' =>'ebay',
						),						
						'country'	 => array(
							'type' => 'string',
							'default' =>'com',
						),
						'keyword'	 => array(
							'type' => 'string',
							'default' =>'',
						),
						'items'	 => array(
							'type' => 'array',
							'default' =>[],
							'items'   => array(
								'type' => 'object',
							)
						),						
						'deeplink'	 => array(
							'type' => 'string',
							'default' =>'',
						),						
						'addtocarttext'	 => array(
							'type' => 'string',
							'default' =>'Buy Now',
						),	
						'showrating'	 => array(
							'type' => 'string',
							'default' =>'show',
						),						
						'socialicons'	 => array(
							'type' => 'string',
							'default' =>'show',
						),
						'socialgm'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialfb'	 => array(
							'type' => 'boolean',
							'default' =>true,
						),
						'socialtw'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialli'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialre'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialtb'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'socialpr'	=> array(
							'type'	=> 'boolean',
							'default' => true,
						),
						'productlayout'	=> array(
							'type'	=> 'string',
							'default' => '3',
						),
						'productperpage'	=> array(
							'type'	=> 'string',
							'default' => '12',
						),
						'paginationalign'	=> array(
							'type'	=> 'string',
							'default' => 'center',
						),
						'titleSize'	=> array(
							'type'	=> 'number',
							'default' => 16,
						),
						'priceSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'ratingSize'	=> array(
							'type'	=> 'number',
							'default' => 18,
						),
						'btntextSize'	=> array(
							'type'	=> 'number',
							'default' => 15,
						),
						'pgnSize'  => array(
							'type'	=> 'number',
							'default' => 12,
						),						
						'titleColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'priceColor'	=> array(
							'type'	=> 'string',
							'default' => '#e86100',
						),
						'ratingColor'	=> array(
							'type'	=> 'string',
							'default' => '#f2b01e',
						),
						'btntextColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),
						'btnhoverColor'	=> array(
							'type'	=> 'string',
							'default' => '#000',
						),
						'pgnColor'	=> array(
							'type'	=> 'string',
							'default' => '#1B43BA',
						),							
						'productload'	=> array(
							'type'	=> 'string',
							'default' => 'static',
						)	
					)
			)
		);		
	}
} ); 
