Der Schlüssel für die Weibersauna

Gude,

ich habe euch ja schon früher Filmepfehlungen gegeben. Das möchte ich jetzt wieder machen.

Um zu erklären, worum es geht, muss ich vorne anfangen:
Hier war früher mal ein anderes Land, die DDR. Und da gab es mal eine Polierpaste, die hieß Elsterglanz.
Ja, das wars eigentlich schon.

Elsterglanz gibt es heute auch noch … uuuuund ein Comedy-Duo hat sich danach benannt. Um die beiden geht es, Gilbert und Sven. Aus Eisleben!
Stellt euch die beiden vor wie aus Maaskantje. Nur dass sie Ostdeutsch sprechen und aus Ostdeutschland kommen. Und vernünftiges Bier trinken! #merkedir
Einige kennen die beiden sicherlich durch solche Videos:

Ich gebe zu, das ist in Westdeutschland nicht lustig. Elsterglanz machen Lokalhumor, für Ostdeutschland, für Mitteldeutschland, für Mansfeld-Südharz.

fire - kill0rz.com

100900968_cxxszene_6

Wenn ich euch also mal eine Filmepfehlung geben darf, dann schaut euch den Film an. IM KINO! Ich war auch da. Ich hasse Kino, viel zu teuer, viel zu viel Werbung, musst rausgehen und vor allem alles voller Menschen. -_- Aber es war geil! Und mit 8€ war der Film nicht einmal teuer.

Meine Highlights waren definitiv der LKW-Fahrer (ohne Scheiß, die sprechen wirklich so :D) und die Polizisten („E janz berühmter Österreicher ausm zwehten Weltkriech. Mann, den kennste och! Den kennt jeeeeder!“ – „Awwer nicht der Rennfahrer, ne?“ – „Och Mensch, der Rennfahrer…….! Neee! Ich suche hier nach e Wort und du? Du sitzt immer nur da und weehst nüscht!“ – laut Gedankenprotokoll).

Ein gebälze im Kino ey, unnötig feierlich! Die Story als solches war lustig. Erst wollen die beiden in die Frauensauna einbrechen, dann verkaufen sie ihre Seelen und am Schluss ist Netto die Lösung allen Übels.
Wenn dieses Kulturgut als DVD verfügbar ist, wird es gekauft. Auch von euch; es lohnt sich!

…und dann dreh ichs Ventil von der Gaspulle off, und das wars dann, adé!
kill0rz

Posted in Allgemein, Fun, Real-Life, Reviews | Leave a comment

Der bam und sein rasender WBB-Kritiker (Folge 5): bams IQ-Test

Nein, ehrlich, hier:

Bildschirmfoto am 2016-04-21 um 15.08.47

http://www.jumperli.de/wbblite/thread.php?postid=26644#post26644

Heim.at? Ein Free-Webspace? Ernsthaft?

cURLen wir die Seite doch mal an:

:~# curl wald.heim.at/urwald/541811/index1/kap12/kap12.htm
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://bam.heim.at/index1/kap12/kap12.htm">here</a>.</p>
<hr>
<address>Apache Server at <a href="mailto:webmaster@heim.at">wald.heim.at</a> Port 80</address>
</body></html>

lol

fire - kill0rz.com
:~# curl http://bam.heim.at/index1/kap12/kap12.htm
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>

<h1>Moved Permanently</h1>



The document has moved <a href="http://bam.heimat.eu/index1/kap12/kap12.htm">here</a>.


<hr>


<address>Apache Server at bam.heim.at Port 80</address>

</body></html>

Will der mich verarschen?

:~# curl http://bam.heimat.eu/index1/kap12/kap12.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
  <title>IQ-Test</title>
  <meta name="generator" content="">
  <meta name="description" content="">
  <meta name="keywords" content="">


<style>
a:link {text-decoration: none; color: #FAE8BC;}
A:visited   {text-decoration: none; color: #FAE8BC;}
A:hover {text-decoration: none; color: #F5D387; font-style: normal; text-decoration: none}
#bg A:link, #bg A:visited, #bg A:active {text-decoration: none; color: #FAE8BC;}
#bg A:hover {text-decoration: none; color: #F5D387; font-style: normal; text-decoration: none}
</style>


</head>
<BODY BGCOLOR="#777777" style="width:100%;overflow-x:hidden;overflow-y:scroll"><script type="text/javascript"><!-- amazon_ad_tag = "uxstext-21"; amazon_ad_width = "728"; amazon_ad_height = "90";//--></script>
<script type="text/javascript" src="https://ir-de.amazon-adsystem.com/s/ads.js"></script>



<SCRIPT LANGUAGE="Javascript">

var coffeecountdown = "1200"

function doCount() {
    if (coffeecountdown > 0) {
        coffeecountdown--
    }
    else {
        document.location = "kap12_1.htm"
    }

window.status="Du hast noch " + coffeecountdown + " Sekunden zu Verf▒gung"
setTimeout('doCount()',1000)
}

doCount()

</SCRIPT>





<div align="center">

<strong><FONT COLOR="black"><FONT SIZE="6">E</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">r</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">g</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">r</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">▒</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="6">d</FONT></FONT><FONT COLOR="black"><FONT SIZE="6">e</FONT></FONT><FONT COLOR="black"><FONT SIZE="7"> </FONT></FONT><FONT COLOR="black"><FONT SIZE="6">d</FONT></FONT><FONT COLOR="black"><FONT SIZE="5">e</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">i</FONT></FONT><FONT COLOR="black"><FONT SIZE="6">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="6">e</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="7"> </FONT></FONT><FONT COLOR="black"><FONT SIZE="3">I</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">t</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">e</FONT></FONT><FONT COLOR="black"><FONT SIZE="5">l</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">l</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">i</FONT></FONT><FONT COLOR="black"><FONT SIZE="5">g</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">e</FONT></FONT><FONT COLOR="black"><FONT SIZE="6">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">z</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">q</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">u</FONT></FONT><FONT COLOR="black"><FONT SIZE="6">o</FONT></FONT><FONT COLOR="black"><FONT SIZE="5">t</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">i</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">e</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="7">t</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">e</FONT></FONT><FONT COLOR="black"><FONT SIZE="5">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="7"> </FONT></FONT><FONT COLOR="black"><FONT SIZE="3">!</FONT></FONT></strong>

</div>



</br>



<div align="center">
<iframe src="http://www.spide.de/iqtest.php3?color=777777" width="650" height="376" name="IQ-Test" frameborder="0">


Dein Browser kann leider keine eingebetteten Frames anzeigen.

Du kannst jedoch die eingebettete Seite &uuml;ber den folgenden Verweis aufrufen: <a href="http://www.spide.de/iqtest.php3?color=FFFFFF" target="_blank">IQ-Test</a>

</iframe>
</div>




<div align="right">
<a href="http://wald.heim.at/urwald/541811/index1/index2.htm"><strong><FONT COLOR="black"><FONT SIZE="5">z</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">u</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">r</FONT></FONT><FONT COLOR="black"><FONT SIZE="7"> </FONT></FONT><FONT COLOR="black"><FONT SIZE="6">S</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">p</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">a</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">s</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">s</FONT></FONT><FONT COLOR="black"><FONT SIZE="6">z</FONT></FONT><FONT COLOR="black"><FONT SIZE="5">o</FONT></FONT><FONT COLOR="black"><FONT SIZE="3">n</FONT></FONT><FONT COLOR="black"><FONT SIZE="4">e</FONT></FONT></strong></a>
</div>




<script>
// select a clock design: "watch1", "watch2" or "watch3"
var whichwatch="watch3"
// The clocks's horizontal distance to the left margin (pixels)
var clockposLeft=868
// The clock's vertical distance to the top margin (pixels)
var clockposTop=200
</script>
<script src="watchjs.js"></script>

<noscript><noscript><plaintext>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-9059682-2");
pageTracker._trackPageview();
} catch(err) {}</script>

<script type="text/javascript"><!-- amzn_cl_tag="uxstext-21"; amzn_cl_link_color="0000FF"; amzn_cl_link_style=4; //--></script>
<script type="text/javascript" src="http://cls.assoc-amazon.de/de/s/cls.js"></script>

<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwik.uxs.at/" : "http://piwik.uxs.at/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 3);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript>

<img src="http://piwik.uxs.at/piwik.php?idsite=3" style="border:0" alt="" />

</noscript>
<!-- End Piwik Tracking Code -->

<center>

<!--/* Revive Adserver Javascript Tag v3.0.2 */-->

<script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://ads.uxs.at/www/delivery/ajs.php':'http://ads.uxs.at/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u); document.write ("?zoneid=1"); document.write ('&amp;cb=' + m3_r); if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used); document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : '')); document.write ("&amp;loc=" + escape(window.location)); if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer)); if (document.context) document.write ("&context=" + escape(document.context)); if (document.mmm_fo) document.write ("&amp;mmm_fo=1"); document.write ("'><\/scr"+"ipt>");
//]]>--></script>
<noscript>
<a href='http://ads.uxs.at/www/delivery/ck.php?n=a760a7ea&amp;cb=1' target='_blank'>
<img src='http://ads.uxs.at/www/delivery/avw.php?zoneid=1&amp;cb=1&amp;n=a760a7ea' border='0' alt='' /></a>
</noscript>

</center>

</body>

AAAAAAAAAAAAA! Augenkrebs!
Komm Junge, lass stecken. Da ist mehr Werbung drauf als Inhalt. Außerdem, schon mal was von Klassen gehört? >.< OK, weiter geht es:

:~# curl http://www.spide.de/iqtest.php3?color=777777
<html>
 <head>

  <title>IQ-Test</title>
        <script type="text/javascript">
        if (top != self)
                top.location = self.location;
        </script>
        <meta http-equiv="refresh" content="0; URL=http://spide.net/tests/iq-test.html" />
 </head>
<!--<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#">-->
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="#ffffff">
<center>

<table width="100%" border="0">

<tr>
<td align="center">

<font size="5" face="verdana"><b>IQ-Test</b> <font size="1">powered by <a href="http://www.spide.net" target="_blank"><font color="#000000">[spide.net]</font></a></font>

<font size="2"><b>Ein geschätzter Euro-IQ-Wert wird ermittelt (Norm: 100 / Max: 174)
<font color="#ff0000">Wichtig:</font> Sie sollten diesen Test in <u>weniger als 20 Minuten</u> beendet haben.</b></font>
<font size="1">Der Test ist anonym, schnell und kostenlos.</font>

<table width="600" CELLPADDING="0" CELLSPACING="0" border="0">
<tr>
<td>

<form action="http://www.spide.de/iq2.php" method="post">

<hr>

<font size="2" face="verdana"><b>
<u>Fragen 1-8:</u> Fügen Sie zu den Reihen den Buchstaben oder die Zahl hinzu, die logischerweise folgen müsste.

01. &nbsp;&nbsp;A, D, G, J &nbsp;&nbsp;<input type=text NAME="q1" SIZE="3">

02. &nbsp;&nbsp;1, 3, 6, 10 &nbsp;&nbsp;<input type=text NAME="q2" SIZE="3">

03. &nbsp;&nbsp;1, 1, 2, 3, 5 &nbsp;&nbsp;<input type=text NAME="q3" SIZE="3">

04. &nbsp;&nbsp;21, 20, 18, 15, 11 &nbsp;&nbsp;<input type=text NAME="q4" SIZE="3">

05. &nbsp;&nbsp;8, 6, 7, 5, 6, 4 &nbsp;&nbsp;<input type=text NAME="q5" SIZE="3">

06. &nbsp;&nbsp;65536, 256, 16 &nbsp;&nbsp;<input type=text NAME="q6" SIZE="3">

07. &nbsp;&nbsp;1, 0, -1, 0 &nbsp;&nbsp;<input type=text NAME="q7" SIZE="3">

08. &nbsp;&nbsp;3968, 63, 8, 3 &nbsp;&nbsp;<input type=text NAME="q8" SIZE="3">


<hr>

<u>Fragen 9-15:</u> Geben Sie an, welches Symbol (a, b, c oder d) vom rechten Bild in das leere Feld des linken Bildes passt.

09. &nbsp;&nbsp;<img src="images/iq1/iq09a.gif" ALIGN="TOP" width="150" height="150"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq09b.gif" ALIGN="TOP" width="150" height="150">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q9" TYPE="radio" VALUE="a">a <input NAME="q9" TYPE="radio" VALUE="b">b <input NAME="q9" TYPE="radio" VALUE="c">c <input NAME="q9" TYPE="radio" VALUE="d">d

10. &nbsp;&nbsp;<img src="images/iq1/iq10a.gif" ALIGN="TOP" width="150" height="150"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq10b.gif" ALIGN="TOP" width="150" height="150">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q10" TYPE="radio" VALUE="a">a <input NAME="q10" TYPE="radio" VALUE="b">b <input NAME="q10" TYPE="radio" VALUE="c">c <input NAME="q10" TYPE="radio" VALUE="d">d

11. &nbsp;&nbsp;<img src="images/iq1/iq11a.gif" ALIGN="TOP" width="150" height="150"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq11b.gif" ALIGN="TOP" width="150" height="150">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q11" TYPE="radio" VALUE="a">a <input NAME="q11" TYPE="radio" VALUE="b">b <input NAME="q11" TYPE="radio" VALUE="c">c <input NAME="q11" TYPE="radio" VALUE="d">d

12. &nbsp;&nbsp;<img src="images/iq1/iq12a.gif" ALIGN="TOP" width="150" height="150"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq12b.gif" ALIGN="TOP" width="150" height="150">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q12" TYPE="radio" VALUE="a">a <input NAME="q12" TYPE="radio" VALUE="b">b <input NAME="q12" TYPE="radio" VALUE="c">c <input NAME="q12" TYPE="radio" VALUE="d">d

13. &nbsp;&nbsp;<img src="images/iq1/iq13a.gif" ALIGN="TOP" width="150" height="150"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq13b.gif" ALIGN="TOP" width="150" height="150">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q13" TYPE="radio" VALUE="a">a <input NAME="q13" TYPE="radio" VALUE="b">b <input NAME="q13" TYPE="radio" VALUE="c">c <input NAME="q13" TYPE="radio" VALUE="d">d

14. &nbsp;&nbsp;<img src="images/iq1/iq14a.gif" ALIGN="TOP" width="150" height="150"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq14b.gif" ALIGN="TOP" width="150" height="150">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q14" TYPE="radio" VALUE="a">a <input NAME="q14" TYPE="radio" VALUE="b">b <input NAME="q14" TYPE="radio" VALUE="c">c <input NAME="q14" TYPE="radio" VALUE="d">d

15. &nbsp;&nbsp;<img src="images/iq1/iq15a.gif" ALIGN="TOP" width="150" height="150"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq15b.gif" ALIGN="TOP" width="150" height="150">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q15" TYPE="radio" VALUE="a">a <input NAME="q15" TYPE="radio" VALUE="b">b <input NAME="q15" TYPE="radio" VALUE="c">c <input NAME="q15" TYPE="radio" VALUE="d">d


<hr>

<u>Fragen 16-25:</u> Geben Sie das Symbol (aus der Spalte a, b, c oder d) an, das der linken Reihe folgen muss.

<img src="images/iq1/blank.gif" width="200" height="1"> &nbsp;<img src="images/iq1/iq16-25b.gif" width="200" height="50">

16. &nbsp;&nbsp;<img src="images/iq1/iq16a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq16b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q16" TYPE="radio" VALUE="a">a <input NAME="q16" TYPE="radio" VALUE="b">b <input NAME="q16" TYPE="radio" VALUE="c">c <input NAME="q16" TYPE="radio" VALUE="d">d

17. &nbsp;&nbsp;<img src="images/iq1/iq17a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq17b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q17" TYPE="radio" VALUE="a">a <input NAME="q17" TYPE="radio" VALUE="b">b <input NAME="q17" TYPE="radio" VALUE="c">c <input NAME="q17" TYPE="radio" VALUE="d">d

18. &nbsp;&nbsp;<img src="images/iq1/iq18a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq18b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q18" TYPE="radio" VALUE="a">a <input NAME="q18" TYPE="radio" VALUE="b">b <input NAME="q18" TYPE="radio" VALUE="c">c <input NAME="q18" TYPE="radio" VALUE="d">d

19. &nbsp;&nbsp;<img src="images/iq1/iq19a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq19b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q19" TYPE="radio" VALUE="a">a <input NAME="q19" TYPE="radio" VALUE="b">b <input NAME="q19" TYPE="radio" VALUE="c">c <input NAME="q19" TYPE="radio" VALUE="d">d

20. &nbsp;&nbsp;<img src="images/iq1/iq20a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq20b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q20" TYPE="radio" VALUE="a">a <input NAME="q20" TYPE="radio" VALUE="b">b <input NAME="q20" TYPE="radio" VALUE="c">c <input NAME="q20" TYPE="radio" VALUE="d">d

21. &nbsp;&nbsp;<img src="images/iq1/iq21a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq21b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q21" TYPE="radio" VALUE="a">a <input NAME="q21" TYPE="radio" VALUE="b">b <input NAME="q21" TYPE="radio" VALUE="c">c <input NAME="q21" TYPE="radio" VALUE="d">d

22. &nbsp;&nbsp;<img src="images/iq1/iq22a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq22b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q22" TYPE="radio" VALUE="a">a <input NAME="q22" TYPE="radio" VALUE="b">b <input NAME="q22" TYPE="radio" VALUE="c">c <input NAME="q22" TYPE="radio" VALUE="d">d

23. &nbsp;&nbsp;<img src="images/iq1/iq23a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq23b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q23" TYPE="radio" VALUE="a">a <input NAME="q23" TYPE="radio" VALUE="b">b <input NAME="q23" TYPE="radio" VALUE="c">c <input NAME="q23" TYPE="radio" VALUE="d">d

24. &nbsp;&nbsp;<img src="images/iq1/iq24a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq24b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q24" TYPE="radio" VALUE="a">a <input NAME="q24" TYPE="radio" VALUE="b">b <input NAME="q24" TYPE="radio" VALUE="c">c <input NAME="q24" TYPE="radio" VALUE="d">d

25. &nbsp;&nbsp;<img src="images/iq1/iq25a.gif" ALIGN="TOP" width="150" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq25b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q25" TYPE="radio" VALUE="a">a <input NAME="q25" TYPE="radio" VALUE="b">b <input NAME="q25" TYPE="radio" VALUE="c">c <input NAME="q25" TYPE="radio" VALUE="d">d


<hr>

<u>Fragen 26-29:</u> In jeder Zeile fehlen zwei Felder. Wählen Sie die Bilder (a, b, c, d oder e) der rechten Spalte, die logischerweise in die L▒cken passen, wobei sich das erste Symbol zu dem ersten Fragezeichen, wie das zweite Symbol zu dem zweiten Fragezeichen verhalten muss.

26. &nbsp;&nbsp;<img src="images/iq1/iq26a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq26b.gif" ALIGN="TOP" width="250" height="50">
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q26a" TYPE="checkbox" VALUE="a">a <input NAME="q26b" TYPE="checkbox" VALUE="b">b <input NAME="q26c" TYPE="checkbox" VALUE="c">c <input NAME="q26d" TYPE="checkbox" VALUE="d">d <input NAME="q26e" TYPE="checkbox" VALUE="e">e

27. &nbsp;&nbsp;<img src="images/iq1/iq27a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq27b.gif" ALIGN="TOP" width="250" height="50">
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q27a" TYPE="checkbox" VALUE="a">a <input NAME="q27b" TYPE="checkbox" VALUE="b">b <input NAME="q27c" TYPE="checkbox" VALUE="c">c <input NAME="q27d" TYPE="checkbox" VALUE="d">d <input NAME="q27e" TYPE="checkbox" VALUE="e">e

28. &nbsp;&nbsp;<img src="images/iq1/iq28a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq28b.gif" ALIGN="TOP" width="250" height="50">
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q28a" TYPE="checkbox" VALUE="a">a <input NAME="q28b" TYPE="checkbox" VALUE="b">b <input NAME="q28c" TYPE="checkbox" VALUE="c">c <input NAME="q28d" TYPE="checkbox" VALUE="d">d <input NAME="q28e" TYPE="checkbox" VALUE="e">e

29. &nbsp;&nbsp;<img src="images/iq1/iq29a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq29b.gif" ALIGN="TOP" width="250" height="50">
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q29a" TYPE="checkbox" VALUE="a">a <input NAME="q29b" TYPE="checkbox" VALUE="b">b <input NAME="q29c" TYPE="checkbox" VALUE="c">c <input NAME="q29d" TYPE="checkbox" VALUE="d">d <input NAME="q29e" TYPE="checkbox" VALUE="e">e


<hr>

<u>Fragen 30-33:</u> In jeder Zeile fehlt ein Bild. Geben Sie das passende aus der rechts stehenden Auswahl (a, b, c oder d) an.

30. &nbsp;&nbsp;<img src="images/iq1/iq30a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq30b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q30" TYPE="radio" VALUE="a">a <input NAME="q30" TYPE="radio" VALUE="b">b <input NAME="q30" TYPE="radio" VALUE="c">c <input NAME="q30" TYPE="radio" VALUE="d">d

31. &nbsp;&nbsp;<img src="images/iq1/iq31a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq31b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q31" TYPE="radio" VALUE="a">a <input NAME="q31" TYPE="radio" VALUE="b">b <input NAME="q31" TYPE="radio" VALUE="c">c <input NAME="q31" TYPE="radio" VALUE="d">d

32. &nbsp;&nbsp;<img src="images/iq1/iq32a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq32b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q32" TYPE="radio" VALUE="a">a <input NAME="q32" TYPE="radio" VALUE="b">b <input NAME="q32" TYPE="radio" VALUE="c">c <input NAME="q32" TYPE="radio" VALUE="d">d

33. &nbsp;&nbsp;<img src="images/iq1/iq33a.gif" ALIGN="TOP" width="200" height="50"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/iq1/iq33b.gif" ALIGN="TOP" width="200" height="50">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input NAME="q33" TYPE="radio" VALUE="a">a <input NAME="q33" TYPE="radio" VALUE="b">b <input NAME="q33" TYPE="radio" VALUE="c">c <input NAME="q33" TYPE="radio" VALUE="d">d

</b></font>
<hr>

<center><input TYPE="submit" style="font-size:10px;" VALUE="Ergebnis" style="background-color: dddddd; border-color: 000000; border-width: 1; FONT-FAMILY: verdana; color: 000000;"> <input TYPE="reset" style="font-size:10px;" VALUE="Löschen" style="background-color: dddddd; border-color: 000000; border-width: 1; FONT-FAMILY: verdana; color: 000000;"></center>
</form>

</td>
</tr>
</table>

</td>
</tr>
</table>

</body>

WAS ZUM FICK BIN ICH SEHEND?! Ne, sowas gucke ich mir nicht an! Nichtmal Steuerzeichen für die Umlaute verwendet :’O
Interessant finde ich aber folgendes 😀

hc_003

Geht trotzdem ^^

PS: bam, ich warte auf ne Antwort, ne?
kill0rz

Posted in Der bam und sein rasender WBB-Kritiker, Fun, Internet | Leave a comment

WBB 2.3.6 und PHP 7.0/7.1 (Umbauanleitung) *Update 07.12.2016*

Hallo Freunde,

ich zeige euch heute, wie ihr euer uralt-WBB2.3.6 unter PHP 7 (sowohl 7.0 als auch 7.1) zum Laufen bekommt. 🙂

Zunächst einmal solltet ihr euer Forum an php 5.6 angepasst haben. Eine Anleitung dazu habe ich hier online gestellt: https://blog.kill0rz.com/2015/04/25/wbb-2-3-6-und-php-5-6/
Danach solltet ihr die Anpassungen von MikeHH durchführen, ihr findet sie hier im Anhang: http://www.v-gn.de/wbb/thread.php?postid=129625#post129625
Den darauf folgenden Post bitte ignorieren, das funktioniert ausdrücklich nicht! Darum kümmern wir uns aber…

Wenn das geschafft ist, geht es weiter. Zunächst einmal schauen wir uns die Migrationsanleitungen vom php-Team an: http://php.net/manual/de/migration70.php
Besonders interessant sind folgende Links:

  • Deprecated features in PHP 7.0.x
  • Die PHP 4-Style Konstruktoren (Name der Konstruktormethode = Name der Klasse) werfen jetzt eine Deprecated-Meldung. Mit PHP 5.3 wurde der neue Style bereits eingeführt (Konstruktormethode heiße __construct) und bis einschließlich php 5.6.X parallel weitergeführt. Jetzt wie gesagt die deprecated-Meldung. Man könnte es noch herauszögern, aber wir bügeln die Änderungen gleich drüber.
  • Changed functions
    • Hier schauen wir uns zunächst die Funktion mktime an, die nun keinen 7. Paramter mehr akzeptiert. Wir haben aber in unserer Software keinen einzigen Aufruf dessen.
    • Das gleiche gilt für gmmktime.
    • Unsere geliebte preg_replace()-Funktion akzeptiert jetzt den /e-Modifier gar nicht mehr. Da muss viel geändert werden.
    • Die anderen Geänderte Funktionen haben keine Auswirkungen auf unser WBB.
  • Removed Extensions and SAPIs
    • Die mysql-Erweiterung wurde entfernt. Good thing haben wir die aber schon damals rausgeschmissen 🙂
  • Backward incompatible changes
    • global akzeptiert nur noch einfache Variablen. Da müssen wir etwas machen.
    • Das new-Statement kann keiner Variablen mehr über eine Referenz zugewiesen werden (class C {}; $c =& new C;). Über einen Regex kann man feststellen, wo wir hier etwas ändern müssen: /\& +new/
  • Other Changes
    • Die date.timezone-Warnung wurde entfernt. Defaultwert ist UTC.
      Grundsätzlich erstmal egal, wenn wir unser php ordentlich konfiguriert haben, aber es kann dennoch nicht schaden, folgendes zu tun:

/global.php

Suche:

<?php

<em>Füge darunter ein:</em>

date_default_timezone_set('Europe/Berlin');

Going hot now:

Hier nochmal der Hinweis: Jedes WBB ist einzigartig. Es kann sein, dass durch Hacks oder sonstige Codeänderungen diese Anleitung hier nicht vollständig ist. Das bitte selbst prüfen!
Außerdem natürlich wie immer der Hinweis: Keine Garantie, ist aber trotzdem getestet, wenn dennoch Fehler auffallen, bitte melden, damit die behoben werden können. 😉

Als erstes kümmern wir uns um die global-Geschichte:

/acp/lib/functions.php
Suche:

global $$name, $wbbuserdata;

Ersetze mit:

global ${$name}, $wbbuserdata;

/lcd.php (Ein Hack, also optional)
Suche:

global $$letter

Ersetze mit:

global ${$letter}

Dann beseitigen wir die &new-Fehler. Ich habe diese allerdings nur in Hacks gefunden, sodass es euch wahrscheinlich gar nicht betrifft:

/xy_megashoutbox.php
/gaestebuch.php

Suche (mehrfach):

&new parse

Ersetze mit:

new parse

Danach schauen wir uns die regulären Ausdrücke mit den /e-Modifiern an:

/acp/lib/class_parse.php
Suche:

var $search = array();
var $replace = array();
var $replace2 = array();

Füge darunter ein:

var $search_replace = array();
var $search_replace2 = array();

Suche:

$this->search[] = "/\[list=(&quot;|['\"]?)([^\"']+)\\1](.+)\[\/list((=\\1[^\"']+\\1])|(\]))/esiU";
$this->replace[] = "\$this->formatlist('\\3', '\\2')";
$this->search[] = "/\[list](.+)\[\/list\]/esiU";
$this->replace[] = "\$this->formatlist('\\1')";
$this->search[] = "/\[url=("|['\"]?)([^\"']+)\\1](.+)\[\/url\]/esiU";
$this->replace[] = "\$this->formaturl('\\2','\\3')";
$this->search[] = "/\[url]([^\"\[]+)\[\/url\]/eiU";
$this->replace[] = "\$this->formaturl('\\1')";

Ersetze mit:

$this->search_replace['/\[list=("|[\'"]?)([^"\']+)\1](.+)\[\/list((=\1[^"\']+\1])|(\]))/siU'] = function($matches) { return $this->formatlist($matches[3],$matches[2]);};
$this->search_replace['/\[list](.+)\[\/list\]/siU'] = function($matches) { return $this->formatlist($matches[1]);};
$this->search_replace['/\[url=("|[\'"]?)([^"\']+)\1](.+)\[\/url\]/siU'] = function($matches) { return $this->formaturl($matches[2],$matches[3]);};
$this->search_replace['/\[url]([^"\[]+)\[\/url\]/iU'] = function($matches) { return $this->formaturl($matches[1]);};

Suche:

$this->replace2[] = "'$this->breakChar[list=\\1$this->breakChar\\2$this->breakChar\\1]$this->breakChar'.\$this->stripSlashes('\\3').'$this->breakChar[/list=\\1$this->breakChar\\2$this->breakChar\\1]$this->breakChar'"; 
$this->replace2[] = "'$this->breakChar[list]$this->breakChar'.\$this->stripSlashes('\\1').'$this->breakChar[/list]$this->breakChar'"; 
$this->replace2[] = "'$this->breakChar[url=\\1$this->breakChar'.\$this->insertBreakChar('\\2').'$this->breakChar\\1]$this->breakChar'.\$this->stripSlashes('\\3').'$this->breakChar[/url]$this->breakChar'";
$this->replace2[] = "'$this->breakChar[url]$this->breakChar' . \$this->insertBreakChar('\\1') . '$this->breakChar[/url]$this->breakChar'";

Ersetze mit:

$this->search_replace2['/\[list=(&quot;|[\'"]?)([^"\']+)\1](.+)\[\/list((=\1[^"\']+\1])|(\]))/siU'] = function($matches) { return $this->breakChar.'[list='.$matches[1].$this->breakChar.$matches[2].$this->breakChar.$matches[1].']'.$this->breakChar.$this->stripSlashes($matches[3]).$this->breakChar.'[/list='.$matches[1].$this->breakChar.$matches[2].$this->breakChar.$matches[1].']'.$this->breakChar;};
$this->search_replace2['/\[list](.+)\[\/list\]/siU'] = function($matches) { return $this->breakChar.'[list]'.$this->breakChar.$this->stripSlashes($matches[1]).$this->breakChar.'[/list]'.$this->breakChar;};
$this->search_replace2['/\[url=(&quot;|[\'"]?)([^"\']+)\1](.+)\[\/url\]/siU'] = function($matches) { return $this->breakChar.'[url='.$matches[1].$this->breakChar.$this->insertBreakChar($matches[2]).$this->breakChar.$matches[1].']'.$this->breakChar.$this->stripSlashes($matches[3]).$this->breakChar.'[/url]'.$this->breakChar;};
$this->search_replace2['/\[url]([^"\[]+)\[\/url\]/iU'] = function($matches) { return $this->breakChar.'[url]'.$this->breakChar.$this->insertBreakChar($matches[1]).$this->breakChar.'[/url]'.$this->breakChar;};

Suche:

if ($allowdynimg == 1) $this->imgsearch2 = "/\[img]([^\"]+)\[\/img\]/esiU";
else $this->imgsearch2 = "/\[img]([^\"\?\&]+\.(gif|jpg|jpeg|bmp|png))\[\/img\]/esiU";
$this->imgreplace2 = "'$this->breakChar[img]$this->breakChar' . \$this->insertBreakChar('\\1') . '$this->breakChar[/img]$this->breakChar'";

Ersetze mit:

if ($allowdynimg == 1) $this->imgsearch2 = "/\[img]([^\"]+)\[\/img\]/siU";
else $this->imgsearch2 = "/\[img]([^\"\?\&]+\.(gif|jpg|jpeg|bmp|png))\[\/img\]/siU";
$this->imgreplace2 = function($matches) { return $this->breakChar.'[img]'.$this->breakChar.$this->insertBreakChar($matches[1]).$this->breakChar.'[/img]'.$this->breakChar;};

Suche:

if ($allowbbcode == 1) {
	if ($this->done['bbcode'] != 1) $this->getbbcode(); 
	$post = preg_replace($this->search, $this->replace, $post);
}

Ersetze mit:

if ($allowbbcode == 1) {
	if ($this->done['bbcode'] != 1) $this->getbbcode();
	$post = preg_replace_callback_array($this->search_replace, $post);
	$post = preg_replace($this->search, $this->replace, $post);
}

Suche:

if ($allowbbcode == 1) {
	if ($this->done['bbcode'] != 1) $this->getbbcode(); 
	$post = preg_replace($this->search, $this->replace2, $post);
	if ($allowimages != 0) $post = preg_replace($this->imgsearch2, $this->imgreplace2, $post);
}

Ersetze mit:

if ($allowbbcode == 1) {
	if ($this->done['bbcode'] != 1) $this->getbbcode();
	$post = preg_replace_callback_array($this->search_replace2, $post); 
	$post = preg_replace($this->search, $this->replace2, $post);
	if ($allowimages != 0) $post = preg_replace_callback($this->imgsearch2, $this->imgreplace2, $post);
}

/acp/lib/functions.php
Suche:

preg_replace("%\[url\]".$threadid_pattern."\[/url\]%ieU", "\$catched_threadids[]=\\3;", $message);
preg_replace("%\[url\]".$postid_pattern."\[/url\]%ieU", "\$catched_postids[]=\\3;", $message);

Ersetze mit:

preg_replace_callback("%\[url\]".$threadid_pattern."\[/url\]%iU", function($matches) use (&$catched_threadids) { $catched_threadids=$matches[3];}, $message);
preg_replace_callback("%\[url\]".$postid_pattern."\[/url\]%iU", function($matches) use (&$catched_postids) { $catched_postids=$matches[3];}, $message);

Suche:

if (count($threadcache)) {
	// insert topics
	$message = preg_replace("%\[url\]".$threadid_pattern."\[/url\]%ieU", "makeLocalLink('\\1',\\3)", $message);
	$message = preg_replace("%\[url\]".$postid_pattern."\[/url\]%ieU", "makeLocalLink('\\1',\\3,1)", $message);
}

Ersetze mit:

if (count($threadcache)) {
	// insert topics
	$message = preg_replace_callback("%\[url\]".$threadid_pattern."\[/url\]%iU", function($matches) { return makeLocalLink($matches[1],$matches[3]);},$message);
	$message = preg_replace_callback("%\[url\]".$postid_pattern."\[/url\]%iU", function($matches) { return makeLocalLink($matches[1],$matches[3],1);}, $message);
}

/acp/lib/class_templateparser.php
Suche:

$code = preg_replace('!<if\((.*)\)>!sieU', '"\".((".$this->stripSlashes(\'\\1\').") "', $code);

Ersetze mit:

$code = preg_replace_callback('!<if\((.*)\)>!siU', function($matches) { return '".(('.$this->stripSlashes($matches[1]).') ';}, $code);

Suche:

$code = preg_replace('!<expression>(.*)</expression>!sieU', '"\".".$this->stripSlashes(\'\\1\').".\""', $code);

Ersetze mit:

$code = preg_replace_callback('!<expression>(.*)</expression>!siU', function($matches) { return '".'.$this->stripSlashes($matches[1]).'."';}, $code);

/acp/lib/class_parsecode.php
Suche:

function doparse($post) {

Ersetze mit:

function doparse($post, $allowsmilies=false, $allowhtml=false, $allowbbcode=false, $allowimages=false) {

Massig Dank dabei an Schrimm, der hier einige Zeit investiert hat! 🙂

Ich habe bei mir noch Reste von der alten MYSQL-Erweiterung gefunden.
Zur Sicherheit können wir nochmal nach Konstanten suchen.

Suche überall nach (insbesondere in /acp/group.php, /acp/lib/admin_functions.php, /acp/lib/functions.php und /acp/style.php):

MYSQL_BOTH

Ersetze mit:

MYSQLI_BOTH

Suche überall nach (insbesondere in /acp/group.php, /acp/lib/admin_functions.php, /acp/lib/functions.php und /acp/style.php):

MYSQL_ASSOC

Ersetze mit:

MYSQLI_ASSOC

Dann fiel mir beim durchsehen auf, dass wir ja tatsächlich noch ereg_replace-Aufrufe im Quelltext haben! :O
Wird gleich mit geändert:

/acp/lib/class_zip.php
Suche:

$date = ereg_replace($regexp, "\\1-\\2-\\3-\\4-\\5-\\6", $date);

Ersetze mit:

$date = preg_replace($regexp, "\\1-\\2-\\3 \\4:\\5:\\6", $date);

/acp/shoutbox.php (Offenbar ein Hack, also optional)
Suche:

$ereza = ereg_replace(",","", $groupwerte);

Ersetze mit:

$ereza = preg_replace("/,/","", $groupwerte);

So, jetzt bauen wir noch schnell die Klassen um. Das WBB wurde auf dem Standard von vor php 5.3.3 geschrieben, der besagt, dass der Konstruktor einer Klasse den Klassennamen trägt. Das heißt, wir müssen jetzt alle Klassenkonstruktoren ändern.

/acp/lib/class_variableimport.php
Suche:

function variableimport($filename) {

Füge darüber ein:

function __construct($filename) {
	$this->variableimport($filename);
}

/acp/lib/class_parse.php
Suche:

function parse($docensor = 0, $wrapwidth = 0, $showimages = 0, $hilight = '', $usecode = 1, $cuturls = 1, $useCaching = 0) {

Füge darüber ein:

function __construct($docensor = 0, $wrapwidth = 0, $showimages = 0, $hilight = '', $usecode = 1, $cuturls = 1, $useCaching = 0) {
	$this->parse($docensor, $wrapwidth, $showimages, $hilight, $usecode, $cuturls, $useCaching);
}

/acp/lib/class_tpl_file.php
Suche:

function tpl($templatepackid = 0, $path = ".") {

Füge darüber ein:

function __construct($templatepackid = 0, $path = ".") {
	$this->tpl($templatepackid, $path);
}

/acp/lib/class_useronline.php
Suche:

function useronline($can_view_ghosts, $buddylist = '') {

Füge darüber ein:

function __construct($can_view_ghosts, $buddylist = '') {
	$this->useronline($can_view_ghosts, $buddylist);
}

/acp/lib/class_query.php
Suche:

function query($query) {

Füge darüber ein:

function __construct($query) {
	$this->query($query);
}

/acp/lib/class_db_mysql.php
Suche:

function db($server, $user, &$password, $database, $phpversion) {

Füge darüber ein:

function __construct($server, $user, &$password, $database, $phpversion) {
	$this->db($server, $user, $password, $database, $phpversion);
}

/acp/lib/class_language.php
Suche:

function language($languagepackid, $path = '.') {

Füge darüber ein:

function __construct($languagepackid, $path = '.') {
	$this->language($languagepackid, $path);
}

/acp/lib/class_parsecode.php
Suche:

function parsecode($usecode = 1) {

Füge darüber ein:

function __construct($usecode = 1) {
	$this->parsecode($usecode);
}

/acp/lib/class_options.php
Suche:

function options($path2lib) {

Füge darüber ein:

function __construct($path2lib) {
	$this->options($path2lib);
}

/acp/lib/class_smtp.php
Suche:

function smtp_socket() {

Füge darüber ein:

function __construct() {
	$this->smtp_socket();
}

/acp/lib/class_onpm.php (Ein Hack, also optional)
Suche:

function onpm(){

Füge darüber ein:

function __construct() {
	$this->onpm();
}

Das dürfte alles gewesen sein. Viel Spaß unter PHP 7 =)
kill0rz

fire - kill0rz.com

PS: Ein großes Lob an die Community, dass wir das auf die Beine gestellt bekommen haben. Das zeigt eben, dass das WBB2 noch lange nicht tot ist! 🙂

//Update 15.02.2016

Da fehlte noch was 🙂

/thread.php
Suche:

function FlatThread($threadid) {

Füge darüber ein:

function __construct($threadid){
	$this->FlatThread($threadid);
}

Suche:

function ThreadedThread($threadid) {

Füge darüber ein:

function __construct($threadid) {
	$this->ThreadedThread($threadid);
}

//Update 16.02.2016

…und weiter gehts 🙂

/acp/lib/class_headers.php
Suche:

function send($isacp = 0) {

Ersetze mit:

public static function send($isacp = 0) {

/acp/misc.php
Suche:

function menu(&$itemgroupbit1, &$itemgroupbit2, $personalmenu = 1, $markfirst = 0, $hidelast = 0) {

Füge darüber ein:

function __construct(&$itemgroupbit1, &$itemgroupbit2, $personalmenu = 1, $markfirst = 0, $hidelast = 0) {
	$this->menu($itemgroupbit1, $itemgroupbit2, $personalmenu, $markfirst, $hidelast);
}

Habe auch die Konstruktoren korrigiert, da haben sich Copy&Paste-Fehler eingeschlichen. Bitte nachbessern!

//Update 02.03.2016

Die Zeile

$this->search[] = "/\[list=(&quot;|['\"]?)([^\"']+)\\1](.+)\[\/list((=\\1[^\"']+\\1])|(\]))/esiU";

muss auch entfernt werden; oben korrigiert.

Weiterhin: Habe die Zeile

$date = preg_replace($regexp, "\\1-\\2-\\3 \\4:\\5:\\6", $date);

zu

$date = preg_replace($regexp, "\\1-\\2-\\3-\\4-\\5-\\6", $date);

korrigiert.
Schrimm hat dazu sogar noch eine Codeoptimierung rausgehauen:
Suche nach:

$date = date("Y-m-d H:i:s", $date);

$regexp = "([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})";
$date = ereg_replace($regexp, "\\1-\\2-\\3-\\4-\\5-\\6", $date);
$date_array = explode("-", $date);

(hier gff. preg_replace suchen)

Ersetze mit:

$date = date("Y-m-d-H-i-s", $date);
$date_array = explode("-", $date);

//Update 07.12.2016

Es hat sich herausgestellt, dass Escapings in php- und code-Tags entfernt werden. Daher muss noch folgende Anpassung vorgenommen werden:

/acp/lib/class_parsecode.php

Suche:

while (list($varnr, $code) = each($val)) {
$post = str_replace("{" . $this->hash . "_" . $mode . "_" . $varnr . "}", "[" . $mode . "]" .     str_replace("\\\"", "\"", $code) . "[/" . $mode . "]", $post);
}

Ersetze mit:

while (list($varnr, $code) = each($val)) {
$post = str_replace("{" . $this->hash . "_" . $mode . "_" . $varnr . "}", "[" . $mode . "]" .     $code . "[/" . $mode . "]", $post);
}

/acp/lib/class_parse.php

Folgende Zeile auskommentieren (kommt mehrfach vor):

$code = $this->stripSlashes($code);
Posted in Allgemein, Internet, Tutorials, Updated, WBB | 4 Comments