Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-31734

invalid course format "site" when visiting recent activites page

    Details

      Description

      We have used something like

      $sectiontitle = get_string('sectionname', 'format_'.$COURSE->format);

      in course/recent_form.php
      This works all good as long as we are visiting the recent activity page for a specific course, but when moodle/course/recent.php?id=1 (all recent activities page) it generates following error

      invalid get_string() identifier: 'sectionname' or component 'format_site'. Perhaps you are missing $string['sectionname'] = ''; in moodle/course/format/site/lang/en/format_site.php?

      Thanks

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              salvetore Michael de Raadt added a comment -

              I was able to reproduce that.

              Here is the full stack trace.

              Invalid get_string() identifier: 'sectionname' or component 'format_site'. Perhaps you are missing $string['sectionname'] = ''; in D:\xampp\htdocs\moodle_testing/course/format/site/lang/en/format_site.php?
               
                  line 6398 of \lib\moodlelib.php: call to debugging()
                  line 7022 of \lib\moodlelib.php: call to core_string_manager->get_string()
                  line 104 of \course\recent_form.php: call to get_string()
                  line 169 of \lib\formslib.php: call to recent_form->definition()
                  line 59 of \course\recent.php: call to moodleform->moodleform()

              Show
              salvetore Michael de Raadt added a comment - I was able to reproduce that. Here is the full stack trace. Invalid get_string() identifier: 'sectionname' or component 'format_site'. Perhaps you are missing $string['sectionname'] = ''; in D:\xampp\htdocs\moodle_testing/course/format/site/lang/en/format_site.php?   line 6398 of \lib\moodlelib.php: call to debugging() line 7022 of \lib\moodlelib.php: call to core_string_manager->get_string() line 104 of \course\recent_form.php: call to get_string() line 169 of \lib\formslib.php: call to recent_form->definition() line 59 of \course\recent.php: call to moodleform->moodleform()
              Hide
              yuyokk Iurii Kucherov added a comment - - edited

              Hi
              If you want to see "Full report of recent activity..." from site home it tries to show 'site' activity.
              But there is no 'site' activity available.
              I think it can be changed to 'weeks' activity. Or is it better to add 'site' activity?
              Here is a patch.

              diff --git a/course/recent_form.php b/course/recent_form.php
              index b79e443..2d5de5f 100755
              --- a/course/recent_form.php
              +++ b/course/recent_form.php
              @@ -101,7 +101,8 @@ class recent_form extends moodleform {
                           $mform->setAdvanced('user');
                       }
               
              -        $sectiontitle = get_string('sectionname', 'format_'.$COURSE->format);
              +        $format = ($COURSE->format == 'site') ? 'weeks' : $COURSE->format;
              +        $sectiontitle = get_string('sectionname', 'format_'.$format);
               
                       $options = array(''=>get_string('allactivities'));
                       $modsused = array();

              Show
              yuyokk Iurii Kucherov added a comment - - edited Hi If you want to see "Full report of recent activity..." from site home it tries to show 'site' activity. But there is no 'site' activity available. I think it can be changed to 'weeks' activity. Or is it better to add 'site' activity? Here is a patch. diff --git a/course/recent_form.php b/course/recent_form.php index b79e443..2d5de5f 100755 --- a/course/recent_form.php +++ b/course/recent_form.php @@ -101,7 +101,8 @@ class recent_form extends moodleform { $mform->setAdvanced('user'); } - $sectiontitle = get_string('sectionname', 'format_'.$COURSE->format); + $format = ($COURSE->format == 'site') ? 'weeks' : $COURSE->format; + $sectiontitle = get_string('sectionname', 'format_'.$format); $options = array(''=>get_string('allactivities')); $modsused = array();
              Show
              yuyokk Iurii Kucherov added a comment - added link to github https://github.com/yuyokk/moodle/commit/207dbb36162a6fb5066741d94ad932d1f230143e
              Hide
              rajeshtaneja Rajesh Taneja added a comment -

              Thanks for the patch Iurii, it seems we are not using $sectiontitle. So rather then adding format check, I have removed this string.

              Also, in such cases we prefer to check course->id === SITEID (https://github.com/yuyokk/moodle/blob/207dbb36162a6fb5066741d94ad932d1f230143e/course/recent_form.php#L67) which helps not to break things later.

              Show
              rajeshtaneja Rajesh Taneja added a comment - Thanks for the patch Iurii, it seems we are not using $sectiontitle. So rather then adding format check, I have removed this string. Also, in such cases we prefer to check course->id === SITEID ( https://github.com/yuyokk/moodle/blob/207dbb36162a6fb5066741d94ad932d1f230143e/course/recent_form.php#L67 ) which helps not to break things later.
              Hide
              ankit_frenz Ankit Agarwal added a comment -

              Hi guys,
              The patch looks good.
              $sectiontitle is not used anywhere in the current file or any of the files it includes ($CFG->dirroot/mod/$modname/lib.php)

              Should be safe to delete it.
              Thanks

              Show
              ankit_frenz Ankit Agarwal added a comment - Hi guys, The patch looks good. $sectiontitle is not used anywhere in the current file or any of the files it includes ($CFG->dirroot/mod/$modname/lib.php) Should be safe to delete it. Thanks
              Hide
              rajeshtaneja Rajesh Taneja added a comment -

              Thanks Ankit,

              Pushing for integration review.

              Show
              rajeshtaneja Rajesh Taneja added a comment - Thanks Ankit, Pushing for integration review.
              Hide
              poltawski Dan Poltawski added a comment -

              I've integrated this, thanks guys!

              Show
              poltawski Dan Poltawski added a comment - I've integrated this, thanks guys!
              Hide
              abgreeve Adrian Greeve added a comment -

              Tested on 2.2, 2.3 and master.
              The invalid get_string() call no longer is displayed as it was before.
              Test passed

              Show
              abgreeve Adrian Greeve added a comment - Tested on 2.2, 2.3 and master. The invalid get_string() call no longer is displayed as it was before. Test passed
              Hide
              stronk7 Eloy Lafuente (stronk7) added a comment -

              YEAR!*

              CAF*, TOT!*

              • Your effort amazingly resulted. (unbelievable :-P)
              • Closing as fixed.
              • Tons of thanks.
              Show
              stronk7 Eloy Lafuente (stronk7) added a comment - YEAR!* CAF*, TOT!* Your effort amazingly resulted. (unbelievable :-P) Closing as fixed. Tons of thanks.

                People

                • Votes:
                  1 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    10/Sep/12