Skip to content

Commit

Permalink
= 4.2.0 =
Browse files Browse the repository at this point in the history
~ Modified: show message page Profile.
~ Added: "learn_press_set_message", "learn_press_show_message" functions.
  • Loading branch information
tungnxt89 committed Dec 19, 2022
1 parent 0311ca3 commit ef29edb
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 4 deletions.
11 changes: 10 additions & 1 deletion inc/class-lp-forms-handler.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,20 @@ public static function process_login() {
$redirect = LP_Request::get_redirect( learn_press_get_page_link( 'profile' ) );
}

$message_data = [
'status' => 'success',
'content' => __( 'Login successfully!', 'learnpress' ),
];
learn_press_set_message( $message_data );
wp_redirect( wp_validate_redirect( $redirect, learn_press_get_current_url() ) );
exit();
}
} catch ( Exception $e ) {
learn_press_add_message( $e->getMessage(), 'error' );
$message_data = [
'status' => 'error',
'content' => $e->getMessage(),
];
learn_press_set_message( $message_data );
}
}
}
Expand Down
44 changes: 44 additions & 0 deletions inc/lp-template-functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
* @package LearnPress/Functions
* @version 1.0
*/

use LearnPress\Helpers\Template;

if ( ! defined( 'ABSPATH' ) ) {
exit;
}
Expand Down Expand Up @@ -602,6 +605,44 @@ function learn_press_get_message( $message, $type = 'success' ) {
return $message;
}

/**
* Set LP message to COOKIE.
*
* @param array $message_data
* @since 4.2.0
* @version 1.0.0
* @return void
*/
function learn_press_set_message( array $message_data = [] ) {
if ( ! isset( $message_data ['status'] ) ) {
error_log( 'Message data must have status' );
return;
}
if ( ! isset( $message_data ['content'] ) ) {
error_log( 'Message data must have content' );
return;
}

// Set cookie for lp-message, allow get,set cookie on js.
add_option( 'lp-message', $message_data );
}

/**
* Show message only one time.
* @since 4.2.0
* @version 1.0.0
* @return void
*/
function learn_press_show_message() {
try {
$message_data = get_option( 'lp-message' );
delete_option( 'lp-message' );
Template::instance()->get_frontend_template( 'global/lp-message.php', compact( 'message_data' ) );
} catch ( Throwable $e ) {
error_log( $e->getMessage() );
}
}

/**
* Remove message added into queue by id and/or type.
*
Expand Down Expand Up @@ -683,8 +724,11 @@ function learn_press_session_message_id() {

/**
* Displays messages before main content
*
* @deprecated 4.2.0
*/
function _learn_press_print_messages() {
_deprecated_function( __FUNCTION__, '4.2.0' );
$item = LP_Global::course_item();
if ( ( 'learn_press_before_main_content' == current_action() ) && $item ) {
return;
Expand Down
8 changes: 6 additions & 2 deletions inc/shortcodes/class-lp-shortcode-profile.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
* @extends LP_Abstract_Shortcode
*/

use LearnPress\Helpers\Template;

defined( 'ABSPATH' ) || exit();

if ( ! class_exists( 'LP_Shortcode_Profile' ) ) {
Expand Down Expand Up @@ -77,8 +79,10 @@ public function output() {
learn_press_get_template( 'global/message.php', array( 'messages' => $messages ) );
echo '</div>';
} else {
learn_press_print_messages();
learn_press_get_template( 'pages/profile.php', array( 'profile' => $profile ) );
//learn_press_print_messages();
learn_press_show_message();
//learn_press_get_template( 'pages/profile.php', array( 'profile' => $profile ) );
Template::instance()->get_frontend_template( 'pages/profile.php', array( 'profile' => $profile ) );
}

$output = ob_get_clean();
Expand Down
2 changes: 1 addition & 1 deletion learnpress.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Plugin URI: http://thimpress.com/learnpress
* Description: LearnPress is a WordPress complete solution for creating a Learning Management System (LMS). It can help you to create courses, lessons and quizzes.
* Author: ThimPress
* Version: 4.2.0-beta-9
* Version: 4.2.0-beta-11
* Author URI: http://thimpress.com
* Requires at least: 5.8
* Tested up to: 6.1.1
Expand Down
24 changes: 24 additions & 0 deletions templates/global/lp-message.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php
/**
* Template for displaying global message.
*
* This template can be overridden by copying it to yourtheme/learnpress/global/lp-message.php.
*
* @author ThimPress
* @package Learnpress/Templates
* @version 1.0.0
* @since 4.2.0
*/

defined( 'ABSPATH' ) || exit();

if ( ! isset( $message_data ) || ! isset( $message_data['content'] ) || ! isset( $message_data['status'] ) ) {
return;
}

$classes = array( 'learn-press-message', $message_data['status'] );
?>
<div
class="<?php echo esc_attr( join( ' ', $classes ) ); ?>">
<i class="fa"></i><?php echo wp_kses_post( $message_data['content'] ); ?>
</div>

0 comments on commit ef29edb

Please sign in to comment.