/home/mobivsrd/public_html/wp-contentMXc/themes/freeio/template-jobs/misc/dispute.php
<?php
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

$user_id = get_current_user_id();

$rand = rand(0000,9999);

$dispute_page_url = get_permalink();
?>
<div class="box-dashboard-wrapper">
	<div class="d-flex">
		<h3 class="widget-title"><?php echo esc_html__('Dispute','freeio') ?></h3>
		<div class="ms-auto">
			<a href="#create-dispute-form-wrapper-<?php echo esc_attr($user_id); ?>-<?php echo esc_attr($rand); ?>" class="btn btn-theme btn-sm btn-inverse btn-show-popup"><?php echo esc_attr_e('Create Dispute', 'freeio'); ?></a>
		</div>
	</div>

	<div id="create-dispute-form-wrapper-<?php echo esc_attr($user_id); ?>-<?php echo esc_attr($rand); ?>" class="view-proposal-description-wrapper mfp-hide">
		<a href="javascript:void(0);" class="close-magnific-popup ali-right"><i class="ti-close"></i></a>
		<form method="post" action="" id="create-dispute-form-<?php echo esc_attr($rand); ?>" class="create-dispute-form form-theme" enctype="multipart/form-data">

			<?php
			if ( WP_Freeio_User::is_freelancer($user_id) ) {
				$dispute_args = array(
					'posts_per_page' => -1,
					'post_type' => 'project_proposal',
					'orderby' => 'ID',
					'order' => 'DESC',
					'author' => $user_id,
					'post_status' => array('publish', 'cancelled', 'hired'),
					'suppress_filters'  => false,
				);

				$dispute_service_args = array(
					'posts_per_page' => -1,
					'post_type' => 'service_order',
					'orderby' => 'ID',
					'order' => 'DESC',
					'post_status' => array('cancelled', 'hired'),
					'suppress_filters' => false,
					'meta_query' => array(
						array(
							'key' 			=> WP_FREEIO_SERVICE_ORDER_PREFIX.'service_author',
							'value' 			=> $user_id,
							'compare' 		=> '='
						),
					)
				);
			} else {
				$dispute_args = array(
					'posts_per_page' => -1,
					'post_type' => 'project_proposal',
					'orderby' => 'ID',
					'order' => 'DESC',
					'post_status' => array('publish', 'cancelled', 'hired'),
					'suppress_filters'  => false,
					'meta_query'		=> array(
						array(
							'key' 			=> WP_FREEIO_PROJECT_PROPOSAL_PREFIX.'employer_id',
							'value' 			=> $user_id,
							'compare' 		=> '='
						),
					)
				);

				$dispute_service_args = array(
					'posts_per_page' => -1,
					'post_type' => 'service_order',
					'orderby' => 'ID',
					'order' => 'DESC',
					'post_status' => array('cancelled', 'hired'),
					'suppress_filters' => false,
					'author' => $user_id,
				);
			}

			$dispute_query = get_posts($dispute_args);
			$dispute_service_query = get_posts($dispute_service_args);

			if( !empty($dispute_query) && !empty( $dispute_service_query ) ){
				$dispute_query	= array_merge($dispute_query,$dispute_service_query);
			} else if( empty($dispute_query) && !empty( $dispute_service_query ) ){
				$dispute_query	= $dispute_service_query;
			} else if( !empty($dispute_query) && empty( $dispute_service_query ) ){
				$dispute_query	= $dispute_query;
			} else{
				$dispute_query	= array();
			}

			?>
			<div class="form-group">
				<label for="dispute_project"><?php echo esc_html__( 'Select project/service', 'freeio' ); ?></label>
				<select name="dispute_project" class="form-control" required>
					<option value=""><?php esc_html_e('Choose a Service/Project', 'freeio'); ?></option>
					<?php foreach ($dispute_query as $item) {
						$post_title	= $item->post_title;
						$post_type	= $item->post_type;
						if ( WP_Freeio_User::is_freelancer($user_id) ) {
							if ( !empty($post_type) && $post_type === 'service_order' ) {
								$post_author = get_post_field( 'post_author', $item->ID );
								$employer_user_id = WP_Freeio_User::get_employer_by_user_id($post_author);
								$post_title = $post_title.' ('.get_the_title($employer_user_id).')';
							} else {
								$post_author = get_post_meta( $item->ID, WP_FREEIO_PROJECT_PROPOSAL_PREFIX.'employer_id', true );
								$employer_user_id = WP_Freeio_User::get_employer_by_user_id($post_author);
								$post_title = $post_title.' ('.get_the_title($employer_user_id).')';
							}
						} else {
							if ( !empty($post_type) && $post_type === 'service_order' ) {
								$post_author = get_post_meta( $item->ID, WP_FREEIO_SERVICE_ORDER_PREFIX.'service_author', true );
								$freelancer_user_id = WP_Freeio_User::get_freelancer_by_user_id($post_author);
								$post_title = $post_title.' ('.get_the_title($freelancer_user_id).')';
							} else {
								$post_author = get_post_field( 'post_author', $item->ID );
								$freelancer_user_id = WP_Freeio_User::get_freelancer_by_user_id($post_author);
								$post_title = $post_title.' ('.get_the_title($freelancer_user_id).')';
							}
						}
					?>
						<option value="<?php echo esc_attr( $item->ID ); ?>"><?php echo esc_attr($post_title); ?></option>
					<?php } ?>
				</select>
			</div><!-- /.form-control -->

			<div class="form-group">
				<label for="dispute_title"><?php echo esc_html__( 'Tell us what your dispute is about', 'freeio' ); ?></label>
				<input id="dispute_title" class="form-control" type="text" name="dispute_title" required="required">
			</div><!-- /.form-control -->

			<div class="form-group">
				<label for="dispute-description"><?php echo esc_html__( 'Description', 'freeio' ); ?></label>
				<textarea id="dispute-description" name="description" class="form-control" required="required"></textarea>
			</div><!-- /.form-control -->

			<button type="submit" name="submit_dispute" class="button btn btn-theme w-100 btn-inverse"><?php esc_html_e( 'Send Dispute', 'freeio' ); ?><i class="flaticon-right-up next"></i></button>
		</form>
	</div>

	<!-- List Disputes -->
	<div class="inner-list">
		<?php
		$user_id = WP_Freeio_User::get_user_id();
		$paged = (get_query_var( 'paged' )) ? get_query_var( 'paged' ) : 1;
		$query_vars = array(
			'post_type'     => 'dispute',
			'post_status'   => array( 'publish', 'completed', 'pending' ),
			'paged'         => $paged,
			'orderby'		=> 'date',
			'order'			=> 'DESC',
			'meta_query' => array(
				array(
					'relation' => 'OR',
             	array(
                 'key'     => WP_FREEIO_DISPUTE_PREFIX.'sender',
                 'value'   => intval( $user_id ),
                 'compare' => '=',
             	),
             	array(
                 'key'     => WP_FREEIO_DISPUTE_PREFIX.'receipt',
                 'value'   => intval( $user_id ),
                 'compare' => '=',
             	),
          	)
         ),
		);
		$query = new WP_Query($query_vars);
		
		if ( $query->have_posts() ) :
		?>
			<div class="table-responsive">
				<table class="job-table">
					<thead>
						<tr>
							<th class="job-title-td"><?php esc_html_e('Title', 'freeio'); ?></th>
							<th class="job-date"><?php esc_html_e('Project/Service', 'freeio'); ?></th>
							<th class="job-date"><?php esc_html_e('User Name', 'freeio'); ?></th>
							<th class="job-date"><?php esc_html_e('Created', 'freeio'); ?></th>
							<th class="job-status"><?php esc_html_e('Status', 'freeio'); ?></th>
							<th class="job-actions"><?php esc_html_e('Actions', 'freeio'); ?></th>
						</tr>
					</thead>
					<tbody>
					<?php while ( $query->have_posts() ) : $query->the_post(); global $post; ?>
						<?php
						$dispute_page_url = add_query_arg( 'dispute_id', $post->ID, remove_query_arg( 'dispute_id', $dispute_page_url ) );
						$view_detail_url = add_query_arg( 'action', 'view-detail', remove_query_arg( 'action', $dispute_page_url ) );
						?>
						<tr class="my-item-wrapper">
							<td class="job-table-info">
								
								<div class="job-table-info-content">
									<div class="title-wrapper">
										<h3 class="job-table-info-content-title">
											<a href="<?php echo esc_url($view_detail_url); ?>" title="<?php esc_attr_e('View detail', 'freeio'); ?>">
												<?php the_title(); ?>
											</a>
										</h3>
									</div>
								</div>
							</td>

							<td>
								<div class="job-table-info-content-project">
									<?php
									$post_id = get_post_meta($post->ID, WP_FREEIO_DISPUTE_PREFIX.'post_id', true);
									$post_type = get_post_type($post_id);
									if ( $post_type == 'project_proposal' ) {
										$project_id = get_post_meta($post_id, WP_FREEIO_PROJECT_PROPOSAL_PREFIX.'project_id', true);
										$project = get_post($project_id);
										if ( $project ) {
									?>
											<h5><a href="<?php echo esc_url(get_permalink($project)); ?>"><?php echo get_the_title($project_id); ?></a></h5>
										<?php } ?>
									<?php } elseif ( $post_type == 'service_order' ) {
											$service_id = get_post_meta($post_id, WP_FREEIO_SERVICE_ORDER_PREFIX.'service_id', true);
											$service = get_post($service_id);
											if ( $service ) {
										?>
												<h5><a href="<?php echo esc_url(get_permalink($service)); ?>"><?php echo get_the_title($service_id); ?></a></h5>
											<?php } ?>

									<?php } ?>
								</div>
							</td>

							<td>
								<div class="job-table-info-content-project">
									<?php
									if ( WP_Freeio_User::is_freelancer($user_id) ) {
										if ( !empty($post_type) && $post_type === 'service_order' ) {
											$post_author = get_post_field( 'post_author', $post_id );
											$post_user_id = WP_Freeio_User::get_employer_by_user_id($post_author);
										} else {
											$post_author = get_post_meta( $post_id, WP_FREEIO_PROJECT_PROPOSAL_PREFIX.'employer_id', true );
											$post_user_id = WP_Freeio_User::get_employer_by_user_id($post_author);
										}
									} else {
										if ( !empty($post_type) && $post_type === 'service_order' ) {
											$post_author = get_post_meta( $post_id, WP_FREEIO_SERVICE_ORDER_PREFIX.'service_author', true );
											$post_user_id = WP_Freeio_User::get_freelancer_by_user_id($post_author);
										} else {
											$post_author = get_post_field( 'post_author', $post_id );
											$post_user_id = WP_Freeio_User::get_freelancer_by_user_id($post_author);
										}
									}
									?>
									<a href="<?php echo get_permalink($post_user_id); ?>"><?php echo get_the_title($post_user_id); ?></a>
								</div>
							</td>

							<td>
								<div class="job-table-info-content-date">
									<div class="created">
										<?php the_time( get_option('date_format') ); ?>
									</div>
								</div>
							</td>

							<td class="job-table-status nowrap">
								<?php
				        		$resolved = get_post_meta($post->ID, WP_FREEIO_DISPUTE_PREFIX.'resolved', true);
					    		if ( !$resolved ) {
					    			$classes = 'bg-pending';
					    		} else {
					    			$classes = 'bg-success';
					    		}
								?>
								<div class="job-table-actions-inner">
									<div class="badge <?php echo esc_attr($classes);?>">
										<?php
											if ( $resolved ) {
												esc_html_e('Resolved', 'freeio');
											} else {
												esc_html_e('Ongoing', 'freeio');
											}
										?>
									</div>
								</div>
							</td>

							<td class="job-table-actions nowrap">
								<div class="action-button">
									<a class="btn btn-sm btn-theme" href="<?php echo esc_url($view_detail_url); ?>" title="<?php esc_attr_e('View detail', 'freeio'); ?>">
										<?php esc_html_e('View detail', 'freeio'); ?>
									</a>
								</div>
							</td>
						</tr>
					<?php endwhile; ?>
					</tbody>
				</table>
			</div>
			<?php
				WP_Freeio_Mixes::custom_pagination( array(
					'wp_query' => $query,
					'max_num_pages' => $query->max_num_pages,
					'prev_text'     => '<i class="ti-angle-left"></i>',
					'next_text'     => '<i class="ti-angle-right"></i>',
				));

				wp_reset_postdata();
			?>
		<?php else : ?>
			<div class="alert alert-warning">
				<p><?php esc_html_e( 'You don\'t have any dispute.', 'freeio' ); ?></p>
			</div>
		<?php endif; ?>
	</div>
</div>