@@ -26,7 +26,7 @@ function bootstrap() {
26
26
define ( 'S3_UPLOADS_BUCKET_URL ' , getenv ( 'S3_UPLOADS_BUCKET_URL ' ) );
27
27
28
28
add_filter ( 's3_uploads_s3_client_params ' , function ( $ params ) {
29
- if ( defined ( 'S3_UPLOADS_ENDPOINT ' ) ) {
29
+ if ( defined ( 'S3_UPLOADS_ENDPOINT ' ) && S3_UPLOADS_ENDPOINT ) {
30
30
$ params ['endpoint ' ] = S3_UPLOADS_ENDPOINT ;
31
31
}
32
32
return $ params ;
@@ -83,6 +83,10 @@ function bootstrap() {
83
83
}
84
84
85
85
add_filter ( 'qm/output/file_path_map ' , __NAMESPACE__ . '\\set_file_path_map ' , 1 );
86
+
87
+ // Filter ES package IDs for local.
88
+ add_filter ( 'altis.search.packages_dir ' , __NAMESPACE__ . '\\set_search_packages_dir ' );
89
+ add_filter ( 'altis.search.create_package_id ' , __NAMESPACE__ . '\\set_search_package_id ' , 10 , 3 );
86
90
}
87
91
88
92
/**
@@ -122,3 +126,27 @@ function tools_submenus() {
122
126
add_management_page ( $ link ['label ' ], $ link ['label ' ], 'manage_options ' , $ link ['url ' ] );
123
127
}
124
128
}
129
+
130
+ /**
131
+ * Override Elasticsearch package storage location to es-packages volume.
132
+ *
133
+ * This directory is shared with the Elasticsearch container.
134
+ *
135
+ * @return string
136
+ */
137
+ function set_search_packages_dir () : string {
138
+ return sprintf ( 's3://%s/uploads/es-packages ' , S3_UPLOADS_BUCKET );
139
+ }
140
+
141
+ /**
142
+ * Override the derived ES package file name for local server.
143
+ *
144
+ * @param string|null $id The package ID used for the file path in ES.
145
+ * @param string $slug The package slug.
146
+ * @param string $file The package file path on S3.
147
+ * @return string|null
148
+ */
149
+ function set_search_package_id ( $ id , string $ slug , string $ file ) : ?string {
150
+ $ id = sprintf ( 'packages/%s ' , basename ( $ file ) );
151
+ return $ id ;
152
+ }
0 commit comments