双方向ブロックを作成するためにブロック ユーザー プラグインをカスタマイズしようとしましたが、イベント マネージャーで lib/functions.php を微調整しようとすると問題が発生します。
私は基本的に、ブロックされたユーザーのリストを取得し、$entities_options クエリ配列を介してイベント リストが返される前に "NOT EXISTS" 句を挿入しようとしています。私は Elgg の DB クエリ側にまったく慣れていないので、これを正しく行うためにいくつかの助けを借りることができます。
// 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) . "))";
これに関するアドバイスは大歓迎です:)