1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-21 14:02:59 +02:00

Add support for '_custom=...' selector to ProcessPagesExportImport module

This commit is contained in:
Ryan Cramer
2022-05-10 08:27:04 -04:00
parent bf80df04e9
commit 1523eba59c

View File

@@ -1049,6 +1049,8 @@ class ProcessPagesExportImport extends Process {
$exportFields = $tab->getChildByName('export_fields')->val(); $exportFields = $tab->getChildByName('export_fields')->val();
$exportTo = $input->post('submit_export') === 'zip' ? 'zip' : 'json'; $exportTo = $input->post('submit_export') === 'zip' ? 'zip' : 'json';
$findOptions = array('allowCustom' => true);
// @todo security and access control // @todo security and access control
// @todo paginate large sets // @todo paginate large sets
@@ -1070,7 +1072,8 @@ class ProcessPagesExportImport extends Process {
$includeMode = 'include=hidden'; $includeMode = 'include=hidden';
} }
if(in_array('recursive', $exportOptions)) { if(in_array('recursive', $exportOptions)) {
$exportPages = $pages->find("has_parent=$parentID" . ($includeMode ? ", $includeMode" : "")); $exportSelector = "has_parent=$parentID" . ($includeMode ? ", $includeMode" : "");
$exportPages = $pages->find($exportSelector, $findOptions);
} else { } else {
$exportPages = $exportParent->children($includeMode); $exportPages = $exportParent->children($includeMode);
} }
@@ -1080,7 +1083,7 @@ class ProcessPagesExportImport extends Process {
break; break;
case 'selector': case 'selector':
$exportSelector = $tab->getChildByName('pages_selector')->val(); $exportSelector = $tab->getChildByName('pages_selector')->val();
$exportPages = $pages->find($exportSelector); $exportPages = $pages->find($exportSelector, $findOptions);
break; break;
default: default:
$exportPages = new PageArray(); $exportPages = new PageArray();