From 423195debf5268f8ea7f5e5aeb14b0da6a39d7e4 Mon Sep 17 00:00:00 2001 From: Mateus Machado Luna Date: Fri, 25 Jan 2019 09:33:56 -0200 Subject: [PATCH 01/17] Fixes loading not appearing on collections list. Adds sorting to collection (but hides while api doesn't work). Adds bootstrap sr-only class for hiding elements only visible to screen readers. --- src/admin/js/utilities.js | 4 +- src/admin/pages/lists/collections-page.vue | 118 ++++++++++++++++++--- src/admin/pages/lists/items-page.vue | 2 +- src/admin/pages/lists/taxonomies-page.vue | 2 +- src/admin/scss/_variables.scss | 12 +++ src/js/store/modules/collection/actions.js | 7 +- 6 files changed, 128 insertions(+), 17 deletions(-) diff --git a/src/admin/js/utilities.js b/src/admin/js/utilities.js index 5f65acd60..290933d29 100644 --- a/src/admin/js/utilities.js +++ b/src/admin/js/utilities.js @@ -116,7 +116,9 @@ UserPrefsPlugin.install = function (Vue, options = {}) { 'fetch_only': 'thumbnail,creation_date,author_name', 'fetch_only_meta': '', 'taxonomies_order': 'asc', - 'taxonomies_order_by': 'date' + 'taxonomies_order_by': 'date', + 'collections_order': 'asc', + 'collections_order_by': 'date' }, init() { if (tainacan_plugin.user_prefs == undefined || tainacan_plugin.user_prefs == '') { diff --git a/src/admin/pages/lists/collections-page.vue b/src/admin/pages/lists/collections-page.vue index 2c73d1890..c3661348a 100644 --- a/src/admin/pages/lists/collections-page.vue +++ b/src/admin/pages/lists/collections-page.vue @@ -1,11 +1,13 @@ @@ -69,7 +76,7 @@ export default { getIconForMimeType(mimeType) { let type = mimeType.split('/'); - + if (type[0] == 'application' && type[1] != undefined){ switch (type[1]) { case 'pdf': diff --git a/src/admin/scss/_modals.scss b/src/admin/scss/_modals.scss index ca3afda9f..67877b33c 100644 --- a/src/admin/scss/_modals.scss +++ b/src/admin/scss/_modals.scss @@ -13,6 +13,7 @@ h1, h2 { font-size: 1.25rem; font-weight: normal; + font-weight: 500; color: $gray5; display: inline-block; width: 90%; @@ -38,7 +39,8 @@ position: relative; max-height: 100vh; overflow-y: auto; - + overflow-x: hidden; + figure { margin: 0; text-align: center; diff --git a/src/admin/tainacan-admin-i18n.php b/src/admin/tainacan-admin-i18n.php index bdcb2af00..c35f2ec20 100644 --- a/src/admin/tainacan-admin-i18n.php +++ b/src/admin/tainacan-admin-i18n.php @@ -397,7 +397,7 @@ return apply_filters( 'tainacan-admin-i18n', [ 'instruction_select_an_importer_type' => __( 'Select an importer from the options below:', 'tainacan' ), 'instruction_drop_file_or_click_to_upload' => __( 'Drop your source file or click here to upload.', 'tainacan' ), 'instruction_select_metadatum_type' => __( 'Select a metadatum type', 'tainacan' ), - 'instruction_configure_new_metadatum' => __( 'Configure new metadatum.', 'tainacan' ), + 'instruction_configure_new_metadatum' => __( 'Configure new metadatum', 'tainacan' ), 'instruction_insert_mapper_metadatum_info' => __( 'Insert the new mapper\'s metadatum info', 'tainacan' ), 'instruction_select_max_options_to_show' => __( 'Select max options to show', 'tainacan' ), 'instruction_select_collection_fetch_items' => __( 'Select a collection to fetch items', 'tainacan' ), diff --git a/src/assets/css/fonts/tainacanicons.css b/src/assets/css/fonts/tainacanicons.css index a9b50701b..1e8078312 100644 --- a/src/assets/css/fonts/tainacanicons.css +++ b/src/assets/css/fonts/tainacanicons.css @@ -90,6 +90,9 @@ .tainacan-icon-audio:before { content: "audio"; } +.tainacan-icon-video:before { + content: "video"; +} .tainacan-icon-close:before { content: "close"; } From 9bbdc98ae7dcbd4eec1c075243cf9dda4c4ab4d9 Mon Sep 17 00:00:00 2001 From: Leo Germani Date: Fri, 25 Jan 2019 16:24:59 -0200 Subject: [PATCH 05/17] use standard template for tax archive when tax is shared with post types --- .../class-tainacan-taxonomies.php | 12 +++++++ .../class-tainacan-theme-helper.php | 31 +++++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/classes/repositories/class-tainacan-taxonomies.php b/src/classes/repositories/class-tainacan-taxonomies.php index 4ad7dd97a..bbd3829c9 100644 --- a/src/classes/repositories/class-tainacan-taxonomies.php +++ b/src/classes/repositories/class-tainacan-taxonomies.php @@ -359,6 +359,18 @@ class Taxonomies extends Repository { return $prefix . $id; } + public function get_id_by_db_identifier( $db_identifier ) { + $prefix = \Tainacan\Entities\Taxonomy::$db_identifier_prefix; + //$sufix = \Tainacan\Entities\Taxonomy::$db_identifier_sufix; + $id = str_replace( $prefix, '', $db_identifier ); + //$id = str_replace( $sufix, '', $id ); + if ( is_numeric( $id ) ) { + return (int) $id; + } + + return false; + } + /** * Check if a term already exists * diff --git a/src/theme-helper/class-tainacan-theme-helper.php b/src/theme-helper/class-tainacan-theme-helper.php index 9cf9cc0de..32817000c 100644 --- a/src/theme-helper/class-tainacan-theme-helper.php +++ b/src/theme-helper/class-tainacan-theme-helper.php @@ -208,9 +208,22 @@ class Theme_Helper { $term = get_queried_object(); if ($term instanceof \WP_Term && $this->is_term_a_tainacan_term($term)) { - // TODO: Why post_type = any does not work? - // ANSWER because post types are registered with exclude_from_search. Should we change it? - $wp_query->set( 'post_type', \Tainacan\Repositories\Repository::get_collections_db_identifiers() ); + + $tax_id = \Tainacan\Repositories\Taxonomies::get_instance()->get_id_by_db_identifier($term->taxonomy); + $tax = \Tainacan\Repositories\Taxonomies::get_instance()->fetch($tax_id); + + if ( $tax ) { + $post_types = $tax->get_enabled_post_types(); + + // TODO: Why post_type = any does not work? + // ANSWER because post types are registered with exclude_from_search. Should we change it? + // TODO adding all post types to the list is something we need to discuss + $post_types = array_merge($post_types, \Tainacan\Repositories\Repository::get_collections_db_identifiers()); + $wp_query->set( 'post_type', $post_types); + + } + + } } @@ -285,6 +298,18 @@ class Theme_Helper { $term = get_queried_object(); if ( isset($term->taxonomy) && $this->is_taxonomy_a_tainacan_tax($term->taxonomy)) { + $tax_id = \Tainacan\Repositories\Taxonomies::get_instance()->get_id_by_db_identifier($term->taxonomy); + $tax = \Tainacan\Repositories\Taxonomies::get_instance()->fetch($tax_id); + + if ( $tax ) { + $post_types = $tax->get_enabled_post_types(); + if (sizeof($post_types)) { + // if taxonomy is enabled for other post types, we disable + // custom template ans use default list + // TODO: This needs discussion + return $templates; + } + } $last_template = array_pop($templates); From 4a26ea187c457188e71a71e1eb46d94457adebe9 Mon Sep 17 00:00:00 2001 From: Leo Germani Date: Sun, 27 Jan 2019 20:44:08 -0200 Subject: [PATCH 06/17] add social sharing meta tags theme helper. removed from theme --- .../class-tainacan-theme-helper.php | 90 ++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/src/theme-helper/class-tainacan-theme-helper.php b/src/theme-helper/class-tainacan-theme-helper.php index 32817000c..70e90f4d6 100644 --- a/src/theme-helper/class-tainacan-theme-helper.php +++ b/src/theme-helper/class-tainacan-theme-helper.php @@ -56,7 +56,9 @@ class Theme_Helper { add_action( 'pre_get_posts', array($this, 'archive_repository_pre_get_posts')); // TODO: fix the WP Title // add_filter( 'wp_title', array($this, 'archive_repository_wp_title'), 10, 3); - + + add_action( 'wp_head', array($this, 'add_social_meta'), 5 ); + $this->register_view_mode('table', [ 'label' => __('Table', 'tainacan'), 'dynamic_metadata' => true, @@ -499,5 +501,91 @@ class Theme_Helper { return isset($this->registered_view_modes[$slug]) ? $this->registered_view_modes[$slug] : false; } + /** + * Adds meta tags to the header to improve social sharing + */ + public function add_social_meta() { + + if ( is_single() || is_tax() || is_archive() ) { + + $logo = get_template_directory_uri() . '/assets/images/social-logo.png'; + $excerpt = get_bloginfo( 'description' ); + $url_src = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; + global $wp; + + if ( is_post_type_archive() ) { + $collection_id = tainacan_get_collection_id(); + if ($collection_id) { + $title = tainacan_get_the_collection_name(); + $img_info = ( has_post_thumbnail( tainacan_get_collection_id() ) ) ? wp_get_attachment_image_src( get_post_thumbnail_id( tainacan_get_collection_id() ), 'full' ) : $logo; + $url_src = home_url( $wp->request ); + $excerpt = tainacan_get_the_collection_description(); + } + } elseif ( is_singular() ) { + global $post; + + if ( !is_object($post) ) { return; } + + $title = get_the_title(); + $img_info = ( has_post_thumbnail( $post->ID ) ) ? wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ) : $logo; + $url_src = get_permalink(); + $content = wp_trim_words( $post->post_content, 28, '[...]' ); + if ( $content ) { + $excerpt = strip_tags( $content ); + $excerpt = str_replace( '', "'", $excerpt ); + } + } elseif ( is_tax() ) { + $term = get_queried_object(); + $tainacan_term = tainacan_get_term(); + + $title = $term->name; + $excerpt = $term->description; + + $url_src = get_term_link($term->term_id, $term->taxonomy); + + if ($tainacan_term) { + $_term = new \Tainacan\Entities\Term( $tainacan_term ); + $img_id = $_term->get_header_image_id(); + if ($img_id) { + $img_info = wp_get_attachment_image_src( $img_id, 'full' ); + } + } + + } else { + + if ( is_day() ) : + $title = sprintf( __( 'Daily Archives: %s', 'tainacan-interface' ), get_the_date() ); + elseif ( is_month() ) : + $title = sprintf( __( 'Monthly Archives: %s', 'tainacan-interface' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'tainacan-interface' ) ) ); + elseif ( is_year() ) : + $title = sprintf( __( 'Yearly Archives: %s', 'tainacan-interface' ), get_the_date( _x( 'Y', 'yearly archives date format', 'tainacan-interface' ) ) ); + elseif ( is_author() ) : + $title = get_the_author(); + else : + $title = get_the_archive_title(); + endif; + + } + + $image = array( + 'url' => ( ! empty( $img_info[0] ) && $img_info[1] >= 200 && $img_info[2] >= 200 ) ? $img_info[0] : $logo, + 'width' => ( ! empty( $img_info[1] ) && $img_info[1] >= 200 && $img_info[2] >= 200 ) ? $img_info[1] : 200, + 'height' => ( ! empty( $img_info[2] ) && $img_info[1] >= 200 && $img_info[2] >= 200 ) ? $img_info[2] : 200, + ); + + ?> + + + + + + + + + + + Date: Mon, 28 Jan 2019 11:12:20 -0200 Subject: [PATCH 07/17] Updates Tainacan Icon font with video icon. --- src/assets/css/fonts/TainacanIcons.eot | Bin 14616 -> 14116 bytes src/assets/css/fonts/TainacanIcons.otf | Bin 10748 -> 10420 bytes src/assets/css/fonts/TainacanIcons.svg | 12 ++---------- src/assets/css/fonts/TainacanIcons.ttf | Bin 14432 -> 14636 bytes src/assets/css/fonts/TainacanIcons.woff | Bin 8696 -> 8456 bytes src/assets/css/fonts/TainacanIcons.woff2 | Bin 6976 -> 6836 bytes 6 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/assets/css/fonts/TainacanIcons.eot b/src/assets/css/fonts/TainacanIcons.eot index 0866db98834428e4817aa812d1f8709ce2551b10..ef24d31c4f1fc6d059015d209f2f0c1334d9cb5f 100644 GIT binary patch delta 533 zcmXw0T}V@57=GUK=c$agn1N!nqQTVGWUSKxDMYf_MObWR_UqX^o8g%rwh@9BVI;H^d@xiJ$%pmeDCuo;ed4YhmG47-%!OaV>A%aiuBD zvG$O8aNNq>4bVCJ9^T(x-l`u1 TxP(Dm!Bt$tb=<(s|G)YRWAcDD delta 999 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 CVil -Created by FontForge 20170910 at Thu Dec 20 15:06:27 2018 - By Jimmy Wärting +Created by FontForge 20161003 at Wed Nov 14 11:54:32 2018 + By www-data @@ -225,14 +225,6 @@ d="M243 371l256 -255l256 255l78 -78l-334 -334l-334 334z" /> - - - )pm?jdN@r5E!iTp<^)Cjv;Hu%4D0_ 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 literal 6976 zcmV-G8^7dtPew9NR8&s@02@F63;+NC04d}E02=WC0RR9100000000000000000000 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 SN?Y*Lg2~}lwbbfXIsgEhu3vlr From 198b33ce5a19795217b1bdd3a3d68c5fcaf83aa5 Mon Sep 17 00:00:00 2001 From: Eduardo Humberto Date: Mon, 28 Jan 2019 18:42:22 -0200 Subject: [PATCH 08/17] Remove ssl verifier in tainacan legacy importer --- src/importer/class-tainacan-old-tainacan.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/importer/class-tainacan-old-tainacan.php b/src/importer/class-tainacan-old-tainacan.php index b28521151..f5a94fe5f 100644 --- a/src/importer/class-tainacan-old-tainacan.php +++ b/src/importer/class-tainacan-old-tainacan.php @@ -613,6 +613,7 @@ class Old_Tainacan extends Importer{ $args = array( 'timeout' => 60, 'redirection' => 30, + 'sslverify' => false ); $this->add_log('fetching init ' . $link ); @@ -643,6 +644,7 @@ class Old_Tainacan extends Importer{ $args = array( 'timeout' => 60, 'redirection' => 30, + 'sslverify' => false ); $result = wp_remote_get($link, $args); From edc84e6ad54f50017b6aeb49d7272104fa3a013a Mon Sep 17 00:00:00 2001 From: weryques Date: Wed, 30 Jan 2019 11:32:15 -0200 Subject: [PATCH 09/17] Fixes no ordering collections by asc or desc --- src/classes/repositories/class-tainacan-collections.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/classes/repositories/class-tainacan-collections.php b/src/classes/repositories/class-tainacan-collections.php index a20701ef3..b2df22337 100644 --- a/src/classes/repositories/class-tainacan-collections.php +++ b/src/classes/repositories/class-tainacan-collections.php @@ -69,7 +69,7 @@ class Collections extends Repository { 'description' => __( 'The collection modification date', 'tainacan' ) ], 'order' => [ - 'map' => 'menu_order', + 'map' => 'order', 'title' => __( 'Order', 'tainacan' ), 'type' => 'string', 'description' => __( 'Collection order. This metadata is used if collections are manually ordered.', 'tainacan' ), From 3fdc4c467f249f8c3c240e1ebeff127fbf6ac12b Mon Sep 17 00:00:00 2001 From: Mateus Machado Luna Date: Wed, 30 Jan 2019 12:23:18 -0200 Subject: [PATCH 10/17] Adds sorting options to collection list. --- src/admin/js/utilities.js | 4 ++-- src/admin/pages/lists/collections-page.vue | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/admin/js/utilities.js b/src/admin/js/utilities.js index 290933d29..387c51b62 100644 --- a/src/admin/js/utilities.js +++ b/src/admin/js/utilities.js @@ -115,9 +115,9 @@ UserPrefsPlugin.install = function (Vue, options = {}) { 'admin_view_mode': 'cards', 'fetch_only': 'thumbnail,creation_date,author_name', 'fetch_only_meta': '', - 'taxonomies_order': 'asc', + 'taxonomies_order': 'desc', 'taxonomies_order_by': 'date', - 'collections_order': 'asc', + 'collections_order': 'desc', 'collections_order_by': 'date' }, init() { diff --git a/src/admin/pages/lists/collections-page.vue b/src/admin/pages/lists/collections-page.vue index c3661348a..1802908ee 100644 --- a/src/admin/pages/lists/collections-page.vue +++ b/src/admin/pages/lists/collections-page.vue @@ -53,7 +53,7 @@ - +
@@ -236,7 +236,7 @@ export default { collectionsPerPage: 12, isLoadingMetadatumMappers: true, status: '', - order: 'asc', + order: 'desc', ordeBy: 'date', sortingOptions: [ { label: this.$i18n.get('label_title'), value: 'title' }, From 362b43cf5c96393611ae36b69f5b1852172c5c2f Mon Sep 17 00:00:00 2001 From: Mateus Machado Luna Date: Wed, 30 Jan 2019 15:18:09 -0200 Subject: [PATCH 11/17] Fixes change on taxonomy input type not being applied on metadatum edition form when only changed from insert options. Fixes select taxonomy not receiving current Taxonomy ID. --- .../metadata-types/taxonomy/FormTaxonomy.vue | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/classes/metadata-types/taxonomy/FormTaxonomy.vue b/src/classes/metadata-types/taxonomy/FormTaxonomy.vue index c3187a7e0..df84c2de6 100644 --- a/src/classes/metadata-types/taxonomy/FormTaxonomy.vue +++ b/src/classes/metadata-types/taxonomy/FormTaxonomy.vue @@ -56,7 +56,6 @@ v-model="input_type" @input="emitValues()" v-else> -