/** * @param string $composer * @param string $lib * @param string $version * @param array $advisory * @param string $level * @return Issue */ private function createIssue($composer, $lib, $version, array $advisory, $level) { $message = sprintf('package "%s" with the version "%s" have known vulnerabilities', $lib, $version); $issue = new Issue($this, $message); $issue->setDescription($this->createDescription($advisory['title'], $advisory['cve'], $advisory['link'])); $issue->setFile($composer); $issue->setLevel($level); $issue->setExtraInformation(['lib' => $lib, 'version' => $version, 'link' => $advisory['link'], 'cve' => $advisory['cve']]); return $issue; }
/** * @param array $data * @return Issue */ private function createIssue(array $data) { $issue = new Issue($this, $data['message']); $issue->setFile($data['file']); $issue->setLine($data['line']); switch ($data['type']) { case 'error': $issue->setLevel(Issue::LEVEL_ERROR); break; case 'warning': $issue->setLevel(Issue::LEVEL_WARNING); break; } $issue->setExtraInformation(['source' => $data['source'], 'severity' => $data['severity'], 'column' => $data['column']]); return $issue; }
/** * @param string $file * @param array $data * @return Issue */ private function createIssue($file, array $data) { $issue = new Issue($this, trim($data['#'])); $issue->setLevel(Issue::LEVEL_WARNING); $issue->setFile($file); $issue->setLine($data['@beginline']); $issue->setExtraInformation(['rule' => $data['@rule'], 'ruleset' => $data['@ruleset'], 'externalInfoUrl' => $data['@externalInfoUrl'], 'priority' => $data['@priority']]); return $issue; }