[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Neues Modul: Gerenderte Headline - Seite 2 - 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/
stollinsky
Beiträge: 31
Registriert: 26. Okt 2005, 11:13
Wohnort: stuttgart

fatal error

19. Jul 2007, 16:09

hallo,
habe das modul installiert und bekomme jetzt die fehlermeldung:

Code: Alles auswählen

Fatal error: Possible integer overflow in memory allocation (4 * 1364167310 + 0) in /home/www/web33/html/redaxo/redaxo/include/classes/class.article.inc.php(414) : eval()'d code on line 223
im backend (im frontend ist es "on line 189").

woran könnte das liegen?

viele grüße
matthias

Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

kleine Frage

6. Aug 2007, 18:25

Hallo,

Hab da ne kleine Frage zum Modul. Ich habe das Teil für eine neue Site ein bisschen erweiteret. Nun kann man im gleichen Modul gleich 2 Headlines angeben die dann in Bilder umgewandelt werden, das funktioniert auch prima. (Der Grund warum ich nicht einfach eine mehrzeilige Headline benutzt habe, ist das die 2. Headline eine andere Farbe als die Erste haben soll).

Das Ganze funktioniert bis zum aktualisieren der headlines, wenn ich nämlich die Headlines update werden die gecachten Files nicht überschrieben, sprich bei der 1. Headline wird das alte Bild angezeigt (komischerweise funzts aber mit der 2. (hab das Gefühl das geschieht auch nur bei meiner Variante). Wenn ich nun das gecachte Bild per FTP lösche und die Seite neu lade, erscheint das Bild korrekt... aber das ist eher suboptimal ;)

hat jemand eine Idee was das sein könnte?

Folgend mal der Code (Achtung, ziemlich angepasste Variante!)

Modul Eingabe

Code: Alles auswählen

	unset($rxmodule); 

	$rxmodule[0]['imagetype'] = 'gif';                     // gif oder png

	$rxmodule[0]['headtag'] = trim("h1");
	$rxmodule[0]['headline'] = rtrim("REX_VALUE[2]");
	$rxmodule[0]['font'] = trim("LT_70051.TTF");
	$rxmodule[0]['fontsize'] = trim("22");
	$rxmodule[0]['headlineid'] = trim("REX_VALUE[1]");
	if (!strstr($rxmodule[0]['color'],'#')and($rxmodule[0]['color']<>'')) $rxmodule[0]['color'] = '#'.$rxmodule[0]['color'];
	if (!strstr($rxmodule[0]['bgcolor'],'#')and($rxmodule[0]['bgcolor']<>'')) $rxmodule[0]['bgcolor'] = '#'.$rxmodule[0]['bgcolor'];
	if (!strstr($rxmodule[0]['shadowcolor'],'#')and($rxmodule[0]['shadowcolor']<>'')) $rxmodule[0]['shadowcolor'] = '#'.$rxmodule[0]['shadowcolor'];

	// Addon ColorPicker vorhanden?
	if ( file_exists($REX['HTDOCS_PATH'].'/files/colorpicker/farbtastic.js') ) {
		$rxmodule[0]['plugin'] = 1;
	}
	
	// evtl. bestehendes Bild löschen
	$rxmodule[0]['image'] = $REX['HTDOCS_PATH'] . 'files/' . 'cache_resize___headline_' . REX_CATEGORY_ID . '_' . REX_ARTICLE_ID . '_' . $rxmodule[0]['headlineid'] . '_' . $REX['LANG'] . '.' . $rxmodule[0]['imagetype'];
	if ($rxmodule[0]['headlineid'] <> '') {
		$rxmodule[0]['rc'] = @unlink($rxmodule[0]['image']);
	}
	
	// damit das Modul mehrfach auf einem Artikel verwendet werden kann
	// wird in VALUE 7 eine Zufallszahl für den Dateinamen gespeichert!
	srand((double)microtime()*1000000);
	$rxmodule[0]['headlineid'] = rand (100,900) . rand (100,900); 

/**
 * GD-Lib prüfen
 */ 	
 	if ( $rxmodule[0]['font'] <> '?' ) {
		$rxmodule[0]['gdinfo'] = @gd_info();	
		if ( !$rxmodule[0]['gdinfo'] ) {
			echo '<font color="#cc0000">GD-Lib Version kann nicht ermittelt werden! Evtl nicht installiert?</font><br />';
		}
		if ( !$rxmodule[0]['gdinfo']['GIF Create Support'] and ($rxmodule[0]['imagetype'] == 'gif') ) {
			echo '<font color="#cc0000">GD-Lib (Version: '.$rxmodule[0]['gdinfo']['GD Version'].') unterstützt kein GIF</font><br />';
		}
		if ( !$rxmodule[0]['gdinfo']['PNG Support'] and ($rxmodule[0]['imagetype'] == 'png') ) {
			echo '<font color="#cc0000">GD-Lib (Version: '.$rxmodule[0]['gdinfo']['GD Version'].') unterstützt kein PNG</font><br />';
		}
		if ( !$rxmodule[0]['gdinfo']['FreeType Support'] ) {
			echo '<font color="#cc0000">GD-Lib (Version: '.$rxmodule[0]['gdinfo']['GD Version'].') unterstützt kein Freetype</font><br />';
		}
	}

	// ColorPicker-Plugin installiert
	if ( $rxmodule[0]['plugin'] ) {
		echo "\n".'<link href="'.$REX['HTDOCS_PATH'].'/files/colorpicker/farbtastic.css" rel="stylesheet" type="text/css" />';
		echo '<script src="'.$REX['HTDOCS_PATH'].'/files/colorpicker/jquery.js" type="text/JavaScript"></script>';
		echo '<script src="'.$REX['HTDOCS_PATH'].'/files/colorpicker/farbtastic.js" type="text/JavaScript"></script>';
		echo '<script type="text/javascript" charset="utf-8">';
		echo '  var ftpicker;';
		echo '  $(document).ready(function() {';
		echo '    $(\'#demo\').hide();';
		echo '    ftpicker = $.farbtastic(\'#picker\');';
		echo '  });';
		echo '</script>'."\n";
		echo '<div id="picker"></div>'."\n";
	}
	
	
	$rxmodule[1]['imagetype'] = 'gif';                     // gif oder png

	$rxmodule[1]['headtag'] = trim("h1");
	$rxmodule[1]['headline'] = rtrim("REX_VALUE[4]");
	$rxmodule[1]['font'] = trim("LT_70051.TTF");
	$rxmodule[1]['fontsize'] = trim("22");
	$rxmodule[1]['headlineid'] = trim("REX_VALUE[3]");
	if (!strstr($rxmodule[1]['color'],'#')and($rxmodule[1]['color']<>'')) $rxmodule[1]['color'] = '#'.$rxmodule[1]['color'];
	if (!strstr($rxmodule[1]['bgcolor'],'#')and($rxmodule[1]['bgcolor']<>'')) $rxmodule[1]['bgcolor'] = '#'.$rxmodule[1]['bgcolor'];
	if (!strstr($rxmodule[1]['shadowcolor'],'#')and($rxmodule[1]['shadowcolor']<>'')) $rxmodule[1]['shadowcolor'] = '#'.$rxmodule[1]['shadowcolor'];

	// Addon ColorPicker vorhanden?
	if ( file_exists($REX['HTDOCS_PATH'].'/files/colorpicker/farbtastic.js') ) {
		$rxmodule[1]['plugin'] = 1;
	}
	
	// evtl. bestehendes Bild löschen
	$rxmodule[1]['image'] = $REX['HTDOCS_PATH'] . 'files/' . 'cache_resize___headline_' . REX_CATEGORY_ID . '_' . REX_ARTICLE_ID . '_' . $rxmodule[1]['headlineid'] . '_' . $REX['LANG'] . '.' . $rxmodule[1]['imagetype'];
	if ($rxmodule[1]['headlineid'] <> '') {
		$rxmodule[1]['rc'] = @unlink($rxmodule[1]['image']);
	}
	
	// damit das Modul mehrfach auf einem Artikel verwendet werden kann
	// wird in VALUE 7 eine Zufallszahl für den Dateinamen gespeichert!
	srand((double)microtime()*1000000);
	$rxmodule[1]['headlineid'] = rand (100,900) . rand (100,900); 

/**
 * GD-Lib prüfen
 */ 	
 	if ( $rxmodule[1]['font'] <> '?' ) {
		$rxmodule[1]['gdinfo'] = @gd_info();	
		if ( !$rxmodule[1]['gdinfo'] ) {
			echo '<font color="#cc0000">GD-Lib Version kann nicht ermittelt werden! Evtl nicht installiert?</font><br />';
		}
		if ( !$rxmodule[1]['gdinfo']['GIF Create Support'] and ($rxmodule[1]['imagetype'] == 'gif') ) {
			echo '<font color="#cc0000">GD-Lib (Version: '.$rxmodule[1]['gdinfo']['GD Version'].') unterstützt kein GIF</font><br />';
		}
		if ( !$rxmodule[1]['gdinfo']['PNG Support'] and ($rxmodule[1]['imagetype'] == 'png') ) {
			echo '<font color="#cc0000">GD-Lib (Version: '.$rxmodule[1]['gdinfo']['GD Version'].') unterstützt kein PNG</font><br />';
		}
		if ( !$rxmodule[1]['gdinfo']['FreeType Support'] ) {
			echo '<font color="#cc0000">GD-Lib (Version: '.$rxmodule[1]['gdinfo']['GD Version'].') unterstützt kein Freetype</font><br />';
		}
	}

	// ColorPicker-Plugin installiert
	if ( $rxmodule[1]['plugin'] ) {
		echo "\n".'<link href="'.$REX['HTDOCS_PATH'].'/files/colorpicker/farbtastic.css" rel="stylesheet" type="text/css" />';
		echo '<script src="'.$REX['HTDOCS_PATH'].'/files/colorpicker/jquery.js" type="text/JavaScript"></script>';
		echo '<script src="'.$REX['HTDOCS_PATH'].'/files/colorpicker/farbtastic.js" type="text/JavaScript"></script>';
		echo '<script type="text/javascript" charset="utf-8">';
		echo '  var ftpicker;';
		echo '  $(document).ready(function() {';
		echo '    $(\'#demo\').hide();';
		echo '    ftpicker = $.farbtastic(\'#picker\');';
		echo '  });';
		echo '</script>'."\n";
		echo '<div id="picker"></div>'."\n";
	}
?>


<input type="hidden" name="VALUE[1]" value="<?php echo $rxmodule[0]['headlineid']; ?>">

<table width="100%" border="0">
	<tr>
	  <td>Headline 1 </td>
  </tr>
	<tr>
		<td width="300%"><textarea title="Hier die Überschrift angeben." style="width:100%;" name="VALUE[2]"><?php echo $rxmodule[0]['headline']; ?></textarea></td>
	</tr>
</table>

<input type="hidden" name="VALUE[3]" value="<?php echo $rxmodule[1]['headlineid']; ?>">

<table width="100%" border="0">
	<tr>
	  <td>Headline 2 </td>
  </tr>
	<tr>
		<td width="300%"><textarea title="Hier die Überschrift angeben." style="width:100%;" name="VALUE[4]"><?php echo $rxmodule[1]['headline']; ?></textarea></td>
	</tr>
</table>
Modul Ausgabe

Code: Alles auswählen

if (!function_exists('renderHeadlineToImage')) { 
function renderHeadlineToImage( &$rxmodule ) {
global $REX;

	
	$rxmodule['headlinegfx'] = str_replace('"','"',$rxmodule['headline']);
	$rxmodule['headlinegfx'] = str_replace('<br />','',$rxmodule['headlinegfx']);
	$rxmodule['headlinegfx'] = str_replace("\r",'',$rxmodule['headlinegfx']);
    $rxmodule['headlinegfx'] = mb_strtoupper($rxmodule['headlinegfx']);
	$rxmodule['box'] = imagettfbbox($rxmodule['fontsize']*$rxmodule['multi'], 0, $rxmodule['fontpath'], $rxmodule['headlinegfx']);
	if ( !$rxmodule['box'] ) {
		$rxmodule['font'] = '?';
		if ( $REX['REDAXO'] == '1' ) {
			$rxmodule['errmess'] .= '<br /><font color="#cc0000">Achtung! Grafik konnte nicht erstellt werden! Evtl. ist der Font fehlerhaft.</font><br />';
		}
		return;
	}
	
	$rxmodule['bigwidth'] = abs($rxmodule['box'][2] - $rxmodule['box'][0]) + ($rxmodule['fontsize']/2) * $rxmodule['multi'] ;	
	$rxmodule['bigheight'] = abs($rxmodule['box'][7] - $rxmodule['box'][1]) + 6 * $rxmodule['multi'];
	$rxmodule['bigxpos'] = abs(0 - $rxmodule['box'][0]) + 0 * $rxmodule['multi'];
	$rxmodule['bigypos'] = $rxmodule['bigheight'] - abs($rxmodule['box'][1]) - 3 * $rxmodule['multi'];
			
	$rxmodule['bigim'] = imagecreate( $rxmodule['bigwidth'], $rxmodule['bigheight'] );
	$rxmodule['bgclr'] = imagecolorallocate( $rxmodule['bigim'], intval("0x". substr( $rxmodule['bgcolor'], 0, 2 ), 16), intval("0x". substr( $rxmodule['bgcolor'], 2, 2 ), 16), intval("0x". substr( $rxmodule['bgcolor'], 4, 2 ), 16 ));
	$rxmodule['sclr'] = imagecolorallocate( $rxmodule['bigim'], intval("0x". substr( $rxmodule['shadowcolor'], 0, 2 ), 16), intval("0x". substr( $rxmodule['shadowcolor'], 2, 2 ), 16), intval("0x". substr( $rxmodule['shadowcolor'], 4, 2 ), 16 ));
	$rxmodule['clr'] = imagecolorallocate( $rxmodule['bigim'], intval("0x". substr( $rxmodule['color'], 0, 2 ), 16), intval("0x". substr( $rxmodule['color'], 2, 2 ), 16), intval("0x". substr( $rxmodule['color'], 4, 2 ), 16 ));
	
	if ( $rxmodule['shadowcolor'] <> '' ) {
		imagettftext($rxmodule['bigim'], $rxmodule['fontsize']*$rxmodule['multi'], 0, $rxmodule['bigxpos']+$rxmodule['multi'], $rxmodule['bigypos']+$rxmodule['multi'], $rxmodule['sclr'], $rxmodule['fontpath'], $rxmodule['headlinegfx'] );
	}
	imagettftext($rxmodule['bigim'], $rxmodule['fontsize']*$rxmodule['multi'], 0, $rxmodule['bigxpos'], $rxmodule['bigypos'], $rxmodule['clr'], $rxmodule['fontpath'], $rxmodule['headlinegfx'] );

	$rxmodule['width'] = $rxmodule['bigwidth'] / $rxmodule['multi'];
	$rxmodule['height'] = $rxmodule['bigheight'] / $rxmodule['multi'];

	if ( trim($rxmodule['maxwidth'])<>'' and $rxmodule['width']>$rxmodule['maxwidth'] ) {
		$rxmodule['width'] = $rxmodule['maxwidth'];
		if ( $REX['REDAXO'] == '1' ) {
			$rxmodule['errmess'] .= '<br /><font color="#cc0000">Achtung! Text wird verzerrt dargestellt! Maximale Breite überschritten.</font><br />';
		}
	}

	$rxmodule['im'] = imagecreatetruecolor( $rxmodule['width'], $rxmodule['height'] );
	$rxmodule['bgclr2'] = imagecolorallocate( $rxmodule['im'], intval("0x". substr( $rxmodule['bgcolor'], 0, 2 ), 16), intval("0x". substr( $rxmodule['bgcolor'], 2, 2 ), 16), intval("0x". substr( $rxmodule['bgcolor'], 4, 2 ), 16 ));
	imageFill($rxmodule['im'], 0, 0, $rxmodule['bgclr2']);
	imagecopyresampled($rxmodule['im'],$rxmodule['bigim'],0,0,0,0,$rxmodule['width'], $rxmodule['height'],$rxmodule['bigwidth'], $rxmodule['bigheight']);
	imagetruecolortopalette($rxmodule['im'], 0, 256);
	imagepalettecopy($rxmodule['im'], $rxmodule['bigim']);
	ImageColorTransparent($rxmodule['im'], $rxmodule['bgclr']);
				
	@unlink($rxmodule['image']);
	if ( $rxmodule['imagetype'] == 'png' ) {
		imagepng( $rxmodule['im'], $rxmodule['image'] );
	} else {
		imagegif( $rxmodule['im'], $rxmodule['image'] );
	}
	imagedestroy( $rxmodule['bigim'] );
	imagedestroy( $rxmodule['im'] );
	$rxmodule['created'] = $rxmodule['imagetype'];
			
}
} // End function_exists


if (!function_exists('getRenderedHeadlineHtml')) { 
function getRenderedHeadlineHtml( &$rxmodule, $secondHeader = "" ) {
global $REX;


	$rxmodule['headlinealt'] = str_replace('"','"',trim($rxmodule['headline']));
	$rxmodule['headlinealt'] = str_replace('<br />','',$rxmodule['headlinealt']);
	$rxmodule['headlinealt'] = str_replace("\r",'',$rxmodule['headlinealt']);
	$rxmodule['headlinealt'] = str_replace("\n",'',$rxmodule['headlinealt']);
	$secondHeader = trim(htmlentities(mb_strtoupper($secondHeader), ENT_QUOTES, 'ISO-8859-15'));

	if ( ($rxmodule['font'] <> '?') and file_exists($rxmodule['image']) ) {
		list( $rxmodule['width'], $rxmodule['height'], $rxmodule['info'], $rxmodule['attr'] ) = getimagesize( $rxmodule['image'] );
		if ( ($REX['REDAXO'] == '1') and ($rxmodule['width'] > 555 ) ) {
			$rxmodule['errmess'] .= '<br /><font color="#006600">Grafik wird im Backend verzerrt oder abgeschnitten dargestellt!</font><br />';
			$rxmodule['width'] = 555;
		}
		if ( $rxmodule['imagereplacement'] == 'phark' ) {
			if ( $REX['REDAXO'] == '1' ) { $rxmodule['cssclass'] = ''; $rxmodule['headline'] = ''; } // im Backend nur Bild anzeigen
			$rxmodule['html'] = "\n" . '<' . $rxmodule['headtag'];
			$rxmodule['html'] .= ' title="' . $rxmodule['headlinealt'] . '"';
			$rxmodule['html'] .= ' style="display:block;height:' . $rxmodule['height'] . 'px;';
			$rxmodule['html'] .= 'background:url('.$rxmodule['image'].') no-repeat;';
			$rxmodule['html'] .= $rxmodule['cssclass'] <> '' ? '"' : 'text-indent:-900px;"';
			$rxmodule['html'] .= $rxmodule['cssclass'] <> '' ? ' class="'.$rxmodule['cssclass'].'">' : '>';
			$rxmodule['html'] .= $rxmodule['headline'];
			$rxmodule['html'] .= '</' . $rxmodule['headtag'] . '>' . "\n";
		} else if ( $rxmodule['imagereplacement'] == 'dwyer' ) {
			if ( $REX['REDAXO'] == '1' ) { $rxmodule['cssclass'] = ''; $rxmodule['headline'] = ''; } // im Backend nur Bild anzeigen
			$rxmodule['html'] = "\n" . '<' . $rxmodule['headtag'];
			$rxmodule['html'] .= ' title="' . $rxmodule['headlinealt'] . '"';
			
			if($secondHeader!="")
				{
				$umlaute = array("Ä","ä","Ö","ö","Ü","ü","È","è","É","é");
				$noUmlaute = true;
				$noUmlaute2 = true;
				foreach($umlaute as $key=>$val)
					{
					if(stristr($rxmodule['headlinealt'], $val) !== FALSE)$noUmlaute=false;
					if(stristr($secondHeader, $val) !== FALSE)$noUmlaute2=false;
					}
                if($secondHeader!="Y")
                	{
                    if($noUmlaute && $noUmlaute2)
                    	{
                    	$rxmodule['html'] .= ' style="display:block;height:36px;';
                        }
                    elseif(!$noUmlaute2)
                    	{
                        $rxmodule['html'] .= ' style="display:block;height:27px;';
                        }
                    else
                    	{
                        $rxmodule['html'] .= ' style="display:block;height:36px;';
                        }
                    }
                else
                	{
                    $rxmodule['html'] .= ($noUmlaute) ? ' style="display:block;height:27px;' : ' style="display:block;height:36px;';
                    }
				}
			else
				{
				$rxmodule['html'] .= ' style="display:block;height:36px;';
				}
    		$rxmodule['headlinealt'] = htmlentities(mb_strtoupper($rxmodule['headlinealt']), ENT_QUOTES, 'ISO-8859-15');
            
			if($secondHeader=="")$rxmodule['cssclass']="nosub";
			$rxmodule['html'] .= 'background:url('.$rxmodule['image'].') bottom left no-repeat;"';
			$rxmodule['html'] .= $rxmodule['cssclass'] <> '' ? ' class="'.$rxmodule['cssclass'].'">' : '>';
			$rxmodule['html'] .= '<span';
			$rxmodule['html'] .= ' style="display:block;width:0;height:0;overflow:hidden;"';
			$rxmodule['html'] .= '>'.$rxmodule['headlinealt'];
			$rxmodule['html'] .= '</span>';
			$rxmodule['html'] .= '</' . $rxmodule['headtag'] . '>' . "\n";
		} else {
			if ( $REX['REDAXO'] == '1' ) { $rxmodule['cssclass'] = ''; } // im Backend nur Bild anzeigen
			$rxmodule['html'] = "\n" . '<' . $rxmodule['headtag'];
			if ( $rxmodule['cssclass'] == '' ) {
				$rxmodule['html'] .= ' style="width:' . $rxmodule['width'] . 'px;height:' . $rxmodule['height'] . 'px;"';
			}
			$rxmodule['html'] .= $rxmodule['cssclass'] <> '' ? ' class="'.$rxmodule['cssclass'].'">' : '>';
			$rxmodule['html'] .= $rxmodule['cssclass'] <> '' ? '<span>' : '<span style="display:none;">';
			$rxmodule['html'] .= $rxmodule['headline'] . '</span>';
			$rxmodule['html'] .= '<img src="' . $rxmodule['image'] . '" alt="' . $rxmodule['headlinealt'] . '" title="' . $rxmodule['headlinealt'] . '" width="' . $rxmodule['width'] . '" height="' . $rxmodule['height'] . '" />';
			$rxmodule['html'] .= '</' . $rxmodule['headtag'] . '>' . "\n";
		}
	} else {
		$rxmodule['html'] = "\n" . '<' . $rxmodule['headtag'];
		$rxmodule['html'] .= $rxmodule['cssclass'] <> '' ? ' class="'.$rxmodule['cssclass'].'">' : '>';
		$rxmodule['html'] .= $rxmodule['headline'] . '</' . $rxmodule['headtag'] . '>' . "\n";
	}
	return $rxmodule['html'];
	
}
} // End function_exists

/**
 * Werte übernehmen
 */ 
	unset($rxmodule); 
	
	$rxmodule[0]['imagetype'] = $rxmodule[1]['imagetype'] = 'gif';                     // gif oder png
	$rxmodule[0]['imagereplacement'] = $rxmodule[1]['imagereplacement'] = 'dwyer';                 // leer/phark/dwyer
	$rxmodule[0]['maxwidth'] = $rxmodule[1]['maxwidth'] = '';                         // maximale Breite
	$rxmodule[0]['multi'] = $rxmodule[1]['multi'] = 10;                             // Skalierungsfaktor für Grafikerstellung

	// Standardwerte für grafische Headlines
	$rxmodule[0]['h1'] = array('font'=>'','cssclass'=>'','fontsize'=>'22','color'=>'3f4e91','bgcolor'=>'ffffff','shadowcolor'=>'');
	$rxmodule[1]['h2'] = array('font'=>'','cssclass'=>'','fontsize'=>'22','color'=>'989899','bgcolor'=>'ffffff','shadowcolor'=>'');
	
	$rxmodule[0]['headtag'] = trim("h1");
	$rxmodule[1]['headtag'] = trim("h2");
	$rxmodule[0]['headline'] = rtrim("REX_VALUE[2]");
	$rxmodule[1]['headline'] = rtrim("REX_VALUE[4]");
	$rxmodule[0]['font'] = $rxmodule[1]['font'] = trim("LT_70051.TTF");
	$rxmodule[0]['fontsize'] = $rxmodule[1]['fontsize'] = trim("22");
	$rxmodule[0]['headlineid'] = trim("REX_VALUE[5]");
	$rxmodule[1]['headlineid'] = trim("REX_VALUE[3]");
/*	$rxmodule['color'] = trim("REX_VALUE[5]");
	$rxmodule['bgcolor'] = trim("REX_VALUE[6]");
	$rxmodule['cssclass'] = trim("REX_VALUE[8]");
	$rxmodule['shadowcolor'] = trim("REX_VALUE[9]");*/

	$rxmodule[0]['fontpath'] = $rxmodule[1]['fontpath'] = $REX['HTDOCS_PATH'] . 'files/' . $rxmodule[0]['font'];
	$rxmodule[0]['image'] = $REX['HTDOCS_PATH'] . 'files/' . 'cache_resize___headline_' . REX_CATEGORY_ID . '_' . REX_ARTICLE_ID . '_' . $rxmodule[0]['headlineid'] . '_' . $REX['LANG'] . '.' . $rxmodule[0]['imagetype'];
	$rxmodule[1]['image'] = $REX['HTDOCS_PATH'] . 'files/' . 'cache_resize___headline_' . REX_CATEGORY_ID . '_' . REX_ARTICLE_ID . '_' . $rxmodule[1]['headlineid'] . '_' . $REX['LANG'] . '.' . $rxmodule[1]['imagetype'];

	if (strstr($rxmodule[0]['color'],'#')) $rxmodule[0]['color'] = str_replace('#','',$rxmodule[0]['color']);
	if (strstr($rxmodule[1]['color'],'#')) $rxmodule[1]['color'] = str_replace('#','',$rxmodule[1]['color']);
	if (strstr($rxmodule[0]['bgcolor'],'#')) $rxmodule[0]['bgcolor'] = str_replace('#','',$rxmodule[0]['bgcolor']);
	if (strstr($rxmodule[1]['bgcolor'],'#')) $rxmodule[1]['bgcolor'] = str_replace('#','',$rxmodule[1]['bgcolor']);
	if (strstr($rxmodule[0]['shadowcolor'],'#')) $rxmodule[0]['shadowcolor'] = str_replace('#','',$rxmodule[0]['shadowcolor']);
	if (strstr($rxmodule[1]['shadowcolor'],'#')) $rxmodule[1]['shadowcolor'] = str_replace('#','',$rxmodule[1]['shadowcolor']);

	// Standardwerte setzen
	if ( ($rxmodule[0]['font'] == '') and isset($rxmodule[0][$rxmodule[0]['headtag']]['font']) ) {
		$rxmodule[0]['font'] = $rxmodule[1]['font'] = $rxmodule['font'] = $rxmodule[0][$rxmodule[0]['headtag']]['font'];
	}
	if ( ($rxmodule[0]['fontsize'] == '') and isset($rxmodule[0][$rxmodule[0]['headtag']]['fontsize']) ) {
		$rxmodule[0]['fontsize'] = $rxmodule[1]['fontsize'] = $rxmodule[0][$rxmodule[0]['headtag']][fontsize];
	}
	if ( ($rxmodule[0]['color'] == '') and isset($rxmodule[0][$rxmodule[0]['headtag']]['color']) ) {
		$rxmodule[0]['color'] = $rxmodule[0][$rxmodule[0]['headtag']]['color'];
	}
	if ( ($rxmodule[1]['color'] == '') and isset($rxmodule[1][$rxmodule[1]['headtag']]['color']) ) {
		$rxmodule[1]['color'] = $rxmodule[1][$rxmodule[1]['headtag']]['color'];
	}
	if ( ($rxmodule[0]['bgcolor'] == '') and isset($rxmodule[0][$rxmodule[0]['headtag']]['bgcolor']) ) {
		$rxmodule[0]['bgcolor'] = $rxmodule[1]['bgcolor'] = $rxmodule[0][$rxmodule[0]['headtag']]['bgcolor'];
	}
	if ( ($rxmodule[0]['shadowcolor'] == '') and isset($rxmodule[0][$rxmodule[0]['headtag']]['shadowcolor']) ) {
		$rxmodule[0]['shadowcolor'] = $rxmodule[1]['shadowcolor'] = $rxmodule[0][$rxmodule[0]['headtag']]['shadowcolor'];
	}
	
/**
 * GD-Lib prüfen
 */ 	
 	if ( $rxmodule['font'] <> '?' ) {
		$rxmodule['gdinfo'] = @gd_info();	
		if ( $REX['REDAXO'] == '1' ) {
			if ( !$rxmodule['gdinfo'] ) {
				$rxmodule['errmess'] .= '<br /><font color="#cc0000">GD-Lib Version kann nicht ermittelt werden! Evtl nicht installiert?</font><br />';
			}
			if ( !$rxmodule['gdinfo']['GIF Create Support'] and ($rxmodule['imagetype'] == 'gif') ) {
				$rxmodule['errmess'] .= '<br /><font color="#cc0000">GD-Lib (Version: '.$rxmodule['gdinfo']['GD Version'].') unterstützt kein GIF</font><br />';
			}
			if ( !$rxmodule['gdinfo']['PNG Support'] and ($rxmodule['imagetype'] == 'png') ) {
				$rxmodule['errmess'] .= '<br /><font color="#cc0000">GD-Lib (Version: '.$rxmodule['gdinfo']['GD Version'].') unterstützt kein PNG</font><br />';
			}
			if ( !$rxmodule['gdinfo']['FreeType Support'] ) {
				$rxmodule['errmess'] .= '<br /><font color="#cc0000">GD-Lib (Version: '.$rxmodule['gdinfo']['GD Version'].') unterstützt kein Freetype</font><br />';
			}
		}
		if ( !$rxmodule['gdinfo'] 
			or ( !$rxmodule['gdinfo']['GIF Create Support'] and ($rxmodule['imagetype'] == 'gif') )
			or ( !$rxmodule['gdinfo']['PNG Support'] and ($rxmodule['imagetype'] == 'png') )
			or ( !$rxmodule['gdinfo']['FreeType Support'] ) ) {
			$rxmodule['font'] = '?';
		}
		if (!function_exists('ImageGIF')) $rxmodule['imagetype'] = 'png';		
	}

/**
 * Im Backend die Modulkonfiguration anzeigen
 */ 	
	/*if( ($REX['REDAXO'] == '1') and ($rxmodule['font'] <> '?') ) {
		echo '<strong>&Uuml;berschrift-Tag</strong>: ' .  $rxmodule[0]['headtag'] . '<br />';
		echo $rxmodule[0]['headline'] . '<br />';
		echo '<strong>&Uuml;berschrift-Tag</strong>: ' .  $rxmodule[1]['headtag'] . '<br />';
		echo $rxmodule[1]['headline'] . '<br />';
	}
*/
/**
 * Erstellung der Headline-Grafik
 * Header-Grafik erstellen falls noch nicht vorhanden bzw. über ResizeImage-Addon gelöscht
 */ 
	if ( ($rxmodule[0]['font'] <> '?') and file_exists($rxmodule[0]['fontpath']) and !file_exists($rxmodule[0]['image']) ) {
		renderHeadlineToImage($rxmodule[0]);
	}
	
	if ( ($rxmodule[1]['font'] <> '?') and file_exists($rxmodule[1]['fontpath']) and !file_exists($rxmodule[1]['image']) ) {
		renderHeadlineToImage($rxmodule[1]);
	}
/**
 * Ausgabe der Überschrift
 */ 	

if($rxmodule[0]["headline"] !="")
  {
	getRenderedHeadlineHtml($rxmodule[0],$rxmodule[1]["headline"]);
	if (($REX['REDAXO'] == '1') and $rxmodule['errmess']) {
		echo $rxmodule['errmess'];
	}
	echo $rxmodule[0]['html'];
 } 
if($rxmodule[1]["headline"] !="")
  {
	getRenderedHeadlineHtml($rxmodule[1],'y');
	if (($REX['REDAXO'] == '1') and $rxmodule['errmess']) {
		echo $rxmodule['errmess'];
	}
	echo $rxmodule[1]['html'];
  }
/**
 * Debugging
 */ 	
//	echo "<pre>"; print_r($rxmodule); echo "</pre>";
?>
Vielen Dank!
gruss,
y
MASSIF Webdesign Studio

Benutzeravatar
ynamite
Beiträge: 143
Registriert: 26. Jan 2007, 14:59
Wohnort: baden
Kontaktdaten: Website

6. Aug 2007, 21:52

gelöst :D

sorry das ich so rumspamme und es nachher selbst in den griff kriege... übrigens, der Fehler war ein so dämlicher das er gar nicht der rede wert ist.

wen es trotzdem interessiert, im eingabe Modul value[1] und in der ausgabe wurde 5 abgefragt :roll:

thanks trotzdem!
gruss
y
MASSIF Webdesign Studio

TheStranger
Beiträge: 29
Registriert: 5. Jul 2006, 12:36

2. Nov 2007, 14:43

aeberhard hat geschrieben:... beim Modul-Output die Zeile 186 mit der folgenden austauschen

Code: Alles auswählen

$rxmodule['bigxpos'] = abs(0 - $rxmodule['box'][0]) + 0 * $rxmodule['multi'];
Habe ein Problem! Ich habe in dieser Zeile auch die 0 eingesetzt, nur sehe ich gerade das das Bild weiter rechts ist wie mein restlicher Content.

Das Bild hat h1, Schriftart: Arial und Größe: 30px. Schaue ich mir das Bild genauer an sind links 5px und rechts ganze 11px Spielraum. Oben und unten ist ok.

Die gechachten Bilder löschen bringt nichts. Jemand eine Idee?

Benutzeravatar
Andreas.Eberhard
Beiträge: 653
Registriert: 4. Dez 2006, 17:03
Wohnort: Kirchheim bei München
Kontaktdaten: Website

2. Nov 2007, 16:48

Hallo,

die neue Version für REDAXO 4.0 ist bereits in Arbeit. Da ist dieses "Feature" dann behoben :wink:

Bitte noch etwas Geduld.

Gruß
Andreas

TiCar
Beiträge: 250
Registriert: 15. Jan 2006, 10:37

1. Jan 2008, 16:27

Hi,

kann mir kurz jemand helfen? Seit dem Serverumzug läuft das Modul nicht mehr richtig, weil die gerenderte Grafik zwar im files Ordner erstellt wird, aber mit Berechtigungen 600, d.h. er kann sie danach nicht anzeigen, weil nicht berechtigt. Stelle ich es manuell auf chmod 644 <cache_...> zeigt er die Grafik wunderbar an.
Gruß,
Lars

Benutzeravatar
Rnitram
Beiträge: 50
Registriert: 5. Jan 2008, 01:17
Wohnort: Hamburg

19. Jan 2008, 13:55

Hallo,

vielen Dank für dieses nützliche Modul! Ich setze es unter R4 ein und habe folgendes festgestellt:

Wenn die generierten Dateien beim Cache-Leeren des ImageResize-AddOns entfernt werden sollen, müssen sie anders benannt werden. In der Modul-Eingabe und -Ausgabe jeweils

Code: Alles auswählen

cache_resize
durch

Code: Alles auswählen

image_resize
ersetzen!

Ob das unter R3 auch gilt, kann ich leider nicht beurteilen.

Gruß,
Martin

crazyahmet
Beiträge: 15
Registriert: 30. Jan 2008, 16:43
Wohnort: Salzburg

5. Mär 2008, 19:33

Hallo!

Erstmal VIELEN DANK für dieses MODUL, jedoch habe ich einen Wunsch, und zwar ist es möglich eine Überschrift OHNE Hintergrund zu rendern!?? Das heißt. dass die gerenderte Überschrift einen Transparenten Hintergrund hat so dass ich nur die Schrift bekomme und dieses Bild über ein anderes Bild legen kann!??

DANKE für Ihre Hilfe.

crazyahmet
Beiträge: 15
Registriert: 30. Jan 2008, 16:43
Wohnort: Salzburg

6. Mär 2008, 22:10

Hat keiner eine IDEE !??

Benutzeravatar
Andreas.Eberhard
Beiträge: 653
Registriert: 4. Dez 2006, 17:03
Wohnort: Kirchheim bei München
Kontaktdaten: Website

7. Mär 2008, 00:02

Hallo,

eigentlich werden die Überschriften mit transparentem Hintergrund gerendert.

Gruß Andreas

crazyahmet
Beiträge: 15
Registriert: 30. Jan 2008, 16:43
Wohnort: Salzburg

7. Mär 2008, 11:07

hmm bei mir ist es nicht der Fall ... wenn ich keine Hintergrund-Farbe angebe, dann ist es weiß !??

Benutzeravatar
Andreas.Eberhard
Beiträge: 653
Registriert: 4. Dez 2006, 17:03
Wohnort: Kirchheim bei München
Kontaktdaten: Website

7. Mär 2008, 14:48

korrekt, Hintergrundfarbe muss angegeben werden sonst gibt es unschöne Ränder.
Am besten eine Hintergrundfarbe aus dem Bild auswählen die unter der Schrift oft vorkommt.

crazyahmet
Beiträge: 15
Registriert: 30. Jan 2008, 16:43
Wohnort: Salzburg

7. Mär 2008, 20:36

ja OK aber dann wird diese Hintergrundfarbe an den ganzen Bereich angwendet ... aber ich habe eine Lösung und zwar im Modul-Output die Zeile von 218, die if - else Abfrage mit dem folgenden Code ersetzen.

Funktioniert bei mir nun wunderbar ...

Code: Alles auswählen

	if ( $rxmodule['imagetype'] == 'png' ) {
		imagealphablending($rxmodule['im'], false);
    $colorTransparent = imagecolorallocatealpha($rxmodule['im'], 0, 0, 0, 127);
    imagefill($rxmodule['im'], 0, 0, $colorTransparent);
    imagesavealpha($rxmodule['im'], true);
    imagepng( $rxmodule['im'], $rxmodule['image'] );
    } else {
		 $trnprt_indx = imagecolortransparent($rxmodule['im']);
     if ($trnprt_indx >= 0) {
        //its transparent
        $trnprt_color = imagecolorsforindex($rxmodule['im'], $trnprt_indx);
        $trnprt_indx = imagecolorallocate($rxmodule['im'], $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue']);
        imagefill($rxmodule['im'], 0, 0, $trnprt_indx);
         imagecolortransparent($rxmodule['im'], $trnprt_indx);
      }
      imagegif( $rxmodule['im'], $rxmodule['image'] );
	   }

maximaexchen
Beiträge: 16
Registriert: 28. Mai 2008, 23:35

28. Mai 2008, 23:40

Hallo Forum!

Wirklich tolles Modul!

Ich hoffe ich habe nichts überlesen.
Gibt es eine Möglichkeit den Zeilenabstand bei mehrzeiligen Überschriften in der gerenderten Grafik zu beeinflussen?

Gruß Marcus

zachlinger
Beiträge: 11
Registriert: 29. Mai 2008, 18:47

29. Mai 2008, 18:56

Hallo liebe Gemeinde
Bin ein Freshman und habe gerade eine Seite übernommen. Natürlich möchte ich meinen Freunden einige gute Features zur Verfügung stellen und dieses würde sich hervorragend eignen.
Habe nun alles kopiert und hochgeladen, wenn ich nun aber das Modul nutzen möchte und auf anzeigen gehe, erhalte ich folgende Meldung:




Warning: getimagesize(./redaxo/include/../../pics/headlines/25_99_1761_de_de.png) [function.getimagesize]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /homepages/6/d200056352/htdocs/redaxo/include/classes/class.article.inc.php(179) : eval()'d code on line 31

Sagt mir doch bitte, wo mein Fehler liegt!
Vielen dank im Voraus

Torsten

Benutzeravatar
rkemmere
Beiträge: 486
Registriert: 6. Feb 2007, 17:47
Kontaktdaten: Website

29. Mai 2008, 19:37

line 31 :lol:

Nee Spaß beiseite, scheint so das es die Datei nicht gibt:

Die sollte laut Modulausgabe direkt im Hauptverzeichniss unter

/pics/headlines/25_99_1761_de_de.png liegen.

Mein Tipp, lege einfach das pics Verzeichnis im Root an, da wo auch files und redaxo liegt. Reicht das immer noch nicht dann noch headlines im pics Ordner. Bin mir zu 99% sicher das damit Dein Problem behoben ist. Es kommt mir nämlich sehr bekannt vor.

zachlinger
Beiträge: 11
Registriert: 29. Mai 2008, 18:47

29. Mai 2008, 22:40

Mein Fehler war ein nicht korrekt bezeichnetes Verzeichnis. Nun ist die Warnung weg, aber zu sehen sind lediglich kleine schwarze Striche. Nur wenn ich mit dem Cursor rüberfahre, erscheint die eingegebene Überschrift in einem kleinen Kästchen.
Vielleicht hat ja jemand auch dafür eine Lösung?
Vielen Dank erstmal
Torsten

Benutzeravatar
rkemmere
Beiträge: 486
Registriert: 6. Feb 2007, 17:47
Kontaktdaten: Website

29. Mai 2008, 22:44

Dadurch das die Headline ja nun ein Bild ist musst du eine Höhe und Breite für das IMG mit angeben.
Ansonsten wäre ein Link nicht schlecht um mal auf die Seite zu schauen.

zachlinger
Beiträge: 11
Registriert: 29. Mai 2008, 18:47

30. Mai 2008, 06:12

Hier der Link zu meinen kleinen Strichen ;-)
http://bb-wilder.de/index.php?article_id=99
Habe zwar eien vage Vorstellung wo ich die Größe eingeben muss, aber so einfach rumpfuschen möchte ich nun doch nicht.

Vielen dank
Torsten

Benutzeravatar
rkemmere
Beiträge: 486
Registriert: 6. Feb 2007, 17:47
Kontaktdaten: Website

30. Mai 2008, 09:01

Wie ich vermutet habe ist das Bild zu Klein:

Code: Alles auswählen

<img width="20" height="4" title="BB-Wilder in Thale 2008" alt="BB-Wilder in Thale 2008" src="/pics/headlines/25_99_1764_de_de.png" style=""/>
Da muss der Fehler aber schon bei der Generierung des Bildes passieren.

Benutzeravatar
Andreas.Eberhard
Beiträge: 653
Registriert: 4. Dez 2006, 17:03
Wohnort: Kirchheim bei München
Kontaktdaten: Website

30. Mai 2008, 09:03

Hallo,

du verwendest dieses Modul (Gerenderte Überschrift und nicht Gerenderte Headline): http://www.redaxo.de/165-Moduldetails.html?module_id=89

Hast Du da auch mal die Beschreibung gelesen?

Ansonsten würde ich dir das Modul Gerenderte Headline empfehlen :wink:
Hier: http://www.redaxo.de/165-Moduldetails.h ... ule_id=188

Beste Grüße
Andreas

zachlinger
Beiträge: 11
Registriert: 29. Mai 2008, 18:47

30. Mai 2008, 10:33

Was ich auch getan habe. Nur nachdem ich dieses Modul verwendet habe, wurde mir "Server Fehler" angezeigt und alle Versuche das Modul wieder zu eliminieren scheiterten, da mir nichts mehr angezeigt wurde. Daher musste ich den Artikel löschen und fange wieder an, ohne zu wissen, wo denn nun mein Fehler lag.
Torsten

zachlinger
Beiträge: 11
Registriert: 29. Mai 2008, 18:47

30. Mai 2008, 14:44

Noch besser ist ja, dass ich jetzt beim Versuch etwas aus der Artikelliste auszuwählen, den kompletten Code sehe und drunter steht:

Fatal error: Call to a member function on a non-object in /homepages/6/d200056352/htdocs/redaxo/include/pages/linkmap.inc.php on line 405

Wat nu? Wenn ich auf Cache regenerieren gehe, zeigt er mir ebenfalls nach kurze Zeit den Fatal Error an :-(
Kann mir jemand nen Tip geben, wie ich das wieder weg bekomme?

Danke

Torsten

zachlinger
Beiträge: 11
Registriert: 29. Mai 2008, 18:47

31. Mai 2008, 12:32

Nach längerem Testen habe ich nun festgestellt, dass mir dieses Modul die halbe Seite zerschossen hat. Fatal Error ist schon fast mein bester Freund.
Schön auch, dass sich niemand mehr dazu meldet!!!!!!!!!!!!!!!!

Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

16. Okt 2009, 13:35

Hallo alle zusammen,

ich habe das Modul auf einer 4.1 laufen in der Version 1.8 vom 27.03.2009.
Läuft auch soweit sehr gut, nur seit kurzem werden die GIFs und PNGs nur noch falsch gerendert.

Sprich bei 2-Zeilern wird nur noch die erste Linie gerendert
und bei 1-Zeilern wird der Text unten "angeschnitten".

Habe jetzt auch schon 1.9 ausprobiert - gleiches Ergebnis (hier funktioniert die Transparenz auch nicht). Es scheint so als ob der Text unten links platziert wird.

Habe schon gedacht es würde an der GDLib oder an der Freetype liegen, aber anscheinend nicht. Deshalb habe ich mal sleightofhand ausprobiert, da wird der 2-Zeiler gut gerendert, also kann es daran nicht liegen.

Im Script selber habe ich nichts geändert, jemand eine Idee?

Gruß

Zurück zu „Allgemeines [R3]“