Kategorie: PHP und MYSQL

Event-Handler in PHP5

17. September, 2008

Hinweis vorab: Nein, in PHP gibt es kein “klick” oder “mouseover”.
Sowas gehört zu JavaScript und somit zum Client (Browser).
Folgender Beitrag erklärt die Verwendung von eigenen Events die nur auf dem Server ausgeführt werden. Wer sich also erhofft hat auf dem Server irgendwie auf einen “klick” zu reagieren ist hier falsch.

Jeder gute PHP-Programmierer kennt das Problem:

“Wie kann ich meine Applikationen dynamisch erweitern ohne am Quelltext des eigentlichen Programmes etwas zu ändern?”

Klar könnte man zu jedem Plugin eine Anleitung erstellen in der erklärt wird wo man welchen Code einfügen muss, doch nicht jeder kann PHP und für Kunden, welche sich dann für ein solches Plugin extra einen Programmierer besorgen müssten, macht das ganze keinen Sinn.
weiter lesen…

PHP und MYSQL

VB bugfixing und Sechsämtertropfen

03. November, 2007

Joa heute morgen hab ich mal ein paar fixe in der BBCODE_CLASS.PHP gemacht, allerdings ist mir dort ein kleiner Fehler unterlaufen, der dazu führt das die Schriftgrößen nicht mehr gingen. Problem war ein Leerzeichen zwischen der ziffer und px. wurde aber gleich behoben.

ein weiterer Bug der bis jetzt noch nicht offiziell bekannt ist und bei uns gefixt wurde ist in der /include/cron/activation.php
dort befindet sich ein REPLACE INTO der fehlerhaft ist, komischerweise ist nie ein Fehler aufgetreten bis vor wenigen Tagen.
eine kleine ,0 angehängt behebt das ganze. Es fehlte einfach ein value für die letzte spalte.

Die Tage hab ich auch wieder ein paar Altlasten (gelöschte Posts) bereinigt (ca. 30k) und eine kleine Tabellen-Reinigung durchgeführt.
Alle Sechs Ämter sind durchlaufen, auf die Kälte nen Tropfen Frostschutz, ein schönen Samstag Nachmittag!

PHP und MYSQL

Keygen-GYSN decoden

15. August, 2007

Mir war grad fad, und ich hab zufällig “vBulletin.v3.6.8.UPDATED.GERMAN.PHP.NULLIFIED.Incl.Keygen-GYSN” gefunden und dachte mir… hm der keygen ist doch unnutz? nja mal reingeschaut… bischen base64 und so. nja war aber nichts intressantes drin, den decoder post ich euch mal:

function gsb($str)
{
while (preg_match("|gzinflate\(str_rot13\(base64_decode|Usim",$str))
{
$str = str_replace("?><? eval(gzinflate(str_rot13(base64_decode('","",$str);
$str = str_replace("')) )); ?><?","",$str);
$str = gzinflate(str_rot13(base64_decode($str)));
}return $str;
}

function gb($str)
{
while (preg_match("|gzinflate(base64_decode|Usim",$str))
{
$str = str_replace("?><? eval(gzinflate(base64_decode('","",$str);
$str = str_replace("'))); ?><?","",$str);
$str = gzinflate(base64_decode($str));
}return $str;
}

for($x=1;$x<20;$x++)
{
$str = gsb($str);
$str = gb($str);
}
echo $str;

So jetzt wirds zeit fürs mittagessen, fische füttern, vögel füttern und mich füllen :D

PHP und MYSQL

DELETE oldpost JOIN putzwahn

13. August, 2007

Ja es ging gleich weiter, hab jetzt ca 15k soft-deleted Beiträge die schon etwas älter sind aus der DB gefegt, der Putzwahn nimmt kein ende *g*. Das erklärt auch die gelegentlichen “offline modes” im Forum :D Allerdings hätte ich da doch paar mehr killen können. und das nächste mal mit LIMITS arbeiten damit er nicht wieder 130 Sekunden Tables Lookt. naaa aber etz ist erstmal schluss, morgen früh muss ich die vb1_post noch von den 200mb überhang befreien, da läuft die Optimierung sicher auch wieder gute 15 minuten.

Gelöschte Zeilen: 27642 (die Abfrage dauerte 122.4789 sek.)

DELETE d.*,p.* FROM vb1_deletionlog AS d
JOIN vb1_post AS p ON (d.primaryid = p.postid)
WHERE d.type='post' AND d.dateline<'1182006660' AND p.visible='2'

Internes, PHP und MYSQL

no LEFT JOIN and LIMIT on UPDATE

12. August, 2007

Gerade kleines Update gefahrn und die Anouncen sowie Stickys von Crack auf mich geschrieben, beim UPDATE auf 2 Tabellen vb1_post und vb1_thread hatte ich allerdings kleines problem festgestellt, dort ist kein LIMIT möglich und auch kein LEFT JOIN. Die Lösung hat sich allerdings dann doch noch gefunden:

UPDATE vb1_thread AS t JOIN vb1_post AS p
ON (t.firstpostid = p.postid)
SET p.userid='1', p.username='raid-rush', t.postuserid='1', t.postusername='raid-rush'
WHERE t.sticky='1' AND t.postuserid='12'

So mal sehn was ASSO aufm vierten noch so treibt ;D

Internes, PHP und MYSQL