From c2237a3059779142921e6ed6c92a9b6fb808f5d0 Mon Sep 17 00:00:00 2001 From: PMKuipers Date: Sun, 27 Aug 2023 23:38:16 +0200 Subject: [PATCH] PHPDoc documentation --- classes/completion.php | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/classes/completion.php b/classes/completion.php index 8d6497a..6c2254c 100644 --- a/classes/completion.php +++ b/classes/completion.php @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see . /** - * + * Completion model * @package local_treestudyplan * @copyright 2023 P.M. Kuipers * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -25,15 +25,29 @@ defined('MOODLE_INTERNAL') || die(); require_once($CFG->libdir.'/externallib.php'); +/** + * Model of different completion states + */ class completion { + /** @var int */ public const FAILED = -1; + /** @var int */ public const INCOMPLETE = 0; + /** @var int */ public const PENDING = 1; + /** @var int */ public const PROGRESS = 2; + /** @var int */ public const COMPLETED = 3; + /** @var int */ public const GOOD = 4; + /** @var int */ public const EXCELLENT = 5; + /** + * Map of completion state constants to string labels + * @var array + */ private const LABELS = [ self::FAILED => 'failed', self::INCOMPLETE => 'incomplete', @@ -44,6 +58,11 @@ class completion { self::EXCELLENT => 'excellent', ]; + /** + * Convert completion state to equivalent text label + * @param int $completion + * @return string + */ public static function label($completion) { if (array_key_exists($completion, self::LABELS)) { return self::LABELS[$completion]; @@ -52,12 +71,22 @@ class completion { } } + /** + * Webservice structure for basic info + * @param int $value Webservice requirement constant + * @return \external_description Webservice output structure + */ public static function structure($value = VALUE_REQUIRED) { return new \external_value( PARAM_TEXT, 'completion state (failed|incomplete|pending|progress|completed|good|excellent)', $value); } + /** + * Count how many times each state occurs in a given array of completion states + * @param int[] $states The array of completion states + * @return array of state counts + */ public static function count_states(array $states) { // Initialize result array. $statecount = [];