GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

ServiceTracker::duplicate()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 3

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 4
rs 10
cc 1
eloc 3
nc 1
nop 2
1
<?php
2
/**
3
 * Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
4
 *
5
 * This file is a part of Codendi.
6
 *
7
 * Codendi is free software; you can redistribute it and/or modify
8
 * it under the terms of the GNU General Public License as published by
9
 * the Free Software Foundation; either version 2 of the License, or
10
 * (at your option) any later version.
11
 *
12
 * Codendi is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * GNU General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU General Public License
18
 * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
19
 */
20
21
class ServiceTracker extends Service {
22
23
    const NAME = 'tracker';
24
25
    /**
26
     * Display header for service tracker
27
     *
28
     * @param string $title       The title
29
     * @param array  $breadcrumbs array of breadcrumbs (array of 'url' => string, 'title' => string)
30
     * @param array  $toolbar     array of toolbars (array of 'url' => string, 'title' => string)
31
     *
32
     * @return void
33
     */
34
    public function displayHeader($title, $breadcrumbs, $toolbar, $params = array()) {
35
        $GLOBALS['HTML']->includeCalendarScripts();
36
37
        $tracker_manager         = new TrackerManager();
38
        $user_has_special_access = $tracker_manager->userCanAdminAllProjectTrackers();
39
40
        $params = $params + array('user_has_special_access' => $user_has_special_access);
41
        $params['service_name'] = self::NAME;
42
        $params['project_id']   = $this->getGroupId();
43
44
        parent::displayHeader($title, $breadcrumbs, $toolbar, $params);
45
    }
46
    
47
    /**
48
     * Duplicate this service from the current project to another
49
     * 
50
     * @param int   $to_project_id  The target paroject Id
51
     * @param array $ugroup_mapping The ugroup mapping
52
     * 
53
     * @return void
54
     */
55
    public function duplicate($to_project_id, $ugroup_mapping) {
56
        $tracker_manager = $this->getTrackerManager();
57
        $tracker_manager->duplicate($this->project->getId(), $to_project_id, $ugroup_mapping);
58
    }
59
    
60
    /**
61
     * @return TrackerManager 
62
     */
63
    protected function getTrackerManager() {
64
        return new TrackerManager();
65
    }
66
    
67
    /**
68
     * Say if the service is allowed for the project
69
     *
70
     * @param Project $project
71
     *
72
     * @return bool
73
     */
74
    protected function isAllowed($project) {
75
        $plugin_manager = PluginManager::instance();
76
        $p = $plugin_manager->getPluginByName('tracker');
77
        if ($p && $plugin_manager->isPluginAvailable($p) && $p->isAllowed($project->getGroupId())) {
78
            return true;
79
        }
80
        return false;
81
    }
82
    
83
    /**
84
     * Say if the service is restricted
85
     *
86
     * @param Project $project
0 ignored issues
show
Bug introduced by
There is no parameter named $project. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
87
     *
88
     * @return bool
89
     */
90
    public function isRestricted() {
91
        $plugin_manager = PluginManager::instance();
92
        $p = $plugin_manager->getPluginByName('tracker');
93
        if ($p && $plugin_manager->isProjectPluginRestricted($p)) {
94
            return true;
95
        }
96
        return false;
97
    }
98
    
99
    /**
100
     * Trackers are cloned on project creation
101
     * 
102
     * @see Service::isInheritedOnDuplicate()
103
     * 
104
     * @return Boolean
105
     */
106
    public function isInheritedOnDuplicate() {
107
        return true;
108
    }
109
}
110
?>
111