From 8e5b38007f026826be1e631ed8199ee89b55e0c2 Mon Sep 17 00:00:00 2001 From: konrad Date: Sun, 13 Jan 2008 19:49:25 +0000 Subject: [PATCH] changed machine output to DOM (fixes charset problems) git-svn-id: https://silmor.de/svn/softmagic/smoke/trunk@84 6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33 --- www/inc/session.php | 37 ++++++++++++++++++++++++------------- 1 files changed, 24 insertions(+), 13 deletions(-) diff --git a/www/inc/session.php b/www/inc/session.php index ddac732..2f3a2d4 100644 --- a/www/inc/session.php +++ b/www/inc/session.php @@ -223,11 +223,15 @@ function getAllUsersXml() global $db; header("X-MagicSmoke-Status: Ok"); $res=$db->select("users","uname,description",""); - print("\n"); + $dom=new DomDocument; + $root=$dom->createElement("Users"); for($i=0;$i".htmlentities($res[$i]["description"])."\n"); + $usr=$dom->createElement("User",$res[$i]["description"]); + $usr->setAttributeNode(new DOMAttr("name",$res[$i]["uname"])); + $root->appendChild($usr); } - print(""); + $dom->appendChild($root); + print($dom->saveXML()); } //return the roles of a specific user @@ -249,14 +253,18 @@ function getUserAclXml($user) $res=$db->select("userrole","role","uname=".$user); $acl=array(); foreach($res as $rl)$acl[]=$rl["role"]; - print("\n"); + $dom=new DOMDocument; + $root=$dom->createElement("ACL"); + $root->setAttributeNode(new DOMAttr("user",$user)); foreach($roles as $rl){ - print("\n"); + $re=$dom->createElement("Role"); + $re->setAttributeNode(new DOMAttr("name",$rl)); + if(array_search($rl,$acl)===false)$re->setAttributeNode(new DOMAttr("set","0")); + else $re->setAttributeNode(new DOMAttr("set","0")); + $root->appendChild($re); } - print("\n"); + $dom->appendChild($root); + print($dom->saveXML()); } //helper function: parse User-XML-structure @@ -295,8 +303,8 @@ function addUserXml($txt) { global $db; $usr=parseUserXml($txt); - header("X-MagicSmoke-Status: Ok"); - print("\n"); + $dom=new DOMDocument; + $root=$dom->createElement("Users"); for($i=0;$iinsert("users",array("uname"=>$usr[$i]["name"],"description"=>$usr[$i]["descr"])); //print data - print("".htmlentities($usr[$i]["descr"])."\n"); + $usr=$dom->createElement("User",$usr[$i]["descr"]); + $usr->setAttributeNode(new DOMAttr("name",$usr[$i]["name"])); + $root->appendChild($usr); } $db->commitTransaction(); } - print("\n"); + $dom->appendChild($root); + print($dom->saveXML()); } ?> \ No newline at end of file -- 1.7.2.5