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 »

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_ »

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 »

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_ »

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 »

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_ »

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 »

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 »

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 »

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 »

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 »

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: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Oldperl »

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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.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 »

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: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Module (XML-Dateien) importieren - Zeichenfehler

Beitrag von Oldperl »

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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.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 »

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