芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/.trash/cepali/customfield/classes/output/management.php
. /** * Customfield component output. * * @package core_customfield * @copyright 2018 David Matamoros
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core_customfield\output; use core_customfield\api; use core_customfield\handler; use renderable; use templatable; defined('MOODLE_INTERNAL') || die; /** * Class management * * @package core_customfield * @copyright 2018 David Matamoros
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class management implements renderable, templatable { /** * @var handler */ protected $handler; /** * @var */ protected $categoryid; /** * management constructor. * * @param \core_customfield\handler $handler */ public function __construct(\core_customfield\handler $handler) { $this->handler = $handler; } /** * Export for template * * @param \renderer_base $output * @return array|object|\stdClass */ public function export_for_template(\renderer_base $output) { $data = new \stdClass(); $fieldtypes = $this->handler->get_available_field_types(); $data->component = $this->handler->get_component(); $data->area = $this->handler->get_area(); $data->itemid = $this->handler->get_itemid(); $data->usescategories = $this->handler->uses_categories(); $categories = $this->handler->get_categories_with_fields(); $categoriesarray = array(); foreach ($categories as $category) { $categoryarray = array(); $categoryarray['id'] = $category->get('id'); $categoryarray['nameeditable'] = $output->render(api::get_category_inplace_editable($category, true)); $categoryarray['movetitle'] = get_string('movecategory', 'core_customfield', $category->get_formatted_name()); $categoryarray['fields'] = array(); foreach ($category->get_fields() as $field) { $fieldname = $field->get_formatted_name(); $fieldarray['type'] = $fieldtypes[$field->get('type')]; $fieldarray['id'] = $field->get('id'); $fieldarray['name'] = $fieldname; $fieldarray['shortname'] = $field->get('shortname'); $fieldarray['movetitle'] = get_string('movefield', 'core_customfield', $fieldname); $fieldarray['editfieldurl'] = (new \moodle_url('/customfield/edit.php', [ 'id' => $fieldarray['id'], ]))->out(false); $categoryarray['fields'][] = $fieldarray; } $menu = new \action_menu(); $menu->set_alignment(\action_menu::BL, \action_menu::BL); $menu->set_menu_trigger(get_string('createnewcustomfield', 'core_customfield')); $baseaddfieldurl = new \moodle_url('/customfield/edit.php', array('action' => 'editfield', 'categoryid' => $category->get('id'))); foreach ($fieldtypes as $type => $fieldname) { $addfieldurl = new \moodle_url($baseaddfieldurl, array('type' => $type)); $action = new \action_menu_link_secondary($addfieldurl, null, $fieldname); $menu->add($action); } $menu->attributes['class'] .= ' float-left mr-1'; $categoryarray['addfieldmenu'] = $output->render($menu); $categoriesarray[] = $categoryarray; } $data->categories = $categoriesarray; if (empty($data->categories)) { $data->nocategories = get_string('nocategories', 'core_customfield'); } return $data; } }