select('files', 'f') ->fields('f') ->orderBy('timestamp') // If two or more files have the same timestamp, they'll end up in a // non-deterministic order. Ordering by fid (or any other unique field) // will prevent this. ->orderBy('f.fid'); } /** * {@inheritdoc} */ protected function initializeIterator() { $site_path = isset($this->configuration['site_path']) ? $this->configuration['site_path'] : 'sites/default'; // $filepath = $this->variableGet('file_directory_path', $site_path . '/files') . '/'; // $filepath = str_replace('//', '/', $filepath); // drush_print('filepath : '.$filepath); $this->filePath = $this->variableGet('file_directory_path', $site_path . '/files') . '/'; $this->tempFilePath = $this->variableGet('file_directory_temp', '/tmp') . '/'; // FILE_DOWNLOADS_PUBLIC == 1 and FILE_DOWNLOADS_PRIVATE == 2. $this->isPublic = $this->variableGet('file_downloads', 1) == 1; return parent::initializeIterator(); } /** * {@inheritdoc} */ public function prepareRow(Row $row) { drush_print("D6EdlpFile"); // drush_print_r($row); $filepath = $row->getSourceProperty('filepath'); $filepath = str_replace('//', '/', $filepath); $filepath = preg_replace('/^\//', '', $filepath); drush_print('filePath : '.$filepath); $row->setSourceProperty('filepath', $filepath); $row->setSourceProperty('file_directory_path', $this->filePath); $row->setSourceProperty('temp_directory_path', $this->tempFilePath); $row->setSourceProperty('is_public', $this->isPublic); return parent::prepareRow($row); } /** * {@inheritdoc} */ public function fields() { return [ 'fid' => $this->t('File ID'), 'uid' => $this->t('The {users}.uid who added the file. If set to 0, this file was added by an anonymous user.'), 'filename' => $this->t('File name'), 'filepath' => $this->t('File path'), 'filemime' => $this->t('File MIME Type'), 'status' => $this->t('The published status of a file.'), 'timestamp' => $this->t('The time that the file was added.'), 'file_directory_path' => $this->t('The Drupal files path.'), 'is_public' => $this->t('TRUE if the files directory is public otherwise FALSE.'), ]; } /** * {@inheritdoc} */ public function getIds() { $ids['fid']['type'] = 'integer'; return $ids; } }