18 $count_members =
function ($group) {
21 'relationship' =>
'member',
22 'relationship_guid' => $group->getGUID(),
23 'inverse_relationship' =>
true,
24 'metadata_names' =>
'__faker',
30 $profile_fields_config =
_elgg_services()->fields->get(
'group',
'group');
32 foreach ($profile_fields_config as
$field) {
33 $profile_fields[$field[
'name']] = $field[
'#type'];
36 while ($this->
getCount() < $this->limit) {
43 'profile_fields' => $profile_fields,
56 $exclude[] = $group->guid;
58 if ($count_members($group) > 1) {
63 $members_limit = $this->
faker()->numberBetween(1, 5);
65 $members_exclude = [];
67 while ($count_members($group) - 1 < $members_limit) {
73 $members_exclude[] = $member->guid;
75 if ($group->join($member)) {
76 $this->
log(
"User {$member->getDisplayName()} [guid: {$member->guid}] joined group {$group->getDisplayName()} [guid: {$group->guid}]");
79 if (!$group->isPublicMembership()) {
82 $members_exclude[] = $invitee->guid;
83 if (!$group->isMember($invitee)) {
84 $group->addRelationship($invitee->guid,
'invited');
85 $this->
log(
"User {$invitee->getDisplayName()} [guid: {$invitee->guid}] was invited to {$group->getDisplayName()} [guid: {$group->guid}]");
91 $members_exclude[] = $requestor->guid;
92 if (!$group->hasRelationship($requestor->guid,
'invited')
93 && !$group->isMember($requestor)
95 $requestor->addRelationship($group->guid,
'membership_request');
96 $this->
log(
"User {$invitee->getDisplayName()} [guid: {$invitee->guid}] requested to join {$group->getDisplayName()} [guid: {$group->guid}]");
114 'metadata_name' =>
'__faker',
117 'batch_inc_offset' =>
false,
121 foreach ($groups as $group) {
122 if ($group->delete()) {
123 $this->
log(
"Deleted group {$group->guid}");
125 $this->
log(
"Failed to delete group {$group->guid}");
getRandomGroupVisibility()
Returns random visibility value.
faker(string $locale= 'en_US')
Returns an instance of faker.
getRandomGroupContentAccessMode()
Returns random content access mode value.
createGroup(array $properties=[])
Create a new fake group.
elgg_get_entities(array $options=[])
Fetches/counts entities or performs a calculation on their properties.
advance(int $step=1)
Advance progressbar.
elgg_count_entities(array $options=[])
Returns a count of entities.
getRandomUser(array $exclude=[], bool $allow_create=true)
Returns random fake user.
createIcon(\ElggEntity $entity)
Create an icon for an entity.
log($level, $message, array $context=[])
Log a message.
_elgg_services()
Get the global service provider.
getCount()
Get the count of the seeded entities.
getRandomGroupMembership()
Returns random membership mode.
getRandomGroup(array $exclude=[], bool $allow_create=true)
Returns random fake group.