Skip to content

Commit

Permalink
Enhance input validation in ShieldsIo class (#215)
Browse files Browse the repository at this point in the history
* Update ShieldsIo.php

* style: format code with PHP CS Fixer

This commit fixes the style issues introduced in fdd8858 according to the output
from PHP CS Fixer.

Details: #215

* Update ShieldsIo.php

* Update ShieldsIo.php

* Update ShieldsIo.php

---------

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
  • Loading branch information
guibranco and deepsource-autofix[bot] authored Aug 28, 2024
1 parent 8a380b6 commit 1f8a079
Showing 1 changed file with 21 additions and 25 deletions.
46 changes: 21 additions & 25 deletions src/ShieldsIo.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,36 +15,32 @@ private function encodeShieldsIoParameters($input)
return $input;
}

public function generateBadgeUrl($label, $content, $color, $style, $labelColor, $logo)
private function addComponent($component, &$badge)
{
$badge = array();

if (isset($label) && !empty($label)) {
$label = $this->encodeShieldsIoParameters($label);
$badge[] = $label;
}

if (isset($content) && !empty($content)) {
$content = $this->encodeShieldsIoParameters($content);
$badge[] = $content;
}

if (isset($color) && !empty($color)) {
$badge[] = $color;
}

$queryString = array();
if (isset($style) && !empty($style)) {
$queryString["style"] = $style;
if (isset($component) && (empty($component) === false || $component === 0)) {
$value = $this->encodeShieldsIoParameters($component);
$badge[] = $value;
}
}

if (isset($labelColor) && !empty($labelColor)) {
$queryString["labelColor"] = $labelColor;
private function addQueryString($component, $key, &$queryString)
{
if (isset($component) && empty($component) === false) {
$queryString[$key] = $component;
}
}

if (isset($logo) && !empty($logo)) {
$queryString["logo"] = $logo;
}
public function generateBadgeUrl($label, $content, $color, $style, $labelColor, $logo)
{
$badge = [];
$this->addComponent($label, $badge);
$this->addComponent($content, $badge);
$this->addComponent($color, $badge);

$queryString = [];
$this->addQueryString($style, "style", $queryString);
$this->addQueryString($labelColor, "labelColor", $queryString);
$this->addQueryString($logo, "logo", $queryString);

return "https://img.shields.io/badge/" . implode("-", $badge) . "?" . http_build_query($queryString);
}
Expand Down

0 comments on commit 1f8a079

Please sign in to comment.