add urldecode on read a private file and try/catch on `pre_delete_attachment` logs
This commit is contained in:
parent
914ea388ef
commit
c3148daa91
|
@ -256,7 +256,7 @@ class REST_Collections_Controller extends REST_Controller {
|
|||
}
|
||||
|
||||
// Clear private metadata from metadata_order
|
||||
if ( is_array( $item_arr['metadata_order'] ) && ! current_user_can( 'tnc_col_' . $item->get_id() . '_read_private_metadata' ) ) {
|
||||
if ( isset($item_arr['metadata_order']) && is_array( $item_arr['metadata_order'] ) && ! current_user_can( 'tnc_col_' . $item->get_id() . '_read_private_metadata' ) ) {
|
||||
|
||||
$metadata = $item->get_metadata();
|
||||
$meta_ids = array_map(
|
||||
|
@ -275,7 +275,7 @@ class REST_Collections_Controller extends REST_Controller {
|
|||
}
|
||||
|
||||
// Clear private filters from filters_order
|
||||
if ( is_array( $item_arr['filters_order'] ) && ! current_user_can( 'tnc_col_' . $item->get_id() . '_read_private_filters' ) ) {
|
||||
if ( isset($item_arr['filters_order']) && is_array( $item_arr['filters_order'] ) && ! current_user_can( 'tnc_col_' . $item->get_id() . '_read_private_filters' ) ) {
|
||||
|
||||
$filters = $item->get_filters();
|
||||
$filters_ids = array_map(
|
||||
|
|
|
@ -202,7 +202,7 @@ class Private_Files {
|
|||
|
||||
$file_path = \str_replace( '/', $this->dir_separator, str_replace($base_upload_url, '', $requested_uri) );
|
||||
|
||||
$file = $upload_dir['basedir'] . $file_path;
|
||||
$file = urldecode($upload_dir['basedir'] . $file_path);
|
||||
|
||||
$existing_file = false;
|
||||
|
||||
|
@ -262,9 +262,10 @@ class Private_Files {
|
|||
* private uploads folder prefix from the attachments URLs
|
||||
*/
|
||||
function image_get_intermediate_size($data, $post_id, $size) {
|
||||
|
||||
$data['path'] = str_replace($this->dir_separator . $this->get_private_folder_prefix(), $this->dir_separator, $data['path']);
|
||||
$data['url'] = str_replace('/' . $this->get_private_folder_prefix(), '/', $data['url']);
|
||||
if(isset($data['path']))
|
||||
$data['path'] = str_replace($this->dir_separator . $this->get_private_folder_prefix(), $this->dir_separator, $data['path']);
|
||||
if(isset($data['url']))
|
||||
$data['url'] = str_replace('/' . $this->get_private_folder_prefix(), '/', $data['url']);
|
||||
|
||||
return $data;
|
||||
|
||||
|
|
|
@ -309,41 +309,44 @@ class Logs extends Repository {
|
|||
$entity_post = get_post($attachment_post->post_parent);
|
||||
|
||||
if ( $entity_post ) {
|
||||
|
||||
$entity = Repository::get_entity_by_post( $entity_post );
|
||||
|
||||
if ( $entity ) {
|
||||
|
||||
$collection_id = method_exists($entity, 'get_collection_id') ? $entity->get_collection_id() : 'default';
|
||||
|
||||
$log = new Entities\Log();
|
||||
|
||||
if ( $entity instanceof Entities\Collection ) {
|
||||
$collection_id = $entity->get_id();
|
||||
$log->set_title( sprintf(__( 'File attached to Collection "%s" was removed', 'tainacan'), $entity->get_name() ) );
|
||||
try {
|
||||
$entity = Repository::get_entity_by_post( $entity_post );
|
||||
|
||||
if ( $entity ) {
|
||||
|
||||
$collection_id = method_exists($entity, 'get_collection_id') ? $entity->get_collection_id() : 'default';
|
||||
|
||||
$log = new Entities\Log();
|
||||
|
||||
if ( $entity instanceof Entities\Collection ) {
|
||||
$collection_id = $entity->get_id();
|
||||
$log->set_title( sprintf(__( 'File attached to Collection "%s" was removed', 'tainacan'), $entity->get_name() ) );
|
||||
}
|
||||
if ( $entity instanceof Entities\Item ) {
|
||||
$log->set_item_id($entity->get_id());
|
||||
$log->set_title( sprintf( __( 'File attached to Item "%s" was removed' , 'tainacan'), $entity->get_title() ) );
|
||||
}
|
||||
|
||||
$object_type = get_class($entity);
|
||||
$object_id = $entity->get_id();
|
||||
|
||||
$preapred = [
|
||||
'id' => $attachment_id,
|
||||
'title' => $attachment_post->post_title,
|
||||
'description' => $attachment_post->post_content,
|
||||
];
|
||||
|
||||
$log->set_collection_id($collection_id);
|
||||
$log->set_object_type($object_type);
|
||||
$log->set_object_id($object_id);
|
||||
$log->set_old_value($preapred);
|
||||
$log->set_action('delete-attachment');
|
||||
|
||||
$this->current_attachment_delete_log = $log;
|
||||
|
||||
}
|
||||
if ( $entity instanceof Entities\Item ) {
|
||||
$log->set_item_id($entity->get_id());
|
||||
$log->set_title( sprintf( __( 'File attached to Item "%s" was removed' , 'tainacan'), $entity->get_title() ) );
|
||||
}
|
||||
|
||||
$object_type = get_class($entity);
|
||||
$object_id = $entity->get_id();
|
||||
|
||||
$preapred = [
|
||||
'id' => $attachment_id,
|
||||
'title' => $attachment_post->post_title,
|
||||
'description' => $attachment_post->post_content,
|
||||
];
|
||||
|
||||
$log->set_collection_id($collection_id);
|
||||
$log->set_object_type($object_type);
|
||||
$log->set_object_id($object_id);
|
||||
$log->set_old_value($preapred);
|
||||
$log->set_action('delete-attachment');
|
||||
|
||||
$this->current_attachment_delete_log = $log;
|
||||
|
||||
} catch (\Exception $e) {
|
||||
error_log("[pre_delete_attachment]:" . $e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue