Archiv für die Kategorie ‘ Webentwicklung

Zum Jubiläum: Hacker.org Scripts und neues Design auf der Homepage

Vorweg möchte ich kurz auf das neue Design meiner Homepage www.michaelschatz.de hinweisen.

Aber jetzt ein paar Scripts, bei denen man auf Hacker.org einsteigen kann, weiter bin ich auch nicht gekommen oder hatte keine Lust mehr. Aber ich will euch mein Wissen nicht vorenthalten:

One Minute Man:

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
// Datei definieren
  $filename = 'test.txt';
// die Datei die überwacht werden soll
  $somecontent = file_get_contents("http://www.hacker.org/challenge/misc/minuteman.php");
 
// Sichergehen, dass die Datei existiert und beschreibbar ist
if (is_writable($filename)) {
 
    // Wir öffnen $filename im "Anhänge" - Modus.
    // Der Dateizeiger befindet sich am Ende der Datei, und
    // dort wird $somecontent später mit fwrite() geschrieben.
    if (!$handle = fopen($filename, "a")) {
         print "Kann die Datei $filename nicht öffnen";
         exit;
    }
 
    // Schreibe $somecontent in die geöffnete Datei.
    if (!fwrite($handle, $somecontent)) {
        print "Kann in die Datei $filename nicht schreiben";
        exit;
    }
 
    print "Fertig, in Datei $filename wurde $somecontent geschrieben";
 
    fclose($handle);
 
} else {
    print "Die Datei $filename ist nicht schreibbar";
}

So, dieses Script wird nun mittels Cronjob jede Minute einen Tag lang gestartet. Am nächsten Tag kurz die Datei durchscrollen, schon ist das Ergebnis schnell sichtbar:
back later
back later
back later
i declare the answer is

Wörter zählen:
Eine Aufgabe ist es, die Anzahl der unterschiedlichen Wörter in einem Text zu zählen:

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
function UnterschiedlicheWoerterErmitteln($Text, $Trennzeichen)
{
    $Text .= " #ENDE#";
 
    for($Token = strtok($Text, $Trennzeichen); $Token != "#ENDE#"; $Token = strtok($Trennzeichen))
    {
        if($Token != "")
        {
            $AnzahlDerWoerter[strtolower($Token)]++;
            $GesamtzahlDerWoerter++;
        }
    }
 
    ksort($AnzahlDerWoerter);
    arsort($AnzahlDerWoerter);
 
    echo"Der Text enthält ",
        $GesamtzahlDerWoerter,
        " unterschiedliche Begriffe.",
        "<ul>";
 
    foreach($AnzahlDerWoerter as $Schluessel=>$Wert)
    {
        echo"<li>",
            $Schluessel,
            " (",
            $Wert,
            ")</li>";
    }
 
    echo"</ul>";
}
 
 
$Text = "text text123 text 234 text";
 
UnterschiedlicheWoerterErmitteln($Text, " ,.!?");

Dann habe ich noch eine tv.php gefunden. Hat wohl irgendetwas mit dem Aufgabennamen zu tun. Auf den ersten blick werden zwei Texte verglichen, und zu viele markiert, welche glaube ich die Antwort ergeben. Wenn ich darüber nachdenke ist das ganz einfach mit Notepad++ (Compare) umzusetzen. Naja, musste es ja in php machen. Hier der Code Tada:

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
function stringVergleich($string1,$string2,$color) {
    $as1 = explode(" ",$string1);
    $as2 = explode(" ",$string2);
    $ii = count($as1);
    $i = 0;
    do {
        if (!in_array($as1[$i],$as2)) {
            $nas1[$i] = "<font color=\"".$color."\">".$as1[$i]."</font>";
        } else {
            $nas1[$i] = $as1[$i];
        }
        $i++;
    } while ($i < $ii);
    $fs = join(" ",$nas1);
    return $fs;
}
 
$text1="Text 1";
//ENDE Text 1
//START Text Original!!
$text2="Original Text";
 
echo stringVergleich($text1,$text2, $color = "#ff0000");
echo "<br><br><br>";
echo stringVergleich($text2,$text1, $color = "teal");

Das wars von mir und von Hacker.org, einfach logisch denken, dann kommt man auch so ziemlich weit! Viel Spaß wünsche ich noch!

www.michaelschatz.de Neu – 10 jähriges Jubiläum

Meine Homepage www.michaelschatz.de gibt es jetzt 10 Jahre, deshalb gibt es eine neue kleinere Homepage mit einem neuem CMS System, welches ein neues Design mit sich bringt. Sinnlose Funktionen wie das Gästebuch oder die Hilfe-Seiten habe ich in die neue Seite nicht mehr eingebaut. Desweitern wollte ich auch mal wieder was bloggen, da es in letzter Zeit so still um unseren Blogschatz wurde. Nächstes mal gibt es etwas feines für alle die gerne “hacken” oder “Hacker” werden wollen :)

Plugin Add LightBox & Title – Verbesserung

Ich setzt zur besseren Bilddarstellung das Plugin ”Add LightBox & Title” ein.

Da ich immer auf Webstandards w3c achte und ich die Seite validieren liese, kamen mir folgende Fehlermeldungen:

character “[" is not allowed in the value of attribute "rel"

Hm, in Google sagte mir der erste Treffer dazu, dass er einfach nicht rel=lightbox[xy] sonder rel=lightbox.xy verwendet. Ja ok dacht ich mir, kann ja niad so schwer sein, ist es auch nicht!

Man geht wie folgt vor:

Im Admin im Backend von WordPress einloggen, Plugins und bei Add LightBox & Title bearbeiten klicken. Man bekommt einen langen Quelltext. Nun sucht man sich folgende Zeile:

25
$replacement[1]    = '$1$2$3$4$5 rel="lightbox['.$post-&gt;ID.']"$6$7$8$9';

und ersetzt diese mit

25
$replacement[1]    = '$1$2$3$4$5 rel="lightbox.'.$post-&gt;ID.'"$6$7$8$9';

Das wars, viel Spaß mit eurem validen Blog.

Der Schatzblog äh Blogschatz…

… wurde mal wieder ein WordPress-Upgrade unterzogen. Auf Version 3.0.1 inklusive aller Updates. Das Theme war komplett neu und ich musste mal wieder übersetzten und das Datum links umschreiben. Es ist spät, 00:07 Uhr und ich muss morgen wieder in die Arbeit. Ich werde jetzt ins Bett gehen, an ausschlafen ist nicht mehr zu denken. Ach ja, die Seite ist jetzt bei Google, Yahoo und Bing (MSN) drin und mit dem Keyword “blogschatz” bei allen 3  auf Platz 1, welch wunderbarer Erfolg.

Wenn jemand Rechtschreibfehler und/oder Designfehler findet, der kann sich gerne bei mir melden (siehe Impressum).

Noch ein offener Punkt: die Seite ist im Moment nicht valide, was ich morgen ändere und eventuell schreibe ich das auch wie ich das ganze lösen werde.

Joomla 1.5 – kleine Tipps

Ich musste mich im letzten halben Jahr mit dem CMS “Joomla” quälen, ein furchtbares System, welches nicht wirklich performant und  keinesfalls User freundlich ist. Leider habe ich mit dem Ding anfangen müssen, weil es bereits eine bestehende Seite in der Version 1.0 gab.

Eigentlich ist es Wahnsinn, aber ja, ich habe auf Version 1.5 geupdatet, was zur folge hatte, dass wie immer, nix mehr geht. Kein Design nix, nichtmal meine Testumgebung taugte Version 1.5 mehr, da php5 benötigt wird. Mein Gott, habe ich einen Hass auf das CMS.

Ich schreibe hier kurz auf, was ich für Tipps und Tricks habe, für Leute die gerne eine “schöne” und keine “Joomla-Standard-Seite” haben wollen.
Wer gerne einen festen Seiten-Titel auf jeder Seite haben möchte muss die Datei “head.php” in “libraries/joomla/document/html/renderer/” ändern.

85
$strHtml .= $tab.''.htmlspecialchars($document-&gt;getTitle()).''.$lnEnd;

suchen und ändern in

85
86
87
88
89
//$strHtml .= $tab.''.htmlspecialchars($document-&gt;getTitle()).''.$lnEnd;
		$config = new JConfig();
		if(( $_SERVER['REQUEST_URI'] == '/') || ( $_SERVER['REQUEST_URI'] == '' ) ) $site_name = '';
		else $site_name = " - " . $config-&gt;sitename;
		$strHtml .= $tab . '' . htmlspecialchars($document-&gt;getTitle()) .  $site_name . '' . $lnEnd;

Quelle: http://www.im-tal.net/224/titel-in-joomla-setzen-aendern-und-auslesen/

Wer die Datei näher durchsucht kann den (lästigen) Meta-Tag name=”generator” entfernen

<meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />

Einfach 2 Zeilen drüber folgende Stelle auskommentieren:

83
$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;

Sollte dann so aussehen:

83
//$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;

Wer die verdammt unprofessionellen Meta-Angaben wie “Ersteller” oder “erstellt am” weg haben will und nicht dauernd jeden einzelnen Beitrag unter ”Erweiterte Parameter” durchklicken will, der passt die sogenannten “Globale Einstellung” an. Wie geht? Einfach => Klickt auf “Inhalt”, “Beiträge”, oben rechts auf “Einstellungen”. (Meine Fresse, jeden scheiß muss man ergoogeln, ich hasse es!!!)

So, das wars für heute, ich hasse Joomla!

Blogschatz.de SEO optimiert?

Das ist die große Frage. Ich weiß es noch nicht. Hab mir ein Sitemap.xml Plugin geholt und auch die robots.txt habe ich angelegt. Das Plugin meint irgendwas mit virtueller robots.txt? Keinen Plan, leider habe ich jetzt nicht die Zeit hier großartig was reinzuschreiben, hole ich heute abend nach.

WordPress und Autofahren

Heute hat das Upgrade von WordPress wunderbar funktioniert. Nur muss man die Upgrades erstmal finden…

Zum anderen habe ich mich heute als ich nach hause gefahren bin gefragt, wieso ich einer von 4 (oder 5 oder mehr) bin, der hinter einem herfährt der mit 80 auf der Landstraße pünktlich zur Rush Hour rumgurkt? Naja, ich weiß nicht was sich der/die jenigen Fahrer denken, aber ich will einfach nur nach hause! Mal ehrlich, Landstraße bei trockener Straße kann man doch mal 100 fahren oder? Meine Nerven…

Ich wollte heute ein Statement  zu DSL für das Land schreiben, aber das geht nicht mehr, vor allem als jetzt gerade festellen muss, das der Blog eine Stunde zu spät geht, he mann, geht irgendwas?

Tagesbericht und WordPress-Upgrade

Ja, mein Tag war heute etwas schnell vorbei, viel zu arbeiten und noch mehr Probleme. Nebenbei habe ich noch ein paar Veranstaltung zu- bzw. abgesagt. Das WordPress-Upgrade werde ich heute nicht durchführen, obwohl meine Supportanfrage von zwei Moderatoren beantwortet wurde. Werde ich morgen nachholen.

Heute habe ich über Breitband auf dem Land nachgedacht, eventuell schreibe ich morgen meine Meinung dazu.

WordPress Upgradegeschichte

WordPress 2.9.2 ist verfügbar. Bitte informiere den Administrator.

prangt bei mir oben mit gelben Hintergrund als Redakteur auf meinem Dashboard von WordPress, als ich gestern einen sinnlosen Beitrage erstellen wollte. “Ja, da update ich doch gleich” dachte ich mir und zusätzlich habe ich sogar was interessantes zu erzählen. BAMM, Schuß in den Fuß. Was die Installation und das wirklich sehr einfache Einrichten des Blogs WordPress gut macht, verliert die Software bei einem Update. Ein Datenbankupdate wollte WordPress nicht machen, aber viel schlimmer: mein backend war auf englisch. Das ist frustrierend.
Step 1: Supportanfrage auf wordpress-deutschland gestellt.
Step 2: Backup wieder eingespielt.
Step 3: Kontrolle, alles noch schlimmer, backend wieder englisch.
Step 4: Nochmal alles gelöscht, backup wieder hochgeladen, bullshit, alles gleich schlimm.
Step 5: Alte Version nochmals runtergeladen, drübergebügelt, passt, Backend wieder auf Deutsch.
Step 6: Bilder kaputt, nochmals neue für das Theme und was ich jetzt nicht machen kann, das Impressumbild nochmal neu hochladen…

Schade, der Updatevorgang hat mich ca 5 Std. meines Lebens gekostet oder kostet noch und ich verinnerliche mir den Spruch: “Never touch a running system!”