Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F440300
PhabricatorApplicationTransactionCommentHistoryController.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
PhabricatorApplicationTransactionCommentHistoryController.php
View Options
<?php
final
class
PhabricatorApplicationTransactionCommentHistoryController
extends
PhabricatorApplicationTransactionController
{
private
$phid
;
public
function
willProcessRequest
(
array
$data
)
{
$this
->
phid
=
$data
[
'phid'
];
}
public
function
processRequest
()
{
$request
=
$this
->
getRequest
();
$user
=
$request
->
getUser
();
$xactions
=
id
(
new
PhabricatorObjectHandleData
(
array
(
$this
->
phid
)))
->
setViewer
(
$user
)
->
loadObjects
();
$xaction
=
idx
(
$xactions
,
$this
->
phid
);
if
(!
$xaction
)
{
// TODO: This may also mean you don't have permission to edit the object,
// but we can't make that distinction via PhabricatorObjectHandleData
// at the moment.
return
new
Aphront404Response
();
}
if
(!
$xaction
->
getComment
())
{
// You can't view history of a transaction with no comments.
return
new
Aphront404Response
();
}
$obj_phid
=
$xaction
->
getObjectPHID
();
$obj_handle
=
PhabricatorObjectHandleData
::
loadOneHandle
(
$obj_phid
,
$user
);
if
(!
$obj_handle
)
{
// Require the corresponding object exist and be visible to the user.
return
new
Aphront404Response
();
}
$comments
=
id
(
new
PhabricatorApplicationTransactionCommentQuery
())
->
setViewer
(
$user
)
->
setTemplate
(
$xaction
->
getApplicationTransactionCommentObject
())
->
withTransactionPHIDs
(
array
(
$xaction
->
getPHID
()))
->
execute
();
if
(!
$comments
)
{
return
new
Aphront404Response
();
}
$comments
=
msort
(
$comments
,
'getCommentVersion'
);
$xactions
=
array
();
foreach
(
$comments
as
$comment
)
{
$xactions
[]
=
id
(
clone
$xaction
)
->
makeEphemeral
()
->
setCommentVersion
(
$comment
->
getCommentVersion
())
->
setContentSource
(
$comment
->
getContentSource
())
->
setDateCreated
(
$comment
->
getDateCreated
())
->
attachComment
(
$comment
);
}
$view
=
id
(
new
PhabricatorApplicationTransactionView
())
->
setUser
(
$user
)
->
setTransactions
(
$xactions
)
->
setShowEditActions
(
false
);
$dialog
=
id
(
new
AphrontDialogView
())
->
setUser
(
$user
)
->
setWidth
(
AphrontDialogView
::
WIDTH_FULL
)
->
setTitle
(
pht
(
'Comment History'
));
$dialog
->
appendChild
(
$view
);
$dialog
->
addCancelButton
(
$obj_handle
->
getURI
());
return
id
(
new
AphrontDialogResponse
())->
setDialog
(
$dialog
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sun, May 4, 5:42 AM (2 d)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
64033
Default Alt Text
PhabricatorApplicationTransactionCommentHistoryController.php (2 KB)
Attached To
Mode
rP Phorge
Attached
Detach File
Event Timeline
Log In to Comment