Page 1 of 2

WYSIWYG Editor(en) gehen nur einmal [SOLVED]

Posted: Wed 12. Jan 2005, 08:52
by pico
nach dem anmelden im Backend kann ich nur einmal den Content-Part WYSIWYG benutzen

- egal welchen Editor ich in der conf.inc.php einstelle -

beim zweiten aufruf oder nach 'Inhalt aktualisieren' kommt nur noch 'reines HTML'

nach Logout und erneutem Login geht es wieder einmal.

Horst

Posted: Wed 12. Jan 2005, 19:39
by herbu
habe genau das gleiche problem. kann jemand helfen?

Posted: Wed 12. Jan 2005, 20:18
by Buster
Nähere Info's wie z.B. Browser, Version etc. wären schon hilfreich :)

Gruss
Buster

Posted: Wed 12. Jan 2005, 22:29
by herbu
Release Name: 1.1.5-DEV

Bei jedem Browser der neusten Version (IE, Mozilla, Firefox, Netscape)

Posted: Thu 13. Jan 2005, 08:37
by pico
Browser: getestet IE6, Firefox, Mozilla

überall das gleiche Problem - scheint nicht am Browser zu liegen

bin kein PHP-Guru aber ich vermute dass die Variable '$phpwcms["wysiwyg_editor"]' irgendwie gelöscht wird bzw. auf '0' = no WYSIWG gesetzt wird.

Posted: Thu 13. Jan 2005, 08:41
by whizkid
The WYSIWYG HTML Editor is not working at all in my 1.1.5 (patch1) test installation. No matter which editor I set it to in the config (1 to 3). I am using Internet Explorer 6.

-whiz

Posted: Fri 14. Jan 2005, 16:33
by pico
so - hab jetzt mal in der wysiwyg.editor.inc ein echo eingefügt

Code: Select all

if(!isset($wysiwyg_editor['rows']))		$wysiwyg_editor['rows']		= '15';
if(!isset($wysiwyg_editor['editor'])){
	$wysiwyg_editor['editor']	= 1;
	if(isset($_SESSION["wysiwyg_editor"])) $wysiwyg_editor['editor'] = $_SESSION["wysiwyg_editor"];
}
$wysiwyg_editor['lang']	= isset($_SESSION["wcs_user_lang"]) ? $_SESSION["wcs_user_lang"] : 'en';

echo $wysiwyg_editor['editor']; /* <------- hier */

switch($wysiwyg_editor['editor']) {
wenn man nun den wysiwyg-Editor das erstemal in einer Session aufruft wird der Wert '4' (hab ich so in der config.inc.php) ausgegeben, beim 2. Aufruf wird 'Array' ausgegeben, was wohl meine Vermutung bestätigt, dass die Variable verloren geht :!: :?:

Ich kann leider nicht feststellen wann und wo dieser Datenverlust eintritt :?:

Horst

Posted: Tue 18. Jan 2005, 11:20
by Executter
Es wäre schon von Vorteil wenn jemand mit Ahnung das mal fixen könnte :D
THX
Executter

Posted: Tue 18. Jan 2005, 13:47
by habi
it looks like one of this "flüchtigkeitsfehler". the session is stored in a array field instead of the array.

so in file wysiwig.editor.inc.php change line

Code: Select all

	if(isset($_SESSION["wysiwyg_editor"])) $wysiwyg_editor['editor'] = $_SESSION["wysiwyg_editor"];
to

Code: Select all

	if(isset($_SESSION["wysiwyg_editor"])) $wysiwyg_editor = $_SESSION["wysiwyg_editor"];
hope this helps

Posted: Tue 18. Jan 2005, 14:05
by pico
have changed it - but it still works only for one time :(

Horst

Posted: Tue 18. Jan 2005, 14:44
by habi
ok. schnellschüsse sind nicht immer gleich treffer.

but after a closer look I found that OG builds the array at several locations in the code and for the field editor he is using the session value. but instead of filling the field value he fills the entire array in the editor field. so you have to change this at several locations. please look in the following files:
  • inc_tmpl/article.editsummary.tmpl.php
    inc_tmpl/content/cnt1.inc.php
    inc_tmpl/content/cnt14.inc.php
    inc_tmpl/content/cnt51.inc.php
    inc_tmpl/message.newsletter.tmpl
look for a line like this:

Code: Select all

	'editor'	=> $_SESSION["wysiwyg_editor"]
and change it to

Code: Select all

	'editor'	=> $_SESSION["wysiwyg_editor"]["editor"]

Posted: Tue 18. Jan 2005, 15:35
by pico
many thanx to you Habi,

now it seems that it works

:idea: maybe I will understand a little bit more about PHP and Array Variable's in future :oops:

Posted: Tue 18. Jan 2005, 15:54
by pico
found now that the Typ of WYSIWG-Editor is not taken from conf.inc.php

it looks to me that it takes the one who is set in the wysiwyg.edito.inc.php
here:

Code: Select all

if(!isset($wysiwyg_editor['editor'])){

	$wysiwyg_editor['editor']	= 4;  /*<<------- hier */

	if(isset($_SESSION["wysiwyg_editor"])) $wysiwyg_editor['editor'] = $_SESSION["wysiwyg_editor"][editor];
}

Posted: Tue 18. Jan 2005, 16:05
by herbu
ok pico,
nun musst du die 4 durch dieses ersetzen $phpwcms["wysiwyg_editor"] damit du den editor in der conf.inc. php einstellen kanst.
danke, dass du mich auf den weg gebracht hast.

Posted: Tue 18. Jan 2005, 16:54
by pico
ok thanx to Habi and Herbu
now it looks good

I will now resume all Steps for further users

Step 1 - change in inc_lib/wysiwyg.editor.inc.php line 43 to

Code: Select all

if(!isset($wysiwyg_editor['editor'])){
	$wysiwyg_editor['editor']	= $phpwcms["wysiwyg_editor"];
	if(isset($_SESSION["wysiwyg_editor"])) $wysiwyg_editor ['editor'] = $_SESSION["wysiwyg_editor"][editor];
}
Step 2 - search Code

Code: Select all

'editor'   => $_SESSION["wysiwyg_editor"] 
in
inc_tmpl/article.editsummary.tmpl.php
inc_tmpl/content/cnt1.inc.php
inc_tmpl/content/cnt14.inc.php
inc_tmpl/content/cnt51.inc.php
inc_tmpl/message.newsletter.tmpl

and change it to

Code: Select all

'editor'   => $_SESSION["wysiwyg_editor"][editor] 
btw - i think it would be nice to change the Editortyp in the Backend because everyone has some Features I use sometimes

so long and many Thanks again