hypejunction/users_invite

此包已被废弃,不再维护。作者建议使用hypejunction/hypeinvite包。

用户邀请

1.0.2 2016-08-30 12:48 UTC

This package is auto-updated.

Last update: 2022-02-01 12:59:07 UTC


README

Elgg 2.0

特性

  • 允许用户通过电子邮件邀请新用户
  • 创建仅限邀请的网络选项
  • 跟踪同一电子邮件地址的所有邀请
  • 当邀请被接受时创建好友请求

注意

  • 此插件要正常工作,网站上必须启用注册
  • 在仅限邀请的网络中,uservalidationbyemail将被绕过,因为假设用户已经通过电子邮件收到了他们的邀请码

开发者注意

创建邀请

其他插件可能将站外邀请集中化,并将自定义行为附加到邀请上。例如,通过电子邮件邀请未注册用户加入一个群组

$invite = users_invite_create_user_invite($email);
add_entity_relationship($invite->guid, 'group_invite', $group->guid);
add_entity_relationship($invite->guid, 'invited_by', $inviter->guid);

// generate a registration link to include in the notification
$registration_link = elgg_trigger_plugin_hook('registration_link', 'site', [
	'email' => $email,
	'friend_guid' => $inviter->guid,
		], elgg_normalize_url('register'));


// implement a custom handler
elgg_register_plugin_hook_handler('accept', 'invite', function($hook, $type, $return, $params) {

	$invite = $params['invite'];
	$user = $params['user'];

	$groups = elgg_get_entities_from_relationship([
		'relationship' => 'group_invite',
		'relationship_guid' => $invite->guid,
		'limit' => 0,
	]);

	if (!$groups) {
		return;
	}

	foreach ($groups as $group) {
		// Let users confirm individual group invitations
		add_entity_relationship($group->guid, 'invited', $user->guid);
	}
});