/**
 * sensei_update_users_certificate_data install user certificate data
 * @since  1.0.0
 * @param  int $n number of items to iterate through
 * @param  int $offeset number to offset iteration by
 * @return boolean
 */
function sensei_update_users_certificate_data($n = 5, $offset = 0)
{
    $loop_ran = false;
    // Calculate if this is the last page
    if (0 == $offset) {
        $current_page = 1;
    } else {
        $current_page = intval($offset / $n);
    }
    // End If Statement
    $args_array = array('number' => $n, 'offset' => $offset, 'orderby' => 'ID', 'order' => 'DESC', 'fields' => 'all_with_meta');
    $wp_user_update = new WP_User_Query($args_array);
    $users = $wp_user_update->get_results();
    $user_count = count_users();
    $total_items = $user_count['total_users'];
    $query_total = $wp_user_update->get_total();
    $total_pages = intval($total_items / $n);
    foreach ($users as $user_key => $user_item) {
        $course_ids = WooThemes_Sensei_Utils::sensei_activity_ids(array('user_id' => $user_item->ID, 'type' => 'sensei_course_start'));
        $posts_array = array();
        if (0 < intval(count($course_ids))) {
            $posts_array = Sensei()->course->course_query(-1, 'usercourses', $course_ids);
        }
        // End If Statement
        foreach ($posts_array as $course_item) {
            $course_end_date = WooThemes_Sensei_Utils::sensei_get_activity_value(array('post_id' => $course_item->ID, 'user_id' => $user_item->ID, 'type' => 'sensei_course_end', 'field' => 'comment_date'));
            if (isset($course_end_date) && '' != $course_end_date) {
                $args = array('post_type' => 'certificate', 'author' => $user_item->ID, 'meta_key' => 'course_id', 'meta_value' => $course_item->ID);
                $query = new WP_Query($args);
                if (!$query->have_posts()) {
                    // Insert custom post type
                    $cert_args = array('post_author' => intval($user_item->ID), 'post_title' => esc_html(substr(md5($course_item->ID . $user_item->ID), -8)), 'post_name' => esc_html(substr(md5($course_item->ID . $user_item->ID), -8)), 'post_type' => 'certificate', 'post_status' => 'publish');
                    $post_id = wp_insert_post($cert_args, $wp_error = false);
                    if (!is_wp_error($post_id)) {
                        add_post_meta($post_id, 'course_id', intval($course_item->ID));
                        add_post_meta($post_id, 'learner_id', intval($user_item->ID));
                        add_post_meta($post_id, 'certificate_hash', esc_html(substr(md5($course_item->ID . $user_item->ID), -8)));
                        $loop_ran = true;
                    }
                    // End If Statement
                }
                // End If Statement
                wp_reset_query();
            }
            // End If Statement
        }
        // End For Loop
    }
    // End For Loop
    if ($current_page >= $total_pages) {
        return true;
    } else {
        return false;
    }
    // End If Statement
}