Seite 1 von 12

[ALPHA] 0.0.7 Cryptlink

Verfasst: 04.07.2008 19:29
von Boecki91
MOD-Title: Cryptlink
MOD-Version: 0.0.7
MOD-Beschreibung:
  • Features:
    • Ersetzt alle Links in Beiträgen durch verschlüsselte Links
    • Unterscheidet zwischen internen und externen Links
    • Sorgt dafür das man bei internen Links garantiert eingeloggt bleibt
    • Weiterleitung mit Zwischenseite oder ohne
    • Automatische Weiterleitung nach x Sekunden (oder auch nicht)
    • Löschsicher, wird der MOD ausgebaut, sind alle Links wieder normal.
    • Volle Unterstützung der deutschen und englischen Sprache
    • "Klick-Klick" SQL-Changes :wink:
    • Nutzung von "anonym.to" möglich
    • "Link-Klick" Berechtigungs-Prüfung
    • Gäste ggf. zum einloggen/registrieren aufordern
    • Spezial-Verhalten bei Bots(Direkte Weiterleitung)
    • Hide Mod (Links erst nach Antwort schreiben anzeigen)
  • Geplant:
    • Eine Statistik über die besuchten Links
MOD-Download: Cryptlinkv[ALPHA] 0.0.7
SVN-Repository: http://phpbb3-cryptlink.googlecode.com/svn/trunk/
phpBB-Version: phpBB 3.0.2
phpBB-Sprachen: de, en
phpBB-Styles: alle, da keine Eingriffe ins Template notwendig sind
MOD-Demo:

Verfasst: 04.07.2008 19:58
von 4seven
Sauber :D

Verfasst: 05.07.2008 09:39
von Dave

Code: Alles auswählen

 $message = str_replace('href="' . $url, 'href="' . append_sid('./link.php', 'link=' . $replace), $message);
Sollte eher

Code: Alles auswählen

$message = str_replace('href="' . $url, 'href="' . append_sid("{$phpbb_root_path}link.$phpEx", "link={$replace}"), $message);
sein. Besonders wenn der $phpbb_root_path nicht ./ gibts probleme.

Verfasst: 05.07.2008 10:50
von Boecki91
Danke Dave für den Hinweis, ist in der aktuellen SVN behoben.
Ich habe mal in die Coding Guidlines geschaut, und dieses Beispiel gefunden:

Code: Alles auswählen

append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id'])
Kannst du mir sagen warum du das $replace auch in Klammern gesetzt hast, und warum man überhaupt Klammern verwendet, in der Funktion selbst finde ich keine Verwertung für die Klammern, vielleicht im Template?

Ich werde nun auch sizeof() anstatt count() verwenden :wink:

Verfasst: 05.07.2008 11:48
von nickvergessen
Boecki91 hat geschrieben:Danke Dave für den Hinweis, ist in der aktuellen SVN behoben.
Ich habe mal in die Coding Guidlines geschaut, und dieses Beispiel gefunden:

Code: Alles auswählen

append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id'])
Kannst du mir sagen warum du das $replace auch in Klammern gesetzt hast, und warum man überhaupt Klammern verwendet, in der Funktion selbst finde ich keine Verwertung für die Klammern, vielleicht im Template?

Ich werde nun auch sizeof() anstatt count() verwenden :wink:
{$phpbb_root_path}memberlist.$phpEx einmal mit einmal ohne,
soweit ich weiß werden die Klammern nur bei phpbb_root_path benutzt

Verfasst: 05.07.2008 13:19
von Boecki91
Nickvergessen:

Weißst du wie man eine "richtige" Installationsdatei erstellt, für automatische SQL Changes und Rechtevergabe?

Edit:
Für den Ordner schemas gibt es eine "Erstellungs-Datei" zumindest ist so etwas im F1-Tipp Mod von Dr.Death drin, wie ich damit umgehen muss weiß ich aber nicht, die install.php wird mir an sich aber schon etwas klarer.

Verfasst: 05.07.2008 13:49
von Würzi
[offtopic]
Boecki91 alter Lästerkumpel :lol:

...wenn du dazu was rausbekommen hast, wie man so ne install mit SQL erstellt, dann kannst das mir vielleicht mal mitteilen. :oops:

Könnt ich auch gebrauchen diese Info :oops:

[/offtopic]

Mfg dat Wuerzi :D

Verfasst: 05.07.2008 14:12
von Boecki91
Wenn es noch keine geben sollte, könnte ich ja eine schreiben, sobald ich weiß wie es geht ;)

Edit: Ich habe es bald raus, muss es noch testen und dann kann ich berichten :D

Verfasst: 15.07.2008 10:46
von cYbercOsmOnauT
nickvergessen hat geschrieben:{$phpbb_root_path}memberlist.$phpEx einmal mit einmal ohne,
soweit ich weiß werden die Klammern nur bei phpbb_root_path benutzt
Aus gutem Grund. Die Klammern geben an, wo eine Variable anfängt und wo sie aufhört. Sind keine geschweife Klammern gesetzt (funktioniert sowieso nur bei doppelten Anführungsstrichen) erkennt PHP den Variablennamen daran, dass er das erste Zeichen sucht, welches nicht in einem Variablennamen vorkommen kann (Punkt, Leerzeichen, Komma, Sonderzeichen, ...). Hier sieht man nun das Problem "{$phpbb_root_path}memberlist.$phpEx" erkennt die Variablennamen $phpbb_root_path (geschweifte Klammer endet) und $phpEx (String endet). Hingegen "$phpbb_root_pathmemberlist.$phpEx" die Variablennamen $phpbb_root_pathmemberlist (Punkt an nicht mögliches Zeichen in einem Variablennamen) und $phpEx.

Wenn ich programmiere, setze ich, wenn ich Variablen innerhalb String verwende, fast immer {}. Schaden kann es nicht.

Epilog für Fortgeschrittene:
Die geschweiften Klammern sind im PHP eine Begrenzung von zusammengehörigem Programmcode. Sehr bekannt bei Schleifen. Man kann sie aber auch anderweitig verwenden. Zum Beispiel um Variablennamen "zusammen zu basteln". Sowas hier

Code: Alles auswählen

for ($i=1; $i<=3; $i++)
{
  ${'cookie_'.$i} = $_COOKIE['cookie_'.$i];
}
setzt die Variablen $cookie_1, $cookie_2, $cookie_3 mit den jeweiligen Cookiewerten. PHP baut dann erst den String in den geschweiften Klammern zusammen und verwendet es dann als Variablennamen. Es gibt noch mehr solche Kuriositäten, aber ich will hier keinen "Overdose" verursachen. ;)

Verfasst: 15.07.2008 16:42
von Boecki91
Danke, cYbercOsmOnauT für die Erklährung
Also währen:

Code: Alles auswählen

append_sid("{$phpbb_root_path}memberlist.$phpEx";
append_sid($phpbb_root_path . "memberlist.$phpEx";
append_sid($phpbb_root_path . 'memberlist.' . $phpEx;
Gleichwertig?

Wie man die Klammern anders verwerten kann wusste ich bisher noch nicht.
Ich bin eh kein Fan von "$variablen im String", ich mach lieber Punkte. :P

Und variable Variablennamen, braucht man nicht wirklich, mit einem Array könnte man deine Cookies schöner abfragen :wink: :D