Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
 * Defines classes used for updates.
19
 *
20
 * @package    core
21
 * @copyright  2011 David Mudrak <david@moodle.com>
22
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
namespace core\update;
25
 
26
defined('MOODLE_INTERNAL') || die();
27
 
28
/**
29
 * Defines the structure of objects returned by {@link \core\update\checker::get_update_info()}
30
 */
31
class info {
32
 
33
    /** @var string frankenstyle component name */
34
    public $component;
35
    /** @var int the available version of the component */
36
    public $version;
37
    /** @var string|null optional release name */
38
    public $release = null;
39
    /** @var int|null optional maturity info, eg {@link MATURITY_STABLE} */
40
    public $maturity = null;
41
    /** @var string|null optional URL of a page with more info about the update */
42
    public $url = null;
43
    /** @var string|null optional URL of a ZIP package that can be downloaded and installed */
44
    public $download = null;
45
    /** @var string|null of self::download is set, then this must be the MD5 hash of the ZIP */
46
    public $downloadmd5 = null;
47
 
48
    /**
49
     * Creates new instance of the class
50
     *
51
     * The $info array must provide at least the 'version' value and optionally all other
52
     * values to populate the object's properties.
53
     *
54
     * @param string $name the frankenstyle component name
55
     * @param array $info associative array with other properties
56
     */
57
    public function __construct($name, array $info) {
58
        $this->component = $name;
59
        foreach ($info as $k => $v) {
60
            if (property_exists('\core\update\info', $k) and $k != 'component') {
61
                $this->$k = $v;
62
            }
63
        }
64
    }
65
}