Merge branch 'MDL-33552' of git://github.com/danpoltawski/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 18 Jun 2012 10:31:37 +0000 (12:31 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 18 Jun 2012 10:31:37 +0000 (12:31 +0200)
514 files changed:
admin/registration/index.php
admin/settings/development.php
admin/settings/subsystems.php
admin/tool/assignmentupgrade/version.php
admin/tool/bloglevelupgrade/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/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/unittest/version.php
admin/tool/unsuproles/version.php
admin/tool/uploaduser/version.php
admin/tool/xmldb/version.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.php
backup/moodle2/backup_final_task.class.php
backup/moodle2/backup_root_task.class.php
backup/moodle2/restore_stepslib.php
backup/util/factories/backup_factory.class.php
backup/util/plan/backup_plan.class.php
backup/util/ui/backup_ui_setting.class.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/version.php
blocks/completionstatus/version.php
blocks/course_list/version.php
blocks/course_overview/version.php
blocks/course_summary/version.php
blocks/feedback/version.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/myprofile/version.php
blocks/navigation/version.php
blocks/news_items/version.php
blocks/online_users/version.php
blocks/participants/version.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/version.php
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
config-dist.php
course/dnduploadlib.php
course/externallib.php
course/format/renderer.php
course/format/scorm/version.php
course/format/social/version.php
course/format/topics/lib.php
course/format/topics/version.php
course/format/weeks/lib.php
course/format/weeks/version.php
course/lib.php
course/mod.php
course/modduplicate.php
course/modedit.php
course/moodleform_mod.php
course/publish/backup.php
course/renderer.php
course/view.php
course/yui/modchooser/modchooser.js
enrol/authorize/version.php
enrol/category/version.php
enrol/cohort/version.php
enrol/database/version.php
enrol/externallib.php
enrol/flatfile/version.php
enrol/guest/version.php
enrol/imsenterprise/version.php
enrol/ldap/version.php
enrol/manual/version.php
enrol/meta/version.php
enrol/mnet/addinstance_form.php
enrol/mnet/version.php
enrol/paypal/version.php
enrol/self/version.php
enrol/yui/notification/notification.js
files/externallib.php
files/renderer.php
filter/activitynames/db/install.php [new file with mode: 0644]
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/filter.php
filter/glossary/version.php
filter/glossary/yui/autolinker/autolinker.js
filter/mediaplugin/db/install.php
filter/mediaplugin/version.php
filter/multilang/version.php
filter/tex/version.php
filter/tidy/version.php
filter/upgrade.txt
filter/urltolink/version.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/edit_form.php
grade/grading/form/guide/version.php
grade/grading/form/rubric/lib.php
grade/grading/form/rubric/version.php
grade/import/csv/version.php
grade/import/xml/version.php
grade/report/grader/version.php
grade/report/outcomes/version.php
grade/report/overview/version.php
grade/report/user/version.php
install/lang/es_mx/install.php
lang/en/moodle.php
lang/en/repository.php
lang/en/role.php
lib/boxlib.php
lib/csslib.php
lib/db/access.php
lib/editor/textarea/version.php
lib/editor/tinymce/tiny_mce/3.5.1.1/plugins/inlinepopups/skins/clearlooks2/window.css
lib/editor/tinymce/version.php
lib/filebrowser/file_info.php
lib/filebrowser/file_info_stored.php
lib/filelib.php
lib/filestorage/file_storage.php
lib/filestorage/stored_file.php
lib/filestorage/tests/file_storage_test.php
lib/filterlib.php
lib/form/dndupload.js
lib/form/editor.php
lib/form/filemanager.js
lib/form/filemanager.php
lib/form/filepicker.php
lib/moodlelib.php
lib/navigationlib.php
lib/outputlib.php
lib/outputrequirementslib.php
lib/phpunit/classes/util.php
lib/questionlib.php
lib/tests/csslib_test.php [moved from lib/tests/cssslib_test.php with 52% similarity]
lib/tests/textlib_test.php
lib/textlib.class.php
lib/weblib.php
lib/yui/chooserdialogue/chooserdialogue.js
lib/yui/dragdrop/dragdrop.js
local/readme.txt
message/output/email/version.php
message/output/jabber/version.php
message/output/popup/version.php
mnet/service/enrol/version.php
mod/assign/db/messages.php
mod/assign/feedback/comments/db/upgrade.php
mod/assign/feedback/comments/version.php
mod/assign/feedback/file/db/upgrade.php
mod/assign/feedback/file/version.php
mod/assign/gradingactionsform.php [deleted file]
mod/assign/gradingbatchoperationsform.php
mod/assign/gradingtable.php
mod/assign/lang/en/assign.php
mod/assign/lib.php
mod/assign/locallib.php
mod/assign/quickgradingform.php
mod/assign/renderable.php
mod/assign/renderer.php
mod/assign/styles.css
mod/assign/submission/comments/db/upgrade.php
mod/assign/submission/comments/version.php
mod/assign/submission/file/db/upgrade.php
mod/assign/submission/file/version.php
mod/assign/submission/onlinetext/db/upgrade.php
mod/assign/submission/onlinetext/locallib.php
mod/assign/submission/onlinetext/version.php
mod/assign/upgradelib.php
mod/assign/version.php
mod/assignment/lib.php
mod/assignment/type/offline/version.php
mod/assignment/type/online/assignment.class.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/tool/exportimscp/version.php
mod/book/tool/importhtml/locallib.php
mod/book/tool/importhtml/version.php
mod/book/tool/print/version.php
mod/book/version.php
mod/chat/lang/en/chat.php
mod/chat/version.php
mod/choice/lang/en/choice.php
mod/choice/version.php
mod/data/field/checkbox/version.php
mod/data/field/date/version.php
mod/data/field/file/mod.html
mod/data/field/file/version.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/mod.html
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/lang/en/data.php
mod/data/lib.php
mod/data/locallib.php
mod/data/preset/imagegallery/version.php
mod/data/version.php
mod/data/view.php
mod/feedback/version.php
mod/folder/lang/en/folder.php
mod/folder/lib.php
mod/folder/version.php
mod/forum/lang/en/forum.php
mod/forum/post_form.php
mod/forum/version.php
mod/glossary/lang/en/glossary.php
mod/glossary/lib.php
mod/glossary/styles.css
mod/glossary/version.php
mod/imscp/version.php
mod/label/lang/en/label.php
mod/label/version.php
mod/lesson/lang/en/lesson.php
mod/lesson/locallib.php
mod/lesson/styles.css
mod/lesson/version.php
mod/lti/version.php
mod/page/lang/en/page.php
mod/page/lib.php
mod/page/version.php
mod/quiz/accessrule/delaybetweenattempts/version.php
mod/quiz/accessrule/ipaddress/version.php
mod/quiz/accessrule/numattempts/version.php
mod/quiz/accessrule/openclosedate/version.php
mod/quiz/accessrule/password/version.php
mod/quiz/accessrule/safebrowser/version.php
mod/quiz/accessrule/securewindow/version.php
mod/quiz/accessrule/timelimit/version.php
mod/quiz/edit.php
mod/quiz/lang/en/quiz.php
mod/quiz/lib.php
mod/quiz/mod_form.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/version.php
mod/resource/lib.php
mod/resource/locallib.php
mod/resource/mod_form.php
mod/resource/version.php
mod/scorm/lang/en/scorm.php
mod/scorm/lib.php
mod/scorm/report/basic/version.php
mod/scorm/report/graphs/version.php
mod/scorm/report/interactions/version.php
mod/scorm/version.php
mod/survey/lang/en/survey.php
mod/survey/version.php
mod/url/lang/en/url.php
mod/url/lib.php
mod/url/version.php
mod/wiki/lang/en/wiki.php
mod/wiki/pagelib.php
mod/wiki/version.php
mod/workshop/allocation/manual/version.php
mod/workshop/allocation/random/version.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/submission.php
mod/workshop/version.php
pix/f/archive.png [new file with mode: 0644]
pix/f/audio.png
pix/f/avi.png
pix/f/base.png [new file with mode: 0644]
pix/f/bmp.png
pix/f/calc.png [new file with mode: 0644]
pix/f/chart.png [new file with mode: 0644]
pix/f/database.png
pix/f/document.png
pix/f/draw.png [new file with mode: 0644]
pix/f/eps.png
pix/f/flash.png
pix/f/gif.png
pix/f/image-128.png
pix/f/image-24.png
pix/f/image-256.png
pix/f/image-32.png
pix/f/image-48.png
pix/f/image-64.png
pix/f/image-72.png
pix/f/image-80.png
pix/f/image-96.png
pix/f/image.png
pix/f/impress.png [new file with mode: 0644]
pix/f/isf.gif [deleted file]
pix/f/isf.png [new file with mode: 0644]
pix/f/jpeg.png
pix/f/markup.png [new file with mode: 0644]
pix/f/math.png [new file with mode: 0644]
pix/f/moodle.png
pix/f/mov.png
pix/f/mp3.png
pix/f/mpeg.png
pix/f/oth.png
pix/f/pdf.png
pix/f/png.png
pix/f/powerpoint.png
pix/f/psd.png
pix/f/quicktime.png [new file with mode: 0644]
pix/f/sourcecode.png [new file with mode: 0644]
pix/f/spreadsheet.png
pix/f/text.png
pix/f/tiff.png
pix/f/video.png
pix/f/wav.png
pix/f/wmv.png
pix/f/writer.png [new file with mode: 0644]
pix/y/ln_rtl.gif [new file with mode: 0644]
pix/y/lp_rtl.png [new file with mode: 0644]
pix/y/tn_rtl.gif [new file with mode: 0644]
pix/y/tp_rtl.png [new file with mode: 0644]
portfolio/boxnet/version.php
portfolio/download/version.php
portfolio/flickr/version.php
portfolio/googledocs/version.php
portfolio/mahara/version.php
portfolio/picasa/version.php
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/engine/tests/helpers.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/webct/version.php
question/format/xhtml/version.php
question/format/xml/version.php
question/type/calculated/version.php
question/type/calculatedmulti/version.php
question/type/calculatedsimple/version.php
question/type/description/version.php
question/type/essay/renderer.php
question/type/essay/version.php
question/type/match/version.php
question/type/missingtype/version.php
question/type/multianswer/version.php
question/type/multichoice/version.php
question/type/numerical/version.php
question/type/questiontypebase.php
question/type/random/version.php
question/type/randomsamatch/version.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/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/lib.php
repository/alfresco/version.php
repository/boxnet/lib.php
repository/boxnet/version.php
repository/coursefiles/lib.php
repository/coursefiles/version.php
repository/dropbox/lib.php
repository/dropbox/version.php
repository/equella/lib.php
repository/equella/version.php
repository/filepicker.js
repository/filepicker.php
repository/filesystem/lib.php
repository/filesystem/version.php
repository/flickr/lib.php
repository/flickr/version.php
repository/flickr_public/lib.php
repository/flickr_public/version.php
repository/googledocs/version.php
repository/lib.php
repository/local/lib.php
repository/local/version.php
repository/merlot/version.php
repository/picasa/version.php
repository/recent/version.php
repository/repository_ajax.php
repository/s3/lib.php
repository/s3/version.php
repository/upload/lib.php
repository/upload/version.php
repository/url/lib.php
repository/url/version.php
repository/user/lib.php
repository/user/version.php
repository/webdav/lib.php
repository/webdav/version.php
repository/wikimedia/lib.php
repository/wikimedia/version.php
repository/youtube/version.php
theme/afterburner/version.php
theme/anomaly/version.php
theme/arialist/version.php
theme/base/layout/frontpage.php
theme/base/layout/general.php
theme/base/pix/fp/dnd_arrow.gif [new file with mode: 0644]
theme/base/pix/fp/dnd_arrow.png [deleted file]
theme/base/pix/fp/path_folder_rtl.png [new file with mode: 0644]
theme/base/style/core.css
theme/base/style/course.css
theme/base/style/dock.css
theme/base/style/filemanager.css
theme/base/version.php
theme/binarius/version.php
theme/boxxie/version.php
theme/brick/version.php
theme/canvas/style/core.css
theme/canvas/version.php
theme/formal_white/version.php
theme/formfactor/version.php
theme/fusion/version.php
theme/leatherbound/version.php
theme/magazine/version.php
theme/mymobile/config.php
theme/mymobile/javascript/jquery-noconflict.js [new file with mode: 0644]
theme/mymobile/layout/embedded.php
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/course.css
theme/standard/version.php
theme/standardold/version.php
theme/yui_combo.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
version.php
webservice/amf/version.php
webservice/rest/version.php
webservice/soap/version.php
webservice/xmlrpc/version.php

index 4c841ae..42f1c07 100644 (file)
@@ -160,19 +160,19 @@ if (empty($cancel) and $unregistration and !$confirm) {
     $selectedhuburl = optional_param('publichub', false, PARAM_URL);
     $unlistedhuburl = optional_param('unlistedurl', false, PARAM_TEXT);
     $password = optional_param('password', '', PARAM_RAW);
-
+    $registeringhuburl = null;
     if (!empty($unlistedhuburl)) {
         if (clean_param($unlistedhuburl, PARAM_URL) !== '') {
-            $huburl = $unlistedhuburl;
+            $registeringhuburl = $unlistedhuburl;
         }
     } else if (!empty($selectedhuburl)) {
-        $huburl = $selectedhuburl;
+        $registeringhuburl = $selectedhuburl;
     }
 
     // a hub has been selected, redirect to the hub registration page
-    if (empty($cancel) and !empty($huburl) and confirm_sesskey()) {
-        $hubname = optional_param(clean_param($huburl, PARAM_ALPHANUMEXT), '', PARAM_TEXT);
-        $params = array('sesskey' => sesskey(), 'huburl' => $huburl,
+    if (empty($cancel) and !empty($registeringhuburl) and confirm_sesskey()) {
+        $hubname = optional_param(clean_param($registeringhuburl, PARAM_ALPHANUMEXT), '', PARAM_TEXT);
+        $params = array('sesskey' => sesskey(), 'huburl' => $registeringhuburl,
             'password' => $password, 'hubname' => $hubname);
         redirect(new moodle_url($CFG->wwwroot . "/" . $CFG->admin . "/registration/register.php",
                         $params));
index e55e1f2..5c41b86 100644 (file)
@@ -14,6 +14,7 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
     $temp->add(new admin_setting_configcheckbox('enablegroupmembersonly', new lang_string('enablegroupmembersonly', 'admin'), new lang_string('configenablegroupmembersonly', 'admin'), 0));
 
     $temp->add(new admin_setting_configcheckbox('dndallowtextandlinks', new lang_string('dndallowtextandlinks', 'admin'), new lang_string('configdndallowtextandlinks', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('enablecssoptimiser', new lang_string('enablecssoptimiser','admin'), new lang_string('enablecssoptimiser_desc','admin'), 0));
 
     $ADMIN->add('experimental', $temp);
 
index 7c70af3..0e629b8 100644 (file)
@@ -45,6 +45,4 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
     $checkbox->set_affects_modinfo(true);
 
     $optionalsubsystems->add(new admin_setting_configcheckbox('enableplagiarism', new lang_string('enableplagiarism','plagiarism'), new lang_string('configenableplagiarism','plagiarism'), 0));
-
-    $optionalsubsystems->add(new admin_setting_configcheckbox('enablecssoptimiser', new lang_string('enablecssoptimiser','admin'), new lang_string('enablecssoptimiser_desc','admin'), 0));
 }
index 8c733b3..5cb37a7 100644 (file)
@@ -24,7 +24,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012050300;
-$plugin->requires  = 2012050300;
+$plugin->version   = 2012061700;
+$plugin->requires  = 2012061700;
 $plugin->component = 'tool_assignmentupgrade';
-$plugin->dependencies = array('mod_assign' => 2012050300);
+$plugin->dependencies = array('mod_assign' => 2012061700);
index 57ec905..92585d6 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_bloglevelupgrade'; // Full name of the plugin (used for diagnostics)
index 897bb63..4b72d3b 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics)
index 02fe82f..ac03031 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500;
-$plugin->requires  = 2011092100;
+$plugin->version   = 2012061700;
+$plugin->requires  = 2012061700;
 $plugin->component = 'tool_customlang'; // Full name of the plugin (used for diagnostics)
index c5f5671..61aa6ec 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_dbtransfer'; // Full name of the plugin (used for diagnostics)
index 7eb7fac..9ba23e0 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // 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 5026112..02bd6a0 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // 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 aa79d7b..7671f70 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_innodb'; // Full name of the plugin (used for diagnostics)
index 9cc514c..fea0e39 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_langimport'; // Full name of the plugin (used for diagnostics)
index 06476f7..317ee55 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_multilangupgrade'; // Full name of the plugin (used for diagnostics)
 
index 9e59434..2f3d2ba 100644 (file)
@@ -24,7 +24,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012040500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012040500; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_phpunit'; // Full name of the plugin (used for diagnostics)
 
index 6602ba6..2bbbdc8 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_profiling'; // Full name of the plugin (used for diagnostics)
index 5613285..f87b2aa 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500;
-$plugin->requires  = 2011092100;
+$plugin->version   = 2012061700;
+$plugin->requires  = 2012061700;
 $plugin->component = 'tool_qeupgradehelper'; // Full name of the plugin (used for diagnostics)
index 581cbb5..ceb7134 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // 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 7b211f5..762e277 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500;
-$plugin->requires  = 2011092100;
+$plugin->version   = 2012061700;
+$plugin->requires  = 2012061700;
 $plugin->component = 'tool_spamcleaner'; // Full name of the plugin (used for diagnostics)
 
index 70dcb39..38c1933 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500;
-$plugin->requires  = 2011092100;
+$plugin->version   = 2012061700;
+$plugin->requires  = 2012061700;
 $plugin->component = 'tool_timezoneimport'; // Full name of the plugin (used for diagnostics)
 
index c530746..9c02d44 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_unittest'; // Full name of the plugin (used for diagnostics)
 
index 9924f96..2dfcf35 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_unsuproles'; // Full name of the plugin (used for diagnostics)
 
index a360229..fba1f83 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_uploaduser'; // Full name of the plugin (used for diagnostics)
 
index aceab73..577c79b 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011092500; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011092100; // Requires this Moodle version
+$plugin->version   = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700; // Requires this Moodle version
 $plugin->component = 'tool_xmldb'; // Full name of the plugin (used for diagnostics)
 
index 2c8cd6b..1de46a5 100644 (file)
@@ -27,6 +27,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_cas';        // Full name of the plugin (used for diagnostics)
index 7d39683..39d88ff 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_db';         // Full name of the plugin (used for diagnostics)
index 1335dcc..3695923 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die;
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_email';      // Full name of the plugin (used for diagnostics)
index 8c302b3..1de3fc0 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_fc';         // Full name of the plugin (used for diagnostics)
index 89b930b..ee6a905 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_imap';       // Full name of the plugin (used for diagnostics)
index c10448d..71a1d5a 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_ldap';       // Full name of the plugin (used for diagnostics)
index dcb7859..996a322 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_manual';     // Full name of the plugin (used for diagnostics)
index bf4c08d..96a618a 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_mnet';       // Full name of the plugin (used for diagnostics)
index 8b0ed7b..cd9e101 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_nntp';       // Full name of the plugin (used for diagnostics)
index d2d3e99..33d5426 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_nologin';    // Full name of the plugin (used for diagnostics)
index 14cb934..ac511bb 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_none';       // Full name of the plugin (used for diagnostics)
index aba1eb9..40a0e19 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_pam';       // Full name of the plugin (used for diagnostics)
index 2fa0c7b..d95d1c9 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_pop3';       // Full name of the plugin (used for diagnostics)
index 864e402..d3dc4b0 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_radius';     // Full name of the plugin (used for diagnostics)
index 0afff2b..0cb3a3a 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_shibboleth'; // Full name of the plugin (used for diagnostics)
index 8171640..279fafa 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'auth_webservice'; // Full name of the plugin (used for diagnostics)
index d088cad..ef0a897 100644 (file)
@@ -62,7 +62,7 @@ switch ($type) {
     case backup::TYPE_1SECTION :
         $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
         require_capability('moodle/backup:backupsection', $coursecontext);
-        if (!empty($section->name)) {
+        if ((string)$section->name !== '') {
             $sectionname = format_string($section->name, true, array('context' => $coursecontext));
             $heading = get_string('backupsection', 'backup', $sectionname);
             $PAGE->navbar->add($sectionname);
index abbecb8..45d491a 100644 (file)
@@ -113,27 +113,27 @@ class backup_final_task extends backup_task {
 
         require_once($CFG->dirroot . '/backup/util/helper/convert_helper.class.php');
 
-        //Checking if we have some converter involved in the process
-        $converters = convert_helper::available_converters(false);
-        //Conversion status
+        // Look for converter steps only in type course and mode general backup operations.
         $conversion = false;
-        foreach ($converters as $value) {
-            if ($this->get_setting_value($value)) {
-                //zip class
-                $zip_contents      = "{$value}_zip_contents";
-                $store_backup_file = "{$value}_store_backup_file";
-                $convert           = "{$value}_backup_convert";
-
-                $this->add_step(new $convert("package_convert_{$value}"));
-                $this->add_step(new $zip_contents("zip_contents_{$value}"));
-                $this->add_step(new $store_backup_file("save_backupfile_{$value}"));
-                if (!$conversion) {
-                    $conversion = true;
+        if ($this->plan->get_type() == backup::TYPE_1COURSE and $this->plan->get_mode() == backup::MODE_GENERAL) {
+            $converters = convert_helper::available_converters(false);
+            foreach ($converters as $value) {
+                if ($this->get_setting_value($value)) {
+                    // Zip class.
+                    $zip_contents      = "{$value}_zip_contents";
+                    $store_backup_file = "{$value}_store_backup_file";
+                    $convert           = "{$value}_backup_convert";
+
+                    $this->add_step(new $convert("package_convert_{$value}"));
+                    $this->add_step(new $zip_contents("zip_contents_{$value}"));
+                    $this->add_step(new $store_backup_file("save_backupfile_{$value}"));
+                    if (!$conversion) {
+                        $conversion = true;
+                    }
                 }
             }
         }
 
-
         // On backup::MODE_IMPORT, we don't have to zip nor store the the file, skip these steps
         if (($this->plan->get_mode() != backup::MODE_IMPORT) && !$conversion) {
             // Generate the zip file (mbz extension)
index 3bd46cf..cf25616 100644 (file)
@@ -70,12 +70,15 @@ class backup_root_task extends backup_task {
         $filename->set_ui_filename(get_string('filename', 'backup'), 'backup.mbz', array('size'=>50));
         $this->add_setting($filename);
 
-        //Sample custom settings
-        $converters = convert_helper::available_converters(false);
-        foreach ($converters as $cnv) {
-            $formatcnv = new backup_users_setting($cnv, base_setting::IS_BOOLEAN, false);
-            $formatcnv->set_ui(new backup_setting_ui_checkbox($formatcnv, get_string('backupformat'.$cnv, 'backup')));
-            $this->add_setting($formatcnv);
+        // Present converter settings only in type course and mode general backup operations.
+        $converters = array();
+        if ($this->plan->get_type() == backup::TYPE_1COURSE and $this->plan->get_mode() == backup::MODE_GENERAL) {
+            $converters = convert_helper::available_converters(false);
+            foreach ($converters as $cnv) {
+                $formatcnv = new backup_users_setting($cnv, base_setting::IS_BOOLEAN, false);
+                $formatcnv->set_ui(new backup_setting_ui_checkbox($formatcnv, get_string('backupformat'.$cnv, 'backup')));
+                $this->add_setting($formatcnv);
+            }
         }
 
         // Define users setting (keeping it on hand to define dependencies)
index 9ee8f5a..60a4086 100644 (file)
@@ -1083,7 +1083,7 @@ class restore_section_structure_step extends restore_structure_step {
         // Section exists, update non-empty information
         } else {
             $section->id = $secrec->id;
-            if (empty($secrec->name)) {
+            if ((string)$secrec->name === '') {
                 $section->name = $data->name;
             }
             if (empty($secrec->summary)) {
index a24905c..e2143cd 100644 (file)
@@ -139,7 +139,7 @@ abstract class backup_factory {
             throw new backup_task_exception('section_task_section_not_found', $sectionid);
         }
 
-        return new backup_section_task(empty($section->name) ? $section->section : $section->name, $sectionid);
+        return new backup_section_task((string)$section->name === '' ? $section->section : $section->name, $sectionid);
     }
 
     /**
index bf217fd..4378221 100644 (file)
@@ -67,6 +67,10 @@ class backup_plan extends base_plan implements loggable {
         return $this->controller->get_backupid();
     }
 
+    public function get_type() {
+        return $this->controller->get_type();
+    }
+
     public function get_mode() {
         return $this->controller->get_mode();
     }
index 3db20a1..c18d463 100644 (file)
@@ -129,7 +129,7 @@ class base_setting_ui {
      * @param string $label
      */
     public function set_label($label) {
-        if (empty($label) || $label !== clean_param($label, PARAM_TEXT)) {
+        if ((string)$label === '' || $label !== clean_param($label, PARAM_TEXT)) {
             throw new base_setting_ui_exception('setting_invalid_ui_label');
         }
         $this->label = $label;
index edf4979..8758d2c 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_activity_modules'; // Full name of the plugin (used for diagnostics)
index 832c407..87f6ff9 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_admin_bookmarks'; // Full name of the plugin (used for diagnostics)
index 77a0b51..3ce1988 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_blog_menu'; // Full name of the plugin (used for diagnostics)
index 304340a..dde30e0 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_blog_recent'; // Full name of the plugin (used for diagnostics)
index 29b3811..2152f9d 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_blog_tags'; // Full name of the plugin (used for diagnostics)
index adf5fb1..449f088 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_calendar_month'; // Full name of the plugin (used for diagnostics)
index c3d6da2..86d947b 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_calendar_upcoming'; // Full name of the plugin (used for diagnostics)
index 4c18596..db0ee48 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_comments'; // Full name of the plugin (used for diagnostics)
index 59bf7c8..18ca3c4 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_community'; // Full name of the plugin (used for diagnostics)
index c941fb8..f47016c 100644 (file)
@@ -26,7 +26,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version      = 2011112900; // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires     = 2011112900; // Requires this Moodle version
+$plugin->version      = 2012061700; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires     = 2012061700; // Requires this Moodle version
 $plugin->component    = 'block_completionstatus';
-$plugin->dependencies = array('report_completion' => 2011110200);
\ No newline at end of file
+$plugin->dependencies = array('report_completion' => 2012061700);
\ No newline at end of file
index c333c17..79ab1af 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_course_list'; // Full name of the plugin (used for diagnostics)
index b9a6bc6..68d118f 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_course_overview'; // Full name of the plugin (used for diagnostics)
index 0c8fcce..482a4cb 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_course_summary'; // Full name of the plugin (used for diagnostics)
index 7fabf3f..cd36d5f 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_feedback';  // Full name of the plugin (used for diagnostics)
index a697cde..7a4ef6e 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_glossary_random'; // Full name of the plugin (used for diagnostics)
index c4f3991..8ebbc49 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_html';      // Full name of the plugin (used for diagnostics)
index 7106240..60fead7 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_login';     // Full name of the plugin (used for diagnostics)
index 5c0c281..1642f31 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_mentees';   // Full name of the plugin (used for diagnostics)
index 93978c1..93c6a91 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_messages';  // Full name of the plugin (used for diagnostics)
index 48879e3..2548a40 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_mnet_hosts'; // Full name of the plugin (used for diagnostics)
index 52e9e3b..9e8f652 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_myprofile'; // Full name of the plugin (used for diagnostics)
index fee1d15..b6454c7 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_navigation'; // Full name of the plugin (used for diagnostics)
index bf63dd2..19f9814 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_news_items'; // Full name of the plugin (used for diagnostics)
index ddc8444..34e50b5 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_online_users'; // Full name of the plugin (used for diagnostics)
index 9a4152e..ca8564f 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_participants'; // Full name of the plugin (used for diagnostics)
index d2d97a9..d2737bf 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_private_files'; // Full name of the plugin (used for diagnostics)
index cee38d4..eb8a929 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_quiz_results'; // Full name of the plugin (used for diagnostics)
index 96903f1..006ae71 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_recent_activity'; // Full name of the plugin (used for diagnostics)
index 5e85322..266a8bc 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_rss_client'; // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 300;               // Set min time between cron executions to 300 secs (5 mins)
index c174dd2..0203983 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_search_forums'; // Full name of the plugin (used for diagnostics)
index 64d471d..1bfd4f0 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_section_links'; // Full name of the plugin (used for diagnostics)
index deac63c..92a5a56 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_selfcompletion'; // Full name of the plugin (used for diagnostics)
index fd8131d..686672b 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_settings';  // Full name of the plugin (used for diagnostics)
index ce9147b..0930f06 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_site_main_menu'; // Full name of the plugin (used for diagnostics)
index 0a6de82..26002a0 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_social_activities'; // Full name of the plugin (used for diagnostics)
index 906113c..3288914 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_tag_flickr'; // Full name of the plugin (used for diagnostics)
index f9419d2..91bb656 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_tag_youtube'; // Full name of the plugin (used for diagnostics)
index 78a8944..3885368 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'block_tags';      // Full name of the plugin (used for diagnostics)
index e82d7bd..eb0ab29 100644 (file)
@@ -234,6 +234,10 @@ $CFG->admin = 'admin';
 //         '/filedir'   => '/var/www/moodle/filedir',  // for custom $CFG->filedir locations
 //     );
 //
+// YUI caching may be sometimes improved by slasharguments:
+//     $CFG->yuislasharguments = 1;
+// Some servers may need a special rewrite rule to work around internal path length limitations:
+// RewriteRule (^.*/theme/yui_combo\.php)(/.*) $1?file=$2
 //
 //
 // This setting will prevent the 'My Courses' page being displayed when a student
index 1b07746..816924b 100644 (file)
@@ -39,7 +39,7 @@ require_once($CFG->dirroot.'/course/lib.php');
 function dndupload_add_to_course($course, $modnames) {
     global $CFG, $PAGE;
 
-    $showstatus = optional_param('editingenabled', false, PARAM_BOOL);
+    $showstatus = optional_param('notifyeditingon', false, PARAM_BOOL);
 
     // Get all handlers.
     $handler = new dndupload_handler($course, $modnames);
@@ -671,4 +671,4 @@ class dndupload_ajax_processor {
         echo json_encode($resp);
         die();
     }
-}
\ No newline at end of file
+}
index 71c77c6..e14ce90 100644 (file)
@@ -66,7 +66,7 @@ class core_course_external extends external_api {
      * @return array
      * @since Moodle 2.2
      */
-    public static function get_course_contents($courseid, $options) {
+    public static function get_course_contents($courseid, $options = array()) {
         global $CFG, $DB;
         require_once($CFG->dirroot . "/course/lib.php");
 
@@ -276,7 +276,7 @@ class core_course_external extends external_api {
      * @return array
      * @since Moodle 2.2
      */
-    public static function get_courses($options) {
+    public static function get_courses($options = array()) {
         global $CFG, $DB;
         require_once($CFG->dirroot . "/course/lib.php");
 
@@ -701,7 +701,7 @@ class core_course_external extends external_api {
      * @return array New course info
      * @since Moodle 2.3
      */
-    public static function duplicate_course($courseid, $fullname, $shortname, $categoryid, $visible, $options) {
+    public static function duplicate_course($courseid, $fullname, $shortname, $categoryid, $visible = 1, $options = array()) {
         global $CFG, $USER, $DB;
         require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
         require_once($CFG->dirroot . '/backup/util/includes/restore_includes.php');
@@ -910,7 +910,7 @@ class core_course_external extends external_api {
                                          ' - user must have \'moodle/category:manage\' to search on theme'),
                             'value' => new external_value(PARAM_RAW, 'the value to match')
                         )
-                    ), VALUE_DEFAULT, array()
+                    ), 'criteria', VALUE_DEFAULT, array()
                 ),
                 'addsubcategories' => new external_value(PARAM_BOOL, 'return the sub categories infos
                                           (1 - default) otherwise only the category info (0)', VALUE_DEFAULT, 1)
@@ -1376,6 +1376,9 @@ class core_course_external extends external_api {
                 // Finally move the category.
                 move_category($category, $parent_cat);
                 $category->parent = $cat['parent'];
+                // Get updated path by move_category().
+                $category->path = $DB->get_field('course_categories', 'path',
+                        array('id' => $category->id));
             }
             $DB->update_record('course_categories', $category);
         }
index f0dd91f..8de249c 100644 (file)
@@ -267,35 +267,95 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
      *
      * @param stdClass $section The course_section entry from DB
      * @param stdClass $course The course entry from DB
+     * @param array    $mods course modules indexed by id (from get_all_mods)
      * @return string HTML to output.
      */
-    protected function section_summary($section, $course) {
+    protected function section_summary($section, $course, $mods) {
+        $classattr = 'section main section-summary clearfix';
+        $linkclasses = '';
+
         // If section is hidden then display grey section link
-        $classattr = 'section-summary clearfix';
-        If (!$section->visible) {
-            $classattr .= ' dimmed_text';
+        if (!$section->visible) {
+            $classattr .= ' hidden';
+            $linkclasses .= ' dimmed_text';
+        } else if ($this->is_section_current($section, $course)) {
+            $classattr .= ' current';
         }
 
         $o = '';
-        $o.= html_writer::start_tag('li', array('id' => 'section-'.$section->section,
-            'class' => $classattr));
+        $o .= html_writer::start_tag('li', array('id' => 'section-'.$section->section, 'class' => $classattr));
 
-        $title = get_section_name($course, $section);
-        $o.= html_writer::start_tag('a', array('href' => course_get_url($course, $section->section)));
-        $o.= $this->output->heading($title, 3, 'header section-title');
-        $o.= html_writer::end_tag('a');
+        $o .= html_writer::tag('div', '', array('class' => 'left side'));
+        $o .= html_writer::tag('div', '', array('class' => 'right side'));
+        $o .= html_writer::start_tag('div', array('class' => 'content'));
+
+        $title = html_writer::tag('a', get_section_name($course, $section),
+                array('href' => course_get_url($course, $section->section), 'class' => $linkclasses));
+        $o .= $this->output->heading($title, 3, 'section-title');
 
         $o.= html_writer::start_tag('div', array('class' => 'summarytext'));
         $o.= $this->format_summary_text($section);
         $o.= html_writer::end_tag('div');
+        $o.= $this->section_activity_summary($section, $mods);
 
-        $o .= $this->section_availability_message($section);
+        $o.= $this->section_availability_message($section);
 
-        $o.= html_writer::end_tag('li');
+        $o .= html_writer::end_tag('div');
+        $o .= html_writer::end_tag('li');
 
         return $o;
     }
 
+    /**
+     * Generate a summary of the activites in a section
+     *
+     * @param stdClass $section The course_section entry from DB
+     * @param array    $mods course modules indexed by id (from get_all_mods)
+     * @return string HTML to output.
+     */
+    private function section_activity_summary($section, $mods) {
+        if (empty($section->sequence)) {
+            return '';
+        }
+
+        // Generate array with count of activities in this section:
+        $sectionmods = array();
+        $modsequence = explode(',', $section->sequence);
+        foreach ($modsequence as $cmid) {
+            $thismod = $mods[$cmid];
+
+            if ($thismod->modname == 'label') {
+                // Labels are special (not interesting for students)!
+                continue;
+            }
+
+            if ($thismod->uservisible) {
+                if (isset($sectionmods[$thismod->modname])) {
+                    $sectionmods[$thismod->modname]['count']++;
+                } else {
+                    $sectionmods[$thismod->modname]['name'] = $thismod->modplural;
+                    $sectionmods[$thismod->modname]['count'] = 1;
+                }
+            }
+        }
+
+        if (empty($sectionmods)) {
+            // No sections
+            return '';
+        }
+
+        // Output section activities summary:
+        $o = '';
+        $o.= html_writer::start_tag('div', array('class' => 'section-summary-activities mdl-right'));
+        foreach ($sectionmods as $mod) {
+            $o.= html_writer::start_tag('span', array('class' => 'activity-count'));
+            $o.= $mod['name'].': '.$mod['count'];
+            $o.= html_writer::end_tag('span');
+        }
+        $o.= html_writer::end_tag('div');
+        return $o;
+    }
+
     /**
      * If section is not visible to current user, display the message about that
      * ('Not available until...', that sort of thing). Otherwise, returns blank.
@@ -337,12 +397,10 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
                 )
             );
 
-            $strcancel= get_string('cancel');
-
-            $o.= html_writer::start_tag('li', array('class' => 'clipboard'));
+            $o.= html_writer::start_tag('div', array('class' => 'clipboard'));
             $o.= strip_tags(get_string('activityclipboard', '', $USER->activitycopyname));
             $o.= ' ('.html_writer::link($url, get_string('cancel')).')';
-            $o.= html_writer::end_tag('li');
+            $o.= html_writer::end_tag('div');
         }
 
         return $o;
@@ -471,6 +529,9 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
             return;
         }
 
+        // Copy activity clipboard..
+        echo $this->course_activity_clipboard($course, $displaysection);
+
         // General section if non-empty.
         $thissection = $sections[0];
         if ($thissection->summary or $thissection->sequence or $PAGE->user_is_editing()) {
@@ -478,7 +539,7 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
             echo $this->section_header($thissection, $course, true);
             print_section($course, $thissection, $mods, $modnamesused, true);
             if ($PAGE->user_is_editing()) {
-                print_section_add_menus($course, 0, $modnames);
+                print_section_add_menus($course, 0, $modnames, false, false, true);
             }
             echo $this->section_footer();
             echo $this->end_section_list();
@@ -502,9 +563,6 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
         $sectiontitle .= html_writer::end_tag('div');
         echo $sectiontitle;
 
-        // Copy activity clipboard..
-        echo $this->course_activity_clipboard($course, $displaysection);
-
         // Now the list of sections..
         echo $this->start_section_list();
 
@@ -517,7 +575,7 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
 
         print_section($course, $thissection, $mods, $modnamesused, true, '100%', false, true);
         if ($PAGE->user_is_editing()) {
-            print_section_add_menus($course, $displaysection, $modnames);
+            print_section_add_menus($course, $displaysection, $modnames, false, false, true);
         }
         echo $this->section_footer();
         echo $this->end_section_list();
@@ -604,7 +662,7 @@ abstract class format_section_renderer_base extends plugin_renderer_base {
 
             if (!$PAGE->user_is_editing() && $course->coursedisplay == COURSE_DISPLAY_MULTIPAGE) {
                 // Display section summary only.
-                echo $this->section_summary($thissection, $course);
+                echo $this->section_summary($thissection, $course, $mods);
             } else {
                 echo $this->section_header($thissection, $course, false);
                 if ($thissection->uservisible) {
index 834435d..2583df5 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011120100;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011120100;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'format_scorm';    // Full name of the plugin (used for diagnostics)
index 3096753..7fe4f6a 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011120100;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011120100;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'format_social';   // Full name of the plugin (used for diagnostics)
index e8632fc..3728ab2 100644 (file)
@@ -59,7 +59,7 @@ function callback_topics_definition() {
 
 function callback_topics_get_section_name($course, $section) {
     // We can't add a node without any text
-    if (!empty($section->name)) {
+    if ((string)$section->name !== '') {
         return format_string($section->name, true, array('context' => get_context_instance(CONTEXT_COURSE, $course->id)));
     } else if ($section->section == 0) {
         return get_string('section0name', 'format_topics');
index 6f0e371..b2bba53 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012042900;        // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires  = 2012042800.03;        // Requires this Moodle version.
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires  = 2012061700;        // Requires this Moodle version.
 $plugin->component = 'format_topics';    // Full name of the plugin (used for diagnostics).
index a1e1ea9..fe6fd6b 100644 (file)
@@ -66,7 +66,7 @@ function callback_weeks_definition() {
  */
 function callback_weeks_get_section_name($course, $section) {
     // We can't add a node without text
-    if (!empty($section->name)) {
+    if ((string)$section->name !== '') {
         // Return the name the user set.
         return format_string($section->name, true, array('context' => context_course::instance($course->id)));
     } else if ($section->section == 0) {
index 281b16e..6a2d2c8 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012042900;        // The current plugin version (Date: YYYYMMDDXX).
-$plugin->requires  = 2012042800.03;        // Requires this Moodle version.
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX).
+$plugin->requires  = 2012061700;        // Requires this Moodle version.
 $plugin->component = 'format_weeks';    // Full name of the plugin (used for diagnostics).
index 26fea72..1f47a83 100644 (file)
@@ -1762,7 +1762,7 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
 /**
  * Prints the menus to add activities and resources.
  */
-function print_section_add_menus($course, $section, $modnames, $vertical=false, $return=false) {
+function print_section_add_menus($course, $section, $modnames, $vertical=false, $return=false, $sectionreturn = false) {
     global $CFG, $OUTPUT;
 
     // check to see if user can add menus
@@ -1780,13 +1780,20 @@ function print_section_add_menus($course, $section, $modnames, $vertical=false,
     // We need to add the section section to the link for each module
     $sectionlink = '&section=' . $section;
 
+    // We need to add the section to return to
+    if ($sectionreturn) {
+        $sectionreturnlink = '&sr=' . $section;
+    } else {
+        $sectionreturnlink = '&sr=0';
+    }
+
     foreach ($modules as $module) {
         if (isset($module->types)) {
             // This module has a subtype
             // NOTE: this is legacy stuff, module subtypes are very strongly discouraged!!
             $subtypes = array();
             foreach ($module->types as $subtype) {
-                $subtypes[$subtype->link . $sectionlink] = $subtype->title;
+                $subtypes[$subtype->link . $sectionlink . $sectionreturnlink] = $subtype->title;
             }
 
             // Sort module subtypes into the list
@@ -1808,11 +1815,11 @@ function print_section_add_menus($course, $section, $modnames, $vertical=false,
         } else {
             // This module has no subtypes
             if ($module->archetype == MOD_ARCHETYPE_RESOURCE) {
-                $resources[$module->link . $sectionlink] = $module->title;
+                $resources[$module->link . $sectionlink . $sectionreturnlink] = $module->title;
             } else if ($module->archetype === MOD_ARCHETYPE_SYSTEM) {
                 // System modules cannot be added by user, do not add to dropdown
             } else {
-                $activities[$module->link . $sectionlink] = $module->title;
+                $activities[$module->link . $sectionlink . $sectionreturnlink] = $module->title;
             }
         }
     }
@@ -1851,7 +1858,7 @@ function print_section_add_menus($course, $section, $modnames, $vertical=false,
         $modchooser.= html_writer::start_tag('div', array('class' => 'section-modchooser'));
         $icon = $OUTPUT->pix_icon('t/add', $straddeither);
         $span = html_writer::tag('span', $straddeither, array('class' => 'section-modchooser-text'));
-        $modchooser.= html_writer::link('#', $icon.$span, array('class' => 'section-modchooser-link'));
+        $modchooser .= html_writer::tag('span', $icon . $span, array('class' => 'section-modchooser-link'));
         $modchooser.= html_writer::end_tag('div');
         $modchooser.= html_writer::end_tag('div');
 
@@ -1880,10 +1887,11 @@ function print_section_add_menus($course, $section, $modnames, $vertical=false,
  * @param object $course The Course
  * @param array $modnames An array containing the list of modules and their
  * names
+ * @param int $sectionreturn The section to return to
  * @return array A list of stdClass objects containing metadata about each
  * module
  */
-function get_module_metadata($course, $modnames) {
+function get_module_metadata($course, $modnames, $sectionreturn = 0) {
     global $CFG, $OUTPUT;
 
     // get_module_metadata will be called once per section on the page and courses may show
@@ -1894,7 +1902,7 @@ function get_module_metadata($course, $modnames) {
     }
 
     $return = array();
-    $urlbase = "/course/mod.php?id=$course->id&sesskey=".sesskey().'&add=';
+    $urlbase = "/course/mod.php?id=$course->id&sesskey=".sesskey().'&sr='.$sectionreturn.'&add=';
     foreach($modnames as $modname => $modnamestr) {
         if (!course_allowed_module($course, $modname)) {
             continue;
index 9921d86..181c6c9 100644 (file)
@@ -73,12 +73,12 @@ if (!empty($add)) {
     $type        = optional_param('type', '', PARAM_ALPHA);
     $returntomod = optional_param('return', 0, PARAM_BOOL);
 
-    redirect("$CFG->wwwroot/course/modedit.php?add=$add&type=$type&course=$id&section=$section&return=$returntomod");
+    redirect("$CFG->wwwroot/course/modedit.php?add=$add&type=$type&course=$id&section=$section&return=$returntomod&sr=$sectionreturn");
 
 } else if (!empty($update)) {
     $cm = get_coursemodule_from_id('', $update, 0, true, MUST_EXIST);
     $returntomod = optional_param('return', 0, PARAM_BOOL);
-    redirect("$CFG->wwwroot/course/modedit.php?update=$update&return=$returntomod");
+    redirect("$CFG->wwwroot/course/modedit.php?update=$update&return=$returntomod&sr=$sectionreturn");
 
 } else if (!empty($duplicate)) {
     $cm     = get_coursemodule_from_id('', $duplicate, 0, true, MUST_EXIST);
@@ -104,7 +104,8 @@ if (!empty($add)) {
         echo $OUTPUT->confirm(
             get_string('duplicateconfirm', 'core', $a),
             new single_button(
-                new moodle_url('/course/modduplicate.php', array('cmid' => $cm->id, 'course' => $course->id)),
+                new moodle_url('/course/modduplicate.php', array(
+                    'cmid' => $cm->id, 'course' => $course->id, 'sr' => $sectionreturn)),
                 get_string('continue'),
                 'post'),
             new single_button(
@@ -130,8 +131,7 @@ if (!empty($add)) {
     if (!$confirm or !confirm_sesskey()) {
         $fullmodulename = get_string('modulename', $cm->modname);
 
-        $optionsyes = array('confirm'=>1, 'delete'=>$cm->id, 'sesskey'=>sesskey());
-        $optionsno  = array('id'=>$cm->course);
+        $optionsyes = array('confirm'=>1, 'delete'=>$cm->id, 'sesskey'=>sesskey(), 'sr' => $sectionreturn);
 
         $strdeletecheck = get_string('deletecheck', '', $fullmodulename);
         $strdeletecheckfull = get_string('deletecheckfull', '', "$fullmodulename '$cm->name'");
@@ -145,7 +145,7 @@ if (!empty($add)) {
         // print_simple_box_start('center', '60%', '#FFAAAA', 20, 'noticebox');
         echo $OUTPUT->box_start('noticebox');
         $formcontinue = new single_button(new moodle_url("$CFG->wwwroot/course/mod.php", $optionsyes), get_string('yes'));
-        $formcancel = new single_button(new moodle_url($return, $optionsno), get_string('no'), 'get');
+        $formcancel = new single_button($return, get_string('no'), 'get');
         echo $OUTPUT->confirm($strdeletecheckfull, $formcontinue, $formcancel);
         echo $OUTPUT->box_end();
         echo $OUTPUT->footer();
@@ -226,9 +226,11 @@ if ((!empty($movetosection) or !empty($moveto)) and confirm_sesskey()) {
 
     moveto_module($cm, $section, $beforecm);
 
+    $sectionreturn = $USER->activitycopysectionreturn;
     unset($USER->activitycopy);
     unset($USER->activitycopycourse);
     unset($USER->activitycopyname);
+    unset($USER->activitycopysectionreturn);
 
     rebuild_course_cache($section->course);
 
@@ -340,9 +342,10 @@ if ((!empty($movetosection) or !empty($moveto)) and confirm_sesskey()) {
 
     $section = $DB->get_record('course_sections', array('id'=>$cm->section), '*', MUST_EXIST);
 
-    $USER->activitycopy       = $copy;
-    $USER->activitycopycourse = $cm->course;
-    $USER->activitycopyname   = $cm->name;
+    $USER->activitycopy              = $copy;
+    $USER->activitycopycourse        = $cm->course;
+    $USER->activitycopyname          = $cm->name;
+    $USER->activitycopysectionreturn = $sectionreturn;
 
     redirect(course_get_url($course, $sectionreturn));
 
index a9006b1..e08ea35 100644 (file)
@@ -32,8 +32,9 @@ require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
 require_once($CFG->dirroot . '/backup/util/includes/restore_includes.php');
 require_once($CFG->libdir . '/filelib.php');
 
-$cmid       = required_param('cmid',    PARAM_INT);
-$courseid   = required_param('course',  PARAM_INT);
+$cmid           = required_param('cmid', PARAM_INT);
+$courseid       = required_param('course', PARAM_INT);
+$sectionreturn  = optional_param('sr', 0, PARAM_INT);
 
 $course     = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
 $cm         = get_coursemodule_from_id('', $cmid, $course->id, true, MUST_EXIST);
@@ -131,16 +132,14 @@ if ($newcmid) {
             get_string('duplicatecontedit'),
             'get'),
         new single_button(
-            new moodle_url('/course/view.php#section-' . $cm->sectionnum, array('id' => $cm->course)),
+            course_get_url($course, $sectionreturn),
             get_string('duplicatecontcourse'),
             'get')
     );
 
 } else {
     echo $output->notification(get_string('duplicatesuccess', 'core', $a), 'notifysuccess');
-    echo $output->continue_button(
-        new moodle_url('/course/view.php#section-' . $cm->sectionnum, array('id' => $course->id))
-    );
+    echo $output->continue_button(course_get_url($course, $sectionreturn));
 }
 
 echo $output->footer();
index b9bf127..ff98613 100644 (file)
@@ -35,8 +35,10 @@ $add    = optional_param('add', '', PARAM_ALPHA);     // module name
 $update = optional_param('update', 0, PARAM_INT);
 $return = optional_param('return', 0, PARAM_BOOL);    //return to course/view.php if false or mod/modname/view.php if true
 $type   = optional_param('type', '', PARAM_ALPHANUM); //TODO: hopefully will be removed in 2.0
+$sectionreturn = optional_param('sr', 0, PARAM_INT);
 
 $url = new moodle_url('/course/modedit.php');
+$url->param('sr', $sectionreturn);
 if (!empty($return)) {
     $url->param('return', $return);
 }
@@ -79,6 +81,7 @@ if (!empty($add)) {
     $data->coursemodule     = '';
     $data->add              = $add;
     $data->return           = 0; //must be false if this is an add, go back to course view on cancel
+    $data->sr               = $sectionreturn;
 
     if (plugin_supports('mod', $data->modulename, FEATURE_MOD_INTRO, true)) {
         $draftid_editor = file_get_submitted_draft_itemid('introeditor');
@@ -147,6 +150,7 @@ if (!empty($add)) {
     $data->modulename         = $module->name;
     $data->instance           = $cm->instance;
     $data->return             = $return;
+    $data->sr                 = $sectionreturn;
     $data->update             = $update;
     $data->completion         = $cm->completion;
     $data->completionview     = $cm->completionview;
@@ -260,7 +264,7 @@ if ($mform->is_cancelled()) {
     if ($return && !empty($cm->id)) {
         redirect("$CFG->wwwroot/mod/$module->name/view.php?id=$cm->id");
     } else {
-        redirect(course_get_url($course, $cw->section));
+        redirect(course_get_url($course, $sectionreturn));
     }
 } else if ($fromform = $mform->get_data()) {
     if (empty($fromform->coursemodule)) {
@@ -629,7 +633,7 @@ if ($mform->is_cancelled()) {
             redirect($gradingman->get_management_url($returnurl));
         }
     } else {
-        redirect(course_get_url($course, $cw->section));
+        redirect(course_get_url($course, $sectionreturn));
     }
     exit;
 
index a9a3b53..292387b 100644 (file)
@@ -690,6 +690,9 @@ abstract class moodleform_mod extends moodleform {
 
         $mform->addElement('hidden', 'return', 0);
         $mform->setType('return', PARAM_BOOL);
+
+        $mform->addElement('hidden', 'sr', 0);
+        $mform->setType('sr', PARAM_INT);
     }
 
     public function standard_grading_coursemodule_elements() {
index 61ab633..ef59eb8 100644 (file)
@@ -81,7 +81,7 @@ if ($backup->get_stage() !== backup_ui::STAGE_COMPLETE) {
         echo $renderer->dependency_notification(get_string('dependenciesenforced', 'backup'));
     }
     echo $renderer->progress_bar($backup->get_progress_bar());
-    echo $backup->display();
+    echo $backup->display($renderer);
     echo $OUTPUT->footer();
     die();
 }
index 22e5e2c..2206a5e 100644 (file)
@@ -188,15 +188,7 @@ class core_course_renderer extends plugin_renderer_base {
         // Put all options into one tag 'alloptions' to allow us to handle scrolling
         $formcontent .= html_writer::start_tag('div', array('class' => 'alloptions'));
 
-        // First display Resources
-        $resources = array_filter($modules,
-                create_function('$mod', 'return ($mod->archetype === MOD_CLASS_RESOURCE);'));
-        if (count($resources)) {
-            $formcontent .= $this->course_modchooser_title('resources');
-            $formcontent .= $this->course_modchooser_module_types($resources);
-        }
-
-        // Then activities
+        // Activities
         $activities = array_filter($modules,
                 create_function('$mod', 'return ($mod->archetype !== MOD_CLASS_RESOURCE);'));
         if (count($activities)) {
@@ -204,14 +196,22 @@ class core_course_renderer extends plugin_renderer_base {
             $formcontent .= $this->course_modchooser_module_types($activities);
         }
 
+        // Resources
+        $resources = array_filter($modules,
+                create_function('$mod', 'return ($mod->archetype === MOD_CLASS_RESOURCE);'));
+        if (count($resources)) {
+            $formcontent .= $this->course_modchooser_title('resources');
+            $formcontent .= $this->course_modchooser_module_types($resources);
+        }
+
         $formcontent .= html_writer::end_tag('div'); // modoptions
         $formcontent .= html_writer::end_tag('div'); // types
 
         $formcontent .= html_writer::start_tag('div', array('class' => 'submitbuttons'));
-        $formcontent .= html_writer::tag('input', '',
-                array('type' => 'submit', 'name' => 'addcancel', 'id' => 'addcancel', 'value' => get_string('cancel')));
         $formcontent .= html_writer::tag('input', '',
                 array('type' => 'submit', 'name' => 'submitbutton', 'id' => 'submitbutton', 'value' => get_string('add')));
+        $formcontent .= html_writer::tag('input', '',
+                array('type' => 'submit', 'name' => 'addcancel', 'id' => 'addcancel', 'value' => get_string('cancel')));
         $formcontent .= html_writer::end_tag('div');
         $formcontent .= html_writer::end_tag('form');
 
index 9667832..e4a18cd 100644 (file)
             if ($course->id == SITEID) {
                 redirect($CFG->wwwroot .'/?redirect=0');
             } else {
-                $url = new moodle_url($PAGE->url, array('editingenabled' => 1));
+                $url = new moodle_url($PAGE->url, array('notifyeditingon' => 1));
                 redirect($url);
             }
         } else if (($edit == 0) and confirm_sesskey()) {
     if (include_course_ajax($course, $modnamesused)) {
         // Add the module chooser
         $renderer = $PAGE->get_renderer('core', 'course');
-        echo $renderer->course_modchooser(get_module_metadata($course, $modnames), $course);
+        echo $renderer->course_modchooser(get_module_metadata($course, $modnames, $displaysection), $course);
     }
 
     echo $OUTPUT->footer();
index 4a691a2..6b73e68 100644 (file)
@@ -2,7 +2,7 @@ YUI.add('moodle-course-modchooser', function(Y) {
     var CSS = {
         PAGECONTENT : 'div#page-content',
         SECTION : 'li.section',
-        SECTIONMODCHOOSER : 'a.section-modchooser-link',
+        SECTIONMODCHOOSER : 'span.section-modchooser-link',
         SITEMENU : 'div.block_site_main_menu',
         SITETOPIC : 'div.sitetopic'
     };
@@ -99,7 +99,12 @@ YUI.add('moodle-course-modchooser', function(Y) {
             }, this);
         },
         _setup_for_section : function(section, sectionid) {
-            var chooserlink = section.one(CSS.SECTIONMODCHOOSER);
+            var chooserspan = section.one(CSS.SECTIONMODCHOOSER);
+            var chooserlink = Y.Node.create("<a href='#' />");
+            chooserspan.get('children').each(function(node) {
+                chooserlink.appendChild(node);
+            });
+            chooserspan.insertBefore(chooserlink);
             chooserlink.on('click', this.display_mod_chooser, this, sectionid);
         },
         /**
index 6955933..cbaece9 100644 (file)
@@ -26,7 +26,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112902;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_authorize'; // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 180;
index d39d559..371a7f0 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_category';  // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 60;
\ No newline at end of file
index ef4adcb..74a2aa8 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112901;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_cohort';    // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 60*60;             // run cron every hour by default, it is not out-of-sync often
\ No newline at end of file
index 6f085ff..b50cc25 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2012031000;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2012022300;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_database';  // Full name of the plugin (used for diagnostics)
 //TODO: should we add cron sync?
\ No newline at end of file
index 0b10031..147383c 100644 (file)
@@ -152,7 +152,7 @@ class core_enrol_external extends external_api {
      *                               }
      * @return array An array of users
      */
-    public static function get_enrolled_users($courseid, $options) {
+    public static function get_enrolled_users($courseid, $options = array()) {
         global $CFG, $USER, $DB;
         require_once($CFG->dirroot . "/user/lib.php");
 
index b0acb3f..f4d88bd 100644 (file)
@@ -26,7 +26,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112901;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_flatfile';  // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 60;
index 125592f..b1ace7a 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112901;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_guest';     // Full name of the plugin (used for diagnostics)
index 4397178..c58dc72 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112901;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_imsenterprise'; // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 60;
index 3971fb5..0f35fc6 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_ldap';      // Full name of the plugin (used for diagnostics)
index 4a7b760..8d2ff58 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112901;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_manual';    // Full name of the plugin (used for diagnostics)
index 9749993..914cc4a 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112901;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_meta';      // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 60*60;             // run cron every hour by default, it is not out-of-sync often
\ No newline at end of file
index f002f54..9e30ce1 100644 (file)
@@ -72,9 +72,10 @@ class enrol_mnet_addinstance_form extends moodleform {
      * Do not allow multiple instances for single remote host
      *
      * @param array $data raw form data
-     * @return array
+     * @param array $files
+     * @return array of errors
      */
-    function validation($data) {
+    function validation($data, $files) {
         global $DB;
 
         $errors = array();
index bac4815..8195260 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_mnet';      // Full name of the plugin (used for diagnostics)
index dbe9a61..9574019 100644 (file)
@@ -26,6 +26,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112901;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_paypal';    // Full name of the plugin (used for diagnostics)
index 7e94128..73f1cde 100644 (file)
@@ -25,7 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'enrol_self';      // Full name of the plugin (used for diagnostics)
 $plugin->cron      = 180;
\ No newline at end of file
index 1c7e6da..8b91443 100644 (file)
@@ -73,6 +73,12 @@ Y.extend(DIALOGUE, Y.Overlay, {
                 if (this.get('center') && !e.prevVal && e.newVal) {
                     this.centerDialogue();
                 }
+                if (this.get('draggable')) {
+                    var titlebar = '#' + this.get('id') + ' .' + CSS.HEADER;
+                    this.plug(Y.Plugin.Drag, {handles : [titlebar]});
+                    this.dd.addInvalid('div.closebutton');
+                    Y.one(titlebar).setStyle('cursor', 'move');
+                }
                 break;
         }
     },
@@ -110,6 +116,10 @@ Y.extend(DIALOGUE, Y.Overlay, {
         center : {
             validator : Y.Lang.isBoolean,
             value : true
+        },
+        draggable : {
+            validator : Y.Lang.isBoolean,
+            value : false
         }
     }
 });
@@ -372,4 +382,4 @@ M.core.confirm = CONFIRM;
 M.core.exception = EXCEPTION;
 M.core.ajaxException = AJAXEXCEPTION;
 
-}, '@VERSION@', {requires:['base','node','overlay','event-key', 'moodle-enrol-notification-skin']});
\ No newline at end of file
+}, '@VERSION@', {requires:['base','node','overlay','event-key', 'moodle-enrol-notification-skin', 'dd-plugin']});
index ec16724..f6001d2 100644 (file)
@@ -52,7 +52,8 @@ class core_files_external extends external_api {
                 'filearea'  => new external_value(PARAM_TEXT, 'file area'),
                 'itemid'    => new external_value(PARAM_INT, 'associated id'),
                 'filepath'  => new external_value(PARAM_PATH, 'file path'),
-                'filename'  => new external_value(PARAM_FILE, 'file name')
+                'filename'  => new external_value(PARAM_FILE, 'file name'),
+                'modified' => new external_value(PARAM_INT, 'timestamp to return files changed after this time.', VALUE_DEFAULT, null)
             )
         );
     }
@@ -66,12 +67,15 @@ class core_files_external extends external_api {
      * @param int $itemid item id
      * @param string $filepath file path
      * @param string $filename file name
+     * @param int $modified timestamp to return files changed after this time.
      * @return array
      * @since Moodle 2.2
      */
-    public static function get_files($contextid, $component, $filearea, $itemid, $filepath, $filename) {
+    public static function get_files($contextid, $component, $filearea, $itemid, $filepath, $filename, $modified = null) {
         global $CFG, $USER, $OUTPUT;
-        $fileinfo = self::validate_parameters(self::get_files_parameters(), array('contextid'=>$contextid, 'component'=>$component, 'filearea'=>$filearea, 'itemid'=>$itemid, 'filepath'=>$filepath, 'filename'=>$filename));
+        $fileinfo = self::validate_parameters(self::get_files_parameters(), array(
+                    'contextid'=>$contextid, 'component'=>$component, 'filearea'=>$filearea,
+                    'itemid'=>$itemid, 'filepath'=>$filepath, 'filename'=>$filename, 'modified'=>$modified));
 
         $browser = get_file_browser();
 
@@ -99,7 +103,10 @@ class core_files_external extends external_api {
         $return = array();
         $return['parents'] = array();
         $return['files'] = array();
-        if ($file = $browser->get_file_info($context, $fileinfo['component'], $fileinfo['filearea'], $fileinfo['itemid'], $fileinfo['filepath'], $fileinfo['filename'])) {
+        $list = array();
+        if ($file = $browser->get_file_info(
+            $context, $fileinfo['component'], $fileinfo['filearea'], $fileinfo['itemid'],
+                $fileinfo['filepath'], $fileinfo['filename'])) {
             $level = $file->get_parent();
             while ($level) {
                 $params = $level->get_params();
@@ -107,36 +114,42 @@ class core_files_external extends external_api {
                 array_unshift($return['parents'], $params);
                 $level = $level->get_parent();
             }
-            $list = array();
             $children = $file->get_children();
             foreach ($children as $child) {
 
                 $params = $child->get_params();
+                $timemodified = $child->get_timemodified();
 
                 if ($child->is_directory()) {
-                    $node = array(
-                        'contextid' => $params['contextid'],
-                        'component' => $params['component'],
-                        'filearea'  => $params['filearea'],
-                        'itemid'    => $params['itemid'],
-                        'filepath'  => $params['filepath'],
-                        'filename'  => $child->get_visible_name(),
-                        'url'       => null,
-                        'isdir'     => true
-                    );
-                    $list[] = $node;
+                    if ((is_null($modified)) or ($modified < $timemodified)) {
+                        $node = array(
+                            'contextid' => $params['contextid'],
+                            'component' => $params['component'],
+                            'filearea'  => $params['filearea'],
+                            'itemid'    => $params['itemid'],
+                            'filepath'  => $params['filepath'],
+                            'filename'  => $child->get_visible_name(),
+                            'url'       => null,
+                            'isdir'     => true,
+                            'timemodified' => $timemodified
+                           );
+                           $list[] = $node;
+                    }
                 } else {
-                    $node = array(
-                        'contextid' => $params['contextid'],
-                        'component' => $params['component'],
-                        'filearea'  => $params['filearea'],
-                        'itemid'    => $params['itemid'],
-                        'filepath'  => $params['filepath'],
-                        'filename'  => $child->get_visible_name(),
-                        'url'       => $child->get_url(),
-                        'isdir'     => false
-                    );
-                    $list[] = $node;
+                    if ((is_null($modified)) or ($modified < $timemodified)) {
+                        $node = array(
+                            'contextid' => $params['contextid'],
+                            'component' => $params['component'],
+                            'filearea'  => $params['filearea'],
+                            'itemid'    => $params['itemid'],
+                            'filepath'  => $params['filepath'],
+                            'filename'  => $child->get_visible_name(),
+                            'url'       => $child->get_url(),
+                            'isdir'     => false,
+                            'timemodified' => $timemodified
+                        );
+                           $list[] = $node;
+                    }
                 }
             }
         }
@@ -176,6 +189,7 @@ class core_files_external extends external_api {
                             'filename' => new external_value(PARAM_FILE, ''),
                             'isdir'    => new external_value(PARAM_BOOL, ''),
                             'url'      => new external_value(PARAM_TEXT, ''),
+                            'timemodified' => new external_value(PARAM_INT, ''),
                         )
                     )
                 )
@@ -219,12 +233,14 @@ class core_files_external extends external_api {
     public static function upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent) {
         global $USER, $CFG;
 
-        $fileinfo = self::validate_parameters(self::upload_parameters(), array('contextid'=>$contextid, 'component'=>$component, 'filearea'=>$filearea, 'itemid'=>$itemid, 'filepath'=>$filepath, 'filename'=>$filename, 'filecontent'=>$filecontent));
+        $fileinfo = self::validate_parameters(self::upload_parameters(), array(
+            'contextid'=>$contextid, 'component'=>$component, 'filearea'=>$filearea, 'itemid'=>$itemid,
+            'filepath'=>$filepath, 'filename'=>$filename, 'filecontent'=>$filecontent));
 
         if (!isset($fileinfo['filecontent'])) {
             throw new moodle_exception('nofile');
         }
-        // saving file
+        // Saving file.
         $dir = make_temp_directory('wsupload');
 
         if (empty($fileinfo['filename'])) {
@@ -239,7 +255,6 @@ class core_files_external extends external_api {
             $savedfilepath = $dir.$filename;
         }
 
-
         file_put_contents($savedfilepath, base64_decode($fileinfo['filecontent']));
         unset($fileinfo['filecontent']);
 
@@ -250,7 +265,7 @@ class core_files_external extends external_api {
         }
 
         if (isset($fileinfo['itemid'])) {
-            // TODO MDL-31116 in user private area, itemid is always 0
+            // TODO MDL-31116 in user private area, itemid is always 0.
             $itemid = 0;
         } else {
             throw new coding_exception('itemid cannot be empty');
@@ -265,19 +280,19 @@ class core_files_external extends external_api {
         if (!($fileinfo['component'] == 'user' and $fileinfo['filearea'] == 'private')) {
             throw new coding_exception('File can be uploaded to user private area only');
         } else {
-            // TODO MDL-31116 hard-coded to use user_private area
+            // TODO MDL-31116 hard-coded to use user_private area.
             $component = 'user';
             $filearea = 'private';
         }
 
         $browser = get_file_browser();
 
-        // check existing file
+        // Check existing file.
         if ($file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename)) {
             throw new moodle_exception('fileexist');
         }
 
-        // move file to filepool
+        // Move file to filepool.
         if ($dir = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, '.')) {
             $info = $dir->create_file_from_pathname($filename, $savedfilepath);
             $params = $info->get_params();
index 2f5f5d4..f1b629e 100644 (file)
@@ -802,7 +802,8 @@ class core_files_renderer extends plugin_renderer_base {
      * Must have one top element, CSS for this element must define width and height of the window;
      *
      * content of element with class 'fp-dlg-text' will be replaced with dialog text;
-     * elements with classes 'fp-dlg-butoverwrite', 'fp-dlg-butrename' and 'fp-dlg-butcancel' will
+     * elements with classes 'fp-dlg-butoverwrite', 'fp-dlg-butrename',
+     * 'fp-dlg-butoverwriteall', 'fp-dlg-butrenameall' and 'fp-dlg-butcancel' will
      * hold onclick events;
      *
      * content of element with class 'fp-dlg-butrename' will be substituted with appropriate string
@@ -821,6 +822,34 @@ class core_files_renderer extends plugin_renderer_base {
         return preg_replace('/\{\!\}/', '', $rv);
     }
 
+    /**
+     * FilePicker JS template for popup dialogue window asking for action when file with the same name already exists (multiple-file version).
+     *
+     * Must have one top element, CSS for this element must define width and height of the window;
+     *
+     * content of element with class 'fp-dlg-text' will be replaced with dialog text;
+     * elements with classes 'fp-dlg-butoverwrite', 'fp-dlg-butrename' and 'fp-dlg-butcancel' will
+     * hold onclick events;
+     *
+     * content of element with class 'fp-dlg-butrename' will be substituted with appropriate string
+     * (Note that it may have long text)
+     *
+     * @return string
+     */
+    private function fp_js_template_processexistingfilemultiple() {
+        $rv = '
+<div class="file-picker fp-dlg">
+    <p class="{!}fp-dlg-text"></p>
+    <a class="{!}fp-dlg-butoverwrite fp-panel-button" href="#">'.get_string('overwrite', 'repository').'</a>
+    <a class="{!}fp-dlg-butcancel fp-panel-button" href="#">'.get_string('cancel').'</a>
+    <a class="{!}fp-dlg-butrename fp-panel-button" href="#"></a>
+    <br/>
+    <a class="{!}fp-dlg-butoverwriteall fp-panel-button" href="#">'.get_string('overwriteall', 'repository').'</a>
+    <a class="{!}fp-dlg-butrenameall fp-panel-button" href="#">'.get_string('renameall', 'repository').'</a>
+</div>';
+        return preg_replace('/\{\!\}/', '', $rv);
+    }
+
     /**
      * FilePicker JS template for repository login form including templates for each element type
      *
diff --git a/filter/activitynames/db/install.php b/filter/activitynames/db/install.php
new file mode 100644 (file)
index 0000000..8caef86
--- /dev/null
@@ -0,0 +1,31 @@
+<?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/>.
+
+/**
+ * Filter post install hook
+ *
+ * @package    filter_activitynames
+ * @copyright  2012 Petr Skoda {@link http://skodak.org}
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+function xmldb_filter_activitynames_install() {
+    global $CFG;
+    require_once("$CFG->libdir/filterlib.php");
+
+    filter_set_global_state('filter/activitynames', TEXTFILTER_ON);
+}
+
index 769dfb8..d466610 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_activitynames'; // Full name of the plugin (used for diagnostics)
index 1b8a3ec..9adeb56 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_algebra';  // Full name of the plugin (used for diagnostics)
index 38f390a..e1b14b2 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_censor';   // Full name of the plugin (used for diagnostics)
index a6ec47b..8703313 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version  = 2011102800;
-$plugin->requires = 2011102700;  // Requires this Moodle version
+$plugin->version  = 2012061700;
+$plugin->requires = 2012061700;  // Requires this Moodle version
 $plugin->component= 'filter_data';
 
-$plugin->dependencies = array('mod_data' => 2011102800);
+$plugin->dependencies = array('mod_data' => 2012061700);
index 4094056..971a8d0 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_emailprotect'; // Full name of the plugin (used for diagnostics)
index 5eb38f6..3aef372 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_emoticon'; // Full name of the plugin (used for diagnostics)
index 20879d9..259c668 100644 (file)
@@ -35,14 +35,25 @@ defined('MOODLE_INTERNAL') || die();
  */
 class filter_glossary extends moodle_text_filter {
 
+    public function setup($page, $context) {
+        // This only requires execution once per request.
+        static $jsinitialised = false;
+        if (empty($jsinitialised)) {
+            $page->requires->yui_module(
+                    'moodle-filter_glossary-autolinker',
+                    'M.filter_glossary.init_filter_autolinking',
+                    array(array('courseid' => 0)));
+            $jsinitialised = true;
+        }
+    }
+
     public function filter($text, array $options = array()) {
-        global $CFG, $DB, $GLOSSARY_EXCLUDECONCEPTS, $PAGE;
+        global $CFG, $DB, $GLOSSARY_EXCLUDECONCEPTS;
 
         // Trivial-cache - keyed on $cachedcontextid
         static $cachedcontextid;
         static $conceptlist;
 
-        static $jsinitialised;       // To control unique js init
         static $nothingtodo;         // To avoid processing if no glossaries / concepts are found
 
         // Try to get current course
@@ -185,16 +196,6 @@ class filter_glossary extends moodle_text_filter {
             }
 
             $conceptlist = filter_remove_duplicates($conceptlist);
-
-            if (empty($jsinitialised)) {
-                // Add a JavaScript event to open popup's here. This only ever need to be
-                // added once!
-                $PAGE->requires->yui_module(
-                        'moodle-filter_glossary-autolinker',
-                        'M.filter_glossary.init_filter_autolinking',
-                        array(array('courseid' => $courseid)));
-                $jsinitialised = true;
-            }
         }
 
         if (!empty($GLOSSARY_EXCLUDECONCEPTS)) {
index 4628335..473e483 100644 (file)
@@ -25,8 +25,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version  = 2011102800;
-$plugin->requires = 2011102700;  // Requires this Moodle version
+$plugin->version  = 2012061700;
+$plugin->requires = 2012061700;  // Requires this Moodle version
 $plugin->component= 'filter_glossary';
 
-$plugin->dependencies = array('mod_glossary' => 2011102800);
+$plugin->dependencies = array('mod_glossary' => 2012061700);
index e9af017..18677af 100644 (file)
@@ -5,7 +5,6 @@ YUI.add('moodle-filter_glossary-autolinker', function(Y) {
         POPUPNAME = 'name',
         POPUPOPTIONS = 'options',
         TITLE = 'title',
-        COURSEID = 'courseid',
         WIDTH = 'width',
         HEIGHT = 'height',
         MENUBAR = 'menubar',
@@ -122,8 +121,7 @@ YUI.add('moodle-filter_glossary-autolinker', function(Y) {
             status : {value : true},
             directories : {value : false},
             fullscreen : {value : false},
-            dependent : {value : true},
-            courseid : {value : 1}
+            dependent : {value : true}
         }
     });
 
index 1200eb6..64e3fb9 100644 (file)
@@ -25,6 +25,8 @@
 
 function xmldb_filter_mediaplugin_install() {
     global $CFG;
+    require_once("$CFG->libdir/filterlib.php");
 
+    filter_set_global_state('filter/mediaplugin', TEXTFILTER_ON);
 }
 
index c10b57f..f6a1f0b 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011121200;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011120500;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_mediaplugin'; // Full name of the plugin (used for diagnostics)
index 204a3ad..d6eeaca 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_multilang'; // Full name of the plugin (used for diagnostics)
index 48b8b8a..e86f251 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_tex';      // Full name of the plugin (used for diagnostics)
index 48f2c5f..79a57ff 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_tidy';     // Full name of the plugin (used for diagnostics)
index bb0522e..cf94ace 100644 (file)
@@ -1,6 +1,13 @@
 This file describes API changes in core filter API and plugins,
 information provided here is intended especially for developers.
 
+=== 2.3 ===
+
+* new setup() method added to moodle_text_filter, invoked before
+  filtering happens, used to add all the requirements to the page
+  (js, css...) and/or other init tasks. See filter/glossary for
+  an example using the API (and MDL-32279 for its justification).
+
 === 2.2 ===
 
 * legacy filters and legacy locations have been deprecated, so any
index 4b90a57..8f3ec62 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'filter_urltolink'; // Full name of the plugin (used for diagnostics)
index 30eb336..6c8e9d0 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradeexport_ods'; // Full name of the plugin (used for diagnostics)
index 04c0370..1a7c40d 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradeexport_txt'; // Full name of the plugin (used for diagnostics)
index b031166..f364df9 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradeexport_xls'; // Full name of the plugin (used for diagnostics)
index 24e9335..437abd4 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradeexport_xml'; // Full name of the plugin (used for diagnostics)
index a133b4b..ff2e86d 100644 (file)
@@ -56,7 +56,7 @@ class gradingform_guide_editguide extends moodleform {
 
         // Description.
         $options = gradingform_guide_controller::description_form_field_options($this->_customdata['context']);
-        $form->addElement('editor', 'description_editor', get_string('descriptionstudents', 'gradingform_guide'), null, $options);
+        $form->addElement('editor', 'description_editor', get_string('description'), null, $options);
         $form->setType('description_editor', PARAM_RAW);
 
         // Guide completion status.
index 91ca0ed..f7bde2c 100644 (file)
@@ -25,6 +25,6 @@
 defined('MOODLE_INTERNAL') || die();
 
 $plugin->component  = 'gradingform_guide';
-$plugin->version    = 2012022100;
-$plugin->requires   = 2011110200;
+$plugin->version    = 2012061700;
+$plugin->requires   = 2012061700;
 $plugin->maturity   = MATURITY_STABLE;
\ No newline at end of file
index 98aeaf9..71b38ec 100644 (file)
@@ -453,7 +453,7 @@ class gradingform_rubric_controller extends gradingform_controller {
         global $CFG;
         return array(
             'maxfiles' => -1,
-            'maxbytes' => get_max_upload_file_size($CFG->maxbytes),
+            'maxbytes' => get_user_max_upload_file_size($context, $CFG->maxbytes),
             'context'  => $context,
         );
     }
index 28dba35..9640141 100644 (file)
@@ -25,8 +25,8 @@
 defined('MOODLE_INTERNAL') || die();
 
 $plugin->component  = 'gradingform_rubric';
-$plugin->version    = 2011110900;
+$plugin->version    = 2012061700;
 
-$plugin->requires   = 2011110200;
+$plugin->requires   = 2012061700;
 
 $plugin->maturity   = MATURITY_STABLE;
index 61c1a69..bc089e9 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradeimport_csv'; // Full name of the plugin (used for diagnostics)
index 410fd85..b734d8b 100644 (file)
@@ -25,6 +25,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradeimport_xml'; // Full name of the plugin (used for diagnostics)
index 93ff8e6..2fa0cb7 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradereport_grader'; // Full name of the plugin (used for diagnostics)
index 9bc1637..73bbd37 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradereport_outcomes'; // Full name of the plugin (used for diagnostics)
index c7761e9..00aa812 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradereport_overview'; // Full name of the plugin (used for diagnostics)
index 2250edb..cb53401 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2011112900;        // The current plugin version (Date: YYYYMMDDXX)
-$plugin->requires  = 2011112900;        // Requires this Moodle version
+$plugin->version   = 2012061700;        // The current plugin version (Date: YYYYMMDDXX)
+$plugin->requires  = 2012061700;        // Requires this Moodle version
 $plugin->component = 'gradereport_user'; // Full name of the plugin (used for diagnostics)
index a3586f0..0034c56 100644 (file)
@@ -31,6 +31,7 @@
 defined('MOODLE_INTERNAL') || die();
 
 $string['databasehost'] = 'host de la Base de Datos';
+$string['datarootpermission'] = 'Permiso directorios de datos';
 $string['environmentsub2'] = 'Cada versión de Moodle tiene algún requisito mínimo de la versión de PHP y un número obligatorio de extensiones de PHP. Una comprobación del entorno completo se realiza antes de cada instalación y actualización. Por favor, póngase en contacto con el administrador del servidor si no sabe cómo instalar la nueva versión o habilitar las extensiones PHP.';
 $string['errorsinenvironment'] = '¡La comprobación del entorno falló!';
 $string['welcomep20'] = 'Si está viendo esta página es porque ha podido ejecutar el paquete <strong>{$a->packname} {$a->packversion}</strong> en su computadora. !Enhorabuena!';
index 224b741..d0b5f9d 100644 (file)
@@ -32,7 +32,7 @@ $string['activeusers'] = 'Active users';
 $string['activities'] = 'Activities';
 $string['activities_help'] = 'Activities, such as forums, quizzes and wikis, enable interactive content to be added to the course.';
 $string['activity'] = 'Activity';
-$string['activityclipboard'] = 'Moving this activity: <b>{$a}</b>';
+$string['activityclipboard'] = 'Moving this activity: {$a}';
 $string['activityiscurrentlyhidden'] = 'Sorry, this activity is currently hidden';
 $string['activitymodule'] = 'Activity module';
 $string['activitymodules'] = 'Activity modules';
@@ -684,6 +684,7 @@ $string['failedloginattempts'] = '{$a->attempts} failed logins since your last l
 $string['failedloginattemptsall'] = '{$a->attempts} failed logins for {$a->accounts} accounts';
 $string['feedback'] = 'Feedback';
 $string['file'] = 'File';
+$string['fileexists'] = 'There is already a file called {$a}';
 $string['filemissing'] = '{$a} is missing';
 $string['filetoolarge'] = 'is too large to upload';
 $string['files'] = 'Files';
@@ -1714,7 +1715,7 @@ $string['uploadedfiletoobig'] = 'Sorry, but that file is too big (limit is {$a}
 $string['uploadextension'] = 'File upload stopped by extension';
 $string['uploadfailednotrecovering'] = 'Your file upload has failed because there was a problem with one of the files, {$a->name}.<br /> Here is a log of the problems:<br />{$a->problem}<br />Not recovering.';
 $string['uploadfilelog'] = 'Upload log for file {$a}';
-$string['uploadformlimit'] = 'Uploaded file exceeded the maximum size limit set by the form';
+$string['uploadformlimit'] = 'Uploaded file {$a} exceeded the maximum size limit set by the form';
 $string['uploadlabel'] = 'Title:';
 $string['uploadnewfile'] = 'Upload new file';
 $string['uploadnofilefound'] = 'No file was found - are you sure you selected one to upload?';
index c0ca916..1245426 100644 (file)
@@ -138,6 +138,7 @@ $string['listview'] = 'View as list';
 $string['loading'] = 'Loading...';
 $string['login'] = 'Login';
 $string['logout'] = 'Logout';
+$string['lostsource'] = 'Error. Source is missing. {$a}';
 $string['makefileinternal'] = 'Make a copy of the file';
 $string['makefilelink'] = 'Link to the file directly';
 $string['makefilereference'] = 'Create an alias/shortcut to the file';
@@ -162,18 +163,21 @@ $string['openpicker'] = 'Choose a file...';
 $string['operation'] = 'Operation';
 $string['on'] = 'Enabled and visible';
 $string['overwrite'] = 'Overwrite';
+$string['overwriteall'] = 'Overwrite all';
 $string['personalrepositories'] = 'Available repository instances';
 $string['plugin'] = 'Repository plug-ins';
 $string['pluginerror'] = 'Errors in repository plugin.';
 $string['popup'] = 'Click "Login" button to login';
 $string['popupblockeddownload'] = 'The downloading window is blocked, please allow the popup window, and try again.';
 $string['preview'] = 'Preview';
+$string['privatefilesof'] = '{$a} Private files';
 $string['readonlyinstance'] = 'You cannot edit/delete a read-only instance';
 $string['referencesexist'] = 'There are {$a} alias/shortcut files that use this file as their source';
 $string['referenceslist'] = 'Aliases/Shortcuts';
 $string['refresh'] = 'Refresh';
 $string['refreshnonjsfilepicker'] = 'Please close this window and refresh non-javascript file picker';
 $string['removed'] = 'Repository removed';
+$string['renameall'] = 'Rename all';
 $string['renameto'] = 'Rename to "{$a}"';
 $string['repositories'] = 'Repositories';
 $string['repository'] = 'Repository';
@@ -202,6 +206,7 @@ $string['unknownoriginal'] = 'Unknown';
 $string['upload'] = 'Upload this file';
 $string['uploading'] = 'Uploading...';
 $string['uploadsucc'] = 'The file has been uploaded successfully';
+$string['undisclosedsource'] = '(Undisclosed)';
 $string['undisclosedreference'] = '(Undisclosed)';
 $string['uselatestfile'] = 'Use latest file';
 $string['usercontextrepositorydisabled'] = 'You cannot edit this repository in user context';
index 971722c..a8058ad 100644 (file)
@@ -120,6 +120,7 @@ $string['course:changeshortname'] = 'Change course short name';
 $string['course:changesummary'] = 'Change course summary';
 $string['course:enrolconfig'] = 'Configure enrol instances in courses';
 $string['course:enrolreview'] = 'Review course enrolments';
+$string['course:ignorefilesizelimits'] = 'Use files larger than any file size restrictions';
 $string['course:manageactivities'] = 'Manage activities';
 $string['course:managefiles'] = 'Manage files';
 $string['course:managegrades'] = 'Manage grades';
index a647223..e1e8387 100644 (file)
@@ -188,6 +188,29 @@ class boxclient {
         return $ret;
     }
 
+    /**
+     * Get box.net file info
+     *
+     * @param string $fileid
+     * @return string|null
+     */
+    function get_file_info($fileid) {
+        $this->_clearErrors();
+        $params = array();
+        $params['action']     = 'get_file_info';
+        $params['file_id']    = $fileid;
+        $params['auth_token'] = $this->auth_token;
+        $params['api_key']    = $this->api_key;
+        $http = new curl(array('debug'=>$this->debug, 'cache'=>true, 'module_cache'=>'repository'));
+        $xml = $http->get($this->_box_api_url, $params);
+        $o = simplexml_load_string(trim($xml));
+