Bug or Feature? stripslashes in $cApiModule->export();

Gesperrt
knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Bug or Feature? stripslashes in $cApiModule->export();

Beitrag von knb » Do 7. Jun 2007, 12:48

Wenn man Modulcode per API exportiert, und zwar in ein FILE (nicht wenn man es zum Browser rausschickt), dann wird so ein PHP Code im Modul

Code: Alles auswählen

echo "<input type=\"radio\" name=\"CMS_VAR[2]\" value=\"1\" "; 
so ins XML File exportiert :

Code: Alles auswählen

echo "<input type="radio" name="CMS_VAR[2]" value="1" "; 
Man beachte die fehlenden Backslashes.

Wenn man das re-importiert nach Contenido dann wird das Modul als fehlerhaft markiert.

Code: Alles auswählen

echo "<input type="radio" name="CMS_VAR[2]" value="0" ";
Meiner Meinung nach liegt das Problem hier,
in File : contenido/classes/contenido/class.module.php
in Klasse : cApiModule
(leicht gekürzt)

Code: Alles auswählen

    function export ($filename, $return = false)
    {
    	cInclude("classes", "class.xmltree.php");
    	$tree  = new XmlTree('1.0', 'ISO-8859-1');
        // ... make the tree ... 
    	if ($return == false)
    	{
			header("Content-Type: text/xml");
    		header("Etag: ".md5(mt_rand()));
    		header("Content-Disposition: attachment;filename=\"$filename\"");
    		$tree->dump(false);
    	} else {
    		//dump(true) : returns the xmlstring. false calls "echo"
    		return stripslashes($tree->dump(true));	
    	}	
    }
Kann man nicht die funktion
$cApiModule->export()) so variieren dass das stripslashes() optional ist?
Oder ne neue Funktion schreiben exportWithSlashes()?

Was soll das stripslashes() überhaupt? Kann mir das mal jemand erklären, bitte? Es steht nichts dazu im Code und auch nicht in der Klassendefinition. Hab auch hier im Forum nichts dazu gefunden.
Gruss,
Knut

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 7. Jun 2007, 13:55

Kann man nicht die funktion
$cApiModule->export()) so variieren dass das stripslashes() optional ist?
Oder ne neue Funktion schreiben exportWithSlashes()?

Was soll das stripslashes() überhaupt?
scheint ein bug zu sein
etwas weiter unten im selben file gibts ja noch eine export funktion
und da steht

return $tree->dump(true);
*** make your own tools (wishlist :: thx)

Gesperrt