original_string: protected function render_items($videosdata) {
  
          if (!$videosdata || empty($videosdata->items)) {
              if (!empty($videosdata->error)) {
                  debugging('Error fetching data from youtube: ' . $videosdata->error->message, DEBUG_DEVELOPER);
              }
              return '';
          }
  
          // If we reach that point we already know that the API key is set.
          $service = $this->get_service();
  
          $text = html_writer::start_tag('ul', array('class' => 'yt-video-entry unlist img-text'));
          foreach ($videosdata->items as $video) {
  
              // Link to the video included in the playlist if listing a playlist.
              if (!empty($video->snippet->resourceId)) {
                  $id = $video->snippet->resourceId->videoId;
                  $playlist = '&list=' . $video->snippet->playlistId;
              } else {
                  $id = $video->id->videoId;
                  $playlist = '';
              }
  
              $thumbnail = $video->snippet->getThumbnails()->getDefault();
              $url = 'http://www.youtube.com/watch?v=' . $id . $playlist;
  
              $videodetails = $service->videos->listVideos('id,contentDetails', array('id' => $id));
              if ($videodetails && !empty($videodetails->items)) {
  
                  // We fetch by id so we just use the first one.
                  $details = $videodetails->items[0];
                  $start = new DateTime('@0');
                  $start->add(new DateInterval($details->contentDetails->duration));
                  $seconds = $start->format('U');
              }
  
              $text .= html_writer::start_tag('li');
  
              $imgattrs = array('class' => 'youtube-thumb', 'src' => $thumbnail->url, 'alt' => $video->snippet->title);
              $thumbhtml = html_writer::empty_tag('img', $imgattrs);
              $link = html_writer::tag('a', $thumbhtml, array('href' => $url));
              $text .= html_writer::tag('div', $link, array('class' => 'clearfix'));
  
              $text .= html_writer::tag('span', html_writer::tag('a', $video->snippet->title, array('href' => $url)));
  
              if (!empty($seconds)) {
                  $text .= html_writer::tag('div', format_time($seconds));
              }
              $text .= html_writer::end_tag('li');
          }
          $text .= html_writer::end_tag('ul');
  
          return $text;
      }
code: protected function render_items($videosdata) {
  
          if (!$videosdata || empty($videosdata->items)) {
              if (!empty($videosdata->error)) {
                  debugging('Error fetching data from youtube: ' . $videosdata->error->message, DEBUG_DEVELOPER);
              }
              return '';
          }
  
          // If we reach that point we already know that the API key is set.
          $service = $this->get_service();
  
          $text = html_writer::start_tag('ul', array('class' => 'yt-video-entry unlist img-text'));
          foreach ($videosdata->items as $video) {
  
              // Link to the video included in the playlist if listing a playlist.
              if (!empty($video->snippet->resourceId)) {
                  $id = $video->snippet->resourceId->videoId;
                  $playlist = '&list=' . $video->snippet->playlistId;
              } else {
                  $id = $video->id->videoId;
                  $playlist = '';
              }
  
              $thumbnail = $video->snippet->getThumbnails()->getDefault();
              $url = 'http://www.youtube.com/watch?v=' . $id . $playlist;
  
              $videodetails = $service->videos->listVideos('id,contentDetails', array('id' => $id));
              if ($videodetails && !empty($videodetails->items)) {
  
                  // We fetch by id so we just use the first one.
                  $details = $videodetails->items[0];
                  $start = new DateTime('@0');
                  $start->add(new DateInterval($details->contentDetails->duration));
                  $seconds = $start->format('U');
              }
  
              $text .= html_writer::start_tag('li');
  
              $imgattrs = array('class' => 'youtube-thumb', 'src' => $thumbnail->url, 'alt' => $video->snippet->title);
              $thumbhtml = html_writer::empty_tag('img', $imgattrs);
              $link = html_writer::tag('a', $thumbhtml, array('href' => $url));
              $text .= html_writer::tag('div', $link, array('class' => 'clearfix'));
  
              $text .= html_writer::tag('span', html_writer::tag('a', $video->snippet->title, array('href' => $url)));
  
              if (!empty($seconds)) {
                  $text .= html_writer::tag('div', format_time($seconds));
              }
              $text .= html_writer::end_tag('li');
          }
          $text .= html_writer::end_tag('ul');
  
          return $text;
      }
code_tokens: protected function render_items ( $ videosdata ) { if ( ! $ videosdata || empty ( $ videosdata -> items ) ) { if ( ! empty ( $ videosdata -> error ) ) { debugging ( 'Error fetching data from youtube: ' . $ videosdata -> error -> message , DEBUG_DEVELOPER ) ; } return '' ; } // If we reach that point we already know that the API key is set. $ service = $ this -> get_service ( ) ; $ text = html_writer :: start_tag ( 'ul' , array ( 'class' => 'yt-video-entry unlist img-text' ) ) ; foreach ( $ videosdata -> items as $ video ) { // Link to the video included in the playlist if listing a playlist. if ( ! empty ( $ video -> snippet -> resourceId ) ) { $ id = $ video -> snippet -> resourceId -> videoId ; $ playlist = '&list=' . $ video -> snippet -> playlistId ; } else { $ id = $ video -> id -> videoId ; $ playlist = '' ; } $ thumbnail = $ video -> snippet -> getThumbnails ( ) -> getDefault ( ) ; $ url = 'http://www.youtube.com/watch?v=' . $ id . $ playlist ; $ videodetails = $ service -> videos -> listVideos ( 'id,contentDetails' , array ( 'id' => $ id ) ) ; if ( $ videodetails && ! empty ( $ videodetails -> items ) ) { // We fetch by id so we just use the first one. $ details = $ videodetails -> items [ 0 ] ; $ start = new DateTime ( '@0' ) ; $ start -> add ( new DateInterval ( $ details -> contentDetails -> duration ) ) ; $ seconds = $ start -> format ( 'U' ) ; } $ text .= html_writer :: start_tag ( 'li' ) ; $ imgattrs = array ( 'class' => 'youtube-thumb' , 'src' => $ thumbnail -> url , 'alt' => $ video -> snippet -> title ) ; $ thumbhtml = html_writer :: empty_tag ( 'img' , $ imgattrs ) ; $ link = html_writer :: tag ( 'a' , $ thumbhtml , array ( 'href' => $ url ) ) ; $ text .= html_writer :: tag ( 'div' , $ link , array ( 'class' => 'clearfix' ) ) ; $ text .= html_writer :: tag ( 'span' , html_writer :: tag ( 'a' , $ video -> snippet -> title , array ( 'href' => $ url ) ) ) ; if ( ! empty ( $ seconds ) ) { $ text .= html_writer :: tag ( 'div' , format_time ( $ seconds ) ) ; } $ text .= html_writer :: end_tag ( 'li' ) ; } $ text .= html_writer :: end_tag ( 'ul' ) ; return $ text ; }
docstring: Renders the list of items.
  
  @param array $videosdata
  @return string HTML
docstring_tokens: Renders the list of items .