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

quiz attempt.php (& review.php?) should ensure $page is not out-of-range

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.3.1
    • Fix Version/s: 2.2.5, 2.3.2
    • Component/s: Quiz
    • Labels:
    • Testing Instructions:
      Hide

      1. Find or create a multi-page quiz, using a behaviour like immediate feedback that has 'Check' buttons.

      2. Attempt it as a student. During the attempt, edit the URL to change &page= to something crazy like &page=-100 or &page=1234.

      3. Verify that the first or last page is shown instead.

      4. Verify that the buttons like Check and Next work as expected.

      Show
      1. Find or create a multi-page quiz, using a behaviour like immediate feedback that has 'Check' buttons. 2. Attempt it as a student. During the attempt, edit the URL to change &page= to something crazy like &page=-100 or &page=1234. 3. Verify that the first or last page is shown instead. 4. Verify that the buttons like Check and Next work as expected.
    • Affected Branches:
      MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_22_STABLE, MOODLE_23_STABLE
    • Pull from Repository:
    • Pull Master Branch:

      Description

      At the moment, if it is, you get a "no questions found" error. It would be better if it just set page to the first or last page in the quiz.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              poltawski Dan Poltawski added a comment -

              I'm just wondering what the use case for this is, just to be friendly to people who edit urls?

              Show
              poltawski Dan Poltawski added a comment - I'm just wondering what the use case for this is, just to be friendly to people who edit urls?
              Hide
              timhunt Tim Hunt added a comment -

              The use case is the linked issue: MDL-34451. When some other bug screws up $page in the URL, or in the quiz_attempts table, the code should handle it robustly, rather than throwing a fatal error.

              Show
              timhunt Tim Hunt added a comment - The use case is the linked issue: MDL-34451 . When some other bug screws up $page in the URL, or in the quiz_attempts table, the code should handle it robustly, rather than throwing a fatal error.
              Hide
              poltawski Dan Poltawski added a comment -

              Integrated, thanks Tim.

              Show
              poltawski Dan Poltawski added a comment - Integrated, thanks Tim.
              Hide
              gmorz Dominik Jeni added a comment - - edited

              If I apply this fix, an error occurs when submitting the quiz: required parameter missing (thispage and nextpage). If I leave these two parameters like they were before (@processattempt.php), it works. (v. 2.3.1+)

              Show
              gmorz Dominik Jeni added a comment - - edited If I apply this fix, an error occurs when submitting the quiz: required parameter missing (thispage and nextpage). If I leave these two parameters like they were before (@processattempt.php), it works. (v. 2.3.1+)
              Hide
              poltawski Dan Poltawski added a comment -

              Thanks for testing Dominik, setting to failed state based on your comments.

              Show
              poltawski Dan Poltawski added a comment - Thanks for testing Dominik, setting to failed state based on your comments.
              Hide
              timhunt Tim Hunt added a comment -

              Oh crap! can we set those two params back to option_param? Dan, do you want me to make commits for that, or will you?

              Show
              timhunt Tim Hunt added a comment - Oh crap! can we set those two params back to option_param? Dan, do you want me to make commits for that, or will you?
              Hide
              poltawski Dan Poltawski added a comment -

              I made the commit (was asleep after your last comment), resetting state.

              Show
              poltawski Dan Poltawski added a comment - I made the commit (was asleep after your last comment), resetting state.
              Hide
              dmonllao David Monllaó added a comment -

              It passes. Tested in 2.2 and master, both attempt and review pages; with adaptative mode on and modifying the URL the check button redirects the user to the correct (the current) page, not the faked one

              Show
              dmonllao David Monllaó added a comment - It passes. Tested in 2.2 and master, both attempt and review pages; with adaptative mode on and modifying the URL the check button redirects the user to the correct (the current) page, not the faked one
              Hide
              timhunt Tim Hunt added a comment -

              Great thanks guys.

              Show
              timhunt Tim Hunt added a comment - Great thanks guys.
              Hide
              poltawski Dan Poltawski added a comment -

              asko, Дзякуй, ধন্যবাদ, Благодаря, Gràcies, 感谢, 謝謝, Hvala, Díky, Tak, Bedankt, Tänan, متشکریم, Salamat, Kiitokset, Merci, Grazas, Danke, Ευχαριστώ, આભાર, תודה, धन्यवाद, Köszönjük, Takk fyrir, Terima Kasih, Grazie, ありがとうございます, Рахмет, សូមអរគុណ, 감사합니다, gratiās, Pateicamies, Ačiū, Благодарам, Tēnā koa, Kia Ora Rawa Atu, आभारी आहोत, Талархал, Takk, Dziękuję, Obrigado, Mulţumesc, Engraziel, Спасибо, Fa'afetai, Хвала, Hvala, ස්තූතියි, Vďaka, Hvala, Mahadsanid, Thanks, Gracias, Tack, Salamat, நன்றி, నెనరులు, ขอบคุณค่ะ!

              Your work has made it into this weeks Moodle release! There are no gold medals available this week - but millions around the world will benefit. Thank you!

              Show
              poltawski Dan Poltawski added a comment - asko, Дзякуй, ধন্যবাদ, Благодаря, Gràcies, 感谢, 謝謝, Hvala, Díky, Tak, Bedankt, Tänan, متشکریم, Salamat, Kiitokset, Merci, Grazas, Danke, Ευχαριστώ, આભાર, תודה, धन्यवाद, Köszönjük, Takk fyrir, Terima Kasih, Grazie, ありがとうございます, Рахмет, សូមអរគុណ, 감사합니다, gratiās, Pateicamies, Ačiū, Благодарам, Tēnā koa, Kia Ora Rawa Atu, आभारी आहोत, Талархал, Takk, Dziękuję, Obrigado, Mulţumesc, Engraziel, Спасибо, Fa'afetai, Хвала, Hvala, ස්තූතියි, Vďaka, Hvala, Mahadsanid, Thanks, Gracias, Tack, Salamat, நன்றி, నెనరులు, ขอบคุณค่ะ! Your work has made it into this weeks Moodle release! There are no gold medals available this week - but millions around the world will benefit. Thank you!

                People

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

                  Dates

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