1

我将我的 tiki 从 15.4 升级到 16.2。一切运行良好。问题是网站注册不起作用。我有一个跟踪器来扩展我的用户信息。在跟踪器中,我创建了一个名为“网络”的字段,允许用户选择他们想要加入的组。因此,由于组权限不同,他们不会看到彼此的内容。这个注册失败了。错误信息显示:

无法将不存在的用户 xxx 添加到学生组

我发现问题是 trackerlib.php 第 3671 行发生了变化。它现在返回一个空数组(),而不是返回“null”。

else {
    return array();
}

在 GroupSelector.php 第 124 行,条件检查

if (empty ($creators))) $creators=array($user);

这个 if 永远不会被执行,因为函数现在返回一个不为空的数组。因此造成了在注册表中选择一个组就没有人可以注册的问题。

提出解决方案,将第 124 行的 if 条件更改为:

if (empty($creators[0]))
4

2 回答 2

1

我的同事 kroky6改进了我的修复(谢谢!),现在在 16.x 分支中,所以你可以使用明天从这里开始的 16.x nightly tarball 来测试它,并将在 16.3(和 17.0 之后)即将到来...

于 2017-07-07T09:27:59.070 回答
0

您是否检查过此文件 (lib/core/Tracker/Field/GroupSelector.php) 的实际 16.x 版本(开发分支)?

https://sourceforge.net/p/tikiwiki/code/HEAD/tree/branches/16.x/lib/core/Tracker/Field/GroupSelector.php

很有可能,这已经解决了。:)

伯纳德

于 2017-07-06T05:42:16.800 回答