2017-03-28 8 views
0

플러그인에서 무들 코어 기능을 오버라이드 할 수있는 방법이 있습니까?플러그인에서 무들 코어 기능을 재정의하는 방법은 무엇입니까?

예를 들어 /admin/settings/security.php:30에서 호출되는 get_max_upload_sizes 함수를 재정의하고 싶습니다. 이 함수는 /lib/moodlelib.php:6186에 있습니다.

좀 더 일반적인 방법으로 : 무드에서 이런 종류의 작업을 수행해야 할 때 좋은 연습은 무엇입니까 (코어 파일을 해킹하고 싶지는 않습니까)?

답변

0

필요한 기능에 따라 약간 다릅니다. 언급 한 기능이 글로벌 config.php => setup.php에 포함되어있는 moodle core 파일의 일부이기 때문에 코어를 만지지 않고도이 기능을 변경할 수있는 직접적인 방법은 없습니다.

아이디어 뒤에 어떤 의도가 있습니까? 큰 파일 크기로 업로드 할 수있는 플러그인을 개발하고 싶습니까? 그렇다면 플러그인 사용 중에 ini_get ('upload_max_filesize')/ini_get ('post_max_size')와 같은 설정을 수정하여 코어 함수가 적절한 크기를 반환하도록 할 수 있습니다.

+0

값을 변경하고 싶습니다. '/admin/settings.php? section = sitepolicies'에서 사용되는 admin 부분에 대해이 함수에서 생성 된 것입니다. –

+0

언뜻보기에는 플러그인으로이 설정 페이지의 동작을 변경할 가능성이 없습니다. 코어를 건드리지 않으려면 로컬 플러그인을 작성하는 것이 좋습니다. 그러면 설정을 적용 할 수 있습니다. 하지만 기존 설정 페이지에는 영향을 미치지 않으므로 사용자가 원래 설정 양식을 저장할 때마다 값이 덮어 쓰여집니다. 또는 전체 설정 페이지를 플러그인에 복제하고 웹 서버 리디렉션과 같이 원래의 사용을 금지하십시오. – Bearzi

+0

재정의하려는 기능을 다시 작성하기 위해 로컬 플러그인 내부에서 시도했지만 '치명적 오류 : Can not get_max_upload_sizes()를 재 선언하십시오. 재정의가 지원되지 않는 경우 여기에서 중단합니다. –