$last_mod, ); } $data = mv_id_plugin::curl( $url, $curl_opts ); if($data === true) { return true; } $temp = tempnam(sys_get_temp_dir(),'ryzom'); file_put_contents($temp,$data); $data = implode("\n",gzfile($temp)); unlink($temp); if((($XML = mv_id_plugin::SimpleXML($data)) instanceof SimpleXMLElement) === false) { return false; } else { $data = array(); $data['name'] = mv_id_plugin::XPath($XML,'./name'); $data['shard'] = mv_id_plugin::XPath($XML,'./shard'); $data['race'] = mv_id_plugin::XPath($XML,'./race'); $data['gender'] = mv_id_plugin::XPath($XML,'./gender'); $data['title'] = mv_id_plugin::XPath($XML,'./titleid'); $data['logout'] = mv_id_plugin::XPath($XML,'./latest_logout'); $gender = array('f'=>'female','m'=>'male'); if(in_array(false,$data) === true) { return false; } else { foreach($data as $k=>$v) { $data[$k] = (string)current($v); } } $data['gender'] = $gender[$data['gender']]; $description = sprintf(__('%5$s %1$s is a %4$s %3$s, who was last seen in the %2$s shard on %6$s.', 'mv-id-ryzom'),$data['name'],$data['shard'],$data['race'],$data['gender'],$data['title'],date('l jS, F Y',$data['logout'])); $data['guild'] = mv_id_plugin::XPath($XML,'./guild'); if($data['guild'] === false) { $data['guild'] = null; } else { $data['guild'] = array(new mv_id_vcard_affiliation((string)current(mv_id_plugin::XPath($XML,'./guild/name')),false,sprintf('http://atys.ryzom.com/api/guild_icon.php?icon=%1$s&size=s',(string)current(mv_id_plugin::XPath($XML,'./guild/gid'))))); } return new self($id,$data['name'],null,$description,null,null,$data['guild']); } } } } $plugin_dir = basename(dirname(__FILE__)); load_plugin_textdomain( 'mv-id-ryzom', '', $plugin_dir); add_action('mv_id_plugin__register_metaverses','mv_id_vcard_ryzom::register_metaverse'); ?>