Wird geprüft: Module (XML-Dateien) importieren - Zeichenfehl

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Wird geprüft: Module (XML-Dateien) importieren - Zeichenfehl

Beitrag von Fips » Mi 4. Mär 2009, 21:31

Hallo, ich wollte ein Modul im xml-Modus importieren. Das hat es auch getan nur das nicht alle Zeichen übernommen wurden. Das ist der Originalcode

Code: Alles auswählen

?><?php
/**
* $RCSfile$
*
* Description: Contact Form Input
*
* @version 1.0.0
* @author Andreas Lindner
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2005-08-12
* }}
*
* $Id$
*/
?>

<table border="0">
    <tr>
        <td><?php echo mi18n("Absender EMail");?></td>
        <td><input type="text" name="<?php echo "CMS_VAR[0]";?>" value="<?php echo "CMS_VALUE[0]"; ?>"></td>
    </tr>
    <tr>
        <td><?php echo mi18n("Absender Name");?></td>
        <td><input type="text" name="<?php echo "CMS_VAR[2]";?>" value="<?php echo "CMS_VALUE[2]"; ?>"></td>
    </tr>
    <tr>
        <td><?php echo mi18n("Empfänger EMail");?></td>
        <td><input type="text" name="<?php echo "CMS_VAR[1]";?>" value="<?php echo "CMS_VALUE[1]"; ?>"></td>
    </tr>
    <tr>
        <td><?php echo mi18n("Betreff");?></td>
        <td><input type="text" name="<?php echo "CMS_VAR[3]";?>" value="<?php echo "CMS_VALUE[3]"; ?>"></td>
    </tr>
    <?php
    $c1 = '';
    $c2 = '';
    $c3 = '';
    $c4 = '';
    switch (strtolower("CMS_VALUE[4]")) {
        case "smtp" :
            $c1 = ' checked';
            break;
        case "mail" :
            $c2 = ' checked';
            break;
        case "sendmail" :
            $c3 = ' checked';
            break;
        case "qmail" :
            $c4 = ' checked';
            break;
        default :
            $c3 = ' checked';
    }
    ?>
    <tr>
        <td valign="top"><?php echo mi18n("Mailer");?></td>
        <td>
            <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="mail"<?php echo $c2;?>>&nbsp;<?php echo mi18n("mail");?><br/>
            <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="qmail"<?php echo $c4;?>>&nbsp;<?php echo mi18n("qmail");?><br/>
            <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="sendmail"<?php echo $c3;?>>&nbsp;<?php echo mi18n("sendmail");?><br/>
            <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="smtp"<?php echo $c1;?>>&nbsp;<?php echo mi18n("smtp");?><br/>
        </td>
    </tr>
    <tr>
        <td><?php echo mi18n("SMTP Host");?></td>
        <td><input type="text" name="<?php echo "CMS_VAR[5]";?>" value="<?php echo "CMS_VALUE[5]"; ?>"></td>
    </tr>
    <tr>
        <td><?php echo mi18n("SMTP User");?></td>
        <td><input type="text" name="<?php echo "CMS_VAR[6]";?>" value="<?php echo "CMS_VALUE[6]"; ?>"></td>
    </tr>
    <tr>
        <td><?php echo mi18n("SMTP Passwort");?></td>
        <td><input type="text" name="<?php echo "CMS_VAR[7]";?>" value="<?php echo "CMS_VALUE[7]"; ?>"></td>
    </tr>
</table>
<?php
und beim Importieren kommt dies:

Code: Alles auswählen

??php
/**
* $RCSfile$
*
* Description: Contact Form Input
*
* @version 1.0.0
* @author Andreas Lindner
* @copyright four for business AG www.4fb.de
*
* {@internal
* created 2005-08-12
* }}
*
* $Id$
*/
?

table border=0
    tr
        td?php echo mi18n(Absender EMail);?/td
        tdinput type=text name=?php echo CMS_VAR[0];? value=?php echo CMS_VALUE[0]; ?/td
    /tr
    tr
        td?php echo mi18n(Absender Name);?/td
        tdinput type=text name=?php echo CMS_VAR[2];? value=?php echo CMS_VALUE[2]; ?/td
    /tr
    tr
        td?php echo mi18n(Empfänger EMail);?/td
        tdinput type=text name=?php echo CMS_VAR[1];? value=?php echo CMS_VALUE[1]; ?/td
    /tr
    tr
        td?php echo mi18n(Betreff);?/td
        tdinput type=text name=?php echo CMS_VAR[3];? value=?php echo CMS_VALUE[3]; ?/td
    /tr
    ?php
    $c1 = '';
    $c2 = '';
    $c3 = '';
    $c4 = '';
    switch (strtolower(CMS_VALUE[4])) {
        case smtp :
            $c1 = ' checked';
            break;
        case mail :
            $c2 = ' checked';
            break;
        case sendmail :
            $c3 = ' checked';
            break;
        case qmail :
            $c4 = ' checked';
            break;
        default :
            $c3 = ' checked';
    }
    ?
    tr
        td valign=top?php echo mi18n(Mailer);?/td
        td
            input type=radio name=?php echo CMS_VAR[4];? value=mail?php echo $c2;?nbsp;?php echo mi18n(mail);?br/
            input type=radio name=?php echo CMS_VAR[4];? value=qmail?php echo $c4;?nbsp;?php echo mi18n(qmail);?br/
            input type=radio name=?php echo CMS_VAR[4];? value=sendmail?php echo $c3;?nbsp;?php echo mi18n(sendmail);?br/
            input type=radio name=?php echo CMS_VAR[4];? value=smtp?php echo $c1;?nbsp;?php echo mi18n(smtp);?br/
        /td
    /tr
    tr
        td?php echo mi18n(SMTP Host);?/td
        tdinput type=text name=?php echo CMS_VAR[5];? value=?php echo CMS_VALUE[5]; ?/td
    /tr
    tr
        td?php echo mi18n(SMTP User);?/td
        tdinput type=text name=?php echo CMS_VAR[6];? value=?php echo CMS_VALUE[6]; ?/td
    /tr
    tr
        td?php echo mi18n(SMTP Passwort);?/td
        tdinput type=text name=?php echo CMS_VAR[7];? value=?php echo CMS_VALUE[7]; ?/td
    /tr
/table
?php
Woran kann dies liegen? Das ist unabhängig von der Version von Contenido, tritt bei der 4.8.10 und auch 4.8.11 auf.

Danke Fips

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von GaMbIt_ » Do 5. Mär 2009, 00:41

magic quotes???
würd mir jetz so auf die Schnelle einfallen..
bim mir aber auf keinen Fall sicher
Nützliche Contenido Infos gibts hier: Contenido Wiki

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Fips » Do 5. Mär 2009, 11:48

Hallo GaMIt,
ich habe mir mal die Servervariablen angesehen und die magic quotes stehen alle auf OFF.
Das ist es leider auch nicht.

Fips

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von GaMbIt_ » Do 5. Mär 2009, 12:24

wie sieht denn der Inhalt der XML Datei aus? fehlen da die <> auch schon ??
Nützliche Contenido Infos gibts hier: Contenido Wiki

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Fips » Fr 6. Mär 2009, 17:27

Hallo,
die xml-Datei ist ok. Sobald ich den Server auf php4 umschalte geht alles probelmlos und die xml-Datei wird korrekt übernommen. Schalte ich auf php 5.25. dann werden die >< Zeichen nicht übernommen.
Ich habe mir auc die php.ini mal angesehen, aber nichts gefunden.

Fips

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von GaMbIt_ » Fr 6. Mär 2009, 18:52

Ahhhh... da sind wir dem Ziel doch schon ein bisschen näher gekommen... hast Du mal ne phpinfo() abgerufen?
ist simpleXML aktiviert?
Vielleicht weiss ja jemand wie die Import Routine aussieht?
Nützliche Contenido Infos gibts hier: Contenido Wiki

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Fips » Mo 9. Mär 2009, 12:34

Hallo GaMbIt,
SimpleXML ist aktiviert.
Revision $Revision: 1.151.2.22.2.35 $
Schema support enabled

Tbird
Beiträge: 25
Registriert: Do 15. Mär 2007, 12:23
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Tbird » Mi 11. Mär 2009, 10:34

Ich habe nunmehr auch diesen Fehler, die Zeichen <> werden beim Import wegretuschiert.
Wahrscheinlich ist dies seit dem letzten XAMPP-Update?!...
Gruß
der Tbird

Greg°r
Beiträge: 24
Registriert: Mi 5. Okt 2005, 07:02
Wohnort: Offenb(e)ach
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Greg°r » Mi 25. Mär 2009, 12:40

Hallo zusammen,

bei mir tritt dieser Fehler leider auch auf und eine Lösung dafür finde ich in diesem Thema-Block leider auch nicht :cry:

Ich habe schon mal bei contenido/classes/contenido/class.module.php geschaut und die dort angegebene ISO-8859-1 mit UTF-8 ausgetauscht, da wir das Backend komplett in UTF-8 laufen lassen und ich hier einen Fehler vermutet habe - leider nein.

Ansonsten ist bei mir auch alles notwendige auf dem Server vorhanden. Die exportierten XML-Dateien sehen auch gut aus und beinhalten alle die spitzen Klammern in Form von

Code: Alles auswählen

... 
<output><?php

... echo "<div id=\"bc\">".$retval."</div>"; ...

?></output>
... 
Was zum Teufel ist da los. Hat einer noch einen weiteren Ansatzpunkt? Wo genau wir das XML geparst und EditArea übergeben? Vielleicht verursacht auch der Editor die Probleme ...

Viele Grüße
Greg°r
Greg°r

Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Fips » Do 23. Jul 2009, 14:22

Hallo,
schau bitte mal mit phpmyadmin die Konfiguration an.
Ich denke dies hängt mit dem MYSQL-Client zusammen. Bei der u. a. Konfiguration werden die Zeichen > < nicht mit übernommen.

Code: Alles auswählen

Die Version der verwendeten PHP MySQL Bibliothek 4.1.19 unterscheidet sich von der Version des MySQL Servers 5.0.67. Dies kann zu unerwartetem Verhalten führen.
Ich habe dann den Mysql-Client angepasst und der XML-Import funktionierte.

Gruß Andreas

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von josh » Di 5. Okt 2010, 08:28

Hallo,

kaum zu glauben, aber ich habe über 1 Jahr später das gleiche Problem beim Imprtieren vom Modulen.
Die Entities < > " werden beim Import rausgefiltert!

Aus diesem Testmodul...
Input:

Code: Alles auswählen

?><?php
echo '<Table border"333">';
output:

Code: Alles auswählen

<?php
echo mi18n("Ein Test");
?>
... wird nach dem Import das:
input:

Code: Alles auswählen

??php
echo 'Table border333';
output:

Code: Alles auswählen

?php
echo mi18n(Ein Test);
?
Am Freitag war noch alles in Ordnung, am Montag der Fehler. Mein Admin hat ein Update eingespielt.
Ich habe ewig gesucht und nirgendwo einen Hinweis in Google gefunden das es einen solchen Fehler gibt.

Ich habe den Fehler mal eingegrenzt:
Der Export der Module funktioniert einwandfrei, sie lassen sich auch auf meinem anderen Server einlesen.
Der Import macht den beschriebenen Fehler.
Aber merkwürdig ist, dass die Versionierung der Module funktioniert. Da werden ja auch xml Dateien eingelesen.


Zunächst habe ich einen Contenido Fehler ausgeschlossen weil auf meinem anderen Server alles läuft.
Also doch ein Fehler in Contenido der sich erst jetzt nach dem Sicherheitsupdate PHP 5.2.14 zeigt?

Ich bin mit meinem Latein am Ende. Könnt ihr mir irgendwie weiterhelfen?
Ich nehme an das der Fehler nicht bei PHP oder dem xml reader liegt, sondern
durch das PHP Sicherheitsupdate erst jetzt in Contenido auftritt.

Die Updates zurücknehmen traue ich mich nicht. Da auf dem Server viele Kunden laufen.

Meine Server Konfiguration:
Suse 11.1
MySql 5.0.67
PHP: apache2-mod_php5 5.2.14-0.1.1
xphp5-xmlreader 5.2.14.0.1.1
xphp5-xmlwriter 5.2.14.0.1.1

Contenido: 4.8.8 AMR

Das Problem tritt auch mit dem Beipielmandanten der Version Contenido 4.8.13 auf.

Viele Grüße aus Ahlen

josh

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Oldperl » Di 5. Okt 2010, 10:17

Hallo Josh,

sorry aber ich kann deinen beschriebenen Fehler nicht nachvollziehen.
  • Neues Modul angelegt (Contenido 4.8.13)
  • Deinen In- und Output reinkopiert
  • Modul gespeichert und dann exportiert
  • Modul im BE gelöscht
  • Neues Modul angelegt (Contenido 4.8.13)
  • xml-Datei importiert
  • Modul gespeichert
Es funktioniert Alles einwandfrei und der Quellcode wird in keinster Weise geändert.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von idea-tec » Di 5. Okt 2010, 10:33

Vielleicht hilft eine Analyse der originalen Importdatei?
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Oldperl » Di 5. Okt 2010, 11:07

idea-tec hat geschrieben:Vielleicht hilft eine Analyse der originalen Importdatei?
josh hat geschrieben:Der Export der Module funktioniert einwandfrei, sie lassen sich auch auf meinem anderen Server einlesen.
Der Import macht den beschriebenen Fehler.
Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von idea-tec » Di 5. Okt 2010, 12:04

Jupp, Ortwin ... von Server A (export funktioniert) auf Server B (import funktioniert nicht)
und DU testest auf deinem Server C auf Server C

Was bedeutet, dass beim TE alleine schon 2 Fehlerquellen in Bezug auf den Zeichensatz bestehen KÖNNEN! Und ein Selbsttest, wie wir alle wissen, in SO einem Fall, für den Bobbes ist.
Dies wiederum führt uns bei ORDENTLICH durchgeführter Fehlersuche mittels Ausgrenzung eindeutig zu der Frage: Ist mit der exportierten Datei alles in Ordnung?
Aber IHR wisst es ja eh besser

edit: Nachtrag
Da ich selbst auf x Servern auf x Contenido-Versionen andauernd Module, Übersetzungen, etc. importiere und exportiere (und damit an Contenido glaube ;-) ) vermute ich die Ursache eben gerade nicht in Contenido, sondern an anderer Stelle. Zudem sollte man bei einer Ursachenforschung immer alle möglichen Ursachen ansehen, auch wenn es zu offensichtlich sein mag, dass es das nicht sein könnte ;-)
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

Gesperrt