diff --git a/src/structure/components/com_sportsmanager/util/image.php b/src/structure/components/com_sportsmanager/util/image.php index f6a0fd4..e9fcedb 100644 --- a/src/structure/components/com_sportsmanager/util/image.php +++ b/src/structure/components/com_sportsmanager/util/image.php @@ -3,9 +3,13 @@ use JetBrains\PhpStorm\NoReturn; use Joomla\CMS\Application\SiteApplication; use Joomla\CMS\Factory; +use Joomla\CMS\Uri\Uri; use Joomla\Filesystem\File; use Joomla\Filesystem\Folder; +const SPORTSMANAGER_JOOMLA_PATH = JPATH_ROOT; +define("SPORTSMANAGER_JOOMLA_URL", Uri::base()); + function bildKopierenAngepasst($quelle, $ziel, $ziel_breite, $ziel_hoehe, $zuschneiden): bool { $len = strlen($ziel); @@ -65,7 +69,6 @@ function bildKopierenAngepasst($quelle, $ziel, $ziel_breite, $ziel_hoehe, $zusch #[NoReturn] function bildAnpassen($typ, $id = 0): void { - global $sportsmanager_joomla_path; $jInput = Factory::getContainer()->get(SiteApplication::class)->input; if (empty($id)) @@ -76,7 +79,7 @@ function bildKopierenAngepasst($quelle, $ziel, $ziel_breite, $ziel_hoehe, $zusch $max_height = $jInput->get('mh', 0, 'INT'); $no_cache = $jInput->get('nc', 0, 'INT'); - $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ . DIRECTORY_SEPARATOR . $id . '.'; + $pfad = SPORTSMANAGER_JOOMLA_PATH . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ . DIRECTORY_SEPARATOR . $id . '.'; if (File::exists($pfad . 'png')) $ext = "png"; else if (File::exists($pfad . 'jpg')) @@ -163,11 +166,10 @@ function bildKopierenAngepasst($quelle, $ziel, $ziel_breite, $ziel_hoehe, $zusch function bildLoeschen($typ, $id): void { - global $sportsmanager_joomla_path; $typ_exploded = explode("/", $typ); $typ = $typ_exploded[0]; $typ_prefix = count($typ_exploded) > 1 ? $typ_exploded[1] : ""; - $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ; + $bilder_pfad = SPORTSMANAGER_JOOMLA_PATH . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ; $pfad = $bilder_pfad . '/' . $typ_prefix . $id . "."; if (!is_file($pfad . 'png') && !is_file($pfad . 'jpg')) return; @@ -178,11 +180,10 @@ function bildLoeschen($typ, $id): void function bildIdentisch($typ1, $id1, $typ2, $id2): bool { - global $sportsmanager_joomla_path; $typ1_exploded = explode("/", $typ1); $typ1 = $typ1_exploded[0]; $typ1_prefix = count($typ1_exploded) > 1 ? $typ1_exploded[1] : ""; - $bilder_pfad1 = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ1; + $bilder_pfad1 = SPORTSMANAGER_JOOMLA_PATH . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ1; $pfad1 = $bilder_pfad1 . '/' . $typ1_prefix . $id1 . "."; if (is_file($pfad1 . "png")) $ext = "png"; @@ -195,7 +196,7 @@ function bildIdentisch($typ1, $id1, $typ2, $id2): bool $typ2_exploded = explode("/", $typ2); $typ2 = $typ2_exploded[0]; $typ2_prefix = count($typ2_exploded) > 1 ? $typ2_exploded[1] : ""; - $bilder_pfad2 = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ2; + $bilder_pfad2 = SPORTSMANAGER_JOOMLA_PATH . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . $typ2; $pfad2 = $bilder_pfad2 . '/' . $typ2_prefix . $id2 . "." . $ext; return files_identical($pfad1, $pfad2); @@ -257,21 +258,18 @@ function playerImage($playerId, $gender, $width = 180, $height = 240): ?string function bildURL($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, $max_height = 0, $alternativ = ""): ?string { - global $sportsmanager_joomla_path; - global $sportsmanager_joomla_url; - $typ_exploded = explode("/", $typ); $typ = $typ_exploded[0]; $typ_prefix = count($typ_exploded) > 1 ? $typ_exploded[1] : ""; - $pfad = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; + $pfad = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; if (is_file($pfad . "png")) $ext = "png"; else if (is_file($pfad . "jpg")) $ext = "jpg"; else if (!empty($alternativ)) { $id = $alternativ; - $pfad = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; + $pfad = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; if (is_file($pfad . "png")) $ext = "png"; else if (is_file($pfad . "jpg")) @@ -285,9 +283,9 @@ function bildURL($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, $time = filemtime($pfad . $ext); if ($fixed_width > 0 && $fixed_height > 0) { - $pfad_angepasst = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $fixed_width . "H" . $fixed_height . "." . $ext; + $pfad_angepasst = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $fixed_width . "H" . $fixed_height . "." . $ext; if (is_file($pfad_angepasst)) { - return $sportsmanager_joomla_url . 'images/sportsmanager/' . $typ . '/' . basename($pfad_angepasst); + return SPORTSMANAGER_JOOMLA_URL . 'images/sportsmanager/' . $typ . '/' . basename($pfad_angepasst); } } @@ -299,13 +297,13 @@ function bildURL($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, $max_height = $fixed_height > 0 ? $fixed_height : $max_height; if (($fixed_width == 0 || $width == $fixed_width) && ($fixed_height == 0 || $height == $fixed_height) && ($fixed_width != 0 || $max_width == 0 || $width <= $max_width) && ($fixed_height != 0 || $max_height == 0 || $height <= $max_height)) { - $pfad_angepasst = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $width . "H" . $height . "." . $ext; + $pfad_angepasst = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $width . "H" . $height . "." . $ext; if (!is_file($pfad_angepasst)) { if (!copy($pfad . $ext, $pfad_angepasst)) return null; } - return $sportsmanager_joomla_url . 'images/sportsmanager/' . $typ . '/' . basename($pfad_angepasst); + return SPORTSMANAGER_JOOMLA_URL . 'images/sportsmanager/' . $typ . '/' . basename($pfad_angepasst); } $new_width = $width; @@ -325,7 +323,7 @@ function bildURL($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, if ($max_height > 0 && (($max_height - $new_height) % 2) == 1) // Toleranz bei nur 1 Pixel Unterschied $new_height += 1; - $pfad_angepasst = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . max($fixed_width, $new_width) . "H" . max($fixed_height, $new_height) . "." . $ext; + $pfad_angepasst = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . max($fixed_width, $new_width) . "H" . max($fixed_height, $new_height) . "." . $ext; if (!is_file($pfad_angepasst)) { $image = $ext == "png" ? imagecreatefrompng($pfad . $ext) : imagecreatefromjpeg($pfad . $ext); @@ -344,7 +342,7 @@ function bildURL($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, imagejpeg($image_resized, $pfad_angepasst); } - return $sportsmanager_joomla_url . 'images/sportsmanager/' . $typ . '/' . basename($pfad_angepasst); + return SPORTSMANAGER_JOOMLA_URL . 'images/sportsmanager/' . $typ . '/' . basename($pfad_angepasst); } /* @@ -362,12 +360,10 @@ function bildURL($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, */ function yoothemeBild($typ, $id, $alternativ, $resize = '', $zusatz = ""): ?string { - global $sportsmanager_joomla_path; - $typ_exploded = explode("/", $typ); $typ = $typ_exploded[0]; $typ_prefix = count($typ_exploded) > 1 ? $typ_exploded[1] : ""; - $pfad = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; + $pfad = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; if (is_file($pfad . "png")) $ext = "png"; @@ -375,7 +371,7 @@ function yoothemeBild($typ, $id, $alternativ, $resize = '', $zusatz = ""): ?stri $ext = "jpg"; else if (!empty($alternativ)) { $id = $alternativ; - $pfad = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; + $pfad = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; if (is_file($pfad . "png")) $ext = "png"; else if (is_file($pfad . "jpg")) @@ -386,28 +382,25 @@ function yoothemeBild($typ, $id, $alternativ, $resize = '', $zusatz = ""): ?stri else return null; - $bildpfad = "images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext; + $bildpfad = "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext; return ''; } function bildHTML($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, $max_height = 0, $zusatz = "", $alternativ = ""): ?string { - global $sportsmanager_joomla_path; - global $sportsmanager_joomla_url; - $typ_exploded = explode("/", $typ); $typ = $typ_exploded[0]; $typ_prefix = count($typ_exploded) > 1 ? $typ_exploded[1] : ""; - $pfad = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; + $pfad = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; if (is_file($pfad . "png")) $ext = "png"; else if (is_file($pfad . "jpg")) $ext = "jpg"; else if (!empty($alternativ)) { $id = $alternativ; - $pfad = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; + $pfad = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "."; if (is_file($pfad . "png")) $ext = "png"; else if (is_file($pfad . "jpg")) @@ -421,9 +414,9 @@ function bildHTML($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0 $time = filemtime($pfad . $ext); if ($fixed_width > 0 && $fixed_height > 0) { - $pfad_angepasst = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $fixed_width . "H" . $fixed_height . "." . $ext; + $pfad_angepasst = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $fixed_width . "H" . $fixed_height . "." . $ext; if (is_file($pfad_angepasst)) { - return ''; + return ''; } } @@ -435,13 +428,13 @@ function bildHTML($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0 $max_height = $fixed_height > 0 ? $fixed_height : $max_height; if (($fixed_width == 0 || $width == $fixed_width) && ($fixed_height == 0 || $height == $fixed_height) && ($fixed_width != 0 || $max_width == 0 || $width <= $max_width) && ($fixed_height != 0 || $max_height == 0 || $height <= $max_height)) { - $pfad_angepasst = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $width . "H" . $height . "." . $ext; + $pfad_angepasst = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . $width . "H" . $height . "." . $ext; if (!is_file($pfad_angepasst)) { if (!copy($pfad . $ext, $pfad_angepasst)) return null; } - return ''; + return ''; } $new_width = $width; @@ -461,7 +454,7 @@ function bildHTML($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0 if ($max_height > 0 && (($max_height - $new_height) % 2) == 1) // Toleranz bei nur 1 Pixel Unterschied $new_height += 1; - $pfad_angepasst = $sportsmanager_joomla_path . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . max($fixed_width, $new_width) . "H" . max($fixed_height, $new_height) . "." . $ext; + $pfad_angepasst = SPORTSMANAGER_JOOMLA_PATH . "/images/sportsmanager/" . $typ . "/" . $typ_prefix . "I" . $id . "T" . $time . "W" . max($fixed_width, $new_width) . "H" . max($fixed_height, $new_height) . "." . $ext; if (!is_file($pfad_angepasst)) { $image = $ext == "png" ? imagecreatefrompng($pfad . $ext) : imagecreatefromjpeg($pfad . $ext); @@ -480,5 +473,5 @@ function bildHTML($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0 imagejpeg($image_resized, $pfad_angepasst); } - return ''; + return ''; }