original_string: public function search($search_text, $page = 0) {
          global $SESSION;
          $sort = optional_param('youtube_sort', '', PARAM_TEXT);
          $sess_keyword = 'youtube_'.$this->id.'_keyword';
          $sess_sort = 'youtube_'.$this->id.'_sort';
  
          // This is the request of another page for the last search, retrieve the cached keyword and sort
          if ($page && !$search_text && isset($SESSION->{$sess_keyword})) {
              $search_text = $SESSION->{$sess_keyword};
          }
          if ($page && !$sort && isset($SESSION->{$sess_sort})) {
              $sort = $SESSION->{$sess_sort};
          }
          if (!$sort) {
              $sort = 'relevance'; // default
          }
  
          // Save this search in session
          $SESSION->{$sess_keyword} = $search_text;
          $SESSION->{$sess_sort} = $sort;
  
          $this->keyword = $search_text;
          $ret  = array();
          $ret['nologin'] = true;
          $ret['page'] = (int)$page;
          if ($ret['page'] < 1) {
              $ret['page'] = 1;
          }
          $start = ($ret['page'] - 1) * self::YOUTUBE_THUMBS_PER_PAGE + 1;
          $max = self::YOUTUBE_THUMBS_PER_PAGE;
          $ret['list'] = $this->_get_collection($search_text, $start, $max, $sort);
          $ret['norefresh'] = true;
          $ret['nosearch'] = true;
          // If the number of results is smaller than $max, it means we reached the last page.
          $ret['pages'] = (count($ret['list']) < $max) ? $ret['page'] : -1;
          return $ret;
      }
code: public function search($search_text, $page = 0) {
          global $SESSION;
          $sort = optional_param('youtube_sort', '', PARAM_TEXT);
          $sess_keyword = 'youtube_'.$this->id.'_keyword';
          $sess_sort = 'youtube_'.$this->id.'_sort';
  
          // This is the request of another page for the last search, retrieve the cached keyword and sort
          if ($page && !$search_text && isset($SESSION->{$sess_keyword})) {
              $search_text = $SESSION->{$sess_keyword};
          }
          if ($page && !$sort && isset($SESSION->{$sess_sort})) {
              $sort = $SESSION->{$sess_sort};
          }
          if (!$sort) {
              $sort = 'relevance'; // default
          }
  
          // Save this search in session
          $SESSION->{$sess_keyword} = $search_text;
          $SESSION->{$sess_sort} = $sort;
  
          $this->keyword = $search_text;
          $ret  = array();
          $ret['nologin'] = true;
          $ret['page'] = (int)$page;
          if ($ret['page'] < 1) {
              $ret['page'] = 1;
          }
          $start = ($ret['page'] - 1) * self::YOUTUBE_THUMBS_PER_PAGE + 1;
          $max = self::YOUTUBE_THUMBS_PER_PAGE;
          $ret['list'] = $this->_get_collection($search_text, $start, $max, $sort);
          $ret['norefresh'] = true;
          $ret['nosearch'] = true;
          // If the number of results is smaller than $max, it means we reached the last page.
          $ret['pages'] = (count($ret['list']) < $max) ? $ret['page'] : -1;
          return $ret;
      }
code_tokens: public function search ( $ search_text , $ page = 0 ) { global $ SESSION ; $ sort = optional_param ( 'youtube_sort' , '' , PARAM_TEXT ) ; $ sess_keyword = 'youtube_' . $ this -> id . '_keyword' ; $ sess_sort = 'youtube_' . $ this -> id . '_sort' ; // This is the request of another page for the last search, retrieve the cached keyword and sort if ( $ page && ! $ search_text && isset ( $ SESSION -> { $ sess_keyword } ) ) { $ search_text = $ SESSION -> { $ sess_keyword } ; } if ( $ page && ! $ sort && isset ( $ SESSION -> { $ sess_sort } ) ) { $ sort = $ SESSION -> { $ sess_sort } ; } if ( ! $ sort ) { $ sort = 'relevance' ; // default } // Save this search in session $ SESSION -> { $ sess_keyword } = $ search_text ; $ SESSION -> { $ sess_sort } = $ sort ; $ this -> keyword = $ search_text ; $ ret = array ( ) ; $ ret [ 'nologin' ] = true ; $ ret [ 'page' ] = ( int ) $ page ; if ( $ ret [ 'page' ] < 1 ) { $ ret [ 'page' ] = 1 ; } $ start = ( $ ret [ 'page' ] - 1 ) * self :: YOUTUBE_THUMBS_PER_PAGE + 1 ; $ max = self :: YOUTUBE_THUMBS_PER_PAGE ; $ ret [ 'list' ] = $ this -> _get_collection ( $ search_text , $ start , $ max , $ sort ) ; $ ret [ 'norefresh' ] = true ; $ ret [ 'nosearch' ] = true ; // If the number of results is smaller than $max, it means we reached the last page. $ ret [ 'pages' ] = ( count ( $ ret [ 'list' ] ) < $ max ) ? $ ret [ 'page' ] : - 1 ; return $ ret ; }
docstring: Return search results
  @param string $search_text
  @return array
docstring_tokens: Return search results