firebox
/
Inc
/
Core
/
Analytics
/
QueryBuilders
/
ConversionRate
/
ConversionRateQueryStrategyFactory.php
ConversionRateQueryStrategyFactory.php in FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment 3.1.9, at Inc/Core/Analytics/QueryBuilders/ConversionRate/ConversionRateQueryStrategyFactory.php
| 1 | <?php |
| 2 | /** |
| 3 | * @package FireBox |
| 4 | * @version 3.1.9 Free |
| 5 | * |
| 6 | * @author FirePlugins <info@fireplugins.com> |
| 7 | * @link https://www.fireplugins.com |
| 8 | * @copyright Copyright © 2026 FirePlugins All Rights Reserved |
| 9 | * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later |
| 10 | */ |
| 11 | |
| 12 | namespace FireBox\Core\Analytics\QueryBuilders\ConversionRate; |
| 13 | |
| 14 | use FireBox\Core\Analytics\QueryBuilders\Interfaces\QueryStrategyInterface; |
| 15 | |
| 16 | if (!defined('ABSPATH')) |
| 17 | { |
| 18 | exit; // Exit if accessed directly. |
| 19 | } |
| 20 | |
| 21 | class ConversionRateQueryStrategyFactory |
| 22 | { |
| 23 | public static function create($queryType, $metric): QueryStrategyInterface |
| 24 | { |
| 25 | switch ($queryType) |
| 26 | { |
| 27 | case 'top_campaigns': |
| 28 | case 'top_campaign': |
| 29 | return new TopCampaignStrategy($metric); |
| 30 | case 'countries': |
| 31 | return new CountriesStrategy($metric); |
| 32 | case 'referrers': |
| 33 | return new ReferrersStrategy($metric); |
| 34 | case 'devices': |
| 35 | return new DevicesStrategy($metric); |
| 36 | case 'pages': |
| 37 | return new PagesStrategy($metric); |
| 38 | case 'weekly': |
| 39 | return new WeeklyStrategy($metric); |
| 40 | case 'monthly': |
| 41 | return new MonthlyStrategy($metric); |
| 42 | case 'dayofweek': |
| 43 | case 'day_of_week': |
| 44 | return new DayOfWeekStrategy($metric); |
| 45 | case 'list': |
| 46 | return new ListStrategy($metric); |
| 47 | case 'count': |
| 48 | default: |
| 49 | return new CountStrategy($metric); |
| 50 | } |
| 51 | } |
| 52 | } |
| 53 |