Merge branch 'develop' into feature/872

This commit is contained in:
mateuswetah 2024-05-05 16:39:35 -03:00
commit 21075e1e29
11 changed files with 30 additions and 18 deletions

View File

@ -253,6 +253,7 @@ class REST_Background_Processes_Controller extends REST_Controller {
$item->log = $this->get_log_url($key_log, $item->action); $item->log = $this->get_log_url($key_log, $item->action);
$item->error_log = $this->get_log_url($key_log, $item->action, 'error'); $item->error_log = $this->get_log_url($key_log, $item->action, 'error');
$nonce = wp_create_nonce( 'wp_rest' ); $nonce = wp_create_nonce( 'wp_rest' );
$item->output = $item->output ?? '';
$item->output = str_replace("&_wpnonce=[nonce]", "&_wpnonce=$nonce", $item->output); $item->output = str_replace("&_wpnonce=[nonce]", "&_wpnonce=$nonce", $item->output);
return $item; return $item;
} }
@ -376,14 +377,14 @@ class REST_Background_Processes_Controller extends REST_Controller {
$upload_url = wp_upload_dir(); $upload_url = wp_upload_dir();
$path = $upload_url['basedir'] . '/tainacan/' . $guid; $path = $upload_url['basedir'] . '/tainacan/' . $guid;
if ( file_exists( $path ) ) { if ( file_exists( $path ) ) {
$finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = @finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $path); $mime_type = @finfo_file($finfo, $path);
$file_name = basename($path); $file_name = @basename($path);
http_response_code(200); http_response_code(200);
header('Content-Description: File Transfer'); header('Content-Description: File Transfer');
header("Content-Disposition: attachment; filename=$file_name"); header("Content-Disposition: attachment; filename=$file_name");
header("Content-Type: $mime_type"); header("Content-Type: $mime_type");
header("Content-Length: " . filesize( $path )); header("Content-Length: " . @filesize( $path ));
\readfile($path); \readfile($path);
} else { } else {
return new \WP_REST_Response("file not found", 404, array('content-type' => 'text/html; charset=utf-8')); return new \WP_REST_Response("file not found", 404, array('content-type' => 'text/html; charset=utf-8'));

View File

@ -347,7 +347,7 @@ abstract class Background_Process extends \Tainacan_WP_Background_Process {
$this->debug('Shutdown with Fatal error captured'); $this->debug('Shutdown with Fatal error captured');
$this->debug($error_str); $this->debug($error_str);
$this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Fatal Error: ' . $error_str]] ); $this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Fatal Error: see the server error log for more details']] );
$this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Process aborted']]); $this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Process aborted']]);
$this->close( $batch->key, 'errored' ); $this->close( $batch->key, 'errored' );
$this->debug('Batch closed due to captured error'); $this->debug('Batch closed due to captured error');
@ -363,7 +363,7 @@ abstract class Background_Process extends \Tainacan_WP_Background_Process {
} catch (\Exception $e) { } catch (\Exception $e) {
// TODO: Add Stacktrace // TODO: Add Stacktrace
$this->debug('Fatal Error: ' . $e->getMessage()); $this->debug('Fatal Error: ' . $e->getMessage());
$this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Try Fatal Error: ' . $e->getMessage()]]); $this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Try Fatal Error: see the server error log for more details']]);
$this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Process aborted']]); $this->write_error_log($batch->key, [['datetime' => date("Y-m-d H:i:s"), 'message' => 'Process aborted']]);
$task = false; $task = false;
$close_status = 'errored'; $close_status = 'errored';

View File

@ -721,6 +721,10 @@ abstract class Exporter {
public function append_to_file($key, $data) { public function append_to_file($key, $data) {
if ( array_key_exists ( $key , $this->output_files ) ) { if ( array_key_exists ( $key , $this->output_files ) ) {
$fp = fopen($this->output_files[$key]['filename'], 'a'); $fp = fopen($this->output_files[$key]['filename'], 'a');
if($fp == false) {
$file_name = $this->output_files[$key]['filename'];
throw new \Exception("Cannot open file $file_name");
}
fwrite($fp, $data); fwrite($fp, $data);
fclose($fp); fclose($fp);
} else { // será? } else { // será?

View File

@ -372,6 +372,10 @@ class Item_Metadata extends Repository {
$terms = wp_get_object_terms( $item_metadata->get_item()->get_id(), $taxonomy_slug ); $terms = wp_get_object_terms( $item_metadata->get_item()->get_id(), $taxonomy_slug );
if( is_wp_error($terms) ) {
return null;
}
if ( $unique ) { if ( $unique ) {
$terms = reset( $terms ); $terms = reset( $terms );

View File

@ -4,7 +4,7 @@ Tags: museums, archives, GLAM, collections, repository
Requires at least: 5.9 Requires at least: 5.9
Tested up to: 6.5 Tested up to: 6.5
Requires PHP: 7.0 Requires PHP: 7.0
Stable tag: 0.21.1 Stable tag: 0.21.2
License: GPLv2 or later License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html License URI: http://www.gnu.org/licenses/gpl-3.0.html

View File

@ -5,17 +5,17 @@ Plugin URI: https://tainacan.org/
Description: Open source, powerful and flexible repository platform for WordPress. Manage and publish you digital collections as easily as publishing a post to your blog, while having all the tools of a professional repository platform. Description: Open source, powerful and flexible repository platform for WordPress. Manage and publish you digital collections as easily as publishing a post to your blog, while having all the tools of a professional repository platform.
Author: Tainacan.org Author: Tainacan.org
Author URI: https://tainacan.org/ Author URI: https://tainacan.org/
Version: 0.21.1 Version: 0.21.2
Requires at least: 5.9 Requires at least: 5.9
Tested up to: 6.5 Tested up to: 6.5
Requires PHP: 7.0 Requires PHP: 7.0
Stable tag: 0.21.1 Stable tag: 0.21.2
Text Domain: tainacan Text Domain: tainacan
License: GPLv2 or later License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/ */
const TAINACAN_VERSION = '0.21.1'; const TAINACAN_VERSION = '0.21.2';
defined( 'ABSPATH' ) or die( 'No script kiddies please!' ); defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
$TAINACAN_BASE_URL = plugins_url('', __FILE__); $TAINACAN_BASE_URL = plugins_url('', __FILE__);

View File

@ -1230,7 +1230,7 @@ export default {
// Sends info to iframe containing item edition form and other use cases // Sends info to iframe containing item edition form and other use cases
parent.postMessage({ parent.postMessage({
type: 'itemEditionMessage', type: 'itemEditionMessage',
item: this.$adminOptions.itemEditionMode ? this.item : null item: this.$adminOptions.itemEditionMode ? JSON.parse(JSON.stringify(this.item)) : null
}, },
tainacan_plugin.admin_url); tainacan_plugin.admin_url);
@ -1241,7 +1241,7 @@ export default {
webkit.messageHandlers && webkit.messageHandlers &&
webkit.messageHandlers.cordova_iab webkit.messageHandlers.cordova_iab
) )
webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({ 'type': 'item_updated', 'item': this.item })); webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({ 'type': 'item_updated', 'item': JSON.parse(JSON.stringify(this.item)) }));
}) })
.catch((errors) => { .catch((errors) => {
@ -1885,7 +1885,7 @@ export default {
webkit.messageHandlers && webkit.messageHandlers &&
webkit.messageHandlers.cordova_iab webkit.messageHandlers.cordova_iab
) )
webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({ 'type': 'exited_from_navigation', 'item': this.item })); webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({ 'type': 'exited_from_navigation', 'item': JSON.parse(JSON.stringify(this.item)) }));
}, },
isSectionHidden(sectionId) { isSectionHidden(sectionId) {
return this.conditionalSections[sectionId] && this.conditionalSections[sectionId].hide; return this.conditionalSections[sectionId] && this.conditionalSections[sectionId].hide;

View File

@ -453,6 +453,9 @@
}); });
this.onInput(this.selected); this.onInput(this.selected);
if ( this.itemMetadatum.metadatum.multiple != 'yes' )
this.activeTab = 1;
} }
} }
} }

View File

@ -128,7 +128,7 @@
:disabled="bulkEditionProcedures[criterion].isDone" :disabled="bulkEditionProcedures[criterion].isDone"
class="tainacan-bulk-edition-field tainacan-bulk-edition-field-last" class="tainacan-bulk-edition-field tainacan-bulk-edition-field-last"
:placeholder="$i18n.get('instruction_select_a_status2')" :placeholder="$i18n.get('instruction_select_a_status2')"
@update:model-update:value="($event) => addToBulkEditionProcedures($event, 'newValue', criterion)"> @update:model-value="($event) => addToBulkEditionProcedures($event, 'newValue', criterion)">
<option <option
v-for="(statusOption, index) of $statusHelper.getStatuses().filter(option => { return option.value != 'trash' })" v-for="(statusOption, index) of $statusHelper.getStatuses().filter(option => { return option.value != 'trash' })"
:key="index" :key="index"
@ -144,7 +144,7 @@
:disabled="bulkEditionProcedures[criterion].isDone" :disabled="bulkEditionProcedures[criterion].isDone"
class="tainacan-bulk-edition-field tainacan-bulk-edition-field-last" class="tainacan-bulk-edition-field tainacan-bulk-edition-field-last"
:placeholder="$i18n.get('instruction_select_a_comments_status')" :placeholder="$i18n.get('instruction_select_a_comments_status')"
@update:model-update:value="($event) => addToBulkEditionProcedures($event, 'newValue', criterion)"> @update:model-value="($event) => addToBulkEditionProcedures($event, 'newValue', criterion)">
<option <option
v-for="(statusOption, index) of $commentsStatusHelper.getStatuses()" v-for="(statusOption, index) of $commentsStatusHelper.getStatuses()"
:key="index" :key="index"

View File

@ -513,7 +513,7 @@
:help-info-bellow-label="helpInfoBellowLabel" :help-info-bellow-label="helpInfoBellowLabel"
:is-collapsed="metadataCollapses[index]" :is-collapsed="metadataCollapses[index]"
:enumerate-metadatum="metadataSections.length > 1 && collectionItemMetadataEnumeration === 'yes' ? ( (Number(sectionIndex) + 1) + '.' + (Number(getMetadatumOrderInSection(sectionIndex, itemMetadatum.metadatum)) + 1) ) : false" :enumerate-metadatum="metadataSections.length > 1 && collectionItemMetadataEnumeration === 'yes' ? ( (Number(sectionIndex) + 1) + '.' + (Number(getMetadatumOrderInSection(sectionIndex, itemMetadatum.metadatum)) + 1) ) : false"
@update:model-value="updateItemMetadataValue" @input="updateItemMetadataValue"
@change-collapse="onChangeCollapse($event, index)" /> @change-collapse="onChangeCollapse($event, index)" />
<!-- JS-side hook for extra content --> <!-- JS-side hook for extra content -->

View File

@ -538,7 +538,7 @@ class System_Check {
$current_version = TAINACAN_VERSION; $current_version = TAINACAN_VERSION;
$args = array( $args = array(
'slug' => 'Tainacan', 'slug' => 'tainacan',
'fields' => array( 'fields' => array(
'version' => true, 'version' => true,
) )