public function ServiceAuditFilesMergeFileReferences::auditfilesMergeFileReferencesGetFileList in Audit Files 8.3
Same name and namespace in other branches
- 8.2 src/ServiceAuditFilesMergeFileReferences.php \Drupal\auditfiles\ServiceAuditFilesMergeFileReferences::auditfilesMergeFileReferencesGetFileList()
Retrieves the file IDs to operate on.
Return value
array The file IDs.
File
- src/
ServiceAuditFilesMergeFileReferences.php, line 82
Class
- ServiceAuditFilesMergeFileReferences
- Define all methods that used in merge file references functionality.
Namespace
Drupal\auditfilesCode
public function auditfilesMergeFileReferencesGetFileList() {
$config = $this->configFactory
->get('auditfiles.settings');
$connection = $this->connection;
$maximum_records = $config
->get('auditfiles_report_options_maximum_records');
$result_set = [];
$query = $connection
->select('file_managed', 'fm')
->fields('fm', [
'fid',
'filename',
])
->orderBy('filename', 'ASC');
if ($maximum_records > 0) {
$query
->range(0, $maximum_records);
}
$files = $query
->execute()
->fetchAllKeyed();
$show_single_file_names = $config
->get('auditfiles_merge_file_references_show_single_file_names') ? $config
->get('auditfiles_merge_file_references_show_single_file_names') : 0;
foreach ($files as $file_id => $file_name) {
if ($show_single_file_names) {
$result_set[] = $file_name;
}
else {
$query2 = 'SELECT COUNT(fid) count FROM {file_managed} WHERE filename = :filename AND fid != :fid';
$results2 = $connection
->query($query2, [
':filename' => $file_name,
':fid' => $file_id,
])
->fetchField();
if ($results2 > 0) {
$result_set[] = $file_name;
}
}
}
return array_unique($result_set);
}