Function Reference: geodir_business_auto_fill

Summary

This function has not been documented yet.

Source File

geodir_business_auto_fill() is located in geodir_event_manager/gdevents_functions.php [Line: 853]

Source Code

function geodir_business_auto_fill($request){

	if(!empty($request)){
		
		$place_id = $request['place_id'];
		$post_type = get_post_type( $place_id );
		$package_id = geodir_get_post_meta($place_id,'package_id',true);
		$custom_fields = geodir_post_custom_fields($package_id,'all',$post_type); 
		
		$json_array = array();
		
		$content_post = get_post($place_id);
		$content = $content_post->post_content;
		
		$json_array['post_title'] = array('key' => 'text',
																			'value' => geodir_get_post_meta($place_id,'post_title',true));
		
		$json_array['post_desc'] = array(	'key' => 'textarea', 
																			'value' => $content);
		
		
		foreach($custom_fields as $key=>$val){
			
			$type = $val['type'];
			
			switch($type){
			
				case 'phone':
				case 'email':
				case 'text':
				case 'url':					
					$value = geodir_get_post_meta($place_id,$val['htmlvar_name'],true);
					$json_array[$val['htmlvar_name']] = array('key' => 'text', 'value' => $value);
					
				break;
				
				case 'html':
				case 'textarea':
					
					$value = geodir_get_post_meta($place_id,$val['htmlvar_name'],true);
					$json_array[$val['htmlvar_name']] = array('key' => 'textarea', 'value' => $value);
					
				break;
				
				case 'address':
					
					$json_array['post_address'] = array('key' => 'text',
																			'value' => geodir_get_post_meta($place_id,'post_address',true));
					$json_array['post_zip'] = array('key' => 'text',
																			'value' => geodir_get_post_meta($place_id,'post_zip',true));
					$json_array['post_latitude'] = array('key' => 'text',
																			'value' => geodir_get_post_meta($place_id,'post_latitude',true));
					$json_array['post_longitude'] = array('key' => 'text',
																			'value' => geodir_get_post_meta($place_id,'post_longitude',true));
					
					
					$extra_fields = unserialize($val['extra_fields']);
					
					$show_city = isset($extra_fields['show_city']) ? $extra_fields['show_city'] : '';
					
					if($show_city){

						$json_array['post_country'] = array('key' => 'text',
																				'value' => geodir_get_post_meta($place_id,'post_country',true));
						$json_array['post_region'] = array('key' => 'text',
																				'value' => geodir_get_post_meta($place_id,'post_region',true));
						$json_array['post_city'] = array('key' => 'text',
																			'value' => geodir_get_post_meta($place_id,'post_city',true));
						
					}
					
					
				break;
				case 'checkbox':
				case 'radio':
				case 'select':
				case 'datepicker':
				case 'time':
					$value = geodir_get_post_meta( $place_id, $val['htmlvar_name'], true );
					$json_array[$val['htmlvar_name']] = array( 'key' => $type, 'value' => $value );
				break;
				case 'multiselect':
					$value = geodir_get_post_meta( $place_id, $val['htmlvar_name'] );
					$value = $value != '' ? explode( ",", $value ) : array();
					$json_array[$val['htmlvar_name']] = array( 'key' => $type, 'value' => $value );
				break;
				
			}
			
		}

	}
	
	if ( !empty( $json_array ) ) {
		// attach terms
		$post_tags = wp_get_post_terms( $place_id, $post_type . '_tags', array( "fields" => "names" ) );
		$post_tags = !empty( $post_tags ) && is_array( $post_tags ) ? implode( ",", $post_tags ) : '';
		$json_array['post_tags'] = array( 'key' => 'tags', 'value' => $post_tags );
		
		echo json_encode( $json_array );
	}	
}