Skip to content

Commit

Permalink
= 4.2.2,4 =
Browse files Browse the repository at this point in the history
~ Handle: dismiss notices.
  • Loading branch information
tungnxt89 committed Mar 29, 2023
1 parent f09148b commit 998f69d
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 37 deletions.
12 changes: 8 additions & 4 deletions assets/src/apps/js/admin/admin-notices.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ const callAdminNotices = ( set = '' ) => {
return;
}

const params = tab ? `?tab=${ tab }` : `?${ set }`;
let params = tab ? `?tab=${ tab }` : '';
params += set ? ( tab ? '&' : '?' ) + `${ set }` : '';

fetch( adminAPI.apiAdminNotice + params, {
method: 'GET',
headers: {
Expand All @@ -62,10 +64,12 @@ const callAdminNotices = ( set = '' ) => {

const { status, message, data } = res;
if ( status === 'success' ) {
dataHtml = data.content;
if ( 'Dismissed!' !== message ) {
dataHtml = data.content;

if ( dataHtml.length === 0 && elLPAdminNotices ) {
elLPAdminNotices.style.display = 'none';
if ( dataHtml.length === 0 && elLPAdminNotices ) {
elLPAdminNotices.style.display = 'none';
}
}
} else {
dataHtml = message;
Expand Down
37 changes: 22 additions & 15 deletions inc/admin/views/admin-notices/addons-new-version.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,29 @@
if ( ! isset( $data ) || empty( $data['addons'] ) ) {
return;
}
?>
<div id="notice-install" class="lp-notice notice notice-info">
<?php
Template::instance()->get_admin_template( 'admin-notices/button-dismiss.php', array( 'key' => 'lp-addons-new-version' ) );

if ( empty( $data['dismiss'] ) ) {
?>
<p><?php echo sprintf( '<strong>%s</strong>', __( 'New version Addons.', 'learnpress' ) ); ?></p>
<p style="display: flex;gap: 5px">
<div id="notice-install" class="lp-notice notice notice-info">
<?php
foreach ( $data['addons'] as $addon ) {
echo sprintf(
'<a href="%s" class="button button-primary">%s</a>',
admin_url( 'admin.php?page=learn-press-addons&tab=update' ),
$addon->name
);
if ( isset( $data['allow_dismiss'] ) ) {
Template::instance()->get_admin_template( 'admin-notices/button-dismiss.php', array( 'key' => 'lp-addons-new-version' ) );
}
?>
</p>
<input type="hidden" name="lp-addons-new-version-totals" value="<?php echo count( $data['addons'] ); ?>" />
</div>
<p><?php echo sprintf( '<strong>%s</strong>', __( 'New version Addons.', 'learnpress' ) ); ?></p>
<p style="display: flex;gap: 5px">
<?php
foreach ( $data['addons'] as $addon ) {
echo sprintf(
'<a href="%s" class="button button-primary">%s</a>',
admin_url( 'admin.php?page=learn-press-addons&tab=update' ),
$addon->name
);
}
?>
</p>
</div>
<?php
}
?>
<input type="hidden" name="lp-addons-new-version-totals" value="<?php echo count( $data['addons'] ); ?>"/>
2 changes: 1 addition & 1 deletion inc/admin/views/admin-notices/beta-version.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<h3><?php echo wp_kses_post( $data_info['title'] ?? '' ); ?></h3>
<?php echo wp_kses_post( $data_info['description'] ?? '' ); ?>
<?php
if ( isset( $data['dismiss'] ) ) {
if ( isset( $data['allow_dismiss'] ) ) {
Template::instance()->get_admin_template( 'admin-notices/button-dismiss.php', array( 'key' => 'lp-beta-version' ) );
}
?>
Expand Down
2 changes: 1 addition & 1 deletion inc/admin/views/admin-notices/setup-wizard.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<p>
<a class="button button-primary" href="<?php echo admin_url( 'index.php?page=lp-setup' ); ?>"><?php _e( 'Quick Setup', 'learnpress' ); ?></a>
<?php
if ( isset( $data['dismiss'] ) ) :
if ( isset( $data['allow_dismiss'] ) ) :
?>
<button type="button" class="notice-dismiss btn-lp-notice-dismiss" data-dismiss="lp-setup-wizard">
<span class="screen-reader-text">Dismiss this notice.</span>
Expand Down
6 changes: 5 additions & 1 deletion inc/admin/views/admin-notices/upgrade-db.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
<?php _e( '<strong>LearnPress update</strong> – We need to update your database to the latest version.', 'learnpress' ); ?>
</p>
<p>
<a class="button button-primary lp-btn-go-upgrade-db" data-context="message" href="<?php echo esc_url_raw( admin_url( 'admin.php?page=learn-press-tools&tab=database&action=upgrade-db' ) ); ?>"><?php esc_html_e( 'Go to Update', 'learnpress' ); ?></a>
<a class="button button-primary lp-btn-go-upgrade-db"
data-context="message"
href="<?php echo esc_url_raw( admin_url( 'admin.php?page=learn-press-tools&tab=database&action=upgrade-db' ) ); ?>">
<?php esc_html_e( 'Go to Update', 'learnpress' ); ?>
</a>
</p>
</div>
33 changes: 18 additions & 15 deletions inc/rest-api/v1/admin/class-lp-admin-rest-tools-controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -204,18 +204,18 @@ public function admin_notices( WP_REST_Request $request ) {
$content = '';

try {
$params = $request->get_params();
$admin_notices = ! empty( $_COOKIE['lp_admin_notices_dismiss'] ) ? json_decode( wp_unslash( $_COOKIE['lp_admin_notices_dismiss'] ), true ) : [];
$lp_beta_version_info = LP_Admin_Notice::check_lp_beta_version();
$params = $request->get_params();
$admin_notices_dismiss = get_option( 'lp_admin_notices_dismiss', [] );
$lp_beta_version_info = LP_Admin_Notice::check_lp_beta_version();

if ( isset( $params['dismiss'] ) ) {
if ( $lp_beta_version_info ) {
// Store version of LP beta to session.
learn_press_setcookie( 'lp_beta_version', $lp_beta_version_info['version'] ?? 0 );
}

$admin_notices[ $params['dismiss'] ] = $params['dismiss'];
learn_press_setcookie( 'lp_admin_notices_dismiss', json_encode( $admin_notices ) );
$admin_notices_dismiss[ $params['dismiss'] ] = $params['dismiss'];
update_option( 'lp_admin_notices_dismiss', $admin_notices_dismiss );
$response->message = __( 'Dismissed!', 'learnpress' );
} else {
$show_notice_lp_beta_version = false;
Expand All @@ -242,10 +242,10 @@ public function admin_notices( WP_REST_Request $request ) {
],
// Show beta version of LP.
'lp-beta-version' => [
'template' => 'admin-notices/beta-version.php',
'check' => $show_notice_lp_beta_version,
'info' => $lp_beta_version_info,
'dismiss' => 1,
'template' => 'admin-notices/beta-version.php',
'check' => $show_notice_lp_beta_version,
'info' => $lp_beta_version_info,
'allow_dismiss' => 1,
],
// Show message needs upgrades database compatible with LP version current.
'lp-upgrade-db' => [
Expand All @@ -259,15 +259,18 @@ public function admin_notices( WP_REST_Request $request ) {
],
// Show notice setup wizard.
'lp-setup-wizard' => [
'template' => 'admin-notices/setup-wizard.php',
'check' => ! get_option( 'learn_press_setup_wizard_completed', false ) && ! isset( $admin_notices['lp-setup-wizard'] ),
'dismiss' => 1,
'template' => 'admin-notices/setup-wizard.php',
'check' => ! get_option( 'learn_press_setup_wizard_completed', false )
&& ! isset( $admin_notices['lp-setup-wizard'] )
&& ! isset( $admin_notices_dismiss['lp-setup-wizard'] ),
'allow_dismiss' => 1,
],
// Show notification addons new version.
'lp-addons-new-version' => [
'template' => 'admin-notices/addons-new-version.php',
'addons' => LP_Manager_Addons::instance()->list_addon_new_version(),
'dismiss' => 1,
'template' => 'admin-notices/addons-new-version.php',
'addons' => LP_Manager_Addons::instance()->list_addon_new_version(),
'allow_dismiss' => 1,
'dismiss' => isset( $admin_notices_dismiss['lp-addons-new-version'] ),
],
]
);
Expand Down

0 comments on commit 998f69d

Please sign in to comment.