Toffifee Skript Update

Ja das gute alte Toffifee Skript gibt es auch noch: toffifee.tobis-bu.de

Trotz einiger Bugs (siehe in der Versionshistory) wurde mein Skript immer wieder genutzt und auch manche lustige Sätze geschrieben. Joa, das ist richtig coool geworden. Wenn man da mal wieder draufschaut, was da so alles steht, hat man ab und zu was zu schmunzeln.

Da ich auf der index.php von diesem Skript nun einen Zufallscode genommen habe, der vom aktuellen Tag irgendeine Datenzeile ausgibt, wollte ich noch einen Abuseknopf machen. Dieser soll mir per Mail den aktuellen Datensatz zuschicken. Die Mailfunktion hab ich aus organisatorischen Gründen in einer extra Datei gespeichert und erwartet nur noch die Übergabe der Variable $ausgabe

Leider fällt mir keine andere Möglichkeit ein, als das Ganze über ein Formular zu realisieren. Ist etwas bäh, schließlich würde ein einfacher Klick auf einen Link genügen um vom Server aus ne Mail an mich zu schicken. Naja, man kann es ja auch noch über einen mailto: realisieren. Etwas altmodisch, aber funktionabel.

//Update: Der Mailto: Link funktioniert endlich, dank der grandiosen explode() Funktion. ;)

Jetzt bin ich aber müde, müder als vor 3 Tagen.

Jesuscripts

Twitter ist manchmal eine lustige Fundgrube für seltsames Schnipsel.
So gibt es beispielsweise einen User namens jesuscript welcher mit
[sourcecode language='vb']while (people.starving==true) { fish++; bread++; }[/sourcecode]
und
[sourcecode language='vb']I'm one[0]="Father"; one[1]="Son"; one[2]="Holy Spirit";[/sourcecode]
angibt. Klar ist das nicht der richtige Jesus und auch wohl eher eine Parodie, aber irgendwie auch amüsant. :)

Ein weiterer "Glaubensbruder" (saintsimon) macht auf sich aufmerksam, in dem er noch weiteren Code anführt:
[sourcecode language='vb']foreach ($pigs as $pig) : tell($pig.bad_soul, 'Go away!' );
endforeach; [/sourcecode]

Wer die biblischen Geschichten kennt, findet dabei auch die entsprechenden Anspielungen. ;)

Scripten unter Bash

Ich habs ja schon immer gewusst: Windows sieht toll aus, kann auch eine Menge, aber manchmal ist es doch etwas schwach auf der Brust, wenn man bestimmte Dinge automatisieren möchte.
In meinem Falle war dies jetzt beispielsweise die Sortierung von Artikel, die in einem PDF vorhanden sind und welche die eben nicht vorhanden sind. Bisher hab ich das immer mühsam über die CopyPaste Methode gemacht. Einfach die Excelliste anschauen und über die die PDF Suche vom Acrobat das PDF nach der gewünschten Seiten (also die wo Infos zu dem Artikel stehen) suchen. Zeitaufwendig ist es ja sowieso, wenn so 30.000 Artikel durchsucht werden müssen. Noch nerviger ist es allerdings, wenn so etwa 5.000 Artikel dabei sind, die gar nicht im Katalog sind.

Also hatte ich die Idee, ein kleines Skript zu schreiben, welche die Artikel vom Excel ausliest und dann an die API von Acrobat weitergibt. Gut, dafür gab es keine Lösung. Nachdem ich das Problem mal ins Forum von wer-weiss-was geschrieben habe, kam auch prompt eine Lösung. Den PDF in eine Textdatei umwandeln (via PDFtoTEXT) und dann via Grep Befehl das Ganze durchsuchen lassen.
Ich brauch dafür nur eine Linux Umgebung für Windows: cygwin ist ganz nett, wenn auch bei der Installation etwas komisch drauf. Erst als ich alles installiert habe (alle Pakete) hat es mich akzeptiert und ich hatte endlich Zugriff auf die Shell.
Danach hab den Code vom Andreas reingeschrieben (natürlich den Editor von Windows), das Ganze dann als script.sh umbenannt. Und wollte es dann auf der Bash ausführen. Leider hat die Bash an der letzten Zeile rumgemeckert. Der Code stimmt aber genau. Was war also falsch?

while read number
do
 if grep -q -F -- "$number" wieland.txt
 then
   echo "$number" >> treffer.txt
 else
   echo "$number" >> nirvana.txt
 fi
done < suchbegriffe.txt

10 cm Denkpause....

Richtig! Bash mag das DOS Format nicht so gerne. So hab ich das Ganze mal im vi und danach im Joe neu abgeschrieben und es tat endlich.
Jetzt rennt das Skript und nach der Mittagspause kann ich wahrscheinlich die richtigen Wörter in Excel importieren und wieder weiter suchen.
Ist zwar auch viel Arbeit, aber weniger, weil ja die falschen weg sind. ;)

Lang lebe Linux und die findigen Entwickler, die das Ganze auch auf Windows portieren.

PHP und MySQL

Eigentlich sind oben genannte Skriptsprache und die DB ganz gute Tools. Man kann damit coole Dinge machen. Beispielsweise nen Blog aufsetzen und sonstige Dinge machen.

Gestern hab ich mir mal überlegt ein Oberfläche zu schreiben in welcher ich Werbecodes in die DB einlesen kann. Das ist eigentlich eine recht simple Aufgabe. Einfach eine Tabelle mit 2 Feldern erstellen (ID und Code) damit ich diese auch eindeutig unterscheiden kann. Gut, die Erstellung der Tabelle ist ja mit PHPmyadmin kein Problem mehr. Einfach was machen, ein bisschen die Hilfe lesen und fertig ist das Ganze. Dann wollte ich den SQL Befehl etwas erweitern, damit er mir gleich immer in die Zeile, welche ich per Variable übergebe den Code reinschreibt. Das hat nach einer Weile auch endlich geklappt. Kaum mach ich mal dann meinen Browser zu geht es nicht mehr.

Also nochmal rumgebastelt und probiert und gegoogelt. Naja, was lernen wir daraus:

Auslesen aus ner DB geht ganz einfach, aber ein UPDATE bereitet manchmal Probleme. Oder aber man sollte nach einer gewissen Zeit in der man codet einfach mal aufhören und ne Pause machen. Dann fallen einem wieder neue Ideen ein, die vielleicht den Bug rausmachen.

Falls jemand gerade eine Idee hat, wie man einen Update Befehl schreiben kann, der den Inhalt

$code =$_POST['code'];
$id =$_POST['id'];
$abfrage = "UPDATE lose_ads SET code='$code' WHERE id = '$id' ";
mysql_query($abfrage);

id und code werden per POST Befehl an das Skript übergeben, aber es macht trotzdem keine Abfrage. Es hat aber mal getan. Nur weiß ich leider nicht mehr, was war.
Wenn jemand eine Lösung weiß: Bitte posten.

Update: Kaum schaut man sich nochmals den Code an, entdeckt man schon den Fehler. Ich hatte bei der Übergabe eine falsche Variable drin. :) Aber jetzt tuts.