hypejunction/hypeinvite

此包已被放弃且不再维护。未建议替代包。

用于邀请新用户加入网站的接口

安装: 71

依赖: 1

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

类型:elgg-plugin

2.2.1 2018-07-13 08:46 UTC

This package is auto-updated.

Last update: 2020-01-30 13:46:22 UTC


README

Elgg 3.0

功能

  • 允许用户通过电子邮件邀请新用户
  • 创建仅限邀请的网络选项
  • 跟踪所有同一电子邮件地址的邀请
  • 当邀请被接受时创建好友请求
  • 群组所有者可以允许成员邀请其他成员
  • 网站管理员可以允许非好友的群组邀请
  • 网站管理员可以允许通过电子邮件进行群组邀请

注意

  • 此插件要正常工作,必须在网站上启用注册功能
  • 在仅限邀请的网络中,uservalidationbyemail 将被绕过,因为假设用户已经通过电子邮件收到他们的邀请码
  • 当通过电子邮件邀请加入群组时,不存在用户必须首先创建账户。注册时,将创建之前注册之前被邀请加入的所有群组的邀请。

开发者备注

创建邀请

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


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

// generate a registration link to include in the notification
$registration_link = users_invite_get_registration_link($email, $inviter->guid);


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

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

	$events = elgg_get_entities_from_relationship([
        'types' => 'object',
        'subtypes' => 'event',
		'relationship' => 'invited_to',
		'relationship_guid' => $invite->guid,
		'limit' => 0,
	]);

	if (!$events) {
		return;
	}

	foreach ($events as $event) {
		add_entity_relationship($user->guid, 'attending', $event->guid);
	}
});