forked from OPSnet/Gazelle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate-collaborative-collages
executable file
·38 lines (34 loc) · 1.16 KB
/
create-collaborative-collages
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#! /usr/bin/env php
<?php
require_once(__DIR__ . '/../lib/bootstrap.php');
$logger = new Gazelle\Log;
$collageMan = new Gazelle\Manager\Collage;
$creator = (new Gazelle\Manager\User)->findById($argv[1]);
$min = (int)($argv[2] ?? 1000);
$wikiId = (int)($argv[3] ?? 706);
$db = Gazelle\DB::DB();
$db->prepared_query("
SELECT t.Name AS name FROM tags t
WHERE t.TagType = 'genre'
AND NOT t.Name REGEXP '[12][0-9][0-9][0-9]s'
AND t.Uses >= ?
ORDER BY t.Uses DESC
", $min
);
$nameList = $db->collect(0, false);
foreach ($nameList as $name) {
try {
$collage = $collageMan->create(
$creator,
2, // Genre Introduction
SITE_NAME . " Collaborative #{$name} Collage (2)",
"A collaborative introduction to the {$name} genre. See [url=wiki.php?action=article&id={$wikiId}]The Orpheus Collaborative Collage Project[/url] for more information.",
"$name, orpheus",
$logger
);
} catch (\Exception $e) {
continue; // name already exists
}
$collage->setField('MaxGroupsPerUser', 1)->modify();
echo "[collage]{$collage->id()}[/collage]\n";
}