original_string: public function get_document_recordset($modifiedfrom = 0, \context $context = null) {
          global $DB;
  
          // Get context restrictions.
          list ($contextjoin, $contextparams) = $this->get_context_restriction_sql($context, 'bi');
  
          // Get custom restrictions for block type.
          list ($restrictions, $restrictionparams) = $this->get_indexing_restrictions();
          if ($restrictions) {
              $restrictions = 'AND ' . $restrictions;
          }
  
          // Query for all entries in block_instances for this type of block, within the specified
          // context. The query is based on the one from get_recordset_by_timestamp and applies the
          // same restrictions.
          return $DB->get_recordset_sql("
                  SELECT bi.id, bi.timemodified, bi.timecreated, bi.configdata,
                         c.id AS courseid, x.id AS contextid
                    FROM {block_instances} bi
                         $contextjoin
                    JOIN {context} x ON x.instanceid = bi.id AND x.contextlevel = ?
                    JOIN {context} parent ON parent.id = bi.parentcontextid
               LEFT JOIN {course_modules} cm ON cm.id = parent.instanceid AND parent.contextlevel = ?
                    JOIN {course} c ON c.id = cm.course
                         OR (c.id = parent.instanceid AND parent.contextlevel = ?)
                   WHERE bi.timemodified >= ?
                         AND bi.blockname = ?
                         AND (parent.contextlevel = ? AND (" . $DB->sql_like('bi.pagetypepattern', '?') . "
                             OR bi.pagetypepattern IN ('site-index', 'course-*', '*')))
                         $restrictions
                ORDER BY bi.timemodified ASC",
                  array_merge($contextparams, [CONTEXT_BLOCK, CONTEXT_MODULE, CONTEXT_COURSE,
                      $modifiedfrom, $this->get_block_name(), CONTEXT_COURSE, 'course-view-%'],
                  $restrictionparams));
      }
code: public function get_document_recordset($modifiedfrom = 0, \context $context = null) {
          global $DB;
  
          // Get context restrictions.
          list ($contextjoin, $contextparams) = $this->get_context_restriction_sql($context, 'bi');
  
          // Get custom restrictions for block type.
          list ($restrictions, $restrictionparams) = $this->get_indexing_restrictions();
          if ($restrictions) {
              $restrictions = 'AND ' . $restrictions;
          }
  
          // Query for all entries in block_instances for this type of block, within the specified
          // context. The query is based on the one from get_recordset_by_timestamp and applies the
          // same restrictions.
          return $DB->get_recordset_sql("
                  SELECT bi.id, bi.timemodified, bi.timecreated, bi.configdata,
                         c.id AS courseid, x.id AS contextid
                    FROM {block_instances} bi
                         $contextjoin
                    JOIN {context} x ON x.instanceid = bi.id AND x.contextlevel = ?
                    JOIN {context} parent ON parent.id = bi.parentcontextid
               LEFT JOIN {course_modules} cm ON cm.id = parent.instanceid AND parent.contextlevel = ?
                    JOIN {course} c ON c.id = cm.course
                         OR (c.id = parent.instanceid AND parent.contextlevel = ?)
                   WHERE bi.timemodified >= ?
                         AND bi.blockname = ?
                         AND (parent.contextlevel = ? AND (" . $DB->sql_like('bi.pagetypepattern', '?') . "
                             OR bi.pagetypepattern IN ('site-index', 'course-*', '*')))
                         $restrictions
                ORDER BY bi.timemodified ASC",
                  array_merge($contextparams, [CONTEXT_BLOCK, CONTEXT_MODULE, CONTEXT_COURSE,
                      $modifiedfrom, $this->get_block_name(), CONTEXT_COURSE, 'course-view-%'],
                  $restrictionparams));
      }
code_tokens: public function get_document_recordset ( $ modifiedfrom = 0 , \ context $ context = null ) { global $ DB ; // Get context restrictions. list ( $ contextjoin , $ contextparams ) = $ this -> get_context_restriction_sql ( $ context , 'bi' ) ; // Get custom restrictions for block type. list ( $ restrictions , $ restrictionparams ) = $ this -> get_indexing_restrictions ( ) ; if ( $ restrictions ) { $ restrictions = 'AND ' . $ restrictions ; } // Query for all entries in block_instances for this type of block, within the specified // context. The query is based on the one from get_recordset_by_timestamp and applies the // same restrictions. return $ DB -> get_recordset_sql ( "
                  SELECT bi.id, bi.timemodified, bi.timecreated, bi.configdata,
                         c.id AS courseid, x.id AS contextid
                    FROM {block_instances} bi
                         $contextjoin
                    JOIN {context} x ON x.instanceid = bi.id AND x.contextlevel = ?
                    JOIN {context} parent ON parent.id = bi.parentcontextid
               LEFT JOIN {course_modules} cm ON cm.id = parent.instanceid AND parent.contextlevel = ?
                    JOIN {course} c ON c.id = cm.course
                         OR (c.id = parent.instanceid AND parent.contextlevel = ?)
                   WHERE bi.timemodified >= ?
                         AND bi.blockname = ?
                         AND (parent.contextlevel = ? AND (" . $ DB -> sql_like ( 'bi.pagetypepattern' , '?' ) . "
                             OR bi.pagetypepattern IN ('site-index', 'course-*', '*')))
                         $restrictions
                ORDER BY bi.timemodified ASC" , array_merge ( $ contextparams , [ CONTEXT_BLOCK , CONTEXT_MODULE , CONTEXT_COURSE , $ modifiedfrom , $ this -> get_block_name ( ) , CONTEXT_COURSE , 'course-view-%' ] , $ restrictionparams ) ) ; }
docstring: Gets recordset of all blocks of this type modified since given time within the given context.
  
  See base class for detailed requirements. This implementation includes the key fields
  from block_instances.
  
  This can be overridden to do something totally different if the block's data is stored in
  other tables.
  
  If there are certain instances of the block which should not be included in the search index
  then you can override get_indexing_restrictions; by default this excludes rows with empty
  configdata.
  
  @param int $modifiedfrom Return only records modified after this date
  @param \context|null $context Context to find blocks within
  @return false|\moodle_recordset|null
docstring_tokens: Gets recordset of all blocks of this type modified since given time within the given context .