Test Failed
Push — develop ( 76157d...9702e2 )
by Paul
08:08
created

ReviewHooks   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 5
eloc 24
c 0
b 0
f 0
dl 0
loc 44
rs 10
ccs 0
cts 29
cp 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A run() 0 18 1
A levelPluginsLoaded() 0 3 1
A onPluginsLoaded() 0 10 3
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Hooks;
4
5
use GeminiLabs\SiteReviews\Controllers\ReviewController;
6
use GeminiLabs\SiteReviews\Database\Tables;
7
8
class ReviewHooks extends AbstractHooks
9
{
10
    public function levelPluginsLoaded(): ?int
11
    {
12
        return -10;
13
    }
14
15
    /**
16
     * MyISAM table fallback.
17
     * 
18
     * @action plugins_loaded:-10
19
     */
20
    public function onPluginsLoaded(): void
21
    {
22
        if (!glsr(Tables::class)->isInnodb('posts')) {
23
            $this->hook(ReviewController::class, [
24
                ['onDeletePost', 'deleted_post', 10, 2],
25
            ]);
26
        }
27
        if (!glsr(Tables::class)->isInnodb('users')) {
28
            $this->hook(ReviewController::class, [
29
                ['onDeleteUser', 'deleted_user'],
30
            ]);
31
        }
32
    }
33
34
    public function run(): void
35
    {
36
        $this->hook(ReviewController::class, [
37
            ['filterPostsToCacheReviews', 'the_posts'],
38
            ['filterReviewPostData', 'wp_insert_post_data', 10, 2],
39
            ['filterReviewTemplate', 'site-reviews/rendered/template/review', 10, 2],
40
            ['filterSqlClauseOperator', 'site-reviews/query/sql/clause/operator', 1],
41
            ['filterTemplateTags', 'site-reviews/review/build/after', 10, 3],
42
            ['onAfterChangeAssignedTerms', 'set_object_terms', 10, 6],
43
            ['onAfterChangeStatus', 'transition_post_status', 10, 3],
44
            ['onApprove', 'admin_action_approve'], // non-ajax fallback
45
            ['onChangeAssignedPosts', 'site-reviews/review/updated/post_ids', 10, 2],
46
            ['onChangeAssignedUsers', 'site-reviews/review/updated/user_ids', 10, 2],
47
            ['onCreatedReview', 'site-reviews/review/created', 10, 2],
48
            ['onCreateReview', 'site-reviews/review/create', 10, 2],
49
            ['onEditReview', 'post_updated', 10, 3],
50
            ['onUnapprove', 'admin_action_unapprove'], // non-ajax fallback
51
            ['sendNotification', 'site-reviews/review/created', 50],
52
        ]);
53
    }
54
}
55