Archive for 21 February 2005
21 February
/* 0.1 - initial release 0.2 - new option: rewrite mail addresses with [at] and [dot] 0.3 - userdefined placeholders for [at] and [dot] 0.4 - new option: links can be open in new window (default: off) 0.5 - support for SqlTablePrefix */ class NP_AutoLink extends NucleusPlugin { function getName() { return 'AutoLink'; } function getAuthor() { return 'Kai Greve'; } function getURL() { return 'http://kgblog.de/'; } function getVersion() { return '0.5'; } function getDescription() { return 'Automatically creates links for internet and mail addresses'; } function install() { $this->createOption('InternetAddress','Automatically create links for internet addresses ?','yesno','yes'); $this->createOption('NewWindow','Open links in a new window?','yesno','no'); $this->createOption('MailAddress','Automatically create links for mail addresses ?','yesno','yes'); $this->createOption('RewriteMailAddress','Rewrite mail addresses with [at] and [dot]?','yesno','yes'); $this->createOption('at','Placeholder for @','text','[at]'); $this->createOption('dot','Placeholder for .','text','[dot]'); } function getEventList() { return array('PreItem', 'PreComment'); } function Treatment($_text) { global $CONF, $blog; if ($this->getOption('NewWindow') == 'yes') { $nw="onclick=\"javascript:window.open(this.href, '_blank'); return false;\""; } if ($this->getOption('InternetAddress') == 'yes') { $_text = preg_replace('/(\s)([http|https|ftp|file]+:\/\/[a-zA-Z0-9_?=&%;+-.\/]*)/si','\1\2',$_text); $_text = preg_replace('/(\s)(www\.[a-zA-Z0-9_?=&%;+-.\/]*)/si','\1\2',$_text); } $at = $this->getOption('at'); $dot = $this->getOption('dot'); if ($this->getOption('MailAddress') == 'yes') { if ($this->getOption('RewriteMailAddress') == 'no') { $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]{2,5})/s','\1\2',$_text); } else { $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z]{2,5})/s','\1\2'.$at.'\3'.$dot.'\4',$_text); } } if ($this->getOption('MailAddress') == 'no' && $this->getOption('RewriteMailAddress') == 'yes'){ $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z]{2,5})/s','\1\2'.$at.'\3'.$dot.'\4',$_text); } return $_text; } function event_PreItem($_data) { $_data[item]->body = $this->Treatment($_data[item]->body); $_data[item]->more = $this->Treatment($_data[item]->more); } function event_PreComment($_data) { $_data['comment']['body'] = $this->Treatment($_data['comment']['body']); } function supportsFeature ($what) { switch ($what) { case 'SqlTablePrefix': return 1; default: return 0; } } } ?>Mrs. Lookup
Da hat der TomK ein nettes Tool gebastelt ... werde ich wohl auf der ein oder anderen Seite verwenden."Zu einigen ausgewählten Begriffen kennt Mrs. Lookup kurze Definitionen, welche sie noch vor dem Klicken anzeigt. Momentan ist ihr Wissen noch stark begrenzt: Sie bietet Kurzdefinitionen für die vier Begriffe Gryffindor, Hufflepuff, Slytherin und Ravenclaw. Weitere werden folgen...
Alle zu Mrs. Lookup gehörigen Teile (das Bild, das Skript) sind gemeinfrei ("public domain"), dürfen also ohne Einschränkungen in dieser oder beliebig veränderter Form auf jeder Website verwendet werden. Mit drei einfachen Schritten lässt sich Mrs. Lookup in jede beliebige Website integrieren:
1. mrslookup.tar.gz herunterladen und ins eigene Homepage-Verzeichnis entpacken.
2. Das Haupt-Skript im Header jeder gewünschten Seite einbinden (und bei Bedarf beliebig viele Quicktip-Dateien):
<script
src="mrslookup.js"
type="text/javascript">
</script>
<!-- Optional -->
<script
src="hpotter_quicktips.js"
type="text/javascript">
</script>
3. Das Bild und die (anfangs ausgeblendete) Erläuterung im Body einbauen. Ein Beispiel bietet dieses Seite (insbesondere Zeilen 10 bis 16)."
Mrs. Lookup
Einfach Flattrn wenn es gefällt - Danke.