+ /**
+ * @deprecated
+ * @param xmlrpcval $o
+ * @return string
+ */
+ public function serializeval($o)
+ {
+ // add check? slower, but helps to avoid recursion in serializing broken xmlrpcvals...
+ //if (is_object($o) && (get_class($o) == 'xmlrpcval' || is_subclass_of($o, 'xmlrpcval')))
+ //{
+ $ar = $o->me;
+ reset($ar);
+ list($typ, $val) = each($ar);
+
+ return '<value>' . $this->serializedata($typ, $val) . "</value>\n";
+ //}
+ }
+
+ /**
+ * @deprecated this code looks like it is very fragile and has not been fixed
+ * for a long long time. Shall we remove it for 2.0?
+ */
+ public function getval()
+ {
+ // UNSTABLE
+ reset($this->me);
+ list($a, $b) = each($this->me);
+ // contributed by I Sofer, 2001-03-24
+ // add support for nested arrays to scalarval
+ // i've created a new method here, so as to
+ // preserve back compatibility
+
+ if (is_array($b)) {
+ @reset($b);
+ while (list($id, $cont) = @each($b)) {
+ $b[$id] = $cont->scalarval();
+ }
+ }
+
+ // add support for structures directly encoding php objects
+ if (is_object($b)) {
+ $t = get_object_vars($b);
+ @reset($t);
+ while (list($id, $cont) = @each($t)) {
+ $t[$id] = $cont->scalarval();
+ }
+ @reset($t);
+ while (list($id, $cont) = @each($t)) {
+ @$b->$id = $cont;
+ }
+ }
+ // end contrib
+ return $b;
+ }
+