X-Git-Url: http://git.cyclocoop.org/?p=ptitvelo%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fiterateur%2Fdata.php;fp=www%2Fecrire%2Fiterateur%2Fdata.php;h=4ccaa43b1ed0bc78fb37a56cf53027e2cce57119;hp=46d20edd03aebdb4716a06d8385b9c83f3871ebe;hb=d18fcb8f27a4016e3fa7b50a9b2255d529dca543;hpb=e847eea4a82a7396dd0abf860f9b30d654f38629 diff --git a/www/ecrire/iterateur/data.php b/www/ecrire/iterateur/data.php index 46d20ed..4ccaa43 100644 --- a/www/ecrire/iterateur/data.php +++ b/www/ecrire/iterateur/data.php @@ -411,7 +411,7 @@ class IterateurDATA implements Iterator { $a = '.sprintf($tv,'$aa').'; $b = '.sprintf($tv,'$bb').'; if ($a <> $b) - return ($a ' . ($r[2] ? '>' : '<').' $b) ? -1 : 1;'; + return ($a ' . ((isset($r[2]) and $r[2]) ? '>' : '<').' $b) ? -1 : 1;'; } } } @@ -518,7 +518,25 @@ function inc_plugins_to_array_dist() { * @return array */ function inc_xml_to_array_dist($u) { - return @ObjectToArray(new SimpleXmlIterator($u)); + return @XMLObjectToArray(new SimpleXmlIterator($u)); +} + +/** + * + * object -> tableau + * + * @param object $object The object to convert + * @return array + * + */ +function inc_object_to_array( $object ) { + if( !is_object( $object ) && !is_array( $object ) ) { + return $object; + } + if( is_object( $object ) ) { + $object = get_object_vars( $object ); + } + return array_map( 'inc_object_to_array', $object ); } /** @@ -535,7 +553,7 @@ function inc_yql_to_array_dist($u) { throw new Exception('YQL: réponse vide ou mal formée'); return false; } - return (array) $w; + return inc_object_to_array($w); } /** @@ -679,7 +697,7 @@ function inc_ls_to_array_dist($u) { * @param Object $object * @return array|bool */ -function ObjectToArray($object){ +function XMLObjectToArray($object){ $xml_array = array(); for( $object->rewind(); $object->valid(); $object->next() ) { if(array_key_exists($key = $object->key(), $xml_array)){ @@ -690,7 +708,7 @@ function ObjectToArray($object){ foreach($vars['@attributes'] as $k => $v) $xml_array[$key][$k] = $v; if($object->hasChildren()){ - $xml_array[$key][] = ObjectToArray( + $xml_array[$key][] = XMLObjectToArray( $object->current()); } else{