/**
  * Load information about the given photo from Flickr
  *
  * @param FlickrRequest $request existing Flickr request if you would like to reuse
  * @return FlickrRequest Flickr request object for reuse
  */
 private function load_info($request = null)
 {
     if (is_null($request)) {
         $request = new FlickrRequest();
     }
     $photo = $request->get_photo_info($this->id);
     if (is_wp_error($photo) || empty($photo)) {
         return $photo;
     }
     if (isset($photo->owner)) {
         $owner = array('id' => $photo->owner->nsid);
         if (isset($photo->owner->username)) {
             $owner['username'] = $photo->owner->username;
         }
         if (isset($photo->owner->realname)) {
             $owner['name'] = $photo->owner->realname;
         }
         $this->owner = $owner;
         unset($owner);
     }
     if (isset($photo->title) && isset($photo->title->_content) && !empty($photo->title->_content)) {
         $this->title = trim($photo->title->_content);
     }
     if (isset($photo->description) && isset($photo->description->_content) && !empty($photo->description->_content)) {
         $this->description = trim($photo->description->_content);
     }
     if (isset($photo->urls) && isset($photo->urls->url) && is_array($photo->urls->url)) {
         foreach ($photo->urls->url as $url) {
             if (isset($url->type) && $url->type === 'photopage' && isset($url->_content)) {
                 $this->url = esc_url_raw($url->_content, array('http', 'https'));
                 break;
             }
         }
     }
     unset($photo);
     return $request;
 }