Joomla! Forum Schweiz wird Teil der D-A-CH Community

Nach vielen Jahren als zentrale Anlaufstelle für Fragen rund um Joomla! in der Schweiz wird das Joomla! Forum Schweiz künftig als Archiv weitergeführt.

Die Joomla!-Communities aus Deutschland, Österreich und der Schweiz arbeiten heute enger denn je zusammen. Deshalb bündeln wir künftig auch den deutschsprachigen Support und Austausch an einem gemeinsamen Ort im Joomla! D-A-CH Forum.

Für neue Fragen, Diskussionen und den Austausch mit der Community nutzt bitte ab sofort:

forum.joomla.de

Das Joomla! Forum Schweiz bleibt weiterhin bestehen und wird als Archiv im Lesemodus erhalten. Die vielen Beiträge, Lösungen und Erfahrungen aus den vergangenen Jahren bleiben damit weiterhin zugänglich und über die Suche auffindbar.

Wir bedanken uns herzlich bei allen Mitgliedern, Moderatoren und Helfern, die das Schweizer Joomla! Forum über viele Jahre mit ihrem Wissen und ihrem Engagement geprägt haben.

Wir sehen uns im Joomla! D-A-CH Forum!

[GELÖST]Header already sent (Core Design Scriptgenerator + Bigo Captcha)

  • lfir
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
01 Juni 2008 22:47 #14363 von lfir
Hallo,

ich setzte auf meiner Website das Ajax Vote Plugin ein. Dieses setzt ja das Core Design Scriptgenerator Plugin voraus. Um mich vor Spam zu schützen installierte ich für yvcomment das Bigo Captcha plugin. Jedoch wird statt der erwarteten grafik immer nur der Alt-Text angezeigt (--ALTER LINK WURDE ENTFERNT--).

Ruft man die --ALTER LINK WURDE ENTFERNT-- auf, so bekommt man Folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w009f2b4/cms/plugins/system/cd_scriptegrator.php:1) in /www/htdocs/w009f2b4/cms/plugins/system/cd_scriptegrator.php on line 254

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w009f2b4/cms/plugins/system/cd_scriptegrator.php:1) in /www/htdocs/w009f2b4/cms/plugins/system/cd_scriptegrator.php on line 255

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w009f2b4/cms/plugins/system/cd_scriptegrator.php:1) in /www/htdocs/w009f2b4/cms/plugins/system/cd_scriptegrator.php on line 256


wenn ich das genannte Plugin (Core Design Scriptgenerator) deaktiviert, funktioniert das Bigo Captcha Plugin (aber leider meine Bewertungsfunktion nicht mehr). Weiß dazu jemand Rat? Wie kann ich den Header nachträglich modifizieren - oder entsprechende befehle an geforderter stelle einbauen? Vielleicht weiß von euch wer weiter.

danke, mfg Florian
  • DietmarH
  • Neues Mitglied
  • Neues Mitglied
Mehr
01 Juni 2008 23:36 #14364 von DietmarH
Grundsätzlich zur Fehlermeldung: --ALTER LINK WURDE ENTFERNT--

Dieselbe Fehlermeldung kann übrigens das --ALTER LINK WURDE ENTFERNT-- hervorrufen, wenn eine UTF-8-codierte Datei mit BOM in einer ISO-codierten (Joomla 1.0) Seite aufgerufen wird. Da Joomla 1.5 von Haus aus UTF-codiert ist, sollte dieser Fall an sich nicht auftreten.

Ich bekomme diese Fehlermeldung aber gar nicht. Der FF meint: Die Grafik " www.0606.at/index.php?option=com_yvcomment&task=displaycaptcha " kann nicht angezeigt werden, weil sie Fehler enthält.
Opera und IE6 zeigen das Symbol für ein fehlendes Bild an. Das Problem ist also eher in der Routine zu suchen, die das Captcha generieren soll. Kann es sein, daß die eine Grafik-Lib voraussetzt, die auf deinem Server nicht installiert ist?

BTW: --ALTER LINK WURDE ENTFERNT-- wird nicht gefunden.
  • Sam Fisher
  • Neues Mitglied
  • Neues Mitglied
Mehr
02 Juni 2008 08:21 #14365 von Sam Fisher
Hallo !
Grundsätzliches zu diesem Fehler: Dieser Fehler erscheint immer, wenn man etwas am Header werkelt und schon HTML-Code zum Client geschickt wurde. BSP: Wenn du <h1>hallo</h1> sendest, kannst du keinen Cookie mehr schreiben lassen. Und genau das passiert hier. Leider muss es kein Sichtbarer Code wie <h1> sein, sondern es reicht ein Lehrzeichen und alles ist im Eimer. Deshalb mein Tipp: Wenn du nicht Coden willst, schauen ob patches verfügbar sind und wenn nicht darauf warten. Leider, da hat irgend ein Programmierer sich irgend wo vertippt.

Viele Grüße
Sam
  • lfir
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
02 Juni 2008 08:41 #14366 von lfir

wenn ich das genannte Plugin (Core Design Scriptgenerator) deaktiviert, funktioniert das Bigo Captcha Plugin (aber leider meine Bewertungsfunktion nicht mehr).

@Sam: lesen ;-).

" www.0606.at/index.php?option=com_yvcomment&task=displaycaptcha " kann nicht angezeigt werden, weil sie Fehler enthält.
Opera und IE6 zeigen das Symbol für ein fehlendes Bild an. Das Problem ist also eher in der Routine zu suchen, die das Captcha generieren soll. Kann es sein, daß die eine Grafik-Lib voraussetzt, die auf deinem Server nicht installiert ist?

Drücke nocheinmal F5 im Firefox wenn die Fehlermeldung erscheint. dann siehst du auch die Fehlermeldungen.

Die Routine werkelt einwandfrei, sobald das entsprechende PlugIn (Core Design Scriptgenerator) dekativiert wird! Ich vermute dass dieses Plugin den Header bereits absendet, das andere (Captcha-Plugin) diesen jedoch noch modifizieren/ändern will. (Wobei ein Header doch allgemein zu sehen ist? -> Auf den Header des *gif Bildes dürften ja alle anderen PlugIns keine Auswirkung haben?


mfg Florian
  • DietmarH
  • Neues Mitglied
  • Neues Mitglied
Mehr
02 Juni 2008 10:54 #14371 von DietmarH
Im Moment sehe ich das Captcha ohne Fehlermeldung. Scheint also zu klappen.

Zum Header: Damit ist nicht der <head>...</head>-Bereich der Seite gemeint, sondern der Kommunikationsheader für die Unterhaltung zwischen Browser und Server. Darin teilt der Browser mit, welche Zeichensätze, Sprachen usw. er akzeptiert, und der Server, welche der Angebote er tatsächlich nutzt. Erst nach dieser Kommunikation beginnt die eigentliche Übertragung der Seite.

Will man diesen Header per PHP beeinflussen, muß das passieren, bevor der Server auch nur ein Zeichen der Seite zum Browser schickt. Hat er nur ein Leerzeichen oder einen Umbruch losgeschickt, hat er dafür einen Standard-Header erzeugt (weil der Browser ja keine Vorgaben gemacht hat). Wenn danach auf der Versuch gemacht wird, per PHP diese Headerinformationen zu ändern, kommt es zu der Fehlermeldung, denn einmal Hü und einmal Hott in derselben Seite geht nicht.

Bei dir wurde also in cd_scriptegrator.php in Zeile 1 mindestens ein Zeichen an den Browser ausgegeben, bevor Joomla die Seitenheraderinformationen ausgeführt hat.
  • lfir
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
03 Juni 2008 11:55 #14388 von lfir
Hallo,

das Core Design Scriptgenerator Plugin war deaktiviert. Anbei der Code der Datei, wo angeblich in Zeile 1 der Fehler auftritt:
Code:
<?php /** * Core Design Scriptegrator plugin for Joomla! 1.5 * @author Daniel Rataj, <info@greatjoomla.com> * @package Joomla * @subpackage Content * @category Plugin * @version 1.2.0 * @copyright Copyright (C) 2007 - 2008 Core Design, http://www.greatjoomla.com * @license http://creativecommons.org/licenses/by-nc/3.0/legalcode Creative Commons */ // no direct access defined('_JEXEC') or die('Restricted access'); // Import library dependencies jimport('joomla.plugin.plugin'); jimport('joomla.filesystem.file'); // file manipulation // end /** * Joomla! Core Design Scriptegrator plugin * * @author Daniel Rataj <info@greatjoomla.com> * @package Core Design * @subpackage System */ class plgSystemCdScriptegrator extends JPlugin { /** * Constructor * * For php4 compatability we must not use the __constructor as a constructor for plugins * because func_get_args ( void ) returns a copy of all passed arguments NOT references. * This causes problems with cross-referencing necessary for the observer design pattern. * * @access protected * @param object $subject The object to observe * @since 1.0 */ function plgSystemCdScriptegrator(&$subject) { parent::__construct($subject); // load plugin parameters $this->plugin = &JPluginHelper::getPlugin('system', 'cd_scriptegrator'); $this->params = new JParameter($this->plugin->params); } /** * Function to integrate scripts to the site * */ function onAfterInitialise() { global $mainframe; // disable (enable) script for administration interface $adminEnable = $this->params->get('adminEnable', '0'); // define database parameters if ($mainframe->isAdmin() and !$adminEnable) { return; } else { // script is continuing... } // end $document = &JFactory::getDocument(); // set document for next usage // disable plugin for non-HTML interface (like RSS) $doctype = $document->getType(); // get document type if ($doctype !== 'html') { return; } else { // script is continuing... } // end $live_path = JURI::base(); // define live site // load a helper file $CdScriptegratorHelperFile = dirname(__file__) . DS . 'cd_scriptegrator' . DS . 'utils' . DS . 'php' . DS . 'helper.php'; if (JFile::exists($CdScriptegratorHelperFile)) { require_once ($CdScriptegratorHelperFile); } else { JError::raiseWarning('', JText::_('Core Design Scriptegrator plugin: Can not load a helper file.')); return; } // end plgSystemCdScriptegratorHelper::loadLang('plg_system_cd_scriptegrator'); // define language // set extensions array use Highslide scripts $highslide_array = array('content:cd_image_revolution', 'module:mod_cd_umf', 'module:mod_cd_rssfeed', 'module:mod_cd_latestnews', 'module:mod_cd_mostread', 'module:mod_cd_login', 'module:mod_cd_notes'); // end $highslide_set = 0; // set to empty foreach ($highslide_array as $highslide_element) { $highslide_element = explode(':', $highslide_element); $highslide_folder = $highslide_element&#91;0&#93;; $highslide_element = $highslide_element&#91;1&#93;; switch ($highslide_folder) { case 'module': if (plgSystemCdScriptegratorHelper::isModulePublish($highslide_element)) { $highslide_set = 1; } else { } break; case 'content': case 'system': if (JPluginHelper::isEnabled($highslide_folder, $highslide_element)) { $highslide_set = 1; } else { } break; default: break; } } if (isset($highslide_set) and $highslide_set > 0) { // define database parameters $outlineType = $this->params->get('outlineType', 'rounded-white'); $outlineWhileAnimating = $this->params->get('outlineWhileAnimating', '1'); $showCredits = $this->params->get('showCredits', '1'); $expandDuration = $this->params->get('expandDuration', '250'); $anchor = $this->params->get('anchor', 'auto'); $align = $this->params->get('align', 'auto'); $transitions = $this->params->get('transitions', 'expand'); $dimmingOpacity = $this->params->get('dimmingOpacity', '0'); // end // define script parameters switch ($outlineWhileAnimating) { case 1: $outlineWhileAnimating = 'true'; break; case 0: $outlineWhileAnimating = 'false'; break; default: $outlineWhileAnimating = 'true'; break; } switch ($showCredits) { case 1: $showCredits = 'true'; break; case 0: $showCredits = 'false'; break; default: $showCredits = 'true'; break; } switch ($transitions) { case 'expand': $transitions = '&#91;"expand"&#93;'; break; case 'fade': $transitions = '&#91;"fade"&#93;'; break; case 'expand+fade': $transitions = '&#91;"expand", "fade"&#93;'; break; case 'fade+expand': $transitions = '&#91;"fade", "expand"&#93;'; break; default: $transitions = '&#91;"expand"&#93;'; break; } // end // insert scripts in <head> </head> JHTML::script('highslide.packed.js', $live_path . 'plugins/system/cd_scriptegrator/utils/js/highslide/', $mootols = false); // Core Design scripts $default_core_script = "<script type=\"text/javascript\"> hs.graphicsDir = '" . $live_path . "plugins/system/cd_scriptegrator/graphics/'; hs.outlineType = '" . $outlineType . "'; hs.outlineWhileAnimating = " . $outlineWhileAnimating . "; hs.showCredits = " . $showCredits . "; hs.expandDuration = " . $expandDuration . "; hs.loadingText = '" . JText::_('CD_HS_LOADING') . "'; hs.loadingTitle = '" . JText::_('CD_HS_CANCELCLICK') . "'; hs.anchor = '" . $anchor . "'; hs.align = '" . $align . "'; hs.transitions = " . $transitions . "; hs.dimmingOpacity = " . $dimmingOpacity . "; </script>\n"; $document->addCustomTag($default_core_script); JHTML::stylesheet('cd_scriptegrator.css', $live_path . 'plugins/system/cd_scriptegrator/css/'); } else { // nothing to do... } // end // set extensions array use jQuery core scripts $jquery_array = array('content:cd_magictabs', 'content:cd_glossary', 'content:cd_chilicode', 'content:cd_downloader', 'module:mod_cd_notes', 'content:cd_ajaxvote'); // end $jquery_set = 0; // set to empty foreach ($jquery_array as $jquery_element) { $jquery_element = explode(':', $jquery_element); $jquery_folder = $jquery_element&#91;0&#93;; $jquery_element = $jquery_element&#91;1&#93;; switch ($jquery_folder) { case 'module': if (plgSystemCdScriptegratorHelper::isModulePublish($jquery_element)) { $jquery_set = 1; } else { } break; case 'content': case 'system': if (JPluginHelper::isEnabled($jquery_folder, $jquery_element)) { $jquery_set = 1; } else { } break; default: break; } } if (isset($jquery_set) and $jquery_set > 0) { // insert scripts in <head> </head> JHTML::script('jquery-latest.pack.js', $live_path . 'plugins/system/cd_scriptegrator/utils/js/jquery/', $mootols = false); } } } // Attach sef handler to event dispatcher $dispatcher = &JDispatcher::getInstance(); $dispatcher->attach(new plgSystemCdScriptegrator($dispatcher)); ?>

Vielleicht kann wer von euch etwas damit anfangen, ich finde den Fehler leider nicht.
Danke, Gruß Florian
  • DietmarH
  • Neues Mitglied
  • Neues Mitglied
Mehr
03 Juni 2008 14:38 #14389 von DietmarH
Auf den ersten Blick ist das kein Zeichen vor dem <?php. Da Indianer aber nicht lügen, muß irgendetwas da sein, was die Headerausgabe verursacht. Ist die Datei vielleicht UTF-8 mit BOM (Link s. oben) codiert? Das BOM veranlaßt einen Apachen nämlich dazu, den Header zu erzeugen.

[warum kann ich den beitrag ändern] ??
  • lfir
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
04 Juni 2008 14:44 #14418 von lfir
Hallo, das Problem ist gelöst!
Ich habe dem entwickler gemailt und ihm von der Problematik berichtet. Er kann sich den Fehler auch nicht erklären, hat ihn jedoch mit dem Update auf eine neue Scriptgenerator-Version (1.2.3) beheben können.

danke, mfg Florian

PS an admins & co: Ich kann beliebig Beiträge anderer editieren, das sollte glaube ich bei einem 0815-user wie mir nicht funktionieren demonstration siehe Beitrag von Dietmar darüber.

@Dietmar, sorry wegen dem demonstrativen edit ;-).
Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden