source: moodle/trunk/fuentes/admin/thirdpartylibs.php @ 136

Last change on this file since 136 was 136, checked in by mabarracus, 4 years ago

Ported code to xenial

File size: 2.6 KB
Line 
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 3rd party libs used in moodle and all plugins.
19 *
20 * @package   admin
21 * @copyright 2013 Petr Skoda {@link http://skodak.org}
22 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24
25require_once('../config.php');
26require_once($CFG->libdir.'/adminlib.php');
27require_once($CFG->libdir.'/tablelib.php');
28
29admin_externalpage_setup('thirdpartylibs');
30
31echo $OUTPUT->header();
32echo $OUTPUT->heading(get_string('thirdpartylibs', 'core_admin'));
33
34$files = array('core' => "$CFG->libdir/thirdpartylibs.xml");
35
36$plugintypes = core_component::get_plugin_types();
37foreach ($plugintypes as $type => $ignored) {
38    $plugins = core_component::get_plugin_list_with_file($type, 'thirdpartylibs.xml', false);
39    foreach ($plugins as $plugin => $path) {
40        $files[$type.'_'.$plugin] = $path;
41    }
42}
43
44$table = new html_table();
45$table->head = array(
46    get_string('thirdpartylibrary', 'core_admin'), get_string('version'),
47    get_string('thirdpartylibrarylocation', 'core_admin'), get_string('license'));
48$table->align = array('left', 'left', 'left', 'left');
49$table->id = 'thirdpartylibs';
50$table->attributes['class'] = 'admintable generaltable';
51$table->data  = array();
52
53foreach ($files as $component => $xmlpath) {
54    $xml = simplexml_load_file($xmlpath);
55    foreach ($xml as $lib) {
56        $base = realpath(dirname($xmlpath));
57        $location = substr($base, strlen($CFG->dirroot)).'/'.$lib->location;
58        if (is_dir($CFG->dirroot.$location)) {
59            $location .= '/';
60        }
61        $version = '';
62        if (!empty($lib->version)) {
63            $version = $lib->version;
64        }
65        $license = $lib->license;
66        if (!empty($lib->licenseversion)) {
67            $license .= ' '.$lib->licenseversion;
68        }
69
70        $table->data[] = new html_table_row(array($lib->name, $version, $location, $license));
71    }
72}
73
74echo html_writer::table($table);
75
76echo $OUTPUT->footer();
Note: See TracBrowser for help on using the repository browser.