ich habe jetzt ein weiteres problem, das mich an den rand des wahnsinns treibt, und ich beschuldige genau diesen Mozile Editor *g*:
ich habe ein modul, dass im backend/edit eine normale form mit textarea und submit/reset-button hat, im frontend an genauderselben stelle nur den text ausgibt. Da dieser text von klassischen DAUs bearbeitet wird, möchte ich nicht mit der Modul-Konfig daherkommen oder eventuell gar ein "klicken sie hier, dann dort um dann dieses und jenes zumachen, aber bevor sie jenes tun müssen sie noch dort..." verbautes system für eine simple funktion verwenden.
das Problem, warum ich nicht einfach ein bereits existierendes modul verwende ist folgendes: dieser text muss projektweit auf jeder seite der selbe sein. dafür schaufle ich alle daten in die cms_content_external.
soweit kein problem, nur zur info warum ich mit der kirche ums kreuz will :-) interessant wirds, wenn man (mit FF und einem WYSIWYG2 auf der seite) versucht, diesen text zu editieren. der text ist teilweise nicht bearbeitbar, hinzugefügter chars werden immer vor den aktuellen text gesetzt und bei dem versuch einen zeilenvorschub zu machen (sprich enter drücken) verdoppelt sich die textarea, aber ohne text. der reset button ist ohne funktion.
ich habe heute stundenlang versucht, dem textfeld die eventhandler für keypress wegzunehmen aber ohne erfolg.
bin für hinweise dankbar.
mfG
DesertEagle
PS: werde das modul/quellcode morgen früh posten, da ich momentan den source nicht zur hand habe.
Edit (11.02.2009-08:53): Hier der frontendcode des moduls:
CODE
<CMSPHP>
$text = '';
$needsUpdate = false;
$db = new mysqli('host','usr','pwd','tble');
$sql = 'SELECT value, idtype FROM cms_content_external WHERE container='.$client.' AND idtype=\'sprechzeiten\'';
$spst_result = $db->query($sql);
if (!$spst_result) {
$needsUpdate = false;
}
else {
$line = $spst_result->fetch_assoc();
$text = $line['value'];
$spst_result->close();
if ((isset($line['idtype'])) && ($line['idtype'] == 'sprechzeiten')) {
$needsUpdate=true;
}
}
if (($_GET['view'] == 'edit') || ($_POST['view'] == 'edit')){
if ((isset($_GET['save'])) && ($_GET['save']=='t')) {
$text = trim(addslashes($_POST['sprechzeiten']));
if (!$needsUpdate) {
$sql = 'INSERT INTO cms_content_external (container, idtype, value, created) VALUES (\''.$client.'\',\'sprechzeiten\',\''.$text.'\',\''.time().'\')';
}
else {
$sql = 'UPDATE cms_content_external SET value=\''.$text.'\', lastmodified=\''.time().'\' WHERE container=\''.$client.'\' AND idtype=\'sprechzeiten\'';
}
$db->query($sql);
$text = stripslashes($text);
}
echo '<form name="frm_sprechzeiten" id="frm_sprechzeiten" action="index.php?idcatside='.$idcatside.'&view=edit&save=t" method="post">
<textarea name="sprechzeiten" id="sprechzeiten" style="width:100%; height:150px">'.$text.'</textarea><br />
<input type="submit" value="Save" name="save" id="save" /> <input type="reset" value="Zurücksetzen" name="reset" id="reset"/>
</form>';
}
else {
$text = str_replace(array("\r\n","\n"),'<br />',$text);
echo $text;
}
</CMSPHP>
$text = '';
$needsUpdate = false;
$db = new mysqli('host','usr','pwd','tble');
$sql = 'SELECT value, idtype FROM cms_content_external WHERE container='.$client.' AND idtype=\'sprechzeiten\'';
$spst_result = $db->query($sql);
if (!$spst_result) {
$needsUpdate = false;
}
else {
$line = $spst_result->fetch_assoc();
$text = $line['value'];
$spst_result->close();
if ((isset($line['idtype'])) && ($line['idtype'] == 'sprechzeiten')) {
$needsUpdate=true;
}
}
if (($_GET['view'] == 'edit') || ($_POST['view'] == 'edit')){
if ((isset($_GET['save'])) && ($_GET['save']=='t')) {
$text = trim(addslashes($_POST['sprechzeiten']));
if (!$needsUpdate) {
$sql = 'INSERT INTO cms_content_external (container, idtype, value, created) VALUES (\''.$client.'\',\'sprechzeiten\',\''.$text.'\',\''.time().'\')';
}
else {
$sql = 'UPDATE cms_content_external SET value=\''.$text.'\', lastmodified=\''.time().'\' WHERE container=\''.$client.'\' AND idtype=\'sprechzeiten\'';
}
$db->query($sql);
$text = stripslashes($text);
}
echo '<form name="frm_sprechzeiten" id="frm_sprechzeiten" action="index.php?idcatside='.$idcatside.'&view=edit&save=t" method="post">
<textarea name="sprechzeiten" id="sprechzeiten" style="width:100%; height:150px">'.$text.'</textarea><br />
<input type="submit" value="Save" name="save" id="save" /> <input type="reset" value="Zurücksetzen" name="reset" id="reset"/>
</form>';
}
else {
$text = str_replace(array("\r\n","\n"),'<br />',$text);
echo $text;
}
</CMSPHP>
wie man sieht, nichts aufregendes, in der config hab ich momentan nix.