|
Server : LiteSpeed System : Linux server104.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : saleoqej ( 6848) PHP Version : 8.0.30 Disable Function : NONE Directory : /home/saleoqej/public_html/wp-content/plugins/learndash-notifications/includes/ |
<?php
/**
* Delete LearnDash related user data from scheduled cron
*
* @param int $user_id ID of a user
*/
function learndash_notifications_delete_learndash_user_data_cron() {
$schedules = get_option( 'learndash_notifications_delete_user_data', array() );
foreach ( $schedules as $user_id => $args ) {
delete_user_meta( $user_id, '_ld_notifications_last_login' );
$courses = $args['courses'];
$groups = $args['groups'];
foreach ( $courses as $course_id ) {
delete_user_meta( $user_id, 'ld_sent_notification_enroll_course_' . $course_id );
$lessons = learndash_get_lesson_list( $course_id );
foreach ( $groups as $group_id ) {
delete_user_meta( $user_id, 'ld_sent_notification_enroll_group_course_' . $course_id . '_' . $group_id );
}
foreach ( $lessons as $lesson ) {
delete_user_meta( $user_id, 'ld_sent_notification_lesson_available_' . $lesson->ID );
}
}
unset( $schedules[ $user_id ] );
}
update_option( 'learndash_notifications_delete_user_data', $schedules );
}
/**
* Schedule cron delete user data in DB
*
* @param int $user_id User ID
*/
function learndash_notifications_schedule_delete_user_data( $user_id ) {
$courses = ld_get_mycourses( $user_id );
$groups = learndash_get_groups( $id_only = true, $user_id ) ?: array();
$schedules = get_option( 'learndash_notifications_delete_user_data', array() );
$schedules[ $user_id ] = array(
'courses' => $courses,
'groups' => $groups,
);
update_option( 'learndash_notifications_delete_user_data', $schedules );
}
add_action( 'learndash_delete_user_data', 'learndash_notifications_schedule_delete_user_data' );