|
|
- <?php
- namespace Telegraph;
- use ORM, Exception, Mf2;
-
- class ProfileFetcher {
-
- public static function fetch($id) {
- initdb();
-
- // Fetch the user's home page and look for profile information there
- $user = ORM::for_table('users')->where_id_is($id)->find_one();
- echo "Looking for representative h-card for ".$user->url."\n";
-
- $client = new HTTP();
- $data = $client->get($user->url);
- $parsed = Mf2\parse($data['body'], $user->url);
- $representative = Mf2\HCard\representative($parsed, $user->url);
- if($representative) {
- echo "Found it!\n";
- print_r($representative);
- if(array_key_exists('name', $representative['properties'])) {
- $user->name = $representative['properties']['name'][0];
- }
- if(array_key_exists('photo', $representative['properties'])) {
- $user->photo = $representative['properties']['photo'][0];
- }
- $user->save();
- } else {
- echo "Couldn't find one\n";
- }
- }
-
- }
|