Merge branch 'MDL-36695-master' of git://github.com/FMCorz/moodle
authorDan Poltawski <dan@moodle.com>
Thu, 29 Nov 2012 04:21:03 +0000 (12:21 +0800)
committerDan Poltawski <dan@moodle.com>
Thu, 29 Nov 2012 04:21:03 +0000 (12:21 +0800)
auth/mnet/auth.php
blocks/moodleblock.class.php
course/lib.php
lang/en/cache.php
lib/db/caches.php
lib/javascript-static.js
lib/outputrenderers.php
mod/assign/locallib.php
mod/forum/styles.css
portfolio/upgrade.txt

index 203d161..0d56625 100644 (file)
@@ -46,10 +46,10 @@ class auth_plugin_mnet extends auth_plugin_base {
     }
 
     /**
-     * Return user data for the provided token, compare with user_agent string.
+     * Return user data for the provided token
      *
      * @param  string $token    The unique ID provided by remotehost.
-     * @param  string $UA       User Agent string.
+     * @param  string $UA       User Agent string (as seen by SP) - ignored
      * @return array  $userdata Array of user info for remote host
      */
     function user_authorise($token, $useragent) {
@@ -57,7 +57,7 @@ class auth_plugin_mnet extends auth_plugin_base {
         $remoteclient = get_mnet_remote_client();
         require_once $CFG->dirroot . '/mnet/xmlrpc/serverlib.php';
 
-        $mnet_session = $DB->get_record('mnet_session', array('token'=>$token, 'useragent'=>$useragent));
+        $mnet_session = $DB->get_record('mnet_session', array('token'=>$token));
         if (empty($mnet_session)) {
             throw new mnet_server_exception(1, 'authfail_nosessionexists');
         }
@@ -1087,14 +1087,14 @@ class auth_plugin_mnet extends auth_plugin_base {
      * calls the function (over xmlrpc) provides us with the mnethostid we need.
      *
      * @param   string  $username       Username for session to kill
-     * @param   string  $useragent      SHA1 hash of user agent to look for
+     * @param   string  $useragent      SHA1 hash of user agent as seen by IdP - ignored
      * @return  bool                    True on success
      */
     function kill_child($username, $useragent) {
         global $CFG, $DB;
         $remoteclient = get_mnet_remote_client();
-        $session = $DB->get_record('mnet_session', array('username'=>$username, 'mnethostid'=>$remoteclient->id, 'useragent'=>$useragent));
-        $DB->delete_records('mnet_session', array('username'=>$username, 'mnethostid'=>$remoteclient->id, 'useragent'=>$useragent));
+        $session = $DB->get_record('mnet_session', array('username'=>$username, 'mnethostid'=>$remoteclient->id));
+        $DB->delete_records('mnet_session', array('username'=>$username, 'mnethostid'=>$remoteclient->id));
         if (false != $session) {
             session_kill($session->session_id);
             return true;
index 02c53bf..236c103 100644 (file)
@@ -565,7 +565,8 @@ class block_base {
         // The blocks in My Moodle are a special case and use a different capability.
         if (!empty($USER->id)
             && $page->context->contextlevel == CONTEXT_USER // Page belongs to a user
-            && $page->context->instanceid == $USER->id) { // Page belongs to this user
+            && $page->context->instanceid == $USER->id // Page belongs to this user
+            && $page->pagetype == 'my-index') { // Ensure we are on the My Moodle page
             $capability = 'block/' . $this->name() . ':myaddinstance';
             return $this->has_add_block_capability($page, $capability)
                     && has_capability('moodle/my:manageblocks', $page->context);
index 2e17095..358de6b 100644 (file)
@@ -1882,7 +1882,7 @@ function get_module_metadata($course, $modnames, $sectionreturn = null) {
         if (!course_allowed_module($course, $modname)) {
             continue;
         }
-        if (isset($modlist[$modname])) {
+        if (isset($modlist[$course->id][$modname])) {
             // This module is already cached
             $return[$modname] = $modlist[$course->id][$modname];
             continue;
index 399c49d..6a42f24 100644 (file)
@@ -34,7 +34,6 @@ $string['area'] = 'Area';
 $string['caching'] = 'Caching';
 $string['cacheadmin'] = 'Cache administration';
 $string['cacheconfig'] = 'Configuration';
-$string['cachedef_config'] = 'Config settings';
 $string['cachedef_databasemeta'] = 'Database meta information';
 $string['cachedef_eventinvalidation'] = 'Event invalidation';
 $string['cachedef_locking'] = 'Locking';
@@ -118,4 +117,4 @@ $string['supports_keyawareness'] = 'key awareness';
 $string['tested'] = 'Tested';
 $string['testperformance'] = 'Test performance';
 $string['unsupportedmode'] = 'Unsupported mode';
-$string['untestable'] = 'Untestable';
\ No newline at end of file
+$string['untestable'] = 'Untestable';
index 5d44fd1..6c3ebe0 100644 (file)
@@ -51,18 +51,6 @@ $definitions = array(
         'persistentmaxsize' => 2
     ),
 
-    // Used to store data from the config + config_plugins table in the database.
-    // The key used is the component:
-    //   - core for all core config settings
-    //   - plugin component for all plugin settings.
-    // Persistence is used because normally several settings within a script.
-    'config' => array(
-        'mode' => cache_store::MODE_APPLICATION,
-        'persistent' => true,
-        'simplekeys' => true,
-        'simpledata' => true
-    ),
-
     // Event invalidation cache.
     // This cache is used to manage event invalidation, its keys are the event names.
     // Whenever something is invalidated it is both purged immediately and an event record created with the timestamp.
index 574deb7..c0878b3 100644 (file)
@@ -1478,7 +1478,7 @@ M.util.help_icon = {
             return;
         }
         this.Y = Y;
-        Y.one('body').delegate('click', this.display, 'span.helplink a', this);
+        Y.one('body').delegate('click', this.display, 'span.helplink a.tooltip', this);
         this.initialised = true;
     },
     add : function(Y, properties) {
index 8d8bf5e..ddf9147 100644 (file)
@@ -1959,7 +1959,7 @@ class core_renderer extends renderer_base {
         // note: this title is displayed only if JS is disabled, otherwise the link will have the new ajax tooltip
         $title = get_string('helpprefix2', '', trim($title, ". \t"));
 
-        $attributes = array('href'=>$url, 'title'=>$title, 'aria-haspopup' => 'true');
+        $attributes = array('href'=>$url, 'title'=>$title, 'aria-haspopup' => 'true', 'class' => 'tooltip');
         $output = html_writer::tag('a', $output, $attributes);
 
         $this->page->requires->js_init_call('M.util.help_icon.setup');
index 9a13f6d..7c5a925 100644 (file)
@@ -3182,7 +3182,7 @@ class assign {
         }
         $info->assignment = format_string($assignmentname,true, array('context'=>$context));
         $info->url = $CFG->wwwroot.'/mod/assign/view.php?id='.$coursemodule->id;
-        $info->timeupdated = strftime('%c',$updatetime);
+        $info->timeupdated = userdate($updatetime, get_string('strftimerecentfull'));
 
         $postsubject = get_string($messagetype . 'small', 'assign', $info);
         $posttext = self::format_notification_message_text($messagetype, $info, $course, $context, $modulename, $assignmentname);
index ab4b080..20a12f7 100644 (file)
@@ -52,6 +52,7 @@
 .path-mod-forum .indent {margin-left: 30px;}
 .path-mod-forum .forumheaderlist {width: 100%;border-width:1px;border-style:solid;border-collapse:separate;margin-top: 10px;}
 .path-mod-forum .forumheaderlist td {border-width:1px 0px 0px 1px;border-style:solid;}
+.path-mod-forum .forumheaderlist th.header.replies .iconsmall { margin: 0 .3em;}
 .path-mod-forum .forumheaderlist .picture {width: 35px;}
 .path-mod-forum .forumheaderlist .discussion .starter {vertical-align: middle;}
 .path-mod-forum .forumheaderlist .discussion .lastpost {white-space: nowrap;text-align: right;}
index 460df3d..557a33b 100644 (file)
@@ -1,13 +1,6 @@
 This files describes API changes in /portfolio/ portfolio system,
 information provided here is intended especially for developers.
 
-=== 2.3 ===
-
-required changes:
-* The following methods must now be declared static for php5 compatibility:
-    - admin_config_form
-    - admin_config_validation
-
 === 2.4 ===
 
 The set_callback_options function's third parameter has been changed from a file path
@@ -23,4 +16,11 @@ $button->set_callback_options('assignment_portfolio_caller', array('id' => $this
 
 Now becomes:
 
-$button->set_callback_options('assignment_portfolio_caller', array('id' => $this->cm->id, 'fileid' => $file->get_id()), 'mod_assignment');
\ No newline at end of file
+$button->set_callback_options('assignment_portfolio_caller', array('id' => $this->cm->id, 'fileid' => $file->get_id()), 'mod_assignment');
+
+=== 2.3 ===
+
+required changes:
+* The following methods must now be declared static for php5 compatibility:
+    - admin_config_form
+    - admin_config_validation