__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

root@216.73.217.122: ~ $
<?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/>.

/**
 * Class for loading/storing data purposes from the DB.
 *
 * @package    tool_dataprivacy
 * @copyright  2018 David Monllao
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
namespace tool_dataprivacy;

use stdClass;

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

require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/dataprivacy/lib.php');

/**
 * Class for loading/storing data purposes from the DB.
 *
 * @copyright  2018 David Monllao
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
class purpose extends \core\persistent {

    /**
     * Database table.
     */
    const TABLE = 'tool_dataprivacy_purpose';

    /** Items under GDPR Article 6.1. */
    const GDPR_ART_6_1_ITEMS = ['a', 'b', 'c', 'd', 'e', 'f'];

    /** Items under GDPR Article 9.2. */
    const GDPR_ART_9_2_ITEMS = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];

    /**
     * Extended constructor to fetch from the cache if available.
     *
     * @param int $id If set, this is the id of an existing record, used to load the data.
     * @param stdClass $record If set will be passed to {@link self::from_record()}.
     */
    public function __construct($id = 0, ?stdClass $record = null) {
        global $CFG;

        if ($id) {
            $cache = \cache::make('tool_dataprivacy', 'purpose');
            if ($data = $cache->get($id)) {

                // Replicate self::read.
                $this->from_record($data);

                // Validate the purpose record.
                $this->validate();

                // Now replicate the parent constructor.
                if (!empty($record)) {
                    $this->from_record($record);
                }
                if ($CFG->debugdeveloper) {
                    $this->verify_protected_methods();
                }
                return;
            }
        }
        parent::__construct($id, $record);
    }

    /**
     * Return the definition of the properties of this model.
     *
     * @return array
     */
    protected static function define_properties() {
        return array(
            'name' => array(
                'type' => PARAM_TEXT,
                'description' => 'The purpose name.',
            ),
            'description' => array(
                'type' => PARAM_RAW,
                'description' => 'The purpose description.',
                'null' => NULL_ALLOWED,
                'default' => '',
            ),
            'descriptionformat' => array(
                'choices' => array(FORMAT_HTML, FORMAT_MOODLE, FORMAT_PLAIN, FORMAT_MARKDOWN),
                'type' => PARAM_INT,
                'default' => FORMAT_HTML
            ),
            'lawfulbases' => array(
                'type' => PARAM_TEXT,
                'description' => 'Comma-separated IDs matching records in tool_dataprivacy_lawfulbasis.',
            ),
            'sensitivedatareasons' => array(
                'type' => PARAM_TEXT,
                'description' => 'Comma-separated IDs matching records in tool_dataprivacy_sensitive',
                'null' => NULL_ALLOWED,
                'default' => ''
            ),
            'retentionperiod' => array(
                'type' => PARAM_ALPHANUM,
                'description' => 'Retention period. ISO_8601 durations format (as in DateInterval format).',
                'default' => '',
            ),
            'protected' => array(
                'type' => PARAM_INT,
                'description' => 'Data retention with higher precedent over user\'s request to be forgotten.',
                'default' => '0',
            ),
        );
    }

    /**
     * Adds the new record to the cache.
     *
     * @return null
     */
    protected function after_create() {
        $cache = \cache::make('tool_dataprivacy', 'purpose');
        $cache->set($this->get('id'), $this->to_record());
    }

    /**
     * Updates the cache record.
     *
     * @param bool $result
     * @return null
     */
    protected function after_update($result) {
        $cache = \cache::make('tool_dataprivacy', 'purpose');
        $cache->set($this->get('id'), $this->to_record());
    }

    /**
     * Removes unnecessary stuff from db.
     *
     * @return null
     */
    protected function before_delete() {
        $cache = \cache::make('tool_dataprivacy', 'purpose');
        $cache->delete($this->get('id'));
    }

    /**
     * Is this purpose used?.
     *
     * @return null
     */
    public function is_used() {
        if (\tool_dataprivacy\contextlevel::is_purpose_used($this->get('id')) ||
                \tool_dataprivacy\context_instance::is_purpose_used($this->get('id'))) {
            return true;
        }

        $pluginconfig = get_config('tool_dataprivacy');
        $levels = \context_helper::get_all_levels();
        foreach ($levels as $level => $classname) {

            list($purposevar, $unused) = \tool_dataprivacy\data_registry::var_names_from_context($classname);
            if (!empty($pluginconfig->{$purposevar}) && $pluginconfig->{$purposevar} == $this->get('id')) {
                return true;
            }
        }

        return false;
    }

    /**
     * Get a list of the role purpose overrides for this purpose.
     *
     * @return  array
     */
    public function get_purpose_overrides(): array {
        return purpose_override::get_overrides_for_purpose($this);
    }
}

Filemanager

Name Type Size Permission Actions
event Folder 0755
external Folder 0755
form Folder 0755
local Folder 0755
output Folder 0755
privacy Folder 0755
task Folder 0755
api.php File 65.02 KB 0644
category.php File 2.85 KB 0644
context_instance.php File 3.2 KB 0644
contextlevel.php File 3.96 KB 0644
contextlist_context.php File 1.97 KB 0644
data_registry.php File 14.46 KB 0644
data_request.php File 10.17 KB 0644
dataprivacy_contextlist.php File 1.94 KB 0644
expired_context.php File 10.96 KB 0644
expired_contexts_manager.php File 38.56 KB 0644
expiry_info.php File 6.29 KB 0644
external.php File 55.99 KB 0644
filtered_userlist.php File 2.29 KB 0644
hook_callbacks.php File 1.95 KB 0644
manager_observer.php File 2.88 KB 0644
metadata_registry.php File 8.24 KB 0644
page_helper.php File 3.09 KB 0644
purpose.php File 5.98 KB 0644
purpose_override.php File 4.59 KB 0644
request_contextlist.php File 1.92 KB 0644
Filemanager