Skip to content

Commit

Permalink
Merge branch 'MDL-77791_400' of https://github.com/dvdcastro/moodle i…
Browse files Browse the repository at this point in the history
…nto MOODLE_400_STABLE
  • Loading branch information
sarjona committed May 2, 2023
2 parents e4134fa + 38a7817 commit 2720d9a
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 22 deletions.
28 changes: 23 additions & 5 deletions mod/data/classes/search/entry.php
Expand Up @@ -237,12 +237,30 @@ public function attach_files($doc) {
$cm = $this->get_cm('data', $entry->dataid, $doc->get('courseid'));
$context = \context_module::instance($cm->id);

// Get the files and attach them.
$fs = get_file_storage();
$files = $fs->get_area_files($context->id, 'mod_data', 'content', $entryid, 'filename', false);
foreach ($files as $file) {
$doc->add_stored_file($file);
// Get all content fields which have files in them.
$contentssql = "
SELECT con.*
FROM {data_content} con
JOIN {files} fil
ON fil.component = :component
AND fil.filearea = :filearea
AND fil.itemid = con.id
WHERE con.recordid = :recordid
";
$contents = $DB->get_recordset_sql($contentssql, [
'recordid' => $entryid,
'component' => 'mod_data',
'filearea' => 'content',
]);
foreach ($contents as $content) {
// Get the files and attach them.
$fs = get_file_storage();
$files = $fs->get_area_files($context->id, 'mod_data', 'content', $content->id, 'filename', false);
foreach ($files as $file) {
$doc->add_stored_file($file);
}
}
$contents->close();
}

/**
Expand Down
34 changes: 17 additions & 17 deletions mod/data/tests/search/search_test.php
Expand Up @@ -923,22 +923,22 @@ public function test_attach_files() {

$data1record1id = $DB->insert_record('data_records', $record);

$filerecord = array(
'contextid' => \context_module::instance($data1->cmid)->id,
'component' => 'mod_data',
'filearea' => 'content',
'itemid' => $data1record1id,
'filepath' => '/',
'filename' => 'myfile1.txt'
);

$data1record1file = $fs->create_file_from_string($filerecord, 'Some contents 1');

$record = new \stdClass;
$record->fieldid = $data1filefieldid;
$record->recordid = $data1record1id;
$record->content = 'myfile1.txt';
$DB->insert_record('data_content', $record);
$data1contentfileid1 = $DB->insert_record('data_content', $record);

$filerecord = [
'contextid' => \context_module::instance($data1->cmid)->id,
'component' => 'mod_data',
'filearea' => 'content',
'itemid' => $data1contentfileid1,
'filepath' => '/',
'filename' => 'myfile1.txt'
];

$data1record1file = $fs->create_file_from_string($filerecord, 'Some contents 1');

$record = new \stdClass;
$record->fieldid = $data1textfieldid;
Expand All @@ -960,15 +960,15 @@ public function test_attach_files() {
$record->groupid = 0;
$data1record2id = $DB->insert_record('data_records', $record);

$filerecord['itemid'] = $data1record2id;
$filerecord['filename'] = 'myfile2.txt';
$data1record2file = $fs->create_file_from_string($filerecord, 'Some contents 2');

$record = new \stdClass;
$record->fieldid = $data1filefieldid;
$record->recordid = $data1record2id;
$record->content = 'myfile2.txt';
$DB->insert_record('data_content', $record);
$data1contentfileid2 = $DB->insert_record('data_content', $record);

$filerecord['itemid'] = $data1contentfileid2;
$filerecord['filename'] = 'myfile2.txt';
$data1record2file = $fs->create_file_from_string($filerecord, 'Some contents 2');

$record = new \stdClass;
$record->fieldid = $data1textfieldid;
Expand Down

0 comments on commit 2720d9a

Please sign in to comment.