Ejemplo n.º 1
0
 private function import_contact($user, $source = 'qaiku')
 {
     static $cached_contacts = array();
     if (!isset($cached_contacts[$source])) {
         $cached_contacts[$source] = array();
     }
     if (isset($cached_contacts[$source][$user->screen_name])) {
         return $cached_contacts[$source][$user->screen_name];
     }
     $qb = new midgard_query_builder('net_nemein_avaudu_contact');
     $qb->add_constraint("{$source}nick", '=', $user->screen_name);
     $contacts = $qb->execute();
     if (count($contacts) > 0) {
         // We already know this contact
         $cached_contacts[$source][$user->screen_name] = $contacts[0]->id;
         return $cached_contacts[$source][$user->screen_name];
         // TODO: Update?
     }
     $contact = new net_nemein_avaudu_contact();
     $contact->name = $user->name;
     $contact->avatar = $user->profile_image_url;
     $nickfield = "{$source}nick";
     $contact->{$nickfield} = $user->screen_name;
     $idfield = "{$source}id";
     $contact->{$idfield} = $user->id;
     $contact->create();
     $cached_contacts[$source][$user->screen_name] = $contact->id;
     return $cached_contacts[$source][$user->screen_name];
 }