PageRenderTime 48ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/wp-content/plugins/woothemes-sensei/templates/course-results/lessons.php

https://gitlab.com/ezgonzalez/integral
PHP | 174 lines | 97 code | 52 blank | 25 comment | 10 complexity | 94ed5860c5b153c3a379acd5243c3f3b MD5 | raw file
  1. <?php
  2. if ( ! defined( 'ABSPATH' ) ) exit;
  3. /**
  4. * The Template for displaying all course lessons on the course results page.
  5. *
  6. * Override this template by copying it to yourtheme/sensei/course-results/course-lessons.php
  7. *
  8. * @author Automattic
  9. * @package Sensei
  10. * @category Templates
  11. * @version 1.9.0
  12. */
  13. global $course;
  14. ?>
  15. <?php if ( is_user_logged_in() ): ?>
  16. <?php
  17. /**
  18. * Fires inside course-results/lessons.php after the
  19. * is uer logged check, just above the lessons header.
  20. * @since 1.4.0
  21. */
  22. do_action( 'sensei_course_results_before_lessons', $course->ID );
  23. ?>
  24. <header>
  25. <h2> <?php _e( 'Lessons', 'woothemes-sensei' ); ?> </h2>
  26. </header>
  27. <article class="<?php esc_attr_e( join( ' ', get_post_class( array( 'course', 'post' ), $course->ID ) ) ); ?> ">
  28. <?php
  29. $displayed_lessons = array();
  30. $modules = Sensei()->modules->get_course_modules( intval( $course->ID ) );
  31. // List modules with lessons
  32. $course_has_lessons_in_modules = false;
  33. foreach( $modules as $module ) {
  34. $lessons_query = Sensei()->modules->get_lessons_query( $course->ID, $module->term_id );
  35. $lessons = $lessons_query->get_posts();
  36. if( count( $lessons ) > 0 ) {
  37. $course_has_lessons_in_modules = true;
  38. ?>
  39. <h3> <?php echo $module->name; ?></h3>
  40. <?php
  41. $count = 0;
  42. foreach( $lessons as $lesson ) {
  43. $lesson_grade = 'n/a';
  44. $has_questions = get_post_meta( $lesson->ID, '_quiz_has_questions', true );
  45. if ( $has_questions ) {
  46. $lesson_status = Sensei_Utils::user_lesson_status( $lesson->ID, get_current_user_id() );
  47. // Get user quiz grade
  48. $lesson_grade = get_comment_meta( $lesson_status->comment_ID, 'grade', true );
  49. if ( $lesson_grade ) {
  50. $lesson_grade .= '%';
  51. }
  52. }
  53. ?>
  54. <h2>
  55. <a href="<?php esc_url_raw( get_permalink( $lesson->ID ) ); ?>"
  56. title="<?php esc_attr_e( sprintf( __( 'Start %s', 'woothemes-sensei' ), $lesson->post_title ) ); ?>">
  57. <?php esc_html_e( $lesson->post_title ); ?>
  58. </a>
  59. <span class="lesson-grade">
  60. <?php echo $lesson_grade; ?>
  61. </span>
  62. </h2>
  63. <?php
  64. }// end for each
  65. }// end if count lesson
  66. } // end for each module
  67. ?>
  68. <?php
  69. $lessons = Sensei()->modules->get_none_module_lessons( $course->ID );
  70. if( 0 < count( $lessons ) ): ?>
  71. <h3>
  72. <?php
  73. // lesson title will already appear above
  74. if ( $course_has_lessons_in_modules ) {
  75. _e( 'Other Lessons', 'woothemes-sensei' );
  76. }
  77. ?>
  78. </h3>
  79. <?php foreach ( $lessons as $lesson ): ?>
  80. <?php
  81. $lesson_grade = 'n/a';
  82. $has_questions = get_post_meta( $lesson->ID, '_quiz_has_questions', true );
  83. if ( $has_questions ) {
  84. $lesson_status = Sensei_Utils::user_lesson_status( $lesson->ID, get_current_user_id());
  85. // Get user quiz grade
  86. $lesson_grade = '';
  87. if( ! empty( $lesson_status ) ) {
  88. $lesson_grade = get_comment_meta( $lesson_status->comment_ID, 'grade', true );
  89. if ( $lesson_grade ) {
  90. $lesson_grade .= '%';
  91. }
  92. }
  93. }
  94. ?>
  95. <h2>
  96. <a href="<?php echo esc_url_raw( get_permalink( $lesson->ID ) ) ?>" title="<?php esc_attr_e( sprintf( __( 'Start %s', 'woothemes-sensei' ), $lesson->post_title ) ) ?>" >
  97. <?php esc_html_e( sprintf( __( '%s', 'woothemes-sensei' ), $lesson->post_title ) ); ?>
  98. </a>
  99. <span class="lesson-grade"><?php echo $lesson_grade; ?></span>
  100. </h2>
  101. <?php endforeach; // lessons ?>
  102. <?php endif; // lessons count > 0 ?>
  103. <h2 class="total-grade">
  104. <?php _e( 'Total Grade', 'woothemes-sensei' ); ?>
  105. <span class="lesson-grade">
  106. <?php
  107. $course_user_grade = Sensei_Utils::sensei_course_user_grade( $course->ID, get_current_user_id() );
  108. echo $course_user_grade . '%';
  109. ?>
  110. </span>
  111. </h2>
  112. </article>
  113. <?php
  114. /**
  115. * Fires inside course-results/lessons.php after the
  116. * is uer logged check, at the bottom of all lessons.
  117. *
  118. * @since 1.4.0
  119. */
  120. do_action( 'sensei_course_results_after_lessons', $course->ID );
  121. ?>
  122. <?php endif; //user logged in ?>