setDebug(0); $c->setAcceptedCompression(null); //Get all pathways $m = new xmlrpcmsg("WikiPathways.getPathwayList", array() ); $r = $c->send($m); $v = getvalue($r); echo "
User: $user
Token: $token"; //Get the latest GPML and revision id $m = new xmlrpcmsg("WikiPathways.getPathway", array( new xmlrpcval("Sandbox"), new xmlrpcval("Homo sapiens") ) ); $r = $c->send($m); $v = getvalue($r); $data = php_xmlrpc_decode($v); $gpml = base64_decode($data['gpml']); $revision = $data['revision']; echo "
Fetched GPML, revision $revision
"; //Make changes to the GPML //E.g. change all colors to purple //Using regex: /Color=".{6}"/Color="a020f0" $gpmlMod = preg_replace('/Color=".{6}"/', 'Color="a020f0"', $gpml); //Encode the gpml code for sending it along with the xml-rpc response $gpmlMod64 = base64_encode($gpmlMod); //Update the pathway $m = new xmlrpcmsg("WikiPathways.updatePathway", array( new xmlrpcval("Sandbox"), new xmlrpcval("Homo sapiens"), new xmlrpcval("All colors to purple"), new xmlrpcval($gpmlMod64, "base64"), new xmlrpcval($revision, "int"), php_xmlrpc_encode(array("user" => $user, "token" => $token)) ) ); $r = $c->send($m); $v = getvalue($r); if($v->scalarval()) { echo "