GET['user'] ?? ''; $hg = $_GET['hintergrund']; // Dateinamen entfernen $dateiname = stristr($username,'.'); $username = str_replace($dateiname,'',$username); $dateiname2 = stristr($hg,'.'); $hg = str_replace($dateiname2,'',$hg); if ($hg == '') // Hier wird ein bestimmter Typ vorgeschrieben wenn kein HG vorgegeben ist { $stunde = date("H"); if($stunde > '6' && $stunde < '20') // Je nach Uhrzeit kommt ein weisser oder schwarzer HG { $hg = 'weiss'; } else { $hg = 'schwarz'; } } if($hg != 'weiss' && $hg != 'schwarz' && $hg != 'pink') { $fehler = 1; } if (strlen($dateiname) > '5'||!preg_match('/^([.a-zA-Z]+)$/',$dateiname) && $dateiname != '') { $fehler = 1; } elseif (strlen($dateiname2) > '5'||!preg_match('/^([.a-zA-Z]+)$/',$dateiname2) && $dateiname2 != '') { $fehler = 1; } function bildanzeigen ($bildort) { global $fehlerbild; if(!$bildort || !file_exists($bildort)) { $bildort = $fehlerbild; } if ($bildort && file_exists($bildort)) { header("Content-Type: image/jpeg"); readfile($bildort); } } if ($bildort && file_exists($bildort)) { header("Content-Type: image/jpeg"); readfile($bildort); } } else { $bildort = $fehlerbild; } $mime = system('file -i -b $bildort'); header("Content-Type: $mime"); sleep(1); readfile($bildort); } function bilderstellen($befehl,$ausgabe) { exec("/usr/bin/convert $befehl $ausgabe"); } if($username != '' && preg_match('/^([a-zA-Z0-9-_]+)$/',$username) && strlen($username) <= '20' && $fehler == '0') { $userbannerbild = $bildpfad.$username.'_'.$hg.'.jpg'; $erneuerungszeit = time() - 3600*24; // 24 h Erneuerung if(!file_exists($userbannerbild)||file_exists($userbannerbild) && (filemtime($userbannerbild) < $erneuerungszeit)) { // Datenbank kontaktieren und Daten holen $connection = mysqli_connect ($hoster, $benutzername, $datenbank_passwort); mysqli_select_db($connection, $datenbank); $link = mysqli_query($connection, 'SELECT rang,deckposition,quartierposition,letzterlogin,zeit,nickname FROM users WHERE nickname="'.$username.'"'); $zahl = mysqli_num_rows($link); if ($zahl != '1') { $fehler = 1; } else { $userwert = mysqli_fetch_array($link); $username = $userwert[5]; $userorginalbild = $_SERVER['DOCUMENT_ROOT'].'/community/graphics/usergraphics/vorschaubilder/'.$username.'.jpg'; $userthumb = $bildpfad.'userbild/'.$username.'.jpg'; $userbannerbild = $bildpfad.$username.'_'.$hg.'.jpg'; } if(!file_exists($userbannerbild)||file_exists($userbannerbild) && (filemtime($userbannerbild) < $erneuerungszeit)) { if (file_exists($userorginalbild) && $fehler == '0') // Thumbnail ohne Rahmen erstellen { if(file_exists($userthumb) && (filemtime($userthumb) < filemtime($userorginalbild))||!file_exists($userthumb)) { $befehl = "$userorginalbild -resize 65x65"; $ausgabe = $userthumb; bilderstellen($befehl,$ausgabe); } } else { $userthumb = ''; } // Hintergundbild mit STVC - Schriftzug /* if ($modus == 'hintergrundbild' && $fehler == '0') // Weisser HG { $befehl = "convert -size 460x65 xc:white -font FinalFrontier -pointsize 40 -annotate +20+60 'STVC' -blur 0x4 -fill '#99ccff' -stroke black -annotate +20+55 'STVC'"; bilderstellen($befehl,$hintergrundbild_weiss); bildanzeigen ($hintergrundbild_weiss); } if ($modus == 'hintergrundbild' && $fehler == '0') // Schwarzer HG { $befehl = "convert -size 460x65 xc:black -font FinalFrontier -pointsize 40 -annotate +20+60 'STVC' -blur 0x5 -fill '#99ccff' -annotate +20+55 'STVC'"; bilderstellen($befehl,$hintergrundbild_schwarz); bildanzeigen ($hintergrundbild_schwarz); } if ($modus == 'hintergrundbild' && $fehler == '0') // Pinker HG { $befehl = "convert -size 460x65 xc:pink -font FinalFrontier -pointsize 40 -annotate +20+60 'STVC' -blur 0x5 -fill '#99ccff' -annotate +20+55 'STVC'"; bilderstellen($befehl,$hintergrundbild_pink); bildanzeigen ($hintergrundbild_pink); } */ // User Banner mit eigenem Bild auf vorgefertigten Hintergrundbild if ($fehler == '0') { $rang = $userwert[0]; $rang = html_entity_decode($rang); $rang = str_replace("ä","ae",$rang); $rang = mb_convert_encoding($rang, 'ISO-8859-1', 'UTF-8'); $rang = str_replace("_"," ",$rang); $username = str_replace("_"," ",$username); $deck = $userwert[1]; $quartier = $userwert[2]; $letzterlogin = date("d.m.Y",$userwert[3]); $anmeldung = date("d.m.Y",$userwert[4]); $comment = " -comment '(c) STVC [http://www.voyager-center.de] Userbild von '".$username."' mit Farbtyp '".$hg."''"; if($hg == 'weiss') // Fuer jede Hintergrundfarbe das passende Oberteil { $befehl = "-size 460x65 $hintergrundbild_weiss -pointsize 20 -font FinalFrontier -tile gradient:'black'-'black' -annotate +20+20 '$rang $username' -annotate +160+40 '$anmeldung -' -annotate +280+40 '$letzterlogin' -annotate +160+60 'Deck: $deck Quartier: $quartier' $userthumb -geometry +395+0 -composite $comment"; } elseif($hg == 'schwarz') { $befehl = "-size 460x65 $hintergrundbild_schwarz -pointsize 20 -font FinalFrontier -tile gradient:'white'-'white' -annotate +20+20 '$rang $username' -annotate +160+40 '$anmeldung -' -annotate +280+40 '$letzterlogin' -annotate +160+60 'Deck: $deck Quartier: $quartier' $userthumb -geometry +395+0 -composite $comment"; } elseif($hg == 'pink') { $befehl = "-size 460x65 $hintergrundbild_pink -pointsize 20 -font FinalFrontier -tile gradient:'pink'-'pink' -annotate +20+20 '$rang $username' -annotate +160+40 '$anmeldung -' -annotate +280+40 '$letzterlogin' -annotate +160+60 'Deck: $deck Quartier: $quartier' $userthumb -geometry +395+0 -composite $comment"; } bilderstellen($befehl,$userbannerbild); } } } } // Ende Bild Generierung else // Username ist falsch oder zu lang => Fehler { $fehler = 1; } if ($fehler == '0' && $modus == '') // Keine Fehler - das Bild kann ausgegeben werden. { bildanzeigen($userbannerbild); } if ($fehler == '1') // Wenn ein Fehler entstanden ist, kommt das STVC Logo als Fehlerbild. { bildanzeigen($fehlerbild); } ?>GET['hintergrund'] ?? ''; // Dateinamen entfernen $dateiname = stristr($username,'.'); $username = str_replace($dateiname,'',$username); $dateiname2 = stristr($hg,'.'); $hg = str_replace($dateiname2,'',$hg); if ($hg == '') // Hier wird ein bestimmter Typ vorgeschrieben wenn kein HG vorgegeben ist { $stunde = date("H"); if($stunde > '6' && $stunde < '20') // Je nach Uhrzeit kommt ein weisser oder schwarzer HG { $hg = 'weiss'; } else { $hg = 'schwarz'; } } if($hg != 'weiss' && $hg != 'schwarz' && $hg != 'pink') { $fehler = 1; } if (strlen($dateiname) > '5'||!preg_match('/^([.a-zA-Z]+)$/',$dateiname) && $dateiname != '') { $fehler = 1; } elseif (strlen($dateiname2) > '5'||!preg_match('/^([.a-zA-Z]+)$/',$dateiname2) && $dateiname2 != '') { $fehler = 1; } function bildanzeigen ($bildort) { global $fehlerbild; if(!$bildort || !file_exists($bildort)) { $bildort = $fehlerbild; } if ($bildort && file_exists($bildort)) { header("Content-Type: image/jpeg"); readfile($bildort); } } if ($bildort && file_exists($bildort)) { header("Content-Type: image/jpeg"); readfile($bildort); } } else { $bildort = $fehlerbild; } $mime = system('file -i -b $bildort'); header("Content-Type: $mime"); sleep(1); readfile($bildort); } function bilderstellen($befehl,$ausgabe) { exec("/usr/bin/convert $befehl $ausgabe"); } if($username != '' && preg_match('/^([a-zA-Z0-9-_]+)$/',$username) && strlen($username) <= '20' && $fehler == '0') { $userbannerbild = $bildpfad.$username.'_'.$hg.'.jpg'; $erneuerungszeit = time() - 3600*24; // 24 h Erneuerung if(!file_exists($userbannerbild)||file_exists($userbannerbild) && (filemtime($userbannerbild) < $erneuerungszeit)) { // Datenbank kontaktieren und Daten holen $connection = mysqli_connect ($hoster, $benutzername, $datenbank_passwort); mysqli_select_db($connection, $datenbank); $link = mysqli_query($connection, 'SELECT rang,deckposition,quartierposition,letzterlogin,zeit,nickname FROM users WHERE nickname="'.$username.'"'); $zahl = mysqli_num_rows($link); if ($zahl != '1') { $fehler = 1; } else { $userwert = mysqli_fetch_array($link); $username = $userwert[5]; $userorginalbild = $_SERVER['DOCUMENT_ROOT'].'/community/graphics/usergraphics/vorschaubilder/'.$username.'.jpg'; $userthumb = $bildpfad.'userbild/'.$username.'.jpg'; $userbannerbild = $bildpfad.$username.'_'.$hg.'.jpg'; } if(!file_exists($userbannerbild)||file_exists($userbannerbild) && (filemtime($userbannerbild) < $erneuerungszeit)) { if (file_exists($userorginalbild) && $fehler == '0') // Thumbnail ohne Rahmen erstellen { if(file_exists($userthumb) && (filemtime($userthumb) < filemtime($userorginalbild))||!file_exists($userthumb)) { $befehl = "$userorginalbild -resize 65x65"; $ausgabe = $userthumb; bilderstellen($befehl,$ausgabe); } } else { $userthumb = ''; } // Hintergundbild mit STVC - Schriftzug /* if ($modus == 'hintergrundbild' && $fehler == '0') // Weisser HG { $befehl = "convert -size 460x65 xc:white -font FinalFrontier -pointsize 40 -annotate +20+60 'STVC' -blur 0x4 -fill '#99ccff' -stroke black -annotate +20+55 'STVC'"; bilderstellen($befehl,$hintergrundbild_weiss); bildanzeigen ($hintergrundbild_weiss); } if ($modus == 'hintergrundbild' && $fehler == '0') // Schwarzer HG { $befehl = "convert -size 460x65 xc:black -font FinalFrontier -pointsize 40 -annotate +20+60 'STVC' -blur 0x5 -fill '#99ccff' -annotate +20+55 'STVC'"; bilderstellen($befehl,$hintergrundbild_schwarz); bildanzeigen ($hintergrundbild_schwarz); } if ($modus == 'hintergrundbild' && $fehler == '0') // Pinker HG { $befehl = "convert -size 460x65 xc:pink -font FinalFrontier -pointsize 40 -annotate +20+60 'STVC' -blur 0x5 -fill '#99ccff' -annotate +20+55 'STVC'"; bilderstellen($befehl,$hintergrundbild_pink); bildanzeigen ($hintergrundbild_pink); } */ // User Banner mit eigenem Bild auf vorgefertigten Hintergrundbild if ($fehler == '0') { $rang = $userwert[0]; $rang = html_entity_decode($rang); $rang = str_replace("ä","ae",$rang); $rang = mb_convert_encoding($rang, 'ISO-8859-1', 'UTF-8'); $rang = str_replace("_"," ",$rang); $username = str_replace("_"," ",$username); $deck = $userwert[1]; $quartier = $userwert[2]; $letzterlogin = date("d.m.Y",$userwert[3]); $anmeldung = date("d.m.Y",$userwert[4]); $comment = " -comment '(c) STVC [http://www.voyager-center.de] Userbild von '".$username."' mit Farbtyp '".$hg."''"; if($hg == 'weiss') // Fuer jede Hintergrundfarbe das passende Oberteil { $befehl = "-size 460x65 $hintergrundbild_weiss -pointsize 20 -font FinalFrontier -tile gradient:'black'-'black' -annotate +20+20 '$rang $username' -annotate +160+40 '$anmeldung -' -annotate +280+40 '$letzterlogin' -annotate +160+60 'Deck: $deck Quartier: $quartier' $userthumb -geometry +395+0 -composite $comment"; } elseif($hg == 'schwarz') { $befehl = "-size 460x65 $hintergrundbild_schwarz -pointsize 20 -font FinalFrontier -tile gradient:'white'-'white' -annotate +20+20 '$rang $username' -annotate +160+40 '$anmeldung -' -annotate +280+40 '$letzterlogin' -annotate +160+60 'Deck: $deck Quartier: $quartier' $userthumb -geometry +395+0 -composite $comment"; } elseif($hg == 'pink') { $befehl = "-size 460x65 $hintergrundbild_pink -pointsize 20 -font FinalFrontier -tile gradient:'pink'-'pink' -annotate +20+20 '$rang $username' -annotate +160+40 '$anmeldung -' -annotate +280+40 '$letzterlogin' -annotate +160+60 'Deck: $deck Quartier: $quartier' $userthumb -geometry +395+0 -composite $comment"; } bilderstellen($befehl,$userbannerbild); } } } } // Ende Bild Generierung else // Username ist falsch oder zu lang => Fehler { $fehler = 1; } if ($fehler == '0' && $modus == '') // Keine Fehler - das Bild kann ausgegeben werden. { bildanzeigen($userbannerbild); } if ($fehler == '1') // Wenn ein Fehler entstanden ist, kommt das STVC Logo als Fehlerbild. { bildanzeigen($fehlerbild); } ?>