| Línea 137... |
Línea 137... |
| 137 |
|
137 |
|
| 138 |
// Recursively uninstall all subplugins first.
|
138 |
// Recursively uninstall all subplugins first.
|
| 139 |
$subplugintypes = core_component::get_plugin_types_with_subplugins();
|
139 |
$subplugintypes = core_component::get_plugin_types_with_subplugins();
|
| 140 |
if (isset($subplugintypes[$type])) {
|
140 |
if (isset($subplugintypes[$type])) {
|
| 141 |
$base = core_component::get_plugin_directory($type, $name);
|
- |
|
| 142 |
|
141 |
$base = core_component::get_plugin_directory($type, $name);
|
| 143 |
$subpluginsfile = "{$base}/db/subplugins.json";
|
- |
|
| 144 |
if (file_exists($subpluginsfile)) {
|
- |
|
| 145 |
$subplugins = (array) json_decode(file_get_contents($subpluginsfile))->plugintypes;
|
- |
|
| 146 |
} else if (file_exists("{$base}/db/subplugins.php")) {
|
- |
|
| 147 |
debugging('Use of subplugins.php has been deprecated. ' .
|
- |
|
| 148 |
'Please update your plugin to provide a subplugins.json file instead.',
|
- |
|
| 149 |
DEBUG_DEVELOPER);
|
- |
|
| 150 |
$subplugins = [];
|
- |
|
| 151 |
include("{$base}/db/subplugins.php");
|
- |
|
| Línea 152... |
Línea 142... |
| 152 |
}
|
142 |
$subplugins = \core\component::get_subplugins("{$type}_{$name}");
|
| 153 |
|
143 |
|
| 154 |
if (!empty($subplugins)) {
|
144 |
if (!empty($subplugins)) {
|
| 155 |
foreach (array_keys($subplugins) as $subplugintype) {
|
145 |
foreach (array_keys($subplugins) as $subplugintype) {
|
| Línea 8716... |
Línea 8706... |
| 8716 |
* page (e.g. admin/roles/allow.php, instead of admin/roles/manage.php, you can pass the alternate URL here.
|
8706 |
* page (e.g. admin/roles/allow.php, instead of admin/roles/manage.php, you can pass the alternate URL here.
|
| 8717 |
* @param array $options Additional options that can be specified for page setup.
|
8707 |
* @param array $options Additional options that can be specified for page setup.
|
| 8718 |
* pagelayout - This option can be used to set a specific pagelyaout, admin is default.
|
8708 |
* pagelayout - This option can be used to set a specific pagelyaout, admin is default.
|
| 8719 |
* nosearch - Do not display search bar
|
8709 |
* nosearch - Do not display search bar
|
| 8720 |
*/
|
8710 |
*/
|
| 8721 |
function admin_externalpage_setup($section, $extrabutton = '', array $extraurlparams = null, $actualurl = '', array $options = array()) {
|
8711 |
function admin_externalpage_setup($section, $extrabutton = '', ?array $extraurlparams = null, $actualurl = '', array $options = array()) {
|
| 8722 |
global $CFG, $PAGE, $USER, $SITE, $OUTPUT;
|
8712 |
global $CFG, $PAGE, $USER, $SITE, $OUTPUT;
|
| Línea 8723... |
Línea 8713... |
| 8723 |
|
8713 |
|
| Línea 8724... |
Línea 8714... |
| 8724 |
$PAGE->set_context(null); // hack - set context to something, by default to system context
|
8714 |
$PAGE->set_context(null); // hack - set context to something, by default to system context
|
| Línea 10449... |
Línea 10439... |
| 10449 |
* @param string $visiblename
|
10439 |
* @param string $visiblename
|
| 10450 |
* @param string $description
|
10440 |
* @param string $description
|
| 10451 |
* @param string $defaultsetting
|
10441 |
* @param string $defaultsetting
|
| 10452 |
* @param array $previewconfig Array('selector'=>'.some .css .selector','style'=>'backgroundColor');
|
10442 |
* @param array $previewconfig Array('selector'=>'.some .css .selector','style'=>'backgroundColor');
|
| 10453 |
*/
|
10443 |
*/
|
| 10454 |
public function __construct($name, $visiblename, $description, $defaultsetting, array $previewconfig = null,
|
10444 |
public function __construct($name, $visiblename, $description, $defaultsetting, ?array $previewconfig = null,
|
| 10455 |
$usedefaultwhenempty = true) {
|
10445 |
$usedefaultwhenempty = true) {
|
| 10456 |
$this->previewconfig = $previewconfig;
|
10446 |
$this->previewconfig = $previewconfig;
|
| 10457 |
$this->usedefaultwhenempty = $usedefaultwhenempty;
|
10447 |
$this->usedefaultwhenempty = $usedefaultwhenempty;
|
| 10458 |
parent::__construct($name, $visiblename, $description, $defaultsetting);
|
10448 |
parent::__construct($name, $visiblename, $description, $defaultsetting);
|
| 10459 |
$this->set_force_ltr(true);
|
10449 |
$this->set_force_ltr(true);
|
| Línea 10616... |
Línea 10606... |
| 10616 |
* @param string $description description of setting
|
10606 |
* @param string $description description of setting
|
| 10617 |
* @param mixed $filearea file area for file storage
|
10607 |
* @param mixed $filearea file area for file storage
|
| 10618 |
* @param int $itemid itemid for file storage
|
10608 |
* @param int $itemid itemid for file storage
|
| 10619 |
* @param array $options file area options
|
10609 |
* @param array $options file area options
|
| 10620 |
*/
|
10610 |
*/
|
| 10621 |
public function __construct($name, $visiblename, $description, $filearea, $itemid = 0, array $options = null) {
|
10611 |
public function __construct($name, $visiblename, $description, $filearea, $itemid = 0, ?array $options = null) {
|
| 10622 |
parent::__construct($name, $visiblename, $description, '');
|
10612 |
parent::__construct($name, $visiblename, $description, '');
|
| 10623 |
$this->filearea = $filearea;
|
10613 |
$this->filearea = $filearea;
|
| 10624 |
$this->itemid = $itemid;
|
10614 |
$this->itemid = $itemid;
|
| 10625 |
$this->options = (array)$options;
|
10615 |
$this->options = (array)$options;
|
| 10626 |
$this->customcontrol = true;
|
10616 |
$this->customcontrol = true;
|
| Línea 11808... |
Línea 11798... |
| 11808 |
|
11798 |
|
| 11809 |
// Wrap it in a notification so we reduce style changes when loading is finished.
|
11799 |
// Wrap it in a notification so we reduce style changes when loading is finished.
|
| Línea 11810... |
Línea 11800... |
| 11810 |
$output = $OUTPUT->notification($loadingicon . $loadingstr, \core\output\notification::NOTIFY_INFO, false);
|
11800 |
$output = $OUTPUT->notification($loadingicon . $loadingstr, \core\output\notification::NOTIFY_INFO, false);
|
| - |
|
11801 |
|
| 11811 |
|
11802 |
// Add the action link.
|
| - |
|
11803 |
if ($actionlink = $this->check->get_action_link()) {
|
| Línea 11812... |
Línea 11804... |
| 11812 |
// Add the action link.
|
11804 |
$output .= $OUTPUT->render($actionlink);
|
| 11813 |
$output .= $OUTPUT->render($this->check->get_action_link());
|
11805 |
}
|
| Línea 11814... |
Línea 11806... |
| 11814 |
|
11806 |
|
| 11815 |
// Wrap in a div with a reference. The JS getAndRender will replace this with the response from the webservice.
|
11807 |
// Wrap in a div with a reference. The JS getAndRender will replace this with the response from the webservice.
|
| 11816 |
$statusdiv = \html_writer::div($output, '', ['data-check-reference' => $domref]);
|
11808 |
$statusdiv = \html_writer::div($output, '', ['data-check-reference' => $domref]);
|
| Línea -... |
Línea 11809... |
| - |
|
11809 |
|
| - |
|
11810 |
return format_admin_setting($this, $this->visiblename, '', $statusdiv);
|
| - |
|
11811 |
}
|
| - |
|
11812 |
}
|
| - |
|
11813 |
|
| - |
|
11814 |
|
| - |
|
11815 |
/**
|
| - |
|
11816 |
* Show the save changes button.
|
| - |
|
11817 |
*/
|
| - |
|
11818 |
class admin_setting_savebutton extends admin_setting {
|
| - |
|
11819 |
/**
|
| - |
|
11820 |
* Constructor.
|
| - |
|
11821 |
*
|
| - |
|
11822 |
* @param string $name unique ascii name.
|
| - |
|
11823 |
* @param string $visiblename localised name.
|
| - |
|
11824 |
* @param string $description localised long description.
|
| - |
|
11825 |
* @param mixed $defaultsetting string or array depending on implementation.
|
| - |
|
11826 |
*/
|
| - |
|
11827 |
public function __construct(string $name, string $visiblename = "", string $description = "", $defaultsetting = "") {
|
| - |
|
11828 |
$this->nosave = true;
|
| - |
|
11829 |
parent::__construct($name, $visiblename, $description, $defaultsetting);
|
| - |
|
11830 |
}
|
| - |
|
11831 |
|
| - |
|
11832 |
/**
|
| - |
|
11833 |
* Always returns true, does nothing.
|
| - |
|
11834 |
*
|
| - |
|
11835 |
* @return bool Always return true.
|
| - |
|
11836 |
*/
|
| - |
|
11837 |
public function get_setting(): bool {
|
| - |
|
11838 |
return true;
|
| - |
|
11839 |
}
|
| - |
|
11840 |
|
| - |
|
11841 |
/**
|
| - |
|
11842 |
* Always returns '', does not write anything.
|
| - |
|
11843 |
*
|
| - |
|
11844 |
* @param mixed $data string or array, must not be NULL.
|
| - |
|
11845 |
* @return string Always returns ''.
|
| - |
|
11846 |
*/
|
| - |
|
11847 |
public function write_setting($data): string {
|
| - |
|
11848 |
return '';
|
| - |
|
11849 |
}
|
| - |
|
11850 |
|
| - |
|
11851 |
/**
|
| - |
|
11852 |
* Return part of form with setting.
|
| - |
|
11853 |
*
|
| - |
|
11854 |
* This function should always be overwritten.
|
| - |
|
11855 |
*
|
| - |
|
11856 |
* @param mixed $data array or string depending on setting.
|
| - |
|
11857 |
* @param string $query
|
| - |
|
11858 |
* @return string
|
| - |
|
11859 |
*/
|