xmlrpcval::serializedata PHP Méthode

serializedata() public méthode

public serializedata ( $typ, $val )
    function serializedata($typ, $val)
    {
        $rs = "";
        global $xmlrpcTypes, $xmlrpcBase64, $xmlrpcString, $xmlrpcBoolean;
        switch ($xmlrpcTypes[$typ]) {
            case 3:
                // struct
                $rs .= "<struct>\n";
                reset($val);
                while (list($key2, $val2) = each($val)) {
                    $rs .= "<member><name>{$key2}</name>\n";
                    $rs .= $this->serializeval($val2);
                    $rs .= "</member>\n";
                }
                $rs .= "</struct>";
                break;
            case 2:
                // array
                $rs .= "<array>\n<data>\n";
                for ($i = 0; $i < sizeof($val); $i++) {
                    $rs .= $this->serializeval($val[$i]);
                }
                $rs .= "</data>\n</array>";
                break;
            case 1:
                switch ($typ) {
                    case $xmlrpcBase64:
                        $rs .= "<{$typ}>" . base64_encode($val) . "</{$typ}>";
                        break;
                    case $xmlrpcBoolean:
                        $rs .= "<{$typ}>" . ($val ? "1" : "0") . "</{$typ}>";
                        break;
                    case $xmlrpcString:
                        $rs .= "<{$typ}>" . htmlspecialchars($val) . "</{$typ}>";
                        break;
                    default:
                        $rs .= "<{$typ}>{$val}</{$typ}>";
                }
                break;
            default:
                break;
        }
        return $rs;
    }