You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.6 KiB
114 lines
3.6 KiB
<?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.0.6
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* @var array $VARS
|
|
*
|
|
* @var FS_Plugin $plugin
|
|
*/
|
|
$plugin = $VARS['plugin'];
|
|
|
|
$plans = $VARS['plans'];
|
|
|
|
$features_plan_map = array();
|
|
foreach ( $plans as $plan ) {
|
|
if (!empty($plan->features) && is_array($plan->features)) {
|
|
foreach ( $plan->features as $feature ) {
|
|
if ( ! isset( $features_plan_map[ $feature->id ] ) ) {
|
|
$features_plan_map[ $feature->id ] = array( 'feature' => $feature, 'plans' => array() );
|
|
}
|
|
|
|
$features_plan_map[ $feature->id ]['plans'][ $plan->id ] = $feature;
|
|
}
|
|
}
|
|
|
|
// Add support as a feature.
|
|
if ( ! empty( $plan->support_email ) ||
|
|
! empty( $plan->support_skype ) ||
|
|
! empty( $plan->support_phone ) ||
|
|
true === $plan->is_success_manager
|
|
) {
|
|
if ( ! isset( $features_plan_map['support'] ) ) {
|
|
$support_feature = new stdClass();
|
|
$support_feature->id = 'support';
|
|
$support_feature->title = fs_text_inline( 'Support', $plugin->slug );
|
|
$features_plan_map[ $support_feature->id ] = array( 'feature' => $support_feature, 'plans' => array() );
|
|
} else {
|
|
$support_feature = $features_plan_map['support']['feature'];
|
|
}
|
|
|
|
$features_plan_map[ $support_feature->id ]['plans'][ $plan->id ] = $support_feature;
|
|
}
|
|
}
|
|
|
|
// Add updates as a feature for all plans.
|
|
$updates_feature = new stdClass();
|
|
$updates_feature->id = 'updates';
|
|
$updates_feature->title = fs_text_inline( 'Unlimited Updates', 'unlimited-updates', $plugin->slug );
|
|
$features_plan_map[ $updates_feature->id ] = array( 'feature' => $updates_feature, 'plans' => array() );
|
|
foreach ( $plans as $plan ) {
|
|
$features_plan_map[ $updates_feature->id ]['plans'][ $plan->id ] = $updates_feature;
|
|
}
|
|
?>
|
|
<div class="fs-features">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<?php foreach ( $plans as $plan ) : ?>
|
|
<th>
|
|
<?php echo $plan->title ?>
|
|
<span class="fs-price"><?php
|
|
if ( empty( $plan->pricing ) ) {
|
|
fs_esc_html_echo_inline( 'Free', 'free', $plugin->slug );
|
|
} else {
|
|
foreach ( $plan->pricing as $pricing ) {
|
|
/**
|
|
* @var FS_Pricing $pricing
|
|
*/
|
|
if ( 1 == $pricing->licenses ) {
|
|
if ( $pricing->has_annual() ) {
|
|
echo "\${$pricing->annual_price} / " . fs_esc_html_x_inline( 'year', 'as annual period', 'year', $plugin->slug );
|
|
} else if ( $pricing->has_monthly() ) {
|
|
echo "\${$pricing->monthly_price} / " . fs_esc_html_x_inline( 'mo', 'as monthly period', 'mo', $plugin->slug );
|
|
} else {
|
|
echo "\${$pricing->lifetime_price}";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
?></span>
|
|
</th>
|
|
<?php endforeach ?>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php $odd = true;
|
|
foreach ( $features_plan_map as $feature_id => $data ) : ?>
|
|
<tr class="fs-<?php echo $odd ? 'odd' : 'even' ?>">
|
|
<td><?php echo esc_html( ucfirst( $data['feature']->title ) ) ?></td>
|
|
<?php foreach ( $plans as $plan ) : ?>
|
|
<td>
|
|
<?php if ( isset( $data['plans'][ $plan->id ] ) ) : ?>
|
|
<?php if ( ! empty( $data['plans'][ $plan->id ]->value ) ) : ?>
|
|
<b><?php echo esc_html( $data['plans'][ $plan->id ]->value ) ?></b>
|
|
<?php else : ?>
|
|
<i class="dashicons dashicons-yes"></i>
|
|
<?php endif ?>
|
|
<?php endif ?>
|
|
</td>
|
|
<?php endforeach ?>
|
|
</tr>
|
|
<?php $odd = ! $odd; endforeach ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|