| 1 |
<?php |
| 2 |
/** |
| 3 |
* Add-Ons Page. |
| 4 |
* |
| 5 |
* @package Formidable |
| 6 |
* |
| 7 |
* @var string $view_path Absolute path to the views/addons/ directory, with trailing slash. |
| 8 |
* @var array $installed_addons Installed add-on plugins keyed by slug. |
| 9 |
* @var array<string, array> $addons Available add-ons keyed by slug. |
| 10 |
* @var array $errors API errors, if any. |
| 11 |
* @var string $license_type Current license type or empty string. |
| 12 |
* @var string $request_addon_url URL for requesting a new add-on. |
| 13 |
* @var array $pro Pro add-on entry prepended to $addons. |
| 14 |
* @var string $pricing Upgrade URL used for CTAs. |
| 15 |
* @var array<string, array> $categories Add-on categories keyed by slug, each with 'name' and 'count'. |
| 16 |
*/ |
| 17 |
|
| 18 |
if ( ! defined( 'ABSPATH' ) ) { |
| 19 |
die( 'You are not allowed to call this page directly.' ); |
| 20 |
} |
| 21 |
?> |
| 22 |
<div id="frm-addons-page" class="frm_wrap frm-page-skeleton"> |
| 23 |
<div class="frm_page_container"> |
| 24 |
<?php |
| 25 |
FrmAppHelper::get_admin_header( |
| 26 |
array( |
| 27 |
'label' => __( 'Formidable Add-Ons', 'formidable' ), |
| 28 |
) |
| 29 |
); |
| 30 |
?> |
| 31 |
|
| 32 |
<div class="columns-2"> |
| 33 |
<div id="frm-page-skeleton-sidebar" class="frm-right-panel frm-flex-col frm-hide-js"> |
| 34 |
<div class="frm-scrollbar-wrapper frm-flex-col frm-gap-sm"> |
| 35 |
<?php |
| 36 |
// Search box. |
| 37 |
FrmAppHelper::show_search_box( |
| 38 |
array( |
| 39 |
'input_id' => 'addon', |
| 40 |
'placeholder' => __( 'Search Add-Ons', 'formidable' ), |
| 41 |
'tosearch' => 'frm-searchable-addon', |
| 42 |
) |
| 43 |
); |
| 44 |
|
| 45 |
// Categories list. |
| 46 |
require $view_path . 'categories.php'; |
| 47 |
?> |
| 48 |
</div> |
| 49 |
</div> |
| 50 |
|
| 51 |
<div id="post-body-content" class="frm-flex-col frm-gap-sm frm-p-xl frm-hide-js"> |
| 52 |
<?php require $view_path . 'list.php'; ?> |
| 53 |
</div> |
| 54 |
</div> |
| 55 |
</div> |
| 56 |
</div> |
| 57 |
|