有没有办法只使用“老师”级访问获取moodle网站的版本信息?似乎在1.9.7及更高版本中删除了此功能。我正在尝试自动化上传测试的过程,并且版本信息会非常方便。
答案 0 :(得分:27)
要查看当前版本的moodle,您只需阅读此文件: http://yourmoodlesite/lib/upgrade.txt
以下是有关它的更多信息: https://github.com/moodle/moodle/blob/MOODLE_29_STABLE/lib/upgrade.txt
答案 1 :(得分:6)
很抱歉,这些说明可能看起来有些模糊,但这是我能找到只获得“老师”级访问权限的Moodle版本的唯一方式。
作为一名教师,您应该能够创建任何课程的备份(尽管此功能可能已在您正在使用的Moodle中删除)。备份只是zip文件,但扩展名为.mbz。如果将此扩展名更改为.zip,则可以解压缩。提取zip后,打开“moodle_backup.xml”,在那里你应该在顶部附近找到“moodle_release”项,为你提供用于创建备份的Moodle版本。
答案 2 :(得分:1)
没有管理员或文件访问权限时,最脏的方法是在版本之间与公共文件不同。例如,index.php文件在v1.x上可以是1024Kb长度,在版本1.2上可以是1033Kb长度。
此外,检查一组文件的存在/不存在是一种常见的方式(css,html,js,icon等)
如果找到具体的解决方案,我会再次编辑。
首先编辑: 对于版本19或更高版本,您可以从https://github.com/moodle/moodle/blob/MOODLE_19_STABLE/README.txt
的readme.txt文件中直接检查版本答案 3 :(得分:1)
作为TA,我不想乱用备份听起来很奇怪,但考虑到我的独特地位,合理(对我而言)。
关于我使用的moodle的实现,使用TA权限,页面底部会出现moodle docs的链接,如果你打开这个链接,它会带你到moodle docs页面moodle_url/moodle_version/___
。
也许这对我的系统来说很特殊,但我相信这是默认的设置。
答案 4 :(得分:0)
我的助手功能在这里: https://gist.github.com/tigusigalpa/af051a9112512b1b0369572b5dbea2fd
function checkMoodleVersion($version, $checkfor = 'all', $compare = '<=') {
global $CFG;
$versions = [
'3.1' => [
'version' => '2016052300',
'release' => '3.1'
],
'3.2' => [
'version' => '2016120500',
'release' => '3.2'
],
'3.3' => [
'version' => '2017051500',
'release' => '3.3'
],
'3.4' => [
'version' => '2017111300',
'release' => '3.4'
],
'3.5' => [
'version' => '2018051700',
'release' => '3.5'
],
'3.6' => [
'version' => '2018120300',
'release' => '3.6'
]
];
switch ($checkfor) {
case 'all':
if (isset($versions[$version]['version'])) {
return version_compare($versions[$version]['version'], $CFG->version, $compare) &&
version_compare($version, $CFG->release, $compare);
}
break;
case 'version':
case 'release':
if (isset($versions[$version][$checkfor])) {
return version_compare($versions[$version][$checkfor], $CFG->$checkfor, $compare);
}
break;
}
return false;
}
答案 5 :(得分:0)
如果您甚至在该实例上都没有帐户,则仍然可以找到版本。 API中的任何身份验证错误都会返回以下形式的错误消息:
[{
"error":true,
"exception":{
"message":"Course or activity not accessible.",
"errorcode":"requireloginerror",
"link":"https:\/\/moodle.example.com\/",
"moreinfourl":"http:\/\/docs.moodle.org\/36\/en\/error\/moodle\/requireloginerror"
}
}]
moreinfourl包含一个大概的版本号(在本例中为3.6)。对我来说,当我访问实例的登录页面时,请求此页面-POST请求
https://moodle.example.com/lib/ajax/service.php?sesskey=JQrdIcgMn4&info=core_fetch_notifications
答案 6 :(得分:-1)
不是默认情况下,因为这可以用来收获过时的moodle网站。
您可以创建一个相当容易的脚本,例如:
<?php
require_once('config.php');
echo 'Version: '.$CFG->version;
echo 'Humand readable release: '.$CFG->release;