+ $userNumber = rand(0, $u - 1);
+
+ $userNick = sprintf('%s%d', $userprefix, $userNumber);
+
+ $user = User::staticGet('nickname', $userNick);
+
+ if (empty($user)) {
+ throw new Exception("Can't find user '$fromnick'.");
+ }
+
+ $groupNumber = rand(0, $g - 1);
+
+ $groupNick = sprintf('%s%d', $groupprefix, $groupNumber);
+
+ $group = User_group::staticGet('nickname', $groupNick);
+
+ if (empty($group)) {
+ throw new Exception("Can't find group '$groupNick'.");
+ }
+
+ if (!$user->isMember($group)) {
+ $user->joinGroup($group);
+ }
+}
+
+function testNoticeContent()
+{
+ global $words;
+
+ if (is_null($words)) {
+ return "test notice content";
+ }
+
+ $cnt = rand(3, 8);
+
+ $ids = array_rand($words, $cnt);
+
+ foreach ($ids as $id) {
+ $parts[] = $words[$id];
+ }
+
+ $text = implode(' ', $parts);
+
+ if (mb_strlen($text) > 80) {
+ $text = substr($text, 0, 77) . "...";
+ }
+
+ return $text;
+}
+
+function main($usercount, $groupcount, $noticeavg, $subsavg, $joinsavg, $tagmax)
+{
+ global $config;
+ $config['site']['dupelimit'] = -1;
+
+ $n = 0;
+ $g = 0;
+
+ // Make users first
+
+ $preuser = min($usercount, 5);
+
+ for ($j = 0; $j < $preuser; $j++) {
+ printfv("$i Creating user $n\n");
+ newUser($n);
+ $n++;
+ }
+
+ $pregroup = min($groupcount, 3);
+
+ for ($k = 0; $k < $pregroup; $k++) {
+ printfv("$i Creating group $g\n");
+ newGroup($g, $n);
+ $g++;
+ }