<?php

namespace Composer\Installers;

class MoodleInstaller extends BaseInstaller {

	/** @var array<string, string> */
	protected $locations = array(
		'mod'                => 'mod/{$name}/',
		'admin_report'       => 'admin/report/{$name}/',
		'atto'               => 'lib/editor/atto/plugins/{$name}/',
		'tool'               => 'admin/tool/{$name}/',
		'assignment'         => 'mod/assignment/type/{$name}/',
		'assignsubmission'   => 'mod/assign/submission/{$name}/',
		'assignfeedback'     => 'mod/assign/feedback/{$name}/',
		'antivirus'          => 'lib/antivirus/{$name}/',
		'auth'               => 'auth/{$name}/',
		'availability'       => 'availability/condition/{$name}/',
		'block'              => 'blocks/{$name}/',
		'booktool'           => 'mod/book/tool/{$name}/',
		'cachestore'         => 'cache/stores/{$name}/',
		'cachelock'          => 'cache/locks/{$name}/',
		'calendartype'       => 'calendar/type/{$name}/',
		'communication'      => 'communication/provider/{$name}/',
		'customfield'        => 'customfield/field/{$name}/',
		'fileconverter'      => 'files/converter/{$name}/',
		'format'             => 'course/format/{$name}/',
		'coursereport'       => 'course/report/{$name}/',
		'contenttype'        => 'contentbank/contenttype/{$name}/',
		'customcertelement'  => 'mod/customcert/element/{$name}/',
		'datafield'          => 'mod/data/field/{$name}/',
		'dataformat'         => 'dataformat/{$name}/',
		'datapreset'         => 'mod/data/preset/{$name}/',
		'editor'             => 'lib/editor/{$name}/',
		'enrol'              => 'enrol/{$name}/',
		'filter'             => 'filter/{$name}/',
		'forumreport'        => 'mod/forum/report/{$name}/',
		'gradeexport'        => 'grade/export/{$name}/',
		'gradeimport'        => 'grade/import/{$name}/',
		'gradereport'        => 'grade/report/{$name}/',
		'gradingform'        => 'grade/grading/form/{$name}/',
		'h5plib'             => 'h5p/h5plib/{$name}/',
		'local'              => 'local/{$name}/',
		'logstore'           => 'admin/tool/log/store/{$name}/',
		'ltisource'          => 'mod/lti/source/{$name}/',
		'ltiservice'         => 'mod/lti/service/{$name}/',
		'media'              => 'media/player/{$name}/',
		'message'            => 'message/output/{$name}/',
		'mlbackend'          => 'lib/mlbackend/{$name}/',
		'mnetservice'        => 'mnet/service/{$name}/',
		'paygw'              => 'payment/gateway/{$name}/',
		'plagiarism'         => 'plagiarism/{$name}/',
		'portfolio'          => 'portfolio/{$name}/',
		'qbank'              => 'question/bank/{$name}/',
		'qbehaviour'         => 'question/behaviour/{$name}/',
		'qformat'            => 'question/format/{$name}/',
		'qtype'              => 'question/type/{$name}/',
		'quizaccess'         => 'mod/quiz/accessrule/{$name}/',
		'quiz'               => 'mod/quiz/report/{$name}/',
		'report'             => 'report/{$name}/',
		'repository'         => 'repository/{$name}/',
		'scormreport'        => 'mod/scorm/report/{$name}/',
		'search'             => 'search/engine/{$name}/',
		'theme'              => 'theme/{$name}/',
		'tiny'               => 'lib/editor/tiny/plugins/{$name}/',
		'tinymce'            => 'lib/editor/tinymce/plugins/{$name}/',
		'profilefield'       => 'user/profile/field/{$name}/',
		'webservice'         => 'webservice/{$name}/',
		'workshopallocation' => 'mod/workshop/allocation/{$name}/',
		'workshopeval'       => 'mod/workshop/eval/{$name}/',
		'workshopform'       => 'mod/workshop/form/{$name}/',
	);
}
