Update of /cvsroot/php-blog/additional_plugins/serendipity_plugin_wikipedia_finder
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5832
Added Files:
serendipity_plugin_wikipedia_finder.php wikipedia.png
wikipedia_black.gif wikipedia_white.gif
Log Message:
Wikipedia Finder Plugin
--- NEW FILE: wikipedia_white.gif ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: serendipity_plugin_wikipedia_finder.php ---
<?php
// Wikipedia Finder Plugin for Serendipity
// 10/2004 by Thomas Nesges <th...@tn...>
// Mozilla-compatible Javascript by Garvin Hicking (http://www.supergarv.de)
switch ($serendipity['lang']) {
default:
case 'en':
case 'de':
@define('PLUGIN_WIKIPEDIAFINDER_TITLE', "Wikipedia Finder");
@define('PLUGIN_WIKIPEDIAFINDER_DESC', "Ein Markiertes Wort in Wikipedia suchen");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_TITLE', "Titel");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_TITLE_DESC', "Titel des Sidebarblocks");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_SITE', "Wikipedia Site");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_SITE_DESC' , "Auf welcher Wikipedia Site soll gesucht werden?");
@define('PLUGIN_WIKIPEDIAFINDER_SITE' , "http://de.wikipedia.org");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_SITE', "Wikipedia Site");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_SITE_DESC' , "Auf welcher Wikipedia Site soll gesucht werden?");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_COLOR', "Farbe");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_COLOR_DESC' , "Ist der Hintergrund eher hell oder dunkel? Wird benötigt zur Grafikauswahl");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_COLOR_DARK' , "Dunkler Hintergrund");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_COLOR_LIGHT' , "Heller Hintergrund");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_TARGET', "Zielfenster");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW', "Zielfenster mit Javascript öffnen");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_TARGET_DESC' , "Wenn die Wikipediasuche in einem neuen Fenster durchgeführt werden soll, kann hier ein Fenstername angegeben werden (zB \"wikipedia\"). Diese Einstellung wird von \"".PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW."\" überschrieben.");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_DESC', "Ein neues Ausgabefenster kann per Javascript in Höhe und Breite beeinflusst werden. Soll davon Gebrauch gemacht werden? Wird hier \"Ja\" gewählt, wird die Einstellung ".PLUGIN_WIKIPEDIAFINDER_PROP_TARGET." überschrieben.");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_HEIGHT', "Javascript-Fenster: Höhe");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_HEIGHT_DESC', "Höhe des Zielfensters. Nur wirksam bei aktiviertem \".PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW.\"");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_WIDTH', "Javascript-Fenster: Breite");
@define('PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_WIDTH_DESC', "Breite des Zielfensters. Nur wirksam bei aktiviertem \".PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW.\"");
break;
}
class serendipity_plugin_wikipedia_finder extends serendipity_plugin {
function introspect(&$propbag) {
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_TITLE);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_DESC);
$propbag->add('configuration', array('title', 'site', 'color', 'target', 'jswindow', 'jswindow_height', 'jswindow_width'));
}
function introspect_config_item($name, &$propbag) {
switch($name) {
case 'title':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_PROP_TITLE);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_PROP_TITLE_DESC);
$propbag->add('default', PLUGIN_WIKIPEDIAFINDER_TITLE);
break;
case 'site':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_PROP_SITE);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_PROP_SITE_DESC);
$propbag->add('default', PLUGIN_WIKIPEDIAFINDER_SITE);
break;
case 'color':
$propbag->add('type', 'select');
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_PROP_COLOR);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_PROP_COLOR_DESC);
$propbag->add('select_values', array('black' => PLUGIN_WIKIPEDIAFINDER_PROP_COLOR_DARK, 'white' => PLUGIN_WIKIPEDIAFINDER_PROP_COLOR_LIGHT));
$propbag->add('default', 'black');
break;
case 'target':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_PROP_TARGET);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_PROP_TARGET_DESC);
$propbag->add('default', "");
break;
case 'jswindow':
$propbag->add('type', 'boolean');
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_DESC);
$propbag->add('default', "false");
break;
case 'jswindow_height':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_HEIGHT);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_HEIGHT_DESC);
$propbag->add('default', "600");
break;
case 'jswindow_width':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_WIDTH);
$propbag->add('description', PLUGIN_WIKIPEDIAFINDER_PROP_JSWINDOW_WIDTH_DESC);
$propbag->add('default', "600");
break;
default:
return false;
}
return true;
}
function generate_content(&$title) {
global $serendipity;
$title = $this->get_config('title', PLUGIN_WIKIPEDIAFINDER_TITLE);
$site = $this->get_config('site', PLUGIN_WIKIPEDIAFINDER_SITE);
$color = $this->get_config('color', 'black');
$target = $this->get_config('target', '');
$jswindow = $this->get_config('jswindow', 'false');
$jswindow_height = $this->get_config('jswindow_height', '600');
$jswindow_width = $this->get_config('jswindow_width', '600');
echo '<script type="text/javascript">
function getSelectedText() {
Qr = (document.selection && document.selection.type && document.selection.type == \'Text\' ? document.selection.createRange().text : window.getSelection());
if (!Qr || Qr == "") {
Qr = prompt("' . PLUGIN_WIKIPEDIAFINDER_DESC . '", "");
}
word = Qr.toString();
document.getElementById("wikipediafinder").value = word.replace(/\s+$/, "");
document.getElementById("wikipediafinderform").submit();
}
</script>';
$plugin_dir = basename(dirname(_FILE_));
echo "<div align='center'><form id='wikipediafinderform'
action='$site/wiki/Spezial:Search' method='GET'
style='margin-bottom:0px;'";
if($target!="" || $jswindow) {
if($jswindow && $target != "s9y_wikipediafinder") {
$target = "s9y_wikipediafinder";
$this->set_config("target", "s9y_wikipediafinder");
}
echo " target='$target'>";
}
echo " <input type='hidden' name='search' value='' id='wikipediafinder' />
<input onmousedown='";
if($jswindow==TRUE) {
echo "window.open(\"/plugins/".$plugin_dir."/wikipedia.png\", \"s9y_wikipediafinder\", \"height=".$jswindow_height.", width=".$jswindow_width.", resizable=yes, scrollbars=yes, toolbar=no, status=no, menubar=no, location=no\");";
}
echo " getSelectedText(); return false;'
onclick='return false;'
type='image' style='height:30px; width:31px;'
src='/plugins/".$plugin_dir."/wikipedia_".$color.".gif' /><br />
".PLUGIN_WIKIPEDIAFINDER_DESC."
</form></div>";
}
}
/ vim: set sts=4 ts=4 expandtab : /
?>
--- NEW FILE: wikipedia_black.gif ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: wikipedia.png ---
(This appears to be a binary file; contents omitted.)
|