Skip to content

Commit e834b58

Browse files
authored
Merge branch 'develop' into filip/correct-css-var-name
2 parents ff0de4f + 779e9af commit e834b58

5 files changed

Lines changed: 79 additions & 5 deletions

File tree

classes/admin/class-enqueue.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ private function get_badge_urls() {
312312
$monthly_badge = \progress_planner()->get_badges()->get_badge( Monthly::get_badge_id_from_date( new \DateTime() ) );
313313

314314
if ( $monthly_badge ) {
315-
$badge_urls['month'] = \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . $monthly_badge->get_id();
315+
$badge_urls['month'] = \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . $monthly_badge->get_id() . '&branding_id=' . (int) \progress_planner()->get_ui__branding()->get_branding_id();
316316
}
317317

318318
// Get the content and maintenance badge URLs.
@@ -321,12 +321,12 @@ private function get_badge_urls() {
321321
foreach ( $set_badges as $badge ) {
322322
$progress = $badge->get_progress();
323323
if ( $progress['progress'] > 100 ) {
324-
$badge_urls[ $context ] = \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . $badge->get_id();
324+
$badge_urls[ $context ] = \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . $badge->get_id() . '&branding_id=' . (int) \progress_planner()->get_ui__branding()->get_branding_id();
325325
}
326326
}
327327
if ( ! isset( $badge_urls[ $context ] ) ) {
328328
// Fallback to the first badge in the set if no badge is completed.
329-
$badge_urls[ $context ] = \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . $set_badges[0]->get_id();
329+
$badge_urls[ $context ] = \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . $set_badges[0]->get_id() . '&branding_id=' . (int) \progress_planner()->get_ui__branding()->get_branding_id();
330330
}
331331
}
332332

classes/ui/class-branding.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ public function __construct() {
3434
* @return int
3535
*/
3636
public function get_branding_id(): int {
37+
// Check for placeholder demo cookie.
38+
if ( \defined( '\IS_PLAYGROUND_PREVIEW' )
39+
&& \constant( '\IS_PLAYGROUND_PREVIEW' ) === true
40+
&& isset( $_COOKIE['prpl_placeholder_demo'] )
41+
&& '1' === $_COOKIE['prpl_placeholder_demo']
42+
) {
43+
return 5938;
44+
}
45+
3746
// Get branding ID depending on the host, agency etc.
3847
if ( \defined( 'PROGRESS_PLANNER_BRANDING_ID' ) ) {
3948
return \constant( 'PROGRESS_PLANNER_BRANDING_ID' );

classes/utils/class-debug-tools.php

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ public function __construct() {
4747
\add_action( 'init', [ $this, 'check_delete_badges' ] );
4848
\add_action( 'init', [ $this, 'check_toggle_migrations' ] );
4949
\add_action( 'init', [ $this, 'check_delete_single_task' ] );
50+
if ( \defined( '\IS_PLAYGROUND_PREVIEW' ) && \constant( '\IS_PLAYGROUND_PREVIEW' ) === true ) {
51+
\add_action( 'init', [ $this, 'check_toggle_placeholder_demo' ] );
52+
}
5053

5154
// Add filter to modify the maximum number of suggested tasks to display.
5255
\add_filter( 'progress_planner_suggested_tasks_max_items_per_category', [ $this, 'check_show_all_suggested_tasks' ] );
@@ -105,6 +108,8 @@ public function add_toolbar_items( $admin_bar ) {
105108
'href' => \admin_url( 'admin.php?page=progress-planner-color-customizer' ),
106109
]
107110
);
111+
112+
$this->add_placeholder_demo_submenu_item( $admin_bar );
108113
}
109114

110115
/**
@@ -631,6 +636,65 @@ public function check_delete_single_task() {
631636
exit;
632637
}
633638

639+
/**
640+
* Add Placeholder Demo submenu to the debug menu.
641+
*
642+
* @param \WP_Admin_Bar $admin_bar The WordPress admin bar object.
643+
* @return void
644+
*/
645+
protected function add_placeholder_demo_submenu_item( $admin_bar ) {
646+
$demo_enabled = isset( $_COOKIE['prpl_placeholder_demo'] ) && '1' === $_COOKIE['prpl_placeholder_demo'];
647+
$title = $demo_enabled ? '<span style="color: green;">Placeholder Demo Enabled</span>' : '<span style="color: red;">Placeholder Demo Disabled</span>';
648+
$href = \add_query_arg( 'prpl_toggle_placeholder_demo', '1', $this->current_url );
649+
650+
$admin_bar->add_node(
651+
[
652+
'id' => 'prpl-placeholder-demo',
653+
'parent' => 'prpl-debug',
654+
'title' => $title,
655+
'href' => $href,
656+
]
657+
);
658+
}
659+
660+
/**
661+
* Check and process the toggle placeholder demo action.
662+
*
663+
* Toggles the placeholder demo cookie if the appropriate query parameter is set
664+
* and user has required capabilities.
665+
*
666+
* @return void
667+
*/
668+
public function check_toggle_placeholder_demo() {
669+
if (
670+
! isset( $_GET['prpl_toggle_placeholder_demo'] ) || // phpcs:ignore WordPress.Security.NonceVerification.Recommended
671+
$_GET['prpl_toggle_placeholder_demo'] !== '1' || // phpcs:ignore WordPress.Security.NonceVerification.Recommended
672+
! \current_user_can( 'manage_options' )
673+
) {
674+
return;
675+
}
676+
677+
// Verify nonce for security.
678+
$this->verify_nonce();
679+
680+
// Toggle the cookie.
681+
$current_value = isset( $_COOKIE['prpl_placeholder_demo'] ) && '1' === $_COOKIE['prpl_placeholder_demo'];
682+
if ( $current_value ) {
683+
\setcookie( 'prpl_placeholder_demo', '0', \time() - 3600, \COOKIEPATH, \COOKIE_DOMAIN ); // @phpstan-ignore-line constant.notFound
684+
} else {
685+
\setcookie( 'prpl_placeholder_demo', '1', \time() + ( 30 * DAY_IN_SECONDS ), \COOKIEPATH, \COOKIE_DOMAIN ); // @phpstan-ignore-line constant.notFound
686+
}
687+
688+
// Clear cache since branding data is cached.
689+
if ( \function_exists( 'progress_planner' ) ) {
690+
\progress_planner()->get_utils__cache()->delete_all();
691+
}
692+
693+
// Redirect to the same page without the parameter.
694+
\wp_safe_redirect( \remove_query_arg( [ 'prpl_toggle_placeholder_demo', '_wpnonce' ] ) );
695+
exit;
696+
}
697+
634698
/**
635699
* Get color customizer instance.
636700
*

views/page-widgets/monthly-badges.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ class="prpl-previous-month-badge-progress-bar-wrapper"
9090
data-badge-id="<?php echo \esc_attr( $prpl_previous_incomplete_month_badge->get_id() ); ?>"
9191
data-points="<?php echo (int) $prpl_previous_incomplete_month_badge->progress_callback()['points']; ?>"
9292
data-max-points="<?php echo (int) Monthly::TARGET_POINTS; ?>"
93+
data-branding-id="<?php echo (int) \progress_planner()->get_ui__branding()->get_branding_id(); ?>"
9394
></prpl-badge-progress-bar>
9495

9596
<div class="prpl-widget-content-points">

views/popovers/parts/upgrade-tasks.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,12 @@
102102
<span class="prpl-onboarding-tasks-montly-badge">
103103
<span class="prpl-onboarding-tasks-montly-badge-image">
104104
<img
105-
src="<?php echo \esc_url( \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . \esc_attr( $prpl_badge->get_id() ) ); ?>"
105+
src="<?php echo \esc_url( \progress_planner()->get_remote_server_root_url() . '/wp-json/progress-planner-saas/v1/badge-svg/?badge_id=' . \esc_attr( $prpl_badge->get_id() ) . '&branding_id=' . (int) \progress_planner()->get_ui__branding()->get_branding_id() ); ?>"
106106
alt="<?php \esc_attr_e( 'Badge', 'progress-planner' ); ?>"
107107
onerror="this.onerror=null;this.src='<?php echo \esc_url( \progress_planner()->get_placeholder_svg() ); ?>';"
108108
/>
109109
</span>
110-
<?php \esc_html_e( 'These tasks contribute to your monthly badge—every check completed brings you closer!', 'progress-planner' ); ?>
110+
<?php \esc_html_e( 'These tasks contribute to your monthly badge. Every check completed brings you closer!', 'progress-planner' ); ?>
111111
</span>
112112
<span class="prpl-onboarding-tasks-total-points">0pt</span>
113113
</div>

0 commit comments

Comments
 (0)