]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/EmailSummary/sendemailsummary.php
Merge branch 'master' into 0.9.x
[quix0rs-gnu-social.git] / plugins / EmailSummary / sendemailsummary.php
1 #!/usr/bin/env php
2    <?php
3    /*
4     * StatusNet - a distributed open-source microblogging tool
5     * Copyright (C) 2010, StatusNet, Inc.
6     *
7     * This program is free software: you can redistribute it and/or modify
8     * it under the terms of the GNU Affero General Public License as published by
9     * the Free Software Foundation, either version 3 of the License, or
10     * (at your option) any later version.
11     *
12     * This program is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     * GNU Affero General Public License for more details.
16     *
17     * You should have received a copy of the GNU Affero General Public License
18     * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19     */
20
21 define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..'));
22
23 $shortoptions = 'i:n:au';
24 $longoptions = array('id=', 'nickname=', 'all', 'universe');
25
26 $helptext = <<<END_OF_SENDEMAILSUMMARY_HELP
27 sendemailsummary.php [options]
28 Send an email summary of the inbox to users
29
30  -i --id       ID of user to send summary to
31  -n --nickname nickname of the user to send summary to
32  -a --all      send summary to all users
33  -u --universe send summary to all users on all sites
34
35 END_OF_SENDEMAILSUMMARY_HELP;
36
37 require_once INSTALLDIR.'/scripts/commandline.inc';
38
39 if (have_option('u', 'universe')) {
40     $sn = new Status_network();
41     if ($sn->find()) {
42         while ($sn->fetch()) {
43             $server = $sn->getServerName();
44             StatusNet::init($server);
45             // Different queue manager, maybe!
46             $qm = QueueManager::get();
47             $qm->enqueue(null, 'sitesum');
48         }
49     }
50 } else {
51     $qm = QueueManager::get();
52     // enqueue summary for user or all users
53     try {
54         $user = getUser();
55         $qm->enqueue($user->id, 'usersum');
56     } catch (NoUserArgumentException $nuae) {
57         $qm->enqueue(null, 'sitesum');
58     }
59 }