<?php
	/**
	 * @package     Freemius
	 * @copyright   Copyright (c) 2015, Freemius, Inc.
	 * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
	 * @since       1.1.7.3
	 */

	if ( ! defined( 'ABSPATH' ) ) {
		exit;
	}

	if ( class_exists( 'Debug_Bar_Panel' ) ) {

		/**
		 * Extends Debug Bar plugin by adding a panel to show all Freemius API requests.
		 *
		 * @author Vova Feldman (@svovaf)
		 * @since  1.1.7.3
		 *
		 * Class Freemius_Debug_Bar_Panel
		 */
		class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel {

			public function init() {
				$this->title( 'Freemius' ); // @phpstan-ignore-line
			}

			public static function requests_count() {
				if ( class_exists( 'Freemius_Api_WordPress' ) ) {
					$logger = Freemius_Api_WordPress::GetLogger();
				} else {
					$logger = array();
				}

				return number_format( count( $logger ) );
			}

			public static function total_time() {
				if ( class_exists( 'Freemius_Api_WordPress' ) ) {
					$logger = Freemius_Api_WordPress::GetLogger();
				} else {
					$logger = array();
				}

				$total_time = .0;
				foreach ( $logger as $l ) {
					$total_time += $l['total'];
				}

				return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' );
			}

			public function render() {
				?>
				<div id='debug-bar-php'>
					<?php fs_require_template( '/debug/api-calls.php' ) ?>
					<br>
					<?php fs_require_template( '/debug/scheduled-crons.php' ) ?>
					<br>
					<?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?>
					<br>
					<?php fs_require_template( '/debug/logger.php' ) ?>
				</div>
			<?php
			}
		}
	}