t('Finds: %1 Hidden: %2', '', '', 0, '', 0, $lang); $text_counterstat = str_replace('%1', $found, $text_counterstat); $text_counterstat = str_replace('%2', $hidden, $text_counterstat); } else { $userid = 0; $username = $translate->t('', '', '', 0, '', 0, $lang); $found = 0; $hidden = 0; $logo = 0; $logotext = 'Opencaching'; } sql_free_result($rs); $filename = GetFilename($userid, $lang); // Bild existiert nicht => neu erstellen $rs = sql("SELECT `tplpath`, `maxtextwidth` FROM `statpics` WHERE `id`='&1'", $logo); if (sql_num_rows($rs) == 1) { $record = sql_fetch_array($rs); $tplpath = $opt['rootpath'] . $record['tplpath']; $maxtextwidth = $record['maxtextwidth']; } else { $tplpath = $opt['rootpath'] . 'images/ocstats1.gif'; $maxtextwidth = 60; $logo = 1; } sql_free_result($rs); $im = ImageCreateFromGIF($tplpath); $clrWhite = ImageColorAllocate($im, 255, 255, 255); $clrBorder = ImageColorAllocate($im, 70, 70, 70); $clrBlack = ImageColorAllocate($im, 0, 0, 0); $clrBlue = ImageColorAllocate($im, 0, 0, 255); $drawRectangle = true; switch ($logo) { case 4: case 5: case 10: // write text $fontsize = 10; $text = $username; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 15, $clrBlack, $fontfile, $text); $fontsize = 7.5; $text = $text_counterstat; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 32, $clrBlack, $fontfile, $text); break; case 2: // write text $fontsize = 10; $text = $username; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 15, $clrBlack, $fontfile, $text); $fontsize = 7; $textsize = imagettfbbox($fontsize, 0, $fontfile, $logotext); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 29, $clrBlack, $fontfile, $logotext); $fontsize = 7.5; $text = $text_counterstat; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 45, $clrBlack, $fontfile, $text); break; case 6: case 7: case 11: // write text $fontsize = 10; $text = $username; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 15, $clrBlack, $fontfile, $text); $fontsize = 7.5; $textsize = imagettfbbox($fontsize, 0, $fontfile, $logotext); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 32, $clrBlack, $fontfile, $logotext); break; case 8: // write text $fontsize = 10; $text = $username; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-8 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-8 : $maxtextwidth, 20, $clrBlack, $fontfile, $text); $fontsize = 8; $text = $text_counterstat; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-12 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-12 : $maxtextwidth, 39, $clrBlack, $fontfile, $text); $drawRectangle = false; break; case 1: case 9: default: // write text $fontsize = 10; $text = $username; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 15, $clrBlack, $fontfile, $text); $fontsize = 7; $text = $text_counterstat; $textsize = imagettfbbox($fontsize, 0, $fontfile, $text); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 29, $clrBlack, $fontfile, $text); $fontsize = 8; $textsize = imagettfbbox($fontsize, 0, $fontfile, $logotext); ImageTTFText($im, $fontsize, 0, (imagesx($im)-($textsize[2]-$textsize[0])-5 > $maxtextwidth) ? imagesx($im)-($textsize[2]-$textsize[0])-5 : $maxtextwidth, 45, $clrBlack, $fontfile, $logotext); } if ($drawRectangle == true) { // draw border ImageRectangle($im, 0, 0, imagesx($im)-1, imagesy($im)-1, $clrBorder); } // write output Imagejpeg($im, $filename, $jpeg_qualitaet); ImageDestroy($im); sql("INSERT INTO `user_statpic` (`user_id`, `lang`) VALUES ('&1', '&2') ON DUPLICATE KEY UPDATE `date_created`=NOW()", $userid, $lang); } // Redirect auf das gespeicherte Bild $tpl->redirect('images/statpics/statpic' . $userid . $lang . '.jpg'); function GetFilename($userid, $lang) { global $opt; return $opt['rootpath'] . 'images/statpics/statpic' . $userid . $lang . '.jpg'; } ?>