# HG changeset patch # User ymh # Date 1457220541 -3600 # Node ID c0e8626a271c7891578bd8512c773cd42a5a29b6 # Parent f851ec12812f513518dae7f4fdf0a02668af00b1 literal are now objects if one of lang or datatype is not null diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/addon/components/doc-generic.js --- a/common/corpus-common-addon/addon/components/doc-generic.js Sat Mar 05 08:49:17 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -import Ember from 'ember'; -import layout from '../templates/components/doc-generic'; - -export default Ember.Component.extend({ - layout: layout, - tagName: 'span' -}); diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/addon/components/doc-literal.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/corpus-common-addon/addon/components/doc-literal.js Sun Mar 06 00:29:01 2016 +0100 @@ -0,0 +1,38 @@ +import Ember from 'ember'; +import layout from '../templates/components/doc-literal'; + +export default Ember.Component.extend({ + layout: layout, + tagName: 'span', + value: Ember.computed('url', function() { + var url = this.get('url'); + if(typeof url === 'string') { + return url; + } + else if (typeof url === 'object' && !Array.isArray(url) && 'value' in url) { + return url['value']; + } + else { + return null; + } + }), + lang: Ember.computed('url', function() { + var url = this.get('url'); + if (typeof url === 'object' && !Array.isArray(url) && 'lang' in url) { + return url['lang']; + } + else { + return null; + } + }), + datatype: Ember.computed('url', function() { + var url = this.get('url'); + if (typeof url === 'object' && !Array.isArray(url) && 'datatype' in url) { + return url['datatype']; + } + else { + return null; + } + }) + +}); diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/addon/helpers/get-link-type.js --- a/common/corpus-common-addon/addon/helpers/get-link-type.js Sat Mar 05 08:49:17 2016 +0100 +++ b/common/corpus-common-addon/addon/helpers/get-link-type.js Sun Mar 06 00:29:01 2016 +0100 @@ -1,23 +1,19 @@ import Ember from 'ember'; -import * as constants from 'corpus-common-addon/utils/constants' +import * as utils from 'corpus-common-addon/utils/utils' export function getLinkType(params/*, hash*/) { let url = params[0]; if(!url) { - return 'doc-generic'; + return 'doc-literal'; } - if(url.startsWith(constants.LEXVO_BASE_URL)) { + if(utils.isLexvoLink(url)) { return 'doc-language'; } - if( - url.startsWith(constants.BNF_BASE_URL) || - url.startsWith(constants.BNF_ARK_BASE_URL) || - url.startsWith(constants.BNF_ARK_BASE_ID)) - { + if(utils.isBnfLink(url)) { return 'doc-subject'; } - return 'doc-generic'; + return 'doc-literal'; } export default Ember.Helper.helper(getLinkType); diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/addon/styles/addon.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/corpus-common-addon/addon/styles/addon.scss Sun Mar 06 00:29:01 2016 +0100 @@ -0,0 +1,14 @@ +.doc-supsub { + display: inline-block; + sup, + sub { + position: relative; + display: block; + font-size: .5em; + line-height: 1.2; + } + + sub { + top: .3em; + } +} diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/addon/templates/components/doc-generic.hbs --- a/common/corpus-common-addon/addon/templates/components/doc-generic.hbs Sat Mar 05 08:49:17 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -{{url}} diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/addon/templates/components/doc-literal.hbs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/corpus-common-addon/addon/templates/components/doc-literal.hbs Sun Mar 06 00:29:01 2016 +0100 @@ -0,0 +1,1 @@ +{{#if value}}{{value}}{{/if}}{{#if lang}}{{lang}}{{/if}}{{#if datatype}}{{datatype}}{{/if}} diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/addon/utils/utils.js --- a/common/corpus-common-addon/addon/utils/utils.js Sat Mar 05 08:49:17 2016 +0100 +++ b/common/corpus-common-addon/addon/utils/utils.js Sun Mar 06 00:29:01 2016 +0100 @@ -1,21 +1,25 @@ import * as constants from 'corpus-common-addon/utils/constants'; import _ from "lodash/lodash"; +export function isLexvoLink(s) { + return s && typeof s === 'string' && s.startsWith(constants.LEXVO_BASE_URL); +}; + export function isBnfLink(s) { - return s && (s.startsWith(constants.BNF_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_ID)); + return s && typeof s === 'string' && (s.startsWith(constants.BNF_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_URL) || s.startsWith(constants.BNF_ARK_BASE_ID)); }; export function isArkBnfLink(s) { - return s && (s.startsWith(constants.BNF_BASE_URL+constants.BNF_ARK_BASE_ID) || s.startsWith(constants.BNF_ARK_BASE_URL+constants.BNF_ARK_BASE_ID)); + return s && typeof s === 'string' && (s.startsWith(constants.BNF_BASE_URL+constants.BNF_ARK_BASE_ID) || s.startsWith(constants.BNF_ARK_BASE_URL+constants.BNF_ARK_BASE_ID)); }; export function switchArkBnfLink(s) { if(!s) { return s; } - if(s.startsWith(constants.BNF_BASE_URL+constants.BNF_ARK_BASE_ID)) { + if(typeof s === 'string' && s.startsWith(constants.BNF_BASE_URL+constants.BNF_ARK_BASE_ID)) { return constants.BNF_ARK_BASE_URL + s.slice(constants.BNF_BASE_URL.length); - } else if (s.startsWith(constants.BNF_ARK_BASE_URL+constants.BNF_ARK_BASE_ID)) { + } else if (typeof s === 'string' && s.startsWith(constants.BNF_ARK_BASE_URL+constants.BNF_ARK_BASE_ID)) { return constants.BNF_BASE_URL + s.slice(constants.BNF_ARK_BASE_URL.length); } else { return s; diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/app/components/doc-generic.js --- a/common/corpus-common-addon/app/components/doc-generic.js Sat Mar 05 08:49:17 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -export { default } from 'corpus-common-addon/components/doc-generic'; \ No newline at end of file diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/app/components/doc-literal.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/corpus-common-addon/app/components/doc-literal.js Sun Mar 06 00:29:01 2016 +0100 @@ -0,0 +1,1 @@ +export { default } from 'corpus-common-addon/components/doc-literal'; \ No newline at end of file diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/app/styles/addon.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/corpus-common-addon/app/styles/addon.scss Sun Mar 06 00:29:01 2016 +0100 @@ -0,0 +1,1 @@ +@import 'addon/styles/addon.scss'; diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/tests/integration/components/doc-generic-test.js --- a/common/corpus-common-addon/tests/integration/components/doc-generic-test.js Sat Mar 05 08:49:17 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -import { moduleForComponent, test } from 'ember-qunit'; -import hbs from 'htmlbars-inline-precompile'; - -moduleForComponent('doc-generic', 'Integration | Component | doc generic', { - integration: true -}); - -test('it renders', function(assert) { - // Set any properties with this.set('myProperty', 'value'); - // Handle any actions with this.on('myAction', function(val) { ... });" - - this.render(hbs`{{doc-generic}}`); - - assert.equal(this.$().text().trim(), ''); - - // Template block usage:" - this.render(hbs` - {{#doc-generic}} - template block text - {{/doc-generic}} - `); - - assert.equal(this.$().text().trim(), 'template block text'); -}); diff -r f851ec12812f -r c0e8626a271c common/corpus-common-addon/tests/integration/components/doc-literal-test.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/corpus-common-addon/tests/integration/components/doc-literal-test.js Sun Mar 06 00:29:01 2016 +0100 @@ -0,0 +1,24 @@ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; + +moduleForComponent('doc-literal', 'Integration | Component | doc generic', { + integration: true +}); + +test('it renders', function(assert) { + // Set any properties with this.set('myProperty', 'value'); + // Handle any actions with this.on('myAction', function(val) { ... });" + + this.render(hbs`{{doc-literal}}`); + + assert.equal(this.$().text().trim(), ''); + + // Template block usage:" + this.render(hbs` + {{#doc-literal}} + template block text + {{/doc-literal}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +}); diff -r f851ec12812f -r c0e8626a271c server/bo_client/server/fixtures/documents.js --- a/server/bo_client/server/fixtures/documents.js Sat Mar 05 08:49:17 2016 +0100 +++ b/server/bo_client/server/fixtures/documents.js Sun Mar 06 00:29:01 2016 +0100 @@ -60,10 +60,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144792_09-CAYCHAX_22km.wav": { @@ -101,7 +109,7 @@ "uri": "http://corpusdelaparole.huma-num.fr/corpus/res/crdo-09-DUN_SOUND", "title": "ALLOc : Dun : Parabole", "language": "http://lexvo.org/id/iso639-3/oci", - "modified": "2010-10-25T18:18:23+02:00", + "modified": "2016-03-04T21:54:30Z", "publishers": [ "Équipe de Recherche en Syntaxe et Sémantique", "Bases, corpus, langage" @@ -123,12 +131,12 @@ "role": "http://www.language-archives.org/OLAC/1.1/depositor" }, { - "name": "Équipe de Recherche en Syntaxe et Sémantique", + "name": "Bases, corpus, langage", "url": null, "role": "http://www.language-archives.org/OLAC/1.1/editor" }, { - "name": "Bases, corpus, langage", + "name": "Équipe de Recherche en Syntaxe et Sémantique", "url": null, "role": "http://www.language-archives.org/OLAC/1.1/editor" }, @@ -157,10 +165,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", - "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": null, + "lang": "fr" + }, + "http://data.bnf.fr/ark:/12148/cb119766112" ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144793_09-DUN_22km.wav": { @@ -254,10 +270,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144794_09-LABASTIDE-DE-LORDAT_22km.wav": { @@ -351,10 +375,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144795_09-LOUBENS_22km.wav": { @@ -448,10 +480,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144796_09-MERENS-LES-VALS_22km.wav": { @@ -545,10 +585,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144797_09-MONTSEGUR_22km.wav": { @@ -632,10 +680,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144798_09-PRAYOLS_22km.wav": { @@ -729,10 +785,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144799_09-QUERIGUT_22km.wav": { @@ -826,10 +890,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144800_09-SIGUER_22km.wav": { @@ -923,10 +995,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144801_09-ST-MARTIN-D-OYDES_22km.wav": { @@ -1020,10 +1100,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144802_09-SURBA_22km.wav": { @@ -1117,10 +1205,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144803_11-GRAMAZIE_22km.wav": { @@ -1214,10 +1310,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144804_11-MOLLEVILLE_22km.wav": { @@ -1311,10 +1415,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144805_11-PUIVERT_22km.wav": { @@ -1408,10 +1520,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144806_11-RIBOUISSE_22km.wav": { @@ -1505,7 +1625,11 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112" ], @@ -1601,10 +1725,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144808_11-ST-MARTIN-LALANDE_22km.wav": { @@ -1698,10 +1830,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144810_12-AUZITS_22km.wav": { @@ -1795,10 +1935,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144809_12-JOUELS_22km.wav": { @@ -1892,10 +2040,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144811_12-LACASSAGNE_22km.wav": { @@ -1989,10 +2145,18 @@ "http://ark.bnf.fr/ark:/12148/cb11946662b", "http://ark.bnf.fr/ark:/12148/cb11965628b", "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien", + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + }, "http://ark.bnf.fr/ark:/12148/cb11970755h", "http://ark.bnf.fr/ark:/12148/cb119766112", - "translating_and_interpreting" + { + "value": "translating_and_interpreting", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144812_12-LANUEJOULS_22km.wav": { @@ -2078,9 +2242,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144813_12-MARNAC1LEX_22km.wav": { @@ -2159,9 +2331,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144814_12-MARNAC2LEX_22km.wav": { @@ -2240,9 +2420,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144815_12-MARNAC3LEX_22km.wav": { @@ -2321,9 +2509,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144816_12-MARNAC4MORPHO_22km.wav": { @@ -2402,9 +2598,17 @@ } ], "subjects": [ - "morphology", + { + "value": "morphology", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144817_12-MARNAC5MORPHO_22km.wav": { @@ -2503,9 +2707,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144818_12-MAYRAN1LEX_22km.wav": { @@ -2604,9 +2816,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144819_12-MAYRAN2LEX_22km.wav": { @@ -2705,9 +2925,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144820_12-MAYRAN3LEX_22km.wav": { @@ -2806,9 +3034,17 @@ } ], "subjects": [ - "lexicography", + { + "value": "lexicography", + "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field", + "lang": null + }, "http://lexvo.org/id/iso639-3/oci", - "Occitan/Languedocien" + { + "value": "Occitan/Languedocien", + "datatype": null, + "lang": "fr" + } ], "mediaArray": { "http://cocoon.huma-num.fr/data/archi/144821_12-MAYRAN4LEX_22km.wav": { diff -r f851ec12812f -r c0e8626a271c server/src/app/Libraries/Utils.php --- a/server/src/app/Libraries/Utils.php Sat Mar 05 08:49:17 2016 +0100 +++ b/server/src/app/Libraries/Utils.php Sun Mar 06 00:29:01 2016 +0100 @@ -98,7 +98,16 @@ return $val; } if($val instanceof Literal) { - return $val->getValue(); + if(empty($val->getLang()) && empty($val->getDatatypeURI())) { + return $val->getValue(); + } + else { + return [ + 'value'=> $val->getValue(), + 'datatype'=> $val->getDatatypeURI(), + 'lang'=> $val->getLang() + ]; + } } elseif ($val instanceof Resource) { return $val->getUri(); diff -r f851ec12812f -r c0e8626a271c server/src/app/Models/Document.php --- a/server/src/app/Models/Document.php Sat Mar 05 08:49:17 2016 +0100 +++ b/server/src/app/Models/Document.php Sun Mar 06 00:29:01 2016 +0100 @@ -349,11 +349,13 @@ //put new foreach ($subjects as $newSubject) { $value = null; - if(filter_var($newSubject, FILTER_VALIDATE_URL)) { + if(is_string($newSubject) && filter_var($newSubject, FILTER_VALIDATE_URL)) { $value = new Resource($newSubject); } - else { - $value = new Literal($newSubject, "fr", null); + elseif (is_string($newSubject)) { + $value = new Literal($newSubject, null, null); + } elseif(is_array($newSubject)) { + $value = new Literal(isset($newSubject['value'])?$newSubject['value']:null, isset($newSubject['lang'])?$newSubject['lang']:null, isset($newSubject['datatype'])?$newSubject['value']:null); } $this->getProvidedCHO()->add('http://purl.org/dc/elements/1.1/subject', $value);