mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
fix: outsource bildKopierenAngepasst method to be reused from within script.php
chore: move and rename install.php to root path and rename to script.php
This commit is contained in:
@@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
function bildKopierenAngepasst($quelle, $ziel, $ziel_breite, $ziel_hoehe, $zuschneiden)
|
||||||
|
{
|
||||||
|
$len = strlen($ziel);
|
||||||
|
if ($len < 4 || $ziel[$len - 4] != ".")
|
||||||
|
return false;
|
||||||
|
$ext = strtolower(substr($ziel, $len - 3));
|
||||||
|
if ($ext != "jpg" && $ext != "png")
|
||||||
|
return false;
|
||||||
|
$quelle_image = $ext == "png" ? imagecreatefrompng($quelle) : imagecreatefromjpeg($quelle);
|
||||||
|
if ($quelle_image === false)
|
||||||
|
return false;
|
||||||
|
$quelle_breite = imagesx($quelle_image);
|
||||||
|
$quelle_hoehe = imagesy($quelle_image);
|
||||||
|
if ($quelle_breite == $ziel_breite && $quelle_hoehe == $ziel_hoehe)
|
||||||
|
return JFile::copy($quelle, $ziel);
|
||||||
|
|
||||||
|
$ziel_image = imagecreatetruecolor($ziel_breite, $ziel_hoehe);
|
||||||
|
$hintergrund = $ext == "png" ? imagecolorallocatealpha($ziel_image, 0, 0, 0, 127) : imagecolorallocate($ziel_image, 64, 64, 64);
|
||||||
|
imagefill($ziel_image, 0, 0, $hintergrund);
|
||||||
|
$quelle_proportionen = $quelle_breite / $quelle_hoehe;
|
||||||
|
$ziel_proportionen = $ziel_breite / $ziel_hoehe;
|
||||||
|
if ($zuschneiden) {
|
||||||
|
if ($ziel_proportionen >= $quelle_proportionen) {
|
||||||
|
$quelle_teilhoehe = round($quelle_breite / $ziel_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, 0, 0, 0, round(($quelle_hoehe - $quelle_teilhoehe) / 2), $ziel_breite, $ziel_hoehe, $quelle_breite, $quelle_teilhoehe))
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$quelle_teilbreite = round($quelle_hoehe * $ziel_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, 0, 0, round(($quelle_breite - $quelle_teilbreite) / 2), 0, $ziel_breite, $ziel_hoehe, $quelle_teilbreite, $quelle_hoehe))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($ziel_proportionen >= $quelle_proportionen) {
|
||||||
|
$ziel_teilbreite = round($ziel_hoehe * $quelle_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, round(($ziel_breite - $ziel_teilbreite) / 2), 0, 0, 0, $ziel_teilbreite, $ziel_hoehe, $quelle_breite, $quelle_hoehe))
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$ziel_teilhoehe = round($ziel_breite / $quelle_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, 0, round(($ziel_hoehe - $ziel_teilhoehe) / 2), 0, 0, $ziel_breite, $ziel_teilhoehe, $quelle_breite, $quelle_hoehe))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ob_start();
|
||||||
|
if ($ext == "png") {
|
||||||
|
imagesavealpha($ziel_image, true);
|
||||||
|
if (!imagepng($ziel_image))
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
if (!imagejpeg($ziel_image))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$output = ob_get_contents();
|
||||||
|
ob_end_clean();
|
||||||
|
JFile::write($ziel, $output);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
||||||
+47
-47
@@ -11,51 +11,7 @@ class com_sportsmanagerInstallerScript
|
|||||||
{
|
{
|
||||||
function install($parent)
|
function install($parent)
|
||||||
{
|
{
|
||||||
if (!$this->database_exists()) {
|
// not used
|
||||||
$this->create_database();
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaften', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftsmitglieder', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'vereine', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'import', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'export', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'terminsymbole', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftswettbewerbe', 0777))
|
|
||||||
echo '<p>Error: Image directory cannot be created!</p>';
|
|
||||||
|
|
||||||
$pfad = JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine'.DIRECTORY_SEPARATOR.'.htaccess';
|
|
||||||
$inhalt = "# Dokumente der Terminverwaltung\n"
|
|
||||||
. "Deny from all\n";
|
|
||||||
if (file_put_contents($pfad, $inhalt) === FALSE)
|
|
||||||
echo '<p>Fehler: Anlegen der .htaccess-Datei im Termineverzeichnis ist gescheitert!</p>';
|
|
||||||
|
|
||||||
if (!bildKopierenAngepasst(JPATH_ROOT.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_sportsmanager'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'spieler-m.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'m.png', 180, 240, 1))
|
|
||||||
die('Das Bild konnte nicht an die Zielposition kopiert werden.');
|
|
||||||
|
|
||||||
if (!bildKopierenAngepasst(JPATH_ROOT.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_sportsmanager'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'spieler-w.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'w.png', 180, 240, 1))
|
|
||||||
die('Das Bild konnte nicht an die Zielposition kopiert werden.');
|
|
||||||
}
|
|
||||||
$parent->getParent()->setRedirectURL('index.php?option=com_sportsmanager');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function uninstall($parent)
|
function uninstall($parent)
|
||||||
@@ -80,6 +36,52 @@ class com_sportsmanagerInstallerScript
|
|||||||
|
|
||||||
function postflight($type, $parent)
|
function postflight($type, $parent)
|
||||||
{
|
{
|
||||||
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
||||||
|
if (!$this->database_exists()) {
|
||||||
|
$this->create_database();
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaften', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftsmitglieder', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'vereine', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'import', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'export', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'terminsymbole', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
if (!JFolder::create(JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'mannschaftswettbewerbe', 0777))
|
||||||
|
echo '<p>Error: Image directory cannot be created!</p>';
|
||||||
|
|
||||||
|
$pfad = JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'termine'.DIRECTORY_SEPARATOR.'.htaccess';
|
||||||
|
$inhalt = "# Dokumente der Terminverwaltung\n"
|
||||||
|
. "Deny from all\n";
|
||||||
|
if (file_put_contents($pfad, $inhalt) === FALSE)
|
||||||
|
echo '<p>Fehler: Anlegen der .htaccess-Datei im Termineverzeichnis ist gescheitert!</p>';
|
||||||
|
|
||||||
|
if (!bildKopierenAngepasst(JPATH_ROOT.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_sportsmanager'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'spieler-m.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'m.png', 180, 240, 1))
|
||||||
|
die('Das Bild konnte nicht an die Zielposition kopiert werden.');
|
||||||
|
|
||||||
|
if (!bildKopierenAngepasst(JPATH_ROOT.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_sportsmanager'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'spieler-w.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'w.png', 180, 240, 1))
|
||||||
|
die('Das Bild konnte nicht an die Zielposition kopiert werden.');
|
||||||
|
}
|
||||||
|
$parent->getParent()->setRedirectURL('index.php?option=com_sportsmanager');
|
||||||
// echo '<p>' . JText::_('COM_SPORTSMANAGER_POSTFLIGHT_' . $type . '_TEXT') . '</p>';
|
// echo '<p>' . JText::_('COM_SPORTSMANAGER_POSTFLIGHT_' . $type . '_TEXT') . '</p>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1599,5 +1601,3 @@ class com_sportsmanagerInstallerScript
|
|||||||
if (!$result = $db->execute()) { die($db->stderr(true)); }
|
if (!$result = $db->execute()) { die($db->stderr(true)); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
Reference in New Issue
Block a user