[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Keine "title" und "alt" Übernahme bei WY
Seite 1 von 1

Keine "title" und "alt" Übernahme bei WY

Verfasst: 20. Jan 2010, 13:24
von mmike
Die Angaben aus dem Medienpool werden nicht in den "title" und "alt" Tag übernommen. Ich verwende R 4.2.1 mit TinyMCE und WYSIWYGImage 1.8. Kann mir da jemand weiterhelfen?

Re: Keine "title" und "alt" Übernahme be

Verfasst: 20. Jan 2010, 16:32
von Koala
mmike hat geschrieben:Die Angaben aus dem Medienpool werden nicht in den "title" und "alt" Tag übernommen. Ich verwende R 4.2.1 mit TinyMCE und WYSIWYGImage 1.8. Kann mir da jemand weiterhelfen?
Wie sieht denn dein Code aus, mit dem du "title" und "alt" Tag ausließt?

Verfasst: 20. Jan 2010, 17:52
von mmike
Das Modul sieht folgendermaßen aus:
Eingabe:

Code: Alles auswählen

<?php
/**
 * --------------------------------------------------------------------
 *
 * Modul-Input: WYSIWYGImage, wysiwyg-Text mit Bild/Bildergalerie
 * Version: 1.8, 23.07.2009
 *
 * Autor: Andreas Eberhard, andreas.eberhard@gmail.com
 *        http://rex.andreaseberhard.de
 *
 * Features:
 * - Bild zum Text positionierbar
 * - TinyMCE oder markitUp als Editor
 * - Anzeige eines Zufallsbildes möglich
 * - Bildergalerie über zusätzliches Addon möglich
 *
 * --------------------------------------------------------------------
 *
 * Das Modul benötigt die Aktion "rexnames", bei Presave-Action ADD+EDIT
 * und bei Postsave-Action ADD+EDIT (REDAXO 4.x)
 * [POST|ADD|EDIT] und [PRE|ADD|EDIT] bei Redaxo 3.x
 *
 * PHP-Code für Aktion "rexnames" (### entfernen!):
 *
<?php
	$rexname = rex_request("rexname","array"); // ab REDAXO 4.2.1
	$newname = "";
	for ( $c = 0; $c < 99; $c++ ) {
		if (isset($rexname[$c])) { $newname .= $rexname[$c] . '~~'; }
		else { $newname .= '~~'; }
	}
	if ( isset($REX_ACTION['VALUE'][1]) and $REX_ACTION['VALUE'][1] != '') {
		$rexname = split('~~', $REX_ACTION['VALUE'][1]);
	} else {
		$REX_ACTION['VALUE'][1] = $newname;
	}
?>
 *
 * --------------------------------------------------------------------
 *
 * Verwendete Redaxo-Variablen:
 *
 * REX_VALUE[1]      rexnames
 *   rexname[0]      -
 *   rexname[1]      Anzeigetyp
 *   rexname[2]      Schalter für Zufallsbild
 *   rexname[3]      Schalter für Link in neuem Fenster
 *   rexname[4]      optionale CSS-Klasse
 *   rexname[5]      Bildbeschreibungen aus dem Medienpool (Bildergalerie)
 *   rexname[6]      Pre-HTML
 *   rexname[7]      Post-HTML
 *   rexname[8]      Filter für das Bild (REDAXO 4.0.x)
 *   rexname[9]      Filter für die Bildergalerie (REDAXO 4.0.x)
 *   rexname[10]     Filter für das MouseOver-Bild (REDAXO 4.0.x)
 * REX_VALUE[2]      Wysiwyg-Text
 * REX_VALUE[3]      Bildunterschrift
 * REX_VALUE[4]      Medienpool-Kategorie
 * REX_VALUE[5]      Bildausrichtung
 * REX_VALUE[6]      Bild-Größe
 * REX_VALUE[7]      Adresse externer Link
 * REX_VALUE[8]      Bild-Größe der Galeriebilder
 * REX_MEDIALIST[1]  ausgewählte Bilder aus dem Medienpool
 * REX_LINK_ID[2]    interner Link
 * REX_MEDIA_BUTTON[1] MouseOver-Bild
 *
 * --------------------------------------------------------------------
 *
 * Changelog:
 * 23.07.2009 Version 1.8
 *            - Anpassung an REDAXO 4.2.x ($REX_USER -> $REX['USER'])
 *            - jetzt auch Kategorie + Einzelauswahl möglich
 *            - MouseOver-Bild möglich  
 *            - leichte Anpassung des Backends
 *            - Code für Aktion rexnames angepasst ($rexname = rex_request...)
 *            - Funktion wysiwygimg_cleanWysiwygCode entfernt   
 *            - Filter jetzt auch bei nur einem Bild, Popup-Größe angepasst falls maximale
 *              Größe vorgegeben ist 
 * 02.07.2008 Version 1.7
 *            - Action angepasst
 *            - markitUp als Editor möglich
 *            - erweitert für Addons Lytebox, Lightview
 * 19.03.2008 Version 1.6
 *            - Anpassung an REDAXO 4.1.x
 *            - Bugfix bei Galerie mit Thickbox
 *            - Action angepasst
 * 07.02.2008 Version 1.5
 *            - target="_blank" wird jetzt umgesetzt in onclick="window.open(this.href); return false;"
 *            - '<div align="center">' => '<div style="text-align:center;">'
 * 10.12.2007 Version 1.4
 *            - Bild jetzt auch ohne Resize möglich
 *            - Größenangabe für die Galeriebilder möglich
 *            - PHP Warnings/Notices usw. entfernt
 *            - Anpassung an Redaxo-Versionen ab 3.01 inkl. 4.0.1
 *            - neue Option für Bildbeschreibungen (rexname[5])
 *            - neue Optionen PRE+POST-Html (rexname[6]+rexname[7])
 *            - neue Option Grafik-Filter (rexname[8], ab REDAXO 4.0.x)
 *            - neue Option Grafik-Filter für Bildergalerie (rexname[9], ab REDAXO 4.0.x)
 *            - CSS überarbeitet, IE7-Hack wg. Rollbalken
 *            - erweitert für Addons jQueryLightbox, Shadowbox
 *            - Backend überarbeitet
 * 25.09.2007 Version 1.3
 *            INPUT-Modul
 *            - Anpassung an Redaxo 3.01 und 3.11
 *            - Anpassung Modulkonfiguration
 *            OUTPUT-Modul
 *            - Anpassung an Redaxo 3.01 und 3.11
 *            - Keine Ausgabe wenn kein Text und keine Bilder ausgewählt
 * 22.09.2007 Version 1.2
 *            INPUT-Modul
 *            - Anpassung der Auswahl Medienpool-Kategorie an Redaxo 3.2.x und 3.3.x
 *            - Anpassung des WYSIWYG-Editors an Redaxo 3.2.x und 3.3.x
 *            - Bildervorschau jetzt unter dem REX_MEDIALIST_BUTTON
 *            - neue Option Zufallsbild anzeigen
 *            OUTPUT-Modul
 *            - Im Backend keine Links
 *            - Zufallsbild anzeigen
 * 13.08.2007 Version 1.1
 *            INPUT-Modul
 *            - rexnames[] für weitere Optionen
 *            - Media-List statt Media-Button (mehrere Bilder möglich)
 *            - Medienpool-Kategorie als Bilderquelle auswählen (inkl. Zugriffs-Berechtigungen)
 *            - Erweitert um Popupimg/Lightbox/Thickbox/Greybox/Slimbox
 *            OUTPUT-Modul
 *            - rexnames[] für weitere Optionen
 *            - Erweitert um Popupimg/Lightbox/Thickbox/Greybox/Slimbox
 * 13.11.2006 Version 1.0 Erste Version
 *
 * --------------------------------------------------------------------
 */

	unset($rxmodule);
	$rxmodule['moduleversion'] = 'WYSIWYGImage 1.8';

	// REDAXO-Version
	$rxmodule['rexversion'] = isset($REX['VERSION']) ? $REX['VERSION'] . $REX['SUBVERSION'] : $REX['version'] . $REX['subversion'];

/**
 * markitUp statt TiniMCE für das Textfeld (ab Redaxo 4.0)
 * auch im Output-Modul auf true setzen!
 */
	$rxmodule['markitup'] = false;
   
/**
 * Darstellungsmöglichkeiten für das Bild
 */
	$rxmodule['myimgpos'] = array(
		"im Text links (Textumfluss)",
		"im Text rechts (Textumfluss)",
		"links vom Text",
		"rechts vom Text",
		"links &uuml;ber dem Text",
		"mittig &uuml;ber dem Text",
		"rechts &uuml;ber dem Text",
		"links unter dem Text",
		"mittig unter dem Text",
		"rechts unter dem Text"
	);

/**
 * Werte übernehmen
 */

	$rxmodule['rexname'] = split('~~', "REX_VALUE[1]");
	$rxmodule['rexnames_inuse'] = count($rxmodule['rexname']) > 1;
	if (!$rxmodule['rexnames_inuse']) {
		$rxmodule['rexname'] = array_fill(0, 99, '');
	}

	// ausgewählte Bilder aus dem Medienpool
	$rxmodule['imagelist'] = explode(',', trim("REX_MEDIALIST[1]"));

	// Bildtitel
	$rxmodule['imgtitle'] = stripslashes(trim("REX_VALUE[3]"));

	// Bildausrichtung
	$rxmodule['imgpos'] = trim("REX_VALUE[5]");
	if (trim($rxmodule['imgpos']) == "") {
		$rxmodule['imgpos'] = '0';
	}

	// Thumbnail-Größe
	$rxmodule['imgsize'] = trim("REX_VALUE[6]");
	if ( trim($rxmodule['imgsize']) <> '') {
		if ( !in_array(substr($rxmodule['imgsize'], 0, 1), array('a', 'h', 'w')) ) {
			$rxmodule['imgsize'] = 'w' . $rxmodule['imgsize'];
		}
	}
	
	// Bild-Größe der Galeriebilder
	$rxmodule['galimgsize'] = trim("REX_VALUE[8]");
	if ( trim($rxmodule['galimgsize']) <> '') {
		if ( !in_array(substr($rxmodule['galimgsize'], 0, 1), array('a', 'h', 'w')) ) {
			$rxmodule['galimgsize'] = 'w' . $rxmodule['galimgsize'];
		}
	}

	// Anzeigetyp
	$rxmodule['displaytype'] = trim($rxmodule['rexname']['1']);
	if ($rxmodule['displaytype'] == '') {
		$rxmodule['displaytype'] = 'showonly';
	}

	// interner Link
	$rxmodule['intlink'] = "REX_LINK_ID[2]";
	$rxmodule['intlinkurl'] = rex_GetUrl($rxmodule['intlink']);

	// externer Link
	$rxmodule['extlink'] = trim("REX_VALUE[7]");

	// Zufallsbild
	$rxmodule['randompic'] = trim($rxmodule['rexname'][2]);

	// Link in neuem Fenster?
	$rxmodule['newwindow'] = trim($rxmodule['rexname'][3]);

	// CSS-Klasse
	$rxmodule['cssclass'] = trim($rxmodule['rexname'][4]);

	// Bildbeschreibungen aus dem Medienpool
	$rxmodule['imgdesc'] = trim($rxmodule['rexname'][5]);

	// Pre + Post-HTML
	$rxmodule['prehtml'] = stripslashes(trim($rxmodule['rexname'][6]));
	$rxmodule['posthtml'] = stripslashes(trim($rxmodule['rexname'][7]));

	// Filter für das Bild (ab REDAXO 4.0.x)
	$rxmodule['filter'] = trim($rxmodule['rexname'][8]);

	// Filter für die Bildergalerie (ab REDAXO 4.0.x)
	$rxmodule['galfilter'] = trim($rxmodule['rexname'][9]);

	// Filter für das MouseOver-Bild (ab REDAXO 4.0.x)
	$rxmodule['overfilter'] = trim($rxmodule['rexname'][10]);
?>

<table width="98%" border="0" cellpadding="0" cellspacing="3">

	<tr>
		<td><strong style="display:block;width:185px;">Text:</strong></td>
		<td width="100%" align="right"><strong style="display:block;width:370px;">[ <?php echo $rxmodule['moduleversion']; ?> ]</strong></td>
	</tr>

	<tr>
		<td colspan="2">
		
<?php
// Die folgenden 3 Zeilen dürfen keine führenden Leerzeichen enthalten!
$wysiwigvalue =<<<TEXT
REX_VALUE[2]
TEXT;

if (!$rxmodule['markitup']) {
if ( in_array($rxmodule['rexversion'], array('3.01', '3.11', '32')) ) { // REDAXO 3.2.x, REDAXO 3.01, REDAXO 3.11
$rxmodule['wysiwig'] = new rex_wysiwyg_editor();
/*
// Redaxo 3.2 Standard wysiwyg-Einstellungen
$rxmodule['wysiwig']->buttonrow1 = "styleselect,separator, bold,italic,separator,bullist,numlist,image";
$rxmodule['wysiwig']->buttonrow2 = "link,linkHack,unlink, insertEmail,separator,removeformat,pasteRichtext,code";
$rxmodule['wysiwig']->buttonrow3 = "tablecontrols, separator, visualaid";
$rxmodule['wysiwig']->buttonrow4 = "rowseparator, formatselect,fontselect,fontsizeselect,forecolor,charmap";
*/
$rxmodule['wysiwig']->buttonrow1 = "cut, copy, paste, pastetext, pasteword, separator, justifyleft, justifycenter, justifyright, justifyfull, separator, bullist, numlist, separator, link, linkHack, unlink, insertEmail, separator, image, hr, separator, cleanup, removeformat, code";
$rxmodule['wysiwig']->buttonrow2 = "bold, italic, underline, forecolor, backcolor, charmap, formatselect, separator, tablecontrols, visualaid";
$rxmodule['wysiwig']->buttonrow3 = "empty";
$rxmodule['wysiwig']->buttonrow4 = "empty";
$rxmodule['wysiwig']->stylesheet = $REX['HTDOCS_PATH'] . "files/wysiwyg.css";
$rxmodule['wysiwig']->content = $wysiwigvalue;
$rxmodule['wysiwig']->height = 220;
$rxmodule['wysiwig']->id = 2;
$rxmodule['wysiwig']->show();
}
if ( in_array($rxmodule['rexversion'], array('40', '41', '42')) ) { // REDAXO 4.0.x, 4.1.x, 4.2.x
if (class_exists('rexTiny2Editor')) {
$rxmodule['wysiwig'] = new rexTiny2Editor();
//$rxmodule['wysiwig']->buttons1 = "cut, copy, paste, pastetext, pasteword, separator, justifyleft, justifycenter, justifyright, justifyfull, separator, bullist, numlist, separator, link, linkHack, unlink, insertEmail, separator, image, hr, separator, cleanup, removeformat, code";
//$rxmodule['wysiwig']->buttons2 = "bold, italic, underline, forecolor, backcolor, charmap, formatselect, separator, tablecontrols, visualaid";
$rxmodule['wysiwig']->buttons3 = "";
$rxmodule['wysiwig']->buttons4 = "";
$rxmodule['wysiwig']->editorCSS = $REX['HTDOCS_PATH'] . "files/wysiwyg.css";
$rxmodule['wysiwig']->content = $wysiwigvalue;
$rxmodule['wysiwig']->id = 2;
$rxmodule['wysiwig']->show();
} else {
echo '<br /><font color="#cc0000"><strong>Klasse rexTiny2Editor existiert nicht!<br />Eventuell ist das Addon TinyMCE nicht installiert!?</strong></font>';
}
}
}

if ($rxmodule['markitup'] === true) {
echo '<textarea name="VALUE[2]" class="markitup-text" cols="80" rows="10">'.$wysiwigvalue.'</textarea>';

if (class_exists('a287_markitup')) {
/* Für REDAXO 4.1
a287_markitup::markitup('textarea.markitup-text',
  'h3,h4,h5,separator,bold,italic,separator,listbullet,listnumeric,separator,intlink,extlink,separator,mailtolink,separator,filelink',
  '540','380'
);
*/
/* Für REDAXO 4.2.x */
a287_markitup::markitup('textarea.markitup-text',
  'h1,h2,h3,h4,h5,h6,separator,alignleft,alignright,aligncenter,alignjustify,separator,bold,italic,stroke,underline,superscript,subscript,table,separator,listbullet,listnumeric,separator,image,linkmedia,separator,linkintern,linkextern,linkmailto,separator,blockquote,code,separator,clean,separator,preview',
  '700','400'
);
} else {
echo '<br /><font color="#cc0000"><strong>Klasse a287_markitup existiert nicht!<br />Eventuell ist das Addon markitup nicht installiert!?</strong></font>';
}
}
?>
		</td>
	</tr>

	<tr>
		<td>&nbsp;</td><td>&nbsp;</td>
	</tr>
	
	<tr>
		<td colspan="2" valign="top">
			<strong>Bild(er) ausw&auml;hlen ...</strong><br />
			<em>Wenn mehrere Bilder oder eine Medienpool-Kategorie ausgew&auml;hlt werden wird nur das erste Bild bzw. ein Zufallsbild angezeigt!
			Die weiteren Bilder k&ouml;nnen nur mit zus&auml;tzlichen Addons angzeigt werden (z.B. Lightbox).</em><br />
			REX_MEDIALIST_BUTTON[1]
			<div id="REX_MEDIALIST_PREVIEWC" style="display:none;margin-bottom:25px;">Vorschau:<br /><img id="REX_MEDIALIST_PREVIEW" src="../files/clear.gif" style="cursor:pointer;border:solid 1px #999;" alt="Vorschau schlie&szlig;en" title="Vorschau schlie&szlig;en" /></div>
		</td>
	</tr>

	<tr>
		<td valign="top"><strong>... oder Medienpool-Kategorie mit Bildern ausw&auml;hlen</strong></td>
		<td valign="top">
<?php
	// Zugriffsberechtigungen für Medienpool
	$PERMALL = false;
	if (isset($REX['USER'])) {
		if ($REX['USER']->isValueOf("rights","admin[]") or $REX['USER']->isValueOf("rights","media[0]")) $PERMALL = true;
	}
	if (isset($REX_USER)) {
		if ($REX_USER->isValueOf("rights","admin[]") or $REX_USER->isValueOf("rights","media[0]")) $PERMALL = true;
		$REX['USER'] = $REX_USER;
	}
	$GLOBALS['PERMALL'] = $PERMALL;

	// Select-Options
	if (!function_exists('wysiwygimg_add_mediacat_options_wperm')) {
	function wysiwygimg_add_mediacat_options_wperm( $rxmodule, &$select, &$mediacat, &$mediacat_ids, $groupName = '') {
		global $PERMALL, $REX;
		if(empty($mediacat)) return;
		$mname = $mediacat->getName();
		$mediacat_ids[] = $mediacat->getId();
		if ( in_array($rxmodule['rexversion'], array('3.01', '3.11', '32')) ) { // REDAXO 3.2.x, REDAXO 3.01, REDAXO 3.11
			if ($PERMALL || $REX['USER']->isValueOf("rights","media[".$mediacat->getId()."]")) $select->add_option($mname,$mediacat->getId(), $mediacat->getId(),$mediacat->getParentId());
		}
		if ( in_array($rxmodule['rexversion'], array('40', '41', '42')) ) { // REDAXO 4.0.x, 4.1.x, 4.2.x
			if ($PERMALL || $REX['USER']->isValueOf("rights","media[".$mediacat->getId()."]")) $select->addOption($mname,$mediacat->getId(), $mediacat->getId(),$mediacat->getParentId());
		}
		$childs = $mediacat->getChildren();
		if (is_array($childs)) {
			foreach ( $childs as $child) {
				wysiwygimg_add_mediacat_options_wperm( $rxmodule, $select, $child, $mediacat_ids, $mname);
			}
		}
	}
	} // end function_exists

	// Select aus Medienpool-Kategorien erstellen REDAXO 3.2, REDAXO 3.01, REDAXO 3.11
	if ( in_array($rxmodule['rexversion'], array('3.01', '3.11', '32')) ) {
		$sel_media = new select;
		$sel_media->set_style('width:98%;');
		$sel_media->set_size(1);
		$sel_media->set_name("VALUE[4]");
		$sel_media->set_id("idVALUE4");
		$sel_media->add_option($I18N->msg('pool_kats_no'), "0");
		$sel_media->set_selected("REX_VALUE[4]");
		$mediacat_ids = array();
		if ($rootCats = OOMediaCategory::getRootCategories()) {
			foreach( $rootCats as $rootCat) {
				wysiwygimg_add_mediacat_options_wperm($rxmodule, $sel_media, $rootCat, $mediacat_ids);
			}
		}
		echo $sel_media->out();
	}
	// Select aus Medienpool-Kategorien erstellen REDAXO 4.0.x, 4.1.x, 4.2.x
	if ( in_array($rxmodule['rexversion'], array('40', '41', '42')) ) {
		$sel_media = new rex_select;
		$sel_media->setStyle('width:98%;');
		$sel_media->setSize(1);
		$sel_media->setName("VALUE[4]");
		$sel_media->setId("idVALUE4");
		$sel_media->addOption($I18N->msg('pool_kats_no'), "0");
		$sel_media->setSelected("REX_VALUE[4]");
		$mediacat_ids = array();
		if ($rootCats = OOMediaCategory::getRootCategories()) {
			foreach( $rootCats as $rootCat) {
				wysiwygimg_add_mediacat_options_wperm($rxmodule, $sel_media, $rootCat, $mediacat_ids);
			}
		}
		echo $sel_media->show();
	}
?>
		</td>
	</tr>

	<tr>
		<td valign="top"><strong>maximale Bildgr&ouml;&szlig;e</strong></td>
		<td valign="top">
			<input type="text" size="7" style="width:70px;" name="VALUE[6]" value="<?php echo $rxmodule['imgsize']; ?>" />
			<br />(w=Breite, h=H&ouml;he, a=die l&auml;ngere Seite, z.B.: w128)
		</td>
	</tr>

	<tr>
		<td>&nbsp;</td><td>&nbsp;</td>
	</tr>

	<tr>
		<td valign="top"><strong>Bildausrichtung zum Text</strong></td>
		<td valign="top">
			<select name="VALUE[5]" style="width:98%;">
<?php
	foreach ($rxmodule['myimgpos'] as $key => $value) {
		echo '<option value="'.$key.'" ';
		if ( $rxmodule['imgpos']=="$key" ) {
			echo 'selected="selected" ';
		}
		echo '>'.$value.'</option>';
	}
?>
			</select>
		</td>
	</tr>

	<tr>
		<td valign="top"><strong>Bildunterschrift</strong></td>
		<td valign="top">
		<textarea cols="50" rows="2" title="Doppelklick f&uuml;r mehr/weniger Zeilen" ondblclick="this.rows!=8 ? this.rows=8 : this.rows=2;" name="VALUE[3]" style="width:98%;"><?php echo $rxmodule['imgtitle'] ;?></textarea>
		</td>
	</tr>

<?php if ( in_array($rxmodule['rexversion'], array('40', '41', '42')) ) { // REDAXO 4.0.x, 4.1.x, 4.2.x ?>
	<tr>
		<td valign="top"><strong>Grafik-Filter f&uuml;r das Bild</strong></td>
		<td valign="top">
		<input type="text" size="50" style="width:98%;" name="rexname[8]" value="<?php echo $rxmodule['filter']; ?>" />
		mehrere Filter in der gew&uuml;nschten Reihenfolge durch Komma getrennt<br />
		Vorhandene Filter:&nbsp;
<?php
	$dir = $REX['INCLUDE_PATH'] . '/addons/image_resize/filters/';
	$rxmodule['availablefilters'] = '';
	$k = '';
	if ( $dh = @opendir($dir) ) {
		while ( ($file = @readdir($dh)) !== false ) {
			if ( strstr($file, '.inc.php') and is_file($dir.$file) ) {
				$va = explode('.', $file);
				$rxmodule['availablefilters'] .= $k . $va[1];
				$k = ', ';
			}
		}
		@closedir($dh);
		echo $rxmodule['availablefilters'];
	}
?>
		</td>
	</tr>
<?php } ?>
	
	<tr>
		<td>&nbsp;</td><td>&nbsp;</td>
	</tr>

<?php
	// Anzeigetyp
	$rxmodule['options']['showonly'] = 'Bild nur anzeigen';
	if ( file_exists($REX['HTDOCS_PATH'].'files/popupimg.php') ) {
			$rxmodule['options']['popup'] = 'Bild bei Klick im Popup anzeigen';
	} else {
			$rxmodule['options']['popup'] = 'Bild bei Klick in neuem Fenster anzeigen';
	}
	if (class_exists('OOAddon')) {
		if ( OOAddon::isActivated('greybox') ) {
			$rxmodule['options']['greybox'] = 'Bild(er) bei Klick mit Greybox anzeigen';
		}
		if ( OOAddon::isActivated('jquerylightbox') ) {
			$rxmodule['options']['jquerylightbox'] = 'Bild(er) bei Klick mit jQueryLightbox anzeigen';
		}
		if ( OOAddon::isActivated('lightbox') ) {
			$rxmodule['options']['lightbox'] = 'Bild(er) bei Klick mit Lightbox anzeigen';
		}
		if ( OOAddon::isActivated('lightview') ) {
			$rxmodule['options']['lightview'] = 'Bild(er) bei Klick mit Lightview anzeigen';
		}
		if ( OOAddon::isActivated('lytebox') ) {
			$rxmodule['options']['lytebox'] = 'Bild(er) bei Klick mit Lytebox anzeigen';
		}
		if ( OOAddon::isActivated('pho2') ) {
			$rxmodule['options']['pho2'] = 'Bild(er) bei Klick mit Pho2 anzeigen';
		}
		if ( OOAddon::isActivated('shadowbox') ) {
			$rxmodule['options']['shadowbox'] = 'Bild(er) bei Klick mit Shadowbox anzeigen';
		}
		if ( OOAddon::isActivated('slimbox') ) {
			$rxmodule['options']['slimbox'] = 'Bild(er) bei Klick mit Slimbox anzeigen';
		}
		if ( OOAddon::isActivated('thickbox') ) {
			$rxmodule['options']['thickbox'] = 'Bild(er) bei Klick mit Thickbox anzeigen';
		}
	} else {
		if (file_exists($REX['MEDIAFOLDER'].'/greybox')) {
			$rxmodule['options']['greybox'] = 'Bild(er) bei Klick mit Greybox anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/jquerylightbox')) {
			$rxmodule['options']['jquerylightbox'] = 'Bild(er) bei Klick mit jQueryLightbox anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/lightbox')) {
			$rxmodule['options']['lightbox'] = 'Bild(er) bei Klick mit Lightbox anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/lightview')) {
			$rxmodule['options']['lightview'] = 'Bild(er) bei Klick mit Lightview anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/lytebox')) {
			$rxmodule['options']['lytebox'] = 'Bild(er) bei Klick mit Lytebox anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/pho2')) {
			$rxmodule['options']['pho2'] = 'Bild(er) bei Klick mit Pho2 anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/shadowbox')) {
			$rxmodule['options']['shadowbox'] = 'Bild(er) bei Klick mit Shadowbox anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/slimbox')) {
			$rxmodule['options']['slimbox'] = 'Bild(er) bei Klick mit Slimbox anzeigen';
		}
		if (file_exists($REX['MEDIAFOLDER'].'/thickbox')) {
			$rxmodule['options']['thickbox'] = 'Bild(er) bei Klick mit Thickbox anzeigen';
		}
	}
?>
	<tr>
		<td><strong>Anzeigetyp</strong><br /></td>
		<td>
			<select name="rexname[1]" style="width:98%;">
<?php
	foreach ($rxmodule['options'] as $key => $value) {
		echo '<option value="'.$key.'" ';
		if ( $rxmodule['displaytype']=="$key" ) {
			echo 'selected="selected" ';
		}
		echo '>'.$value.'</option>';
	}
?>
			</select>
		</td>
	</tr>

	<tr>
		<td>&nbsp;</td><td>&nbsp;</td>
	</tr>

	<tr>
		<td><strong>oder bei Klick interner Link</strong></td>
		<td>REX_LINK_BUTTON[2]</td>
	</tr>
	<tr>
		<td><strong>oder bei Klick externer Link</strong></td>
		<td><input type="text" size="50" style="width:98%;" name="VALUE[7]" value="<?php echo $rxmodule['extlink']; ?>" /></td>
	</tr>
	<tr>
		<td><strong>Link in neuem Fenster &ouml;ffnen?</strong></td>
		<td>
			<select name="rexname[3]" style="width:75px;">
<?php
foreach (array(0 => 'nein', 1 => 'ja') as $key => $value) {
	echo '<option value="' . $key . '" ';
	if ( $rxmodule['newwindow'] == "$key" ) {
		echo 'selected="selected" ';
	}
	echo '>' . $value . '</option>';
}
?>
			</select>
		</td>
	</tr>

	<tr>
		<td><strong style="display:block;width:185px;">&nbsp;</strong></td>
		<td><strong style="display:block;width:370px;">&nbsp;</strong></td>
	</tr>

</table>

<a id="togglemoduleplusoptions" style="cursor:pointer;"><strong>[ Mehr Optionen ein/ausblenden ]</strong></a><br />
<div id="moduleplusoptions" style="display:none;">

<table width="98%" border="0" cellpadding="0" cellspacing="3">

	<tr>
		<td><strong style="display:block;width:185px;">&nbsp;</strong></td>
		<td width="100%">&nbsp;</td>
	</tr>

	<tr>
		<td valign="top"><strong>Bildbeschriftungen aus dem Medienpool</strong></td>
		<td valign="top">
			<select name="rexname[5]" style="width:98%;">
<?php
foreach (array('keine','Titel','Beschreibung','Copyright','Titel + Beschreibung','Titel + Copyright', 'Beschreibung + Copyright', 'Titel + Beschreibung + Copyright') as $key => $value) {
	echo '<option value="' . $key . '" ';
	if ( $rxmodule['imgdesc'] == "$key" ) {
		echo 'selected="selected" ';
	}
	echo '>' . $value . '</option>';
}
?>
			</select>
			<br />
			Die Bildbeschriftungen werden als <em>title</em>-Attribut bei dem Bild bzw. bei den Bildlinks ausgegeben
		</td>
	</tr>

	<tr>
		<td valign="top"><strong>Bei mehreren Bildern Zufallsbild anzeigen</strong></td>
		<td valign="top">
			<select name="rexname[2]" style="width:75px;">
<?php
foreach (array(0 => 'nein', 1 => 'ja') as $key => $value) {
	echo '<option value="' . $key . '" ';
	if ( $rxmodule['randompic'] == "$key" ) {
		echo 'selected="selected" ';
	}
	echo '>' . $value . '</option>';
}
?>
			</select>
			<br />(Galerie wird auch in zuf&auml;lliger Reihenfolge angezeigt)
		</td>
	</tr>

	<tr>
		<td valign="top"><strong>maximale Bildgr&ouml;&szlig;e der Galeriebilder</strong></td>
		<td valign="top">
			<input type="text" size="7" style="width:70px;" name="VALUE[8]" value="<?php echo $rxmodule['galimgsize']; ?>" />
			<br />(w=Breite, h=H&ouml;he, a=die l&auml;ngere Seite, z.B.: w600)
		</td>
	</tr>

<?php if ( in_array($rxmodule['rexversion'], array('40', '41', '42')) ) { // REDAXO 4.0.x, 4.1.x, 4.2.x ?>
	<tr>
		<td valign="top"><strong>Grafik-Filter f&uuml;r die Galeriebilder</strong></td>
		<td valign="top">
		<input type="text" size="50" style="width:98%;" name="rexname[9]" value="<?php echo $rxmodule['galfilter']; ?>" />
		mehrere Filter in der gew&uuml;nschten Reihenfolge durch Komma getrennt<br />
		Vorhandene Filter:&nbsp; <?php echo $rxmodule['availablefilters']; ?>
		</td>
	</tr>
<?php } ?>
	
	<tr>
		<td>&nbsp;</td><td>&nbsp;</td>
	</tr>

	<tr>
		<td valign="top" style="vertical-align:top;"><strong>MouseOver-Bild</strong></td>
		<td xvalign="top">REX_MEDIA_BUTTON[1]
		(das MouseOver-Bild sollte die gleichen Ausmasse des Bildes haben)
		</td>
	</tr>

	<tr>
		<td valign="top"><strong>Filter f&uuml;r das MouseOver-Bild</strong></td>
		<td valign="top">
		<input type="text" size="50" style="width:98%;" name="rexname[10]" value="<?php echo $rxmodule['overfilter']; ?>" />
		mehrere Filter in der gew&uuml;nschten Reihenfolge durch Komma getrennt<br />
		Vorhandene Filter:&nbsp; <?php echo $rxmodule['availablefilters']; ?>
		</td>
	</tr>
	
	<tr>
		<td>&nbsp;</td><td>&nbsp;</td>
	</tr>
	
	<tr>
		<td valign="top"><strong>Prefix f&uuml;r CSS-Klassen</strong></td>
		<td valign="top"><input type="text" size="50" style="width:98%;" name="rexname[4]" value="<?php echo $rxmodule['cssclass']; ?>" />
		<br />(default wysiwygimg)
		</td>
	</tr>
	
	<tr>
		<td valign="top"><strong>Pre-HTML</strong></td>
		<td valign="top">
			<textarea rows="2" title="Doppelklick f&uuml;r mehr/weniger Zeilen" ondblclick="this.rows!=8 ? this.rows=8 : this.rows=2;" style="width:98%;" name="rexname[6]"><?php echo $rxmodule['prehtml']; ?></textarea>
		</td>
	</tr>

	<tr>
		<td valign="top"><strong>Post-HTML</strong></td>
		<td valign="top">
			<textarea rows="2" title="Doppelklick f&uuml;r mehr/weniger Zeilen" ondblclick="this.rows!=8 ? this.rows=8 : this.rows=2;" style="width:98%;" name="rexname[7]"><?php echo $rxmodule['posthtml']; ?></textarea>
		</td>
	</tr>

</table>

</div>

<?php
	unset($rxmodule);
?>

<script type="text/javascript">
function addEvent( obj, type, fn )
{
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
	} else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}
function rex_media_preview(){
	var strFileName = document.getElementById("REX_MEDIALIST_SELECT_1").value;
	if ( (strFileName.lastIndexOf(".jpg")>0) || (strFileName.lastIndexOf(".jpeg")>0) || (strFileName.lastIndexOf(".gif")>0) || (strFileName.lastIndexOf(".png")>0) || (strFileName.lastIndexOf(".bmp")>0) ) {
		newImage = new Image();
		newImage.onload = function() {
			document.getElementById("REX_MEDIALIST_PREVIEW").src = newImage.src;
			document.getElementById("REX_MEDIALIST_PREVIEWC").style.display = "block";
		}
		newImage.src = "../index.php?rex_resize=196a__"+document.getElementById("REX_MEDIALIST_SELECT_1").value;
	} else {
		document.getElementById("REX_MEDIALIST_PREVIEWC").style.display = "none";
	}
}
function rex_media_hidepreview(){
		document.getElementById("REX_MEDIALIST_PREVIEWC").style.display = "none";
}
function rex_toggle_plusoptions(){
	if ( document.getElementById("moduleplusoptions").style.display == "none" ) {
		document.getElementById("moduleplusoptions").style.display = "block";
	} else {
		document.getElementById("moduleplusoptions").style.display = "none";
	}
}
addEvent(document.getElementById("togglemoduleplusoptions"), "click", rex_toggle_plusoptions);
addEvent(document.getElementById("REX_MEDIALIST_SELECT_1"), "change", rex_media_preview);
addEvent(document.getElementById("REX_MEDIALIST_SELECT_1"), "click", rex_media_preview);
addEvent(document.getElementById("REX_MEDIALIST_PREVIEW"), "click", rex_media_hidepreview);
</script>
Ausgabe:

Code: Alles auswählen

<?php
/**
 * --------------------------------------------------------------------
 *
 * Modul-Output: WYSIWYGImage, wysiwyg-Text mit Bild/Bildergalerie
 * Version: 1.8, 23.07.2009
 *
 * Autor: Andreas Eberhard, andreas.eberhard@gmail.com
 *        http://rex.andreaseberhard.de
 *
 * Features:
 * - Bild zum Text positionierbar
 * - TinyMCE oder markitUp als Editor
 * - Anzeige eines Zufallsbildes möglich
 * - Bildergalerie über zusätzliches Addon möglich
 *
 * --------------------------------------------------------------------
 *
 * Das Modul benötigt die Aktion "rexnames", bei Presave-Action ADD+EDIT
 * und bei Postsave-Action ADD+EDIT (REDAXO 4.x)
 * [POST|ADD|EDIT] und [PRE|ADD|EDIT] bei Redaxo 3.x
 *
 * PHP-Code für Aktion "rexnames" (### entfernen!):
 *
<###?php
	$rexname = rex_request("rexname","array"); // ab REDAXO 4.2.1
	$newname = "";
	for ( $c = 0; $c < 99; $c++ ) {
		if (isset($rexname[$c])) { $newname .= $rexname[$c] . '~~'; }
		else { $newname .= '~~'; }
	}
	if ( isset($REX_ACTION['VALUE'][1]) and $REX_ACTION['VALUE'][1] != '') {
		$rexname = split('~~', $REX_ACTION['VALUE'][1]);
	} else {
		$REX_ACTION['VALUE'][1] = $newname;
	}
?###>
 *
 * --------------------------------------------------------------------
 *
 * Verwendete Redaxo-Variablen:
 *
 * REX_VALUE[1]      rexnames
 *   rexname[0]      -
 *   rexname[1]      Anzeigetyp
 *   rexname[2]      Schalter für Zufallsbild
 *   rexname[3]      Schalter für Link in neuem Fenster
 *   rexname[4]      optionale CSS-Klasse
 *   rexname[5]      Bildbeschreibungen aus dem Medienpool (Bildergalerie)
 *   rexname[6]      Pre-HTML
 *   rexname[7]      Post-HTML
 *   rexname[8]      Filter für das Bild (REDAXO 4.0.x)
 *   rexname[9]      Filter für die Bildergalerie (REDAXO 4.0.x)
 *   rexname[10]     Filter für das MouseOver-Bild (REDAXO 4.0.x)
 * REX_VALUE[2]      Wysiwyg-Text
 * REX_VALUE[3]      Bildunterschrift
 * REX_VALUE[4]      Medienpool-Kategorie
 * REX_VALUE[5]      Bildausrichtung
 * REX_VALUE[6]      Bild-Größe
 * REX_VALUE[7]      Adresse externer Link
 * REX_VALUE[8]      Bild-Größe der Galeriebilder
 * REX_MEDIALIST[1]  ausgewählte Bilder aus dem Medienpool
 * REX_LINK_ID[2]    interner Link
 * REX_MEDIA_BUTTON[1] MouseOver-Bild
 *
 * --------------------------------------------------------------------
 *
 * Changelog:
 * 23.07.2009 Version 1.8
 *            - Anpassung an REDAXO 4.2.x ($REX_USER -> $REX['USER'])
 *            - jetzt auch Kategorie + Einzelauswahl möglich
 *            - MouseOver-Bild möglich  
 *            - leichte Anpassung des Backends
 *            - Code für Aktion rexnames angepasst ($rexname = rex_request...)
 *            - Funktion wysiwygimg_cleanWysiwygCode entfernt   
 *            - Filter jetzt auch bei nur einem Bild, Popup-Größe angepasst falls maximale
 *              Größe vorgegeben ist 
 * 02.07.2008 Version 1.7
 *            - Action angepasst
 *            - markitUp als Editor möglich
 *            - erweitert für Addons Lytebox, Lightview
 * 19.03.2008 Version 1.6
 *            - Anpassung an REDAXO 4.1.x
 *            - Bugfix bei Galerie mit Thickbox
 *            - Action angepasst
 * 07.02.2008 Version 1.5
 *            - target="_blank" wird jetzt umgesetzt in onclick="window.open(this.href); return false;"
 *            - '<div align="center">' => '<div style="text-align:center;">'
 * 10.12.2007 Version 1.4
 *            - Bild jetzt auch ohne Resize möglich
 *            - Größenangabe für die Galeriebilder möglich
 *            - PHP Warnings/Notices usw. entfernt
 *            - Anpassung an Redaxo-Versionen ab 3.01 inkl. 4.0.1
 *            - neue Option für Bildbeschreibungen (rexname[5])
 *            - neue Optionen PRE+POST-Html (rexname[6]+rexname[7])
 *            - neue Option Grafik-Filter (rexname[8], ab REDAXO 4.0.x)
 *            - neue Option Grafik-Filter für Bildergalerie (rexname[9], ab REDAXO 4.0.x)
 *            - CSS überarbeitet, IE7-Hack wg. Rollbalken
 *            - erweitert für Addons jQueryLightbox, Shadowbox
 *            - Backend überarbeitet
 * 25.09.2007 Version 1.3
 *            INPUT-Modul
 *            - Anpassung an Redaxo 3.01 und 3.11
 *            - Anpassung Modulkonfiguration
 *            OUTPUT-Modul
 *            - Anpassung an Redaxo 3.01 und 3.11
 *            - Keine Ausgabe wenn kein Text und keine Bilder ausgewählt
 * 22.09.2007 Version 1.2
 *            INPUT-Modul
 *            - Anpassung der Auswahl Medienpool-Kategorie an Redaxo 3.2.x und 3.3.x
 *            - Anpassung des WYSIWYG-Editors an Redaxo 3.2.x und 3.3.x
 *            - Bildervorschau jetzt unter dem REX_MEDIALIST_BUTTON
 *            - neue Option Zufallsbild anzeigen
 *            OUTPUT-Modul
 *            - Im Backend keine Links
 *            - Zufallsbild anzeigen
 * 13.08.2007 Version 1.1
 *            INPUT-Modul
 *            - rexnames[] für weitere Optionen
 *            - Media-List statt Media-Button (mehrere Bilder möglich)
 *            - Medienpool-Kategorie als Bilderquelle auswählen (inkl. Zugriffs-Berechtigungen)
 *            - Erweitert um Popupimg/Lightbox/Thickbox/Greybox/Slimbox
 *            OUTPUT-Modul
 *            - rexnames[] für weitere Optionen
 *            - Erweitert um Popupimg/Lightbox/Thickbox/Greybox/Slimbox
 * 13.11.2006 Version 1.0 Erste Version
 *
 * --------------------------------------------------------------------
 */

	unset($rxmodule);

/**
 * markitUp statt TiniMCE für das Textfeld (ab Redaxo 4.0)
 * auch im Output-Modul auf true setzen!
 */
   $rxmodule['markitup'] = false;
   
/**
 * Im Backend für Vorschau Standard-CSS ausgeben
 */
	if ( ($REX['REDAXO'] == '1') and function_exists('rex_register_extension') ) {
		rex_register_extension('OUTPUT_FILTER', 'WYSIWYGImage_opf');
		if (!function_exists('WYSIWYGImage_opf')) {
			function WYSIWYGImage_opf($params) {
				$content = $params['subject'];
$WYSIWYGImage_css =<<<END

<style type="text/css">
/**
 * Modul WYSIWYGImage, Wysiwyg-Text mit Bild/Bildergalerie
 */
div.wysiwygimg {}
/* ----- Hack only for IE 7 ----- */
*+html div.wysiwygimg {overflow:hidden;}

.wysiwygimg .wysiwygimgclear {clear:both; display:block; font-size:1px; line-height:0px; margin:0; padding:0; position:relative;}

/* Text */
.wysiwygimg .wysiwygimgtext {}

/* Bild und Link */
.wysiwygimg img.wysiwygimg {border:0; margin:1px;}
.wysiwygimg img.wysiwygimg {border:solid 5px #f5f5f5; padding:1px;}
.wysiwygimg a.wysiwygimg img {border:0;padding:0px;vertical-align:top; margin:1px;}

.wysiwygimg a.wysiwygimg, .wysiwygimg a.wysiwygimg:link {border:solid 5px #f6f6f6; display:table; display:inline-block; line-height:0.0em;}
.wysiwygimg a.wysiwygimg:visited {}
.wysiwygimg a.wysiwygimg:hover {border:solid 5px #e4e4e4;}
.wysiwygimg a.wysiwygimg:focus {border:solid 5px #e4e4e4;}
.wysiwygimg a.wysiwygimg:active {border:solid 5px #e4e4e4;}

/* Bildunterschrift */
.wysiwygimg .wysiwygimgtitle {color:#666; font-size:0.8em; font-style:italic; margin:2px 0px;}

/* Wrapper-Classe um Bild und Bildunterschrift*/
.wysiwygimg .wysiwygimgwrap {}

/* Bild links im Text (Textumfluss) */
.wysiwygimg .wysiwygimgleft {float:left; margin:0 1.0em 0 0;}

/* Bild rechts im Text (Textumfluss) */
.wysiwygimg .wysiwygimgright {float: right; margin:0 0 0 1.0em;}

/* Bild oben links */
.wysiwygimg .wysiwygimgtopleft {float:left; margin-bottom:0.5em;}

/* Bild oben rechts */
.wysiwygimg .wysiwygimgtopright {float:right; margin-bottom:0.5em;}

/* Bild oben mittig */
.wysiwygimg .wysiwygimgtopcenter {margin-bottom:0.5em; text-align:center;}
.wysiwygimg .wysiwygimgtopcenter a.wysiwygimg {margin:0 auto;}

/* Bild unten links */
.wysiwygimg .wysiwygimgbottomleft {float:left; margin-top:0.5em;}

/* Bild unten rechts */
.wysiwygimg .wysiwygimgbottomright {float:right; margin-top:0.5em;}

/* Bild unten mittig */
.wysiwygimg .wysiwygimgbottomcenter {margin-top:0.5em; text-align:center;}
.wysiwygimg .wysiwygimgbottomcenter a.wysiwygimg {margin:0 auto;}
.wysiwygimg .wysiwygimgbottomcenter img.wysiwygimg {margin:0 auto;}

/* Für Bilder links/rechts vom Text  */
.wysiwygimg table {border-spacing: 0px; font-size:1.0em;}
.wysiwygimg td {vertical-align:top; font-size:1.0em;}

/* Bild links vom Text */
.wysiwygimg td.wysiwygimgleftcol {padding-right:1.0em;}

/* Bild rechts vom Text */
.wysiwygimg td.wysiwygimgrightcol {padding-left:1.0em;}
</style>

END;
				return str_replace('</head>', "\n" . $WYSIWYGImage_css . "\n" . '</head>', $content);
			}
		}
	}
	
/**
 * --------------------------------------------------------------------
 * Links für weitere Bilder aufbereiten
 * --------------------------------------------------------------------
 */
if (!function_exists('wysiwygimg_imageLinks')) {
function wysiwygimg_imageLinks( &$rxmodule ) {
	global $REX;
	if (@count($rxmodule['imagelist']) < 2) { return; }
	for ($i = 1; $i <= @count($rxmodule['imagelist'])-1; $i++) {

		$rxmodule['media'] = OOMedia::getMediaByName($rxmodule['imagelist'][$i]);
		if ($rxmodule['media']) {
			$rxmodule['mediatitle'] = '';

			if ( in_array($rxmodule['rexversion'], array('3.01', '3.11', '32')) ) { // REDAXO 3.2.x, REDAXO 3.01, REDAXO 3.11
				$rxmodule['w_title'] = str_replace(array("\r\n", "\n", "\r"), ' ', $rxmodule['media']->getTitle());
				$rxmodule['w_desc'] = str_replace(array("\r\n", "\n", "\r"), ' ', $rxmodule['media']->getDescription());
				$rxmodule['w_copy'] = str_replace(array("\r\n", "\n", "\r"), ' ', $rxmodule['media']->getCopyright());
			}
			if ( in_array($rxmodule['rexversion'], array('40', '41', '42')) ) { // REDAXO 4.0.x, 4.1.x, 4.2.x
				$rxmodule['w_title'] = str_replace(array("\r\n", "\n", "\r"), ' ', $rxmodule['media']->getValue('title'));
				$rxmodule['w_desc'] = str_replace(array("\r\n", "\n", "\r"), ' ', $rxmodule['media']->getValue('description'));
				$rxmodule['w_copy'] = str_replace(array("\r\n", "\n", "\r"), ' ', $rxmodule['media']->getValue('copyright'));
			}
			if ($rxmodule['imgdesc'] == '1') {
				$rxmodule['mediatitle'] = $rxmodule['w_title'];
			}
			if ($rxmodule['imgdesc'] == '2') {
				$rxmodule['mediatitle'] = $rxmodule['w_desc'];
			}
			if ($rxmodule['imgdesc'] == '3') {
				$rxmodule['mediatitle'] = $rxmodule['w_copy'];
			}
			if ($rxmodule['imgdesc'] == '4') {
				$rxmodule['mediatitle'] = $rxmodule['w_title'] . ' ' . $rxmodule['w_desc'];
			}
			if ($rxmodule['imgdesc'] == '5') {
				$rxmodule['mediatitle'] = $rxmodule['w_title'] . ' ' . $rxmodule['w_copy'];
			}
			if ($rxmodule['imgdesc'] == '6') {
				$rxmodule['mediatitle'] = $rxmodule['w_desc'] . ' ' . $rxmodule['w_copy'];
			}
			if ($rxmodule['imgdesc'] == '7') {
				$rxmodule['mediatitle'] = $rxmodule['w_title'] . ' ' . $rxmodule['w_desc'] . ' ' . $rxmodule['w_copy'];
			}
		} else {
			$rxmodule['mediatitle'] = '';
		}
		if ($rxmodule['mediatitle'] == '') {
			$rxmodule['mediatitle'] = ' ';
		}

		$rxmodule['original'] = $REX['HTDOCS_PATH'] . 'files/' . $rxmodule['imagelist'][$i];
		if (isset($rxmodule['galimgsize']) and ($rxmodule['galimgsize'] <> '') ) {
			$rxmodule['resizeto'] = $rxmodule['galimgsize'];
			$rxmodule['resizes'] = substr($rxmodule['resizeto'], 0, 1);
			if ( !in_array(substr($rxmodule['resizes'], 0, 1), array('a', 'h', 'w')) ) {
				$rxmodule['resizes'] = 'w';
			}
			$rxmodule['resizeto'] = str_replace( array('w', 'h', 'a'), '', $rxmodule['resizeto']);
			$rxmodule['original'] = $REX['HTDOCS_PATH'] . "index.php?rex_resize=" . $rxmodule['resizeto'] . $rxmodule['resizes'] . "__" . $rxmodule['imagelist'][$i];
			if ( $rxmodule['galfilter'] <> '') {
				$va = explode(',', $rxmodule['galfilter']);
				foreach( $va as $fi ) {
					$rxmodule['original'] .= '&rex_filter[]=' . trim($fi);
				}
			}
		}
		
		$rxmodule['imghtml'] .= '';
		if ($rxmodule['displaytype'] == "greybox" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" rel="gb_imageset[gb' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "jquerylightbox" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" rel="lightbox[jqlb' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "lightbox" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" rel="lightbox[lb' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "lightview" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" class="lightview" rel="gallery[lv' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "lytebox" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" rel="lytebox[lb' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "pho2" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" rel="pho2[pho2' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "shadowbox" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" rel="shadowbox[sb' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "slimbox" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" rel="lightbox[sb' . $rxmodule['wysiwygid'] . ']" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
		if ($rxmodule['displaytype'] == "thickbox" ) {
			$rxmodule['imghtml'] .= '<a style="display:none;" class="thickbox" rel="tb' . $rxmodule['wysiwygid'] . '" href="' . $rxmodule['original'] . '" title="' . $rxmodule['mediatitle'] . '">' . $rxmodule['imagelist'][$i] . '</a>';
		}
	}
}
} // End function_exists

/**
 * --------------------------------------------------------------------
 * Start Modul-Ausgabe
 * --------------------------------------------------------------------
 */
	$rxmodule['moduleversion'] = 'WYSIWYGImage 1.8';

	// REDAXO-Version
	$rxmodule['rexversion'] = isset($REX['VERSION']) ? $REX['VERSION'] . $REX['SUBVERSION'] : $REX['version'] . $REX['subversion'];

	$rxmodule['rexname'] = split("~~", "REX_VALUE[1]");
	$rxmodule['rexnames_inuse'] = count($rxmodule['rexname']) > 1;
	if (!$rxmodule['rexnames_inuse']) {
		$rxmodule['rexname'] = array_fill(0, 99, '');
	}
	
/**
 * WYSIWYG-HTML in Variable übernehmen
 */
	$rxmodule['htmlvalue'] =<<< EOT
REX_HTML_VALUE[2]
EOT;
	$rxmodule['htmlvalue'] = trim($rxmodule['htmlvalue']);
	if ($rxmodule['markitup'] === true) {
		$textile = '';
		$textile = htmlspecialchars_decode($rxmodule['htmlvalue']);
		$textile = str_replace("<br />","",$textile);
		$textile = rex_a79_textile($textile);
		$textile = str_replace("###","&#x20;",$textile);
		$rxmodule['htmlvalue'] = $textile;
	}

/**
 * sonstige Werte übernehmen
 */ 
	// Bildbeschreibung
	$rxmodule['imgtitle'] = stripslashes(trim("REX_VALUE[3]"));

	// Medienpool-Kategorie
	$rxmodule['mediacat'] = trim("REX_VALUE[4]");

	// Bildausrichtung
	$rxmodule['imgpos'] = trim("REX_VALUE[5]");
	if (trim($rxmodule['imgpos'])=="") {
		$rxmodule['imgpos'] = '0';
	}	

	// Thumbnail-Größe
	$rxmodule['imgsize'] = trim("REX_VALUE[6]");
	if ( trim($rxmodule['imgsize']) <> '') {
		if ( !in_array(substr($rxmodule['imgsize'], 0, 1), array('a', 'h', 'w')) ) {
			$rxmodule['imgsize'] = 'w' . $rxmodule['imgsize'];
		}
	}

	// Bild-Größe der Galeriebilder
	$rxmodule['galimgsize'] = trim("REX_VALUE[8]");
	if ( trim($rxmodule['galimgsize']) <> '') {
		if ( !in_array(substr($rxmodule['galimgsize'], 0, 1), array('a', 'h', 'w')) ) {
			$rxmodule['galimgsize'] = 'w' . $rxmodule['galimgsize'];
		}
	}

	// Anzeigetyp
	$rxmodule['displaytype'] = trim($rxmodule['rexname'][1]);

	// interner Link
	$rxmodule['intlink'] = "REX_LINK_ID[2]";
	$rxmodule['intlinkurl'] = rex_GetUrl($rxmodule['intlink']);

	// externer Link
	$rxmodule['extlink'] = trim("REX_VALUE[7]");

	// Zufallsbild
	$rxmodule['randompic'] = trim($rxmodule['rexname'][2]);

	// Link in neuem Fenster?
	$rxmodule['newwindow'] = trim($rxmodule['rexname'][3]);

	// CSS-Klasse
	$rxmodule['cssclass'] = trim($rxmodule['rexname'][4]);
	if ( ($REX['REDAXO'] == '1') or (trim($rxmodule['cssclass'])=='') ) {
	   $rxmodule['cssclass'] = 'wysiwygimg';
	}
	
	// Bildbeschreibungen aus dem Medienpool
	$rxmodule['imgdesc'] = trim($rxmodule['rexname'][5]);

	// Pre + Post-HTML
	$rxmodule['prehtml'] = stripslashes(trim($rxmodule['rexname'][6]));
	$rxmodule['posthtml'] = stripslashes(trim($rxmodule['rexname'][7]));

	// Filter für das Bild (ab REDAXO 4.0.x)
	$rxmodule['filter'] = trim($rxmodule['rexname'][8]);

	// Filter für die Bildergalerie (ab REDAXO 4.0.x)
	$rxmodule['galfilter'] = trim($rxmodule['rexname'][9]);

	// Filter für das MouseOver-Bild (ab REDAXO 4.0.x)
	$rxmodule['overimage'] = trim('REX_FILE[1]');

	// Filter für das MouseOver-Bild (ab REDAXO 4.0.x)
	$rxmodule['overfilter'] = trim($rxmodule['rexname'][10]);

	// damit das Modul mehrfach in einem Artikel verwendet werden kann
	// wird hier eine Zufallszahl ermittelt!
	srand((double)microtime()*1000000);
	$rxmodule['wysiwygid'] = rand (100,900) . rand (100,900); 
			
/**
 * --------------------------------------------------------------------
 * Bilder aus Medialist oder Medienpool-Kategorie ermitteln
 * --------------------------------------------------------------------
 */

	// Bilddateien aus Medialist
	$rxmodule['imagelist'] = explode(',', trim("REX_MEDIALIST[1]"));

	// Wenn eine Medienpool-Kategorie vorgegeben ist dann die Bilder aus dieser Kategorie verwenden
	if (isset($rxmodule['mediacat']) and ($rxmodule['mediacat']<>'') and ($rxmodule['mediacat']<>'0')) {
		$rxmodule['media'] = OOMediaCategory::getCategoryById($rxmodule['mediacat']);
		if ($rxmodule['media']) {
			$rxmodule['mediafiles'] = $rxmodule['media']->getFiles();
			if (count($rxmodule['mediafiles']) > 0) {
				$rxmodule['filetypes'] = array('jpg','gif','jpeg','png','bmp');
				if (is_array($rxmodule['imagelist']) and (count($rxmodule['imagelist'])==1) and ($rxmodule['imagelist'][0]=='')) {
					$rxmodule['imagelist'] = array();
				}
				foreach ($rxmodule['mediafiles'] as $rxmodule['mediafile']) {
					$rxmodule['file'] = $rxmodule['mediafile']->getFileName();
					$rxmodule['fileinfo'] = pathinfo($rxmodule['file']);
					$rxmodule['extension'] = strtolower($rxmodule['fileinfo']['extension']);
					if (in_array($rxmodule['extension'],$rxmodule['filetypes'])) {
						$rxmodule['imagelist'][] = $rxmodule['file'];
					}
				}
			}
		}
	}

	// Array mischen wg. Zufallsbild
	if ( ($rxmodule['randompic'] == '1') and (count($rxmodule['imagelist']) > 1) ) {
		shuffle($rxmodule['imagelist']);
	}
	
/**
 * Bild vorhanden -> HTML-Code für Bild und evtl. Link zusammenbauen
 */
	if ($rxmodule['imagelist'][0] != '') {
		
		$rxmodule['original'] = $REX['HTDOCS_PATH'] . 'files/' . $rxmodule['imagelist'][0];

		$rxmodule['info'] = getimagesize($rxmodule['original']);

		$rxmodule['pwidth'] = $rxmodule['info'][0]+20;
		$rxmodule['pheight'] = $rxmodule['info'][1]+30;

		if ((isset($rxmodule['galimgsize']) and ($rxmodule['galimgsize'] <> ''&#4