12 private $visibility = [
18 private $content_access_modes = [
23 private $membership = [
33 $count_groups =
function () {
36 'metadata_names' =>
'__faker',
41 $this->
advance($count_groups());
43 $count_members =
function ($group) {
46 'relationship' =>
'member',
47 'relationship_guid' => $group->getGUID(),
48 'inverse_relationship' =>
true,
49 'metadata_names' =>
'__faker',
66 'group_tool_options' =>
elgg()->group_tools->all(),
75 $exclude[] = $group->guid;
77 if ($count_members($group) > 1) {
82 $members_limit = $this->
faker()->numberBetween(1, 5);
84 $members_exclude = [];
86 while ($count_members($group) - 1 < $members_limit) {
95 $members_exclude[] = $member->guid;
97 if ($group->join($member)) {
98 $this->
log(
"User {$member->getDisplayName()} [guid: {$member->guid}] joined group {$group->getDisplayName()} [guid: {$group->guid}]");
101 if (!$group->isPublicMembership()) {
107 $members_exclude[] = $invitee->guid;
110 $this->
log(
"User {$invitee->getDisplayName()} [guid: {$invitee->guid}] was invited to {$group->getDisplayName()} [guid: {$group->guid}]");
119 $members_exclude[] = $requestor->guid;
124 $this->
log(
"User {$invitee->getDisplayName()} [guid: {$invitee->guid}] requested to join {$group->getDisplayName()} [guid: {$group->guid}]");
142 'metadata_names' =>
'__faker',
149 $groups->setIncrementOffset(
false);
151 foreach ($groups as $group) {
152 if ($group->delete()) {
153 $this->
log(
"Deleted group $group->guid");
155 $this->
log(
"Failed to delete group $group->guid");
167 $key = array_rand($this->visibility, 1);
169 return $this->visibility[
$key];
177 $key = array_rand($this->content_access_modes, 1);
179 return $this->content_access_modes[
$key];
187 $key = array_rand($this->membership, 1);
189 return $this->membership[
$key];
log($msg, $level=LogLevel::NOTICE)
Log a message.
getRandomUser(array $exclude=[])
Returns random fake user.
add_entity_relationship($guid_one, $relationship, $guid_two)
Create a relationship between two entities.
createIcon(ElggEntity $entity)
Create an icon for an entity.
createGroup(array $attributes=[], array $metadata=[])
Create a new fake group.
faker($locale= 'en_US')
Returns an instance of faker.
getRandomVisibility()
Returns random visibility value.
elgg_get_entities(array $options=[])
Fetches/counts entities or performs a calculation on their properties.
const CONTENT_ACCESS_MODE_UNRESTRICTED
check_entity_relationship($guid_one, $relationship, $guid_two)
Check if a relationship exists between two entities.
createUser(array $attributes=[], array $metadata=[])
Create a new fake user.
const CONTENT_ACCESS_MODE_MEMBERS_ONLY
getRandomGroup(array $exclude=[])
Returns random fake group.
if($container instanceof ElggGroup &&$container->guid!=elgg_get_page_owner_guid()) $key
getRandomContentAccessMode()
Returns random content access mode value.
getRandomMembership()
Returns random membership mode.
advance($step=1)
Advance progressbar.
elgg_get_config($name, $default=null)
Get an Elgg configuration value.