Skip to content

Commit e12d26e

Browse files
author
Tom Coward
committed
Initial commit
Includes class extension for `ResourceItem` approver service
1 parent f525351 commit e12d26e

6 files changed

Lines changed: 78 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceItem;
4+
5+
class Approve extends XFCP_Approve
6+
{
7+
protected function onApprove()
8+
{
9+
parent::onApprove();
10+
11+
$resource = $this->resource;
12+
13+
// Approve resource's associated thread if unapproved
14+
if($resource->Discussion->discussion_state == 'moderated'){
15+
/** @var \XF\Service\Thread\Approver $threadApprover */
16+
$threadApprover = \XF::service('XF:Thread\Approver', $resource->Discussion);
17+
$threadApprover->approve();
18+
}
19+
}
20+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceUpdate;
4+
5+
class Approve extends XFCP_Approve
6+
{
7+
protected function onApprove()
8+
{
9+
parent::onApprove();
10+
11+
$resource = $this->resource;
12+
13+
// Approve resource's associated thread if unapproved
14+
if($resource->Discussion->discussion_state == 'moderated'){
15+
/** @var \XF\Service\ProfilePost\Approver $approver */
16+
$approver = \XF::service('XF:ProfilePost\Approver', $entity);
17+
$approver->approve();
18+
19+
/** @var \XF\Service\Thread\Approver $threadApprover */
20+
$threadApprover = \XF::service('XF:Thread\Approver', $resource->Discussion);
21+
$threadApprover->approve();
22+
}
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"from_class": "XFRM\\Service\\ResourceItem\\Approve",
3+
"to_class": "VersoBit\\ResourceThreads\\XFRM\\Service\\ResourceItem\\Approve",
4+
"execute_order": 10,
5+
"active": true
6+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"XFRM-Service-ResourceItem-Approve_VersoBit-ResourceThreads-XFRM-Service-ResourceItem-Approve.json": {
3+
"hash": "cdfaed7d91dfcfaf74f6b212e3d99163"
4+
}
5+
}

_output/extension_hint.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
3+
// ################## THIS IS A GENERATED FILE ##################
4+
// DO NOT EDIT DIRECTLY. EDIT THE CLASS EXTENSIONS IN THE CONTROL PANEL.
5+
6+
namespace VersoBit\ResourceThreads\XFRM\Service\ResourceItem
7+
{
8+
class XFCP_Approve extends \XFRM\Service\ResourceItem\Approve {}
9+
}

addon.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"legacy_addon_id": "",
3+
"title": "[VersoBit] Resource Threads",
4+
"description": "Automatically approves/deletes threads upon resource approval/deletion.",
5+
"version_id": 1000011,
6+
"version_string": "1.0.0a1",
7+
"dev": "VersoBit",
8+
"dev_url": "https://versobit.dev",
9+
"faq_url": "",
10+
"support_url": "https://support.versobit.dev",
11+
"extra_urls": [],
12+
"require": [],
13+
"icon": "fa-sticky-note"
14+
}

0 commit comments

Comments
 (0)