Skip to content

Commit f5fbc46

Browse files
author
Tom Coward
committed
Added auto-deletion of resource discussion thread
(upon deletion of resource, if discussion thread is awaiting approval)
1 parent 0bbc73f commit f5fbc46

4 files changed

Lines changed: 37 additions & 0 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceItem;
4+
5+
class Delete extends XFCP_Delete
6+
{
7+
public function delete($type, $reason = '')
8+
{
9+
$result = parent::delete($type, $reason = '');
10+
11+
$resource = $this->resource;
12+
13+
$this->deleteDiscussionThread($resource);
14+
15+
return $result;
16+
}
17+
18+
protected function deleteDiscussionThread($resource)
19+
{
20+
// Delete resource's associated discussion thread if was unapproved
21+
if($resource->Discussion->discussion_state == 'moderated'){
22+
/** @var \XF\Service\Thread\Deleter $threadDeleter */
23+
$threadDeleter = $this->service('XF:Thread\Deleter', $resource->Discussion);
24+
$threadDeleter->delete('soft', \XF::phrase('xfrm_resource').' deleted');
25+
}
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"from_class": "XFRM\\Service\\ResourceItem\\Delete",
3+
"to_class": "VersoBit\\ResourceThreads\\XFRM\\Service\\ResourceItem\\Delete",
4+
"execute_order": 10,
5+
"active": true
6+
}

_output/class_extensions/_metadata.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
"XFRM-Service-ResourceItem-Approve_VersoBit-ResourceThreads-XFRM-Service-ResourceItem-Approve.json": {
33
"hash": "cdfaed7d91dfcfaf74f6b212e3d99163"
44
},
5+
"XFRM-Service-ResourceItem-Delete_VersoBit-ResourceThreads-XFRM-Service-ResourceItem-Delete.json": {
6+
"hash": "1f67763978dcd836228611359811d33d"
7+
},
58
"XFRM-Service-ResourceUpdate-Approve_VersoBit-ResourceThreads-XFRM-Service-ResourceUpdate-Approve.json": {
69
"hash": "e29932c9936103688bbc6ec3f8b40c07"
710
}

_output/extension_hint.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceItem
77
{
88
class XFCP_Approve extends \XFRM\Service\ResourceItem\Approve {}
9+
class XFCP_Delete extends \XFRM\Service\ResourceItem\Delete {}
910
}
1011

1112
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceUpdate

0 commit comments

Comments
 (0)