Merge branch 'MDL-36433-master' of git://github.com/itamart/moodle
authorSam Hemelryk <sam@moodle.com>
Sun, 9 Dec 2012 23:13:32 +0000 (12:13 +1300)
committerSam Hemelryk <sam@moodle.com>
Sun, 9 Dec 2012 23:13:32 +0000 (12:13 +1300)
1068 files changed:
.gitignore
admin/blocks.php
admin/cli/install.php
admin/courseformats.php [new file with mode: 0644]
admin/filters.php
admin/index.php
admin/modules.php
admin/qbehaviours.php
admin/qtypes.php
admin/renderer.php
admin/settings/appearance.php
admin/settings/courses.php
admin/settings/plugins.php
admin/settings/server.php
admin/tool/assignmentupgrade/version.php
admin/tool/capability/version.php
admin/tool/customlang/version.php
admin/tool/dbtransfer/version.php
admin/tool/generator/version.php
admin/tool/health/version.php
admin/tool/innodb/version.php
admin/tool/langimport/version.php
admin/tool/multilangupgrade/version.php
admin/tool/phpunit/cli/util.php
admin/tool/phpunit/version.php
admin/tool/profiling/version.php
admin/tool/qeupgradehelper/version.php
admin/tool/replace/version.php
admin/tool/spamcleaner/version.php
admin/tool/timezoneimport/version.php
admin/tool/unsuproles/version.php
admin/tool/uploaduser/version.php
admin/tool/xmldb/version.php
admin/user.php
auth/cas/version.php
auth/db/version.php
auth/email/version.php
auth/fc/version.php
auth/imap/version.php
auth/ldap/version.php
auth/manual/version.php
auth/mnet/version.php
auth/nntp/version.php
auth/nologin/version.php
auth/none/version.php
auth/pam/version.php
auth/pop3/version.php
auth/radius/version.php
auth/shibboleth/version.php
auth/webservice/version.php
backup/backup.class.php
backup/converter/moodle1/lib.php
backup/converter/moodle1/tests/lib_test.php
backup/moodle2/backup_activity_task.class.php
backup/moodle2/backup_stepslib.php
backup/moodle2/restore_activity_task.class.php
backup/moodle2/restore_stepslib.php
backup/util/checks/tests/checks_test.php
backup/util/ui/backup_ui_setting.class.php
backup/util/ui/renderer.php
blocks/activity_modules/block_activity_modules.php
blocks/activity_modules/version.php
blocks/admin_bookmarks/version.php
blocks/blog_menu/version.php
blocks/blog_recent/version.php
blocks/blog_tags/version.php
blocks/calendar_month/version.php
blocks/calendar_upcoming/version.php
blocks/comments/version.php
blocks/community/block_community.php
blocks/community/version.php
blocks/completionstatus/version.php
blocks/course_list/block_course_list.php
blocks/course_list/styles.css
blocks/course_list/version.php
blocks/course_overview/renderer.php
blocks/course_overview/styles.css
blocks/course_overview/version.php
blocks/course_summary/version.php
blocks/dock.js
blocks/feedback/version.php
blocks/glossary_random/block_glossary_random.php
blocks/glossary_random/version.php
blocks/html/version.php
blocks/login/version.php
blocks/mentees/version.php
blocks/messages/version.php
blocks/mnet_hosts/version.php
blocks/moodleblock.class.php
blocks/myprofile/version.php
blocks/navigation/styles.css
blocks/navigation/version.php
blocks/news_items/version.php
blocks/online_users/styles.css
blocks/online_users/version.php
blocks/participants/block_participants.php
blocks/participants/version.php
blocks/private_files/renderer.php
blocks/private_files/version.php
blocks/quiz_results/version.php
blocks/recent_activity/version.php
blocks/rss_client/version.php
blocks/search_forums/version.php
blocks/section_links/version.php
blocks/selfcompletion/version.php
blocks/settings/styles.css
blocks/settings/version.php
blocks/site_main_menu/block_site_main_menu.php
blocks/site_main_menu/styles.css [new file with mode: 0644]
blocks/site_main_menu/version.php
blocks/social_activities/version.php
blocks/tag_flickr/version.php
blocks/tag_youtube/version.php
blocks/tags/version.php
blog/external_blogs.php
cache/README.md
cache/classes/config.php
cache/classes/definition.php
cache/classes/dummystore.php
cache/classes/factory.php
cache/classes/helper.php
cache/classes/interfaces.php
cache/classes/loaders.php
cache/classes/store.php [new file with mode: 0644]
cache/disabledlib.php [new file with mode: 0644]
cache/lib.php
cache/locallib.php
cache/renderer.php
cache/stores/file/lib.php
cache/stores/file/version.php
cache/stores/memcache/lib.php
cache/stores/memcache/version.php
cache/stores/memcached/lib.php
cache/stores/memcached/version.php
cache/stores/mongodb/lib.php
cache/stores/mongodb/version.php
cache/stores/session/lib.php
cache/stores/session/version.php
cache/stores/static/lib.php
cache/stores/static/version.php
cache/testperformance.php
cache/tests/cache_test.php
cache/tests/fixtures/lib.php
cache/tests/locallib_test.php
calendar/lib.php
calendar/managesubscriptions_form.php
calendar/renderer.php
calendar/yui/eventmanager/eventmanager.js
cohort/assign.php
completion/criteria/completion_criteria_grade.php
composer.json [new file with mode: 0644]
config-dist.php
course/category.php
course/dndupload.js
course/edit.php
course/edit_form.php
course/format/formatlegacy.php
course/format/lib.php
course/format/renderer.php
course/format/scorm/config.php [deleted file]
course/format/scorm/lib.php
course/format/scorm/version.php
course/format/social/config.php [deleted file]
course/format/social/lib.php
course/format/social/version.php
course/format/topics/config.php [deleted file]
course/format/topics/lib.php
course/format/topics/styles.css
course/format/topics/version.php
course/format/upgrade.txt
course/format/weeks/config.php [deleted file]
course/format/weeks/lib.php
course/format/weeks/renderer.php
course/format/weeks/styles.css
course/format/weeks/version.php
course/index.php
course/lib.php
course/recent_form.php
course/renderer.php
course/rest.php
course/search.php
course/tests/courselib_test.php
course/yui/dragdrop/dragdrop.js
course/yui/toolboxes/toolboxes.js
enrol/authorize/version.php
enrol/category/version.php
enrol/cohort/version.php
enrol/database/version.php
enrol/flatfile/lib.php
enrol/flatfile/version.php
enrol/guest/pix/withoutpassword.png [new file with mode: 0644]
enrol/guest/pix/withoutpassword.svg [new file with mode: 0644]
enrol/guest/pix/withpassword.png [new file with mode: 0644]
enrol/guest/pix/withpassword.svg [new file with mode: 0644]
enrol/guest/version.php
enrol/imsenterprise/version.php
enrol/ldap/version.php
enrol/manual/lib.php
enrol/manual/version.php
enrol/manual/yui/quickenrolment/assets/skins/sam/quickenrolment.css
enrol/manual/yui/quickenrolment/quickenrolment.js
enrol/meta/version.php
enrol/mnet/version.php
enrol/paypal/lib.php
enrol/paypal/version.php
enrol/renderer.php
enrol/self/pix/withkey.png [new file with mode: 0644]
enrol/self/pix/withkey.svg [new file with mode: 0644]
enrol/self/pix/withoutkey.png [new file with mode: 0644]
enrol/self/pix/withoutkey.svg [new file with mode: 0644]
enrol/self/version.php
files/renderer.php
filter/activitynames/version.php
filter/algebra/version.php
filter/censor/version.php
filter/data/version.php
filter/emailprotect/version.php
filter/emoticon/version.php
filter/glossary/version.php
filter/mediaplugin/version.php
filter/multilang/version.php
filter/tex/version.php
filter/tidy/version.php
filter/urltolink/version.php
grade/edit/tree/calculation.php
grade/edit/tree/grade.php
grade/export/ods/version.php
grade/export/txt/version.php
grade/export/xls/version.php
grade/export/xml/version.php
grade/grading/form/guide/pix/icon.png
grade/grading/form/guide/pix/icon.svg [new file with mode: 0644]
grade/grading/form/guide/styles.css
grade/grading/form/guide/version.php
grade/grading/form/rubric/pix/icon.png
grade/grading/form/rubric/pix/icon.svg [new file with mode: 0644]
grade/grading/form/rubric/styles.css
grade/grading/form/rubric/version.php
grade/import/csv/index.php
grade/import/csv/version.php
grade/import/grade_import_form.php
grade/import/xml/version.php
grade/lib.php
grade/report/grader/index.php
grade/report/grader/lib.php
grade/report/grader/quickedit_item.php
grade/report/grader/styles.css
grade/report/grader/version.php
grade/report/lib.php
grade/report/outcomes/version.php
grade/report/overview/version.php
grade/report/user/version.php
install.php
install/lang/en_fix/langconfig.php [deleted file]
install/lang/es/install.php
install/lang/es_mx/install.php
install/lang/es_mx/langconfig.php
install/lang/hr/moodle.php
install/lang/lt/install.php [new file with mode: 0644]
install/lang/zh_tw/admin.php
lang/en/admin.php
lang/en/cache.php
lang/en/calendar.php
lang/en/error.php
lang/en/message.php
lang/en/moodle.php
lang/en/plugin.php
lang/en/webservice.php
lib/accesslib.php
lib/adminlib.php
lib/bennu/iCalendar_components.php
lib/bennu/readme_moodle.txt
lib/blocklib.php
lib/completionlib.php
lib/csslib.php
lib/db/caches.php
lib/db/install.xml
lib/db/services.php
lib/db/upgrade.php
lib/ddl/oracle_sql_generator.php
lib/deprecatedlib.php
lib/dml/moodle_database.php
lib/dml/mssql_native_moodle_database.php
lib/dml/mysqli_native_moodle_database.php
lib/dml/oci_native_moodle_database.php
lib/dml/pgsql_native_moodle_database.php
lib/dml/sqlsrv_native_moodle_database.php
lib/eaccelerator.class.php [deleted file]
lib/editor/textarea/version.php
lib/editor/tinymce/adminlib.php
lib/editor/tinymce/plugins/dragmath/dragmath.php
lib/editor/tinymce/plugins/dragmath/version.php
lib/editor/tinymce/plugins/loader.php
lib/editor/tinymce/plugins/moodleemoticon/dialog.php
lib/editor/tinymce/plugins/moodleemoticon/version.php
lib/editor/tinymce/plugins/moodleimage/version.php
lib/editor/tinymce/plugins/moodlemedia/version.php
lib/editor/tinymce/plugins/moodlenolink/version.php
lib/editor/tinymce/plugins/spellchecker/classes/GoogleSpell.php
lib/editor/tinymce/plugins/spellchecker/version.php
lib/editor/tinymce/readme_moodle.txt
lib/editor/tinymce/version.php
lib/enrollib.php
lib/external/externallib.php [new file with mode: 0644]
lib/external/tests/externallib_test.php [new file with mode: 0644]
lib/filelib.php
lib/form/yui/dateselector/dateselector.js
lib/formslib.php
lib/googleapi.php
lib/grade/grade_category.php
lib/grade/grade_item.php
lib/grade/tests/grade_item_test.php
lib/gradelib.php
lib/installlib.php
lib/javascript-static.js
lib/jslib.php
lib/memcached.class.php [deleted file]
lib/messagelib.php
lib/minify/lib/JSMin.php [deleted file]
lib/minify/readme_moodle.txt
lib/modinfolib.php
lib/moodlelib.php
lib/navigationlib.php
lib/outputlib.php
lib/outputrenderers.php
lib/phpunit/classes/data_generator.php
lib/phpunit/classes/hint_resultprinter.php
lib/phpunit/classes/module_generator.php
lib/phpunit/readme.md
lib/phpunit/tests/generator_test.php
lib/pluginlib.php
lib/portfolio/formats/leap2a/lib.php
lib/portfoliolib.php
lib/questionlib.php
lib/sessionlib.php
lib/setup.php
lib/setuplib.php
lib/statslib.php
lib/tablelib.php
lib/tests/accesslib_test.php
lib/tests/fixtures/statslib-test00.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test01.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test02.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test03.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test04.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test05.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test06.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test07.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test08.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test09.xml [new file with mode: 0644]
lib/tests/fixtures/statslib-test10.xml [new file with mode: 0644]
lib/tests/gradelib_test.php [new file with mode: 0644]
lib/tests/messagelib_test.php [new file with mode: 0644]
lib/tests/moodlelib_test.php
lib/tests/outputcomponents_test.php
lib/tests/outputlib_test.php
lib/tests/pagelib_test.php
lib/tests/setuplib_test.php
lib/tests/statslib_test.php [new file with mode: 0644]
lib/upgrade.txt
lib/upgradelib.php
lib/weblib.php
lib/yui/chooserdialogue/chooserdialogue.js
lib/yui/dragdrop/dragdrop.js
lib/yui/formautosubmit/formautosubmit.js [new file with mode: 0644]
login/index_form.html
mdeploy.php
mdeploytest.php
message/edit.php
message/lib.php
message/output/email/version.php
message/output/jabber/version.php
message/output/popup/version.php
message/renderer.php
mnet/service/enrol/version.php
mod/assign/adminlib.php
mod/assign/assignmentplugin.php
mod/assign/feedback/comments/version.php
mod/assign/feedback/file/locallib.php
mod/assign/feedback/file/version.php
mod/assign/feedback/offline/version.php
mod/assign/gradingtable.php
mod/assign/lang/en/assign.php
mod/assign/locallib.php
mod/assign/mod_form.php
mod/assign/pix/gradefeedback.png [new file with mode: 0644]
mod/assign/pix/gradefeedback.svg [new file with mode: 0644]
mod/assign/pix/icon.svg
mod/assign/settings.php
mod/assign/styles.css
mod/assign/submission/comments/version.php
mod/assign/submission/file/version.php
mod/assign/submission/onlinetext/version.php
mod/assign/upgradelib.php
mod/assign/version.php
mod/assignment/pix/icon.svg
mod/assignment/type/offline/version.php
mod/assignment/type/online/version.php
mod/assignment/type/upload/version.php
mod/assignment/type/uploadsingle/version.php
mod/assignment/version.php
mod/book/locallib.php
mod/book/pix/add.png
mod/book/pix/add.svg [new file with mode: 0644]
mod/book/pix/icon.svg
mod/book/pix/nav_exit.png
mod/book/pix/nav_exit.svg [new file with mode: 0644]
mod/book/pix/nav_next.png
mod/book/pix/nav_next.svg [new file with mode: 0644]
mod/book/pix/nav_next_dis.png [new file with mode: 0644]
mod/book/pix/nav_next_dis.svg [new file with mode: 0644]
mod/book/pix/nav_prev.png
mod/book/pix/nav_prev.svg [new file with mode: 0644]
mod/book/pix/nav_prev_dis.png
mod/book/pix/nav_prev_dis.svg [new file with mode: 0644]
mod/book/styles.css
mod/book/tool/exportimscp/version.php
mod/book/tool/importhtml/version.php
mod/book/tool/print/pix/book.png
mod/book/tool/print/pix/book.svg [new file with mode: 0644]
mod/book/tool/print/pix/chapter.png
mod/book/tool/print/pix/chapter.svg [new file with mode: 0644]
mod/book/tool/print/version.php
mod/book/version.php
mod/book/view.php
mod/chat/lib.php
mod/chat/pix/icon.svg
mod/chat/upgrade.txt [new file with mode: 0644]
mod/chat/version.php
mod/choice/lib.php
mod/choice/pix/icon.svg
mod/choice/version.php
mod/data/field.php
mod/data/field/checkbox/version.php
mod/data/field/date/version.php
mod/data/field/file/version.php
mod/data/field/latlong/kml.php
mod/data/field/latlong/version.php
mod/data/field/menu/version.php
mod/data/field/multimenu/version.php
mod/data/field/number/version.php
mod/data/field/picture/version.php
mod/data/field/radiobutton/version.php
mod/data/field/text/version.php
mod/data/field/textarea/version.php
mod/data/field/url/version.php
mod/data/lib.php
mod/data/pix/icon.svg
mod/data/preset.php
mod/data/preset/imagegallery/version.php
mod/data/styles.css
mod/data/version.php
mod/data/view.php
mod/feedback/analysis_course.php
mod/feedback/item/captcha/captcha_form.php
mod/feedback/item/multichoice/multichoice_form.php
mod/feedback/item/multichoicerated/multichoicerated_form.php
mod/feedback/item/numeric/numeric_form.php
mod/feedback/item/textarea/textarea_form.php
mod/feedback/item/textfield/textfield_form.php
mod/feedback/pix/icon.svg
mod/feedback/pix/notrequired.png [new file with mode: 0644]
mod/feedback/pix/notrequired.svg [new file with mode: 0644]
mod/feedback/pix/required.png [new file with mode: 0644]
mod/feedback/pix/required.svg [new file with mode: 0644]
mod/feedback/version.php
mod/folder/pix/icon.svg
mod/folder/version.php
mod/forum/discuss.php
mod/forum/index.php
mod/forum/lang/en/forum.php
mod/forum/lib.php
mod/forum/pix/icon.svg
mod/forum/styles.css
mod/forum/version.php
mod/glossary/lib.php
mod/glossary/pix/export.png [new file with mode: 0644]
mod/glossary/pix/export.svg [new file with mode: 0644]
mod/glossary/pix/icon.svg
mod/glossary/settings.php
mod/glossary/styles.css
mod/glossary/version.php
mod/imscp/pix/icon.svg
mod/imscp/version.php
mod/label/pix/icon.svg
mod/label/version.php
mod/lesson/essay.php
mod/lesson/format.php
mod/lesson/lib.php
mod/lesson/mod_form.php
mod/lesson/pix/icon.svg
mod/lesson/report.php
mod/lesson/version.php
mod/lti/backup/moodle2/restore_lti_stepslib.php
mod/lti/locallib.php
mod/lti/mod_form.php
mod/lti/pix/icon.svg
mod/lti/tests/generator/lib.php [new file with mode: 0644]
mod/lti/tests/generator_test.php [new file with mode: 0644]
mod/lti/version.php
mod/page/pix/icon.svg
mod/page/version.php
mod/quiz/accessmanager.php
mod/quiz/accessrule/accessrulebase.php
mod/quiz/accessrule/delaybetweenattempts/tests/rule_test.php
mod/quiz/accessrule/delaybetweenattempts/version.php
mod/quiz/accessrule/ipaddress/tests/rule_test.php
mod/quiz/accessrule/ipaddress/version.php
mod/quiz/accessrule/numattempts/tests/rule_test.php
mod/quiz/accessrule/numattempts/version.php
mod/quiz/accessrule/openclosedate/rule.php
mod/quiz/accessrule/openclosedate/tests/rule_test.php
mod/quiz/accessrule/openclosedate/version.php
mod/quiz/accessrule/password/tests/rule_test.php
mod/quiz/accessrule/password/version.php
mod/quiz/accessrule/safebrowser/tests/rule_test.php
mod/quiz/accessrule/safebrowser/version.php
mod/quiz/accessrule/securewindow/tests/rule_test.php
mod/quiz/accessrule/securewindow/version.php
mod/quiz/accessrule/timelimit/rule.php
mod/quiz/accessrule/timelimit/tests/rule_test.php
mod/quiz/accessrule/timelimit/version.php
mod/quiz/accessrule/upgrade.txt
mod/quiz/attemptlib.php
mod/quiz/backup/moodle2/backup_quiz_stepslib.php
mod/quiz/backup/moodle2/restore_quiz_stepslib.php
mod/quiz/cronlib.php
mod/quiz/db/events.php
mod/quiz/db/install.xml
mod/quiz/db/upgrade.php
mod/quiz/lib.php
mod/quiz/locallib.php
mod/quiz/module.js
mod/quiz/overrideedit.php
mod/quiz/pix/icon.svg
mod/quiz/processattempt.php
mod/quiz/renderer.php
mod/quiz/report/attemptsreport_table.php
mod/quiz/report/grading/version.php
mod/quiz/report/overview/version.php
mod/quiz/report/responses/version.php
mod/quiz/report/statistics/version.php
mod/quiz/startattempt.php
mod/quiz/styles.css
mod/quiz/tests/attempts_test.php [new file with mode: 0644]
mod/quiz/tests/generator/lib.php [new file with mode: 0644]
mod/quiz/tests/generator_test.php [new file with mode: 0644]
mod/quiz/version.php
mod/resource/lib.php
mod/resource/pix/icon.svg
mod/resource/version.php
mod/scorm/datamodel.php
mod/scorm/lang/en/scorm.php
mod/scorm/loadSCO.php
mod/scorm/mod_form.php
mod/scorm/pix/icon.svg
mod/scorm/report/basic/version.php
mod/scorm/report/graphs/version.php
mod/scorm/report/interactions/version.php
mod/scorm/request.js
mod/scorm/version.php
mod/survey/download.php
mod/survey/lang/en/survey.php
mod/survey/pix/icon.svg
mod/survey/version.php
mod/url/lib.php
mod/url/locallib.php
mod/url/pix/icon.svg
mod/url/version.php
mod/wiki/pagelib.php
mod/wiki/pix/icon.svg
mod/wiki/version.php
mod/wiki/view.php
mod/workshop/allocation/manual/version.php
mod/workshop/allocation/random/version.php
mod/workshop/allocation/scheduled/settings_form.php
mod/workshop/allocation/scheduled/version.php
mod/workshop/eval/best/version.php
mod/workshop/form/accumulative/version.php
mod/workshop/form/comments/version.php
mod/workshop/form/numerrors/version.php
mod/workshop/form/rubric/version.php
mod/workshop/lang/en/workshop.php
mod/workshop/pix/icon.svg
mod/workshop/pix/userplan/task-done.png [new file with mode: 0644]
mod/workshop/pix/userplan/task-done.svg [new file with mode: 0644]
mod/workshop/pix/userplan/task-fail.png [new file with mode: 0644]
mod/workshop/pix/userplan/task-fail.svg [new file with mode: 0644]
mod/workshop/pix/userplan/task-info.png [new file with mode: 0644]
mod/workshop/pix/userplan/task-info.svg [new file with mode: 0644]
mod/workshop/pix/userplan/task-todo.png [new file with mode: 0644]
mod/workshop/pix/userplan/task-todo.svg [new file with mode: 0644]
mod/workshop/renderer.php
mod/workshop/styles.css
mod/workshop/version.php
mod/workshop/view.php
pix/c/course.png [new file with mode: 0644]
pix/c/course.svg [new file with mode: 0644]
pix/c/group.png [new file with mode: 0644]
pix/c/group.svg [new file with mode: 0644]
pix/c/site.png [new file with mode: 0644]
pix/c/site.svg [new file with mode: 0644]
pix/c/user.png [new file with mode: 0644]
pix/c/user.svg [new file with mode: 0644]
pix/docs.png [new file with mode: 0644]
pix/docs.svg [new file with mode: 0644]
pix/help.png
pix/help.svg
pix/i/agg_mean.png [new file with mode: 0644]
pix/i/agg_mean.svg [new file with mode: 0644]
pix/i/agg_sum.png [new file with mode: 0644]
pix/i/agg_sum.svg [new file with mode: 0644]
pix/i/approve.png [new file with mode: 0644]
pix/i/approve.svg [new file with mode: 0644]
pix/i/assignroles.png [new file with mode: 0644]
pix/i/assignroles.svg [new file with mode: 0644]
pix/i/backup.svg
pix/i/calc.png [new file with mode: 0644]
pix/i/calc.svg [new file with mode: 0644]
pix/i/calendar.png [new file with mode: 0644]
pix/i/calendar.svg [new file with mode: 0644]
pix/i/caution.png [new file with mode: 0644]
pix/i/caution.svg [new file with mode: 0644]
pix/i/checkpermissions.svg
pix/i/cohort.png [new file with mode: 0644]
pix/i/cohort.svg [new file with mode: 0644]
pix/i/completion-auto-enabled.png
pix/i/completion-auto-enabled.svg [new file with mode: 0644]
pix/i/completion-auto-fail.png
pix/i/completion-auto-fail.svg [new file with mode: 0644]
pix/i/completion-auto-n.png
pix/i/completion-auto-n.svg [new file with mode: 0644]
pix/i/completion-auto-pass.png
pix/i/completion-auto-pass.svg [new file with mode: 0644]
pix/i/completion-auto-y.png
pix/i/completion-auto-y.svg [new file with mode: 0644]
pix/i/completion-manual-enabled.png
pix/i/completion-manual-enabled.svg [new file with mode: 0644]
pix/i/completion-manual-n.png
pix/i/completion-manual-n.svg [new file with mode: 0644]
pix/i/completion-manual-y.png
pix/i/completion-manual-y.svg [new file with mode: 0644]
pix/i/configlock.png [new file with mode: 0644]
pix/i/configlock.svg [new file with mode: 0644]
pix/i/course.png [new file with mode: 0644]
pix/i/course.svg [new file with mode: 0644]
pix/i/courseevent.png [new file with mode: 0644]
pix/i/courseevent.svg [new file with mode: 0644]
pix/i/cross_red_big.png [new file with mode: 0644]
pix/i/cross_red_big.svg [new file with mode: 0644]
pix/i/cross_red_small.png [new file with mode: 0644]
pix/i/cross_red_small.svg [new file with mode: 0644]
pix/i/db.png [new file with mode: 0644]
pix/i/db.svg [new file with mode: 0644]
pix/i/down.png [new file with mode: 0644]
pix/i/down.svg [new file with mode: 0644]
pix/i/dragdrop.png [new file with mode: 0644]
pix/i/dragdrop.svg [new file with mode: 0644]
pix/i/edit.svg
pix/i/enrolmentsuspended.png [new file with mode: 0644]
pix/i/enrolmentsuspended.svg [new file with mode: 0644]
pix/i/enrolusers.png [new file with mode: 0644]
pix/i/enrolusers.svg [new file with mode: 0644]
pix/i/export.png [new file with mode: 0644]
pix/i/export.svg [new file with mode: 0644]
pix/i/files.png [new file with mode: 0644]
pix/i/files.svg [new file with mode: 0644]
pix/i/filter.png [new file with mode: 0644]
pix/i/filter.svg [new file with mode: 0644]
pix/i/folder.png [new file with mode: 0644]
pix/i/folder.svg [new file with mode: 0644]
pix/i/grade_correct.png [new file with mode: 0644]
pix/i/grade_correct.svg [new file with mode: 0644]
pix/i/grade_incorrect.png [new file with mode: 0644]
pix/i/grade_incorrect.svg [new file with mode: 0644]
pix/i/grade_partiallycorrect.png [new file with mode: 0644]
pix/i/grade_partiallycorrect.svg [new file with mode: 0644]
pix/i/grades.svg
pix/i/group.svg
pix/i/groupevent.png [new file with mode: 0644]
pix/i/groupevent.svg [new file with mode: 0644]
pix/i/hide.svg
pix/i/hierarchylock.png [new file with mode: 0644]
pix/i/hierarchylock.svg [new file with mode: 0644]
pix/i/import.png [new file with mode: 0644]
pix/i/import.svg [new file with mode: 0644]
pix/i/info.png [new file with mode: 0644]
pix/i/info.svg [new file with mode: 0644]
pix/i/invalid.png [new file with mode: 0644]
pix/i/invalid.svg [new file with mode: 0644]
pix/i/item.png [new file with mode: 0644]
pix/i/item.svg [new file with mode: 0644]
pix/i/manual_item.png [new file with mode: 0644]
pix/i/manual_item.svg [new file with mode: 0644]
pix/i/marked.svg
pix/i/marker.svg
pix/i/mnethost.png [new file with mode: 0644]
pix/i/mnethost.svg [new file with mode: 0644]
pix/i/move_2d.svg
pix/i/navigationitem.png
pix/i/navigationitem.svg [new file with mode: 0644]
pix/i/outcomes.png
pix/i/outcomes.svg
pix/i/permissionlock.png [new file with mode: 0644]
pix/i/permissionlock.svg [new file with mode: 0644]
pix/i/permissions.png [new file with mode: 0644]
pix/i/permissions.svg [new file with mode: 0644]
pix/i/preview.png [new file with mode: 0644]
pix/i/preview.svg [new file with mode: 0644]
pix/i/publish.svg
pix/i/reload.png [new file with mode: 0644]
pix/i/reload.svg [new file with mode: 0644]
pix/i/report.svg
pix/i/repository.svg
pix/i/restore.svg
pix/i/return.svg
pix/i/risk_config.png [new file with mode: 0644]
pix/i/risk_config.svg [new file with mode: 0644]
pix/i/risk_dataloss.png [new file with mode: 0644]
pix/i/risk_dataloss.svg [new file with mode: 0644]
pix/i/risk_managetrust.png [new file with mode: 0644]
pix/i/risk_managetrust.svg [new file with mode: 0644]
pix/i/risk_personal.png [new file with mode: 0644]
pix/i/risk_personal.svg [new file with mode: 0644]
pix/i/risk_spam.png [new file with mode: 0644]
pix/i/risk_spam.svg [new file with mode: 0644]
pix/i/risk_xss.png [new file with mode: 0644]
pix/i/risk_xss.svg [new file with mode: 0644]
pix/i/roles.png
pix/i/roles.svg
pix/i/rss.png [new file with mode: 0644]
pix/i/rss.svg [new file with mode: 0644]
pix/i/scales.png
pix/i/scales.svg
pix/i/scheduled.png
pix/i/scheduled.svg [new file with mode: 0644]
pix/i/search.png [new file with mode: 0644]
pix/i/search.svg [new file with mode: 0644]
pix/i/settings.svg
pix/i/show.svg
pix/i/siteevent.png [new file with mode: 0644]
pix/i/siteevent.svg [new file with mode: 0644]
pix/i/switchrole.png [new file with mode: 0644]
pix/i/switchrole.svg [new file with mode: 0644]
pix/i/test.svg
pix/i/tick_amber_big.png [new file with mode: 0644]
pix/i/tick_amber_big.svg [new file with mode: 0644]
pix/i/tick_amber_small.png [new file with mode: 0644]
pix/i/tick_amber_small.svg [new file with mode: 0644]
pix/i/tick_green_big.png [new file with mode: 0644]
pix/i/tick_green_big.svg [new file with mode: 0644]
pix/i/tick_green_small.png [new file with mode: 0644]
pix/i/tick_green_small.svg [new file with mode: 0644]
pix/i/twoway.png [new file with mode: 0644]
pix/i/twoway.svg [new file with mode: 0644]
pix/i/up.png [new file with mode: 0644]
pix/i/up.svg [new file with mode: 0644]
pix/i/user.svg
pix/i/userevent.png [new file with mode: 0644]
pix/i/userevent.svg [new file with mode: 0644]
pix/i/users.png
pix/i/users.svg
pix/i/valid.png [new file with mode: 0644]
pix/i/valid.svg [new file with mode: 0644]
pix/i/withsubcat.png
pix/i/withsubcat.svg [new file with mode: 0644]
pix/t/add.svg
pix/t/addcontact.png [new file with mode: 0644]
pix/t/addcontact.svg [new file with mode: 0644]
pix/t/addgreen.png [new file with mode: 0644]
pix/t/addgreen.svg [new file with mode: 0644]
pix/t/approve.png [new file with mode: 0644]
pix/t/approve.svg [new file with mode: 0644]
pix/t/assignroles.png [new file with mode: 0644]
pix/t/assignroles.svg [new file with mode: 0644]
pix/t/backup.png [new file with mode: 0644]
pix/t/backup.svg [new file with mode: 0644]
pix/t/block.png [new file with mode: 0644]
pix/t/block.svg [new file with mode: 0644]
pix/t/block_to_dock.png
pix/t/block_to_dock.svg [new file with mode: 0644]
pix/t/block_to_dock_rtl.png [new file with mode: 0644]
pix/t/block_to_dock_rtl.svg [new file with mode: 0644]
pix/t/calc.png [new file with mode: 0644]
pix/t/calc.svg [new file with mode: 0644]
pix/t/calc_off.png [new file with mode: 0644]
pix/t/calc_off.svg [new file with mode: 0644]
pix/t/check.png [new file with mode: 0644]
pix/t/check.svg [new file with mode: 0644]
pix/t/clear.png [new file with mode: 0644]
pix/t/clear.svg [new file with mode: 0644]
pix/t/cohort.png [new file with mode: 0644]
pix/t/cohort.svg [new file with mode: 0644]
pix/t/collapsed.png
pix/t/collapsed.svg [new file with mode: 0644]
pix/t/collapsed_empty.png
pix/t/collapsed_empty.svg [new file with mode: 0644]
pix/t/collapsed_empty_rtl.png
pix/t/collapsed_empty_rtl.svg [new file with mode: 0644]
pix/t/collapsed_rtl.png
pix/t/collapsed_rtl.svg [new file with mode: 0644]
pix/t/contextmenu.png [new file with mode: 0644]
pix/t/contextmenu.svg [new file with mode: 0644]
pix/t/copy.svg
pix/t/delete.svg
pix/t/dock_to_block.png
pix/t/dock_to_block.svg [new file with mode: 0644]
pix/t/dock_to_block_rtl.png [new file with mode: 0644]
pix/t/dock_to_block_rtl.svg [new file with mode: 0644]
pix/t/dockclose.png
pix/t/dockclose.svg [new file with mode: 0644]
pix/t/down.png
pix/t/down.svg
pix/t/edit.svg
pix/t/editstring.svg
pix/t/email.png [new file with mode: 0644]
pix/t/email.svg [new file with mode: 0644]
pix/t/emailno.png [new file with mode: 0644]
pix/t/emailno.svg [new file with mode: 0644]
pix/t/enrolusers.png [new file with mode: 0644]
pix/t/enrolusers.svg [new file with mode: 0644]
pix/t/expanded.png
pix/t/expanded.svg [new file with mode: 0644]
pix/t/go.png [new file with mode: 0644]
pix/t/go.svg [new file with mode: 0644]
pix/t/grades.png [new file with mode: 0644]
pix/t/grades.svg [new file with mode: 0644]
pix/t/groupn.svg
pix/t/groups.svg
pix/t/groupv.svg
pix/t/hide.svg
pix/t/left.svg
pix/t/lock.png [new file with mode: 0644]
pix/t/lock.svg [new file with mode: 0644]
pix/t/locked.png [new file with mode: 0644]
pix/t/locked.svg [new file with mode: 0644]
pix/t/locktime.png [new file with mode: 0644]
pix/t/locktime.svg [new file with mode: 0644]
pix/t/manual_item.png [new file with mode: 0644]
pix/t/manual_item.svg [new file with mode: 0644]
pix/t/markasread.png [new file with mode: 0644]
pix/t/markasread.svg [new file with mode: 0644]
pix/t/message.png [new file with mode: 0644]
pix/t/message.svg [new file with mode: 0644]
pix/t/messages.png [new file with mode: 0644]
pix/t/messages.svg [new file with mode: 0644]
pix/t/move.svg
pix/t/portfolioadd.png [new file with mode: 0644]
pix/t/portfolioadd.svg [new file with mode: 0644]
pix/t/preview.png [new file with mode: 0644]
pix/t/preview.svg [new file with mode: 0644]
pix/t/print.png [new file with mode: 0644]
pix/t/print.svg [new file with mode: 0644]
pix/t/removecontact.png [new file with mode: 0644]
pix/t/removecontact.svg [new file with mode: 0644]
pix/t/restore.png [new file with mode: 0644]
pix/t/restore.svg [new file with mode: 0644]
pix/t/right.svg
pix/t/show.svg
pix/t/sort.png [new file with mode: 0644]
pix/t/sort.svg [new file with mode: 0644]
pix/t/sort_asc.png [new file with mode: 0644]
pix/t/sort_asc.svg [new file with mode: 0644]
pix/t/sort_desc.png [new file with mode: 0644]
pix/t/sort_desc.svg [new file with mode: 0644]
pix/t/stop.png [new file with mode: 0644]
pix/t/stop.svg [new file with mode: 0644]
pix/t/switch_minus.png [new file with mode: 0644]
pix/t/switch_minus.svg [new file with mode: 0644]
pix/t/switch_plus.png [new file with mode: 0644]
pix/t/switch_plus.svg [new file with mode: 0644]
pix/t/switch_whole.png [new file with mode: 0644]
pix/t/switch_whole.svg [new file with mode: 0644]
pix/t/unblock.png [new file with mode: 0644]
pix/t/unblock.svg [new file with mode: 0644]
pix/t/unlock.png [new file with mode: 0644]
pix/t/unlock.svg [new file with mode: 0644]
pix/t/unlock_gray.png [new file with mode: 0644]
pix/t/unlock_gray.svg [new file with mode: 0644]
pix/t/unlocked.png [new file with mode: 0644]
pix/t/unlocked.svg [new file with mode: 0644]
pix/t/up.png
pix/t/up.svg
pix/t/user.png [new file with mode: 0644]
pix/t/user.svg [new file with mode: 0644]
pix/t/userblue.png [new file with mode: 0644]
pix/t/userblue.svg [new file with mode: 0644]
pix/y/ln.png [deleted file]
portfolio/boxnet/version.php
portfolio/download/version.php
portfolio/flickr/version.php
portfolio/googledocs/version.php
portfolio/mahara/version.php
portfolio/picasa/version.php
portfolio/upgrade.txt
question/behaviour/adaptive/version.php
question/behaviour/adaptivenopenalty/version.php
question/behaviour/deferredcbm/version.php
question/behaviour/deferredfeedback/version.php
question/behaviour/immediatecbm/version.php
question/behaviour/immediatefeedback/version.php
question/behaviour/informationitem/version.php
question/behaviour/interactive/version.php
question/behaviour/interactivecountback/version.php
question/behaviour/manualgraded/version.php
question/behaviour/missing/version.php
question/behaviour/upgrade.txt
question/editlib.php
question/engine/renderer.php
question/format/aiken/version.php
question/format/blackboard/version.php
question/format/blackboard_six/version.php
question/format/examview/version.php
question/format/gift/version.php
question/format/learnwise/version.php
question/format/missingword/version.php
question/format/multianswer/version.php
question/format/upgrade.txt
question/format/webct/version.php
question/format/xhtml/version.php
question/format/xml/format.php
question/format/xml/version.php
question/previewlib.php
question/type/calculated/version.php
question/type/calculatedmulti/version.php
question/type/calculatedsimple/version.php
question/type/description/version.php
question/type/essay/version.php
question/type/match/backup/moodle2/restore_qtype_match_plugin.class.php
question/type/match/version.php
question/type/missingtype/version.php
question/type/multianswer/version.php
question/type/multichoice/question.php
question/type/multichoice/tests/question_test.php
question/type/multichoice/version.php
question/type/numerical/edit_numerical_form.php
question/type/numerical/version.php
question/type/random/version.php
question/type/randomsamatch/version.php
question/type/rendererbase.php
question/type/shortanswer/version.php
question/type/truefalse/version.php
report/backups/version.php
report/completion/version.php
report/configlog/version.php
report/courseoverview/version.php
report/log/index.php
report/log/version.php
report/loglive/version.php
report/outline/version.php
report/participation/version.php
report/progress/version.php
report/questioninstances/version.php
report/security/version.php
report/stats/version.php
repository/alfresco/version.php
repository/boxnet/version.php
repository/coursefiles/version.php
repository/dropbox/version.php
repository/equella/version.php
repository/filepicker.js
repository/filesystem/version.php
repository/flickr/version.php
repository/flickr_public/version.php
repository/googledocs/version.php
repository/local/version.php
repository/merlot/version.php
repository/picasa/version.php
repository/recent/version.php
repository/s3/version.php
repository/upload/version.php
repository/url/version.php
repository/user/version.php
repository/webdav/version.php
repository/wikimedia/version.php
repository/youtube/version.php
theme/afterburner/config.php
theme/afterburner/layout/default.php
theme/afterburner/version.php
theme/anomaly/config.php
theme/anomaly/layout/general.php
theme/anomaly/layout/report.php
theme/anomaly/version.php
theme/arialist/config.php
theme/arialist/layout/general.php
theme/arialist/layout/report.php
theme/arialist/style/core.css
theme/arialist/version.php
theme/base/cli/svgtool.php [new file with mode: 0644]
theme/base/config.php
theme/base/layout/general.php
theme/base/layout/report.php
theme/base/style/admin.css
theme/base/style/blocks.css
theme/base/style/calendar.css
theme/base/style/core.css
theme/base/style/course.css
theme/base/style/dock.css
theme/base/style/filemanager.css
theme/base/style/grade.css
theme/base/style/message.css
theme/base/style/question.css
theme/base/version.php
theme/binarius/config.php
theme/binarius/layout/general.php
theme/binarius/layout/report.php
theme/binarius/version.php
theme/boxxie/config.php
theme/boxxie/layout/general.php
theme/boxxie/style/core.css
theme/boxxie/version.php
theme/brick/config.php
theme/brick/layout/general.php
theme/brick/version.php
theme/canvas/config.php
theme/canvas/layout/general.php
theme/canvas/layout/report.php
theme/canvas/version.php
theme/formal_white/layout/frontpage.php
theme/formal_white/layout/general.php
theme/formal_white/layout/report.php
theme/formal_white/style/formal_white.css
theme/formal_white/style/frame.css
theme/formal_white/version.php
theme/formfactor/version.php
theme/fusion/version.php
theme/leatherbound/version.php
theme/magazine/style/core.css
theme/magazine/version.php
theme/mymobile/config.php
theme/mymobile/javascript/custom.js
theme/mymobile/javascript/jquery.mobile-1.1.1.js [moved from theme/mymobile/javascript/jquery.mobile-1.1.0.js with 94% similarity]
theme/mymobile/readme_moodle.txt [new file with mode: 0644]
theme/mymobile/renderers.php
theme/mymobile/style/core.css
theme/mymobile/version.php
theme/nimble/version.php
theme/nonzero/version.php
theme/overlay/version.php
theme/serenity/version.php
theme/sky_high/version.php
theme/splash/version.php
theme/standard/style/blocks.css
theme/standard/style/calendar.css
theme/standard/style/core.css
theme/standard/style/course.css
theme/standard/style/css3.css
theme/standard/style/dock.css
theme/standard/style/modules.css
theme/standard/version.php
theme/standardold/version.php
theme/styles.php
theme/styles_debug.php
theme/upgrade.txt
user/filters/yesno.php
user/message.html
user/portfoliologs.php
user/profile/field/checkbox/version.php
user/profile/field/datetime/version.php
user/profile/field/menu/version.php
user/profile/field/text/version.php
user/profile/field/textarea/version.php
user/selector/lib.php
version.php
webservice/amf/version.php
webservice/rest/version.php
webservice/soap/version.php
webservice/xmlrpc/version.php

index e95a47a..e27bed2 100644 (file)
@@ -25,4 +25,8 @@ CVS
 /.project
 /.buildpath
 /.cache
-phpunit.xml
\ No newline at end of file
+phpunit.xml
+# Composer support - only composer.json is to be in git, the rest is installed in each checkout.
+composer.phar
+composer.lock
+/vendor/
index 34e8e4e..e703ee8 100644 (file)
             $visible = '';
         } else if ($blocks[$blockid]->visible) {
             $visible = '<a href="blocks.php?hide='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strhide.'">'.
-                       '<img src="'.$OUTPUT->pix_url('i/hide') . '" class="icon" alt="'.$strhide.'" /></a>';
+                       '<img src="'.$OUTPUT->pix_url('t/hide') . '" class="iconsmall" alt="'.$strhide.'" /></a>';
         } else {
             $visible = '<a href="blocks.php?show='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strshow.'">'.
-                       '<img src="'.$OUTPUT->pix_url('i/show') . '" class="icon" alt="'.$strshow.'" /></a>';
+                       '<img src="'.$OUTPUT->pix_url('t/show') . '" class="iconsmall" alt="'.$strshow.'" /></a>';
             $class = ' class="dimmed_text"'; // Leading space required!
         }
 
             $undeletable = '';
         } else if (in_array($blockname, $undeletableblocktypes)) {
             $undeletable = '<a href="blocks.php?unprotect='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strunprotect.'">'.
-                       '<img src="'.$OUTPUT->pix_url('t/unlock') . '" class="icon" alt="'.$strunprotect.'" /></a>';
+                       '<img src="'.$OUTPUT->pix_url('t/unlock') . '" class="iconsmall" alt="'.$strunprotect.'" /></a>';
         } else {
             $undeletable = '<a href="blocks.php?protect='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strprotect.'">'.
-                       '<img src="'.$OUTPUT->pix_url('t/unlock_gray') . '" class="icon" alt="'.$strprotect.'" /></a>';
+                       '<img src="'.$OUTPUT->pix_url('t/lock') . '" class="iconsmall" alt="'.$strprotect.'" /></a>';
         }
 
         $row = array(
index 858571f..ca8aaef 100644 (file)
@@ -127,6 +127,9 @@ if (function_exists('date_default_timezone_set') and function_exists('date_defau
 /** Used by library scripts to check they are being called by Moodle */
 define('MOODLE_INTERNAL', true);
 
+// Disables caching.. just in case.
+define('CACHE_DISABLE_ALL', true);
+
 // Check that PHP is of a sufficient version
 if (version_compare(phpversion(), "5.3.2") < 0) {
     $phpversion = phpversion();
diff --git a/admin/courseformats.php b/admin/courseformats.php
new file mode 100644 (file)
index 0000000..a8377de
--- /dev/null
@@ -0,0 +1,131 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Allows the admin to enable, disable and uninstall course formats
+ *
+ * @package    core_admin
+ * @copyright  2012 Marina Glancy
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+require_once('../config.php');
+require_once($CFG->libdir.'/adminlib.php');
+require_once($CFG->libdir.'/pluginlib.php');
+
+$action  = required_param('action', PARAM_ALPHANUMEXT);
+$formatname   = required_param('format', PARAM_PLUGIN);
+$confirm = optional_param('confirm', 0, PARAM_BOOL);
+
+$syscontext = context_system::instance();
+$PAGE->set_url('/admin/courseformats.php');
+$PAGE->set_context($syscontext);
+
+require_login();
+require_capability('moodle/site:config', $syscontext);
+require_sesskey();
+
+$return = new moodle_url('/admin/settings.php', array('section' => 'manageformats'));
+
+$allplugins = plugin_manager::instance()->get_plugins();
+$formatplugins = $allplugins['format'];
+$sortorder = array_flip(array_keys($formatplugins));
+
+if (!isset($formatplugins[$formatname])) {
+    print_error('courseformatnotfound', 'error', $return, $formatname);
+}
+
+switch ($action) {
+    case 'disable':
+        if ($formatplugins[$formatname]->is_enabled()) {
+            if (get_config('moodlecourse', 'format') === $formatname) {
+                print_error('cannotdisableformat', 'error', $return);
+            }
+            set_config('disabled', 1, 'format_'. $formatname);
+        }
+        break;
+    case 'enable':
+        if (!$formatplugins[$formatname]->is_enabled()) {
+            unset_config('disabled', 'format_'. $formatname);
+        }
+        break;
+    case 'up':
+        if ($sortorder[$formatname]) {
+            $currentindex = $sortorder[$formatname];
+            $seq = array_keys($formatplugins);
+            $seq[$currentindex] = $seq[$currentindex-1];
+            $seq[$currentindex-1] = $formatname;
+            set_config('format_plugins_sortorder', implode(',', $seq));
+        }
+        break;
+    case 'down':
+        if ($sortorder[$formatname] < count($sortorder)-1) {
+            $currentindex = $sortorder[$formatname];
+            $seq = array_keys($formatplugins);
+            $seq[$currentindex] = $seq[$currentindex+1];
+            $seq[$currentindex+1] = $formatname;
+            set_config('format_plugins_sortorder', implode(',', $seq));
+        }
+        break;
+    case 'uninstall':
+        echo $OUTPUT->header();
+        echo $OUTPUT->heading(get_string('courseformats', 'moodle'));
+
+        $coursecount = $DB->count_records('course', array('format' => $formatname));
+        if ($coursecount) {
+            // Check that default format is set. It will be used to convert courses
+            // using this format
+            $defaultformat = get_config('moodlecourse', 'format');
+            $defaultformat = $formatplugins[get_config('moodlecourse', 'format')];
+            if (!$defaultformat) {
+                echo $OUTPUT->error_text(get_string('defaultformatnotset', 'admin'));
+                echo $OUTPUT->footer();
+                exit;
+            }
+        }
+
+        $format = $formatplugins[$formatname];
+        $deleteurl = $format->get_uninstall_url();
+        if (!$deleteurl) {
+            // somebody was trying to cheat and type non-existing link
+            echo $OUTPUT->error_text(get_string('cannotuninstall', 'admin', $format->displayname));
+            echo $OUTPUT->footer();
+            exit;
+        }
+
+        if (!$confirm) {
+            if ($coursecount) {
+                $message = get_string('formatuninstallwithcourses', 'admin',
+                        (object)array('count' => $coursecount, 'format' => $format->displayname,
+                            'defaultformat' => $defaultformat->displayname));
+            } else {
+                $message = get_string('formatuninstallconfirm', 'admin', $format->displayname);
+            }
+            $deleteurl->param('confirm', 1);
+            echo $OUTPUT->confirm($message, $deleteurl, $return);
+        } else {
+            $a = new stdClass();
+            $a->plugin = $format->displayname;
+            $a->directory = $format->rootdir;
+            uninstall_plugin('format', $formatname);
+            echo $OUTPUT->notification(get_string('formatuninstalled', 'admin', $a), 'notifysuccess');
+            echo $OUTPUT->continue_button($return);
+        }
+
+        echo $OUTPUT->footer();
+        exit;
+}
+redirect($return);
index 5f58bc7..c102666 100644 (file)
@@ -247,15 +247,15 @@ function get_table_row($filterinfo, $isfirstrow, $islastactive, $applytostrings)
 
     // Re-order
     $updown = '';
-    $spacer = '<img src="' . $OUTPUT->pix_url('spacer') . '" class="iconsmall" alt="" /> ';
+    $spacer = '<img src="' . $OUTPUT->pix_url('spacer') . '" class="iconsmall" alt="" />';
     if ($filterinfo->active != TEXTFILTER_DISABLED) {
         if (!$isfirstrow) {
-            $updown .= $OUTPUT->action_icon(filters_action_url($filter, 'up'), new pix_icon('t/up', get_string('up')));
+            $updown .= $OUTPUT->action_icon(filters_action_url($filter, 'up'), new pix_icon('t/up', get_string('up'), '', array('class' => 'iconsmall')));
         } else {
             $updown .= $spacer;
         }
         if (!$islastactive) {
-            $updown .= $OUTPUT->action_icon(filters_action_url($filter, 'down'), new pix_icon('t/down', get_string('down')));
+            $updown .= $OUTPUT->action_icon(filters_action_url($filter, 'down'), new pix_icon('t/down', get_string('down'), '', array('class' => 'iconsmall')));
         } else {
             $updown .= $spacer;
         }
index 2f88126..d75e364 100644 (file)
@@ -193,6 +193,7 @@ if (empty($CFG->version)) {
 
 if ($version > $CFG->version) {  // upgrade
     purge_all_caches();
+
     $PAGE->set_pagelayout('maintenance');
     $PAGE->set_popup_notification_allowed(false);
 
@@ -376,6 +377,10 @@ if (during_initial_install()) {
         }
     }
 
+    // Cleanup SESSION to make sure other code does not complain in the future.
+    unset($SESSION->has_timed_out);
+    unset($SESSION->wantsurl);
+
     // at this stage there can be only one admin unless more were added by install - users may change username, so do not rely on that
     $adminids = explode(',', $CFG->siteadmins);
     $adminuser = get_complete_user_data('id', reset($adminids));
index 2290612..3ad0a72 100644 (file)
             $class   = '';
         } else if ($module->visible) {
             $visible = "<a href=\"modules.php?hide=$module->name&amp;sesskey=".sesskey()."\" title=\"$strhide\">".
-                       "<img src=\"" . $OUTPUT->pix_url('i/hide') . "\" class=\"icon\" alt=\"$strhide\" /></a>";
+                       "<img src=\"" . $OUTPUT->pix_url('t/hide') . "\" class=\"iconsmall\" alt=\"$strhide\" /></a>";
             $class   = '';
         } else {
             $visible = "<a href=\"modules.php?show=$module->name&amp;sesskey=".sesskey()."\" title=\"$strshow\">".
-                       "<img src=\"" . $OUTPUT->pix_url('i/show') . "\" class=\"icon\" alt=\"$strshow\" /></a>";
+                       "<img src=\"" . $OUTPUT->pix_url('t/show') . "\" class=\"iconsmall\" alt=\"$strshow\" /></a>";
             $class =   ' class="dimmed_text"';
         }
         if ($module->name == "forum") {
index 1e72afa..3dd14a0 100644 (file)
@@ -258,7 +258,7 @@ foreach ($sortedbehaviours as $behaviour => $behaviourname) {
             $rowclass = 'dimmed_text';
         }
     } else {
-        $icons = $OUTPUT->spacer() . ' ';
+        $icons = $OUTPUT->spacer(array('class' => 'iconsmall'));
     }
 
     // Move icons.
@@ -284,10 +284,10 @@ echo $OUTPUT->footer();
 
 function question_behaviour_enable_disable_icons($behaviour, $enabled) {
     if ($enabled) {
-        return question_behaviour_icon_html('disable', $behaviour, 'i/hide',
+        return question_behaviour_icon_html('disable', $behaviour, 't/hide',
                 get_string('enabled', 'question'), get_string('disable'));
     } else {
-        return question_behaviour_icon_html('enable', $behaviour, 'i/show',
+        return question_behaviour_icon_html('enable', $behaviour, 't/show',
                 get_string('disabled', 'question'), get_string('enable'));
     }
 }
@@ -296,7 +296,7 @@ function question_behaviour_icon_html($action, $behaviour, $icon, $alt, $tip) {
     global $OUTPUT;
     return $OUTPUT->action_icon(new moodle_url('/admin/qbehaviours.php',
             array($action => $behaviour, 'sesskey' => sesskey())),
-            new pix_icon($icon, $alt, 'moodle', array('title' => '')),
-            null, array('title' => $tip)) . ' ';
+            new pix_icon($icon, $alt, 'moodle', array('title' => '', 'class' => 'iconsmall')),
+            null, array('title' => $tip));
 }
 
index a37725c..1b35c43 100644 (file)
@@ -257,7 +257,7 @@ foreach ($sortedqtypes as $qtypename => $localname) {
             $rowclass = 'dimmed_text';
         }
     } else {
-        $icons = $OUTPUT->spacer() . ' ';
+        $icons = $OUTPUT->spacer();
     }
 
     // Move icons.
@@ -294,10 +294,10 @@ echo $OUTPUT->footer();
 
 function question_types_enable_disable_icons($qtypename, $createable) {
     if ($createable) {
-        return question_type_icon_html('disable', $qtypename, 'i/hide',
+        return question_type_icon_html('disable', $qtypename, 't/hide',
                 get_string('enabled', 'question'), get_string('disable'));
     } else {
-        return question_type_icon_html('enable', $qtypename, 'i/show',
+        return question_type_icon_html('enable', $qtypename, 't/show',
                 get_string('disabled', 'question'), get_string('enable'));
     }
 }
@@ -306,7 +306,7 @@ function question_type_icon_html($action, $qtypename, $icon, $alt, $tip) {
     global $OUTPUT;
     return $OUTPUT->action_icon(new moodle_url('/admin/qtypes.php',
             array($action => $qtypename, 'sesskey' => sesskey())),
-            new pix_icon($icon, $alt, 'moodle', array('title' => '')),
-            null, array('title' => $tip)) . ' ';
+            new pix_icon($icon, $alt, 'moodle', array('title' => '', 'class' => 'iconsmall')),
+            null, array('title' => $tip));
 }
 
index 7ca6ea2..8d49636 100644 (file)
@@ -691,7 +691,7 @@ class core_admin_renderer extends plugin_renderer_base {
     function upgrade_reload($url) {
         return html_writer::empty_tag('br') .
                 html_writer::tag('div',
-                    html_writer::link($url, $this->pix_icon('i/reload', '') .
+                    html_writer::link($url, $this->pix_icon('i/reload', '', '', array('class' => 'icon icon-pre')) .
                             get_string('reload'), array('title' => get_string('reload'))),
                 array('class' => 'continuebutton')) . html_writer::empty_tag('br');
     }
@@ -1092,9 +1092,9 @@ class core_admin_renderer extends plugin_renderer_base {
                 $row->attributes['class'] = 'type-' . $plugin->type . ' name-' . $plugin->type . '_' . $plugin->name;
 
                 if ($this->page->theme->resolve_image_location('icon', $plugin->type . '_' . $plugin->name)) {
-                    $icon = $this->output->pix_icon('icon', '', $plugin->type . '_' . $plugin->name, array('class' => 'smallicon pluginicon'));
+                    $icon = $this->output->pix_icon('icon', '', $plugin->type . '_' . $plugin->name, array('class' => 'icon pluginicon'));
                 } else {
-                    $icon = $this->output->pix_icon('spacer', '', 'moodle', array('class' => 'smallicon pluginicon noicon'));
+                    $icon = $this->output->pix_icon('spacer', '', 'moodle', array('class' => 'icon pluginicon noicon'));
                 }
                 if ($plugin->get_status() === plugin_manager::PLUGIN_STATUS_MISSING) {
                     $msg = html_writer::tag('span', get_string('status_missing', 'core_plugin'), array('class' => 'notifyproblem'));
@@ -1102,7 +1102,7 @@ class core_admin_renderer extends plugin_renderer_base {
                 } else {
                     $msg = '';
                 }
-                $pluginname  = html_writer::tag('div', $icon . ' ' . $plugin->displayname . ' ' . $msg, array('class' => 'displayname')).
+                $pluginname  = html_writer::tag('div', $icon . '' . $plugin->displayname . ' ' . $msg, array('class' => 'displayname')).
                                html_writer::tag('div', $plugin->component, array('class' => 'componentname'));
                 $pluginname  = new html_table_cell($pluginname);
 
@@ -1211,8 +1211,13 @@ class core_admin_renderer extends plugin_renderer_base {
             if (empty($impediments)) {
                 $widget = $deployer->make_confirm_widget($updateinfo);
                 $box .= $this->output->render($widget);
-            } else if (isset($impediments['notwritable'])) {
-                $box .= $this->output->help_icon('notwritable', 'core_plugin', get_string('notwritable', 'core_plugin'));
+            } else {
+                if (isset($impediments['notwritable'])) {
+                    $box .= $this->output->help_icon('notwritable', 'core_plugin', get_string('notwritable', 'core_plugin'));
+                }
+                if (isset($impediments['notdownloadable'])) {
+                    $box .= $this->output->help_icon('notdownloadable', 'core_plugin', get_string('notdownloadable', 'core_plugin'));
+                }
             }
         }
 
index 7ea3454..99a5eea 100644 (file)
@@ -71,23 +71,21 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
     $ADMIN->add('appearance', $temp);
 
     // blog
-    if (!empty($CFG->enableblogs)) {
-        $temp = new admin_settingpage('blog', new lang_string('blog','blog'));
-        $temp->add(new admin_setting_configcheckbox('useblogassociations', new lang_string('useblogassociations', 'blog'), new lang_string('configuseblogassociations','blog'), 1));
-        $temp->add(new admin_setting_bloglevel('bloglevel', new lang_string('bloglevel', 'admin'), new lang_string('configbloglevel', 'admin'), 4, array(BLOG_GLOBAL_LEVEL => new lang_string('worldblogs','blog'),
-                                                                                                                                               BLOG_SITE_LEVEL => new lang_string('siteblogs','blog'),
-                                                                                                                                               BLOG_USER_LEVEL => new lang_string('personalblogs','blog'))));
-        $temp->add(new admin_setting_configcheckbox('useexternalblogs', new lang_string('useexternalblogs', 'blog'), new lang_string('configuseexternalblogs','blog'), 1));
-        $temp->add(new admin_setting_configselect('externalblogcrontime', new lang_string('externalblogcrontime', 'blog'), new lang_string('configexternalblogcrontime', 'blog'), 86400,
-            array(43200 => new lang_string('numhours', '', 12),
-                  86400 => new lang_string('numhours', '', 24),
-                  172800 => new lang_string('numdays', '', 2),
-                  604800 => new lang_string('numdays', '', 7))));
-        $temp->add(new admin_setting_configtext('maxexternalblogsperuser', new lang_string('maxexternalblogsperuser','blog'), new lang_string('configmaxexternalblogsperuser', 'blog'), 1));
-        $temp->add(new admin_setting_configcheckbox('blogusecomments', new lang_string('enablecomments', 'admin'), new lang_string('configenablecomments', 'admin'), 1));
-        $temp->add(new admin_setting_configcheckbox('blogshowcommentscount', new lang_string('showcommentscount', 'admin'), new lang_string('configshowcommentscount', 'admin'), 1));
-        $ADMIN->add('appearance', $temp);
-    }
+    $temp = new admin_settingpage('blog', new lang_string('blog','blog'), 'moodle/site:config', empty($CFG->enableblogs));
+    $temp->add(new admin_setting_configcheckbox('useblogassociations', new lang_string('useblogassociations', 'blog'), new lang_string('configuseblogassociations','blog'), 1));
+    $temp->add(new admin_setting_bloglevel('bloglevel', new lang_string('bloglevel', 'admin'), new lang_string('configbloglevel', 'admin'), 4, array(BLOG_GLOBAL_LEVEL => new lang_string('worldblogs','blog'),
+                                                                                                                                           BLOG_SITE_LEVEL => new lang_string('siteblogs','blog'),
+                                                                                                                                           BLOG_USER_LEVEL => new lang_string('personalblogs','blog'))));
+    $temp->add(new admin_setting_configcheckbox('useexternalblogs', new lang_string('useexternalblogs', 'blog'), new lang_string('configuseexternalblogs','blog'), 1));
+    $temp->add(new admin_setting_configselect('externalblogcrontime', new lang_string('externalblogcrontime', 'blog'), new lang_string('configexternalblogcrontime', 'blog'), 86400,
+        array(43200 => new lang_string('numhours', '', 12),
+              86400 => new lang_string('numhours', '', 24),
+              172800 => new lang_string('numdays', '', 2),
+              604800 => new lang_string('numdays', '', 7))));
+    $temp->add(new admin_setting_configtext('maxexternalblogsperuser', new lang_string('maxexternalblogsperuser','blog'), new lang_string('configmaxexternalblogsperuser', 'blog'), 1));
+    $temp->add(new admin_setting_configcheckbox('blogusecomments', new lang_string('enablecomments', 'admin'), new lang_string('configenablecomments', 'admin'), 1));
+    $temp->add(new admin_setting_configcheckbox('blogshowcommentscount', new lang_string('showcommentscount', 'admin'), new lang_string('configshowcommentscount', 'admin'), 1));
+    $ADMIN->add('appearance', $temp);
 
     // Navigation settings
     $temp = new admin_settingpage('navigation', new lang_string('navigation'));
index 363bfb1..b68a10a 100644 (file)
@@ -15,9 +15,10 @@ if ($hassiteconfig
 /// NOTE: these settings must be applied after all other settings because they depend on them
     ///main course settings
     $temp = new admin_settingpage('coursesettings', new lang_string('coursesettings'));
-    $courseformats = get_plugin_list('format');
+    require_once($CFG->dirroot.'/course/lib.php');
+    $courseformats = get_sorted_course_formats(true);
     $formcourseformats = array();
-    foreach ($courseformats as $courseformat => $courseformatdir) {
+    foreach ($courseformats as $courseformat) {
         $formcourseformats[$courseformat] = new lang_string('pluginname', "format_$courseformat");
     }
     $temp->add(new admin_setting_configselect('moodlecourse/format', new lang_string('format'), new lang_string('coursehelpformat'), 'weeks',$formcourseformats));
index 8d29028..b7fa57e 100644 (file)
@@ -20,6 +20,15 @@ if ($hassiteconfig) {
     // hidden script for converting journals to online assignments (or something like that) linked from elsewhere
     $ADMIN->add('modsettings', new admin_externalpage('oacleanup', 'Online Assignment Cleanup', $CFG->wwwroot.'/'.$CFG->admin.'/oacleanup.php', 'moodle/site:config', true));
 
+    // course formats
+    $ADMIN->add('modules', new admin_category('formatsettings', new lang_string('courseformats')));
+    $temp = new admin_settingpage('manageformats', new lang_string('manageformats', 'core_admin'));
+    $temp->add(new admin_setting_manageformats());
+    $ADMIN->add('formatsettings', $temp);
+    foreach ($allplugins['format'] as $format) {
+        $format->load_settings($ADMIN, 'formatsettings', $hassiteconfig);
+    }
+
     // blocks
     $ADMIN->add('modules', new admin_category('blocksettings', new lang_string('blocks')));
     $ADMIN->add('blocksettings', new admin_page_manageblocks());
@@ -303,6 +312,10 @@ if ($hassiteconfig) {
 
 // Question type settings
 if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext)) {
+    if (!$hassiteconfig) {
+        require_once("$CFG->libdir/pluginlib.php");
+        $allplugins = plugin_manager::instance()->get_plugins();
+    }
     // Question behaviour settings.
     $ADMIN->add('modules', new admin_category('qbehavioursettings', new lang_string('questionbehaviours', 'admin')));
     $ADMIN->add('qbehavioursettings', new admin_page_manageqbehaviours());
index 4e773cd..3ba7201 100644 (file)
@@ -193,29 +193,6 @@ $temp->add(new admin_setting_configtext('curlcache', new lang_string('curlcache'
 
 $temp->add(new admin_setting_configtext('curltimeoutkbitrate', new lang_string('curltimeoutkbitrate', 'admin'),
                                         new lang_string('curltimeoutkbitrate_help', 'admin'), 56, PARAM_INT));
-/* //TODO: we need to fix code instead of relying on slow rcache, enable this once we have some code that is actually using it
-$temp->add(new admin_setting_special_selectsetup('cachetype', new lang_string('cachetype', 'admin'),
-                                          new lang_string('configcachetype', 'admin'), '',
-                                          array( '' => new lang_string('none'),
-                                                 'internal' => 'internal',
-                                                 'memcached' => 'memcached',
-                                                 'eaccelerator' => 'eaccelerator')));
-// NOTE: $CFG->rcache is forced to bool in lib/setup.php
-$temp->add(new admin_setting_special_selectsetup('rcache', new lang_string('rcache', 'admin'),
-                                          new lang_string('configrcache', 'admin'), 0,
-                                          array( '0' => new lang_string('no'),
-                                                 '1' => new lang_string('yes'))));
-$temp->add(new admin_setting_configtext('rcachettl', new lang_string('rcachettl', 'admin'),
-                                        new lang_string('configrcachettl', 'admin'), 10));
-$temp->add(new admin_setting_configtext('intcachemax', new lang_string('intcachemax', 'admin'),
-                                        new lang_string('configintcachemax', 'admin'), 10));
-$temp->add(new admin_setting_configtext('memcachedhosts', new lang_string('memcachedhosts', 'admin'),
-                                        new lang_string('configmemcachedhosts', 'admin'), ''));
-$temp->add(new admin_setting_configselect('memcachedpconn', new lang_string('memcachedpconn', 'admin'),
-                                          new lang_string('configmemcachedpconn', 'admin'), 0,
-                                          array( '0' => new lang_string('no'),
-                                                 '1' => new lang_string('yes'))));
-*/
 
 $ADMIN->add('server', $temp);
 
index 5cb37a7..8d18b1f 100644 (file)
@@ -24,7 +24,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;
-$plugin->requires  = 2012061700;
+$plugin->version   = 2012112900;
+$plugin->requires  = 2012112900;
 $plugin->component = 'tool_assignmentupgrade';
-$plugin->dependencies = array('mod_assign' => 2012061700);
+$plugin->dependencies = array('mod_assign' => 2012112900);
index 4b72d3b..0162c96 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics)
index ac03031..89c4cf2 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;
-$plugin->requires  = 2012061700;
+$plugin->version   = 2012112900;
+$plugin->requires  = 2012112900;
 $plugin->component = 'tool_customlang'; // Full name of the plugin (used for diagnostics)
index 59bafe5..75d1f5f 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012062200; // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires  = 2012061700; // Requires this Moodle version.
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires  = 2012112900; // Requires this Moodle version.
 $plugin->component = 'tool_dbtransfer'; // Full name of the plugin (used for diagnostics).
index 9ba23e0..69970eb 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_generator'; // Full name of the plugin (used for diagnostics)
 
 $plugin->maturity  = MATURITY_ALPHA; // this version's maturity level
index 02bd6a0..35741ed 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_health'; // Full name of the plugin (used for diagnostics)
 
 $plugin->maturity  = MATURITY_ALPHA; // this version's maturity level
index 7671f70..de2204f 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_innodb'; // Full name of the plugin (used for diagnostics)
index fea0e39..0cb98e6 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_langimport'; // Full name of the plugin (used for diagnostics)
index 317ee55..62a091a 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_multilangupgrade'; // Full name of the plugin (used for diagnostics)
 
index 5afd3ba..5cfd128 100644 (file)
@@ -39,7 +39,6 @@ list($options, $unrecognized) = cli_get_params(
         'buildconfig'           => false,
         'buildcomponentconfigs' => false,
         'diag'                  => false,
-        'phpunitdir'            => false,
         'run'                   => false,
         'help'                  => false,
     ),
@@ -48,24 +47,12 @@ list($options, $unrecognized) = cli_get_params(
     )
 );
 
-if ($options['phpunitdir']) {
-    // nasty skodak's hack for testing of future PHPUnit versions - intentionally not documented
-    if (!file_exists($options['phpunitdir'])) {
-        cli_error('Invalid custom PHPUnit lib location');
-    }
-    $files = scandir($options['phpunitdir']);
-    foreach ($files as $file) {
-        $path = $options['phpunitdir'].'/'.$file;
-        if (!is_dir($path) or strpos($file, '.') === 0) {
-            continue;
-        }
-        ini_set('include_path', $path . PATH_SEPARATOR . ini_get('include_path'));
-    }
-    unset($files);
-    unset($file);
+if (file_exists(__DIR__.'/../../../../vendor/autoload.php')) {
+    // Composer packages present.
+    require_once(__DIR__.'/../../../../vendor/autoload.php');
 }
 
-// verify PHPUnit libs are loaded
+// Verify PHPUnit libs can be loaded.
 if (!include_once('PHPUnit/Autoload.php')) {
     phpunit_bootstrap_error(PHPUNIT_EXITCODE_PHPUNITMISSING);
 }
@@ -75,7 +62,7 @@ if ($options['run']) {
     unset($unrecognized);
 
     foreach ($_SERVER['argv'] as $k=>$v) {
-        if (strpos($v, '--run') === 0 or strpos($v, '--phpunitdir') === 0) {
+        if (strpos($v, '--run') === 0) {
             unset($_SERVER['argv'][$k]);
             $_SERVER['argc'] = $_SERVER['argc'] - 1;
         }
index 2f3d2ba..a993604 100644 (file)
@@ -24,7 +24,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_phpunit'; // Full name of the plugin (used for diagnostics)
 
index 2bbbdc8..3db930c 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_profiling'; // Full name of the plugin (used for diagnostics)
index f87b2aa..16ece8b 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;
-$plugin->requires  = 2012061700;
+$plugin->version   = 2012112900;
+$plugin->requires  = 2012112900;
 $plugin->component = 'tool_qeupgradehelper'; // Full name of the plugin (used for diagnostics)
index ceb7134..aeb5cd7 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_replace'; // Full name of the plugin (used for diagnostics)
 
 $plugin->maturity  = MATURITY_ALPHA; // this version's maturity level
index 762e277..00b29d6 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;
-$plugin->requires  = 2012061700;
+$plugin->version   = 2012112900;
+$plugin->requires  = 2012112900;
 $plugin->component = 'tool_spamcleaner'; // Full name of the plugin (used for diagnostics)
 
index 38c1933..c43391f 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;
-$plugin->requires  = 2012061700;
+$plugin->version   = 2012112900;
+$plugin->requires  = 2012112900;
 $plugin->component = 'tool_timezoneimport'; // Full name of the plugin (used for diagnostics)
 
index 2dfcf35..edd9eb8 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_unsuproles'; // Full name of the plugin (used for diagnostics)
 
index fba1f83..25e0749 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_uploaduser'; // Full name of the plugin (used for diagnostics)
 
index ddfc858..ae5a6b4 100644 (file)
@@ -24,7 +24,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700; // Requires this Moodle version
+$plugin->version   = 2012112900; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900; // Requires this Moodle version
 $plugin->component = 'tool_xmldb'; // Full name of the plugin (used for diagnostics)
 
index 5abb3b0..97f1abb 100644 (file)
         } else {
             $columndir = $dir == "ASC" ? "DESC":"ASC";
             if ($column == "lastaccess") {
-                $columnicon = $dir == "ASC" ? "up":"down";
+                $columnicon = ($dir == "ASC") ? "sort_desc" : "sort_asc";
             } else {
-                $columnicon = $dir == "ASC" ? "down":"up";
+                $columnicon = ($dir == "ASC") ? "sort_asc" : "sort_desc";
             }
-            $columnicon = " <img src=\"" . $OUTPUT->pix_url('t/' . $columnicon) . "\" alt=\"\" />";
+            $columnicon = "<img class='iconsort' src=\"" . $OUTPUT->pix_url('t/' . $columnicon) . "\" alt=\"\" />";
 
         }
         $$column = "<a href=\"user.php?sort=$column&amp;dir=$columndir\">".$string[$column]."</a>$columnicon";
index e603db8..5f8e3c3 100644 (file)
@@ -27,6 +27,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012110700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_cas';        // Full name of the plugin (used for diagnostics)
index 39d88ff..4cecc7e 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_db';         // Full name of the plugin (used for diagnostics)
index 3695923..e5e074d 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die;
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_email';      // Full name of the plugin (used for diagnostics)
index 1de3fc0..0d52794 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_fc';         // Full name of the plugin (used for diagnostics)
index ee6a905..c88fe31 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_imap';       // Full name of the plugin (used for diagnostics)
index e05dfde..cb72168 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012110700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_ldap';       // Full name of the plugin (used for diagnostics)
index 996a322..ce33730 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_manual';     // Full name of the plugin (used for diagnostics)
index 96a618a..a091fa2 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_mnet';       // Full name of the plugin (used for diagnostics)
index cd9e101..5a533dc 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_nntp';       // Full name of the plugin (used for diagnostics)
index 33d5426..a9879ce 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_nologin';    // Full name of the plugin (used for diagnostics)
index ac511bb..80b43e1 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_none';       // Full name of the plugin (used for diagnostics)
index 40a0e19..6c7ba3d 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_pam';       // Full name of the plugin (used for diagnostics)
index d95d1c9..57b4856 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_pop3';       // Full name of the plugin (used for diagnostics)
index d3dc4b0..83e3b7f 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_radius';     // Full name of the plugin (used for diagnostics)
index 0cb3a3a..33f8965 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_shibboleth'; // Full name of the plugin (used for diagnostics)
index 279fafa..12c6613 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012061700;        // Requires this Moodle version
+$plugin->version   = 2012112900;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012112900;        // Requires this Moodle version
 $plugin->component = 'auth_webservice'; // Full name of the plugin (used for diagnostics)
index 642708f..d60142f 100644 (file)
@@ -109,8 +109,8 @@ abstract class backup implements checksumable {
     const OPERATION_RESTORE ='restore';// We are performing one restore
 
     // Version (to keep CFG->backup_version (and release) updated automatically)
-    const VERSION = 2012061800;
-    const RELEASE = '2.3';
+    const VERSION = 2012112900;
+    const RELEASE = '2.5';
 }
 
 /*
index 46d7514..4fdf62e 100644 (file)
@@ -641,7 +641,8 @@ class moodle1_converter extends base_converter {
             return $files;
         }
         foreach ($matches[2] as $match) {
-            $files[] = str_replace(array('$@FILEPHP@$', '$@SLASH@$', '$@FORCEDOWNLOAD@$'), array('', '/', ''), $match);
+            $file = str_replace(array('$@FILEPHP@$', '$@SLASH@$', '$@FORCEDOWNLOAD@$'), array('', '/', ''), $match);
+            $files[] = rawurldecode($file);
         }
 
         return array_unique($files);
@@ -658,9 +659,16 @@ class moodle1_converter extends base_converter {
     public static function rewrite_filephp_usage($text, array $files) {
 
         foreach ($files as $file) {
+            // Expect URLs properly encoded by default.
+            $parts   = explode('/', $file);
+            $encoded = implode('/', array_map('rawurlencode', $parts));
+            $fileref = '$@FILEPHP@$'.str_replace('/', '$@SLASH@$', $encoded);
+            $text    = str_replace($fileref.'$@FORCEDOWNLOAD@$', '@@PLUGINFILE@@'.$encoded.'?forcedownload=1', $text);
+            $text    = str_replace($fileref, '@@PL