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

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
mmike
Beiträge: 4
Registriert: 20. Jan 2010, 13:16
Wohnort: Bautzen
Kontaktdaten: ICQ Website

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

20. Jan 2010, 13:24

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?

Benutzeravatar
Koala
Beiträge: 1612
Registriert: 3. Okt 2005, 13:20

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

20. Jan 2010, 16:32

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?
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX 5 :: Tricks und Tipps
REX 5 :: Modulesammlung

Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)

mmike
Beiträge: 4
Registriert: 20. Jan 2010, 13:16
Wohnort: Bautzen
Kontaktdaten: ICQ Website

20. Jan 2010, 17:52

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

Zurück zu „Allgemeines [R4]“