HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/admin/dashboard-widgets/workflows.php
<?php

namespace AutomateWoo;

use AutomateWoo\Workflows\Factory;

defined( 'ABSPATH' ) || exit;

/**
 * Dashboard_Widget_Workflows class.
 */
class Dashboard_Widget_Workflows extends Dashboard_Widget {

	/**
	 * Widget's ID
	 *
	 * @var string
	 */
	public $id = 'workflows';

	/**
	 * Get array of featured workflows.
	 *
	 * @return array
	 */
	protected function get_featured() {
		if ( ! $this->date_to || ! $this->date_from ) {
			return [];
		}

		$featured    = [];
		$logs        = $this->controller->get_logs();
		$conversions = $this->controller->get_conversions();
		$counts      = [];

		foreach ( $logs as $log ) {
			$counts[] = $log->get_workflow_id();
		}

		$counts = array_count_values( $counts );
		arsort( $counts, SORT_NUMERIC );
		$workflow = Factory::get( key( $counts ) );

		if ( $workflow ) {
			$featured[] = [
				'workflow'    => $workflow,
				'description' => __( 'most run workflow', 'automatewoo' ),
			];
		}

		if ( $conversions ) {
			$totals = [];

			foreach ( $conversions as $order ) {
				$workflow_id = absint( $order->get_meta( '_aw_conversion' ) );

				if ( isset( $totals[ $workflow_id ] ) ) {
					$totals[ $workflow_id ] += $order->get_total();
				} else {
					$totals[ $workflow_id ] = $order->get_total();
				}
			}

			arsort( $totals, SORT_NUMERIC );
			$workflow = Factory::get( key( $totals ) );

			if ( $workflow ) {
				$featured[] = [
					'workflow'    => $workflow,
					'description' => __( 'highest converting workflow', 'automatewoo' ),
				];
			}
		}

		return $featured;
	}

	/**
	 * Output the widget content.
	 */
	protected function output_content() {
		$features = $this->get_featured();

		?>

		<div class="automatewoo-dashboard__workflows">
			<?php foreach ( $features as $feature ) : ?>

				<?php
				/**
				 * For IDE.
				 *
				 * @var $workflow Workflow
				 */
				$workflow = $feature['workflow'];
				?>

				<a class="automatewoo-dashboard__workflow" href="<?php echo esc_url( get_edit_post_link( $workflow->get_id() ) ); ?>">

					<div class="automatewoo-dashboard__workflow-title"><?php echo esc_html( $workflow->get_title() ); ?></div>
					<div class="automatewoo-dashboard__workflow-description"><?php echo esc_html( $feature['description'] ); ?></div>

				</a>

			<?php endforeach; ?>
		</div>

		<?php
	}

}

return new Dashboard_Widget_Workflows();