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

Hooks::run()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 24
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 24
ccs 0
cts 22
cp 0
rs 9.6
c 0
b 0
f 0
cc 3
nc 3
nop 0
crap 12
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