Passed
Push — master ( f510e9...9822a2 )
by Paul
10:29
created

ReviewHooks   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 22
dl 0
loc 37
ccs 0
cts 10
cp 0
rs 10
c 1
b 0
f 0

2 Methods

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