YourWBB


yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Hacks und Addons » Ähnliche Themen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 36.192 Views | | Thema zu Favoriten hinzufügen
Seiten (6): « vorherige 1 [2] 3 4 5 6 nächste »
Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Ähnliche Themen 7 Bewertungen - Durchschnitt: 7,297 Bewertungen - Durchschnitt: 7,29
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
slnet slnet ist männlich
Mitglied


images/avatars/avatar-5675.jpg

Dabei seit: 07.04.04
Beiträge: 260
Herkunft: Berlin
Forenversion: 3.1; 2.3

Antworten Zitieren Editieren Melden       UP

Hallo rellek,

ich habe ein Problem, meine ähnlichen Themen werden nicht angezeigt, leider nicht. Ich habe alles so gemacht wie du wolltest, leider wird nichts angezeigt.

Nur als Info, ich habe 6 Themen Erstellt mit den jeweiligen Topics "Test Thema 01 - 06" mit dem folgenden Inhalt "Test". Da müsste ja eigentlich etwas im Forum angezeigt werden oder?

Anlage ist die Thread.php und die Thread.tpl.

mfg
Sascha

PS: Hoffe auf eine baldige Lösung.

Dateianhang:
zip thread.php & thread.tpl.zip (11,05 KB, 1 mal heruntergeladen)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von slnet: 12.04.05 17:56.

12.04.05 17:56 slnet ist offline E-Mail Finden Als Freund hinzufügen Füge slnet in deine Kontaktliste ein
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Du hattest noch die Ur-Version drin - die hat so gut wie nichts gefunden.

Habe dir mal die Beta eingebaut, die sollte die Themen finden.

Dateianhang:
zip thread.php & thread.tpl.zip (11,36 KB, 31 mal heruntergeladen)
13.04.05 13:51 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
slnet slnet ist männlich
Mitglied


images/avatars/avatar-5675.jpg

Dabei seit: 07.04.04
Beiträge: 260
Herkunft: Berlin
Forenversion: 3.1; 2.3

Antworten Zitieren Editieren Melden       UP

Ich hatte diese genommen die in der Download Datenbank enthalten war... großes Grinsen
Ach ja danke schön, es funtzt jetzt großes Grinsen War es eigentlich ein einbaufehler? Nur für mich als rückmeldung großes Grinsen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von slnet: 13.04.05 14:55.

13.04.05 14:51 slnet ist offline E-Mail Finden Als Freund hinzufügen Füge slnet in deine Kontaktliste ein
Icebreaker3108 Icebreaker3108 ist männlich
Mitglied


Dabei seit: 19.01.04
Beiträge: 96
Forenversion: 2.1.3

Antworten Zitieren Editieren Melden       UP

Ey das kann doch net sein. Ich habe alles eingebaut, habe auch verschiedene Threads wie blablabla 1-10 usw. aber der findet nix. Wo könnte der Fehler sein?

Und von dem Betazeugs hab ich auch versucht, jetzt kommt ne Fehlermeldung wenn ich in Thread will:


Fatal error: Cannot redeclare getaccessableforums() (previously declared in /home/www/htdocs/icebreakers-page.de/wbb213/wbb2/thread.php:919) in /home/www/htdocs/icebreakers-page.de/wbb213/wbb2/thread.php on line 1019


Ist doch voll scheiße ey, echt

PS: Das Scheiss hier nimmt keine Dateianhänge von mir an, hö? Auch als zip net. Gibts doch net.

Hier die Thread.php:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
702:
703:
704:
705:
706:
707:
708:
709:
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721:
722:
723:
724:
725:
726:
727:
728:
729:
730:
731:
732:
733:
734:
735:
736:
737:
738:
739:
740:
741:
742:
743:
744:
745:
746:
747:
748:
749:
750:
751:
752:
753:
754:
755:
756:
757:
758:
759:
760:
761:
762:
763:
764:
765:
766:
767:
768:
769:
770:
771:
772:
773:
774:
775:
776:
777:
778:
779:
780:
781:
782:
783:
784:
785:
786:
787:
788:
789:
790:
791:
792:
793:
794:
795:
796:
797:
798:
799:
800:
801:
802:
803:
804:
805:
806:
807:
808:
809:
810:
811:
812:
813:
814:
815:
816:
817:
818:
819:
820:
821:
822:
823:
824:
825:
826:
827:
828:
829:
830:
831:
832:
833:
834:
835:
836:
837:
838:
839:
840:
841:
842:
843:
844:
845:
846:
847:
848:
849:
850:
851:
852:
853:
854:
855:
856:
857:
858:
859:
860:
861:
862:
863:
864:
865:
866:
867:
868:
869:
870:
871:
872:
873:
874:
875:
876:
877:
878:
879:
880:
881:
882:
883:
884:
885:
886:
887:
888:
889:
890:
891:
892:
893:
894:
895:
896:
897:
898:
899:
900:
901:
902:
903:
904:
905:
906:
907:
908:
909:
910:
911:
912:
913:
914:
915:
916:
917:
918:
919:
920:
921:
922:
923:
924:
925:
926:
927:
928:
929:
930:
931:
932:
933:
934:
935:
936:
937:
938:
939:
940:
941:
942:
943:
944:
945:
946:
947:
948:
949:
950:
951:
952:
953:
954:
955:
956:
957:
958:
959:
960:
961:
962:
963:
964:
965:
<?php 
// ************************************************************************************//
// * WoltLab Burning Board 2
// ************************************************************************************//
// * Copyright (c) 2001-2004 WoltLab GmbH
// * Web           http://www.woltlab.de/
// * License       http://www.woltlab.de/products/burning_board/license_en.php
// *               http://www.woltlab.de/products/burning_board/license.php
// ************************************************************************************//
// * WoltLab Burning Board 2 is NOT free software.
// * You may not redistribute this package or any of it's files.
// ************************************************************************************//
// * $Date: 2004-11-17 13:23:39 +0100 (Wed, 17 Nov 2004) $
// * $Author: Burntime $
// * $Rev: 1496 $
// ************************************************************************************//


$filename = 'thread.php';

require('./global.php');
require('./acp/lib/class_parse.php');
$lang->load('THREAD,MEMBERS');

if ((!isset($postid) && !isset($threadid)) || $thread['closed'] == 3) error($lang->get("LANG_GLOBAL_ERROR_FALSELINK", array('$adminmail' => $adminmail)));
if (!checkpermissions("can_read_thread")) access_error();






/** Thread Class **/
class Thread {
	/**
	* @var integer threadid
	*/
	var $threadid = 0;

	/**
	* @var string pagelink
	*/
	var $pagelink = "";

	/**
	* @var integer page
	*/
	var $page = 0;

	/**
	* @var integer pages
	*/
	var $pages = 0;

	/**
	* @var string postids
	*/
	var $postids = ""; 

	/**
	* @var string orderby
	*/
	var $orderBy = "";

	/**
	* @var array userfieldcache
	*/
	var $userfieldcache = array();

	/**
	* @var object parse
	*/
	var $parse;
	
	/**
	* @var array attachmentArray
	*/
	var $attachmentArray = array();
	
	/**
	* @var boolean readAttachments
	*/
	var $readAttachments = false;
	
	/**
	* parse a message and generate postbit
	*
	* @param array posts
	* @param integer count
	* @param integer indentwidth
	*
	* @return string postbit
	*/
	function makePostBit($posts, $count, $indentwidth = 0) {
		global $guthaben;
global $thread, $board, $tpl, $wbbuserdata, $style, $lang, $session, $userratings, $showuserratinginthread, $showuserlevels, $showonlineinthread, $useronlinetimeout, $showregdateinthread, $showuserfieldsinthread, $showgenderinthread, $showavatar, $_GET, $showthreadstarter, $showuserpostsinthread, $allowsigsmilies, $allowsightml, $allowsigbbcode, $max_sig_image, $authormarking, $picmaxwidth, $picmaxheight, $allowflashavatar, $thumbnailsperrow, $SID_ARG_1ST, $SID_ARG_2ND, $SID_ARG_2ND_UN;
		if ($this->userfieldcache) reset($this->userfieldcache);
		$userrating = '';
		$signature = '';
		$lastedit = '';
		$user_online = '';
		$userfields = '';
		$useravatar = '';
		$rankimages = '';
		$setvisible = '';
		$userlevel = '';
		$posts['username'] = htmlconverter($posts['username']);
		$username = $posts['username'];
		
		/** mod / admin option -> set visible post **/
		if ($posts['visible'] == 0 && $posts['posttime'] != $thread['starttime']) $invisible = 1;
		else $invisible = 0;
		
		$tdclass = getone($count, 'tableb', 'tablea');
		
		// use postcache if possible
		if ($posts['cache']) $posts['message'] = $this->parse->parseCache($posts['cache']);
		else $posts['message'] = $this->parse->doparse($posts['message'], $posts['allowsmilies'], $posts['allowhtml'], $posts['allowbbcode'], $posts['allowimages']);
				
		$posts['posttopic'] = htmlconverter(textwrap($posts['posttopic']));
		if ($posts['iconid']) $posticon = makeimgtag($posts['iconpath'], getlangvar($posts['icontitle'], $lang), 0);
		else $posticon = '';
		if ($posts['posttime'] > $thread['lastvisit']) $newpost = 1;
		else $newpost = 0;
		
		$postdate = formatdate($wbbuserdata['dateformat'], $posts['posttime'], 1);
		$posttime = formatdate($wbbuserdata['timeformat'], $posts['posttime']);
		
		
		// show attachments
		$attachments = '';
		$attachment_thumbnailCount = 0;
		$attachmentbit = '';
		$attachmentbit_img = '';
		$attachmentbit_img_small = '';
		$attachmentbit_img_thumbnails = '';
		
		if (isset($this->attachmentArray[$posts['postid']]) && count($this->attachmentArray[$posts['postid']])) {
			unset($LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL);
			unset($LANG_THREAD_ATTACHMENT_IMAGE_SMALL);
			unset($LANG_THREAD_ATTACHMENT_IMAGE);
			unset($LANG_THREAD_ATTACHMENT);
			
			foreach ($this->attachmentArray[$posts['postid']] as $attachment) {
				$attachment['attachmentextension'] = htmlconverter($attachment['attachmentextension']);
				$attachment['attachmentname'] = htmlconverter($attachment['attachmentname']);
				
				// attachment is an image, display it directly
				if (checkpermissions('can_download_attachments') == 1 && $wbbuserdata['showimages'] == 1 && $wbbuserdata['can_download_attachments'] == 1 && ($attachment['attachmentextension'] == 'gif' || $attachment['attachmentextension'] == 'jpg' || $attachment['attachmentextension'] == 'jpeg'  || $attachment['attachmentextension'] == 'png')) {
					if ($attachment['thumbnailextension'] != '') {
						$attachment_thumbnailCount++;
						if ($attachment_thumbnailCount && ($attachment_thumbnailCount % $thumbnailsperrow) == 0) $thumbnailNewline = true;
						else $thumbnailNewline = false;
						if (!isset($LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL)) $LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL = $lang->get("LANG_THREAD_ATTACHMENT_IMAGE_SMALL", array('$username' => $username));
						else $LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL = $lang->get("LANG_THREAD_ATTACHMENTS_IMAGE_SMALL", array('$username' => $username));
						
						eval("\$attachmentbit_img_thumbnails .= \"".$tpl->get("thread_attachmentbit_show_thumbnail")."\";");
					}
					else {
						$imgsize = @getimagesize("./attachments/attachment-$attachment[attachmentid].$attachment[attachmentextension]");
						
						if (($picmaxwidth != 0 && $imgsize[0] > $picmaxwidth) || ($picmaxheight != 0 && $imgsize[1] > $picmaxheight)) {
							if ($picmaxwidth != 0) $div1 = $picmaxwidth / $imgsize[0];
							else $div1 = 1;
							if ($picmaxheight != 0) $div2 = $picmaxheight / $imgsize[1];
							else $div2 = 1;
							
							if ($div1 < $div2) {
								$attachment['imgwidth'] = $picmaxwidth;
								$attachment['imgheight'] = round($imgsize[1] * $div1);
							}
							else {
								$attachment['imgheight'] = $picmaxheight;
								$attachment['imgwidth'] = round($imgsize[0] * $div2);	
							}
							
							if (!isset($LANG_THREAD_ATTACHMENT_IMAGE_SMALL)) $LANG_THREAD_ATTACHMENT_IMAGE_SMALL = $lang->get("LANG_THREAD_ATTACHMENT_IMAGE_SMALL", array('$username' => $username));
							else $LANG_THREAD_ATTACHMENT_IMAGE_SMALL = $lang->get("LANG_THREAD_ATTACHMENTS_IMAGE_SMALL", array('$username' => $username));
							
							eval("\$attachmentbit_img_small .= \"".$tpl->get("thread_attachmentbit_show_small")."\";");
						}
						else {
							if (!isset($LANG_THREAD_ATTACHMENT_IMAGE)) $LANG_THREAD_ATTACHMENT_IMAGE = $lang->get("LANG_THREAD_ATTACHMENT_IMAGE", array('$username' => $username));
							else $LANG_THREAD_ATTACHMENT_IMAGE = $lang->get("LANG_THREAD_ATTACHMENTS_IMAGE", array('$username' => $username));
							
							eval("\$attachmentbit_img .= \"".$tpl->get("thread_attachmentbit_show")."\";");
						}
					}
				}
				else {
					if (!file_exists($style['imagefolder']."/filetypes/".$attachment['attachmentextension'].".gif")) $extensionimage = "unknown";
					else $extensionimage = $attachment['attachmentextension'];
					$attachment['attachmentsize'] = ceil($attachment['attachmentsize'] / 1024);
					if ($attachment['counter'] >= 1000) $attachment['counter'] = number_format($attachment['counter'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP")); 
					$LANG_THREAD_ATTACHMENT_INFO = $lang->get("LANG_THREAD_ATTACHMENT_INFO", array('$attachmentsize' => $attachment['attachmentsize'], '$counter' => $attachment['counter']));
					if (!isset($LANG_THREAD_ATTACHMENT)) $LANG_THREAD_ATTACHMENT = $lang->get('LANG_THREAD_ATTACHMENT');
					else  $LANG_THREAD_ATTACHMENT = $lang->get('LANG_THREAD_ATTACHMENTS');
					
					eval("\$attachmentbit .= \"".$tpl->get("thread_attachmentbit")."\";");
				}				
			}
			eval("\$attachments = \"".$tpl->get("thread_attachments")."\";");
		}
		
		if ($posts['editorid']) {
			$editdate = formatdate($wbbuserdata['dateformat'], $posts['edittime'], 1);
			$edittime = formatdate($wbbuserdata['timeformat'], $posts['edittime']);
			$posts['editor'] = htmlconverter($posts['editor']);
			
			$LANG_THREAD_EDITOR = $lang->get("LANG_THREAD_EDITOR", array('$editcount' => $posts['editcount'], '$editor' => $posts['editor'], '$editdate' => $editdate, '$edittime' => $edittime));
		}
		
		if ($posts['userid']) {
			global $db, $n;
list($xa_rekorde) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_arcadegames WHERE championid_1 = '$posts[userid]' AND active = '1'");
if($xa_rekorde) $xait = "<br /><a href=\"./proarcade.php?userid=$posts[userid]$SID_ARG_2ND\">$posts[username] hält bei xArcade<br /><b>$xa_rekorde</b> Rekorde</a><br />";
else $xait = '';

$posts['homepage'] = htmlconverter($posts['homepage']);
			$posts['email'] = getASCIICodeString($posts['email']);
			
			$rankimages = formatRI($posts['rankimages']);
			if ($posts['title']) $posts['ranktitle'] = htmlconverter($posts['title']);
			else $posts['ranktitle'] = getlangvar($posts['ranktitle'], $lang);
			/* #### sternzeichen Hack by det1706  #### */
  switch($posts[sternzeichen]) {
		case 1: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen1")."\";"); break;
                case 2: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen2")."\";"); break;
                case 3: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen3")."\";"); break;
                case 4: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen4")."\";"); break;
                case 5: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen5")."\";"); break;
                case 6: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen6")."\";"); break;
                case 7: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen7")."\";"); break;
                case 8: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen8")."\";"); break;
                case 9: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen9")."\";"); break;
                case 10: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen10")."\";"); break;
                case 11: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen11")."\";"); break;
                case 12: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen12")."\";"); break;
                default: eval ("\$sternzeichen  = \"".$tpl->get("profile_nosternzeichen")."\";"); break;
	}
/* #### sternzeichen Hack by det1706 #### */
			if ($userratings == 1 && $showuserratinginthread == 1) $userrating = userrating($posts['ratingcount'], $posts['ratingpoints'], $posts['userid']);
			if ($showuserlevels == 1) $userlevel = userlevel($posts['userposts'], $posts['regdate']);
			
			if ($showonlineinthread == 1) {
				if (($posts['invisible'] == 0 || $wbbuserdata['a_can_view_ghosts'] == 1) && $posts['lastactivity'] >= time() - $useronlinetimeout * 60) {
					$user_online = 1;
					$LANG_MEMBERS_USERONLINE = $lang->get("LANG_MEMBERS_USERONLINE", array('$username' => $username));
				}
				else {
					$user_online = 0;
					$LANG_MEMBERS_USERONLINE = $lang->get("LANG_MEMBERS_USEROFFLINE", array('$username' => $username));
				}
			}
			
			if ($showregdateinthread == 1) $posts['regdate'] = formatdate($wbbuserdata['dateformat'], $posts['regdate']);
			
			if ($showuserfieldsinthread == 1 && is_array($this->userfieldcache) && count($this->userfieldcache)) {
				while (list($key, $val) = each($this->userfieldcache)) {
					$fieldcontent = textwrap($posts["field".$val['profilefieldid']], 20);
					if ($fieldcontent && $fieldcontent != "0000-00-00") {
						if ($val['fieldtype'] == "multiselect") $fieldcontent = str_replace("\n", "; ", $fieldcontent);
						elseif ($val['fieldtype'] == "date") {
							$row_datearray = explode("-", $fieldcontent);
							if ($row_datearray[0] == "0000") $fieldcontent = $row_datearray[2].".".$row_datearray[1].".";
							else $fieldcontent = $row_datearray[2].".".$row_datearray[1].".".$row_datearray[0];
						}
						$fieldcontent = htmlconverter($fieldcontent);
						eval("\$userfields .= \"".$tpl->get("thread_userfields")."\";");
					}
				}
			}
			
			if ($showgenderinthread == 0) $posts['gender'] = 0;
			if ($posts['gender'] == 1) $LANG_THREAD_MALE = $lang->get("LANG_THREAD_MALE", array('$username' => $username));
			if ($posts['gender'] == 2) $LANG_THREAD_FEMALE = $lang->get("LANG_THREAD_FEMALE", array('$username' => $username));
			
			if ($posts['showemail'] == 1 || $posts['usercanemail'] == 1) $LANG_MEMBERS_SENDEMAIL = $lang->get("LANG_MEMBERS_SENDEMAIL", array('$username' => $username));
			if ($posts['homepage']) $LANG_MEMBERS_HOMEPAGE = $lang->get("LANG_MEMBERS_HOMEPAGE", array('$username' => $username));
			
			$LANG_MEMBERS_SEARCH = $lang->get("LANG_MEMBERS_SEARCH", array('$username' => $username));
			$LANG_MEMBERS_BUDDY = $lang->get("LANG_MEMBERS_BUDDY", array('$username' => $username));
			
			if ($posts['receivepm'] == 1 && $wbbuserdata['can_use_pms'] == 1) $LANG_MEMBERS_PM = $lang->get("LANG_MEMBERS_PM", array('$username' => $username));
			
			if ($posts['icq']) $LANG_MEMBERS_ICQ = $lang->get("LANG_MEMBERS_ICQ", array('$username' => $username));
			if ($posts['aim']) {
				$posts['aim'] = htmlconverter($posts['aim']);
				$aim = $posts['aim'];
				$LANG_MEMBERS_AIM = $lang->get("LANG_MEMBERS_AIM", array('$username' => $username, '$aim' => $aim));
			}
			if ($posts['yim']) {
				$posts['yim'] = htmlconverter($posts['yim']);
				$yim = $posts['yim'];
				$LANG_MEMBERS_YIM = $lang->get("LANG_MEMBERS_YIM", array('$username' => $username, '$yim' => $yim));
			}
			if ($posts['msn']) {
				$posts['msn'] = htmlconverter($posts['msn']);
				$LANG_MEMBERS_MSN = $lang->get("LANG_MEMBERS_MSN", array('$username' => $username));
			}
			
			if ($posts['avatarid'] && $showavatar == 1 && $wbbuserdata['showavatars'] == 1) {
				$avatarname = "images/avatars/avatar-$posts[avatarid].".htmlconverter($posts['avatarextension']);
				$avatarwidth = $posts['width'];
				$avatarheight = $posts['height'];
				if ($posts['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
				elseif ($posts['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
			}
			
			if ($authormarking == 1 && $posts['useronlinemarking'] != '') $posts['username'] = sprintf($posts['useronlinemarking'], $posts['username']);
			if (isset($_GET['hilightuser']) && $_GET['hilightuser'] == $posts['userid']) $posts['username'] = "<span class=\"highlight\">".$posts['username']."</span>";
			
			if ($showthreadstarter == 1 && $thread['starterid'] == $posts['userid'] && $thread['starttime'] != $posts['posttime']) {
				$threadstarter = 1;
				$LANG_THREAD_THREADSTARTER_ALT = $lang->get("LANG_THREAD_THREADSTARTER_ALT", array('$starter' => $thread['starter']));
			}
			else $threadstarter = 0;
			
			if ($posts['showsignature'] == 1 && !$posts['disablesignature'] && $wbbuserdata['showsignatures'] == 1 && $posts['signature']) {
				$posts['signature'] = $this->parse->doparse($posts['signature'], $posts['allowsigsmilies'], $posts['allowsightml'], $posts['allowsigbbcode'], $posts['allowsigimages']);
				eval("\$signature = \"".$tpl->get("thread_signature")."\";");
			}
			
			if ($showuserpostsinthread == 1 && $posts['userposts'] >= 1000) $posts['userposts'] = number_format($posts['userposts'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP")); 
		}
		/* Guthaben A */
$waehrung = $guthaben['waehrung'];
$user_guthaben = number_format($posts['guthaben'],0,",",".");
/* Guthaben E */
		eval("\$postbit = \"".$tpl->get("thread_postbit")."\";");
		return $postbit;
	}
	
	
	/**
	* jump to last post
	*
	* @return void
	*/
	function lastpost() {
		global $visible, $SID_ARG_2ND_UN, $db, $n, $url2board;
		$result = $db->query_first("SELECT postid FROM bb".$n."_posts WHERE threadid = '".$this->threadid."' $visible ORDER BY posttime DESC", 1);
		header("Location: thread.php?postid=".$result['postid'].$SID_ARG_2ND_UN."#post$result[postid]");
		exit;	
	}
	
	/**
	* jump to first new post
	*
	* @param integer lastvisit
	*
	* @return void
	*/
	function firstnew($lastvisit) {
		global $visible, $db, $n, $SID_ARG_2ND_UN, $threadid, $url2board;
		$result = $db->query_first("SELECT postid FROM bb".$n."_posts WHERE threadid='".$this->threadid."' AND posttime>'".$lastvisit."' $visible ORDER BY posttime ASC", 1);
		if ($result['postid']) header("Location: thread.php?postid=".$result['postid'].$SID_ARG_2ND_UN."#post$result[postid]");
		else header("Location: thread.php?goto=lastpost&threadid=".$threadid.$SID_ARG_2ND_UN);
		exit;
	}
	
	
	/**
	* jump to next newest thread
	*
	* @return void
	*/
	function nextnewest() {
		global $db, $n, $thread, $boardid, $tpl, $lang, $threadid;
		$result = $db->query_first("SELECT threadid FROM bb".$n."_threads WHERE visible = 1 AND lastposttime>'$thread[lastposttime]' AND closed <> 3 AND boardid = '$boardid' ORDER BY lastposttime ASC", 1);
		if (!$result['threadid']) error($lang->get("LANG_THREAD_ERROR_NONEXTNEWEST"));
		$threadid = $result['threadid'];
		$this->threadid = $threadid;
		$thread = $db->query_first("SELECT * FROM bb".$n."_threads WHERE threadid = '".$this->threadid."'");
	}
	
	/**
	* jump to next oldest thread
	*
	* @return void
	*/
	function nextoldest() {
		global $db, $n, $thread, $boardid, $tpl, $lang, $threadid;
		$result = $db->query_first("SELECT threadid FROM bb".$n."_threads WHERE visible = 1 AND lastposttime<'$thread[lastposttime]' AND closed <> 3 AND boardid = '$boardid' ORDER BY lastposttime DESC", 1);
		if (!$result['threadid']) error($lang->get("LANG_THREAD_ERROR_NONEXTOLDEST"));
		$threadid = $result['threadid'];
		$this->threadid = $threadid;
		$thread = $db->query_first("SELECT * FROM bb".$n."_threads WHERE threadid = '$threadid'");	
	}
	
	/**
	* create links to further pages
	*
	* @return void
	*/
	function makePagelink() {
		global $SID_ARG_2ND, $threadview, $hilight, $hilightuser, $showpagelinks;
		$this->pagelink = makepagelink("thread.php?threadid=".$this->threadid."&amp;threadview=$threadview&amp;hilight=".urlencode($hilight)."&amp;hilightuser=$hilightuser".$SID_ARG_2ND, $this->page, $this->pages, $showpagelinks - 1);
	}
	
	
	/**
	* read post information from database
	*
	* @return resource result
	*/
	function readPosts() {
		global $docensor, $board, $wbbuserdata, $hilight, $usecode, $showuserfieldsinthread, $db, $n, $showavatar, $authormarking, $lang; 
		$this->parse = &new parse($docensor, 75, $wbbuserdata['showimages'], $hilight, $usecode);
		
		if ($this->readAttachments) {
			$result = $db->unbuffered_query("SELECT postid, attachmentid, attachmentname, attachmentextension, attachmentsize, counter, thumbnailextension FROM bb".$n."_attachments WHERE postid IN (0".$this->postids.") ORDER BY uploadtime");
			while ($row = $db->fetch_array($result)) {
				$this->attachmentArray[$row['postid']][$row['attachmentid']] = $row;
			}
		}
		
		if ($showuserfieldsinthread == 1) {
			$userfields = ", uf.*";
			$userfieldsjoin = "LEFT JOIN bb".$n."_userfields uf ON (uf.userid=p.userid)";
			$result = $db->unbuffered_query("SELECT profilefieldid, title, fieldtype FROM bb".$n."_profilefields WHERE showinthread=1".(($wbbuserdata['a_can_view_hidden'] == 0) ? (" AND hidden=0") : (""))." ORDER BY fieldorder ASC");
			while ($row = $db->fetch_array($result)) {
				$row['title'] = getlangvar($row['title'], $lang);
				$this->userfieldcache[] = $row;
			}
		}
		else {
			$userfields = '';
			$userfieldsjoin = '';
		}
		
		if ($showavatar == 1) {
			$avatar = ", av.avatarid, av.avatarextension, av.width, av.height";
			$avatarjoin = "LEFT JOIN bb".$n."_avatars av ON (u.avatarid=av.avatarid)";
		}
		else {
			$avatar = '';
			$avatarjoin = '';	
		}
		
		if ($authormarking == 1) {
			$marking = ", g.useronlinemarking";
			$markingjoin = "LEFT JOIN bb".$n."_groups g ON (u.useronlinegroupid=g.groupid)";
		}
		else {
			$marking = '';
			$markingjoin = '';	
		}
		
		
		$result = $db->query("SELECT p.*, pc.cache,
		u.userposts, u.regdate, u.signature, u.email, u.homepage, u.icq, u.aim, u.yim, u.msn, u.showemail, u.receivepm, u.usercanemail, u.ratingcount, u.ratingpoints, u.gender, u.invisible, u.title, u.sternzeichen, u.lastactivity, u.allowsigsmilies, u.allowsightml, u.allowsigbbcode, u.allowsigimages, u.disablesignature, u.guthaben,
		r.ranktitle, r.rankimages,
		i.iconpath, i.icontitle
		$userfields
		$avatar
		$marking
		FROM bb".$n."_posts p 
		LEFT JOIN bb".$n."_users u USING (userid)
		LEFT JOIN bb".$n."_ranks r USING (rankid)
		LEFT JOIN bb".$n."_icons i ON (p.iconid=i.iconid)
		LEFT JOIN bb".$n."_postcache pc ON (p.postid=pc.postid)
		$userfieldsjoin
		$avatarjoin
		$markingjoin
		WHERE p.postid IN (0".$this->postids.")".$this->orderBy);
		
		return $result;
	}
}














/** FlatThread Class **/
class FlatThread extends Thread {
	
	/**
	* constructor
	*
	* @param integer threadid
	*/
	function FlatThread($threadid) {
		$this->threadid = $threadid;
	}
	
	/**
	* get and stores the pagenumber of a certain message
	*
	* @param integer postid
	*
	* @return void
	*/
	function gotoPost($postid) {
		global $db, $n, $visible, $postorder, $postsperpage, $_GET;
		if ($postorder == 0) $result = $db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts WHERE threadid='".$this->threadid."' AND postid<='$postid' $visible");
		else $result = $db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts WHERE threadid='$threadid' AND postid>='$postid' $visible");
		$_GET['page'] = ceil($result['posts'] / $postsperpage);
	}
	
	
	/**
	* parse messages and returns complete postbit
	*
	* @return string postbit
	*/
	function start() {
		global $postorder, $db;
		$this->getPostIds();	
		
		$this->orderBy = "ORDER BY p.posttime ".(($postorder) ? ("DESC") : ("ASC"));
		
		$count = 0;
		$postbit = '';
		$result = $this->readPosts();
		while ($row = $db->fetch_array($result)) $postbit .= $this->makePostBit($row, $count++);
		
		return $postbit;	
	}
	
	
	/**
	* get and stores the postids of the current page
	*
	* @return void
	*/
	function getPostIds() {
		global $visible, $db, $n, $_GET, $postsperpage, $postorder, $thread;
		$postcount = $thread['replycount'] + 1;
		
		if (isset($_GET['page'])) {
			$this->page = intval($_GET['page']);
			if ($this->page == 0) $this->page = 1;
		}
		else $this->page = 1;
		
		$this->pages = ceil($postcount / $postsperpage);
		if ($this->pages > 1) $this->makePagelink();
		
		$result = $db->unbuffered_query("SELECT postid, attachments FROM bb".$n."_posts WHERE threadid = '".$this->threadid."' $visible ORDER BY posttime ".(($postorder) ? ("DESC") : ("ASC")), 0, $postsperpage, $postsperpage * ($this->page - 1));
		while ($row = $db->fetch_array($result)) {
			$this->postids .= ",".$row['postid'];
			if ($row['attachments']) $this->readAttachments = true;
		}
	}
}












/** ThreadedThread Class **/
class ThreadedThread extends Thread {
	
	/**
	* @var integer offset
	*/
	var $offset = 0;

	/**
	* @var integer offset2
	*/
	var $offset2 = 0;

	/**
	* @var array cache
	*/
	var $cache = array();

	/**
	* @var array list
	*/
	var $list = array();

	/**
	* @var integer max
	*/
	var $max = -1;

	/**
	* @var integer total
	*/
	var $total = 0;

	/**
	* @var integer cout
	*/
	var $count = 0;

	/**
	* @var string postbitlist
	*/
	var $postbitlist = '';
	
	
	/**
	* constructor
	*
	* @param integer threadid
	*/
	function ThreadedThread($threadid) {
		$this->threadid = $threadid;
	}	
	
	
	/**
	* get and stores the pagenumber of a certain message
	*
	* @param integer postid
	*
	* @return void
	*/
	function gotoPost($postid) {
		global $_GET, $postsperpage, $db, $n, $visible;	
		
		$result = $db->query("SELECT postid, parentpostid, attachments FROM bb".$n."_posts WHERE threadid='".$this->threadid."' $visible ORDER BY posttime ASC");
		$this->total = $db->num_rows($result);
		while ($row = $db->fetch_array($result)) {
			$this->cache[$row['parentpostid']][$row['postid']] = 1;
			if ($row['attachments']) $this->readAttachments = true;
		}
		
		$this->countPosts($postid);
		$_GET['page'] = ceil($this->count / $postsperpage);
	}
	
	
	/**
	* get and stores the number of a certain message in threaded view
	* 
	* @param integer postid
	* @param integer count
	* @param integer parentid
	*
	* @return void
	*/
	function countPosts($finalpostid, $count = 0, $parentid = 0) {
		if (!isset($this->cache[$parentid])) return $count;
		reset($this->cache[$parentid]);
		
		while (list($postid, ) = each($this->cache[$parentid])) {
			$count++;
			if ($postid == $finalpostid) {
				$this->count = $count;
				break;
			}
			$count = $this->countPosts($finalpostid, $count, $postid); 	
		}
		
		return $count;	
	}
	
	/**
	* parse messages and returns complete postbit
	*
	* @return string postbit
	*/
	function start() {
		global $db, $n, $postsperpage, $_GET, $visible;
		
		if (isset($_GET['page'])) {
			$this->page = intval($_GET['page']);
			if ($this->page == 0) $this->page = 1;
		}
		else $this->page = 1;
		
		$this->offset = $postsperpage * ($this->page - 1);
		$this->offset2 = $this->offset + $postsperpage;
		
		if (count($this->cache) == 0) {
			$result = $db->query("SELECT postid, parentpostid, attachments FROM bb".$n."_posts WHERE threadid='".$this->threadid."' $visible ORDER BY posttime ASC");
			$this->total = $db->num_rows($result);
			while ($row = $db->fetch_array($result)) {
				$this->cache[$row['parentpostid']][$row['postid']] = 1;
				if ($row['attachments']) $this->readAttachments = true;
			}
		}
		
		$this->pages = ceil($this->total / $postsperpage);
		if ($this->pages > 1) $this->makePagelink();
		
		reset($this->cache);
		$this->generate();
		if ($this->max > 0) $this->sync();
		$result = $this->readPosts();
		
		while ($posts = $db->fetch_array($result)) {
			$temp = $this->list[$posts['postid']];
			$this->list[$posts['postid']] = $posts;
			$this->list[$posts['postid']]['depth'] = $temp;	
		}
		
		$count = 0;
		$postbit = '';
		reset($this->list);
		while (list($postid, ) = each($this->list)) {
			$postbit .= $this->makePostBit($this->list[$postid], $count++, $this->list[$postid]['depth'] * 15);
			$this->postbitlist .= $this->makePostBitList($this->list[$postid], $this->list[$postid]['depth'] * 15);
		}
		return $postbit;
	}
	
	
	/**
	* calculates the depth of the threaded view
	*
	* @param integer parentid
	* @param integer count
	* @param integer depth
	*
	* @return integer count
	*/
	function generate($parentid = 0, $count = 0, $depth = 0) {
		if (!isset($this->cache[$parentid])) return $count;
		reset($this->cache[$parentid]);
		
		while (list($postid, ) = each($this->cache[$parentid])) {
			if ($count >= $this->offset && $count < $this->offset2) {
				if ($this->max == -1) $this->max = $depth;
				if ($depth < $this->max) $this->max = $depth;
				
				$this->list[$postid] = $depth;
				$this->postids .= ",".$postid;	
			}	
			$count++;
			$count = $this->generate($postid, $count, $depth + 1); 	
		}
		
		return $count;
	}
	
	
	/**
	* generates a postlist
	* 
	* @param array posts
	* @param integer imgwidth
	*
	* @return string postlist
	*/
	function makePostBitList($posts, $imgwidth = 0) {
		global $tpl, $wbbuserdata, $lang, $SID_ARG_1ST, $SID_ARG_2ND, $SID_ARG_2ND_UN, $style, $thread;
		
		$postdate = formatdate($wbbuserdata['dateformat'], $posts['posttime']);
		$posttime = formatdate($wbbuserdata['timeformat'], $posts['posttime']);
		
		if (!$posts['posttopic']) $posts['posttopic'] = "RE: ".$thread['topic']; 
		$posts['posttopic'] = htmlconverter(textwrap($posts['posttopic']));
		$posts['username'] = htmlconverter(textwrap($posts['username'], 30));
		
		if ($posts['posttime'] > $thread['lastvisit']) $newpost = 1;
		else $newpost = 0;
		
		
		eval("\$postbit = \"".$tpl->get("thread_postbitlist")."\";");
		return $postbit;
	}
	
	/**
	* calculates the depth of the threaded view
	*
	* @return void
	*/
	function sync() {
		reset($this->list);
		while (list($postid, $depth) = each($this->list)) $this->list[$postid] = $depth - $this->max;
	}	
}













if (checkmodpermissions()) $visible = '';
else $visible = "AND visible=1";

if (isset($_REQUEST['threadview'])) $threadview = intval($_REQUEST['threadview']);
else $threadview = $wbbuserdata['threadview'];

if (isset($_REQUEST['hilight'])) $hilight = urldecode($_REQUEST['hilight']);
else $hilight = '';

if (isset($_REQUEST['hilightuser'])) $hilightuser = intval($_REQUEST['hilightuser']);
else $hilightuser = 0;

if (!isset($_REQUEST['goto'])) $_REQUEST['goto'] = '';

if ($threadview == 1) $t = &new ThreadedThread($threadid);
else $t = &new FlatThread($threadid);

/* goto actions 1 */
if ($_REQUEST['goto'] == "lastpost") $t->lastpost();
if ($_REQUEST['goto'] == "nextnewest") $t->nextnewest();
if ($_REQUEST['goto'] == "nextoldest") $t->nextoldest();

/* threadvisit */
if ($board['lastvisit'] > $thread['lastvisit']) $thread['lastvisit'] = $board['lastvisit'];
if ($wbbuserdata['lastvisit'] > $thread['lastvisit']) $thread['lastvisit'] = $wbbuserdata['lastvisit'];

/* goto actions 2 */
if ($_REQUEST['goto'] == "firstnew") $t->firstnew($thread['lastvisit']);
if ($_REQUEST['goto'] == "firstnew_thread") $t->firstnew($wbbuserdata['lastvisit']);


if ($wbbuserdata['umaxposts']) $postsperpage = $wbbuserdata['umaxposts'];
elseif ($board['postsperpage']) $postsperpage = $board['postsperpage'];
else $postsperpage = $default_postsperpage;
$postorder = $board['postorder'];

if (isset($postid)) $t->gotoPost($postid);

$db->unbuffered_query("UPDATE bb".$n."_threads SET views=views+1 WHERE threadid='$threadid'", 1);
if ($wbbuserdata['userid'] && $thread['lastposttime'] > $thread['lastvisit']) $db->unbuffered_query("REPLACE INTO bb".$n."_threadvisit (threadid,userid,lastvisit) VALUES ('".$threadid."','".$wbbuserdata['userid']."','".time()."')", 1);


$boardnavcache = array();
if ($showboardjump == 1) $boardjump = makeboardjump($boardid);
$navbar = getNavbar($board['parentlist']);
eval("\$navbar .= \"".$tpl->get("navbar_board")."\";");

$postbit = $t->start();
$thread_poll = '';
if ($thread['pollid']) {
	if (checkmodpermissions("m_can_edit_poll")) eval("\$mod_poll_edit = \"".$tpl->get("thread_poll_edit")."\";");
	unset($votecheck);
	
	$poll = $db->query_first("SELECT * FROM bb".$n."_polls WHERE pollid='$thread[pollid]'");
	$poll['question'] = htmlconverter($poll['question']);
	
	if ($poll['timeout'] == 0) $timeout = time() + 1;
	else $timeout = $poll['starttime'] + $poll['timeout'] * 86400;
	if ($_REQUEST['preresult'] != 1 && checkpermissions("can_vote_poll") == 1 && $timeout >= time()) {
		if ($wbbuserdata['userid']) $votecheck = $db->query_first("SELECT id AS pollid FROM bb".$n."_votes WHERE id='$thread[pollid]' AND votemode=1 AND userid='$wbbuserdata[userid]'");
		else $votecheck = $db->query_first("SELECT id AS pollid FROM bb".$n."_votes WHERE id='$thread[pollid]' AND votemode=1 AND ipaddress='$REMOTE_ADDR'");
	} 
	
	// already voted; show result
	if ($_REQUEST['preresult'] == 1 || $votecheck['pollid'] || !checkpermissions("can_vote_poll") || $timeout < time()) {
		$votes = 0;
		unset($polloption);
		$totalvotes = 0;
		$polloptions = array();
		$result = $db->unbuffered_query("SELECT * FROM bb".$n."_polloptions WHERE pollid='$thread[pollid]' ORDER BY votes DESC");
		while ($row = $db->fetch_array($result)) {
			$totalvotes += $row['votes'];
			$polloptions[] = $row;
		}
		
		$i = 1;
		if (count($polloptions)) {
			while (list($key, $row) = each($polloptions)) {
				$row['polloption'] = htmlconverter(textwrap($row['polloption']));
				if ($totalvotes) {
					$percent_float = $row['votes'] * 100 / $totalvotes;
					$percent = number_format($percent_float, 2);
					$percent_int = floor($percent_float) * 3;
					$percent_int += 1;	
				}
				else $percent = $percent_int = 0; 
				eval("\$thread_poll_resultbit .= \"".$tpl->get("thread_poll_resultbit")."\";");
				if ($i == 5) $i = 0;
				$i++;
			}
		}
		
		$lang->items['LANG_THREAD_POLL_VOTES'] = $lang->get("LANG_THREAD_POLL_VOTES", array('$totalvotes' => $totalvotes));
		eval("\$thread_poll = \"".$tpl->get("thread_poll_result")."\";");
	}
	else {
		if ($poll['choicecount'] > 1) $inputtype = "checkbox";
		else $inputtype = "radio";
		
		$result = $db->unbuffered_query("SELECT * FROM bb".$n."_polloptions WHERE pollid='$thread[pollid]' ORDER BY showorder ASC");
		while ($row = $db->fetch_array($result)) {
			$row['polloption'] = htmlconverter(textwrap($row['polloption']));
			eval("\$thread_pollbit .= \"".$tpl->get("thread_pollbit")."\";");
		}
		
		eval("\$thread_poll = \"".$tpl->get("thread_poll")."\";");
	}
}

if ($board['allowratings'] == 1) {
	$colors = createGradient($style['gradientleft'], $style['gradientmiddle'], $style['gradientright']);
	if ($thread['voted'] && $thread['voted'] >= $showvotes) $threadrating = threadrating($thread['votepoints'], $thread['voted']);
}
else $threadrating = '';

if ($board['closed'] == 0) eval("\$newthread = \"".$tpl->get("board_newthread")."\";");
if ($thread['closed'] != 0) eval("\$addreply = \"".$tpl->get("thread_closed")."\";");
elseif ($board['closed'] == 0) eval("\$addreply = \"".$tpl->get("thread_addreply")."\";");
/* Ähnliche Themen */
$threadtopic = addslashes($thread['topic']);
/* Ähnliche Themen Ende */

$thread['topic'] = htmlconverter(textwrap($thread['topic']));

if ($board['emailnotify'] == 1 && $board['countemails'] != 0) $db->unbuffered_query("UPDATE bb".$n."_subscribeboards SET countemails=0 WHERE userid = '".$wbbuserdata['userid']."' AND boardid = '".$boardid."'", 1);
if ($thread['emailnotify'] == 1 && $thread['countemails'] != 0) $db->unbuffered_query("UPDATE bb".$n."_subscribethreads SET countemails=0 WHERE userid = '".$wbbuserdata['userid']."' AND threadid = '".$threadid."'", 1);
/* Ähnlich Themen */
function GetAccessableForums() {
	global $db, $n, $wbbuserdata, $boardcache;
	
	if (!isset($boardcache) || !is_array($boardcache)) $boardcache = array();
	$result = $db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards ORDER BY parentid ASC, boardorder ASC");
	while ($row = $db->fetch_array($result)) {
		$boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
	}

	$boardpermissions = getPermissions();
	$boardids = '';
	foreach ($boardcache as $key => $val) {
		foreach ($val as $key2 => $val2) {
			foreach ($val2 as $row) if ((!isset($boardpermissions[$row['boardid']]['can_view_board']) || $boardpermissions[$row['boardid']]['can_view_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_enter_board']) || $boardpermissions[$row['boardid']]['can_enter_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_read_thread']) || $boardpermissions[$row['boardid']]['can_read_thread'] != 0)) $boardids .= ",".$row['boardid'];
		}	
	}
	return $boardids;
}

$similar = $db->query("SELECT t.threadid, t.boardid, x.title, x.boardid, t.prefix, t.topic, t.starttime, t.starterid, t.starter, t.lastposttime, t.lastposterid, t.lastposter, t.replycount, t.views, t.attachments, t.closed, t.important, t.pollid FROM bb".$n."_threads t, bb".$n."_boards x LEFT JOIN bb".$n."_boards b ON (t.boardid=b.boardid) WHERE t.visible='1' AND t.closed <> 3 AND t.threadid <> $threadid AND b.password='' AND t.boardid=x.boardid AND t.boardid IN (0".GetAccessableForums().") AND t.topic LIKE '%$threadtopic%' ORDER BY t.lastposttime DESC LIMIT 0, 5;");
if($db->num_rows($similar)) {
	$i = "0";
	while ($row = $db->fetch_array($similar)) {
		$i++;
		$tdclass = getone($i, "tablea", "tableb");
		$started = formatdate($wbbuserdata['dateformat'], $row['starttime'],1);
		$started .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['starttime'])."</span>";
		$lastreply = formatdate($wbbuserdata['dateformat'], $row['lastposttime'],1);
		$lastreply .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['lastposttime'])."</span>";
		if ($row['replycount'] >= 1000) $row['replycount'] = number_format($row['replycount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if ($row['views'] >= 1000) $row['views'] = number_format($row['views'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if (strlen($row['topic']) > 60) $row['topic'] = substr($row['topic'], 0, 54).' [...]';
		eval("\$similar_thread_bit .= \"".$tpl->get("thread_similarthread_bit")."\";");
	}
	eval("\$similar_thread = \"".$tpl->get("thread_similarthread")."\";");
}
/* Ähnliche Themen Ende */

eval("\$tpl->output(\"".$tpl->get("thread")."\");");
?>

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Icebreaker3108: 15.04.05 02:26.

15.04.05 01:49 Icebreaker3108 ist offline E-Mail WWW Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Wenns so viele gibt, bei denen das Gerät sauber läuft, würd ich mir mal eine etwas andere Tonart angewöhnen, ok? :stinkt

Es handelt sich außerdem bei dir um einen Einbaufehler. Das müsste gehen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
702:
703:
704:
705:
706:
707:
708:
709:
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721:
722:
723:
724:
725:
726:
727:
728:
729:
730:
731:
732:
733:
734:
735:
736:
737:
738:
739:
740:
741:
742:
743:
744:
745:
746:
747:
748:
749:
750:
751:
752:
753:
754:
755:
756:
757:
758:
759:
760:
761:
762:
763:
764:
765:
766:
767:
768:
769:
770:
771:
772:
773:
774:
775:
776:
777:
778:
779:
780:
781:
782:
783:
784:
785:
786:
787:
788:
789:
790:
791:
792:
793:
794:
795:
796:
797:
798:
799:
800:
801:
802:
803:
804:
805:
806:
807:
808:
809:
810:
811:
812:
813:
814:
815:
816:
817:
818:
819:
820:
821:
822:
823:
824:
825:
826:
827:
828:
829:
830:
831:
832:
833:
834:
835:
836:
837:
838:
839:
840:
841:
842:
843:
844:
845:
846:
847:
848:
849:
850:
851:
852:
853:
854:
855:
856:
857:
858:
859:
860:
861:
862:
863:
864:
865:
866:
867:
868:
869:
870:
871:
872:
873:
874:
875:
876:
877:
878:
879:
880:
881:
882:
883:
884:
885:
886:
887:
888:
889:
890:
891:
892:
893:
894:
895:
896:
897:
898:
899:
900:
901:
902:
903:
904:
905:
906:
907:
908:
909:
910:
911:
912:
913:
914:
915:
916:
917:
918:
919:
920:
921:
922:
923:
924:
925:
926:
927:
928:
929:
930:
931:
932:
933:
934:
935:
936:
937:
938:
939:
940:
941:
942:
943:
944:
945:
946:
947:
948:
949:
950:
951:
952:
953:
954:
955:
956:
957:
958:
959:
960:
961:
962:
963:
964:
965:
966:
967:
968:
969:
970:
971:
972:
973:
974:
975:
976:
977:
978:
979:
980:
981:
982:
983:
984:
985:
986:
987:
988:
989:
990:
991:
992:
993:
994:
995:
996:
997:
998:
999:
1000:
1001:
1002:
1003:
1004:
1005:
1006:
1007:
1008:
1009:
1010:
1011:
1012:
1013:
1014:
1015:
1016:
1017:
1018:
1019:
1020:
1021:
1022:
1023:
1024:
1025:
<?php 
// ************************************************************************************//
// * WoltLab Burning Board 2
// ************************************************************************************//
// * Copyright (c) 2001-2004 WoltLab GmbH
// * Web           http://www.woltlab.de/
// * License       http://www.woltlab.de/products/burning_board/license_en.php
// *               http://www.woltlab.de/products/burning_board/license.php
// ************************************************************************************//
// * WoltLab Burning Board 2 is NOT free software.
// * You may not redistribute this package or any of it's files.
// ************************************************************************************//
// * $Date: 2004-11-17 13:23:39 +0100 (Wed, 17 Nov 2004) $
// * $Author: Burntime $
// * $Rev: 1496 $
// ************************************************************************************//


$filename = 'thread.php';

require('./global.php');
require('./acp/lib/class_parse.php');
$lang->load('THREAD,MEMBERS');

if ((!isset($postid) && !isset($threadid)) || $thread['closed'] == 3) error($lang->get("LANG_GLOBAL_ERROR_FALSELINK", array('$adminmail' => $adminmail)));
if (!checkpermissions("can_read_thread")) access_error();






/** Thread Class **/
class Thread {
	/**
	* @var integer threadid
	*/
	var $threadid = 0;

	/**
	* @var string pagelink
	*/
	var $pagelink = "";

	/**
	* @var integer page
	*/
	var $page = 0;

	/**
	* @var integer pages
	*/
	var $pages = 0;

	/**
	* @var string postids
	*/
	var $postids = ""; 

	/**
	* @var string orderby
	*/
	var $orderBy = "";

	/**
	* @var array userfieldcache
	*/
	var $userfieldcache = array();

	/**
	* @var object parse
	*/
	var $parse;
	
	/**
	* @var array attachmentArray
	*/
	var $attachmentArray = array();
	
	/**
	* @var boolean readAttachments
	*/
	var $readAttachments = false;
	
	/**
	* parse a message and generate postbit
	*
	* @param array posts
	* @param integer count
	* @param integer indentwidth
	*
	* @return string postbit
	*/
	function makePostBit($posts, $count, $indentwidth = 0) {
		global $guthaben;
global $thread, $board, $tpl, $wbbuserdata, $style, $lang, $session, $userratings, $showuserratinginthread, $showuserlevels, $showonlineinthread, $useronlinetimeout, $showregdateinthread, $showuserfieldsinthread, $showgenderinthread, $showavatar, $_GET, $showthreadstarter, $showuserpostsinthread, $allowsigsmilies, $allowsightml, $allowsigbbcode, $max_sig_image, $authormarking, $picmaxwidth, $picmaxheight, $allowflashavatar, $thumbnailsperrow, $SID_ARG_1ST, $SID_ARG_2ND, $SID_ARG_2ND_UN;
		if ($this->userfieldcache) reset($this->userfieldcache);
		$userrating = '';
		$signature = '';
		$lastedit = '';
		$user_online = '';
		$userfields = '';
		$useravatar = '';
		$rankimages = '';
		$setvisible = '';
		$userlevel = '';
		$posts['username'] = htmlconverter($posts['username']);
		$username = $posts['username'];
		
		/** mod / admin option -> set visible post **/
		if ($posts['visible'] == 0 && $posts['posttime'] != $thread['starttime']) $invisible = 1;
		else $invisible = 0;
		
		$tdclass = getone($count, 'tableb', 'tablea');
		
		// use postcache if possible
		if ($posts['cache']) $posts['message'] = $this->parse->parseCache($posts['cache']);
		else $posts['message'] = $this->parse->doparse($posts['message'], $posts['allowsmilies'], $posts['allowhtml'], $posts['allowbbcode'], $posts['allowimages']);
				
		$posts['posttopic'] = htmlconverter(textwrap($posts['posttopic']));
		if ($posts['iconid']) $posticon = makeimgtag($posts['iconpath'], getlangvar($posts['icontitle'], $lang), 0);
		else $posticon = '';
		if ($posts['posttime'] > $thread['lastvisit']) $newpost = 1;
		else $newpost = 0;
		
		$postdate = formatdate($wbbuserdata['dateformat'], $posts['posttime'], 1);
		$posttime = formatdate($wbbuserdata['timeformat'], $posts['posttime']);
		
		
		// show attachments
		$attachments = '';
		$attachment_thumbnailCount = 0;
		$attachmentbit = '';
		$attachmentbit_img = '';
		$attachmentbit_img_small = '';
		$attachmentbit_img_thumbnails = '';
		
		if (isset($this->attachmentArray[$posts['postid']]) && count($this->attachmentArray[$posts['postid']])) {
			unset($LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL);
			unset($LANG_THREAD_ATTACHMENT_IMAGE_SMALL);
			unset($LANG_THREAD_ATTACHMENT_IMAGE);
			unset($LANG_THREAD_ATTACHMENT);
			
			foreach ($this->attachmentArray[$posts['postid']] as $attachment) {
				$attachment['attachmentextension'] = htmlconverter($attachment['attachmentextension']);
				$attachment['attachmentname'] = htmlconverter($attachment['attachmentname']);
				
				// attachment is an image, display it directly
				if (checkpermissions('can_download_attachments') == 1 && $wbbuserdata['showimages'] == 1 && $wbbuserdata['can_download_attachments'] == 1 && ($attachment['attachmentextension'] == 'gif' || $attachment['attachmentextension'] == 'jpg' || $attachment['attachmentextension'] == 'jpeg'  || $attachment['attachmentextension'] == 'png')) {
					if ($attachment['thumbnailextension'] != '') {
						$attachment_thumbnailCount++;
						if ($attachment_thumbnailCount && ($attachment_thumbnailCount % $thumbnailsperrow) == 0) $thumbnailNewline = true;
						else $thumbnailNewline = false;
						if (!isset($LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL)) $LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL = $lang->get("LANG_THREAD_ATTACHMENT_IMAGE_SMALL", array('$username' => $username));
						else $LANG_THREAD_ATTACHMENT_IMAGE_THUMBNAIL = $lang->get("LANG_THREAD_ATTACHMENTS_IMAGE_SMALL", array('$username' => $username));
						
						eval("\$attachmentbit_img_thumbnails .= \"".$tpl->get("thread_attachmentbit_show_thumbnail")."\";");
					}
					else {
						$imgsize = @getimagesize("./attachments/attachment-$attachment[attachmentid].$attachment[attachmentextension]");
						
						if (($picmaxwidth != 0 && $imgsize[0] > $picmaxwidth) || ($picmaxheight != 0 && $imgsize[1] > $picmaxheight)) {
							if ($picmaxwidth != 0) $div1 = $picmaxwidth / $imgsize[0];
							else $div1 = 1;
							if ($picmaxheight != 0) $div2 = $picmaxheight / $imgsize[1];
							else $div2 = 1;
							
							if ($div1 < $div2) {
								$attachment['imgwidth'] = $picmaxwidth;
								$attachment['imgheight'] = round($imgsize[1] * $div1);
							}
							else {
								$attachment['imgheight'] = $picmaxheight;
								$attachment['imgwidth'] = round($imgsize[0] * $div2);	
							}
							
							if (!isset($LANG_THREAD_ATTACHMENT_IMAGE_SMALL)) $LANG_THREAD_ATTACHMENT_IMAGE_SMALL = $lang->get("LANG_THREAD_ATTACHMENT_IMAGE_SMALL", array('$username' => $username));
							else $LANG_THREAD_ATTACHMENT_IMAGE_SMALL = $lang->get("LANG_THREAD_ATTACHMENTS_IMAGE_SMALL", array('$username' => $username));
							
							eval("\$attachmentbit_img_small .= \"".$tpl->get("thread_attachmentbit_show_small")."\";");
						}
						else {
							if (!isset($LANG_THREAD_ATTACHMENT_IMAGE)) $LANG_THREAD_ATTACHMENT_IMAGE = $lang->get("LANG_THREAD_ATTACHMENT_IMAGE", array('$username' => $username));
							else $LANG_THREAD_ATTACHMENT_IMAGE = $lang->get("LANG_THREAD_ATTACHMENTS_IMAGE", array('$username' => $username));
							
							eval("\$attachmentbit_img .= \"".$tpl->get("thread_attachmentbit_show")."\";");
						}
					}
				}
				else {
					if (!file_exists($style['imagefolder']."/filetypes/".$attachment['attachmentextension'].".gif")) $extensionimage = "unknown";
					else $extensionimage = $attachment['attachmentextension'];
					$attachment['attachmentsize'] = ceil($attachment['attachmentsize'] / 1024);
					if ($attachment['counter'] >= 1000) $attachment['counter'] = number_format($attachment['counter'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP")); 
					$LANG_THREAD_ATTACHMENT_INFO = $lang->get("LANG_THREAD_ATTACHMENT_INFO", array('$attachmentsize' => $attachment['attachmentsize'], '$counter' => $attachment['counter']));
					if (!isset($LANG_THREAD_ATTACHMENT)) $LANG_THREAD_ATTACHMENT = $lang->get('LANG_THREAD_ATTACHMENT');
					else  $LANG_THREAD_ATTACHMENT = $lang->get('LANG_THREAD_ATTACHMENTS');
					
					eval("\$attachmentbit .= \"".$tpl->get("thread_attachmentbit")."\";");
				}				
			}
			eval("\$attachments = \"".$tpl->get("thread_attachments")."\";");
		}
		
		if ($posts['editorid']) {
			$editdate = formatdate($wbbuserdata['dateformat'], $posts['edittime'], 1);
			$edittime = formatdate($wbbuserdata['timeformat'], $posts['edittime']);
			$posts['editor'] = htmlconverter($posts['editor']);
			
			$LANG_THREAD_EDITOR = $lang->get("LANG_THREAD_EDITOR", array('$editcount' => $posts['editcount'], '$editor' => $posts['editor'], '$editdate' => $editdate, '$edittime' => $edittime));
		}
		
		if ($posts['userid']) {
			global $db, $n;
list($xa_rekorde) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_arcadegames WHERE championid_1 = '$posts[userid]' AND active = '1'");
if($xa_rekorde) $xait = "<br /><a href=\"./proarcade.php?userid=$posts[userid]$SID_ARG_2ND\">$posts[username] hält bei xArcade<br /><b>$xa_rekorde</b> Rekorde</a><br />";
else $xait = '';

$posts['homepage'] = htmlconverter($posts['homepage']);
			$posts['email'] = getASCIICodeString($posts['email']);
			
			$rankimages = formatRI($posts['rankimages']);
			if ($posts['title']) $posts['ranktitle'] = htmlconverter($posts['title']);
			else $posts['ranktitle'] = getlangvar($posts['ranktitle'], $lang);
			/* #### sternzeichen Hack by det1706  #### */
  switch($posts[sternzeichen]) {
		case 1: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen1")."\";"); break;
                case 2: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen2")."\";"); break;
                case 3: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen3")."\";"); break;
                case 4: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen4")."\";"); break;
                case 5: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen5")."\";"); break;
                case 6: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen6")."\";"); break;
                case 7: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen7")."\";"); break;
                case 8: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen8")."\";"); break;
                case 9: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen9")."\";"); break;
                case 10: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen10")."\";"); break;
                case 11: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen11")."\";"); break;
                case 12: eval ("\$sternzeichen = \"".$tpl->get("profile_sternzeichen12")."\";"); break;
                default: eval ("\$sternzeichen  = \"".$tpl->get("profile_nosternzeichen")."\";"); break;
	}
/* #### sternzeichen Hack by det1706 #### */
			if ($userratings == 1 && $showuserratinginthread == 1) $userrating = userrating($posts['ratingcount'], $posts['ratingpoints'], $posts['userid']);
			if ($showuserlevels == 1) $userlevel = userlevel($posts['userposts'], $posts['regdate']);
			
			if ($showonlineinthread == 1) {
				if (($posts['invisible'] == 0 || $wbbuserdata['a_can_view_ghosts'] == 1) && $posts['lastactivity'] >= time() - $useronlinetimeout * 60) {
					$user_online = 1;
					$LANG_MEMBERS_USERONLINE = $lang->get("LANG_MEMBERS_USERONLINE", array('$username' => $username));
				}
				else {
					$user_online = 0;
					$LANG_MEMBERS_USERONLINE = $lang->get("LANG_MEMBERS_USEROFFLINE", array('$username' => $username));
				}
			}
			
			if ($showregdateinthread == 1) $posts['regdate'] = formatdate($wbbuserdata['dateformat'], $posts['regdate']);
			
			if ($showuserfieldsinthread == 1 && is_array($this->userfieldcache) && count($this->userfieldcache)) {
				while (list($key, $val) = each($this->userfieldcache)) {
					$fieldcontent = textwrap($posts["field".$val['profilefieldid']], 20);
					if ($fieldcontent && $fieldcontent != "0000-00-00") {
						if ($val['fieldtype'] == "multiselect") $fieldcontent = str_replace("\n", "; ", $fieldcontent);
						elseif ($val['fieldtype'] == "date") {
							$row_datearray = explode("-", $fieldcontent);
							if ($row_datearray[0] == "0000") $fieldcontent = $row_datearray[2].".".$row_datearray[1].".";
							else $fieldcontent = $row_datearray[2].".".$row_datearray[1].".".$row_datearray[0];
						}
						$fieldcontent = htmlconverter($fieldcontent);
						eval("\$userfields .= \"".$tpl->get("thread_userfields")."\";");
					}
				}
			}
			
			if ($showgenderinthread == 0) $posts['gender'] = 0;
			if ($posts['gender'] == 1) $LANG_THREAD_MALE = $lang->get("LANG_THREAD_MALE", array('$username' => $username));
			if ($posts['gender'] == 2) $LANG_THREAD_FEMALE = $lang->get("LANG_THREAD_FEMALE", array('$username' => $username));
			
			if ($posts['showemail'] == 1 || $posts['usercanemail'] == 1) $LANG_MEMBERS_SENDEMAIL = $lang->get("LANG_MEMBERS_SENDEMAIL", array('$username' => $username));
			if ($posts['homepage']) $LANG_MEMBERS_HOMEPAGE = $lang->get("LANG_MEMBERS_HOMEPAGE", array('$username' => $username));
			
			$LANG_MEMBERS_SEARCH = $lang->get("LANG_MEMBERS_SEARCH", array('$username' => $username));
			$LANG_MEMBERS_BUDDY = $lang->get("LANG_MEMBERS_BUDDY", array('$username' => $username));
			
			if ($posts['receivepm'] == 1 && $wbbuserdata['can_use_pms'] == 1) $LANG_MEMBERS_PM = $lang->get("LANG_MEMBERS_PM", array('$username' => $username));
			
			if ($posts['icq']) $LANG_MEMBERS_ICQ = $lang->get("LANG_MEMBERS_ICQ", array('$username' => $username));
			if ($posts['aim']) {
				$posts['aim'] = htmlconverter($posts['aim']);
				$aim = $posts['aim'];
				$LANG_MEMBERS_AIM = $lang->get("LANG_MEMBERS_AIM", array('$username' => $username, '$aim' => $aim));
			}
			if ($posts['yim']) {
				$posts['yim'] = htmlconverter($posts['yim']);
				$yim = $posts['yim'];
				$LANG_MEMBERS_YIM = $lang->get("LANG_MEMBERS_YIM", array('$username' => $username, '$yim' => $yim));
			}
			if ($posts['msn']) {
				$posts['msn'] = htmlconverter($posts['msn']);
				$LANG_MEMBERS_MSN = $lang->get("LANG_MEMBERS_MSN", array('$username' => $username));
			}
			
			if ($posts['avatarid'] && $showavatar == 1 && $wbbuserdata['showavatars'] == 1) {
				$avatarname = "images/avatars/avatar-$posts[avatarid].".htmlconverter($posts['avatarextension']);
				$avatarwidth = $posts['width'];
				$avatarheight = $posts['height'];
				if ($posts['avatarextension'] == "swf" && $allowflashavatar == 1) eval("\$useravatar = \"".$tpl->get("avatar_flash")."\";");
				elseif ($posts['avatarextension'] != "swf") eval("\$useravatar = \"".$tpl->get("avatar_image")."\";");
			}
			
			if ($authormarking == 1 && $posts['useronlinemarking'] != '') $posts['username'] = sprintf($posts['useronlinemarking'], $posts['username']);
			if (isset($_GET['hilightuser']) && $_GET['hilightuser'] == $posts['userid']) $posts['username'] = "<span class=\"highlight\">".$posts['username']."</span>";
			
			if ($showthreadstarter == 1 && $thread['starterid'] == $posts['userid'] && $thread['starttime'] != $posts['posttime']) {
				$threadstarter = 1;
				$LANG_THREAD_THREADSTARTER_ALT = $lang->get("LANG_THREAD_THREADSTARTER_ALT", array('$starter' => $thread['starter']));
			}
			else $threadstarter = 0;
			
			if ($posts['showsignature'] == 1 && !$posts['disablesignature'] && $wbbuserdata['showsignatures'] == 1 && $posts['signature']) {
				$posts['signature'] = $this->parse->doparse($posts['signature'], $posts['allowsigsmilies'], $posts['allowsightml'], $posts['allowsigbbcode'], $posts['allowsigimages']);
				eval("\$signature = \"".$tpl->get("thread_signature")."\";");
			}
			
			if ($showuserpostsinthread == 1 && $posts['userposts'] >= 1000) $posts['userposts'] = number_format($posts['userposts'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP")); 
		}
		/* Guthaben A */
$waehrung = $guthaben['waehrung'];
$user_guthaben = number_format($posts['guthaben'],0,",",".");
/* Guthaben E */
		eval("\$postbit = \"".$tpl->get("thread_postbit")."\";");
		return $postbit;
	}
	
	
	/**
	* jump to last post
	*
	* @return void
	*/
	function lastpost() {
		global $visible, $SID_ARG_2ND_UN, $db, $n, $url2board;
		$result = $db->query_first("SELECT postid FROM bb".$n."_posts WHERE threadid = '".$this->threadid."' $visible ORDER BY posttime DESC", 1);
		header("Location: thread.php?postid=".$result['postid'].$SID_ARG_2ND_UN."#post$result[postid]");
		exit;	
	}
	
	/**
	* jump to first new post
	*
	* @param integer lastvisit
	*
	* @return void
	*/
	function firstnew($lastvisit) {
		global $visible, $db, $n, $SID_ARG_2ND_UN, $threadid, $url2board;
		$result = $db->query_first("SELECT postid FROM bb".$n."_posts WHERE threadid='".$this->threadid."' AND posttime>'".$lastvisit."' $visible ORDER BY posttime ASC", 1);
		if ($result['postid']) header("Location: thread.php?postid=".$result['postid'].$SID_ARG_2ND_UN."#post$result[postid]");
		else header("Location: thread.php?goto=lastpost&threadid=".$threadid.$SID_ARG_2ND_UN);
		exit;
	}
	
	
	/**
	* jump to next newest thread
	*
	* @return void
	*/
	function nextnewest() {
		global $db, $n, $thread, $boardid, $tpl, $lang, $threadid;
		$result = $db->query_first("SELECT threadid FROM bb".$n."_threads WHERE visible = 1 AND lastposttime>'$thread[lastposttime]' AND closed <> 3 AND boardid = '$boardid' ORDER BY lastposttime ASC", 1);
		if (!$result['threadid']) error($lang->get("LANG_THREAD_ERROR_NONEXTNEWEST"));
		$threadid = $result['threadid'];
		$this->threadid = $threadid;
		$thread = $db->query_first("SELECT * FROM bb".$n."_threads WHERE threadid = '".$this->threadid."'");
	}
	
	/**
	* jump to next oldest thread
	*
	* @return void
	*/
	function nextoldest() {
		global $db, $n, $thread, $boardid, $tpl, $lang, $threadid;
		$result = $db->query_first("SELECT threadid FROM bb".$n."_threads WHERE visible = 1 AND lastposttime<'$thread[lastposttime]' AND closed <> 3 AND boardid = '$boardid' ORDER BY lastposttime DESC", 1);
		if (!$result['threadid']) error($lang->get("LANG_THREAD_ERROR_NONEXTOLDEST"));
		$threadid = $result['threadid'];
		$this->threadid = $threadid;
		$thread = $db->query_first("SELECT * FROM bb".$n."_threads WHERE threadid = '$threadid'");	
	}
	
	/**
	* create links to further pages
	*
	* @return void
	*/
	function makePagelink() {
		global $SID_ARG_2ND, $threadview, $hilight, $hilightuser, $showpagelinks;
		$this->pagelink = makepagelink("thread.php?threadid=".$this->threadid."&amp;threadview=$threadview&amp;hilight=".urlencode($hilight)."&amp;hilightuser=$hilightuser".$SID_ARG_2ND, $this->page, $this->pages, $showpagelinks - 1);
	}
	
	
	/**
	* read post information from database
	*
	* @return resource result
	*/
	function readPosts() {
		global $docensor, $board, $wbbuserdata, $hilight, $usecode, $showuserfieldsinthread, $db, $n, $showavatar, $authormarking, $lang; 
		$this->parse = &new parse($docensor, 75, $wbbuserdata['showimages'], $hilight, $usecode);
		
		if ($this->readAttachments) {
			$result = $db->unbuffered_query("SELECT postid, attachmentid, attachmentname, attachmentextension, attachmentsize, counter, thumbnailextension FROM bb".$n."_attachments WHERE postid IN (0".$this->postids.") ORDER BY uploadtime");
			while ($row = $db->fetch_array($result)) {
				$this->attachmentArray[$row['postid']][$row['attachmentid']] = $row;
			}
		}
		
		if ($showuserfieldsinthread == 1) {
			$userfields = ", uf.*";
			$userfieldsjoin = "LEFT JOIN bb".$n."_userfields uf ON (uf.userid=p.userid)";
			$result = $db->unbuffered_query("SELECT profilefieldid, title, fieldtype FROM bb".$n."_profilefields WHERE showinthread=1".(($wbbuserdata['a_can_view_hidden'] == 0) ? (" AND hidden=0") : (""))." ORDER BY fieldorder ASC");
			while ($row = $db->fetch_array($result)) {
				$row['title'] = getlangvar($row['title'], $lang);
				$this->userfieldcache[] = $row;
			}
		}
		else {
			$userfields = '';
			$userfieldsjoin = '';
		}
		
		if ($showavatar == 1) {
			$avatar = ", av.avatarid, av.avatarextension, av.width, av.height";
			$avatarjoin = "LEFT JOIN bb".$n."_avatars av ON (u.avatarid=av.avatarid)";
		}
		else {
			$avatar = '';
			$avatarjoin = '';	
		}
		
		if ($authormarking == 1) {
			$marking = ", g.useronlinemarking";
			$markingjoin = "LEFT JOIN bb".$n."_groups g ON (u.useronlinegroupid=g.groupid)";
		}
		else {
			$marking = '';
			$markingjoin = '';	
		}
		
		
		$result = $db->query("SELECT p.*, pc.cache,
		u.userposts, u.regdate, u.signature, u.email, u.homepage, u.icq, u.aim, u.yim, u.msn, u.showemail, u.receivepm, u.usercanemail, u.ratingcount, u.ratingpoints, u.gender, u.invisible, u.title, u.sternzeichen, u.lastactivity, u.allowsigsmilies, u.allowsightml, u.allowsigbbcode, u.allowsigimages, u.disablesignature, u.guthaben,
		r.ranktitle, r.rankimages,
		i.iconpath, i.icontitle
		$userfields
		$avatar
		$marking
		FROM bb".$n."_posts p 
		LEFT JOIN bb".$n."_users u USING (userid)
		LEFT JOIN bb".$n."_ranks r USING (rankid)
		LEFT JOIN bb".$n."_icons i ON (p.iconid=i.iconid)
		LEFT JOIN bb".$n."_postcache pc ON (p.postid=pc.postid)
		$userfieldsjoin
		$avatarjoin
		$markingjoin
		WHERE p.postid IN (0".$this->postids.")".$this->orderBy);
		
		return $result;
	}
}














/** FlatThread Class **/
class FlatThread extends Thread {
	
	/**
	* constructor
	*
	* @param integer threadid
	*/
	function FlatThread($threadid) {
		$this->threadid = $threadid;
	}
	
	/**
	* get and stores the pagenumber of a certain message
	*
	* @param integer postid
	*
	* @return void
	*/
	function gotoPost($postid) {
		global $db, $n, $visible, $postorder, $postsperpage, $_GET;
		if ($postorder == 0) $result = $db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts WHERE threadid='".$this->threadid."' AND postid<='$postid' $visible");
		else $result = $db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts WHERE threadid='$threadid' AND postid>='$postid' $visible");
		$_GET['page'] = ceil($result['posts'] / $postsperpage);
	}
	
	
	/**
	* parse messages and returns complete postbit
	*
	* @return string postbit
	*/
	function start() {
		global $postorder, $db;
		$this->getPostIds();	
		
		$this->orderBy = "ORDER BY p.posttime ".(($postorder) ? ("DESC") : ("ASC"));
		
		$count = 0;
		$postbit = '';
		$result = $this->readPosts();
		while ($row = $db->fetch_array($result)) $postbit .= $this->makePostBit($row, $count++);
		
		return $postbit;	
	}
	
	
	/**
	* get and stores the postids of the current page
	*
	* @return void
	*/
	function getPostIds() {
		global $visible, $db, $n, $_GET, $postsperpage, $postorder, $thread;
		$postcount = $thread['replycount'] + 1;
		
		if (isset($_GET['page'])) {
			$this->page = intval($_GET['page']);
			if ($this->page == 0) $this->page = 1;
		}
		else $this->page = 1;
		
		$this->pages = ceil($postcount / $postsperpage);
		if ($this->pages > 1) $this->makePagelink();
		
		$result = $db->unbuffered_query("SELECT postid, attachments FROM bb".$n."_posts WHERE threadid = '".$this->threadid."' $visible ORDER BY posttime ".(($postorder) ? ("DESC") : ("ASC")), 0, $postsperpage, $postsperpage * ($this->page - 1));
		while ($row = $db->fetch_array($result)) {
			$this->postids .= ",".$row['postid'];
			if ($row['attachments']) $this->readAttachments = true;
		}
	}
}












/** ThreadedThread Class **/
class ThreadedThread extends Thread {
	
	/**
	* @var integer offset
	*/
	var $offset = 0;

	/**
	* @var integer offset2
	*/
	var $offset2 = 0;

	/**
	* @var array cache
	*/
	var $cache = array();

	/**
	* @var array list
	*/
	var $list = array();

	/**
	* @var integer max
	*/
	var $max = -1;

	/**
	* @var integer total
	*/
	var $total = 0;

	/**
	* @var integer cout
	*/
	var $count = 0;

	/**
	* @var string postbitlist
	*/
	var $postbitlist = '';
	
	
	/**
	* constructor
	*
	* @param integer threadid
	*/
	function ThreadedThread($threadid) {
		$this->threadid = $threadid;
	}	
	
	
	/**
	* get and stores the pagenumber of a certain message
	*
	* @param integer postid
	*
	* @return void
	*/
	function gotoPost($postid) {
		global $_GET, $postsperpage, $db, $n, $visible;	
		
		$result = $db->query("SELECT postid, parentpostid, attachments FROM bb".$n."_posts WHERE threadid='".$this->threadid."' $visible ORDER BY posttime ASC");
		$this->total = $db->num_rows($result);
		while ($row = $db->fetch_array($result)) {
			$this->cache[$row['parentpostid']][$row['postid']] = 1;
			if ($row['attachments']) $this->readAttachments = true;
		}
		
		$this->countPosts($postid);
		$_GET['page'] = ceil($this->count / $postsperpage);
	}
	
	
	/**
	* get and stores the number of a certain message in threaded view
	* 
	* @param integer postid
	* @param integer count
	* @param integer parentid
	*
	* @return void
	*/
	function countPosts($finalpostid, $count = 0, $parentid = 0) {
		if (!isset($this->cache[$parentid])) return $count;
		reset($this->cache[$parentid]);
		
		while (list($postid, ) = each($this->cache[$parentid])) {
			$count++;
			if ($postid == $finalpostid) {
				$this->count = $count;
				break;
			}
			$count = $this->countPosts($finalpostid, $count, $postid); 	
		}
		
		return $count;	
	}
	
	/**
	* parse messages and returns complete postbit
	*
	* @return string postbit
	*/
	function start() {
		global $db, $n, $postsperpage, $_GET, $visible;
		
		if (isset($_GET['page'])) {
			$this->page = intval($_GET['page']);
			if ($this->page == 0) $this->page = 1;
		}
		else $this->page = 1;
		
		$this->offset = $postsperpage * ($this->page - 1);
		$this->offset2 = $this->offset + $postsperpage;
		
		if (count($this->cache) == 0) {
			$result = $db->query("SELECT postid, parentpostid, attachments FROM bb".$n."_posts WHERE threadid='".$this->threadid."' $visible ORDER BY posttime ASC");
			$this->total = $db->num_rows($result);
			while ($row = $db->fetch_array($result)) {
				$this->cache[$row['parentpostid']][$row['postid']] = 1;
				if ($row['attachments']) $this->readAttachments = true;
			}
		}
		
		$this->pages = ceil($this->total / $postsperpage);
		if ($this->pages > 1) $this->makePagelink();
		
		reset($this->cache);
		$this->generate();
		if ($this->max > 0) $this->sync();
		$result = $this->readPosts();
		
		while ($posts = $db->fetch_array($result)) {
			$temp = $this->list[$posts['postid']];
			$this->list[$posts['postid']] = $posts;
			$this->list[$posts['postid']]['depth'] = $temp;	
		}
		
		$count = 0;
		$postbit = '';
		reset($this->list);
		while (list($postid, ) = each($this->list)) {
			$postbit .= $this->makePostBit($this->list[$postid], $count++, $this->list[$postid]['depth'] * 15);
			$this->postbitlist .= $this->makePostBitList($this->list[$postid], $this->list[$postid]['depth'] * 15);
		}
		return $postbit;
	}
	
	
	/**
	* calculates the depth of the threaded view
	*
	* @param integer parentid
	* @param integer count
	* @param integer depth
	*
	* @return integer count
	*/
	function generate($parentid = 0, $count = 0, $depth = 0) {
		if (!isset($this->cache[$parentid])) return $count;
		reset($this->cache[$parentid]);
		
		while (list($postid, ) = each($this->cache[$parentid])) {
			if ($count >= $this->offset && $count < $this->offset2) {
				if ($this->max == -1) $this->max = $depth;
				if ($depth < $this->max) $this->max = $depth;
				
				$this->list[$postid] = $depth;
				$this->postids .= ",".$postid;	
			}	
			$count++;
			$count = $this->generate($postid, $count, $depth + 1); 	
		}
		
		return $count;
	}
	
	
	/**
	* generates a postlist
	* 
	* @param array posts
	* @param integer imgwidth
	*
	* @return string postlist
	*/
	function makePostBitList($posts, $imgwidth = 0) {
		global $tpl, $wbbuserdata, $lang, $SID_ARG_1ST, $SID_ARG_2ND, $SID_ARG_2ND_UN, $style, $thread;
		
		$postdate = formatdate($wbbuserdata['dateformat'], $posts['posttime']);
		$posttime = formatdate($wbbuserdata['timeformat'], $posts['posttime']);
		
		if (!$posts['posttopic']) $posts['posttopic'] = "RE: ".$thread['topic']; 
		$posts['posttopic'] = htmlconverter(textwrap($posts['posttopic']));
		$posts['username'] = htmlconverter(textwrap($posts['username'], 30));
		
		if ($posts['posttime'] > $thread['lastvisit']) $newpost = 1;
		else $newpost = 0;
		
		
		eval("\$postbit = \"".$tpl->get("thread_postbitlist")."\";");
		return $postbit;
	}
	
	/**
	* calculates the depth of the threaded view
	*
	* @return void
	*/
	function sync() {
		reset($this->list);
		while (list($postid, $depth) = each($this->list)) $this->list[$postid] = $depth - $this->max;
	}	
}













if (checkmodpermissions()) $visible = '';
else $visible = "AND visible=1";

if (isset($_REQUEST['threadview'])) $threadview = intval($_REQUEST['threadview']);
else $threadview = $wbbuserdata['threadview'];

if (isset($_REQUEST['hilight'])) $hilight = urldecode($_REQUEST['hilight']);
else $hilight = '';

if (isset($_REQUEST['hilightuser'])) $hilightuser = intval($_REQUEST['hilightuser']);
else $hilightuser = 0;

if (!isset($_REQUEST['goto'])) $_REQUEST['goto'] = '';

if ($threadview == 1) $t = &new ThreadedThread($threadid);
else $t = &new FlatThread($threadid);

/* goto actions 1 */
if ($_REQUEST['goto'] == "lastpost") $t->lastpost();
if ($_REQUEST['goto'] == "nextnewest") $t->nextnewest();
if ($_REQUEST['goto'] == "nextoldest") $t->nextoldest();

/* threadvisit */
if ($board['lastvisit'] > $thread['lastvisit']) $thread['lastvisit'] = $board['lastvisit'];
if ($wbbuserdata['lastvisit'] > $thread['lastvisit']) $thread['lastvisit'] = $wbbuserdata['lastvisit'];

/* goto actions 2 */
if ($_REQUEST['goto'] == "firstnew") $t->firstnew($thread['lastvisit']);
if ($_REQUEST['goto'] == "firstnew_thread") $t->firstnew($wbbuserdata['lastvisit']);


if ($wbbuserdata['umaxposts']) $postsperpage = $wbbuserdata['umaxposts'];
elseif ($board['postsperpage']) $postsperpage = $board['postsperpage'];
else $postsperpage = $default_postsperpage;
$postorder = $board['postorder'];

if (isset($postid)) $t->gotoPost($postid);

$db->unbuffered_query("UPDATE bb".$n."_threads SET views=views+1 WHERE threadid='$threadid'", 1);
if ($wbbuserdata['userid'] && $thread['lastposttime'] > $thread['lastvisit']) $db->unbuffered_query("REPLACE INTO bb".$n."_threadvisit (threadid,userid,lastvisit) VALUES ('".$threadid."','".$wbbuserdata['userid']."','".time()."')", 1);


$boardnavcache = array();
if ($showboardjump == 1) $boardjump = makeboardjump($boardid);
$navbar = getNavbar($board['parentlist']);
eval("\$navbar .= \"".$tpl->get("navbar_board")."\";");

$postbit = $t->start();
$thread_poll = '';
if ($thread['pollid']) {
	if (checkmodpermissions("m_can_edit_poll")) eval("\$mod_poll_edit = \"".$tpl->get("thread_poll_edit")."\";");
	unset($votecheck);
	
	$poll = $db->query_first("SELECT * FROM bb".$n."_polls WHERE pollid='$thread[pollid]'");
	$poll['question'] = htmlconverter($poll['question']);
	
	if ($poll['timeout'] == 0) $timeout = time() + 1;
	else $timeout = $poll['starttime'] + $poll['timeout'] * 86400;
	if ($_REQUEST['preresult'] != 1 && checkpermissions("can_vote_poll") == 1 && $timeout >= time()) {
		if ($wbbuserdata['userid']) $votecheck = $db->query_first("SELECT id AS pollid FROM bb".$n."_votes WHERE id='$thread[pollid]' AND votemode=1 AND userid='$wbbuserdata[userid]'");
		else $votecheck = $db->query_first("SELECT id AS pollid FROM bb".$n."_votes WHERE id='$thread[pollid]' AND votemode=1 AND ipaddress='$REMOTE_ADDR'");
	} 
	
	// already voted; show result
	if ($_REQUEST['preresult'] == 1 || $votecheck['pollid'] || !checkpermissions("can_vote_poll") || $timeout < time()) {
		$votes = 0;
		unset($polloption);
		$totalvotes = 0;
		$polloptions = array();
		$result = $db->unbuffered_query("SELECT * FROM bb".$n."_polloptions WHERE pollid='$thread[pollid]' ORDER BY votes DESC");
		while ($row = $db->fetch_array($result)) {
			$totalvotes += $row['votes'];
			$polloptions[] = $row;
		}
		
		$i = 1;
		if (count($polloptions)) {
			while (list($key, $row) = each($polloptions)) {
				$row['polloption'] = htmlconverter(textwrap($row['polloption']));
				if ($totalvotes) {
					$percent_float = $row['votes'] * 100 / $totalvotes;
					$percent = number_format($percent_float, 2);
					$percent_int = floor($percent_float) * 3;
					$percent_int += 1;	
				}
				else $percent = $percent_int = 0; 
				eval("\$thread_poll_resultbit .= \"".$tpl->get("thread_poll_resultbit")."\";");
				if ($i == 5) $i = 0;
				$i++;
			}
		}
		
		$lang->items['LANG_THREAD_POLL_VOTES'] = $lang->get("LANG_THREAD_POLL_VOTES", array('$totalvotes' => $totalvotes));
		eval("\$thread_poll = \"".$tpl->get("thread_poll_result")."\";");
	}
	else {
		if ($poll['choicecount'] > 1) $inputtype = "checkbox";
		else $inputtype = "radio";
		
		$result = $db->unbuffered_query("SELECT * FROM bb".$n."_polloptions WHERE pollid='$thread[pollid]' ORDER BY showorder ASC");
		while ($row = $db->fetch_array($result)) {
			$row['polloption'] = htmlconverter(textwrap($row['polloption']));
			eval("\$thread_pollbit .= \"".$tpl->get("thread_pollbit")."\";");
		}
		
		eval("\$thread_poll = \"".$tpl->get("thread_poll")."\";");
	}
}

if ($board['allowratings'] == 1) {
	$colors = createGradient($style['gradientleft'], $style['gradientmiddle'], $style['gradientright']);
	if ($thread['voted'] && $thread['voted'] >= $showvotes) $threadrating = threadrating($thread['votepoints'], $thread['voted']);
}
else $threadrating = '';

if ($board['closed'] == 0) eval("\$newthread = \"".$tpl->get("board_newthread")."\";");
if ($thread['closed'] != 0) eval("\$addreply = \"".$tpl->get("thread_closed")."\";");
elseif ($board['closed'] == 0) eval("\$addreply = \"".$tpl->get("thread_addreply")."\";");
/* Ähnliche Themen */
$threadtopic = addslashes($thread['topic']);
/* Ähnliche Themen Ende */

$thread['topic'] = htmlconverter(textwrap($thread['topic']));

if ($board['emailnotify'] == 1 && $board['countemails'] != 0) $db->unbuffered_query("UPDATE bb".$n."_subscribeboards SET countemails=0 WHERE userid = '".$wbbuserdata['userid']."' AND boardid = '".$boardid."'", 1);
if ($thread['emailnotify'] == 1 && $thread['countemails'] != 0) $db->unbuffered_query("UPDATE bb".$n."_subscribethreads SET countemails=0 WHERE userid = '".$wbbuserdata['userid']."' AND threadid = '".$threadid."'", 1);


/* Ähnlich Themen */
function GetAccessableForums() {
	global $db, $n, $wbbuserdata, $boardcache;
	
	if (!isset($boardcache) || !is_array($boardcache)) $boardcache = array();
	$result = $db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards ORDER BY parentid ASC, boardorder ASC");
	while ($row = $db->fetch_array($result)) {
		$boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
	}

	$boardpermissions = getPermissions();
	$boardids = '';
	foreach ($boardcache as $key => $val) {
		foreach ($val as $key2 => $val2) {
			foreach ($val2 as $row) if ((!isset($boardpermissions[$row['boardid']]['can_view_board']) || $boardpermissions[$row['boardid']]['can_view_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_enter_board']) || $boardpermissions[$row['boardid']]['can_enter_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_read_thread']) || $boardpermissions[$row['boardid']]['can_read_thread'] != 0)) $boardids .= ",".$row['boardid'];
		}	
	}
	return $boardids;
}

/* Unset Used Vars To Avoid Hacking Attempts */
unset($similar_thread_bit);
unset($like_string);

$ttopic = str_replace("."," ",$threadtopic);
$ttopic = str_replace("!"," ",$ttopic);
$ttopic = str_replace("?"," ",$ttopic);
$ttopic = str_replace("/"," ",$ttopic);
$ttopic = str_replace("§"," ",$ttopic);
$ttopic = str_replace("$"," ",$ttopic);
$ttopic = str_replace("%"," ",$ttopic);
$ttopic = str_replace("&"," ",$ttopic);
$ttopic = str_replace("("," ",$ttopic);
$ttopic = str_replace(")"," ",$ttopic);
$ttopic = str_replace("="," ",$ttopic);
$ttopic = str_replace("\\"," ",$ttopic);
$ttopic = str_replace("?"," ",$ttopic);
$ttopic = str_replace("-"," ",$ttopic);
$ttopic = str_replace("*"," ",$ttopic);
$ttopic = str_replace("+"," ",$ttopic);
$ttopic = str_replace("#"," ",$ttopic);
$ttopic = str_replace("_"," ",$ttopic);
$ttopic = str_replace(","," ",$ttopic);
$ttopic = str_replace(":"," ",$ttopic);
$ttopic = str_replace(";"," ",$ttopic);
$ttopic = str_replace("<"," ",$ttopic);
$ttopic = str_replace(">"," ",$ttopic);
$ttopic = str_replace("|"," ",$ttopic);
$ttopic = str_replace("~"," ",$ttopic);
$ttopic = str_replace("'"," ",$ttopic);
$ttopic = str_replace('"',' ',$ttopic);
$ttopic = explode(" ",$ttopic);
$badwordlist = explode("\n",$badsearchwords);
$y = count($ttopic);
if($y>1) {
  foreach($ttopic as $tt) {
  	if(!in_array($tt, $badwordlist)) {
  		if(strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength) $x++;
  		if($x>1 && (strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength)) $like_string .= " OR t.topic LIKE ";
  		if(strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength) $like_string .= "'%".$tt."%'";
  }
}
} else $like_string = "'%$threadtopic%'";
if($like_string) {
	$similar = $db->query("SELECT
                      t.threadid, t.boardid, x.title, x.boardid, t.prefix, t.topic, t.starttime, t.starterid, t.starter, t.lastposttime, t.lastposterid, t.lastposter, t.replycount, t.views, t.attachments, t.closed, t.important, t.pollid
                      FROM bb".$n."_threads t, bb".$n."_boards x
                      LEFT JOIN bb".$n."_boards b ON (t.boardid=b.boardid)
                      WHERE t.visible='1'
                      AND t.closed <> 3
                      AND t.threadid <> $threadid
                      AND b.password=''
                      AND t.boardid=x.boardid
                      AND t.boardid IN (0".GetAccessableForums().")
                      AND (t.topic LIKE ".$like_string.")
                      ORDER BY t.lastposttime DESC
                      LIMIT 0, 5;");
	}
if($like_string && $db->num_rows($similar)) {
	$i = "0";
	while ($row = $db->fetch_array($similar)) {
		$i++;
		$tdclass = getone($i, "tablea", "tableb");
		$started = formatdate($wbbuserdata['dateformat'], $row['starttime'],1);
		$started .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['starttime'])."</span>";
		$lastreply = formatdate($wbbuserdata['dateformat'], $row['lastposttime'],1);
		$lastreply .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['lastposttime'])."</span>";
		if ($row['replycount'] >= 1000) $row['replycount'] = number_format($row['replycount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if ($row['views'] >= 1000) $row['views'] = number_format($row['views'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if (strlen($row['topic']) > 60) $row['topic'] = substr($row['topic'], 0, 54).' [...]';
		$row['topic'] = htmlconverter($row['topic']);
		eval("\$similar_thread_bit .= \"".$tpl->get("thread_similarthread_bit")."\";");
	}
	eval("\$similar_thread = \"".$tpl->get("thread_similarthread")."\";");
}
/* Ähnliche Themen Ende */

eval("\$tpl->output(\"".$tpl->get("thread")."\");");
?>
15.04.05 11:19 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
Icebreaker3108 Icebreaker3108 ist männlich
Mitglied


Dabei seit: 19.01.04
Beiträge: 96
Forenversion: 2.1.3

Antworten Zitieren Editieren Melden       UP

Ja, dafür muss ich mich nochmals entschuldigen - war gestern ein wenig mies drauf, da ich noch andern Stress hatte. Next time, kommt net mehr vor Freude

Aber danke nochmals für die Bearbeitung des Thread.php, funktioniert nun auf Anhieb Freude . Toller Hack
15.04.05 21:13 Icebreaker3108 ist offline E-Mail WWW Finden Als Freund hinzufügen
snogard
Mitglied


Dabei seit: 21.04.04
Beiträge: 35

Antworten Zitieren Editieren Melden       UP

ok habe ihn nu drinne was mir aufgefallen ist bei thema wie zb

Das Schwiegermonster [Kino]

wir als ähnlich angegeben :

Das macht Angst ...



also es wäre geil wenn es ne begrenzung gibt das wörter mit 3 buchstaben gar nicht erst gesucht werden wie zb new das err wie ......
ist das möglich ?

//edit//

noch besser wenn die acp einstellung genutzt wird Einstellungen: Suchfunktion

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von snogard: 31.05.05 13:31.

31.05.05 13:29 snogard ist offline E-Mail Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

*eigentlich* wird das ausm ACP -> Einstellungen -> Suchfunktion genutzt. Versuch mal die minimale Länge für ein zu suchendes Wort auf 4 zu stellen...
01.06.05 14:44 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
Okty Okty ist männlich
Mitglied


Dabei seit: 16.01.04
Beiträge: 43

Antworten Zitieren Editieren Melden       UP

Hi bei mir zeigt garnichts an habe alles so instaliert wie es in der anleitung steht aber bei mir kommt nicght mal etwas vor.
hier kann sich jeder mal anschauen www.oktys-reptilien-world.de
und hier gebe ich auch mal mein thread.php durch dann könnt Ihr ja mal sagen ob ich da was falsch gemacht habe.

Dateianhang:
unknown thread.php (38 KB, 1 mal heruntergeladen)
02.06.05 13:17 Okty ist offline E-Mail WWW Finden Als Freund hinzufügen Füge Okty in deine Kontaktliste ein
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Mit der *aktuellen* Beta findet man wesentlich mehr *ähnliche* Themen.... ist in deine thread.php jetzt eingebaut.

Dateianhang:
unknown thread.php (40 KB, 12 mal heruntergeladen)
02.06.05 14:25 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
Okty Okty ist männlich
Mitglied


Dabei seit: 16.01.04
Beiträge: 43

Antworten Zitieren Editieren Melden       UP

rellek danke es hat gefunzt super.
Habe aber noch eine frage und zwar würde ich das Ähnliche Themen Box unter dem Themabewerten haben wo muss ich den code genau unter Thread-tmpl setzen.
02.06.05 19:12 Okty ist offline E-Mail WWW Finden Als Freund hinzufügen Füge Okty in deine Kontaktliste ein
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Das ist normalerweise unter dem Thema bewerten....

Code-Stelle wäre aber:
code:
1:
2:
3:
4:
5:
6:
7:
8:
                    <input type="hidden" name="sid" value="$session[hash]" />
  <input type="hidden" name="threadid" value="$threadid" />
  <input type="hidden" name="page" value="{$t->page}" />
  </form></td>
  </tr>
   </table><br />
  </then>
</if>
03.06.05 06:38 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
streetracer04
Mitglied


images/avatars/avatar-2431.jpg

Dabei seit: 04.06.05
Beiträge: 69
Forenversion: WBB 2.3

Cool RE: Ähnliche Themen Antworten Zitieren Editieren Melden       UP

Hab ma wieder nen Problem^^

Zum Problem

Da fehlen die Überschriften *ratlossei*

Ich hänge mal die unbearbeitete datei thread.php an
(da sind schon einige hacks drin, deshalb bitte keine Standart-Datei anpassen, ok?)

Ich bin aber auch ein Problemkind hier^^

Trotzdem schonmal danke dafür smile

Dateianhang:
unknown thread.php (34 KB, 1 mal heruntergeladen)


__________________
Banner entfernt, bitte Regeln beachten!

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von streetracer04: 07.06.05 17:44.

07.06.05 17:09 streetracer04 ist offline E-Mail WWW Finden Als Freund hinzufügen
Simps-O-Rama
Mitglied


Dabei seit: 19.06.04
Beiträge: 3.165

Antworten Zitieren Editieren Melden       UP

Hast du die Sprachdatei importiert?
07.06.05 17:29 Simps-O-Rama ist offline E-Mail Finden Als Freund hinzufügen
streetracer04
Mitglied


images/avatars/avatar-2431.jpg

Dabei seit: 04.06.05
Beiträge: 69
Forenversion: WBB 2.3

Antworten Zitieren Editieren Melden       UP

äh ach mom, wenn das ne Sprachdatei ist, wie du sagst, dann muss ich die als Sprachvariable hochladen, ne?

mom smile


Edit
Hast mir geholfen, danke smile

(ps.: ich lerne noch *g*)

__________________
Banner entfernt, bitte Regeln beachten!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von streetracer04: 07.06.05 17:48.

07.06.05 17:45 streetracer04 ist offline E-Mail WWW Finden Als Freund hinzufügen
The White Wolf The White Wolf ist männlich
Mitglied


images/avatars/avatar-260.gif

Dabei seit: 17.01.04
Beiträge: 409
Herkunft: Bleckede
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Hm, bei mir wird auch nicht alles angezeigt. So habe ich eben mal das Stichwort Arcade eingeben, bin dann in dieses Thema reingegangen und unten wurde nur ein weiteres Thema angezeigt, obwohl es weitere Themen mit der Überschrift (wo das Wort Arcade) enthalten ist.
19.06.05 15:32 The White Wolf ist offline E-Mail WWW Finden Als Freund hinzufügen
rellek rellek ist männlich
retired


Dabei seit: 16.01.04
Beiträge: 720

Themenstarter Thema begonnen von rellek
Antworten Zitieren Editieren Melden       UP

Hast du die aktuelle Beta eingebaut?
-> Ähnliche Themen
20.06.05 15:14 rellek ist offline WWW Finden Als Freund hinzufügen Füge rellek in deine Kontaktliste ein
The White Wolf The White Wolf ist männlich
Mitglied


images/avatars/avatar-260.gif

Dabei seit: 17.01.04
Beiträge: 409
Herkunft: Bleckede
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von rellek
Wer am Beta-Test der neuen Version teilnehmen möchte, der ersetzt bitte den längeren Abschnitt zwischen den beiden
code:
1:
/* Ähnliche Themen */

und
code:
1:
/* Ähnliche Themen Ende */


mit:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
/* Ähnlich Themen */
function GetAccessableForums() {
	global $db, $n, $wbbuserdata, $boardcache;
	
	if (!isset($boardcache) || !is_array($boardcache)) $boardcache = array();
	$result = $db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards ORDER BY parentid ASC, boardorder ASC");
	while ($row = $db->fetch_array($result)) {
		$boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
	}

	$boardpermissions = getPermissions();
	$boardids = '';
	foreach ($boardcache as $key => $val) {
		foreach ($val as $key2 => $val2) {
			foreach ($val2 as $row) if ((!isset($boardpermissions[$row['boardid']]['can_view_board']) || $boardpermissions[$row['boardid']]['can_view_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_enter_board']) || $boardpermissions[$row['boardid']]['can_enter_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_read_thread']) || $boardpermissions[$row['boardid']]['can_read_thread'] != 0)) $boardids .= ",".$row['boardid'];
		}	
	}
	return $boardids;
}

/* Unset Used Vars To Avoid Hacking Attempts */
unset($similar_thread_bit);
unset($like_string);

$ttopic = str_replace("."," ",$threadtopic);
$ttopic = str_replace("!"," ",$ttopic);
$ttopic = str_replace("?"," ",$ttopic);
$ttopic = str_replace("/"," ",$ttopic);
$ttopic = str_replace("§"," ",$ttopic);
$ttopic = str_replace("$"," ",$ttopic);
$ttopic = str_replace("%"," ",$ttopic);
$ttopic = str_replace("&"," ",$ttopic);
$ttopic = str_replace("("," ",$ttopic);
$ttopic = str_replace(")"," ",$ttopic);
$ttopic = str_replace("="," ",$ttopic);
$ttopic = str_replace("\\"," ",$ttopic);
$ttopic = str_replace("?"," ",$ttopic);
$ttopic = str_replace("-"," ",$ttopic);
$ttopic = str_replace("*"," ",$ttopic);
$ttopic = str_replace("+"," ",$ttopic);
$ttopic = str_replace("#"," ",$ttopic);
$ttopic = str_replace("_"," ",$ttopic);
$ttopic = str_replace(","," ",$ttopic);
$ttopic = str_replace(":"," ",$ttopic);
$ttopic = str_replace(";"," ",$ttopic);
$ttopic = str_replace("<"," ",$ttopic);
$ttopic = str_replace(">"," ",$ttopic);
$ttopic = str_replace("|"," ",$ttopic);
$ttopic = str_replace("~"," ",$ttopic);
$ttopic = str_replace("'"," ",$ttopic);
$ttopic = str_replace('"',' ',$ttopic);
$ttopic = explode(" ",$ttopic);
$badwordlist = explode("\n",$badsearchwords);
$y = count($ttopic);
if($y>1) {
  foreach($ttopic as $tt) {
  	if(!in_array($tt, $badwordlist)) {
  		if(strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength) $x++;
  		if($x>1 && (strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength)) $like_string .= " OR t.topic LIKE ";
  		if(strlen($tt)>=$minwordlength && strlen($tt)<=$maxwordlength) $like_string .= "'%".$tt."%'";
  }
}
} else $like_string = "'%$threadtopic%'";
if($like_string) {
	$similar = $db->query("SELECT
                      t.threadid, t.boardid, x.title, x.boardid, t.prefix, t.topic, t.starttime, t.starterid, t.starter, t.lastposttime, t.lastposterid, t.lastposter, t.replycount, t.views, t.attachments, t.closed, t.important, t.pollid
                      FROM bb".$n."_threads t, bb".$n."_boards x
                      LEFT JOIN bb".$n."_boards b ON (t.boardid=b.boardid)
                      WHERE t.visible='1'
                      AND t.closed <> 3
                      AND t.threadid <> $threadid
                      AND b.password=''
                      AND t.boardid=x.boardid
                      AND t.boardid IN (0".GetAccessableForums().")
                      AND (t.topic LIKE ".$like_string.")
                      ORDER BY t.lastposttime DESC
                      LIMIT 0, 5;");
	}
if($like_string && $db->num_rows($similar)) {
	$i = "0";
	while ($row = $db->fetch_array($similar)) {
		$i++;
		$tdclass = getone($i, "tablea", "tableb");
		$started = formatdate($wbbuserdata['dateformat'], $row['starttime'],1);
		$started .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['starttime'])."</span>";
		$lastreply = formatdate($wbbuserdata['dateformat'], $row['lastposttime'],1);
		$lastreply .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['lastposttime'])."</span>";
		if ($row['replycount'] >= 1000) $row['replycount'] = number_format($row['replycount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if ($row['views'] >= 1000) $row['views'] = number_format($row['views'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
		if (strlen($row['topic']) > 60) $row['topic'] = substr($row['topic'], 0, 54).' [...]';
		$row['topic'] = htmlconverter($row['topic']);
		eval("\$similar_thread_bit .= \"".$tpl->get("thread_similarthread_bit")."\";");
	}
	eval("\$similar_thread = \"".$tpl->get("thread_similarthread")."\";");
}
/* Ähnliche Themen Ende */


Auftretende Bugs bitte melden !


Wohl ne blöde Frage - aber in welcher Datei ?
20.06.05 20:56 The White Wolf ist offline E-Mail WWW Finden Als Freund hinzufügen
Bandy Bandy ist männlich
Mitglied


images/avatars/avatar-4174.gif

Dabei seit: 24.01.04
Beiträge: 623
Herkunft: Ahrensburg
Forenversion: WBB 2.3.4

Antworten Zitieren Editieren Melden       UP

@ The White Wolf ist in thread.php zu ändern, weil da ja laut Anleitung der "alte Code" rein muss. Augenzwinkern Hab mir mal kurz das Teil geladen und richte es bei mir dann auch mal ein. Thx rellek dafür.

__________________

RadioSunLight.de

Shoutcast Status Advanced 0.4 - Status: 100% Info zur 0.4 hier: KLICK
21.06.05 12:22 Bandy ist offline E-Mail WWW Finden Als Freund hinzufügen
The White Wolf The White Wolf ist männlich
Mitglied


images/avatars/avatar-260.gif

Dabei seit: 17.01.04
Beiträge: 409
Herkunft: Bleckede
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Danke, werde ich ausprobieren.
21.06.05 12:28 The White Wolf ist offline E-Mail WWW Finden Als Freund hinzufügen
Seiten (6): « vorherige 1 [2] 3 4 5 6 nächste » Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Hacks und Addons » Ähnliche Themen