Merge branch 'feature/783' of github.com:tainacan/tainacan into feature/783
This commit is contained in:
commit
f6a5a67f94
|
@ -7,10 +7,11 @@ namespace Tainacan;
|
||||||
class Media {
|
class Media {
|
||||||
|
|
||||||
private static $instance = null;
|
private static $instance = null;
|
||||||
private static $file_handle = null;
|
|
||||||
private static $file_name = null;
|
private static $file_name = null;
|
||||||
private $attachment_html_url_base = 'tainacan_attachment_html';
|
private $attachment_html_url_base = 'tainacan_attachment_html';
|
||||||
|
|
||||||
|
public static $content_index_meta = 'document_content_index';
|
||||||
|
|
||||||
public static function get_instance() {
|
public static function get_instance() {
|
||||||
if(!isset(self::$instance)) {
|
if(!isset(self::$instance)) {
|
||||||
self::$instance = new self();
|
self::$instance = new self();
|
||||||
|
@ -246,10 +247,8 @@ class Media {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$content_index_meta = 'document_content_index';
|
|
||||||
|
|
||||||
if ($file == null) {
|
if ($file == null) {
|
||||||
$meta_id = update_post_meta( $item_id, $content_index_meta, null );
|
update_post_meta( $item_id, SELF::$content_index_meta, null );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,9 +273,8 @@ class Media {
|
||||||
$wp_charset = get_bloginfo('charset');
|
$wp_charset = get_bloginfo('charset');
|
||||||
$content_charset = mb_detect_encoding($content);
|
$content_charset = mb_detect_encoding($content);
|
||||||
$content = mb_convert_encoding($content, $wp_charset, $content_charset);
|
$content = mb_convert_encoding($content, $wp_charset, $content_charset);
|
||||||
|
update_post_meta( $item_id, SELF::$content_index_meta, $content );
|
||||||
$meta_id = update_post_meta( $item_id, $content_index_meta, $content );
|
} catch(\Exception $e) {
|
||||||
} catch(Exception $e) {
|
|
||||||
error_log('Caught exception: ' . $e->getMessage() . "\n");
|
error_log('Caught exception: ' . $e->getMessage() . "\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -191,7 +191,7 @@ class Private_Files {
|
||||||
$upload_dir = wp_get_upload_dir();
|
$upload_dir = wp_get_upload_dir();
|
||||||
$base_upload_url = preg_replace('/^https?:\/\//', '', $upload_dir['baseurl']);
|
$base_upload_url = preg_replace('/^https?:\/\//', '', $upload_dir['baseurl']);
|
||||||
|
|
||||||
$requested_uri = sanitize_text_field($_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
|
$requested_uri = ($_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
|
||||||
|
|
||||||
if ( strpos($requested_uri, $base_upload_url) === false ) {
|
if ( strpos($requested_uri, $base_upload_url) === false ) {
|
||||||
// Not uploads
|
// Not uploads
|
||||||
|
@ -228,7 +228,7 @@ class Private_Files {
|
||||||
if ( !$existing_file && \file_exists( $prefixed_both ) ) {
|
if ( !$existing_file && \file_exists( $prefixed_both ) ) {
|
||||||
$existing_file = $prefixed_both;
|
$existing_file = $prefixed_both;
|
||||||
}
|
}
|
||||||
|
echo "-----------> $file <br> $prefixed_file <br> $prefixed_collection $prefixed_both: $existing_file";
|
||||||
if ($existing_file) {
|
if ($existing_file) {
|
||||||
|
|
||||||
$item = \Tainacan\Repositories\Items::get_instance()->fetch( (int) $item_id, (int) $collection_id );
|
$item = \Tainacan\Repositories\Items::get_instance()->fetch( (int) $item_id, (int) $collection_id );
|
||||||
|
|
|
@ -176,10 +176,16 @@ class Search_Engine {
|
||||||
$seperator = ' OR ';
|
$seperator = ' OR ';
|
||||||
}
|
}
|
||||||
if ( empty($search_meta_query) ) return '';
|
if ( empty($search_meta_query) ) return '';
|
||||||
|
|
||||||
|
$content_index_meta = '';
|
||||||
|
if ( defined('TAINACAN_INDEX_PDF_CONTENT') && true === TAINACAN_INDEX_PDF_CONTENT ) {
|
||||||
|
$content_index_meta_meta_key = \TAINACAN\Media::$content_index_meta;
|
||||||
|
$content_index_meta = "OR (m.meta_key='{$content_index_meta_meta_key}')";
|
||||||
|
}
|
||||||
|
|
||||||
$join = \is_user_logged_in()
|
$join = \is_user_logged_in()
|
||||||
? ''
|
? ''
|
||||||
: " INNER JOIN $wpdb->posts pmeta ON m.meta_key = pmeta.ID AND pmeta.post_status = 'publish'";
|
: " INNER JOIN $wpdb->posts pmeta ON (m.meta_key = pmeta.ID AND pmeta.post_status = 'publish') $content_index_meta";
|
||||||
return "EXISTS (
|
return "EXISTS (
|
||||||
SELECT m.post_id
|
SELECT m.post_id
|
||||||
FROM $wpdb->postmeta m $join
|
FROM $wpdb->postmeta m $join
|
||||||
|
|
|
@ -307,7 +307,9 @@ class Item extends Entity {
|
||||||
* @return string "open"|"closed"
|
* @return string "open"|"closed"
|
||||||
*/
|
*/
|
||||||
public function get_comment_status() {
|
public function get_comment_status() {
|
||||||
return apply_filters('tainacan-item-comments_open', $this->get_mapped_property('comment_status'), $this->get_id());
|
$comment_status = $this->get_mapped_property('comment_status');
|
||||||
|
$comment_status_filtered = apply_filters('comments_open', $comment_status == 'open', $this->get_id()) == true ? 'open' : 'closed';
|
||||||
|
return $comment_status_filtered;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1183,13 +1185,15 @@ class Item extends Entity {
|
||||||
if ( $metadata_section->is_conditional_section() ) {
|
if ( $metadata_section->is_conditional_section() ) {
|
||||||
|
|
||||||
$rules = $metadata_section->get_conditional_section_rules();
|
$rules = $metadata_section->get_conditional_section_rules();
|
||||||
$item_id = $this->get_id();
|
if( !empty($rules) ) {
|
||||||
|
$item_id = $this->get_id();
|
||||||
|
|
||||||
foreach ( $rules as $meta_id => $meta_values_conditional ) {
|
foreach ( $rules as $meta_id => $meta_values_conditional ) {
|
||||||
|
|
||||||
$meta_values = get_post_meta( $item_id, $meta_id );
|
$meta_values = get_post_meta( $item_id, $meta_id );
|
||||||
if (!array_intersect($meta_values, $meta_values_conditional))
|
if (!array_intersect($meta_values, $meta_values_conditional))
|
||||||
return $return;
|
return $return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ class Items extends Repository {
|
||||||
|
|
||||||
protected function __construct() {
|
protected function __construct() {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
add_filter( 'tainacan-item-comments_open', [$this, 'hook_comments_open'], 10, 2);
|
add_filter( 'comments_open', [$this, 'hook_comments_open'], 10, 2);
|
||||||
add_action( 'tainacan-api-item-updated', array( &$this, 'hook_api_updated_item' ), 10, 2 );
|
add_action( 'tainacan-api-item-updated', array( &$this, 'hook_api_updated_item' ), 10, 2 );
|
||||||
add_filter( 'map_meta_cap', array( $this, 'map_meta_cap' ), 10, 4 );
|
add_filter( 'map_meta_cap', array( $this, 'map_meta_cap' ), 10, 4 );
|
||||||
}
|
}
|
||||||
|
@ -582,19 +582,19 @@ class Items extends Repository {
|
||||||
/**
|
/**
|
||||||
* Return if comment are open for this item (post_id) and the collection too
|
* Return if comment are open for this item (post_id) and the collection too
|
||||||
*
|
*
|
||||||
* @param string $open_comment
|
* @param bool $comments_open
|
||||||
* @param integer $post_id Item id
|
* @param integer $post_id Item id
|
||||||
* @return string
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function hook_comments_open($open_comment, $post_id) {
|
public function hook_comments_open($comments_open, $post_id) {
|
||||||
$item = self::get_entity_by_post($post_id);
|
$item = self::get_entity_by_post($post_id);
|
||||||
|
|
||||||
if($item != false && $item instanceof Entities\Item) {
|
if($item != false && $item instanceof Entities\Item) {
|
||||||
$collection = $item->get_collection();
|
$collection = $item->get_collection();
|
||||||
if( $collection != null && $collection->get_allow_comments() !== 'open' ) return 'closed';
|
if( $collection != null && $collection->get_allow_comments() !== 'open' ) return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $open_comment;
|
return $comments_open;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1019,7 +1019,15 @@ function tainacan_get_the_mime_type_icon($mime_type, $image_size = 'medium') {
|
||||||
$icon_file = 'placeholder_square';
|
$icon_file = 'placeholder_square';
|
||||||
}
|
}
|
||||||
|
|
||||||
return $images_path . $icon_file . $image_size . '.png';
|
/**
|
||||||
|
* Filter the image source for the empty thumbnail placeholder.
|
||||||
|
*
|
||||||
|
* @param string src The image source for the empty thumbnail placeholder.
|
||||||
|
* Default is 'placeholder_square'.
|
||||||
|
* @param string mime_type The document type of the item.
|
||||||
|
* @param string image_size The size of the image to be loaded.
|
||||||
|
*/
|
||||||
|
return apply_filters('tainacan-get-the-mime-type-icon', $images_path . $icon_file . $image_size . '.png', $mime_type, $image_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -72,7 +72,15 @@ export const ThumbnailHelperFunctions = () => {
|
||||||
imageSrc = 'placeholder_square';
|
imageSrc = 'placeholder_square';
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.getEmptyThumbnailPlaceholderBySize(imageSrc, tainacanSize);
|
/**
|
||||||
|
* Filter the image source for the empty thumbnail placeholder.
|
||||||
|
*
|
||||||
|
* @param string imageSrc The image source for the empty thumbnail placeholder.
|
||||||
|
* Default is 'placeholder_square'.
|
||||||
|
* @param string documentType The document type of the item.
|
||||||
|
* @param string size The size of the image to be loaded.
|
||||||
|
*/
|
||||||
|
return wp.hooks.applyFilters('tainacan_get_the_mime_type_icon', this.getEmptyThumbnailPlaceholderBySize(imageSrc, tainacanSize), documentType, tainacanSize);
|
||||||
},
|
},
|
||||||
getEmptyThumbnailPlaceholderBySize(imageSrc, tainacanSize) {
|
getEmptyThumbnailPlaceholderBySize(imageSrc, tainacanSize) {
|
||||||
switch(tainacanSize) {
|
switch(tainacanSize) {
|
||||||
|
|
|
@ -151,8 +151,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.search-control .search-control-item .search-area {
|
.search-control .search-control-item .search-area {
|
||||||
min-width: 13.75%;
|
min-width: calc(min(13.75%, 280px));
|
||||||
min-width: 13.75vw;
|
min-width: calc(min(13.75vw, 280px));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue