Differences Between: [Versions 311 and 403]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * List of deprecated mod_lesson functions. 19 * 20 * @package mod_lesson 21 * @copyright 2021 Shamim Rezaie <shamim@moodle.com> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 /** 26 * Obtains the automatic completion state for this lesson based on any conditions 27 * in lesson settings. 28 * 29 * @deprecated since Moodle 3.11 30 * @todo MDL-71196 Final deprecation in Moodle 4.3 31 * @see \mod_lesson\completion\custom_completion 32 * @param stdClass $course Course 33 * @param cm_info|stdClass $cm course-module 34 * @param int $userid User ID 35 * @param bool $type Type of comparison (or/and; can be used as return value if no conditions) 36 * @return bool True if completed, false if not, $type if conditions not set. 37 */ 38 function lesson_get_completion_state($course, $cm, $userid, $type) { 39 global $DB; 40 41 // No need to call debugging here. Deprecation debugging notice already being called in \completion_info::internal_get_state(). 42 43 // Get lesson details. 44 $lesson = $DB->get_record('lesson', array('id' => $cm->instance), '*', MUST_EXIST); 45 46 $result = $type; // Default return value. 47 // If completion option is enabled, evaluate it and return true/false. 48 if ($lesson->completionendreached) { 49 $value = $DB->record_exists('lesson_timer', array('lessonid' => $lesson->id, 'userid' => $userid, 'completed' => 1)); 50 if ($type == COMPLETION_AND) { 51 $result = $result && $value; 52 } else { 53 $result = $result || $value; 54 } 55 } 56 if ($lesson->completiontimespent != 0) { 57 $duration = $DB->get_field_sql( 58 "SELECT SUM(lessontime - starttime) 59 FROM {lesson_timer} 60 WHERE lessonid = :lessonid 61 AND userid = :userid", 62 array('userid' => $userid, 'lessonid' => $lesson->id)); 63 if (!$duration) { 64 $duration = 0; 65 } 66 if ($type == COMPLETION_AND) { 67 $result = $result && ($lesson->completiontimespent < $duration); 68 } else { 69 $result = $result || ($lesson->completiontimespent < $duration); 70 } 71 } 72 return $result; 73 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body