Moved helper function
This commit is contained in:
parent
24f57a7dbc
commit
ae90c7ee4a
3 changed files with 40 additions and 40 deletions
|
@ -288,7 +288,7 @@ class edit_form extends \moodleform {
|
||||||
}
|
}
|
||||||
|
|
||||||
$group = array();
|
$group = array();
|
||||||
$group[] = $mform->createElement('select', 'element_' . $page->id, '', element::get_available_types());
|
$group[] = $mform->createElement('select', 'element_' . $page->id, '', element_helper::get_available_element_types());
|
||||||
$group[] = $mform->createElement('submit', 'addelement_' . $page->id, get_string('addelement', 'customcert'),
|
$group[] = $mform->createElement('submit', 'addelement_' . $page->id, get_string('addelement', 'customcert'),
|
||||||
array(), false);
|
array(), false);
|
||||||
$mform->addElement('group', 'elementgroup', '', $group, '', false);
|
$mform->addElement('group', 'elementgroup', '', $group, '', false);
|
||||||
|
|
|
@ -253,43 +253,4 @@ abstract class element {
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the list of possible elements to add.
|
|
||||||
*
|
|
||||||
* @return array the list of element types that can be used.
|
|
||||||
*/
|
|
||||||
public static function get_available_types() {
|
|
||||||
global $CFG;
|
|
||||||
|
|
||||||
// Array to store the element types.
|
|
||||||
$options = array();
|
|
||||||
|
|
||||||
// Check that the directory exists.
|
|
||||||
$elementdir = "$CFG->dirroot/mod/customcert/element";
|
|
||||||
if (file_exists($elementdir)) {
|
|
||||||
// Get directory contents.
|
|
||||||
$elementfolders = new \DirectoryIterator($elementdir);
|
|
||||||
// Loop through the elements folder.
|
|
||||||
foreach ($elementfolders as $elementfolder) {
|
|
||||||
// If it is not a directory or it is '.' or '..', skip it.
|
|
||||||
if (!$elementfolder->isDir() || $elementfolder->isDot()) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// Check that the standard class exists, if not we do
|
|
||||||
// not want to display it as an option as it will not work.
|
|
||||||
$foldername = $elementfolder->getFilename();
|
|
||||||
// Get the class name.
|
|
||||||
$classname = '\\customcertelement_' . $foldername . '\\element';
|
|
||||||
// Ensure the necessary class exists.
|
|
||||||
if (class_exists($classname)) {
|
|
||||||
$component = "customcertelement_{$foldername}";
|
|
||||||
$options[$foldername] = get_string('pluginname', $component);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\core_collator::asort($options);
|
|
||||||
return $options;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -378,4 +378,43 @@ class element_helper {
|
||||||
return $SITE->id;
|
return $SITE->id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the list of possible elements to add.
|
||||||
|
*
|
||||||
|
* @return array the list of element types that can be used.
|
||||||
|
*/
|
||||||
|
public static function get_available_element_types() {
|
||||||
|
global $CFG;
|
||||||
|
|
||||||
|
// Array to store the element types.
|
||||||
|
$options = array();
|
||||||
|
|
||||||
|
// Check that the directory exists.
|
||||||
|
$elementdir = "$CFG->dirroot/mod/customcert/element";
|
||||||
|
if (file_exists($elementdir)) {
|
||||||
|
// Get directory contents.
|
||||||
|
$elementfolders = new \DirectoryIterator($elementdir);
|
||||||
|
// Loop through the elements folder.
|
||||||
|
foreach ($elementfolders as $elementfolder) {
|
||||||
|
// If it is not a directory or it is '.' or '..', skip it.
|
||||||
|
if (!$elementfolder->isDir() || $elementfolder->isDot()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// Check that the standard class exists, if not we do
|
||||||
|
// not want to display it as an option as it will not work.
|
||||||
|
$foldername = $elementfolder->getFilename();
|
||||||
|
// Get the class name.
|
||||||
|
$classname = '\\customcertelement_' . $foldername . '\\element';
|
||||||
|
// Ensure the necessary class exists.
|
||||||
|
if (class_exists($classname)) {
|
||||||
|
$component = "customcertelement_{$foldername}";
|
||||||
|
$options[$foldername] = get_string('pluginname', $component);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\core_collator::asort($options);
|
||||||
|
return $options;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue