Skip to content

Commit e8f679f

Browse files
author
epriestley
committed
Move the inbound mail list to the CLI
Summary: Same as D6419. See D6413. Test Plan: 13 epriestley D6 Re: [local/Differential] [Request, 83 lines] D6: aabd 14 epriestley D6 Re: [local/Differential] [Request, 83 lines] D6: aabd 15 - - Re: [local/Diffusion] [Commit] rGTEST8fc313c77729: derp 16 - - Re: [local/Diffusion] [Commit] rGTEST8fc313c77729: derp 17 - - Re: [local/Diffusion] [Commit] rGTEST8fc313c77729: derp 18 - - Re: [local/Diffusion] [Commit] rGTEST8fc313c77729: derp 19 - - Re: [local/Diffusion] [Commit] rGTEST8fc313c77729: derp 20 - - (No subject.) 21 epriestley D22 (No subject.) 22 epriestley D12 (No subject.) Reviewers: btrahan Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D6420
1 parent 6bac7e3 commit e8f679f

6 files changed

+66
-85
lines changed

scripts/mail/manage_mail.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
new PhabricatorMailManagementShowInboundWorkflow(),
2222
new PhabricatorMailManagementSendTestWorkflow(),
2323
new PhabricatorMailManagementReceiveTestWorkflow(),
24+
new PhabricatorMailManagementListInboundWorkflow(),
2425
);
2526

2627
$args->parseWorkflows($workflows);

src/__phutil_library_map__.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,6 +1211,7 @@
12111211
'PhabricatorMailImplementationPHPMailerLiteAdapter' => 'applications/metamta/adapter/PhabricatorMailImplementationPHPMailerLiteAdapter.php',
12121212
'PhabricatorMailImplementationSendGridAdapter' => 'applications/metamta/adapter/PhabricatorMailImplementationSendGridAdapter.php',
12131213
'PhabricatorMailImplementationTestAdapter' => 'applications/metamta/adapter/PhabricatorMailImplementationTestAdapter.php',
1214+
'PhabricatorMailManagementListInboundWorkflow' => 'applications/metamta/management/PhabricatorMailManagementListInboundWorkflow.php',
12141215
'PhabricatorMailManagementReceiveTestWorkflow' => 'applications/metamta/management/PhabricatorMailManagementReceiveTestWorkflow.php',
12151216
'PhabricatorMailManagementResendWorkflow' => 'applications/metamta/management/PhabricatorMailManagementResendWorkflow.php',
12161217
'PhabricatorMailManagementSendTestWorkflow' => 'applications/metamta/management/PhabricatorMailManagementSendTestWorkflow.php',
@@ -1248,7 +1249,6 @@
12481249
'PhabricatorMetaMTAMailBodyTestCase' => 'applications/metamta/view/__tests__/PhabricatorMetaMTAMailBodyTestCase.php',
12491250
'PhabricatorMetaMTAMailTestCase' => 'applications/metamta/storage/__tests__/PhabricatorMetaMTAMailTestCase.php',
12501251
'PhabricatorMetaMTAMailingList' => 'applications/mailinglists/storage/PhabricatorMetaMTAMailingList.php',
1251-
'PhabricatorMetaMTAReceivedListController' => 'applications/metamta/controller/PhabricatorMetaMTAReceivedListController.php',
12521252
'PhabricatorMetaMTAReceivedMail' => 'applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php',
12531253
'PhabricatorMetaMTAReceivedMailProcessingException' => 'applications/metamta/exception/PhabricatorMetaMTAReceivedMailProcessingException.php',
12541254
'PhabricatorMetaMTAReceivedMailTestCase' => 'applications/metamta/storage/__tests__/PhabricatorMetaMTAReceivedMailTestCase.php',
@@ -3168,6 +3168,7 @@
31683168
'PhabricatorMailImplementationPHPMailerLiteAdapter' => 'PhabricatorMailImplementationAdapter',
31693169
'PhabricatorMailImplementationSendGridAdapter' => 'PhabricatorMailImplementationAdapter',
31703170
'PhabricatorMailImplementationTestAdapter' => 'PhabricatorMailImplementationAdapter',
3171+
'PhabricatorMailManagementListInboundWorkflow' => 'PhabricatorSearchManagementWorkflow',
31713172
'PhabricatorMailManagementReceiveTestWorkflow' => 'PhabricatorSearchManagementWorkflow',
31723173
'PhabricatorMailManagementResendWorkflow' => 'PhabricatorSearchManagementWorkflow',
31733174
'PhabricatorMailManagementSendTestWorkflow' => 'PhabricatorSearchManagementWorkflow',
@@ -3196,7 +3197,6 @@
31963197
'PhabricatorMetaMTAMailBodyTestCase' => 'PhabricatorTestCase',
31973198
'PhabricatorMetaMTAMailTestCase' => 'PhabricatorTestCase',
31983199
'PhabricatorMetaMTAMailingList' => 'PhabricatorMetaMTADAO',
3199-
'PhabricatorMetaMTAReceivedListController' => 'PhabricatorMetaMTAController',
32003200
'PhabricatorMetaMTAReceivedMail' => 'PhabricatorMetaMTADAO',
32013201
'PhabricatorMetaMTAReceivedMailProcessingException' => 'Exception',
32023202
'PhabricatorMetaMTAReceivedMailTestCase' => 'PhabricatorTestCase',

src/applications/metamta/application/PhabricatorApplicationMetaMTA.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ public function getRoutes() {
3131
$this->getBaseURI() => array(
3232
'' => 'PhabricatorMetaMTAListController',
3333
'view/(?P<id>[1-9]\d*)/' => 'PhabricatorMetaMTAViewController',
34-
'received/' => 'PhabricatorMetaMTAReceivedListController',
3534
'sendgrid/' => 'PhabricatorMetaMTASendGridReceiveController',
3635
),
3736
);

src/applications/metamta/controller/PhabricatorMetaMTAController.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ public function buildSideNavView() {
1212

1313
$nav->addLabel(pht('Mail Logs'));
1414
$nav->addFilter('sent', pht('Sent Mail'), $this->getApplicationURI());
15-
$nav->addFilter('received', pht('Received Mail'));
1615

1716
return $nav;
1817
}

src/applications/metamta/controller/PhabricatorMetaMTAReceivedListController.php

Lines changed: 0 additions & 81 deletions
This file was deleted.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?php
2+
3+
final class PhabricatorMailManagementListInboundWorkflow
4+
extends PhabricatorSearchManagementWorkflow {
5+
6+
protected function didConstruct() {
7+
$this
8+
->setName('list-inbound')
9+
->setSynopsis('List inbound messages received by Phabricator.')
10+
->setExamples(
11+
"**list-inbound**")
12+
->setArguments(
13+
array(
14+
array(
15+
'name' => 'limit',
16+
'param' => 'N',
17+
'default' => 100,
18+
'help' => 'Show a specific number of messages (default 100).',
19+
),
20+
));
21+
}
22+
23+
public function execute(PhutilArgumentParser $args) {
24+
$console = PhutilConsole::getConsole();
25+
$viewer = PhabricatorUser::getOmnipotentUser();
26+
27+
$mails = id(new PhabricatorMetaMTAReceivedMail())->loadAllWhere(
28+
'1 = 1 ORDER BY id DESC LIMIT %d',
29+
$args->getArg('limit'));
30+
31+
if (!$mails) {
32+
$console->writeErr("%s\n", "No received mail.");
33+
return 0;
34+
}
35+
36+
$phids = array_merge(
37+
mpull($mails, 'getRelatedPHID'),
38+
mpull($mails, 'getAuthorPHID'));
39+
$handles = id(new PhabricatorObjectHandleData($phids))
40+
->setViewer($viewer)
41+
->loadHandles();
42+
43+
foreach (array_reverse($mails) as $mail) {
44+
$console->writeOut(
45+
"%s\n",
46+
sprintf(
47+
"% 8d %-16s %-20s %s",
48+
$mail->getID(),
49+
$mail->getAuthorPHID()
50+
? $handles[$mail->getAuthorPHID()]->getName()
51+
: '-',
52+
$mail->getRelatedPHID()
53+
? $handles[$mail->getRelatedPHID()]->getName()
54+
: '-',
55+
$mail->getSubject()
56+
? $mail->getSubject()
57+
: pht('(No subject.)')));
58+
}
59+
60+
return 0;
61+
}
62+
63+
}

0 commit comments

Comments
 (0)