YourWBB


yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Hacks und Addons » Abwesenheitshack v2.1.1 » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 182.956 Views | | Thema zu Favoriten hinzufügen
Seiten (40): « erste ... « vorherige 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 nächste » ... letzte »
Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Abwesenheitshack v2.1.1 22 Bewertungen - Durchschnitt: 7,5522 Bewertungen - Durchschnitt: 7,5522 Bewertungen - Durchschnitt: 7,55
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Ghostmaster
Das Böse

images/avatars/avatar-4371.gif

Dabei seit: 17.01.04
Beiträge: 6.440
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Sorry Irrtum von mir großes Grinsen


Es ist in der thread.php smile
Gehe den Schritt 9 in der Anleitung nochmal durch bzw. füge das Komma hinter

code:
1:
u.away_message, u.away_from, u.away_to, u.away
01.09.05 10:50 Ghostmaster ist offline Finden Als Freund hinzufügen
MaryJoAnna MaryJoAnna ist weiblich
Mitglied


images/avatars/avatar-2731.jpg

Dabei seit: 02.03.04
Beiträge: 46
Forenversion: 2..2.1

Antworten Zitieren Editieren Melden       UP

erldedigt,ich gebs auf Augen rollen

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von MaryJoAnna: 03.09.05 22:34.

03.09.05 21:53 MaryJoAnna ist offline E-Mail WWW Finden Als Freund hinzufügen AIM-Name von MaryJoAnna: majohase
Leandro Leandro ist männlich
Mitglied


Dabei seit: 29.08.05
Beiträge: 29
Herkunft: Mönchengladbach
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Guten Morgen zusammen

Habe soweit alles fertig nun brauch ein bissel unterstützung
bei der usercp.tpl damit ich mir die nicht wieder schrotte

was ich also da suchen soll gibs bei mir nicht im ansatz
könnte mir das mal einer richtig einsetzen das alles richtig angezeigt wird

Also das sollte ersetzt werde gibs aber nicht in meiner usercp.tpl
wir haben glaub ich eine Modifizierte usercp.tpl

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
<if($wbbuserdata['isgroupleader']==1)>
  <then>
 <tr align="center">
  <td class="tablea" style="width:33%">
     <a href="usergroups.php?action=groupleaders{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/usercp_groupleader.gif" border="0" alt="{$lang->items['LANG_USERCP_GROUPLEADER']}" title="{$lang->items['LANG_USERCP_GROUPLEADER']} - {$lang->items['LANG_USERCP_GROUPLEADER_DESC']}" /></a><br />
     <span class="normalfont"><b><a href="usergroups.php?action=groupleaders{$SID_ARG_2ND}">{$lang->items['LANG_USERCP_GROUPLEADER']}</a></b></span><br />
     <span class="smallfont">{$lang->items['LANG_USERCP_GROUPLEADER_DESC']}</span>
  </td>
  <td class="tableb" style="width:33%"> </td>
  <td class="tablea" style="width:33%"> </td>
 </tr>
  </then>
 </if>


könnte mir einer den code anständig einsetzen ich such mir da ein blöden
Schonmal Big thanx

Dateianhang:
unknown usercp.tpl (12,28 KB, 1 mal heruntergeladen)
12.09.05 08:54 Leandro ist offline E-Mail Finden Als Freund hinzufügen
Jockel Jockel ist männlich
Mitglied


Dabei seit: 17.01.04
Beiträge: 23
Forenversion: 2.3.4

Antworten Zitieren Editieren Melden       UP

Müsste so funzen, probier mal. Augenzwinkern

Dateianhang:
unknown usercp.tpl (12,33 KB, 11 mal heruntergeladen)
12.09.05 21:12 Jockel ist offline E-Mail WWW Finden Als Freund hinzufügen
Leandro Leandro ist männlich
Mitglied


Dabei seit: 29.08.05
Beiträge: 29
Herkunft: Mönchengladbach
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Jo erstmal Danke Jockel,

Ich habe nun soweit alles eingebaut wie immer 10 mal kontroliert bevor ich poste *grinsel*

Du hast mir in der usercp.tpl nur das eingefügt
code:
1:
$wbbuserdata['can_set_away_message']==0)>


ich glaube da fehlt noch einiges wie links und link zum pic oder???

Noch ein kleines Problem habe ich
Ich komme zwar in Sprachpaket bearbeiten rein habe natürlich auch überall rechte dazu *gg*
nur dann wieder auf bearbeiten kütt nix ausser

Deutsch
DE
Speichern

Das wars
also kann ich nirgens Sprachvariablenänderungen machen oder
ist da etwa etwas hinüber ?

Please Help

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Leandro: 12.09.05 23:55.

12.09.05 23:19 Leandro ist offline E-Mail Finden Als Freund hinzufügen
Jockel Jockel ist männlich
Mitglied


Dabei seit: 17.01.04
Beiträge: 23
Forenversion: 2.3.4

Antworten Zitieren Editieren Melden       UP

Ich hatte das hier eingefügt:
code:
1:
 && $wbbuserdata['can_set_away_message']==0)>


Tja, mehr sollte da auch nicht rein, wegen deine Sache.

Lese doch mal genau die Anleitung oder lasse dies jemand einbauen der Ahnung hat!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Jockel: 13.09.05 21:20.

13.09.05 21:17 Jockel ist offline E-Mail WWW Finden Als Freund hinzufügen
blackeagle1075 blackeagle1075 ist männlich
Mitglied


images/avatars/avatar-4520.jpg

Dabei seit: 06.02.04
Beiträge: 1.541
Fähigkeiten: WBB2 Fortgeschritten
Forenversion: 3.1

Antworten Zitieren Editieren Melden       UP

ho, ich habe den hack eingebaut, sowie es beschrieben wurde. habe templates impotiert, sprachpaket impotiert in das vorhandene und auch überprüft ob es drinne ist. aber irgendwie fehlt da was, was für mich nach fehlenden sprachvariablen ausschaut, obwohl sie ja drinne sind (habe nur 1 sprachpaket)

Dateianhang:
jpg abwesend.jpg (51,21 KB, 238 mal heruntergeladen)


__________________

______________________________________



[das] dunkelbunt



20.09.05 20:26 blackeagle1075 ist offline E-Mail WWW Finden Als Freund hinzufügen
linksta1 linksta1 ist männlich
Mitglied


Dabei seit: 27.07.04
Beiträge: 260
Herkunft: Hamburg
Forenversion: WBB 2.2.3

Antworten Zitieren Editieren Melden       UP

ich bin so gut wie fertig mit dem installieren des hacks bloss weiss ich nicht wie ich schritt 17 ausführen soll

wie füge ich etwas in eine sprachvariable ein?
23.09.05 15:40 linksta1 ist offline E-Mail WWW Finden Als Freund hinzufügen Füge linksta1 in deine Kontaktliste ein MSN Passport-Profil von linksta1 anzeigen
blackeagle1075 blackeagle1075 ist männlich
Mitglied


images/avatars/avatar-4520.jpg

Dabei seit: 06.02.04
Beiträge: 1.541
Fähigkeiten: WBB2 Fortgeschritten
Forenversion: 3.1

Antworten Zitieren Editieren Melden       UP

da musst du auf Sprachpaket bearbeiten dann klickst du auf übersetzen und dann wählst du Global aus. Dort suchst du dann die richtige Variable aus und fügst dein Teil hinzu

__________________

______________________________________



[das] dunkelbunt



23.09.05 15:45 blackeagle1075 ist offline E-Mail WWW Finden Als Freund hinzufügen
D-Jay D-Jay ist männlich
Mitglied


images/avatars/avatar-3200.gif

Dabei seit: 18.09.05
Beiträge: 81
Herkunft: NRW
Forenversion: 2.3

Fragezeichen Fehlendes Template!? Antworten Zitieren Editieren Melden       UP

Ich bekomme komischerweise immer die Fehlermeldung

template "usercp_away" doesnt exist wenn ich im UserCP auf "Abwesend" stellen will!?

__________________
::a life w/o music is a life w/o feelings::®
26.09.05 00:01 D-Jay ist offline Finden Als Freund hinzufügen
AngelOfMine AngelOfMine ist männlich
Mitglied


Dabei seit: 04.11.04
Beiträge: 115
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: Bielefeld, NRW
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Kopier die Templates auch in deine Templatepacks der diversen Styles...

__________________
Liebe Grüße
Angel
26.09.05 11:58 AngelOfMine ist offline E-Mail WWW Finden Als Freund hinzufügen
D-Jay D-Jay ist männlich
Mitglied


images/avatars/avatar-3200.gif

Dabei seit: 18.09.05
Beiträge: 81
Herkunft: NRW
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von AngelOfMine
Kopier die Templates auch in deine Templatepacks der diversen Styles...


Hmm?

Da ist nur eine "away_tpls.style"-Datei im ACP-Ordner drin.
Wie binde ich die in meinen Style ein?

*doofbin*

__________________
::a life w/o music is a life w/o feelings::®
26.09.05 12:30 D-Jay ist offline Finden Als Freund hinzufügen
AngelOfMine AngelOfMine ist männlich
Mitglied


Dabei seit: 04.11.04
Beiträge: 115
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: Bielefeld, NRW
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Den Schritt in der Hackanleitung, wo du die Templates importieren musst einfach für jedes Templatepack machen.

__________________
Liebe Grüße
Angel
26.09.05 13:05 AngelOfMine ist offline E-Mail WWW Finden Als Freund hinzufügen
D-Jay D-Jay ist männlich
Mitglied


images/avatars/avatar-3200.gif

Dabei seit: 18.09.05
Beiträge: 81
Herkunft: NRW
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Du, entweder bin ich blöd oder blind, aber in der Anleitung steht nix von Templates importieren...

Kannst du den Part mal posten?

__________________
::a life w/o music is a life w/o feelings::®
26.09.05 13:14 D-Jay ist offline Finden Als Freund hinzufügen
Simps-O-Rama
Mitglied


Dabei seit: 19.06.04
Beiträge: 3.165

Antworten Zitieren Editieren Melden       UP

Du gehst auf Style importieren und gibst dort an, dass das: away_tpls.style" importiert werden soll. Aber nicht dasDesignpack und auch nicht den Style, sondern nur das Template auswählen und das in den Hauptordner der Templates reinladen lassen
26.09.05 13:26 Simps-O-Rama ist offline E-Mail Finden Als Freund hinzufügen
D-Jay D-Jay ist männlich
Mitglied


images/avatars/avatar-3200.gif

Dabei seit: 18.09.05
Beiträge: 81
Herkunft: NRW
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

aaaaah...

Es werde Licht!

Vielen Dank!

__________________
::a life w/o music is a life w/o feelings::®
26.09.05 13:55 D-Jay ist offline Finden Als Freund hinzufügen
Morpheus`Land
Mitglied


Dabei seit: 16.01.04
Beiträge: 2

Antworten Zitieren Editieren Melden       UP

Hallo Leute,
Leider konnte ich trotz dem ich hier alle Beiträge gelesen habe, folgenden Fehler nicht beheben(wurde schon mal von einem anderen gepostet) :
Parse error: parse error, unexpected ';' in /www/htdocs/w005c190/forum/thread.php(314) : eval()'d code on line 102

Hier meine thread_postbit.tpl :
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:
<table cellpadding="0" cellspacing="0" border="0" style="width:100%"><tr><if($indentwidth!=0)><then><td><img src="{$style['imagefolder']}/spacer.gif" height="10" width="$indentwidth" border="0" alt="" title="" /></td></then></if><td width="100%"><table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:100%" class="tableinborder">
 <tr align="left">
  <td class="$tdclass" valign="top"><a name="post$posts[postid]" id="post$posts[postid]"></a>
   <table style="width:100%" cellpadding="{$style['tableincellpadding']}" cellspacing="0" border="0" class="{$tdclass}_fc">
    <tr>
     <td style="width:100%" class="smallfont"><if($posts['userid'])><then><span class="normalfont"><b><a href="profile.php?userid=$posts[userid]{$SID_ARG_2ND}">$posts[username]</a></b></span> <if($posts['gender'] == 1)><then><img src="{$style['imagefolder']}/male.gif" border="0" alt="{$LANG_THREAD_MALE}" title="{$LANG_THREAD_MALE}" /></then></if>
     <if($posts['gender'] == 2)><then><img src="{$style['imagefolder']}/female.gif" border="0" alt="{$LANG_THREAD_FEMALE}" title="{$LANG_THREAD_FEMALE}" /></then></if><br />
      $posts[ranktitle]
        <if($rankimages!="")><then><br />$rankimages</then></if>
        <if($useravatar!="")><then><br /><br />$useravatar</then></if><br /><br />
	<if($showregdateinthread==1)><then>{$lang->items['LANG_THREAD_REGDATE']} $posts[regdate]<br /></then></if>
	<if($showuserpostsinthread==1)><then>{$lang->items['LANG_THREAD_USERPOSTS']} $posts[userposts]<br /></then></if>
	$userfields
	$userrating
	<if($userlevel)><then><br />$userlevel</then></if>
	<if($threadstarter==1)><then><br />{$lang->items['LANG_THREAD_THREADSTARTER']} <img src="{$style['imagefolder']}/threadstarter.gif" border="0" alt="{$LANG_THREAD_THREADSTARTER_ALT}" title="{$LANG_THREAD_THREADSTARTER_ALT}" /></then></if>
	 </then>
	 <else><span class="normalfont"><b>$posts[username]</b></span><br /><span class="smallfont">{$lang->items['LANG_THREAD_UNREGISTERED']}</span></else>
	 </if>
	 <br /><br /><if($away==1 && $wbbuserdata['can_see_away_message']==1)><then>{$lang->items['LANG_AWAY_THREAD_FROM']} $datefrom[2].$datefrom[1].$datefrom[0] <br />{$lang->items['LANG_AWAY_THREAD_TO']} $dateto[2].$dateto[1].$dateto[0] {$lang->items['LANG_AWAY_THREAD_END']}
                          {$lang->items['LANG_AWAY_MESSAGE']}
                          $away_message
                          </then></if>
	 
     <br /><img src="{$style['imagefolder']}/spacer.gif" width="159" height="1" border="0" alt="" title="" /></td>
    </tr>
   </table>
  </td>
  <td class="$tdclass" valign="top" style="width:100%">
   <table style="width:100%" cellpadding="{$style['tableincellpadding']}" cellspacing="0" border="0" class="{$tdclass}_fc">
    <tr>
     <td style="width:100%" class="normalfont" align="left">
      <table style="width:100%" cellpadding="{$style['tableincellpadding']}" cellspacing="0" border="0" class="{$tdclass}_fc">
       <tr>
        <td><span class="smallfont">$posticon <b>$posts[posttopic]</b></span></td>
        <td align="right" nowrap="nowrap"><a href="addreply.php?postid=$posts[postid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/replypost.gif" border="0" alt="{$lang->items['LANG_THREAD_REPLYPOST']}" title="{$lang->items['LANG_THREAD_REPLYPOST']}" /></a> <a href="addreply.php?action=quote&amp;postid=$posts[postid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/quote.gif" border="0" alt="{$lang->items['LANG_THREAD_QUOTE']}" title="{$lang->items['LANG_THREAD_QUOTE']}" /></a> <a href="editpost.php?postid=$posts[postid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/editpost.gif" border="0" alt="{$lang->items['LANG_THREAD_EDITPOST']}" title="{$lang->items['LANG_THREAD_EDITPOST']}" /></a> <a href="report.php?postid=$posts[postid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/report.gif" border="0" alt="{$lang->items['LANG_THREAD_REPORT']}" title="{$lang->items['LANG_THREAD_REPORT']}" /></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<if($wbbuserdata['a_can_view_ipaddress']==1)><then><a href="misc.php?action=viewip&amp;postid=$posts[postid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/ip.gif" border="0" alt="{$lang->items['LANG_THREAD_VIEWIP']}" title="{$lang->items['LANG_THREAD_VIEWIP']}" /></a> </then></if><a href="javascript:self.scrollTo(0,0);"><img src="{$style['imagefolder']}/goup.gif" border="0" alt="{$lang->items['LANG_THREAD_GOUP']}" title="{$lang->items['LANG_THREAD_GOUP']}" /></a></td>
       </tr>
      </table><hr size="{$style['tableincellspacing']}" class="threadline" />
      $posts[message]
      $attachments
      $signature
      <if($posts['editorid'])><then><p><span class="smallfont">{$LANG_THREAD_EDITOR}</span></p></then></if>
      <if($invisible==1)><then><p align="right"><span class="normalfont">{$lang->items['LANG_THREAD_INVISIBLE']}</span></p></then></if>
     </td>
    </tr>
   </table>
  </td>
 </tr>
 <tr>
  <td class="$tdclass" align="center" nowrap="nowrap"><span class="smallfont">
   <if($newpost==1)>
    <then><a href="thread.php?postid=$posts[postid]#post$posts[postid]"><img src="{$style['imagefolder']}/posticonnew.gif" border="0" alt="{$lang->items['LANG_THREAD_NEWPOST']}" title="{$lang->items['LANG_THREAD_NEWPOST']}" /></a></then>
    <else><a href="thread.php?postid=$posts[postid]#post$posts[postid]"><img src="{$style['imagefolder']}/posticon.gif" border="0" alt="" title="" /></a></else>
   </if>
   $postdate <span class="time">$posttime</span></span></td>
  <td class="$tdclass" align="left" style="width:100%" valign="middle"><span class="smallfont">
   <if($posts['userid'])>
    <then>
     <if($showonlineinthread==1)>
      <then>
     <if($away==0 ||  $wbbuserdata['can_see_away_message']==0)>
       <then>
       <if($user_online==1)>
        <then><img src="{$style['imagefolder']}/user_online.gif" border="0" alt="{$LANG_MEMBERS_USERONLINE}" title="{$LANG_MEMBERS_USERONLINE}" /></then>
        <else><img src="{$style['imagefolder']}/user_offline.gif" border="0" alt="{$LANG_MEMBERS_USERONLINE}" title="{$LANG_MEMBERS_USERONLINE}" /></else>
       </if>
       </then>
       <else><img src="{$style['imagefolder']}/user_away.gif" border="0" alt="{$LANG_MEMBERS_USERAWAY}" title="{$LANG_MEMBERS_USERAWAY}" /></else>
       </if>>

     <if($posts['showemail']==1)>
      <then><a href="mailto:$posts[email]"><img src="{$style['imagefolder']}/email.gif" border="0" alt="{$LANG_MEMBERS_SENDEMAIL}" title="{$LANG_MEMBERS_SENDEMAIL}" /></a></then>
      <else>
       <if($posts['usercanemail']==1)>
        <then><a href="formmail.php?userid=$posts[userid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/email.gif" border="0" alt="{$LANG_MEMBERS_SENDEMAIL}" title="{$LANG_MEMBERS_SENDEMAIL}" /></a></then>
       </if>
      </else>
     </if>

     <if($posts['homepage'])>
      <then><a href="$posts[homepage]" target="_blank"><img src="{$style['imagefolder']}/www.gif" border="0" alt="{$LANG_MEMBERS_HOMEPAGE}" title="{$LANG_MEMBERS_HOMEPAGE}" /></a></then>
     </if>

     <a href="search.php?action=user&amp;userid=$posts[userid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/search.gif" border="0" alt="{$LANG_MEMBERS_SEARCH}" title="{$LANG_MEMBERS_SEARCH}" /></a>

     <a href="usercp.php?action=buddy&amp;add=$posts[userid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/homie.gif" border="0" alt="{$LANG_MEMBERS_BUDDY}" title="{$LANG_MEMBERS_BUDDY}" /></a>

     <if($posts['receivepm']==1 && $wbbuserdata['can_use_pms']==1)><then><a href="pms.php?action=newpm&amp;userid=$posts[userid]{$SID_ARG_2ND}"><img src="{$style['imagefolder']}/pm.gif" border="0" alt="{$LANG_MEMBERS_PM}" title="{$LANG_MEMBERS_PM}" /></a></then></if>

     <if($posts['icq'])><then><a href="http://web.icq.com/whitepages/add_me/1,,,00.icq?uin=$posts[icq]&amp;action=add"><img src="http://web.icq.com/whitepages/online?icq=$posts[icq]&amp;img=5" width="18" height="18" border="0" alt="{$LANG_MEMBERS_ICQ}" title="{$LANG_MEMBERS_ICQ}" /></a></then></if>

     <if($posts['aim'])><then><a href="aim:goim?screenname=$posts[aim]&amp;message=Hi.+Are+you+there?"><img src="{$style['imagefolder']}/aim.gif" border="0" alt="{$LANG_MEMBERS_AIM}" title="{$LANG_MEMBERS_AIM}" /></a></then></if>

     <if($posts['yim'])><then><a href="http://edit.yahoo.com/config/send_webmesg?.target=$posts[yim]&amp;.src=pg"><img src="{$style['imagefolder']}/yim.gif" border="0" alt="{$LANG_MEMBERS_YIM}" title="{$LANG_MEMBERS_YIM}" /></a></then></if>

     <if($posts['msn'])><then><a href="http://members.msn.com/?mem=$posts[msn]"><img src="{$style['imagefolder']}/msn.gif" border="0" alt="{$LANG_MEMBERS_MSN}" title="{$LANG_MEMBERS_MSN}" /></a></then></if>

    </then>
   </if>
  </span></td>
 </tr>
</table></td></tr></table>


Ich hab den Hack auch schon aus und wieder eingebaut, finde aber zum verrecken den Fehler nicht unglücklich Kann mir da einer weiter helfen?

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Morpheus`Land: 28.09.05 22:22.

28.09.05 22:15 Morpheus`Land ist offline E-Mail WWW Finden Als Freund hinzufügen
linksta1 linksta1 ist männlich
Mitglied


Dabei seit: 27.07.04
Beiträge: 260
Herkunft: Hamburg
Forenversion: WBB 2.2.3

Antworten Zitieren Editieren Melden       UP

ich hab auch einen fehler

Parse error: parse error in /var/www/web0/html/wbb2/thread.php(305) : eval()'d code on line 100
29.09.05 17:57 linksta1 ist offline E-Mail WWW Finden Als Freund hinzufügen Füge linksta1 in deine Kontaktliste ein MSN Passport-Profil von linksta1 anzeigen
Ghostmaster
Das Böse

images/avatars/avatar-4371.gif

Dabei seit: 17.01.04
Beiträge: 6.440
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Häng mal bitte die thread.php an smile
30.09.05 06:52 Ghostmaster ist offline Finden Als Freund hinzufügen
linksta1 linksta1 ist männlich
Mitglied


Dabei seit: 27.07.04
Beiträge: 260
Herkunft: Hamburg
Forenversion: WBB 2.2.3

Antworten Zitieren Editieren Melden       UP

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:
<?php
// ************************************************************************************//
// * WoltLab Burning Board 2
// ************************************************************************************//
// * Copyright (c) 2001-2004 WoltLab GmbH
// * Web           [URL]http://www.woltlab.de/[/URL]
// * License       [URL]http://www.woltlab.de/products/burning_board/license_en.php[/URL]
// *               [URL]http://www.woltlab.de/products/burning_board/license.php[/URL]
// ************************************************************************************//
// * WoltLab Burning Board 2 is NOT free software.
// * You may not redistribute this package or any of it's files.
// ************************************************************************************//
// * $Date: 2005-06-16 15:16:14 +0200 (Thu, 16 Jun 2005) $
// * $Author: Burntime $
// * $Rev: 1621 $
// ************************************************************************************//


$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 $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(textwrap($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'];
					if ($attachment['counter'] >= 1000) $attachment['counter'] = number_format($attachment['counter'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP")); 
					$attachment['attachmentsize'] = formatFilesize($attachment['attachmentsize']);
					$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']) {
			$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);
			
			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' => htmlconverter($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")); 
		}
		
		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, $wbbuserdata, $REMOTE_ADDR;
		$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;
		
		$select = ", v.id AS isvoted";
		$join = " LEFT JOIN bb".$n."_votes v ON (v.id=t.threadid AND v.votemode=2 AND ".(($wbbuserdata['userid']) ? ("v.userid='".$wbbuserdata['userid']."'") : ("v.ipaddress='".addslashes($REMOTE_ADDR)."'")).")";
		
		if ($wbbuserdata['userid']) {
			$select .= ", tv.lastvisit, s.emailnotify, s.countemails";	
			$join .= " LEFT JOIN bb".$n."_threadvisit tv ON (tv.threadid=t.threadid AND tv.userid='".$wbbuserdata['userid']."')
			LEFT JOIN bb".$n."_subscribethreads s ON (s.userid='".$wbbuserdata['userid']."' AND s.threadid=t.threadid)";
		}
		
		$thread = $db->query_first("SELECT t.*".$select." FROM bb".$n."_threads t".$join." WHERE t.threadid = '".$this->threadid."'");
	}
	
	/**
	* jump to next oldest thread
	*
	* @return void
	*/
	function nextoldest() {
		global $db, $n, $thread, $boardid, $tpl, $lang, $threadid, $wbbuserdata, $REMOTE_ADDR;
		$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'");
		
		$select = ", v.id AS isvoted";
		$join = " LEFT JOIN bb".$n."_votes v ON (v.id=t.threadid AND v.votemode=2 AND ".(($wbbuserdata['userid']) ? ("v.userid='".$wbbuserdata['userid']."'") : ("v.ipaddress='".addslashes($REMOTE_ADDR)."'")).")";
		
		if ($wbbuserdata['userid']) {
			$select .= ", tv.lastvisit, s.emailnotify, s.countemails";	
			$join .= " LEFT JOIN bb".$n."_threadvisit tv ON (tv.threadid=t.threadid AND tv.userid='".$wbbuserdata['userid']."')
			LEFT JOIN bb".$n."_subscribethreads s ON (s.userid='".$wbbuserdata['userid']."' AND s.threadid=t.threadid)";
		}
		
		$thread = $db->query_first("SELECT t.*".$select." FROM bb".$n."_threads t".$join." WHERE t.threadid = '".$this->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.lastactivity, u.allowsigsmilies, u.allowsightml, u.allowsigbbcode, u.allowsigimages, u.disablesignature,
		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")."\";");

$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);

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

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von linksta1: 30.09.05 08:17.

30.09.05 08:15 linksta1 ist offline E-Mail WWW Finden Als Freund hinzufügen Füge linksta1 in deine Kontaktliste ein MSN Passport-Profil von linksta1 anzeigen
Seiten (40): « erste ... « vorherige 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 nächste » ... letzte » 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 » Abwesenheitshack v2.1.1