function getExportable($contextId, $pubIdType = null, $title = null, $author = null, $issueId = null, $pubIdSettingName = null, $pubIdSettingValue = null, $rangeInfo = null)
{
$params = array();
if ($pubIdSettingName) {
$params[] = $pubIdSettingName;
}
$params[] = (int) $contextId;
if ($pubIdType) {
$params[] = 'pub-id::' . $pubIdType;
}
if ($title) {
$params[] = 'title';
$params[] = AppLocale::getLocale();
$params[] = '%' . $title . '%';
}
if ($author) {
array_push($params, $authorQuery = '%' . $author . '%', $authorQuery, $authorQuery);
}
if ($issueId) {
$params[] = (int) $issueId;
}
import('classes.plugins.PubObjectsExportPlugin');
if ($pubIdSettingName && $pubIdSettingValue && $pubIdSettingValue != EXPORT_STATUS_NOT_DEPOSITED) {
$params[] = $pubIdSettingValue;
}
$result = $this->retrieveRange('SELECT sf.*, g.*
FROM submission_galleys g
JOIN submissions s ON (s.submission_id = g.submission_id)
LEFT JOIN published_submissions ps ON (ps.submission_id = g.submission_id)
JOIN issues i ON (ps.issue_id = i.issue_id)
LEFT JOIN submission_files sf ON (g.file_id = sf.file_id)
LEFT JOIN submission_files nsf ON (nsf.file_id = g.file_id AND nsf.revision > sf.revision AND nsf.file_id IS NULL )
' . ($pubIdType != null ? ' LEFT JOIN submission_galley_settings gs ON (g.galley_id = gs.galley_id)' : '') . ($title != null ? ' LEFT JOIN submission_settings sst ON (s.submission_id = sst.submission_id)' : '') . ($author != null ? ' LEFT JOIN authors au ON (s.submission_id = au.submission_id)' : '') . ($pubIdSettingName != null ? ' LEFT JOIN submission_galley_settings gss ON (g.galley_id = gss.galley_id AND gss.setting_name = ?)' : '') . '
WHERE
i.published = 1 AND s.context_id = ?
' . ($pubIdType != null ? ' AND gs.setting_name = ? AND gs.setting_value IS NOT NULL' : '') . ($title != null ? ' AND (sst.setting_name = ? AND sst.locale = ? AND sst.setting_value LIKE ?)' : '') . ($author != null ? ' AND (au.first_name LIKE ? OR au.middle_name LIKE ? OR au.last_name LIKE ?)' : '') . ($issueId != null ? ' AND ps.issue_id = ?' : '') . ($pubIdSettingName != null && $pubIdSettingValue != null && $pubIdSettingValue == EXPORT_STATUS_NOT_DEPOSITED ? ' AND gss.setting_value IS NULL' : '') . ($pubIdSettingName != null && $pubIdSettingValue != null && $pubIdSettingValue != EXPORT_STATUS_NOT_DEPOSITED ? ' AND gss.setting_value = ?' : '') . ($pubIdSettingName != null && is_null($pubIdSettingValue) ? ' AND (gss.setting_value IS NULL OR gss.setting_value = \'\')' : '') . '
ORDER BY ps.date_published DESC, s.submission_id DESC, g.galley_id DESC', $params, $rangeInfo);
return new DAOResultFactory($result, $this, '_fromRow');
}