MDL-30995 completion: Fixed up PHPdocs for activity completion
This commit is contained in:
committed by
Ankit Agarwal
parent
23778a4dfa
commit
836375ec8a
@@ -1,65 +1,75 @@
|
||||
<?php
|
||||
// This file is part of Moodle - http://moodle.org/
|
||||
//
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Moodle is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// NOTICE OF COPYRIGHT //
|
||||
// //
|
||||
// Moodle - Modular Object-Oriented Dynamic Learning Environment //
|
||||
// http://moodle.com //
|
||||
// //
|
||||
// Copyright (C) 1999 onwards Martin Dougiamas http://dougiamas.com //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
// the Free Software Foundation; either version 2 of the License, or //
|
||||
// (at your option) any later version. //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License for more details: //
|
||||
// //
|
||||
// http://www.gnu.org/copyleft/gpl.html //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* Course completion critieria aggregation
|
||||
*
|
||||
* @package core_completion
|
||||
* @category completion
|
||||
* @copyright 2009 Catalyst IT Ltd
|
||||
* @author Aaron Barnes <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
/**
|
||||
* A data abstraction object that holds methods and attributes
|
||||
* @abstract
|
||||
*
|
||||
* @package core_completion
|
||||
* @category completion
|
||||
* @copyright 2009 Catalyst IT Ltd
|
||||
* @author Aaron Barnes <[email protected]>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
abstract class data_object {
|
||||
|
||||
/**
|
||||
* Table that the class maps to in the database
|
||||
* @var string $table
|
||||
* @var string
|
||||
*/
|
||||
public $table;
|
||||
|
||||
/**
|
||||
* Array of required table fields, must start with 'id'.
|
||||
* @var array $required_fields
|
||||
* @var array
|
||||
*/
|
||||
public $required_fields = array('id');
|
||||
|
||||
/**
|
||||
* Array of optional fields with default values - usually long text information that is not always needed.
|
||||
* If you want to create an instance without optional fields use: new data_object($only_required_fields, false);
|
||||
* @var array $optional_fields
|
||||
* @var array
|
||||
*/
|
||||
public $optional_fields = array();
|
||||
|
||||
/**
|
||||
* The PK.
|
||||
* The primary key
|
||||
* @var int $id
|
||||
*/
|
||||
public $id;
|
||||
|
||||
/**
|
||||
* Constructor. Optionally (and by default) attempts to fetch corresponding row from DB.
|
||||
*
|
||||
* @param array $params an array with required parameters for this data object.
|
||||
* @param boolean $fetch Whether to fetch corresponding row from DB or not,
|
||||
* @param bool $fetch Whether to fetch corresponding row from DB or not,
|
||||
* optional fields might not be defined if false used
|
||||
*/
|
||||
public function __construct($params=NULL, $fetch=true) {
|
||||
public function __construct($params = NULL, $fetch = true) {
|
||||
if (!empty($params) and (is_array($params) or is_object($params))) {
|
||||
if ($fetch) {
|
||||
if ($data = $this->fetch($params)) {
|
||||
@@ -80,6 +90,7 @@ abstract class data_object {
|
||||
|
||||
/**
|
||||
* Makes sure all the optional fields are loaded.
|
||||
*
|
||||
* If id present (==instance exists in db) fetches data from db.
|
||||
* Defaults are used for new instances.
|
||||
*/
|
||||
@@ -99,10 +110,12 @@ abstract class data_object {
|
||||
|
||||
/**
|
||||
* Finds and returns a data_object instance based on params.
|
||||
* @static abstract
|
||||
*
|
||||
* @param array $params associative arrays varname=>value
|
||||
* @return object data_object instance or false if none found.
|
||||
* This function MUST be overridden by all deriving classes.
|
||||
*
|
||||
* @param array $params associative arrays varname => value
|
||||
* @throws coding_exception This function MUST be overridden
|
||||
* @return data_object instance of data_object or false if none found.
|
||||
*/
|
||||
public static function fetch($params) {
|
||||
throw new coding_exception('fetch() method needs to be overridden in each subclass of data_object');
|
||||
@@ -111,7 +124,10 @@ abstract class data_object {
|
||||
/**
|
||||
* Finds and returns all data_object instances based on params.
|
||||
*
|
||||
* @param array $params associative arrays varname=>value
|
||||
* This function MUST be overridden by all deriving classes.
|
||||
*
|
||||
* @param array $params associative arrays varname => value
|
||||
* @throws coding_exception This function MUST be overridden
|
||||
* @return array array of data_object instances or false if none found.
|
||||
*/
|
||||
public static function fetch_all($params) {
|
||||
@@ -120,8 +136,12 @@ abstract class data_object {
|
||||
|
||||
/**
|
||||
* Factory method - uses the parameters to retrieve matching instance from the DB.
|
||||
* @static final protected
|
||||
* @return mixed object instance or false if not found
|
||||
*
|
||||
* @final
|
||||
* @param string $table The table name to fetch from
|
||||
* @param string $classname The class that you want the result instantiated as
|
||||
* @param array $params Any params required to select the desired row
|
||||
* @return object Instance of $classname or false.
|
||||
*/
|
||||
protected static function fetch_helper($table, $classname, $params) {
|
||||
if ($instances = self::fetch_all_helper($table, $classname, $params)) {
|
||||
@@ -137,7 +157,11 @@ abstract class data_object {
|
||||
|
||||
/**
|
||||
* Factory method - uses the parameters to retrieve all matching instances from the DB.
|
||||
* @static final protected
|
||||
*
|
||||
* @final
|
||||
* @param string $table The table name to fetch from
|
||||
* @param string $classname The class that you want the result instantiated as
|
||||
* @param array $params Any params required to select the desired row
|
||||
* @return mixed array of object instances or false if not found
|
||||
*/
|
||||
public static function fetch_all_helper($table, $classname, $params) {
|
||||
@@ -185,6 +209,7 @@ abstract class data_object {
|
||||
|
||||
/**
|
||||
* Updates this object in the Database, based on its object variables. ID must be set.
|
||||
*
|
||||
* @return boolean success
|
||||
*/
|
||||
public function update() {
|
||||
@@ -205,6 +230,7 @@ abstract class data_object {
|
||||
|
||||
/**
|
||||
* Deletes this object from the database.
|
||||
*
|
||||
* @return boolean success
|
||||
*/
|
||||
public function delete() {
|
||||
@@ -228,6 +254,8 @@ abstract class data_object {
|
||||
|
||||
/**
|
||||
* Returns object with fields and values that are defined in database
|
||||
*
|
||||
* @return stdClass
|
||||
*/
|
||||
public function get_record_data() {
|
||||
$data = new stdClass();
|
||||
@@ -248,6 +276,7 @@ abstract class data_object {
|
||||
* Records this object in the Database, sets its id to the returned value, and returns that value.
|
||||
* If successful this function also fetches the new object data from database and stores it
|
||||
* in object properties.
|
||||
*
|
||||
* @return int PK ID if successful, false otherwise
|
||||
*/
|
||||
public function insert() {
|
||||
@@ -274,6 +303,8 @@ abstract class data_object {
|
||||
* each variable in turn. If the DB has different data, the db's data is used to update
|
||||
* the object. This is different from the update() function, which acts on the DB record
|
||||
* based on the object.
|
||||
*
|
||||
* @return bool True for success, false otherwise.
|
||||
*/
|
||||
public function update_from_db() {
|
||||
if (empty($this->id)) {
|
||||
@@ -294,7 +325,10 @@ abstract class data_object {
|
||||
/**
|
||||
* Given an associated array or object, cycles through each key/variable
|
||||
* and assigns the value to the corresponding variable in this object.
|
||||
* @static final
|
||||
*
|
||||
* @final
|
||||
* @param data_object $instance
|
||||
* @param array $params
|
||||
*/
|
||||
public static function set_properties(&$instance, $params) {
|
||||
$params = (array) $params;
|
||||
@@ -310,8 +344,7 @@ abstract class data_object {
|
||||
* deleted in the database. Default does nothing, can be overridden to
|
||||
* hook in special behaviour.
|
||||
*
|
||||
* @param bool $deleted
|
||||
* @param bool $deleted Set this to true if it has been deleted.
|
||||
*/
|
||||
function notify_changed($deleted) {
|
||||
}
|
||||
}
|
||||
function notify_changed($deleted) {}
|
||||
}
|
||||
Reference in New Issue
Block a user