<?php
/**
 * Overview
 *
 * @author    ThemeBoy
 * @category  Modules
 * @package   SportsPress/Modules
 * @version   2.7.9
 */

// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'SportsPress_Overview' ) ) :

	/**
	 * Main SportsPress Overview Class
	 *
	 * @class SportsPress_Overview
	 * @version 2.5
	 */
	class SportsPress_Overview {

		/**
		 * Constructor
		 */
		public function __construct() {
			// Define constants
			$this->define_constants();

			add_action( 'admin_menu', array( $this, 'admin_menu' ), 11 );
		}

		/**
		 * Define constants.
		 */
		private function define_constants() {
			if ( ! defined( 'SP_OVERVIEW_VERSION' ) ) {
				define( 'SP_OVERVIEW_VERSION', '2.5' );
			}

			if ( ! defined( 'SP_OVERVIEW_URL' ) ) {
				define( 'SP_OVERVIEW_URL', plugin_dir_url( __FILE__ ) );
			}

			if ( ! defined( 'SP_OVERVIEW_DIR' ) ) {
				define( 'SP_OVERVIEW_DIR', plugin_dir_path( __FILE__ ) );
			}
		}

		/**
		 * Add menu item
		 */
		public function admin_menu() {
			add_submenu_page( 'sportspress', esc_attr__( 'Overview', 'sportspress' ), esc_attr__( 'Overview', 'sportspress' ), 'manage_sportspress', 'sportspress-overview', array( $this, 'overview_page' ) );
		}

		/**
		 * Init the overview page
		 */
		public function overview_page() {
			?>
		<div class="wrap sportspress sportspress-overview-wrap">
			<h2>
				<?php esc_attr_e( 'Overview', 'sportspress' ); ?>
			</h2>
			<div class="sp-sitemap">

				<?php
				$primary_post_types = sp_primary_post_types();
				$hierarchy          = sp_post_type_hierarchy();
				?>

				<?php if ( ! isset( $_GET['type'] ) && ! isset( $_GET['taxonomy'] ) ) : // Overview ?>

					<ul class="sp-utility">
						<?php
						foreach ( $primary_post_types as $post_type ) :
							if ( post_type_exists( $post_type ) ) :
								$object = get_post_type_object( $post_type );
								?>
							<li><a class="button button-primary" href="
								<?php
								echo esc_url(
									admin_url(
										add_query_arg(
											array(
												'page' => 'sportspress-overview',
												'type' => $post_type,
											),
											'admin.php'
										)
									)
								);
								?>
							"><?php echo esc_attr( $object->labels->name ); ?></a></li>
								<?php
						endif;
endforeach;
						?>
					</ul>

					<?php $taxonomies = sp_taxonomies(); ?>
					<ul class="sp-primary col<?php echo esc_attr( sizeof( $taxonomies ) ); ?>">
						<li class="sp-home"><a class="button disabled"><?php esc_attr_e( 'SportsPress', 'sportspress' ); ?></a></li>
						<?php
						foreach ( $taxonomies as $taxonomy ) :
							$object     = get_taxonomy( $taxonomy );
							$post_types = apply_filters( 'sportspress_sitemap_taxonomy_post_types', $object->object_type, $taxonomy );
							?>
							<li><a class="button button-primary" href="
							<?php
							echo esc_url(
								admin_url(
									add_query_arg(
										array(
											'page'     => 'sportspress-overview',
											'taxonomy' => $taxonomy,
										),
										'admin.php'
									)
								)
							);
							?>
							"><?php echo esc_attr( $object->labels->name ); ?></a>
								<?php
								$terms = get_terms(
									$taxonomy,
									array(
										'hide_empty' => false,
										'parent'     => 0,
										'orderby'    => 'slug',
									)
								);
								?>
								<ul>
									<?php if ( sizeof( $terms ) > 0 ) : ?>
										<?php foreach ( $terms as $term ) : ?>
											<?php
											$children = get_terms(
												$taxonomy,
												array(
													'hide_empty' => false,
													'parent'  => $term->term_id,
													'orderby' => 'slug',
												)
											);
											?>
											<li>
												<?php if ( ! $children && sizeof( $post_types ) <= 1 ) : ?>
													<?php
													if ( sizeof( $post_types ) ) :
														foreach ( $post_types as $post_type ) :
															?>
														<a class="button action" href="
															<?php
															echo esc_url(
																admin_url(
																	add_query_arg(
																		array(
																			'post_type' => $post_type,
																			$taxonomy   => $term->slug,
																		),
																		'edit.php'
																	)
																)
															);
															?>
														"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a>
															<?php
													endforeach;
endif;
													?>
												<?php else : ?>
													<a class="button" href="
													<?php
													echo esc_url(
														admin_url(
															add_query_arg(
																array(
																	'page' => 'sportspress-overview',
																	'taxonomy' => $taxonomy,
																	'term' => $term->term_id,
																),
																'admin.php'
															)
														)
													);
													?>
													"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?></a>
												<?php endif; ?>

												<?php if ( $children ) : ?>
													<ul>
														<?php foreach ( $children as $child ) : ?>
															<li>
																<?php if ( sizeof( $post_types ) <= 1 ) : ?>
																	<?php
																	if ( sizeof( $post_types ) ) :
																		foreach ( $post_types as $post_type ) :
																			?>
																		<a class="button action" href="
																			<?php
																			echo esc_url(
																				admin_url(
																					add_query_arg(
																						array(
																							'post_type' => $post_type,
																							$taxonomy   => $child->slug,
																						),
																						'edit.php'
																					)
																				)
																			);
																			?>
																		"><?php echo esc_html( wp_strip_all_tags( $child->name ) ); ?><span class="dashicons dashicons-list-view wp-ui-text-highlight"></span></a>
																			<?php
																	endforeach;
endif;
																	?>
																<?php else : ?>
																	<a class="button" href="
																	<?php
																	echo esc_url(
																		admin_url(
																			add_query_arg(
																				array(
																					'page'     => 'sportspress-overview',
																					'taxonomy' => $taxonomy,
																					'term'     => $child->term_id,
																				),
																				'admin.php'
																			)
																		)
																	);
																	?>
																	"><?php echo esc_html( wp_strip_all_tags( $child->name ) ); ?></a>
																<?php endif; ?>
															</li>
														<?php endforeach; ?>
													</ul>
												<?php endif; ?>
											</li>
										<?php endforeach; ?>
									<?php else : ?>
										<li><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'taxonomy' => $taxonomy ), 'edit-tags.php' ) ) ); ?>"><?php echo esc_attr( $object->labels->add_new_item ); ?></a></li>
									<?php endif; ?>
								</ul>
							</li>
						<?php endforeach; ?>
					</ul>

					<?php
				elseif ( ! isset( $_GET['type'] ) ) :
					$taxonomy        = sanitize_key( $_GET['taxonomy'] );
					$taxonomy_object = get_taxonomy( $taxonomy );
					?>
						
					<?php $post_types = apply_filters( 'sportspress_sitemap_taxonomy_post_types', $taxonomy_object->object_type, $taxonomy ); ?>

					<?php
					if ( isset( $_GET['term'] ) ) :
						$term = get_term( sanitize_key( $_GET['term'] ), $taxonomy ); // Posts in term
						?>

						<ul class="sp-utility">
							<li><a class="button button-primary" href="<?php echo esc_url( admin_url( add_query_arg( array( 'taxonomy' => $taxonomy ), 'edit-tags.php' ) ) ); ?>"><?php echo esc_attr( $taxonomy_object->labels->edit_item ); ?></a></li>
						</ul>

						<?php
						$terms = get_terms(
							$taxonomy,
							array(
								'hide_empty' => false,
								'parent'     => $term->term_id,
								'orderby'    => 'slug',
							)
						);
						?>

						<?php if ( $terms ) : // Has children ?>

							<ul class="sp-primary col<?php echo esc_attr( sizeof( $terms ) + 1 ); ?>">
								<li class="sp-breadcrumb"><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress-overview' ), 'admin.php' ) ) ); ?>"><?php esc_attr_e( 'SportsPress', 'sportspress' ); ?></a></li>
								<li class="sp-breadcrumb"><a class="button" href="
								<?php
								echo esc_url(
									admin_url(
										add_query_arg(
											array(
												'page'     => 'sportspress-overview',
												'taxonomy' => $taxonomy,
											),
											'admin.php'
										)
									)
								);
								?>
								"><?php echo esc_attr( $taxonomy_object->labels->name ); ?></a></li>
								<li class="sp-home"><a class="button disabled"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?></a></li>
								<li><a class="button disabled"><?php esc_attr_e( 'All', 'sportspress' ); ?></a>
									<ul>
										<?php if ( sizeof( $post_types ) ) : ?>
											<?php
											foreach ( $post_types as $post_type ) :
												if ( post_type_exists( $post_type ) ) :
													$post_object = get_post_type_object( $post_type );
													?>
												<li><a class="button button-primary action" href="
													<?php
													echo esc_url(
														admin_url(
															add_query_arg(
																array(
																	'post_type' => $post_type,
																	$taxonomy => $term->slug,
																),
																'edit.php'
															)
														)
													);
													?>
												"><?php echo esc_attr( $post_object->labels->name ); ?><span class="dashicons dashicons-list-view"></span></a></li>
													<?php
											endif;
endforeach;
											?>
										<?php endif; ?>
									</ul>
								</li>
								<?php foreach ( $terms as $term ) : ?>
									<li><a class="button button-primary" href="
									<?php
									echo esc_url(
										admin_url(
											add_query_arg(
												array(
													'page' => 'sportspress-overview',
													'taxonomy' => $taxonomy,
													'term' => $term->term_id,
												),
												'admin.php'
											)
										)
									);
									?>
									"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?></a>
										<?php
										$children = get_terms(
											$taxonomy,
											array(
												'hide_empty' => false,
												'parent'  => $term->term_id,
												'orderby' => 'slug',
											)
										);
										?>

										<?php if ( $children ) : // Has children ?>

											<ul>
												<?php foreach ( $children as $child ) : ?>
													<li><a class="button action" href="
													<?php
													echo esc_url(
														admin_url(
															add_query_arg(
																array(
																	'post_type' => $post_type,
																	$taxonomy   => $child->slug,
																),
																'edit.php'
															)
														)
													);
													?>
													"><?php echo esc_html( wp_strip_all_tags( $child->name ) ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a>

														<?php if ( sizeof( $post_types ) ) : // Has associated post types ?>
															<ul>
																<?php
																foreach ( $post_types as $post_type ) :
																	if ( post_type_exists( $post_type ) ) :
																		$post_object = get_post_type_object( $post_type );
																		?>
																	<li><a class="button action" href="
																		<?php
																		echo esc_url(
																			admin_url(
																				add_query_arg(
																					array(
																						'post_type' => $post_type,
																						$taxonomy   => $child->slug,
																					),
																					'edit.php'
																				)
																			)
																		);
																		?>
																	"><?php echo esc_attr( $post_object->labels->name ); ?><span class="dashicons dashicons-list-view wp-ui-text-highlight"></span></a></li>
																		<?php
																endif;
endforeach;
																?>
															</ul>
														<?php endif; ?>

													</li>
												<?php endforeach; ?>
											</ul>

										<?php elseif ( sizeof( $post_types ) ) : // Has associated post types ?>

											<ul>
												<?php
												foreach ( $post_types as $post_type ) :
													if ( post_type_exists( $post_type ) ) :
														$post_object = get_post_type_object( $post_type );
														?>
													<li><a class="button action" href="
														<?php
														echo esc_url(
															admin_url(
																add_query_arg(
																	array(
																		'post_type' => $post_type,
																		$taxonomy   => $term->slug,
																	),
																	'edit.php'
																)
															)
														);
														?>
													"><?php echo esc_attr( $post_object->labels->name ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a></li>
														<?php
												endif;
endforeach;
												?>
											</ul>

										<?php endif; ?>

									</li>
								<?php endforeach; ?>
							</ul>
						
						<?php else : // No children ?>

							<ul class="sp-primary col<?php echo esc_attr( sizeof( $post_types ) ); ?>">
								<li class="sp-breadcrumb"><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress-overview' ), 'admin.php' ) ) ); ?>"><?php esc_attr_e( 'SportsPress', 'sportspress' ); ?></a></li>
								<li class="sp-breadcrumb"><a class="button" href="
								<?php
								echo esc_url(
									admin_url(
										add_query_arg(
											array(
												'page'     => 'sportspress-overview',
												'taxonomy' => $taxonomy,
											),
											'admin.php'
										)
									)
								);
								?>
								"><?php echo esc_attr( $taxonomy_object->labels->name ); ?></a></li>
								<?php
								if ( $term->parent ) :
									$parent = get_term( $term->parent, $taxonomy );
									?>
									<li class="sp-breadcrumb"><a class="button" href="
									<?php
									echo esc_url(
										admin_url(
											add_query_arg(
												array(
													'page' => 'sportspress-overview',
													'taxonomy' => $taxonomy,
													'term' => $term->parent,
												),
												'admin.php'
											)
										)
									);
									?>
									"><?php echo esc_attr( $parent->name ); ?></a></li>
								<?php endif; ?>
								<li class="sp-home"><a class="button disabled"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?></a></li>
								<?php if ( sizeof( $taxonomy_object->object_type ) ) : ?>
									<ul>
										<?php
										foreach ( $post_types as $post_type ) :
											if ( post_type_exists( $post_type ) ) :
												$post_object = get_post_type_object( $post_type );
												?>
											<li><a class="button button-primary action" href="
												<?php
												echo esc_url(
													admin_url(
														add_query_arg(
															array(
																'post_type' => $post_type,
																$taxonomy => $term->slug,
															),
															'edit.php'
														)
													)
												);
												?>
											"><?php echo esc_attr( $post_object->labels->name ); ?><span class="dashicons dashicons-list-view"></span></a></li>
												<?php
										endif;
endforeach;
										?>
									</ul>
								<?php endif; ?>
							</ul>

						<?php endif; ?>

					<?php else : // Taxonomy archive ?>

						<?php
						$terms = get_terms(
							$taxonomy,
							array(
								'hide_empty' => false,
								'parent'     => 0,
								'orderby'    => 'slug',
							)
						);
						?>
						<ul class="sp-primary col<?php echo esc_attr( sizeof( $terms ) + 1 ); ?>">
							<li class="sp-breadcrumb"><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress-overview' ), 'admin.php' ) ) ); ?>"><?php esc_attr_e( 'SportsPress', 'sportspress' ); ?></a></li>
							<li class="sp-home"><a class="button disabled"><?php echo esc_attr( $taxonomy_object->labels->name ); ?></a></li>
							<?php if ( $terms ) : ?>
								<?php foreach ( $terms as $term ) : ?>
									<li>
										<?php
										if ( sizeof( $post_types ) <= 1 ) :
											$post_type = reset( $post_types );
											?>
											<a class="button button-primary action" href="
											<?php
											echo esc_url(
												admin_url(
													add_query_arg(
														array(
															'post_type' => $post_type,
															$taxonomy => $term->slug,
														),
														'edit.php'
													)
												)
											);
											?>
											"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?><span class="dashicons dashicons-list-view"></span></a>
										<?php else : ?>
											<a class="button button-primary" href="
											<?php
											echo esc_url(
												admin_url(
													add_query_arg(
														array(
															'page' => 'sportspress-overview',
															'taxonomy' => $taxonomy,
															'term' => $term->term_id,
														),
														'admin.php'
													)
												)
											);
											?>
											"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?></a>
										<?php endif; ?>
										<?php
										$children = get_terms(
											$taxonomy,
											array(
												'hide_empty' => false,
												'parent'  => $term->term_id,
												'orderby' => 'slug',
											)
										);
										?>
										<ul>

											<?php if ( $children ) : // Has children ?>

												<?php if ( sizeof( $post_types ) <= 1 ) : ?>

													<?php foreach ( $children as $child ) : ?>
														<?php if ( sizeof( $post_types ) ) : ?>
															<?php
															foreach ( $post_types as $post_type ) :
																if ( post_type_exists( $post_type ) ) :
																	$post_object = get_post_type_object( $post_type );
																	?>
																<li><a class="button action" href="
																	<?php
																	echo esc_url(
																		admin_url(
																			add_query_arg(
																				array(
																					'post_type' => $post_type,
																					$taxonomy   => $child->slug,
																				),
																				'edit.php'
																			)
																		)
																	);
																	?>
																"><?php echo esc_html( wp_strip_all_tags( $child->name ) ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a></li>
																	<?php
															endif;
endforeach;
															?>
														<?php endif; ?>
													<?php endforeach; ?>

												<?php else : ?>

													<?php if ( sizeof( $post_types ) ) : ?>
														<?php
														foreach ( $post_types as $post_type ) :
															if ( post_type_exists( $post_type ) ) :
																$post_object = get_post_type_object( $post_type );
																?>
															<li><a class="button action" href="
																<?php
																echo esc_url(
																	admin_url(
																		add_query_arg(
																			array(
																				'post_type' => $post_type,
																				$taxonomy   => $term->slug,
																			),
																			'edit.php'
																		)
																	)
																);
																?>
															"><?php echo esc_attr( $post_object->labels->name ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a></li>
																<?php
														endif;
endforeach;
														?>
														<li></li>
														<li></li>
													<?php endif; ?>

													<?php foreach ( $children as $child ) : ?>
														<li><a class="button" href="
														<?php
														echo esc_url(
															admin_url(
																add_query_arg(
																	array(
																		'page'     => 'sportspress-overview',
																		'taxonomy' => $taxonomy,
																		'term'     => $child->term_id,
																	),
																	'admin.php'
																)
															)
														);
														?>
														"><?php echo esc_html( wp_strip_all_tags( $child->name ) ); ?></a>
															<?php if ( sizeof( $post_types ) ) : ?>
																<ul>
																	<?php
																	foreach ( $post_types as $post_type ) :
																		if ( post_type_exists( $post_type ) ) :
																			$post_object = get_post_type_object( $post_type );
																			?>
																		<li><a class="button action" href="
																			<?php
																			echo esc_url(
																				admin_url(
																					add_query_arg(
																						array(
																							'post_type' => $post_type,
																							$taxonomy => $child->slug,
																						),
																						'edit.php'
																					)
																				)
																			);
																			?>
																																				"><?php echo esc_attr( $post_object->labels->name ); ?><span class="dashicons dashicons-list-view wp-ui-text-highlight"></span></a></li>
																																			<?php
																	endif;
endforeach;
																	?>
																</ul>
															<?php endif; ?>
														</li>
													<?php endforeach; ?>

												<?php endif; ?>

											<?php else : // No children ?>

												<?php if ( sizeof( $post_types ) > 1 ) : ?>
													<?php
													foreach ( $post_types as $post_type ) :
														if ( post_type_exists( $post_type ) ) :
															$post_object = get_post_type_object( $post_type );
															?>
														<li><a class="button action" href="
															<?php
															echo esc_url(
																admin_url(
																	add_query_arg(
																		array(
																			'post_type' => $post_type,
																			$taxonomy => $term->slug,
																		),
																		'edit.php'
																	)
																)
															);
															?>
																												"><?php echo esc_attr( $post_object->labels->name ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a></li>
																											<?php
													endif;
endforeach;
													?>
												<?php endif; ?>

											<?php endif; ?>

										</ul>
									</li>
								<?php endforeach; ?>
							<?php endif; ?>
							<li><a class="button button-primary action" href="<?php echo esc_url( admin_url( add_query_arg( array( 'taxonomy' => $taxonomy ), 'edit-tags.php' ) ) ); ?>"><?php echo esc_attr( $taxonomy_object->labels->add_new_item ); ?><span class="dashicons dashicons-plus"></span></a></li>
						</ul>

					<?php endif; ?>

					<?php
				elseif ( ! isset( $_GET['taxonomy'] ) ) :
					$post_type = sanitize_key( $_GET['type'] ); // Post type archive
					?>

					<?php
					$post_object = get_post_type_object( $post_type );
					$taxonomies  = get_object_taxonomies( $post_type, 'objects' );
					?>

					<ul class="sp-utility">
						<li><a class="button button-primary" href="<?php echo esc_url( admin_url( add_query_arg( array( 'post_type' => $post_type ), 'post-new.php' ) ) ); ?>"><?php echo esc_attr( $post_object->labels->add_new_item ); ?></a></li>
						<li><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'post_type' => $post_type ), 'edit.php' ) ) ); ?>"><?php esc_attr_e( 'View All', 'sportspress' ); ?></a></li>
					</ul>

					<?php if ( sizeof( $taxonomies ) || sizeof( sp_array_value( $hierarchy, $post_type ) ) ) : // Display taxonomies ?>
						<ul class="sp-primary col<?php echo esc_attr( sizeof( $taxonomies ) + sizeof( sp_array_value( $hierarchy, $post_type ) ) ); ?>">
							<li class="sp-breadcrumb"><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress-overview' ), 'admin.php' ) ) ); ?>"><?php esc_attr_e( 'SportsPress', 'sportspress' ); ?></a></li>
							<li class="sp-home"><a class="button disabled"><?php echo esc_attr( $post_object->labels->name ); ?></a></li>
							<?php
							foreach ( sp_array_value( $hierarchy, $post_type ) as $secondary_post_type ) :
								if ( post_type_exists( $secondary_post_type ) ) :
									$secondary_post_object = get_post_type_object( $secondary_post_type );
									?>
								<li><a class="button button-primary action" href="<?php echo esc_url( admin_url( add_query_arg( array( 'post_type' => $secondary_post_type ), 'edit.php' ) ) ); ?>"><?php echo esc_attr( $secondary_post_object->labels->name ); ?><span class="dashicons dashicons-list-view"></span></a>
																	<?php
																	$posts = get_posts(
																		array(
																			'posts_per_page' => -1,
																			'post_type' => $secondary_post_type,
																		)
																	);
																	?>
																	<?php if ( $posts ) : ?>
										<ul>
																		<?php foreach ( $posts as $post ) : ?>
												<li><a class="button action" href="<?php echo esc_url( get_edit_post_link( $post->ID ) ); ?>"><?php echo esc_html( wp_strip_all_tags( $post->post_title ) ); ?><span class="dashicons dashicons-edit wp-ui-text-notification"></span></a></li>
											<?php endforeach; ?>
										</ul>
									<?php endif; ?>
								</li>
															<?php
							endif;
endforeach;
							?>
							<?php
							foreach ( $taxonomies as $taxonomy_object ) :
								$taxonomy = $taxonomy_object->name;
								?>
								<li><a class="button button-primary" href="
								<?php
								echo esc_url(
									admin_url(
										add_query_arg(
											array(
												'page'     => 'sportspress-overview',
												'type'     => $post_type,
												'taxonomy' => $taxonomy_object->name,
											),
											'admin.php'
										)
									)
								);
								?>
																			"><?php echo esc_attr( $taxonomy_object->labels->name ); ?></a>
									<?php
									$terms = get_terms(
										$taxonomy,
										array(
											'hide_empty' => false,
											'parent'     => 0,
											'orderby'    => 'slug',
										)
									);
									?>
									<?php if ( $terms ) : ?>
										<ul>
											<?php foreach ( $terms as $term ) : ?>
												<li><a class="button action" href="
												<?php
												echo esc_url(
													admin_url(
														add_query_arg(
															array(
																'post_type' => $post_type,
																$taxonomy => $term->slug,
															),
															'edit.php'
														)
													)
												);
												?>
																					"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a>
													<?php
													$children = get_terms(
														$taxonomy,
														array(
															'hide_empty' => false,
															'parent' => $term->term_id,
															'orderby' => 'slug',
														)
													);
													?>

													<?php if ( $children ) : // Has children ?>

														<ul>
															<?php foreach ( $children as $child ) : ?>
																<li><a class="button action" href="
																<?php
																echo esc_url(
																	admin_url(
																		add_query_arg(
																			array(
																				'post_type' => $post_type,
																				$taxonomy => $child->slug,
																			),
																			'edit.php'
																		)
																	)
																);
																?>
																									"><?php echo esc_html( wp_strip_all_tags( $child->name ) ); ?><span class="dashicons dashicons-list-view wp-ui-text-highlight"></span></a></li>
															<?php endforeach; ?>
														</ul>

													<?php endif; ?>

												</li>
											<?php endforeach; ?>
										</ul>
									<?php endif; ?>
								</li>
							<?php endforeach; ?>
						</ul>

					<?php else : // Display posts ?>

						<?php
						$posts = get_posts(
							array(
								'posts_per_page' => -1,
								'post_type'      => $post_type,
							)
						);
						?>
						<ul class="sp-primary col<?php echo esc_attr( sizeof( $posts ) ); ?>">
							<li class="sp-breadcrumb"><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress-overview' ), 'admin.php' ) ) ); ?>"><?php esc_attr_e( 'SportsPress', 'sportspress' ); ?></a></li>
							<li class="sp-home"><a class="button disabled"><?php echo esc_attr( $post_object->labels->name ); ?></a></li>
							<?php if ( $posts ) : ?>
								<?php foreach ( $posts as $post ) : ?>
									<li><a class="button button-primary action" href="<?php echo esc_url( get_edit_post_link( $post->ID ) ); ?>"><?php echo esc_html( wp_strip_all_tags( $post->post_title ) ); ?><span class="dashicons dashicons-edit"></span></a></li>
								<?php endforeach; ?>
							<?php else : ?>
								<li><a class="button disabled"><?php esc_attr_e( 'No results found.', 'sportspress' ); ?></a></li>
							<?php endif; ?>
						</ul>

					<?php endif; ?>

					<?php
				else :
					$post_type = sanitize_key( $_GET['type'] );
					$taxonomy  = sanitize_key( $_GET['taxonomy'] ); // Filtered posts
					?>

					<?php if ( post_type_exists( $post_type ) ) : ?>
					
						<?php
						$post_object     = get_post_type_object( $post_type );
						$taxonomy_object = get_taxonomy( sanitize_key( $_GET['taxonomy'] ) );
						?>

						<?php
						$terms = get_terms(
							$taxonomy,
							array(
								'hide_empty' => false,
								'parent'     => 0,
								'orderby'    => 'slug',
							)
						);
						?>

						<ul class="sp-primary col<?php echo esc_attr( sizeof( $terms ) + 1 ); ?>">
							<li class="sp-breadcrumb"><a class="button" href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'sportspress-overview' ), 'admin.php' ) ) ); ?>"><?php esc_attr_e( 'SportsPress', 'sportspress' ); ?></a></li>
							<li class="sp-breadcrumb"><a class="button" href="
							<?php
							echo esc_url(
								admin_url(
									add_query_arg(
										array(
											'page' => 'sportspress-overview',
											'type' => $post_type,
										),
										'admin.php'
									)
								)
							);
							?>
																				"><?php echo esc_attr( $post_object->labels->name ); ?></a></li>
							<li class="sp-home"><a class="button disabled"><?php echo esc_attr( $taxonomy_object->labels->name ); ?></a></li>

							<?php
							if ( $terms ) :
								foreach ( $terms as $term ) :
									?>
								<li><a class="button button-primary action" href="
									<?php
									echo esc_url(
										admin_url(
											add_query_arg(
												array(
													'post_type' => $post_type,
													$taxonomy => $term->slug,
												),
												'edit.php'
											)
										)
									);
									?>
																"><?php echo esc_html( wp_strip_all_tags( $term->name ) ); ?><span class="dashicons dashicons-list-view"></span></a>
									<?php
									$children = get_terms(
										$taxonomy,
										array(
											'hide_empty' => false,
											'parent'     => $term->term_id,
											'orderby'    => 'slug',
										)
									);
									?>

																	<?php if ( $children ) : // Has children ?>

										<ul>
																		<?php foreach ( $children as $child ) : ?>
												<li><a class="button action" href="
																			<?php
																			echo esc_url(
																				admin_url(
																					add_query_arg(
																						array(
																							'post_type' => $post_type,
																							$taxonomy => $child->slug,
																						),
																						'edit.php'
																					)
																				)
																			);
																			?>
																					"><?php echo esc_html( wp_strip_all_tags( $child->name ) ); ?><span class="dashicons dashicons-list-view wp-ui-text-notification"></span></a>
																			<?php
																			$grandchildren = get_terms(
																				$taxonomy,
																				array(
																					'hide_empty' => false,
																					'parent' => $child->term_id,
																					'orderby' => 'slug',
																				)
																			);
																			?>

																			<?php if ( $grandchildren ) : // Has grandchildren ?>
														<ul>
																				<?php foreach ( $grandchildren as $grandchild ) : ?>
																<li><a class="button action" href="
																					<?php
																					echo esc_url(
																						admin_url(
																							add_query_arg(
																								array(
																									'post_type' => $post_type,
																									$taxonomy => $grandchild->slug,
																								),
																								'edit.php'
																							)
																						)
																					);
																					?>
																									"><?php echo esc_attr( $grandchild->name ); ?><span class="dashicons dashicons-list-view wp-ui-text-highlight"></span></a></li>
															<?php endforeach; ?>
														</ul>
													<?php endif; ?>

												</li>
											<?php endforeach; ?>
										</ul>

									<?php endif; ?>

								</li>
															<?php
							endforeach;
endif;
							?>
							<li><a class="button button-primary" href="<?php echo esc_url( admin_url( add_query_arg( array( 'taxonomy' => $taxonomy ), 'edit-tags.php' ) ) ); ?>"><?php echo esc_attr( $taxonomy_object->labels->add_new_item ); ?></a></li>
						</ul>

					<?php endif; ?>

				<?php endif; ?>
			</div>
				<?php do_action( 'sportspress_overview_page' ); ?>
		</div>
			<?php
		}
	}

endif;

new SportsPress_Overview();
