function savedquest_options()
{
    if (!current_user_can('manage_options')) {
        wp_die(__('You do not have sufficient permissions to access this page.'));
    }
    echo '<div class="wrap" style="background:#fff;">';
    if (isset($_GET['tab'])) {
        $tab = $_GET['tab'];
    } else {
        $tab = "";
    }
    saved_admin_tab($tab);
    if ($tab == "quiztaken" or $tab == "") {
        ?>

		<table  class="wp-list-table widefat fixed striped pages" width="100%" style="border-spacing: 0; text-align:center;" >
			<tr>
				<th>Lesson ID</th>
				<th>Lesson Title</th>
				<th>Number Of Questions</th>
				<th>Question Answered</th>
				<th>Unanswered Question</th>
				<th>User</th>
				<th>User Id</th>
				<th>DATE And Time</th>
			</tr>
			<?php 
        $svequiz = get_option('savequiz_list');
        ?>

			<?php 
        foreach ($svequiz as $quizdata) {
            ?>

			<tr>
				<td><?php 
            echo $quizdata['lesson_id'];
            ?>
</td> 	
				<td><?php 
            echo $quizdata['lesson_title'];
            ?>
</td> 
				<td><?php 
            echo $quizdata['total_questtion'];
            ?>
</td> 
				<td><?php 
            echo $quizdata['question_answered'];
            ?>
(<?php 
            echo get_percentage($quizdata['total_questtion'], $quizdata['question_answered']) . "%";
            ?>
)</td> 
				<td><?php 
            echo $quizdata['remaining_question'];
            ?>
(<?php 
            echo 100 - get_percentage($quizdata['total_questtion'], $quizdata['question_answered']) . "%";
            ?>
)</td> 
				<td><?php 
            echo $quizdata['fullname'];
            ?>
</td>		
				<td><?php 
            echo $quizdata['user_id'];
            ?>
 </td>				
				<td><?php 
            echo $quizdata['DATETIME'];
            ?>
</td> 				
			</tr>
			<?php 
        }
        ?>

		</table>
		
	<?php 
    } elseif ($tab == "timesession") {
        $user_last_login_logout = get_option('user_last_login_logout');
        ?>

	<br /><br/>
		<table  class="wp-list-table widefat fixed striped pages" width="100%" style="border-spacing: 0; text-align:center;" >
			<tr>
				<th>User ID</th>
				<th>Full Name</th>
				<th>Last Login</th>
				<th>Last Logout</th>
				<th>Amout of Time Spent</th>
				<th>Role</th>

			</tr>
			<?php 
        $svequiz = get_option('savequiz_list');
        ?>

			<?php 
        foreach ($user_last_login_logout as $last_login_logout) {
            ?>

			<?php 
            if ($last_login_logout['user_id'] != "") {
                ?>

			<?php 
                $user_info = get_userdata($last_login_logout['user_id']);
                ?>

			<tr>
				<td><?php 
                echo $last_login_logout['user_id'];
                ?>
</td> 
				<td><?php 
                echo $user_info->display_name;
                ?>
</td> 					
				<td><?php 
                echo gettime_st($last_login_logout['logintime']);
                ?>
</td> 
				<td><?php 
                echo gettime_st($last_login_logout['logouttime']);
                ?>
</td> 
				<?php 
                if ($last_login_logout['logouttime'] != "") {
                    $date1 = date_create($last_login_logout['logintime']);
                    $date2 = date_create($last_login_logout['logouttime']);
                    $diff = date_diff($date1, $date2);
                    $diftime = $diff->format("%h Hours %i Minute %s Seconds");
                } else {
                    $diftime = "";
                }
                ?>

				
				<th><?php 
                echo $diftime;
                ?>
</th>
				<td><?php 
                echo implode(', ', $user_info->roles);
                ?>
</td>
		
			</tr>
			<?php 
            }
            ?>

			<?php 
        }
        ?>

		</table><br /><br />


	<?php 
    } elseif ($tab == "timequizecompleted") {
        global $woothemes_sensei, $post, $current_user, $wp_query, $learner_user;
        echo "<table class='wp-list-table widefat fixed striped pages'>";
        $allUsers = get_users();
        echo "<tr>\r\r\n\t\t\t\t<th>User</th>\r\r\n\t\t\t\t<th>Courses</th>\r\r\n\t\t\t\t<th>Percentage Incomplete</th>\r\r\n\t\t\t\t<th>Percentage Complete</th>\r\r\n\t\t\t\t<th>Percentage Competent</th>\r\r\n\t\t\t\t<th>Percentage Attempted</th>\r\r\n\t\t\t\t<th>Length of time Course Completed</th>\r\r\n\t\t\t  </tr>";
        foreach ($allUsers as $user) {
            $args = array('post_type' => 'course');
            $courses = get_posts($args);
            $i = 1;
            foreach ($courses as $course) {
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($course->ID, $user->ID);
                $course_status = WooThemes_Sensei_Utils::user_course_status($course->ID, $user->ID);
                $course_status_update = get_comment_meta($course_status->comment_ID);
                if (!empty($course_status)) {
                    $displayed_lessons = array();
                    $modules = Sensei()->modules->get_course_modules(intval($course->ID));
                    foreach ($modules as $module) {
                        $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($course->ID), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . $module->term_id, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'suppress_filters' => 0);
                        $lessons = get_posts($args);
                        if (count($lessons) > 0) {
                            $html .= '<h3>' . $module->name . '</h3>' . "\n";
                            $count = 0;
                            foreach ($lessons as $lesson_item) {
                                $lesson_grade = ' n/a';
                                $has_questions = get_post_meta($lesson_item->ID, '_quiz_has_questions', true);
                                if ($has_questions) {
                                    $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $user->ID);
                                    // Get user quiz grade
                                    $lesson_grade = get_comment_meta($lesson_status->comment_ID, 'grade', true);
                                    if ($lesson_grade) {
                                        $lesson_grade .= '%';
                                    }
                                    $modulequizdata = get_comment_meta($lesson_status->comment_ID);
                                    //echo "<a href='".get_post_permalink($lesson_item->ID)."'>".$lesson_item->post_title."</a><br />";
                                    $modulequestion_asked = count(explode(",", $modulequizdata['questions_asked'][0]));
                                    $moduleanswered_quiz = count(unserialize($modulequizdata['quiz_answers'][0]));
                                    //echo "number of questions:".$modulequestion_asked."<br />";
                                    //echo "number of Answered:".$moduleanswered_quiz."<br />";
                                    if ($course_status->comment_approved == "complete") {
                                        $attempted = "(100%)";
                                    } else {
                                        if ($modulequizdata['grade'][0] == "") {
                                            if ($lesson_status->comment_approved == "passed") {
                                                $attempted = 'P/Q';
                                            } else {
                                                if ($modulequestion_asked >= $moduleanswered_quiz) {
                                                    if ($modulequizdata['quiz_answers'][0] == "") {
                                                        $attempted = "";
                                                    } else {
                                                        $attempted = "( " . get_percentage($modulequestion_asked, $moduleanswered_quiz) . "% ) Saved";
                                                    }
                                                }
                                            }
                                        } else {
                                            $attempted = "( " . get_percentage($modulequestion_asked, $moduleanswered_quiz) . "% )";
                                        }
                                        //echo "<pre>";
                                        //echo "Attempted:".$attempted."<br />";
                                        //echo $user->user_email."<br />";
                                        //echo $modulequizdata['grade'][0]."<br />";
                                        //echo $modulequizdata['quiz_answers'][0]."<br />";
                                        //print_r($lesson_status);
                                        //echo "</pre>";
                                    }
                                }
                                $html .= '<a href="' . esc_url(get_permalink($lesson_item->ID)) . '" title="' . esc_attr(sprintf(__('Start %s', 'woothemes-sensei'), $lesson_item->post_title)) . '">' . esc_html(sprintf(__('%s', 'woothemes-sensei'), $lesson_item->post_title)) . '</a> ' . $attempted . '<br />';
                                $displayed_lessons[] = $lesson_item->ID;
                            }
                        }
                    }
                    $args = array('post_type' => 'lesson', 'posts_per_page' => -1, 'suppress_filters' => 0, 'meta_key' => '_order_' . $course->ID, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($course->ID))), 'post__not_in' => $displayed_lessons);
                    $lessons = get_posts($args);
                    //echo "Number of lesson in a course: ".count($lessons);
                    if (0 < count($lessons)) {
                        $html .= '<h3>' . __('Other Lessons', 'woothemes-sensei') . '</h3>' . "\n";
                    }
                    if ($course_status_update['percent'][0] == 100) {
                        $date1 = date_create($course_status_update['start'][0]);
                        $date2 = date_create($course_status->comment_date);
                        $diff = date_diff($date1, $date2);
                        $diftime = $diff->format("%h Hours %i Minute %s Seconds");
                    } else {
                        $diftime = "course not completed yet.";
                    }
                    $allcourseid[] = $course->ID;
                    $incomplete = 100 - $course_status_update['percent'][0];
                    echo "<tr><td>";
                    echo $user->user_email;
                    echo "</td>";
                    echo "<td>";
                    echo "<a href='" . get_post_permalink($course->ID) . "'>" . $course->post_title . "</a>";
                    echo "</td>";
                    echo "<td>";
                    echo $incomplete . "%";
                    echo "</td>";
                    echo "<td>";
                    echo $course_status_update['percent'][0] . "%";
                    echo "</td>";
                    echo "<td>";
                    echo $course_user_grade . "%";
                    echo "</td>";
                    echo "<td>";
                    echo $html;
                    $html = "";
                    foreach ($lessons as $lesson_item) {
                        $lesson_grade = 'n/a';
                        $has_questions = get_post_meta($lesson_item->ID, '_quiz_has_questions', true);
                        if ($has_questions) {
                            $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $user->ID);
                            // Get user quiz grade
                            $lesson_grade = get_comment_meta($lesson_status->comment_ID, 'grade', true);
                            if ($lesson_grade) {
                                $lesson_grade .= '%';
                            }
                        }
                        $quizdata = get_comment_meta($lesson_status->comment_ID);
                        //echo "<h1>Comment</h1>";
                        //print_r(get_comment_meta( $lesson_status->comment_ID ));
                        //echo "<h1>LESSON STATUS</h1>";
                        //print_r($lesson_status);
                        echo "<a href='" . get_post_permalink($lesson_item->ID) . "'>" . $lesson_item->post_title . "</a> ";
                        //print_r($quizdata);
                        $question_asked = count(explode(",", $quizdata['questions_asked'][0]));
                        $answered_quiz = count(unserialize($quizdata['quiz_answers'][0]));
                        if ($quizdata['grade'][0] == "") {
                            if ($question_asked > $answered_quiz) {
                                echo "( " . get_percentage($question_asked, $answered_quiz) . "% )";
                            }
                        } else {
                            echo "(100%)";
                        }
                        echo '<br />';
                    }
                    // End For Loop
                    echo "</td>";
                    echo "<td>";
                    echo $diftime;
                    echo "</td>";
                    echo "</tr>";
                    //echo $course->post_title." (".$course_status_update['percent'][0]."% Complete) (". $incomplete . "% incomplete) (". $course_user_grade . "% Competent)<br />";
                    $i++;
                }
            }
        }
        echo "</table>";
    } elseif ($tab == "threshold") {
        //declare the wpdb for custom query
        global $wpdb;
        //check for submitted data
        if (isset($_POST['submittreshold']) && ($_POST['submittreshold'] = "submit")) {
            // declare users and variables
            $allUsers = get_users();
            $modules_completed = $_POST['completionpermonth'];
            $courseid = $_POST['course'];
            $course_name = get_the_title($courseid);
            $array_to_csv = array(array('Student Name', 'Course Name '));
            //user loop ----- loop user get the groups and course the course they take
            foreach ($allUsers as $user) {
                //declare course function calls
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($courseid, $user->ID);
                $user_course_status = WooThemes_Sensei_Utils::user_course_status($courseid, $user->ID);
                $course_status_info = get_comment_meta($user_course_status->comment_ID);
                $started_course = WooThemes_Sensei_Utils::user_started_course($courseid, $user->ID);
                $course_status = WooThemes_Sensei_Utils::sensei_user_course_status_message($courseid, $user->ID);
                $completed_course = WooThemes_Sensei_Utils::user_completed_course($user_course_status);
                //get the user groups
                $useringroup = new Groups_User($user->ID);
                $user_groups = $useringroup->__get('groups');
                $displayed_lessons = array();
                //declare and get module values
                $modules = Sensei()->modules->get_course_modules(intval($courseid));
                $modules_content = Sensei()->modules->course_module_content(intval($courseid));
                //echo "<pre>";
                //echo $user->user_email."<br />";
                //echo "sensei_user_course_status_message: ";
                //print_r($course_status);
                //echo "<br />";
                //echo "started_course: "."<br />";
                $course_status_info['start'][0];
                $datenow = date('Y-m-d h:i:s');
                $date1 = date_create($course_status_info['start'][0]);
                $date2 = date_create($datenow);
                $diff = date_diff($date1, $date2);
                $diftime = $diff->format("%m");
                if ($diftime < 1) {
                    $diftime = 1;
                }
                //echo "</pre>";
                //module loop per user
                foreach ($modules as $module) {
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($courseid), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . $module->term_id, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'suppress_filters' => 0);
                    $lessons = get_posts($args);
                    $num_of_lesson = count($lessons);
                    //lessson loop per user
                    foreach ($lessons as $lesson_item) {
                        $is_lesson_completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson_item->ID, $user->ID);
                        if ($is_lesson_completed == 1) {
                            $lesson_completed[] = $is_lesson_completed;
                        }
                    }
                    //echo "lesson completed:". count($lesson_completed)."<br />";
                    if (count($lesson_completed) > 0) {
                        if ($num_of_lesson == count($lesson_completed)) {
                            $completed_modules_per_user[] = 1;
                            $total_module_passed[] = 1;
                            //echo "---Module completed <br />";
                        } else {
                            //echo "---Module not completed <br />";
                        }
                    } else {
                        //echo "---Module not completed <br />";
                    }
                    unset($lesson_completed);
                    unset($completed_modules_per_user);
                }
                $overaalltotal_module_passed = count($total_module_passed);
                //echo $overaalltotal_module_passed . " module being passed";
                //loop throughout the user group under a user
                if (is_array($user_groups)) {
                    foreach ($user_groups as $user_group) {
                        if ($user_group->group_id == $_POST['group']) {
                            if (!empty($user_course_status)) {
                                $modules_completed_from_groups = $user_group->description;
                                if ($modules_completed == "") {
                                    $modules_completed = $modules_completed_from_groups;
                                }
                                $num_of_module_x_difftime = $modules_completed * $diftime;
                                //echo "<br />num_of_module_x_difftime:".$num_of_module_x_difftime;
                                if ($overaalltotal_module_passed >= $num_of_module_x_difftime) {
                                    $array_to_csv[] = array($user->display_name, $course_name);
                                    //$userid_within_group[$user->user_email] = $user->ID;
                                }
                            }
                        }
                        //echo $user_group->group_id."<br />";
                    }
                }
                unset($total_module_passed);
            }
            //echo "<pre>";
            //echo $modules_completed;
            //print_r($array_to_csv);
            //echo "</pre>";
            convert_to_csv($array_to_csv, 'report-' . md5(date('Y-m-d h:i:s')) . '.csv', ',');
        }
        ?>
		<div class="form-wrap" style="padding:20px;">
			<form action="" method="post">
				
				<div>
					<label>
						Group:
					</label>
						<?php 
        $groups = $wpdb->get_results('SELECT * FROM `wp_groups_group`');
        ?>
					
					<select name="group">
						<?php 
        foreach ($groups as $group) {
            echo "<option value='" . $group->group_id . "'>";
            echo $group->name;
            echo "</option>";
        }
        ?>

					</select>				
				</div>
				<div>
					<label>
						Course:
					</label>
					
					<?php 
        $course = new WP_Query(array('post_type' => 'course'));
        ?>

					
					<select name="course">
						<?php 
        // The Loop
        if ($course->have_posts()) {
            while ($course->have_posts()) {
                $course->the_post();
                echo '<option value="' . $course->post->ID . '">' . get_the_title() . '</option>';
            }
        }
        /* Restore original Post Data */
        ?>
																
					</select>
					<?php 
        wp_reset_postdata();
        ?>

				</div>
				<div>				
					<label>
						How many modules should be completed by now?
					</label>	
					<input type="text" name="completionpermonth" />
				</div><br /><br />			
				<input type="submit" class="button button-primary" name="submittreshold" value="submit" />										
			</form>
		</div>	
		
		
<?php 
    } elseif ($tab == "incremental-progress") {
        wp_enqueue_script('jquery-ui-datepicker');
        wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
        //declare the wpdb for custom query
        global $wpdb;
        //check for submitted data
        if (isset($_POST['submitincrenmental']) && ($_POST['submitincrenmental'] = "submit")) {
            // declare users and variables
            $allUsers = get_users();
            $modules_completed = $_POST['completionpermonth'];
            $courseid = $_POST['course'];
            $course_name = get_the_title($courseid);
            $array_to_csv = array(array('Student Name', 'Course Name ', 'Lesson Title'));
            //user loop ----- loop user get the groups and course the course they take
            foreach ($allUsers as $user) {
                //declare course function calls
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($courseid, $user->ID);
                $user_course_status = WooThemes_Sensei_Utils::user_course_status($courseid, $user->ID);
                $course_status_info = get_comment_meta($user_course_status->comment_ID);
                $started_course = WooThemes_Sensei_Utils::user_started_course($courseid, $user->ID);
                $course_status = WooThemes_Sensei_Utils::sensei_user_course_status_message($courseid, $user->ID);
                $completed_course = WooThemes_Sensei_Utils::user_completed_course($user_course_status);
                //get the user groups
                $useringroup = new Groups_User($user->ID);
                $user_groups = $useringroup->__get('groups');
                $displayed_lessons = array();
                //declare and get module values
                $modules = Sensei()->modules->get_course_modules(intval($courseid));
                $modules_content = Sensei()->modules->course_module_content(intval($courseid));
                $course_status_info['start'][0];
                $datenow = date('Y-m-d h:i:s');
                $date1 = date_create($course_status_info['start'][0]);
                $date2 = date_create($datenow);
                $diff = date_diff($date1, $date2);
                $diftime = $diff->format("%m");
                if ($diftime < 1) {
                    $diftime = 1;
                }
                //echo "</pre>";
                //module loop per user
                foreach ($modules as $module) {
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($courseid), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . $module->term_id, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'suppress_filters' => 0);
                    $lessons = get_posts($args);
                    $num_of_lesson = count($lessons);
                    //lessson loop per user
                    foreach ($lessons as $lesson_item) {
                        $is_lesson_completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson_item->ID, $user->ID);
                        $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $user->ID);
                        $modulequizdata = get_comment_meta($lesson_status->comment_ID);
                        if (!empty($lesson_status->comment_date)) {
                            echo "<pre>";
                            //echo $lesson_status->comment_date."<br />";
                            //echo $_POST['date1']."<br />";
                            $lesson_completion_date = date("Y-m-d", strtotime($lesson_status->comment_date));
                            //echo "<br />";
                            //echo $_POST['date2']."<br />";
                            //echo "lesson is completed:".$is_lesson_completed."<br />";
                            //print_r($lesson_item);
                            echo "</pre>";
                        }
                        if ($is_lesson_completed == 1) {
                            $date1 = strtotime($_POST['date1']);
                            $date2 = strtotime($_POST['date2']);
                            $lesson_completion_date_str = strtotime($lesson_completion_date);
                            if ($lesson_completion_date_str > $date1 && $lesson_completion_date_str < $date2) {
                                //echo "lesson is completed:".$is_lesson_completed."<br />";
                                //echo "user ".$user->display_name." pass this". $lesson_completion_date;
                                $user_id_onrange[$user->ID] = $lesson_item->post_title;
                            }
                        }
                    }
                    //echo "lesson completed:". count($lesson_completed)."<br />";
                }
                //loop throughout the user group under a user
                if (is_array($user_groups)) {
                    foreach ($user_groups as $user_group) {
                        if ($user_group->group_id == $_POST['group']) {
                            if (!empty($user_course_status)) {
                                if (array_key_exists($user->ID, $user_id_onrange)) {
                                    $array_to_csv[] = array($user->display_name, $course_name, $user_id_onrange[$user->ID]);
                                }
                            }
                        }
                        //echo $user_group->group_id."<br />";
                    }
                }
            }
            //print_r($user_id_onrange);
            //echo "<pre>";
            //echo $modules_completed;
            //print_r($array_to_csv);
            //echo "</pre>";
            convert_to_csv($array_to_csv, 'report-incremental-progress' . md5(date('Y-m-d h:i:s')) . '.csv', $headers);
        }
        ?>
		<div class="form-wrap" style="padding:20px;">
			<form action="" method="post">
				
				<div>
					<label>
						Group:
					</label>
						<?php 
        $groups = $wpdb->get_results('SELECT * FROM `wp_groups_group`');
        ?>
					
					<select name="group">
						<?php 
        foreach ($groups as $group) {
            echo "<option value='" . $group->group_id . "'>";
            echo $group->name;
            echo "</option>";
        }
        ?>

					</select>				
				</div><br />
				<div>
					<label>
						Course:
					</label>
					
					<?php 
        $course = new WP_Query(array('post_type' => 'course'));
        ?>

					
					<select name="course">
						<?php 
        // The Loop
        if ($course->have_posts()) {
            while ($course->have_posts()) {
                $course->the_post();
                echo '<option value="' . $course->post->ID . '">' . get_the_title() . '</option>';
            }
        }
        /* Restore original Post Data */
        ?>
																
					</select>
					<?php 
        wp_reset_postdata();
        ?>

				</div><br />
				<div>				
					<label>
						Date:
					</label>	
					From<input type="text" id="date1" name="date1" /> to <input type="text" id="date2" name="date2" />
				</div><br /><br />			
				<input type="submit" class="button button-primary" name="submitincrenmental" value="submit" />										
			</form>
		</div>	
		<script>
			jQuery(document).ready(function() {
				jQuery('#date1').datepicker({
					dateFormat : 'yy-mm-dd'
				});
				jQuery('#date2').datepicker({
					dateFormat : 'yy-mm-dd'
				});				
				
				
			});
		</script>
		
<?php 
    } elseif ($tab == "total-progress") {
        //declare the wpdb for custom query
        global $wpdb;
        //check for submitted data
        if (isset($_POST['submittotalprogress']) && ($_POST['submittotalprogress'] = "submit")) {
            // declare users and variables
            $allUsers = get_users();
            $modules_completed = $_POST['completionpermonth'];
            $courseid = $_POST['course'];
            $course_name = get_the_title($courseid);
            $array_to_csv = array(array('Student Name', 'Course Name', 'Lesson Title'));
            //user loop ----- loop user get the groups and course the course they take
            foreach ($allUsers as $user) {
                //declare course function calls
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($courseid, $user->ID);
                $user_course_status = WooThemes_Sensei_Utils::user_course_status($courseid, $user->ID);
                $course_status_info = get_comment_meta($user_course_status->comment_ID);
                $started_course = WooThemes_Sensei_Utils::user_started_course($courseid, $user->ID);
                $course_status = WooThemes_Sensei_Utils::sensei_user_course_status_message($courseid, $user->ID);
                $completed_course = WooThemes_Sensei_Utils::user_completed_course($user_course_status);
                //get the user groups
                $useringroup = new Groups_User($user->ID);
                $user_groups = $useringroup->__get('groups');
                $displayed_lessons = array();
                //declare and get module values
                $modules = Sensei()->modules->get_course_modules(intval($courseid));
                $modules_content = Sensei()->modules->course_module_content(intval($courseid));
                //echo "<pre>";
                //echo $user->user_email."<br />";
                //echo "sensei_user_course_status_message: ";
                //print_r($course_status);
                //echo "<br />";
                //echo "started_course: "."<br />";
                $course_status_info['start'][0];
                $datenow = date('Y-m-d h:i:s');
                $date1 = date_create($course_status_info['start'][0]);
                $date2 = date_create($datenow);
                $diff = date_diff($date1, $date2);
                $diftime = $diff->format("%m");
                if ($diftime < 1) {
                    $diftime = 1;
                }
                //echo "</pre>";
                //module loop per user
                foreach ($modules as $module) {
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($courseid), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . $module->term_id, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'suppress_filters' => 0);
                    $lessons = get_posts($args);
                    $num_of_lesson = count($lessons);
                    //lessson loop per user
                    foreach ($lessons as $lesson_item) {
                        $is_lesson_completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson_item->ID, $user->ID);
                        if ($is_lesson_completed == 1) {
                            $lesson_taken[$user->ID][] = $lesson_item->post_title;
                        }
                    }
                }
                $overaalltotal_module_passed = count($total_module_passed);
                //echo $overaalltotal_module_passed . " module being passed";
                //loop throughout the user group under a user
                if (is_array($user_groups)) {
                    foreach ($user_groups as $user_group) {
                        if ($user_group->group_id == $_POST['group']) {
                            if (!empty($user_course_status)) {
                                $array_to_csv[] = array($user->display_name, $course_name, join("|", $lesson_taken[$user->ID]));
                                //$userid_within_group[$user->user_email] = $user->ID;
                            }
                        }
                        //echo $user_group->group_id."<br />";
                    }
                }
                //echo "<pre>";
                //print_r($lesson_taken);
                //echo "<pre>";
                unset($total_module_passed);
                unset($lesson_taken);
            }
            //echo "<pre>";
            //echo $modules_completed;
            //print_r($array_to_csv);
            //echo "</pre>";
            convert_to_csv($array_to_csv, 'report-total-progress' . md5(date('Y-m-d h:i:s')) . '.csv', ',');
        }
        ?>
		<div class="form-wrap" style="padding:20px;">
			<form action="" method="post">
				
				<div>
					<label>
						Group:
					</label>
						<?php 
        $groups = $wpdb->get_results('SELECT * FROM `wp_groups_group`');
        ?>
					
					<select name="group">
						<?php 
        foreach ($groups as $group) {
            echo "<option value='" . $group->group_id . "'>";
            echo $group->name;
            echo "</option>";
        }
        ?>

					</select>				
				</div>
				<div>
					<label>
						Course:
					</label>
					
					<?php 
        $course = new WP_Query(array('post_type' => 'course'));
        ?>

					
					<select name="course">
						<?php 
        // The Loop
        if ($course->have_posts()) {
            while ($course->have_posts()) {
                $course->the_post();
                echo '<option value="' . $course->post->ID . '">' . get_the_title() . '</option>';
            }
        }
        /* Restore original Post Data */
        ?>
																
					</select>
					<?php 
        wp_reset_postdata();
        ?>

				</div>
				<br /><br />			
				<input type="submit" class="button button-primary" name="submittotalprogress" value="submit" />										
			</form>
		</div>	
		
		
<?php 
    }
    echo '</div>';
}
    /**
     * Display the single course modules content
     *
     * @since 1.8.0
     * @return void
     */
    public function course_module_content()
    {
        global $post;
        $course_id = $post->ID;
        $modules = $this->get_course_modules($course_id);
        // Display each module
        foreach ($modules as $module) {
            echo '<article class="post module">';
            // module title link
            $module_url = esc_url(add_query_arg('course_id', $course_id, get_term_link($module, $this->taxonomy)));
            echo '<header><h2><a href="' . esc_url($module_url) . '">' . $module->name . '</a></h2></header>';
            echo '<section class="entry">';
            $module_progress = false;
            if (is_user_logged_in()) {
                global $current_user;
                wp_get_current_user();
                $module_progress = $this->get_user_module_progress($module->term_id, $course_id, $current_user->ID);
            }
            if ($module_progress && $module_progress > 0) {
                $status = __('Completed', 'woothemes-sensei');
                $class = 'completed';
                if ($module_progress < 100) {
                    $status = __('In progress', 'woothemes-sensei');
                    $class = 'in-progress';
                }
                echo '<p class="status module-status ' . esc_attr($class) . '">' . $status . '</p>';
            }
            if ('' != $module->description) {
                echo '<p class="module-description">' . $module->description . '</p>';
            }
            $lessons = $this->get_lessons($course_id, $module->term_id);
            if (count($lessons) > 0) {
                $lessons_list = '';
                foreach ($lessons as $lesson) {
                    $status = '';
                    $lesson_completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson->ID, get_current_user_id());
                    $title = esc_attr(get_the_title(intval($lesson->ID)));
                    if ($lesson_completed) {
                        $status = 'completed';
                    }
                    $lessons_list .= '<li class="' . $status . '"><a href="' . esc_url(get_permalink(intval($lesson->ID))) . '" title="' . esc_attr(get_the_title(intval($lesson->ID))) . '">' . apply_filters('sensei_module_lesson_list_title', $title, $lesson->ID) . '</a></li>';
                    // Build array of displayed lesson for exclusion later
                    $displayed_lessons[] = $lesson->ID;
                }
                ?>
                <section class="module-lessons">
                    <header>
                        <h3><?php 
                _e('Lessons', 'woothemes-sensei');
                ?>
</h3>
                    </header>
                    <ul>
                        <?php 
                echo $lessons_list;
                ?>
                    </ul>
                </section>

            <?php 
            }
            //end count lessons
            ?>
                </section>
            </article>
        <?php 
        }
        // end each module
    }
function sensei_has_user_completed_lesson($post_id = 0, $user_id = 0)
{
    _deprecated_function(__FUNCTION__, '1.7', "WooThemes_Sensei_Utils::user_completed_lesson()");
    return WooThemes_Sensei_Utils::user_completed_lesson($post_id, $user_id);
}
				<?php 
do_action('sensei_lesson_image', $post->ID);
?>

                <?php 
do_action('sensei_lesson_single_title');
?>

                <?php 
$view_lesson = true;
wp_get_current_user();
$lesson_prerequisite = absint(get_post_meta($post->ID, '_lesson_prerequisite', true));
if ($lesson_prerequisite > 0) {
    // Check for prerequisite lesson completions
    $view_lesson = WooThemes_Sensei_Utils::user_completed_lesson($lesson_prerequisite, $current_user->ID);
}
$lesson_course_id = get_post_meta($post->ID, '_lesson_course', true);
$user_taking_course = WooThemes_Sensei_Utils::user_started_course($lesson_course_id, $current_user->ID);
if (current_user_can('administrator')) {
    $view_lesson = true;
    $user_taking_course = true;
}
$is_preview = false;
if (WooThemes_Sensei_Utils::is_preview_lesson($post->ID)) {
    $is_preview = true;
    $view_lesson = true;
}
if ($view_lesson) {
    ?>
 /**
  * Checks how many lessons are completed
  *
  * @since 1.8.0
  *
  * @param int $course_id
  * @param int $user_id
  * @return array $completed_lesson_ids
  */
 public function get_completed_lesson_ids($course_id, $user_id = 0)
 {
     if (!intval($user_id) > 0) {
         $user_id = get_current_user_id();
     }
     $completed_lesson_ids = array();
     $course_lessons = $this->course_lessons($course_id);
     foreach ($course_lessons as $lesson) {
         $is_lesson_completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson->ID, $user_id);
         if ($is_lesson_completed) {
             $completed_lesson_ids[] = $lesson->ID;
         }
     }
     return $completed_lesson_ids;
 }
    public function sensei_quiz_action_buttons()
    {
        global $post, $current_user, $woothemes_sensei;
        $lesson_id = (int) get_post_meta($post->ID, '_quiz_lesson', true);
        $lesson_course_id = (int) get_post_meta($lesson_id, '_lesson_course', true);
        $lesson_prerequisite = (int) get_post_meta($lesson_id, '_lesson_prerequisite', true);
        $show_actions = true;
        $user_lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_id, $current_user->ID);
        //setup quiz grade
        $user_quiz_grade = '';
        if (!empty($user_lesson_status)) {
            $user_quiz_grade = get_comment_meta($user_lesson_status->comment_ID, 'grade', true);
        }
        if (intval($lesson_prerequisite) > 0) {
            // If the user hasn't completed the prereq then hide the current actions
            $show_actions = WooThemes_Sensei_Utils::user_completed_lesson($lesson_prerequisite, $current_user->ID);
        }
        if ($show_actions && is_user_logged_in() && WooThemes_Sensei_Utils::user_started_course($lesson_course_id, $current_user->ID)) {
            // Get Reset Settings
            $reset_quiz_allowed = get_post_meta($post->ID, '_enable_quiz_reset', true);
            ?>

            <!-- Action Nonce's -->
            <input type="hidden" name="woothemes_sensei_complete_quiz_nonce" id="woothemes_sensei_complete_quiz_nonce"
                   value="<?php 
            echo esc_attr(wp_create_nonce('woothemes_sensei_complete_quiz_nonce'));
            ?>
" />
			<input type="hidden" name="woothemes_sensei_reset_quiz_nonce" id="woothemes_sensei_reset_quiz_nonce"
                   value="<?php 
            echo esc_attr(wp_create_nonce('woothemes_sensei_reset_quiz_nonce'));
            ?>
" />
            <input type="hidden" name="woothemes_sensei_save_quiz_nonce" id="woothemes_sensei_save_quiz_nonce"
                   value="<?php 
            echo esc_attr(wp_create_nonce('woothemes_sensei_save_quiz_nonce'));
            ?>
" />
            <!--#end Action Nonce's -->

            <?php 
            //if ( '' == $user_quiz_grade) {
            ?>
		 	<span><input type="submit" name="quiz_complete" class="quiz-submit complete" value="<?php 
            echo apply_filters('sensei_complete_quiz_text', __('Complete Quiz', 'woothemes-sensei'));
            ?>
"/></span>
		 	<span><input type="submit" name="quiz_save" class="quiz-submit save" value="<?php 
            echo apply_filters('sensei_save_quiz_text', __('Save Quiz', 'woothemes-sensei'));
            ?>
"/></span>
		     <?php 
            php;
            ?>
	          <?php 
            php;
            ?>
		 	   <span><input type="submit" name="quiz_reset" class="quiz-submit reset" value="<?php 
            echo apply_filters('sensei_reset_quiz_text', __('Reset Quiz', 'woothemes-sensei'));
            ?>
"/></span>
		     <?php 
            php;
            ?>
        <?php 
        }
    }
 /**
  * Set the status message displayed to the user for a quiz
  * @param  integer $lesson_id ID of quiz lesson
  * @param  integer $user_id   ID of user
  * @return array              Status code and message
  */
 public static function sensei_user_quiz_status_message($lesson_id = 0, $user_id = 0, $is_lesson = false)
 {
     global $woothemes_sensei, $current_user;
     if (intval($user_id) == 0) {
         $user_id = $current_user->ID;
     }
     $status = 'not_started';
     $box_class = 'info';
     $message = __('You have not taken this lesson\'s quiz yet', 'woothemes-sensei');
     $extra = '';
     if ($lesson_id > 0 && $user_id > 0) {
         // Prerequisite lesson
         $prerequisite = get_post_meta($lesson_id, '_lesson_prerequisite', true);
         // Course ID
         $course_id = absint(get_post_meta($lesson_id, '_lesson_course', true));
         // Has user started course
         $started_course = WooThemes_Sensei_Utils::user_started_course($course_id, $user_id);
         // Has user completed lesson
         $user_lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_id, $user_id);
         $lesson_complete = WooThemes_Sensei_Utils::user_completed_lesson($user_lesson_status);
         // Quiz ID
         $quiz_id = $woothemes_sensei->post_types->lesson->lesson_quizzes($lesson_id);
         // Quiz grade
         $quiz_grade = false;
         if ($user_lesson_status) {
             $quiz_grade = get_comment_meta($user_lesson_status->comment_ID, 'grade', true);
         }
         // Quiz passmark
         $quiz_passmark = absint(get_post_meta($quiz_id, '_quiz_passmark', true));
         $quiz_passmark_float = (double) $quiz_passmark;
         // Pass required
         $pass_required = get_post_meta($quiz_id, '_pass_required', true);
         // Quiz questions
         $has_quiz_questions = get_post_meta($lesson_id, '_quiz_has_questions', true);
         if (!$started_course) {
             $status = 'not_started_course';
             $box_class = 'info';
             $message = sprintf(__('Please sign up for %1$sthe course%2$s before taking this quiz', 'woothemes-sensei'), '<a href="' . esc_url(get_permalink($course_id)) . '" title="' . esc_attr(__('Sign Up', 'woothemes-sensei')) . '">', '</a>');
         } elseif (!is_user_logged_in()) {
             $status = 'login_required';
             $box_class = 'info';
             $message = __('You must be logged in to take this quiz', 'woothemes-sensei');
         } elseif ($lesson_complete) {
             $status = 'passed';
             $box_class = 'tick';
             // Lesson status will be "complete" (has no Quiz)
             if (!$has_quiz_questions) {
                 $message = sprintf(__('Congratulations! You have passed this lesson.', 'woothemes-sensei'));
             } elseif (empty($quiz_grade)) {
                 $message = sprintf(__('Congratulations! You have completed this lesson.', 'woothemes-sensei'));
             } elseif (!empty($quiz_grade) && abs($quiz_grade) >= 0) {
                 if ($is_lesson) {
                     $message = sprintf(__('Congratulations! You have passed this lesson\'s quiz achieving %s%%', 'woothemes-sensei'), WooThemes_Sensei_Utils::round($quiz_grade));
                 } else {
                     $message = sprintf(__('Congratulations! You have passed this quiz achieving %s%%', 'woothemes-sensei'), WooThemes_Sensei_Utils::round($quiz_grade));
                 }
             }
         } else {
             // Lesson/Quiz isn't "complete" instead it's ungraded (previously this "state" meant that it *was* complete)
             if (isset($user_lesson_status->comment_approved) && 'ungraded' == $user_lesson_status->comment_approved) {
                 $status = 'complete';
                 $box_class = 'info';
                 if ($is_lesson) {
                     $message = sprintf(__('You have completed this lesson\'s quiz and it will be graded soon. %1$sView the lesson quiz%2$s', 'woothemes-sensei'), '<a href="' . esc_url(get_permalink($quiz_id)) . '" title="' . esc_attr(get_the_title($quiz_id)) . '">', '</a>');
                 } else {
                     $message = sprintf(__('You have completed this quiz and it will be graded soon. You require %1$s%% to pass.', 'woothemes-sensei'), WooThemes_Sensei_Utils::round($quiz_passmark));
                 }
             } elseif (isset($user_lesson_status->comment_approved) && 'failed' == $user_lesson_status->comment_approved) {
                 $status = 'failed';
                 $box_class = 'alert';
                 if ($is_lesson) {
                     $message = sprintf(__('You require %1$d%% to pass this lesson\'s quiz. Your grade is %2$s%%', 'woothemes-sensei'), WooThemes_Sensei_Utils::round($quiz_passmark), WooThemes_Sensei_Utils::round($quiz_grade));
                 } else {
                     $message = sprintf(__('You require %1$d%% to pass this quiz. Your grade is %2$s%%', 'woothemes-sensei'), WooThemes_Sensei_Utils::round($quiz_passmark), WooThemes_Sensei_Utils::round($quiz_grade));
                 }
             } elseif ($pass_required) {
                 $status = 'not_started';
                 $box_class = 'info';
                 if ($is_lesson) {
                     $message = sprintf(__('You require %1$d%% to pass this lesson\'s quiz.', 'woothemes-sensei'), WooThemes_Sensei_Utils::round($quiz_passmark));
                 } else {
                     $message = sprintf(__('You require %1$d%% to pass this quiz.', 'woothemes-sensei'), WooThemes_Sensei_Utils::round($quiz_passmark));
                 }
             }
         }
     }
     // Legacy filter
     $message = apply_filters('sensei_user_quiz_status_' . $status, $message);
     if ($is_lesson && !in_array($status, array('login_required', 'not_started_course'))) {
         $extra = '<p><a class="button" href="' . esc_url(get_permalink($quiz_id)) . '" title="' . esc_attr(apply_filters('sensei_view_lesson_quiz_text', __('View the lesson quiz', 'woothemes-sensei'))) . '">' . apply_filters('sensei_view_lesson_quiz_text', __('View the lesson quiz', 'woothemes-sensei')) . '</a></p>';
     }
     // Filter of all messages
     return apply_filters('sensei_user_quiz_status', array('status' => $status, 'box_class' => $box_class, 'message' => $message, 'extra' => $extra), $lesson_id, $user_id, $is_lesson);
 }
     $html .= '<span class="course-completion-rate">' . sprintf(__('Currently completed %1$s of %2$s in total', 'woothemes-sensei'), '######', $total_lessons) . '</span>';
     $html .= '<div class="meter+++++"><span style="width: @@@@@%">@@@@@%</span></div>';
 }
 // End If Statement
 $html .= '</header>';
 $lesson_count = 1;
 $lessons_completed = 0;
 $show_lesson_numbers = false;
 foreach ($course_lessons as $lesson_item) {
     $single_lesson_complete = false;
     $post_classes = array('course', 'post');
     $user_lesson_status = false;
     if (is_user_logged_in()) {
         // Check if Lesson is complete
         $user_lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $current_user->ID);
         $single_lesson_complete = WooThemes_Sensei_Utils::user_completed_lesson($user_lesson_status);
         if ($single_lesson_complete) {
             $lessons_completed++;
             $post_classes[] = 'lesson-completed';
         }
         // End If Statement
     }
     // End If Statement
     // Get Lesson data
     $complexity_array = $woothemes_sensei->post_types->lesson->lesson_complexities();
     $lesson_length = get_post_meta($lesson_item->ID, '_lesson_length', true);
     $lesson_complexity = get_post_meta($lesson_item->ID, '_lesson_complexity', true);
     if ('' != $lesson_complexity) {
         $lesson_complexity = $complexity_array[$lesson_complexity];
     }
     $user_info = get_userdata(absint($lesson_item->post_author));
 /**
  * This function set's up the data need for the quiz page
  *
  * This function hooks into sensei_complete_quiz and load the global data for the
  * current quiz.
  *
  * @since 1.7.4
  * @access public
  *
  */
 public function load_global_quiz_data()
 {
     global $woothemes_sensei, $post, $current_user;
     $this->data = new stdClass();
     // Default grade
     $grade = 0;
     // Get Quiz Questions
     $lesson_quiz_questions = $woothemes_sensei->post_types->lesson->lesson_quiz_questions($post->ID);
     $quiz_lesson_id = absint(get_post_meta($post->ID, '_quiz_lesson', true));
     // Get quiz grade type
     $quiz_grade_type = get_post_meta($post->ID, '_quiz_grade_type', true);
     // Get quiz pass setting
     $pass_required = get_post_meta($post->ID, '_pass_required', true);
     // Get quiz pass mark
     $quiz_passmark = abs(round(doubleval(get_post_meta($post->ID, '_quiz_passmark', true)), 2));
     // Get latest quiz answers and grades
     $lesson_id = $woothemes_sensei->quiz->get_lesson_id($post->ID);
     $user_quizzes = $woothemes_sensei->quiz->get_user_answers($lesson_id, get_current_user_id());
     $user_lesson_status = WooThemes_Sensei_Utils::user_lesson_status($quiz_lesson_id, $current_user->ID);
     $user_quiz_grade = 0;
     if (isset($user_lesson_status->comment_ID)) {
         $user_quiz_grade = get_comment_meta($user_lesson_status->comment_ID, 'grade', true);
     }
     if (!is_array($user_quizzes)) {
         $user_quizzes = array();
     }
     // Check again that the lesson is complete
     $user_lesson_end = WooThemes_Sensei_Utils::user_completed_lesson($user_lesson_status);
     $user_lesson_complete = false;
     if ($user_lesson_end) {
         $user_lesson_complete = true;
     }
     // End If Statement
     $reset_allowed = get_post_meta($post->ID, '_enable_quiz_reset', true);
     //backwards compatibility
     if ('on' == $reset_allowed) {
         $reset_allowed = 1;
     }
     // Build frontend data object
     $this->data->user_quiz_grade = $user_quiz_grade;
     $this->data->quiz_passmark = $quiz_passmark;
     $this->data->quiz_lesson = $quiz_lesson_id;
     $this->data->quiz_grade_type = $quiz_grade_type;
     $this->data->user_lesson_end = $user_lesson_end;
     $this->data->user_lesson_complete = $user_lesson_complete;
     $this->data->lesson_quiz_questions = $lesson_quiz_questions;
     $this->data->reset_quiz_allowed = $reset_allowed;
 }
    /**
     * Display the single course modules content with Collapse/Expand Toggle
     *
     * @since 1.8.0
     * @return void
     */
    public function course_module_collapse_content()
    {
        global $post;
        $course_id = $post->ID;
        $modules = Sensei()->modules->get_course_modules($course_id);
        // Display each module
        foreach ($modules as $module) {
            echo '<article class="post module">';
            echo '<section class="entry">';
            $module_progress = false;
            if (is_user_logged_in()) {
                global $current_user;
                wp_get_current_user();
                $module_progress = Sensei()->modules->get_user_module_progress($module->term_id, $course_id, $current_user->ID);
            }
            if ($module_progress && $module_progress > 0) {
                $status = __('Completed', 'woothemes-sensei');
                $class = 'completed';
                if ($module_progress < 100) {
                    $status = __('In progress', 'woothemes-sensei');
                    $class = 'in-progress';
                }
                echo '<p class="status module-status ' . esc_attr($class) . '">' . $status . '</p>';
            }
            if ('' != $module->description) {
                echo '<p class="module-description">' . $module->description . '</p>';
            }
            $lessons = Sensei()->modules->get_lessons($course_id, $module->term_id);
            if (count($lessons) > 0) {
                $lessons_list = '';
                foreach ($lessons as $lesson) {
                    $status = '';
                    $lessons_time = '';
                    $lesson_completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson->ID, get_current_user_id());
                    $lesson_length = get_post_meta($lesson->ID, '_lesson_length', true);
                    $title = esc_attr(get_the_title(intval($lesson->ID)));
                    // Get lesson completed status
                    if ($lesson_completed) {
                        $status = 'completed';
                    }
                    // Get lesson time and set variable if it exists
                    if ('' != $lesson_length) {
                        $lessons_time = '<span style="float:right" class="lesson-length"><i class="fa fa-clock-o"></i> ' . $lesson_length . __(' min', 'woothemes-sensei') . '</span>';
                    }
                    $lessons_list .= '<li class="' . $status . '"><a href="' . esc_url(get_permalink(intval($lesson->ID))) . '" title="' . esc_attr(get_the_title(intval($lesson->ID))) . '">' . apply_filters('sensei_module_lesson_list_title', $title, $lesson->ID) . $lessons_time . '</a></li>';
                    // Build array of displayed lesson for exclusion later
                    $displayed_lessons = array();
                    $displayed_lessons[] = $lesson->ID;
                }
                ?>

                <section class="module-lessons">
                    <ul >
                        <header class="expList">
                            <?php 
                // module title header with collapsing toggle
                // Module URL commented out as it is no linger used, uncomment if you want to use it
                // $module_url = esc_url(add_query_arg('course_id', $course_id, get_term_link($module, $this->taxonomy)));
                echo "<img class='expList' src='" . $this->assets_url . "img/collapse.png' ><h2 class='expList'> " . $module->name . "</h2>";
                ?>
                        </header>
                        <li >
                            <ul class="expList2" >
                                <?php 
                echo $lessons_list;
                ?>
                            </ul>
                        </li>
                    </ul>
                </section>

            <?php 
            }
            //end count lessons
            ?>
                </section>
            </article>
        <?php 
        }
        // end each module
    }
    /**
     * load_user_courses_content generates HTML for user's active & completed courses
     * @since  1.4.0
     * @param  object  $user   Queried user object
     * @param  boolean $manage Whether the user has permission to manage the courses
     * @return string          HTML displayng course data
     */
    public function load_user_courses_content($user = false, $manage = false)
    {
        global $woothemes_sensei, $post, $wp_query, $course, $my_courses_page, $my_courses_section;
        // Build Output HTML
        $complete_html = $active_html = '';
        if ($user) {
            $my_courses_page = true;
            // Allow action to be run before My Courses content has loaded
            do_action('sensei_before_my_courses', $user->ID);
            // Logic for Active and Completed Courses
            $per_page = 20;
            if (isset($woothemes_sensei->settings->settings['my_course_amount']) && 0 < absint($woothemes_sensei->settings->settings['my_course_amount'])) {
                $per_page = absint($woothemes_sensei->settings->settings['my_course_amount']);
            }
            $course_statuses = WooThemes_Sensei_Utils::sensei_check_for_activity(array('user_id' => $user->ID, 'type' => 'sensei_course_status'), true);
            // User may only be on 1 Course
            if (!is_array($course_statuses)) {
                $course_statuses = array($course_statuses);
            }
            $completed_ids = $active_ids = array();
            foreach ($course_statuses as $course_status) {
                if (WooThemes_Sensei_Utils::user_completed_course($course_status, $user->ID)) {
                    $completed_ids[] = $course_status->comment_post_ID;
                } else {
                    $active_ids[] = $course_status->comment_post_ID;
                }
            }
            $active_count = $completed_count = 0;
            $active_courses = array();
            if (0 < intval(count($active_ids))) {
                $my_courses_section = 'active';
                $active_courses = $woothemes_sensei->post_types->course->course_query($per_page, 'usercourses', $active_ids);
                $active_count = count($active_ids);
            }
            // End If Statement
            $completed_courses = array();
            if (0 < intval(count($completed_ids))) {
                $my_courses_section = 'completed';
                $completed_courses = $woothemes_sensei->post_types->course->course_query($per_page, 'usercourses', $completed_ids);
                $completed_count = count($completed_ids);
            }
            // End If Statement
            $lesson_count = 1;
            $active_page = 1;
            if (isset($_GET['active_page']) && 0 < intval($_GET['active_page'])) {
                $active_page = $_GET['active_page'];
            }
            $completed_page = 1;
            if (isset($_GET['completed_page']) && 0 < intval($_GET['completed_page'])) {
                $completed_page = $_GET['completed_page'];
            }
            foreach ($active_courses as $course_item) {
                $course_lessons = $woothemes_sensei->post_types->course->course_lessons($course_item->ID);
                $lessons_completed = 0;
                foreach ($course_lessons as $lesson) {
                    if (WooThemes_Sensei_Utils::user_completed_lesson($lesson->ID, $user->ID)) {
                        ++$lessons_completed;
                    }
                }
                // Get Course Categories
                $category_output = get_the_term_list($course_item->ID, 'course-category', '', ', ', '');
                $active_html .= '<article class="' . esc_attr(join(' ', get_post_class(array('course', 'post'), $course_item->ID))) . '">';
                // Image
                $active_html .= $woothemes_sensei->post_types->course->course_image(absint($course_item->ID));
                // Title
                $active_html .= '<header>';
                $active_html .= '<h2><a href="' . esc_url(get_permalink(absint($course_item->ID))) . '" title="' . esc_attr($course_item->post_title) . '">' . esc_html($course_item->post_title) . '</a></h2>';
                $active_html .= '</header>';
                $active_html .= '<section class="entry">';
                $active_html .= '<p class="sensei-course-meta">';
                // Author
                $user_info = get_userdata(absint($course_item->post_author));
                if (isset($woothemes_sensei->settings->settings['course_author']) && $woothemes_sensei->settings->settings['course_author']) {
                    $active_html .= '<span class="course-author">' . __('by ', 'woothemes-sensei') . '<a href="' . esc_url(get_author_posts_url(absint($course_item->post_author))) . '" title="' . esc_attr($user_info->display_name) . '">' . esc_html($user_info->display_name) . '</a></span>';
                }
                // End If Statement
                // Lesson count for this author
                $lesson_count = $woothemes_sensei->post_types->course->course_lesson_count(absint($course_item->ID));
                // Handle Division by Zero
                if (0 == $lesson_count) {
                    $lesson_count = 1;
                }
                // End If Statement
                $active_html .= '<span class="course-lesson-count">' . $lesson_count . '&nbsp;' . apply_filters('sensei_lessons_text', __('Lessons', 'woothemes-sensei')) . '</span>';
                // Course Categories
                if ('' != $category_output) {
                    $active_html .= '<span class="course-category">' . sprintf(__('in %s', 'woothemes-sensei'), $category_output) . '</span>';
                }
                // End If Statement
                $active_html .= '<span class="course-lesson-progress">' . sprintf(__('%1$d of %2$d lessons completed', 'woothemes-sensei'), $lessons_completed, $lesson_count) . '</span>';
                $active_html .= '</p>';
                $active_html .= '<p class="course-excerpt">' . apply_filters('get_the_excerpt', $course_item->post_excerpt) . '</p>';
                $progress_percentage = abs(round(doubleval($lessons_completed) * 100 / $lesson_count, 0));
                if (50 < $progress_percentage) {
                    $class = ' green';
                } elseif (25 <= $progress_percentage && 50 >= $progress_percentage) {
                    $class = ' orange';
                } else {
                    $class = ' red';
                }
                /* if ( 0 == $progress_percentage ) { $progress_percentage = 5; } */
                $active_html .= '<div class="meter' . esc_attr($class) . '"><span style="width: ' . $progress_percentage . '%">' . $progress_percentage . '%</span></div>';
                $active_html .= '</section>';
                if ($manage) {
                    $active_html .= '<section class="entry-actions">';
                    $active_html .= '<form method="POST" action="' . remove_query_arg(array('active_page', 'completed_page')) . '">';
                    $active_html .= '<input type="hidden" name="' . esc_attr('woothemes_sensei_complete_course_noonce') . '" id="' . esc_attr('woothemes_sensei_complete_course_noonce') . '" value="' . esc_attr(wp_create_nonce('woothemes_sensei_complete_course_noonce')) . '" />';
                    $active_html .= '<input type="hidden" name="course_complete_id" id="course-complete-id" value="' . esc_attr(absint($course_item->ID)) . '" />';
                    if (0 < absint(count($course_lessons)) && $woothemes_sensei->settings->settings['course_completion'] == 'complete') {
                        $active_html .= '<span><input name="course_complete" type="submit" class="course-complete" value="' . apply_filters('sensei_mark_as_complete_text', __('Mark as Complete', 'woothemes-sensei')) . '"/></span>';
                    }
                    // End If Statement
                    $course_purchased = false;
                    if (WooThemes_Sensei_Utils::sensei_is_woocommerce_activated()) {
                        // Get the product ID
                        $wc_post_id = get_post_meta(absint($course_item->ID), '_course_woocommerce_product', true);
                        if (0 < $wc_post_id) {
                            $course_purchased = WooThemes_Sensei_Utils::sensei_customer_bought_product($user->user_email, $user->ID, $wc_post_id);
                        }
                        // End If Statement
                    }
                    // End If Statement
                    if (!$course_purchased) {
                        $active_html .= '<span><input name="course_complete" type="submit" class="course-delete" value="' . apply_filters('sensei_delete_course_text', __('Delete Course', 'woothemes-sensei')) . '"/></span>';
                    }
                    // End If Statement
                    $active_html .= '</form>';
                    $active_html .= '</section>';
                }
                $active_html .= '</article>';
            }
            // Active pagination
            if ($active_count > $per_page) {
                $current_page = 1;
                if (isset($_GET['active_page']) && 0 < intval($_GET['active_page'])) {
                    $current_page = $_GET['active_page'];
                }
                $active_html .= '<nav class="pagination woo-pagination">';
                $total_pages = ceil($active_count / $per_page);
                $link = '';
                if ($current_page > 1) {
                    $prev_link = add_query_arg('active_page', $current_page - 1);
                    $active_html .= '<a class="prev page-numbers" href="' . $prev_link . '">' . __('Previous', 'woothemes-sensei') . '</a> ';
                }
                for ($i = 1; $i <= $total_pages; $i++) {
                    $link = add_query_arg('active_page', $i);
                    if ($i == $current_page) {
                        $active_html .= '<span class="page-numbers current">' . $i . '</span> ';
                    } else {
                        $active_html .= '<a class="page-numbers" href="' . $link . '">' . $i . '</a> ';
                    }
                }
                if ($current_page < $total_pages) {
                    $next_link = add_query_arg('active_page', $current_page + 1);
                    $active_html .= '<a class="next page-numbers" href="' . $next_link . '">' . __('Next', 'woothemes-sensei') . '</a> ';
                }
                $active_html .= '</nav>';
            }
            foreach ($completed_courses as $course_item) {
                $course = $course_item;
                // Get Course Categories
                $category_output = get_the_term_list($course_item->ID, 'course-category', '', ', ', '');
                $complete_html .= '<article class="' . join(' ', get_post_class(array('course', 'post'), $course_item->ID)) . '">';
                // Image
                $complete_html .= $woothemes_sensei->post_types->course->course_image(absint($course_item->ID));
                // Title
                $complete_html .= '<header>';
                $complete_html .= '<h2><a href="' . esc_url(get_permalink(absint($course_item->ID))) . '" title="' . esc_attr($course_item->post_title) . '">' . esc_html($course_item->post_title) . '</a></h2>';
                $complete_html .= '</header>';
                $complete_html .= '<section class="entry">';
                $complete_html .= '<p class="sensei-course-meta">';
                // Author
                $user_info = get_userdata(absint($course_item->post_author));
                if (isset($woothemes_sensei->settings->settings['course_author']) && $woothemes_sensei->settings->settings['course_author']) {
                    $complete_html .= '<span class="course-author">' . __('by ', 'woothemes-sensei') . '<a href="' . esc_url(get_author_posts_url(absint($course_item->post_author))) . '" title="' . esc_attr($user_info->display_name) . '">' . esc_html($user_info->display_name) . '</a></span>';
                }
                // End If Statement
                // Lesson count for this author
                $complete_html .= '<span class="course-lesson-count">' . $woothemes_sensei->post_types->course->course_lesson_count(absint($course_item->ID)) . '&nbsp;' . apply_filters('sensei_lessons_text', __('Lessons', 'woothemes-sensei')) . '</span>';
                // Course Categories
                if ('' != $category_output) {
                    $complete_html .= '<span class="course-category">' . sprintf(__('in %s', 'woothemes-sensei'), $category_output) . '</span>';
                }
                // End If Statement
                $complete_html .= '</p>';
                $complete_html .= '<p class="course-excerpt">' . apply_filters('get_the_excerpt', $course_item->post_excerpt) . '</p>';
                $complete_html .= '<div class="meter green"><span style="width: 100%">100%</span></div>';
                if ($manage) {
                    $has_quizzes = $woothemes_sensei->post_types->course->course_quizzes($course_item->ID, true);
                    // Output only if there is content to display
                    if (has_filter('sensei_results_links') || $has_quizzes) {
                        $complete_html .= '<p class="sensei-results-links">';
                        $results_link = '';
                        if ($has_quizzes) {
                            $results_link = '<a class="button view-results" href="' . $woothemes_sensei->course_results->get_permalink($course_item->ID) . '">' . apply_filters('sensei_view_results_text', __('View results', 'woothemes-sensei')) . '</a>';
                        }
                        $complete_html .= apply_filters('sensei_results_links', $results_link);
                        $complete_html .= '</p>';
                    }
                }
                $complete_html .= '</section>';
                $complete_html .= '</article>';
            }
            // Active pagination
            if ($completed_count > $per_page) {
                $current_page = 1;
                if (isset($_GET['completed_page']) && 0 < intval($_GET['completed_page'])) {
                    $current_page = $_GET['completed_page'];
                }
                $complete_html .= '<nav class="pagination woo-pagination">';
                $total_pages = ceil($completed_count / $per_page);
                $link = '';
                if ($current_page > 1) {
                    $prev_link = add_query_arg('completed_page', $current_page - 1);
                    $complete_html .= '<a class="prev page-numbers" href="' . $prev_link . '">' . __('Previous', 'woothemes-sensei') . '</a> ';
                }
                for ($i = 1; $i <= $total_pages; $i++) {
                    $link = add_query_arg('completed_page', $i);
                    if ($i == $current_page) {
                        $complete_html .= '<span class="page-numbers current">' . $i . '</span> ';
                    } else {
                        $complete_html .= '<a class="page-numbers" href="' . $link . '">' . $i . '</a> ';
                    }
                }
                if ($current_page < $total_pages) {
                    $next_link = add_query_arg('completed_page', $current_page + 1);
                    $complete_html .= '<a class="next page-numbers" href="' . $next_link . '">' . __('Next', 'woothemes-sensei') . '</a> ';
                }
                $complete_html .= '</nav>';
            }
        }
        // End If Statement
        if ($manage) {
            $no_active_message = apply_filters('sensei_no_active_courses_user_text', __('You have no active courses.', 'woothemes-sensei'));
            $no_complete_message = apply_filters('sensei_no_complete_courses_user_text', __('You have not completed any courses yet.', 'woothemes-sensei'));
        } else {
            $no_active_message = apply_filters('sensei_no_active_courses_learner_text', __('This learner has no active courses.', 'woothemes-sensei'));
            $no_complete_message = apply_filters('sensei_no_complete_courses_learner_text', __('This learner has not completed any courses yet.', 'woothemes-sensei'));
        }
        ob_start();
        ?>

		<?php 
        do_action('sensei_before_user_courses');
        ?>

		<?php 
        if ($manage && (!isset($woothemes_sensei->settings->settings['messages_disable']) || !$woothemes_sensei->settings->settings['messages_disable'])) {
            ?>
			<p class="my-messages-link-container"><a class="my-messages-link" href="<?php 
            echo get_post_type_archive_link('sensei_message');
            ?>
" title="<?php 
            _e('View & reply to private messages sent to your course & lesson teachers.', 'woothemes-sensei');
            ?>
"><?php 
            _e('My Messages', 'woothemes-sensei');
            ?>
</a></p>
			<?php 
        }
        ?>
		<div id="my-courses">

		    <ul>
		    	<li><a href="#active-courses"><?php 
        echo apply_filters('sensei_active_courses_text', __('Active Courses', 'woothemes-sensei'));
        ?>
</a></li>
		    	<li><a href="#completed-courses"><?php 
        echo apply_filters('sensei_completed_courses_text', __('Completed Courses', 'woothemes-sensei'));
        ?>
</a></li>
		    </ul>

		    <?php 
        do_action('sensei_before_active_user_courses');
        ?>

		    <?php 
        $course_page_id = intval($woothemes_sensei->settings->settings['course_page']);
        if (0 < $course_page_id) {
            $course_page_url = get_permalink($course_page_id);
        } elseif (0 == $course_page_id) {
            $course_page_url = get_post_type_archive_link('course');
        }
        ?>

		    <div id="active-courses">

		    	<?php 
        if ('' != $active_html) {
            echo $active_html;
        } else {
            ?>
		    		<div class="sensei-message info"><?php 
            echo $no_active_message;
            ?>
 <a href="<?php 
            echo $course_page_url;
            ?>
"><?php 
            apply_filters('sensei_start_a_course_text', _e('Start a Course!', 'woothemes-sensei'));
            ?>
</a></div>
		    	<?php 
        }
        // End If Statement
        ?>

		    </div>

		    <?php 
        do_action('sensei_after_active_user_courses');
        ?>

		    <?php 
        do_action('sensei_before_completed_user_courses');
        ?>

		    <div id="completed-courses">

		    	<?php 
        if ('' != $complete_html) {
            echo $complete_html;
        } else {
            ?>
		    		<div class="sensei-message info"><?php 
            echo $no_complete_message;
            ?>
</div>
		    	<?php 
        }
        // End If Statement
        ?>

		    </div>

		    <?php 
        do_action('sensei_after_completed_user_courses');
        ?>

		</div>

		<?php 
        do_action('sensei_after_user_courses');
        ?>

		<?php 
        return ob_get_clean();
    }
    function widget($args, $instance)
    {
        global $woothemes_sensei, $post, $current_user, $view_lesson, $user_taking_course;
        $allmodules = 'off';
        if (isset($instance['allmodules'])) {
            $allmodules = $instance['allmodules'];
        }
        // If not viewing a lesson/quiz, don't display the widget
        if (!(is_singular('lesson') || is_singular('quiz'))) {
            return;
        }
        extract($args);
        if (is_singular('quiz')) {
            $current_lesson_id = absint(get_post_meta($post->ID, '_quiz_lesson', true));
        } else {
            $current_lesson_id = $post->ID;
        }
        // get the course for the current lesson/quiz
        $lesson_course_id = get_post_meta($current_lesson_id, '_lesson_course', true);
        // Check if the user is taking the course
        $is_user_taking_course = WooThemes_Sensei_Utils::user_started_course($lesson_course_id, $current_user->ID);
        //Check for preview lesson
        $is_preview = false;
        if (method_exists('WooThemes_Sensei_Utils', 'is_preview_lesson')) {
            $is_preview = WooThemes_Sensei_Utils::is_preview_lesson($post->ID);
        }
        $course_title = get_the_title($lesson_course_id);
        $course_url = get_the_permalink($lesson_course_id);
        $in_module = false;
        $lesson_module = '';
        $lesson_array = array();
        if (0 < $current_lesson_id) {
            // get an array of lessons in the module if there is one
            if (isset(Sensei()->modules) && has_term('', Sensei()->modules->taxonomy, $current_lesson_id)) {
                // Get all modules
                $course_modules = Sensei()->modules->get_course_modules($lesson_course_id);
                $lesson_module = Sensei()->modules->get_lesson_module($current_lesson_id);
                $in_module = true;
                $current_module_title = htmlspecialchars($lesson_module->name);
                // Display all modules
                if ('on' == $allmodules) {
                    foreach ($course_modules as $module) {
                        // get all lessons in the module
                        $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($lesson_course_id), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . intval($module->term_id), 'orderby' => 'meta_value_num date', 'order' => 'ASC');
                        $lesson_array = array_merge($lesson_array, get_posts($args));
                    }
                } else {
                    // Only display current module
                    // get all lessons in the current module
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($lesson_course_id), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => $lesson_module)), 'meta_key' => '_order_module_' . intval($lesson_module->term_id), 'orderby' => 'meta_value_num date', 'order' => 'ASC');
                    $lesson_array = get_posts($args);
                }
            } else {
                // if there's no module, get all lessons in the course
                $lesson_array = Sensei()->course->course_lessons($lesson_course_id);
            }
        }
        echo $before_widget;
        ?>

		<header>
			<h2 class="course-title"><a href="<?php 
        echo $course_url;
        ?>
"><?php 
        echo $course_title;
        ?>
</a></h2>

			<?php 
        if ($in_module && 'on' != $allmodules) {
            ?>
				<h3 class="module-title"><?php 
            echo $current_module_title;
            ?>
</h3>
			<?php 
        }
        ?>

		</header>

		<?php 
        $nav_id_array = sensei_get_prev_next_lessons($current_lesson_id);
        $previous_lesson_id = absint($nav_id_array['prev_lesson']);
        $next_lesson_id = absint($nav_id_array['next_lesson']);
        if (0 < $previous_lesson_id || 0 < $next_lesson_id) {
            ?>

			<ul class="course-progress-navigation">
				<?php 
            if (0 < $previous_lesson_id) {
                ?>
<li class="prev"><a href="<?php 
                echo esc_url(get_permalink($previous_lesson_id));
                ?>
" title="<?php 
                echo get_the_title($previous_lesson_id);
                ?>
"><span><?php 
                _e('Previous', 'sensei-course-progress');
                ?>
</span></a></li><?php 
            }
            ?>
				<?php 
            if (0 < $next_lesson_id) {
                ?>
<li class="next"><a href="<?php 
                echo esc_url(get_permalink($next_lesson_id));
                ?>
" title="<?php 
                echo get_the_title($next_lesson_id);
                ?>
"><span><?php 
                _e('Next', 'sensei-course-progress');
                ?>
</span></a></li><?php 
            }
            ?>
			</ul>

		<?php 
        }
        ?>

		<ul class="course-progress-lessons">

			<?php 
        $old_module = '';
        foreach ($lesson_array as $lesson) {
            $lesson_id = $lesson->ID;
            $lesson_title = htmlspecialchars($lesson->post_title);
            $lesson_url = get_the_permalink($lesson_id);
            // add 'completed' class to completed lessons
            $classes = "not-completed";
            if (WooThemes_Sensei_Utils::user_completed_lesson($lesson->ID, $current_user->ID)) {
                $classes = "completed";
            }
            // Lesson Quiz Meta
            $lesson_quiz_id = Sensei()->lesson->lesson_quizzes($lesson_id);
            // add 'current' class on the current lesson/quiz
            if ($lesson_id == $post->ID || $lesson_quiz_id == $post->ID) {
                $classes .= " current";
            }
            if (isset(Sensei()->modules) && 'on' == $allmodules) {
                $new_module = Sensei()->modules->get_lesson_module($lesson_id);
                if ($old_module != $new_module) {
                    ?>
						<li class="course-progress-module"><h3><?php 
                    echo $new_module->name;
                    ?>
</h3></li>
						<?php 
                    $old_module = $new_module;
                }
            }
            ?>

				<li class="course-progress-lesson <?php 
            echo $classes;
            ?>
">
					<?php 
            if ($lesson->ID == $post->ID || $lesson_quiz_id == $post->ID) {
                echo '<span>' . $lesson_title . '</span>';
            } else {
                echo '<a href="' . $lesson_url . '">' . $lesson_title . '</a>';
            }
            ?>
				</li>

			<?php 
        }
        ?>

		</ul>

		<?php 
        echo $after_widget;
    }
function savedquest_options()
{
    if (!current_user_can('manage_options')) {
        wp_die(__('You do not have sufficient permissions to access this page.'));
    }
    echo '<div class="wrap" style="background:#fff;">';
    if (isset($_GET['tab'])) {
        $tab = $_GET['tab'];
    } else {
        $tab = "";
    }
    saved_admin_tab($tab);
    if ($tab == "quiztaken" or $tab == "") {
        ?>

		<table  class="wp-list-table widefat fixed striped pages" width="100%" style="border-spacing: 0; text-align:center;" >

			<tr>

				<th>Lesson ID</th>

				<th>Lesson Title</th>

				<th>Module</th>

				<th>Number Of Questions</th>

				<th>Question Answered</th>

				<th>Unanswered Question</th>

				<th>User</th>

				<th>User Id</th>

				<th>DATE And Time</th>

			</tr>

			<?php 
        $svequiz = get_option('savequiz_list');
        ?>

			<?php 
        foreach ($svequiz as $quizdata) {
            ?>

			<tr>

				<td><?php 
            echo $quizdata['lesson_id'];
            ?>
</td>

				<td><?php 
            echo $quizdata['lesson_title'];
            ?>
</td>

				<td>

				<?php 
            $terms = get_the_terms($quizdata['lesson_id'], 'module');
            echo $terms[0]->name;
            //print_r($terms);
            ?>

				</td>

				<td><?php 
            echo $quizdata['total_questtion'];
            ?>
</td>

				<td><?php 
            echo $quizdata['question_answered'];
            ?>
(<?php 
            echo get_percentage($quizdata['total_questtion'], $quizdata['question_answered']) . "%";
            ?>
)</td>

				<td><?php 
            echo $quizdata['remaining_question'];
            ?>
(<?php 
            echo 100 - get_percentage($quizdata['total_questtion'], $quizdata['question_answered']) . "%";
            ?>
)</td>

				<td><?php 
            echo $quizdata['fullname'];
            ?>
</td>

				<td><?php 
            echo $quizdata['user_id'];
            ?>
 </td>

				<td><?php 
            echo $quizdata['DATETIME'];
            ?>
</td>

			</tr>

			<?php 
        }
        ?>

		</table>



	<?php 
    } elseif ($tab == "timesession") {
        $user_last_login_logout = get_option('user_last_login_logout');
        ?>

	<br /><br/>

		<table  class="wp-list-table widefat fixed striped pages" width="100%" style="border-spacing: 0; text-align:center;" >

			<tr>

				<th>User ID</th>

				<th>Full Name</th>

				<th>Last Login</th>

				<th>Last Logout</th>

				<th>Amout of Time Spent</th>

				<th>Role</th>



			</tr>

			<?php 
        $svequiz = get_option('savequiz_list');
        ?>

			<?php 
        foreach ($user_last_login_logout as $last_login_logout) {
            ?>

			<?php 
            if ($last_login_logout['user_id'] != "") {
                ?>

			<?php 
                $user_info = get_userdata($last_login_logout['user_id']);
                ?>

			<tr>

				<td><?php 
                echo $last_login_logout['user_id'];
                ?>
</td>

				<td><?php 
                echo $user_info->display_name;
                ?>
</td>

				<td><?php 
                echo gettime_st($last_login_logout['logintime']);
                ?>
</td>

				<td><?php 
                echo gettime_st($last_login_logout['logouttime']);
                ?>
</td>

				<?php 
                if ($last_login_logout['logouttime'] != "") {
                    $date1 = date_create($last_login_logout['logintime']);
                    $date2 = date_create($last_login_logout['logouttime']);
                    $diff = date_diff($date1, $date2);
                    $diftime = $diff->format("%h Hours %i Minute %s Seconds");
                } else {
                    $diftime = "";
                }
                ?>



				<th><?php 
                echo $diftime;
                ?>
</th>

				<td><?php 
                echo implode(', ', $user_info->roles);
                ?>
</td>



			</tr>

			<?php 
            }
            ?>

			<?php 
        }
        ?>

		</table><br /><br />





	<?php 
    } elseif ($tab == "timequizecompleted") {
        global $woothemes_sensei, $post, $current_user, $wp_query, $learner_user;
        echo "<table class='wp-list-table widefat fixed striped pages'>";
        $allUsers = get_users();
        echo "<tr>\n\n\t\t\t\t<th>User</th>\n\n\t\t\t\t<th>Courses</th>\n\n\t\t\t\t<th>Percentage Incomplete</th>\n\n\t\t\t\t<th>Percentage Complete</th>\n\n\t\t\t\t<th>Percentage Competent</th>\n\n\t\t\t\t<th>Percentage Attempted</th>\n\n\t\t\t\t<th>Length of time Course Completed</th>\n\n\t\t\t  </tr>";
        foreach ($allUsers as $user) {
            $args = array('post_type' => 'course');
            $courses = get_posts($args);
            $i = 1;
            foreach ($courses as $course) {
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($course->ID, $user->ID);
                $course_status = WooThemes_Sensei_Utils::user_course_status($course->ID, $user->ID);
                $course_status_update = get_comment_meta($course_status->comment_ID);
                if (!empty($course_status)) {
                    $displayed_lessons = array();
                    $modules = Sensei()->modules->get_course_modules(intval($course->ID));
                    foreach ($modules as $module) {
                        $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($course->ID), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . $module->term_id, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'suppress_filters' => 0);
                        $lessons = get_posts($args);
                        if (count($lessons) > 0) {
                            $html .= '<h3>' . $module->name . '</h3>' . "\n";
                            $count = 0;
                            foreach ($lessons as $lesson_item) {
                                $lesson_grade = ' n/a';
                                $has_questions = get_post_meta($lesson_item->ID, '_quiz_has_questions', true);
                                if ($has_questions) {
                                    $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $user->ID);
                                    // Get user quiz grade
                                    $lesson_grade = get_comment_meta($lesson_status->comment_ID, 'grade', true);
                                    if ($lesson_grade) {
                                        $lesson_grade .= '%';
                                    }
                                    $modulequizdata = get_comment_meta($lesson_status->comment_ID);
                                    //echo "<a href='".get_post_permalink($lesson_item->ID)."'>".$lesson_item->post_title."</a><br />";
                                    $modulequestion_asked = count(explode(",", $modulequizdata['questions_asked'][0]));
                                    $moduleanswered_quiz = count(unserialize($modulequizdata['quiz_answers'][0]));
                                    //echo "number of questions:".$modulequestion_asked."<br />";
                                    //echo "number of Answered:".$moduleanswered_quiz."<br />";
                                    //echo "<pre>";
                                    //echo "<h1>".$user->user_email.$lesson_item->post_title."</h1>";
                                    //print_r($course_status );
                                    //echo $course_status->comment_approved;
                                    //echo $modulequestion_asked."------".$moduleanswered_quiz;
                                    //echo "</pre>";
                                    if ($course_status->comment_approved == "complete") {
                                        $attempted = '<span style="color:green;">(100%)</span>';
                                    } else {
                                        if ($lesson_status->comment_approved == "passed" || $lesson_status->comment_approved == "graded") {
                                            $attempted = '<span style="color:green;">(100%)</span>';
                                        } else {
                                            $attempted = "";
                                        }
                                    }
                                    //echo "<pre>";
                                    //echo "Attempted:".$attempted."<br />";
                                    //echo $user->user_email."<br />";
                                    //echo $modulequizdata['grade'][0]."<br />";
                                    //echo $modulequizdata['quiz_answers'][0]."<br />";
                                    //print_r($lesson_status);
                                    //echo "</pre>";
                                }
                                $html .= '<a href="' . esc_url(get_permalink($lesson_item->ID)) . '" title="' . esc_attr(sprintf(__('Start %s', 'woothemes-sensei'), $lesson_item->post_title)) . '">' . esc_html(sprintf(__('%s', 'woothemes-sensei'), $lesson_item->post_title)) . '</a> ' . $attempted . '<br />';
                                $displayed_lessons[] = $lesson_item->ID;
                            }
                        }
                    }
                    $args = array('post_type' => 'lesson', 'posts_per_page' => -1, 'suppress_filters' => 0, 'meta_key' => '_order_' . $course->ID, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($course->ID))), 'post__not_in' => $displayed_lessons);
                    $lessons = get_posts($args);
                    //echo "Number of lesson in a course: ".count($lessons);
                    if (0 < count($lessons)) {
                        $html .= '<h3>' . __('Other Lessons', 'woothemes-sensei') . '</h3>' . "\n";
                    }
                    if ($course_status_update['percent'][0] == 100) {
                        $date1 = date_create($course_status_update['start'][0]);
                        $date2 = date_create($course_status->comment_date);
                        $diff = date_diff($date1, $date2);
                        $diftime = $diff->format("%h Hours %i Minute %s Seconds");
                    } else {
                        $diftime = "course not completed yet.";
                    }
                    $allcourseid[] = $course->ID;
                    $incomplete = 100 - $course_status_update['percent'][0];
                    echo "<tr><td>";
                    echo $user->user_email;
                    echo "</td>";
                    echo "<td>";
                    echo "<a href='" . get_post_permalink($course->ID) . "'>" . $course->post_title . "</a>";
                    echo "</td>";
                    echo "<td>";
                    echo $incomplete . "%";
                    echo "</td>";
                    echo "<td>";
                    echo $course_status_update['percent'][0] . "%";
                    echo "</td>";
                    echo "<td>";
                    echo $course_user_grade . "%";
                    echo "</td>";
                    echo "<td>";
                    echo $html;
                    $html = "";
                    foreach ($lessons as $lesson_item) {
                        $lesson_grade = 'n/a';
                        $has_questions = get_post_meta($lesson_item->ID, '_quiz_has_questions', true);
                        if ($has_questions) {
                            $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $user->ID);
                            // Get user quiz grade
                            $lesson_grade = get_comment_meta($lesson_status->comment_ID, 'grade', true);
                            if ($lesson_grade) {
                                $lesson_grade .= '%';
                            }
                        }
                        $quizdata = get_comment_meta($lesson_status->comment_ID);
                        //echo "<h1>Comment</h1>";
                        //print_r(get_comment_meta( $lesson_status->comment_ID ));
                        //echo "<h1>LESSON STATUS</h1>";
                        //print_r($lesson_status);
                        echo "<a href='" . get_post_permalink($lesson_item->ID) . "'>" . $lesson_item->post_title . "</a> ";
                        //print_r($quizdata);
                        $question_asked = count(explode(",", $quizdata['questions_asked'][0]));
                        $answered_quiz = count(unserialize($quizdata['quiz_answers'][0]));
                        $lessonquestion_asked = count(explode(",", $quizdata['questions_asked'][0]));
                        $lessonanswered_quiz = count(unserialize($quizdata['quiz_answers'][0]));
                        if ($course_status->comment_approved == "complete") {
                            echo $attempted = '<span style="color:green;">(100%)</span>';
                        } else {
                            if ($lesson_status->comment_approved == "passed" || $lesson_status->comment_approved == "graded") {
                                echo $attempted = '<span style="color:green;">(100%)</span>';
                            } else {
                                echo $attempted = "";
                            }
                        }
                        /*if($quizdata ['grade'][0]==""){
                        
                        
                        
                        									if($lesson_status->comment_approved=="passed"){
                        
                        
                        
                        										 echo  $attempted = 'P/Q';
                        
                        
                        
                        									}else{
                        
                        
                        
                        										if($lessonquestion_asked>=$lessonanswered_quiz){
                        
                        
                        
                        											 if($modulequizdata['quiz_answers'][0]==""){
                        
                        
                        
                        												$attempted = "";
                        
                        
                        
                        											 }else{
                        
                        
                        
                        												 echo $attempted =  "( ". get_percentage($lessonquestion_asked, $lessonanswered_quiz)."% ) <span style='color:red;'>Saved</span>";
                        
                        
                        
                        											 }
                        
                        
                        
                        										}
                        
                        
                        
                        									}
                        
                        
                        
                        
                        
                        
                        
                        								}else{
                        
                        
                        
                        									if($lesson_status->comment_approved=="passed"){
                        
                        
                        
                        										 echo  $attempted = '100%  <span style="color:red;">complete button</span>';
                        
                        
                        
                        									}else{
                        
                        
                        
                        										$percentage = get_percentage($lessonquestion_asked, $lessonanswered_quiz);
                        
                        
                        
                        										if((int)$lessonquestion_asked>1){
                        
                        
                        
                        										}
                        
                        
                        
                        									}
                        
                        
                        
                        								}*/
                        echo '<br />';
                    }
                    // End For Loop
                    echo "</td>";
                    echo "<td>";
                    echo $diftime;
                    echo "</td>";
                    echo "</tr>";
                    //echo $course->post_title." (".$course_status_update['percent'][0]."% Complete) (". $incomplete . "% incomplete) (". $course_user_grade . "% Competent)<br />";
                    $i++;
                }
            }
        }
        echo "</table>";
    } elseif ($tab == "threshold") {
        //declare the wpdb for custom query
        global $wpdb;
        //check for submitted data
        if (isset($_POST['submittreshold']) && ($_POST['submittreshold'] = "submit")) {
            // declare users and variables
            $completionpermonth = $_POST['completionpermonth'];
            $courseid = $_POST['course'];
            $group_id = $_POST['group'];
            $course_name = get_the_title($courseid);
            $array_to_csv = array(array('Student Name', 'Course Name', 'Module(s)'));
            $userincourse = BuddyPress_Sensei_Groups::bp_sensei_get_course_members($courseid);
            //groups_get_groupmeta
            //echo $group_attached = groups_get_groupmeta( $group_id, 'bp_course_attached', true)."<br />---";
            if ($completionpermonth == "") {
                $completionpermonth = groups_get_groupmeta($group_id, 'sensei_threshold', true);
            }
            /* echo "<pre>";
            
            			print_r($userincourse);
            
            			echo "</pre>";
            
            			echo "<pre>";
            
            			print_r($user_in_groups);
            
            			echo "</pre>";	 */
            $user_in_groups = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM wp_bp_groups_members WHERE group_id = %d", $group_id));
            //user loop ----- loop user get the groups and course the course they take
            foreach ($user_in_groups as $user) {
                //echo "user_id ".$user->user_id."<br />";
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($courseid, $user->user_id);
                $user_course_status = WooThemes_Sensei_Utils::user_course_status($courseid, $user->user_id);
                $course_status_info = get_comment_meta($user_course_status->comment_ID);
                $started_course = WooThemes_Sensei_Utils::user_started_course($courseid, $user->user_id);
                $course_status = WooThemes_Sensei_Utils::sensei_user_course_status_message($courseid, $user->user_id);
                $completed_course = WooThemes_Sensei_Utils::user_completed_course($user_course_status);
                $modules = Sensei()->modules->get_course_modules($courseid);
                //$modules_content = Sensei()->modules->course_module_content(  $courseid );
                foreach ($modules as $module) {
                    $module_id = $module->term_id;
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'tax_query' => array(array('taxonomy' => 'module', 'field' => 'id', 'terms' => $module_id)), 'meta_query' => array(array('key' => '_lesson_course', 'value' => $courseid)), 'fields' => 'ids');
                    $lessons = get_posts($args);
                    $completed = false;
                    $lesson_count = 0;
                    $completed_count = 0;
                    foreach ($lessons as $lesson_id) {
                        $completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson_id, $user->user_id);
                        ++$lesson_count;
                        if ($completed) {
                            ++$completed_count;
                        }
                    }
                    $module_progress = $completed_count / $lesson_count * 100;
                    if ($module_progress == 100) {
                        $module_passed[] = 1;
                        $module_name[] = $module->name;
                    }
                    /* 	echo "<pre>";
                    
                    						echo $module_progress;
                    
                    						echo "---<br />";
                    
                    						//print_r($modules_content);
                    
                    						echo "</pre>"; */
                }
                $course_status_info['start'][0];
                $datenow = date('Y-m-d h:i:s');
                $date1 = date_create($course_status_info['start'][0]);
                $date2 = date_create($datenow);
                $diff = date_diff($date1, $date2);
                $diftime = $diff->format("%m");
                if ($diftime < 1) {
                    $diftime = 1;
                }
                $num_of_module_x_difftime = $completionpermonth * $diftime;
                //echo "<br />num_of_module_x_difftime:".$num_of_module_x_difftime;
                //echo count($module_passed)." module passed<br />";
                if (count($module_passed) >= $num_of_module_x_difftime) {
                    $user_info = get_userdata($user->user_id);
                    $array_to_csv[] = array($user_info->display_name, $course_name, join("|", $module_name));
                    //$userid_within_group[$user->user_email] = $user->ID;
                }
                unset($module_name);
                unset($module_passed);
            }
            /* echo "<pre>";
            
            			print_r($array_to_csv);
            
            			echo "</pre>"; */
            convert_to_csv($array_to_csv, 'report-' . md5(date('Y-m-d h:i:s')) . '.csv', ',');
        }
        ?>
		<div class="form-wrap" style="padding:20px;">

			<form action="" method="post">



				<div>

					<label>

						Group:

					</label>

						<?php 
        $groups = $wpdb->get_results('SELECT * FROM `wp_bp_groups`');
        ?>

					<select name="group">

						<?php 
        foreach ($groups as $group) {
            echo "<option value='" . $group->id . "'>";
            echo $group->name;
            echo "</option>";
        }
        ?>

					</select>

				</div>

				<div>

					<label>

						Course:

					</label>



					<?php 
        $course = new WP_Query(array('post_type' => 'course'));
        ?>



					<select name="course">

						<?php 
        // The Loop
        if ($course->have_posts()) {
            while ($course->have_posts()) {
                $course->the_post();
                echo '<option value="' . $course->post->ID . '">' . get_the_title() . '</option>';
            }
        }
        /* Restore original Post Data */
        ?>

					</select>

					<?php 
        wp_reset_postdata();
        ?>

				</div>

				<div>

					<label>

						How many modules should be completed by now?

					</label>

					<input type="text" name="completionpermonth" />

				</div><br /><br />

				<input type="submit" class="button button-primary" name="submittreshold" value="submit" />

			</form>

		</div>





<?php 
    } elseif ($tab == "incremental-progress") {
        wp_enqueue_script('jquery-ui-datepicker');
        wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
        //declare the wpdb for custom query
        global $wpdb;
        //check for submitted data
        if (isset($_POST['submitincrenmental']) && ($_POST['submitincrenmental'] = "submit")) {
            // declare users and variables
            $courseid = $_POST['course'];
            $group_id = $_POST['group'];
            $course_name = get_the_title($courseid);
            $array_to_csv = array(array('Student Name', 'Course Name', 'Percentage Completed', 'Percentage Competent', 'Email'));
            $userincourse = BuddyPress_Sensei_Groups::bp_sensei_get_course_members($courseid);
            $user_in_groups = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM wp_bp_groups_members WHERE group_id = %d", $group_id));
            //user loop ----- loop user get the groups and course the course they take
            foreach ($user_in_groups as $user) {
                //echo "user_id ".$user->user_id."<br />";
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($courseid, $user->user_id);
                $user_course_status = WooThemes_Sensei_Utils::user_course_status($courseid, $user->user_id);
                $course_status_info = get_comment_meta($user_course_status->comment_ID);
                $started_course = WooThemes_Sensei_Utils::user_started_course($courseid, $user->user_id);
                $course_status = WooThemes_Sensei_Utils::sensei_user_course_status_message($courseid, $user->user_id);
                $completed_course = WooThemes_Sensei_Utils::user_completed_course($user_course_status);
                $modules = Sensei()->modules->get_course_modules($courseid);
                //$modules_content = Sensei()->modules->course_module_content(  $courseid );
                foreach ($modules as $module) {
                    $module_id = $module->term_id;
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'tax_query' => array(array('taxonomy' => 'module', 'field' => 'id', 'terms' => $module_id)), 'meta_query' => array(array('key' => '_lesson_course', 'value' => $courseid)), 'fields' => 'ids');
                    $lessons = get_posts($args);
                    $completed = false;
                    $lesson_count = 0;
                    $completed_count = 0;
                    foreach ($lessons as $lesson_id) {
                        $completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson_id, $user->user_id);
                        ++$lesson_count;
                        if ($completed) {
                            ++$completed_count;
                        }
                    }
                    $module_progress = $completed_count / $lesson_count * 100;
                    if ($module_progress == 100) {
                        $module_passed[] = 1;
                    }
                    /* 	echo "<pre>";
                    
                    						echo $module_progress;
                    
                    						echo "---<br />";
                    
                    						//print_r($modules_content);
                    
                    						echo "</pre>"; */
                }
                if ($course_status_info['percent'][0] != 0) {
                    /* echo $user_course_status->comment_date."dsaddas"."<br />"; */
                    $date1 = strtotime($_POST['date1']);
                    $date2 = strtotime($_POST['date2']);
                    $lesson_completion_date_str = strtotime($user_course_status->comment_date);
                    if ($lesson_completion_date_str > $date1 && $lesson_completion_date_str < $date2) {
                        //echo "lesson is completed:".$is_lesson_completed."<br />";
                        //echo "user ".$user->display_name." pass this". $lesson_completion_date;
                        $user_info = get_userdata($user->user_id);
                        $array_to_csv[] = array($user_info->display_name, $course_name, $course_status_info['percent'][0] . '%', $course_user_grade . '%', $user_info->user_email);
                        //$user_id_onrange[$user->ID] = $lesson_item->post_title;
                    }
                }
                unset($module_passed);
            }
            /* echo "<pre>";
            
            						print_r($array_to_csv);
            
            						echo "</pre>";  */
            $daterange1 = $_POST['date1'];
            $daterange2 = $_POST['date2'];
            convert_to_csv($array_to_csv, 'report-inc-progress_' . $daterange1 . '_' . $daterange2 . '_group_' . $groupname . '_courseID_' . $courseid . '.csv', $headers);
        }
        ?>
		<div class="form-wrap" style="padding:20px;">

			<form action="" method="post" id="incrementalval">



				<div>

					<label>

						Group:

					</label>

						<?php 
        $groups = $wpdb->get_results('SELECT * FROM `wp_bp_groups`');
        ?>

					<select name="group">

						<?php 
        foreach ($groups as $group) {
            echo "<option value='" . $group->id . "'>";
            echo $group->name;
            echo "</option>";
        }
        ?>

					</select>

				</div><br />

				<div>

					<label>

						Course:

					</label>



					<?php 
        $course = new WP_Query(array('post_type' => 'course'));
        ?>



					<select name="course">

						<?php 
        // The Loop
        if ($course->have_posts()) {
            while ($course->have_posts()) {
                $course->the_post();
                echo '<option value="' . $course->post->ID . '">' . get_the_title() . '</option>';
            }
        }
        /* Restore original Post Data */
        ?>

					</select>

					<?php 
        wp_reset_postdata();
        ?>

				</div><br />

				<div>

					<label>

						Date:

					</label>

					From<input type="text" id="date1" name="date1" required /> to <input type="text" id="date2" name="date2" required />

				</div><br /><br />

				<input type="submit" class="button button-primary" name="submitincrenmental" value="submit"  />

			</form>

		</div>

		<script>

			jQuery(document).ready(function() {

				jQuery('#date1').datepicker({

					dateFormat : 'yy-mm-dd'

				});

				jQuery('#date2').datepicker({

					dateFormat : 'yy-mm-dd'

				});









			});

		</script>



<?php 
    } elseif ($tab == "total-progress") {
        //declare the wpdb for custom query
        global $wpdb;
        //check for submitted data
        if (isset($_POST['submittotalprogress']) && ($_POST['submittotalprogress'] = "submit")) {
            // declare users and variables
            $courseid = $_POST['course'];
            $group_id = $_POST['group'];
            $course_name = get_the_title($courseid);
            $array_to_csv = array(array('Student Name', 'Course Name', 'Percentage Completed', 'Percentage Competent', 'Email'));
            $userincourse = BuddyPress_Sensei_Groups::bp_sensei_get_course_members($courseid);
            $user_in_groups = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM wp_bp_groups_members WHERE group_id = %d", $group_id));
            //user loop ----- loop user get the groups and course the course they take
            foreach ($user_in_groups as $user) {
                //echo "user_id ".$user->user_id."<br />";
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($courseid, $user->user_id);
                $user_course_status = WooThemes_Sensei_Utils::user_course_status($courseid, $user->user_id);
                $course_status_info = get_comment_meta($user_course_status->comment_ID);
                $started_course = WooThemes_Sensei_Utils::user_started_course($courseid, $user->user_id);
                $course_status = WooThemes_Sensei_Utils::sensei_user_course_status_message($courseid, $user->user_id);
                $completed_course = WooThemes_Sensei_Utils::user_completed_course($user_course_status);
                $modules = Sensei()->modules->get_course_modules($courseid);
                //$modules_content = Sensei()->modules->course_module_content(  $courseid );
                foreach ($modules as $module) {
                    $module_id = $module->term_id;
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'tax_query' => array(array('taxonomy' => 'module', 'field' => 'id', 'terms' => $module_id)), 'meta_query' => array(array('key' => '_lesson_course', 'value' => $courseid)), 'fields' => 'ids');
                    $lessons = get_posts($args);
                    $completed = false;
                    $lesson_count = 0;
                    $completed_count = 0;
                    foreach ($lessons as $lesson_id) {
                        $completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson_id, $user->user_id);
                        ++$lesson_count;
                        if ($completed) {
                            ++$completed_count;
                        }
                    }
                    $module_progress = $completed_count / $lesson_count * 100;
                    if ($module_progress == 100) {
                        $module_passed[] = 1;
                    }
                }
                $user_info = get_userdata($user->user_id);
                if ($user->user_id != 1) {
                    $percentcomplete = $course_status_info['percent'][0];
                    if ($percentcomplete == "") {
                        $percentcomplete = '0';
                    }
                    $array_to_csv[] = array($user_info->display_name, $course_name, $percentcomplete . '%', $course_user_grade . '%', $user_info->user_email);
                }
            }
            convert_to_csv($array_to_csv, 'report-total-progress_' . date('Y-m-d') . '_group_' . $groupname . '_courseID_' . $courseid . '.csv', ',');
        }
        ?>
		<div class="form-wrap" style="padding:20px;">

			<form action="" method="post">



				<div>

					<label>

						Group:

					</label>

						<?php 
        $groups = $wpdb->get_results('SELECT * FROM `wp_bp_groups`');
        ?>

					<select name="group">

						<?php 
        foreach ($groups as $group) {
            echo "<option value='" . $group->id . "'>";
            echo $group->name;
            echo "</option>";
        }
        ?>

					</select>

				</div>

				<div>

					<label>

						Course:

					</label>



					<?php 
        $course = new WP_Query(array('post_type' => 'course'));
        ?>



					<select name="course">

						<?php 
        // The Loop
        if ($course->have_posts()) {
            while ($course->have_posts()) {
                $course->the_post();
                echo '<option value="' . $course->post->ID . '">' . get_the_title() . '</option>';
            }
        }
        /* Restore original Post Data */
        ?>

					</select>

					<?php 
        wp_reset_postdata();
        ?>

				</div>

				<br /><br />

				<input type="submit" class="button button-primary" name="submittotalprogress" value="submit" />

			</form>

		</div>





<?php 
    } elseif ($tab == "master-report") {
        //declare the wpdb for custom query
        global $wpdb;
        global $woothemes_sensei, $post, $current_user, $wp_query, $learner_user;
        //check for submitted data
        if (isset($_POST['master-report']) && ($_POST['master-report'] = "submit")) {
            // declare users and variables
            $courseid = $_POST['course'];
            $group_id = $_POST['group'];
            $course_name = get_the_title($courseid);
            $array_to_csv = array(array('Student Name', 'Course Name', 'Percentage Completed', 'Percentage Competent', 'Email'));
            $userincourse = BuddyPress_Sensei_Groups::bp_sensei_get_course_members($courseid);
            $user_in_groups = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM wp_bp_groups_members WHERE group_id = %d", $group_id));
            //user loop ----- loop user get the groups and course the course they take
            $maincontent = "";
            $countloop_user = 0;
            $lesson_title = "<th align='center'>User</th>";
            foreach ($user_in_groups as $user) {
                $maincontent .= "<tr>";
                $user_info = get_userdata($user->user_id);
                $maincontent .= "<td>" . $user_info->display_name . "</td>";
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($courseid, $user->user_id);
                $user_course_status = WooThemes_Sensei_Utils::user_course_status($courseid, $user->user_id);
                $course_status_info = get_comment_meta($user_course_status->comment_ID);
                $started_course = WooThemes_Sensei_Utils::user_started_course($courseid, $user->user_id);
                $course_status = WooThemes_Sensei_Utils::sensei_user_course_status_message($courseid, $user->user_id);
                $completed_course = WooThemes_Sensei_Utils::user_completed_course($user_course_status);
                $modules = Sensei()->modules->get_course_modules($courseid);
                //$modules_content = Sensei()->modules->course_module_content(  $courseid );
                foreach ($modules as $module) {
                    $module_id = $module->term_id;
                    $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'tax_query' => array(array('taxonomy' => 'module', 'field' => 'id', 'terms' => $module_id)), 'meta_query' => array(array('key' => '_lesson_course', 'value' => $courseid)), 'fields' => 'ids', 'order' => 'ASC');
                    $lessons = get_posts($args);
                    $completed = false;
                    $lesson_count = 0;
                    $completed_count = 0;
                    foreach ($lessons as $lesson_id) {
                        if ($countloop_user != 1) {
                            $lesson_title .= "<th style=\"font-size:10px;\">";
                            $lesson_title .= get_the_title($lesson_id);
                            $lesson_title .= "</th>";
                        }
                        // Get quiz pass setting
                        $pass_required = get_post_meta($lesson_id, '_pass_required', true);
                        // Get quiz pass mark
                        $quiz_passmark = abs(round(doubleval(get_post_meta($lesson_id, '_quiz_passmark', true)), 2));
                        // Get latest quiz answers and grades
                        //$lesson_id = $woothemes_sensei->quiz->get_lesson_id( $lesson_id );
                        $user_quizzes = $woothemes_sensei->quiz->get_user_answers($lesson_id, $user->user_id);
                        $user_lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_id, $user->user_id);
                        $user_quiz_grade = 0;
                        if (isset($user_lesson_status->comment_ID)) {
                            $user_quiz_grade = get_comment_meta($user_lesson_status->comment_ID, 'grade', true);
                        }
                        // Check again that the lesson is complete
                        $user_lesson_end = WooThemes_Sensei_Utils::user_completed_lesson($user_lesson_status);
                        $completed = WooThemes_Sensei_Utils::user_completed_lesson($lesson_id, $user->user_id);
                        /* 							echo "<pre>";
                        
                        							echo get_the_title($lesson_id);
                        
                        							echo 'pass_required:'."<br />";
                        
                        							print_r($pass_required);
                        
                        
                        
                        							echo 'quiz_passmark:<br />';
                        
                        							print_r($quiz_passmark);
                        
                        
                        
                        							echo 'user_quizzes:<br />';
                        
                        							print_r($user_quizzes);
                        
                        
                        
                        							echo 'user_lesson_status:<br />';
                        
                        							print_r($user_lesson_status);
                        
                        
                        
                        							echo 'Percent Competent:<br />';
                        
                        							print_r($user_quiz_grade);
                        
                        
                        
                        							echo 'completed--:'.$completed."<br />";
                        
                        							echo 'user_lesson_end--:'.$user_lesson_end."<br />";
                        
                        
                        
                        
                        
                        							echo "_quiz_has_questions:".get_post_meta( $lesson_id, '_quiz_has_questions', true )."<br /><br />";
                        
                        							echo "this is the lersson info-----------------:";
                        
                        							 print_r(get_comment_meta( $user_lesson_status->comment_ID ));
                        
                        							$lessonquizdata = get_comment_meta( $user_lesson_status->comment_ID );
                        
                        							echo "lessonquizdata---:";
                        
                        								print_r(unserialize($lessonquizdata['quiz_answers'][0]));
                        
                        							echo "</pre>";	 */
                        $maincontent .= "<td>";
                        if ($completed == 1) {
                            $percentcompleted = '100%';
                        } else {
                            $lessonquizdata = get_comment_meta($user_lesson_status->comment_ID);
                            $lessonquizdata_asked = count(explode(",", $lessonquizdata['questions_asked'][0]));
                            $lessonquizdataanswered_quiz = count(unserialize($lessonquizdata['quiz_answers'][0]));
                            $lquizcounter = 0;
                            foreach ($lessonquizdataanswered_quiz as $lquiz) {
                                if ($lquiz != "") {
                                    $lquizcounter++;
                                }
                            }
                            /* echo "<pre>";
                            
                            								echo $lessonquizdata_asked."<br />";
                            
                            								print_r($lessonquizdata);
                            
                            								print_r(unserialize($lessonquizdata['quiz_answers'][0]));
                            
                            								echo "</pre>"; */
                            if ($user_lesson_status->comment_approved == "passed" || $user_lesson_status->comment_approved == "graded") {
                                $percentcompleted = '100%';
                            } else {
                                $percentcompleted = get_percentage($lessonquizdata_asked, $lquizcounter) . '%';
                            }
                        }
                        $maincontent .= '%S: ' . $percentcompleted . "<br />";
                        $maincontent .= '%C: ' . $user_quiz_grade . "%";
                        $maincontent .= "</td>";
                        ++$lesson_count;
                        if ($completed) {
                            ++$completed_count;
                        }
                    }
                    $module_progress = $completed_count / $lesson_count * 100;
                    if ($module_progress == 100) {
                        $module_passed[] = 1;
                    }
                }
                $countloop_user = 1;
                $user_info = get_userdata($user->user_id);
                $completionpermonth = groups_get_groupmeta($group_id, 'sensei_threshold', true);
                if (count($module_passed) >= $completionpermonth) {
                    $ontract = "yes";
                } else {
                    $ontract = "no";
                }
                $maincontent .= "<td>" . $ontract . "</td>";
                if ($completed_course == 1) {
                    $completed_course = $user_course_status->comment_date;
                } else {
                    $completed_course = "No";
                }
                $maincontent .= "<td>" . $completed_course . "</td>";
                $maincontent .= "</tr>";
                unset($module_passed);
            }
            echo '<table  class="wp-list-table widefat fixed striped pages" style="width:500%; border-spacing: 0; text-align:center;" >';
            echo "<tr>";
            echo $lesson_title;
            echo "<td>On Track Or Not</td>";
            echo "<td>Course Completed</td>";
            echo "</tr>";
            echo $maincontent;
            echo "</table>";
            /* echo "<pre>";
            
            						print_r($array_to_csv);
            
            						echo "</pre>"; */
            //convert_to_csv($array_to_csv, 'report-total-progress_'.date('Y-m-d').'_group_'.$groupname.'_courseID_'.$courseid.'.csv', ',');
        }
        ?>
		<div class="form-wrap" style="padding:20px;">

			<form action="" method="post">



				<div>

					<label>

						Group:

					</label>

						<?php 
        $groups = $wpdb->get_results('SELECT * FROM `wp_bp_groups`');
        ?>

					<select name="group" required>

						<option value="">- Select One -</option>

						<?php 
        foreach ($groups as $group) {
            echo "<option value='" . $group->id . "'>";
            echo $group->name;
            echo "</option>";
        }
        ?>

					</select>

				</div>

				<div>

					<label>

						Course:

					</label>



					<?php 
        $course = new WP_Query(array('post_type' => 'course'));
        ?>



					<select name="course" required>

						<option value="">- Select One -</option>

						<?php 
        // The Loop
        if ($course->have_posts()) {
            while ($course->have_posts()) {
                $course->the_post();
                echo '<option value="' . $course->post->ID . '">' . get_the_title() . '</option>';
            }
        }
        /* Restore original Post Data */
        ?>

					</select>

					<?php 
        wp_reset_postdata();
        ?>

				</div>

				<br /><br />

				<input type="submit" class="button button-primary" name="master-report" value="submit" />

			</form>

		</div>





<?php 
    }
    //end master-report
    echo '</div>';
}
$html .= '<h2>' . apply_filters('sensei_lessons_text', __('Lessons', 'woothemes-sensei')) . '</h2>';
$html .= '</header>';
$lesson_count = 1;
$lessons_completed = count(Sensei()->course->get_completed_lesson_ids($post->ID, $current_user->ID));
$show_lesson_numbers = false;
foreach ($course_lessons as $lesson_item) {
    //skip lesson that are already in the modules
    if (false != Sensei()->modules->get_lesson_module($lesson_item->ID)) {
        continue;
    }
    $single_lesson_complete = false;
    $post_classes = array('course', 'post');
    $user_lesson_status = false;
    if (is_user_logged_in()) {
        // Check if Lesson is complete
        $single_lesson_complete = WooThemes_Sensei_Utils::user_completed_lesson($lesson_item->ID, $current_user->ID);
        if ($single_lesson_complete) {
            $post_classes[] = 'lesson-completed';
        }
        // End If Statement
    }
    // End If Statement
    // Get Lesson data
    $complexity_array = $woothemes_sensei->post_types->lesson->lesson_complexities();
    $lesson_length = get_post_meta($lesson_item->ID, '_lesson_length', true);
    $lesson_complexity = get_post_meta($lesson_item->ID, '_lesson_complexity', true);
    if ('' != $lesson_complexity) {
        $lesson_complexity = $complexity_array[$lesson_complexity];
    }
    $user_info = get_userdata(absint($lesson_item->post_author));
    $is_preview = WooThemes_Sensei_Utils::is_preview_lesson($lesson_item->ID);
    public function sensei_quiz_action_buttons()
    {
        global $post, $current_user, $woothemes_sensei;
        $lesson_id = (int) get_post_meta($post->ID, '_quiz_lesson', true);
        $lesson_course_id = (int) get_post_meta($lesson_id, '_lesson_course', true);
        $lesson_prerequisite = (int) get_post_meta($lesson_id, '_lesson_prerequisite', true);
        $show_actions = true;
        if (intval($lesson_prerequisite) > 0) {
            // If the user hasn't completed the prereq then hide the current actions
            $show_actions = WooThemes_Sensei_Utils::user_completed_lesson($lesson_prerequisite, $user_id);
        }
        if ($show_actions && is_user_logged_in() && WooThemes_Sensei_Utils::user_started_course($lesson_course_id, $current_user->ID)) {
            // Get Reset Settings
            $reset_quiz_allowed = get_post_meta($post->ID, '_enable_quiz_reset', true);
            ?>
			<input type="hidden" name="<?php 
            echo esc_attr('woothemes_sensei_complete_quiz_noonce');
            ?>
" id="<?php 
            echo esc_attr('woothemes_sensei_complete_quiz_noonce');
            ?>
" value="<?php 
            echo esc_attr(wp_create_nonce('woothemes_sensei_complete_quiz_noonce'));
            ?>
" />
		    <?php 
            if ('' == $this->data->user_quiz_grade) {
                ?>
		 	<span><input type="submit" name="quiz_complete" class="quiz-submit complete" value="<?php 
                echo apply_filters('sensei_complete_quiz_text', __('Complete Quiz', 'woothemes-sensei'));
                ?>
"/></span>
		 	<span><input type="submit" name="quiz_complete" class="quiz-submit save" value="<?php 
                echo apply_filters('sensei_save_quiz_text', __('Save Quiz', 'woothemes-sensei'));
                ?>
"/></span>
		     <?php 
            }
            // End If Statement
            ?>
	          <?php 
            if (isset($reset_quiz_allowed) && $reset_quiz_allowed) {
                ?>
		 	   <span><input type="submit" name="quiz_complete" class="quiz-submit reset" value="<?php 
                echo apply_filters('sensei_reset_quiz_text', __('Reset Quiz', 'woothemes-sensei'));
                ?>
"/></span>
		     <?php 
            }
            ?>
        <?php 
        }
    }
 /**
  * check_user_permissions function.
  *
  * @access public
  * @param string $page (default: '')
  * @param array $data (default: array())
  * @return void
  */
 public function check_user_permissions($page = '', $data = array())
 {
     // REFACTOR
     global $current_user, $post;
     if (!isset($current_user)) {
         return;
     }
     // Get User Meta
     get_currentuserinfo();
     $user_allowed = false;
     switch ($page) {
         case 'course-single':
             // check for prerequisite course or lesson,
             $course_prerequisite_id = (int) get_post_meta($post->ID, '_course_prerequisite', true);
             $update_course = $this->woocommerce_course_update($post->ID);
             // Count completed lessons
             if (0 < absint($course_prerequisite_id)) {
                 $prerequisite_complete = WooThemes_Sensei_Utils::user_completed_course($course_prerequisite_id, $current_user->ID);
             } else {
                 $prerequisite_complete = true;
             }
             // End If Statement
             // Handles restrictions
             if (!$prerequisite_complete && 0 < absint($course_prerequisite_id)) {
                 $this->permissions_message['title'] = get_the_title($post->ID) . ': ' . __('Restricted Access', 'woothemes-sensei');
                 $course_link = '<a href="' . esc_url(get_permalink($course_prerequisite_id)) . '">' . __('course', 'woothemes-sensei') . '</a>';
                 $this->permissions_message['message'] = sprintf(__('Please complete the previous %1$s before taking this course.', 'woothemes-sensei'), $course_link);
             } else {
                 $user_allowed = true;
             }
             // End If Statement
             break;
         case 'lesson-single':
             // Check for WC purchase
             $lesson_course_id = get_post_meta($post->ID, '_lesson_course', true);
             $update_course = $this->woocommerce_course_update($lesson_course_id);
             $is_preview = WooThemes_Sensei_Utils::is_preview_lesson($post->ID);
             if ($this->access_settings() && WooThemes_Sensei_Utils::user_started_course($lesson_course_id, $current_user->ID)) {
                 $user_allowed = true;
             } elseif ($this->access_settings() && false == $is_preview) {
                 $user_allowed = true;
             } else {
                 $this->permissions_message['title'] = get_the_title($post->ID) . ': ' . __('Restricted Access', 'woothemes-sensei');
                 $course_link = '<a href="' . esc_url(get_permalink($lesson_course_id)) . '">' . __('course', 'woothemes-sensei') . '</a>';
                 $wc_post_id = get_post_meta($lesson_course_id, '_course_woocommerce_product', true);
                 if (WooThemes_Sensei_Utils::sensei_is_woocommerce_activated() && 0 < $wc_post_id) {
                     if ($is_preview) {
                         $this->permissions_message['message'] = sprintf(__('This is a preview lesson. Please purchase the %1$s to access all lessons.', 'woothemes-sensei'), $course_link);
                     } else {
                         $this->permissions_message['message'] = apply_filters('sensei_please_purchase_course_text', sprintf(__('Please purchase the %1$s before starting this Lesson.', 'woothemes-sensei'), $course_link));
                     }
                 } else {
                     if ($is_preview) {
                         $this->permissions_message['message'] = sprintf(__('This is a preview lesson. Please sign up for the %1$s to access all lessons.', 'woothemes-sensei'), $course_link);
                     } else {
                         /** This filter is documented in class-woothemes-sensei-frontend.php */
                         $this->permissions_message['message'] = apply_filters('sensei_please_sign_up_text', sprintf(__('Please sign up for the %1$s before starting the lesson.', 'woothemes-sensei'), $course_link));
                     }
                 }
                 // End If Statement
             }
             // End If Statement
             break;
         case 'quiz-single':
             $lesson_id = get_post_meta($post->ID, '_quiz_lesson', true);
             $lesson_course_id = get_post_meta($lesson_id, '_lesson_course', true);
             $update_course = $this->woocommerce_course_update($lesson_course_id);
             if ($this->access_settings() && WooThemes_Sensei_Utils::user_started_course($lesson_course_id, $current_user->ID) || sensei_all_access()) {
                 // Check for prerequisite lesson for this quiz
                 $lesson_prerequisite_id = (int) get_post_meta($lesson_id, '_lesson_prerequisite', true);
                 $user_lesson_prerequisite_complete = WooThemes_Sensei_Utils::user_completed_lesson($lesson_prerequisite_id, $current_user->ID);
                 // Handle restrictions
                 if (sensei_all_access()) {
                     $user_allowed = true;
                 } else {
                     if (0 < absint($lesson_prerequisite_id) && !$user_lesson_prerequisite_complete) {
                         $this->permissions_message['title'] = get_the_title($post->ID) . ': ' . __('Restricted Access', 'woothemes-sensei');
                         $lesson_link = '<a href="' . esc_url(get_permalink($lesson_prerequisite_id)) . '">' . __('lesson', 'woothemes-sensei') . '</a>';
                         $this->permissions_message['message'] = sprintf(__('Please complete the previous %1$s before taking this Quiz.', 'woothemes-sensei'), $lesson_link);
                     } else {
                         $user_allowed = true;
                     }
                     // End If Statement
                 }
                 // End If Statement
             } elseif ($this->access_settings()) {
                 // Check if the user has started the course
                 if (is_user_logged_in() && !WooThemes_Sensei_Utils::user_started_course($lesson_course_id, $current_user->ID) && (isset($this->settings->settings['access_permission']) && true == $this->settings->settings['access_permission'])) {
                     $user_allowed = false;
                     $this->permissions_message['title'] = get_the_title($post->ID) . ': ' . __('Restricted Access', 'woothemes-sensei');
                     $course_link = '<a href="' . esc_url(get_permalink($lesson_course_id)) . '">' . __('course', 'woothemes-sensei') . '</a>';
                     $wc_post_id = get_post_meta($lesson_course_id, '_course_woocommerce_product', true);
                     if (WooThemes_Sensei_Utils::sensei_is_woocommerce_activated() && 0 < $wc_post_id) {
                         $this->permissions_message['message'] = sprintf(__('Please purchase the %1$s before starting this Quiz.', 'woothemes-sensei'), $course_link);
                     } else {
                         $this->permissions_message['message'] = sprintf(__('Please sign up for the %1$s before starting this Quiz.', 'woothemes-sensei'), $course_link);
                     }
                     // End If Statement
                 } else {
                     $user_allowed = true;
                 }
                 // End If Statement
             } else {
                 $this->permissions_message['title'] = get_the_title($post->ID) . ': ' . __('Restricted Access', 'woothemes-sensei');
                 $course_link = '<a href="' . esc_url(get_permalink(get_post_meta(get_post_meta($post->ID, '_quiz_lesson', true), '_lesson_course', true))) . '">' . __('course', 'woothemes-sensei') . '</a>';
                 $this->permissions_message['message'] = sprintf(__('Please sign up for the %1$s before taking this Quiz.', 'woothemes-sensei'), $course_link);
             }
             // End If Statement
             break;
         default:
             $user_allowed = true;
             break;
     }
     // End Switch Statement
     /**
      * filter the permissions message shown on sensei post types.
      *
      * @since 1.8.7
      *
      * @param array $permissions_message{
      *
      *   @type string $title
      *   @type string $message
      *
      * }
      * @param string $post_id
      */
     $this->permissions_message = apply_filters('sensei_permissions_message', $this->permissions_message, $post->ID);
     if (sensei_all_access() || WooThemes_Sensei_Utils::is_preview_lesson($post->ID)) {
         $user_allowed = true;
     }
     return apply_filters('sensei_access_permissions', $user_allowed);
 }
    ?>

        	    <?php 
    while (have_posts()) {
        the_post();
        // Meta data
        $post_id = get_the_ID();
        ?>

					<?php 
        $single_lesson_complete = false;
        $user_lesson_status = false;
        if (is_user_logged_in()) {
            // Check if Lesson is complete
            $user_lesson_status = WooThemes_Sensei_Utils::user_lesson_status($post_id, $current_user->ID);
            if (WooThemes_Sensei_Utils::user_completed_lesson($user_lesson_status)) {
                $single_lesson_complete = true;
            }
        }
        // End If Statement
        $complexity_array = $woothemes_sensei->post_types->lesson->lesson_complexities();
        $lesson_length = get_post_meta($post_id, '_lesson_length', true);
        $lesson_complexity = get_post_meta($post_id, '_lesson_complexity', true);
        if ('' != $lesson_complexity) {
            $lesson_complexity = $complexity_array[$lesson_complexity];
        }
        $user_info = get_userdata(absint(get_the_author_meta('ID')));
        $html = '<article class="' . esc_attr(join(' ', get_post_class(array('lesson', 'course', 'post'), $post_id))) . '">';
        $html .= '<header>';
        $html .= '<h2><a href="' . esc_url(get_permalink($post_id)) . '" title="' . esc_attr(sprintf(__('Start %s', 'woothemes-sensei'), get_the_title())) . '">';
        if (apply_filters('sensei_show_lesson_numbers', false)) {