Test Failed
Push — develop ( 1da57b...1707fa )
by Paul
07:25
created

Hooks   A

Complexity

Total Complexity 12

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 12
eloc 31
dl 0
loc 49
ccs 0
cts 24
cp 0
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A isInstalled() 0 8 6
A version() 0 5 2
A supportedVersion() 0 3 1
A run() 0 24 3
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations\GamiPress;
4
5
use GeminiLabs\SiteReviews\Integrations\IntegrationHooks;
6
7
class Hooks extends IntegrationHooks
8
{
9
    public function run(): void
10
    {
11
        if (!$this->isInstalled()) {
12
            return;
13
        }
14
        if (!$this->isVersionSupported()) {
15
            $this->notify('GamiPress');
16
            return;
17
        }
18
        $this->hook(Controller::class, [
19
            ['ajaxFetchUsers', 'wp_ajax_site_reviews_gamipress/users'],
20
            ['enqueueAdminAssets', 'admin_enqueue_scripts'],
21
            ['filterActivityTriggerLabel', 'gamipress_activity_trigger_label', 10, 3],
22
            ['filterActivityTriggers', 'gamipress_activity_triggers'],
23
            ['filterLogEventMetaData', 'gamipress_log_event_trigger_meta_data', 10, 5],
24
            ['filterLogExtraDataFields', 'gamipress_log_extra_data_fields', 10, 2],
25
            ['filterPostTypeTriggers', 'gamipress_post_type_triggers'],
26
            ['filterRequirement', 'gamipress_requirement_object', 10, 2],
27
            ['filterSpecificActivityTriggers', 'gamipress_specific_activity_triggers'],
28
            ['filterUserHasAccessToAchievement', 'user_has_access_to_achievement', 10, 6],
29
            ['filterUserRoleTriggers', 'gamipress_user_role_triggers'],
30
            ['onReviewCreated', 'site-reviews/review/created', 20],
31
            ['renderRequirementFields', 'gamipress_requirement_ui_html_after_achievement_post', 10, 2],
32
            ['updateRequirement', 'gamipress_ajax_update_requirement', 10, 2],
33
        ]);
34
    }
35
36
    protected function isInstalled(): bool
37
    {
38
        return defined('GAMIPRESS_VER')
39
            && function_exists('ct_get_object_meta')
40
            && function_exists('gamipress_get_achievement_types_slugs')
41
            && function_exists('gamipress_get_rank_types_slugs')
42
            && function_exists('gamipress_get_requirement_types_slugs')
43
            && function_exists('gamipress_trigger_event');
44
    }
45
46
    protected function supportedVersion(): string
47
    {
48
        return '7.0';
49
    }
50
51
    protected function version(): string
52
    {
53
        return defined('GAMIPRESS_VER')
54
            ? (string) \GAMIPRESS_VER
1 ignored issue
show
Bug introduced by
The constant GAMIPRESS_VER was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
55
            : '';
56
    }
57
}
58