我一直在尝试自定义块用户插件以创建 2 路块,但是,在尝试调整事件管理器中的 lib/functions.php 时遇到了问题。
我基本上只是获取被阻止用户的列表,然后尝试在通过 $entities_options 查询数组返回事件列表之前放入“NOT EXISTS”子句。我对 Elgg 中的数据库查询方面非常陌生,因此可以使用一些帮助来解决这个问题。
// GET ARRAY OF BLOCKED USERS
$users = lee_framework_get_options(elgg_get_plugin_user_setting('blockuser_get', lee_loggedin_user_guid, 'blockuser'));
$blocked_user_array = array();
foreach($users as $user)
{
$blocked_guid = get_user_by_username($user)->guid;
$blocked_user_array[] = $blocked_guid;
$entities_options['owner_guids'] != $blocked_guid; // This is just to indicate what I am trying to achieve!
}
我相信我需要使用页面其余部分中使用的 JOINS / WHERES 子句,但我很难找到并使用正确的字段名称。例如。
$entities_options['joins'][] = "JOIN " . elgg_get_config("dbprefix") . "entity_relationships e_ra ON e.guid = e_ra.guid_one";
$entities_options['wheres'][] = "(e_ra.guid_two IN (" . implode(", ", $friends_guids) . "))";
对此的任何建议将不胜感激:)