Start work on new start page

This commit is contained in:
Joshua Ramon Enslin 2019-08-27 00:32:24 +02:00 committed by Stefan Rohde-Enslin
parent 4abb415054
commit 04bb95e2a0
14 changed files with 1836 additions and 0 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
/csv
/translation-importer
/values/langfiles

103
assets/css/csvxml.css Normal file
View File

@ -0,0 +1,103 @@
/* ==============
| Load fonts
|================ */
@font-face {
font-family: sourceSansPro;
src: local('Source-Sans-Pro'), local('Source Sans Pro'),
url(../fonts/SourceSansPro-Regular.woff2) format('woff2'),
url(../fonts/SourceSansPro-Regular.ttf) format('truetype');
}
/* ==============
| General
|================ */
* { box-sizing: border-box; z-index: 1; }
body { margin: 2em; background: #FFF;
font-family: sourceSansPro, Arial, Helvetica, Times; font-size: 1.2em; line-height: 1.5em; }
a { text-decoration: none; }
h1 { display: block; max-width: 600px; margin: 0 auto 1.5em auto; }
h1 > * { display: inline-block; vertical-align: middle; color: #212121; }
h1 img { height: 2em; margin-right: .2em; border-radius: .1em; opacity: .7; transition: opacity .4s; }
h1 img:hover { opacity: 1; }
body > div,
body > form { display: block; max-width: 90vw; margin: 0 auto 3em auto; padding-bottom: 3em; }
form > div { margin-bottom: 1em; }
label { display: block; font-weight: bold; margin-bottom: .5em; }
.invisible { display: none !important; opacity: 0; }
.buttonLike,
select,
button,
textarea,
input { display: block; width: 100%; padding: .5em .5em; border: 2.5px solid #EEE;
background: inherit; color: #424242; font-family: roboto; font-size: 1em;
border-radius: .2em; transition: border .2s; }
.buttonLike { display: inline-block; text-align: center; }
input[type="submit"],
button { padding: .5em .8em; }
.buttonLike,
input[type="submit"],
button { background: #FFCCBC; color: #424242; border: none; font-weight: bold; text-transform: uppercase; transition: background .2s, color .2s; }
textarea { line-height: 1.2em; }
select:hover,
textarea:hover,
input:hover { border-color: #888; }
.buttonLike:focus,
input[type="submit"]:focus,
button:focus,
.buttonLike:hover,
input[type="submit"]:hover,
button:hover { background: #CB9B8C; color: #000; }
aside .buttonLike + .buttonLike,
aside button + button { margin-top: .5em; }
aside > h4:first-child { margin-top: 0; }
select:focus,
textarea:focus,
input:focus { border-color: #CB9B8C; box-shadow: none; }
textarea:invalid,
input:invalid { box-shadow: none; }
textarea:invalid:focus,
input:invalid:focus { border-right-width: 1em; }
textarea { min-height: 30vh; }
table { width: 100%; max-height: 60vh; margin: 2em 0; border-collapse: collapse; overflow: auto; }
th { padding: .3em .5em; text-align: left; border-bottom: 2px solid #424242; }
tbody > tr:nth-child(2n + 1) { background: #F2F2F2; }
td { padding: .3em .5em; border-bottom: 1px solid #D6D6D6; }
@media screen and (min-width:1100px) {
textarea,
body > div > table { width: 1000px; margin-left: -200px; }
}
body > div.uploader { background: #F2F2F2; border: 2px solid #EEE; padding: 1em 1em; }
ul.fieldList { display: block; margin: .5em 0; padding: 0 0; list-style: none; }
ul.fieldList > li { display: inline-block; padding: .3em; margin: .1em; border: 1px solid #D6D6D6; background: #FAFAFA; cursor: pointer; transition: background .4s, border .4s, box-shadow .4s;; }
ul.fieldList > li:hover { background: #FFF; border-color: #212121; }
ul.fieldList > li.requiredField:before { display: inline-block; content: " \002612 "; margin-right: .5em; }
ul.fieldList > li.humanTLToggled { border-color: #CB9B8C; background: #CB9B8C; box-shadow: 0 8px 6px -6px black; }
.options > a.buttonLike { display: inline-block; width: auto;
margin: .15em 0; padding: .4em .5em;
text-transform: inherit; cursor: pointer;
background: initial; border: 2px solid #D6D6D6;
opacity: 1;
transition: background .4s, opacity .4s; }
.options > a.buttonLike:hover { background: #D6D6D6; }

48
assets/css/editMenu.css Normal file
View File

@ -0,0 +1,48 @@
/* ========
| New tooltip
|= ======== */
.newToolTip { position: fixed; display: none !important; min-width: 300px !important; max-width: 600px;
background: #212121 !important; color: #FFF; text-align: left; font-size: .95rem;
border-radius: .2em; box-shadow: 1px 1px 4px #646464; z-index: 3000; white-space: initial !important; }
#newToolTipMain:before { content: attr(data-title); display: block; padding: .5em 1em; max-width: 598px;
background: #212121; color: #BDBDBD; font-weight: bold;
box-shadow: 0px 4px 2px -2px #646464; }
#newToolTipMain > * { padding: .5rem 1rem !important; }
#newToolTipMain > table td { padding: .5rem 1em; vertical-align: top; }
@media screen and (min-width:75em) {
#newToolTipMain.visible { display: block !important; }
}
#newToolTipMain img { max-width: 200px; max-height: 300px; }
dl#newToolTipMain dt { padding-bottom: 0; font-weight: bold; }
dl#newToolTipMain dd { margin: -1em 0 0 0; padding: 0 0 0 0; }
.newToolTipMain p + .toolTipHierarchy { padding-bottom: 0 !important; }
#newToolTipMain > h5 { padding: 0 1rem !important; margin: -.5rem 0 !important; }
.toolTipHierarchy { margin: 0; padding: 0; border-top: 1px solid #424242; list-style: none; }
.toolTipHierarchy ul { margin: 0; padding: .2em 0 .2em 0; list-style: none; }
.toolTipHierarchy ul ul { padding: .1em 0 .1em 1.2em; }
.toolTipHierarchy ul > li:before { content: " \002514 "; display: inline-block; padding-right: .4em; }
.copyToDialogue { cursor: pointer; }
/* ========
| Animations
|= ======== */
@keyframes pulseBorderSize {
0% { border-width: 1em; }
50% { border-width: 1.2em; }
100% { border-width: 1em; }
}
@keyframes fade-in-and-vanish {
0% { opacity: 0; z-index: 1000; }
5% { opacity: .4; }
15% { opacity: 1; padding: .8em; }
75% { opacity: 1; padding: .8em; }
85% { opacity: .4; transform: translateY(0px);}
99% { opacity: 0; transform: translateY(-30px);}
100% { opacity: 0; z-index: 0; }
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

401
assets/img/mdlogo-code.svg Normal file
View File

@ -0,0 +1,401 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1020"
height="1020"
id="svg2985"
version="1.1"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="mdlogo-code.svg"
inkscape:export-filename="mdlogo-code-512px.png"
inkscape:export-xdpi="48.189999"
inkscape:export-ydpi="48.189999">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#ffffff"
borderopacity="0.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="0"
inkscape:zoom="0.98994949"
inkscape:cx="373.81018"
inkscape:cy="657.9954"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="3680"
inkscape:window-height="1930"
inkscape:window-x="80"
inkscape:window-y="150"
inkscape:window-maximized="1"
fit-margin-top="5"
fit-margin-left="5"
fit-margin-right="5"
fit-margin-bottom="5"
showguides="false" />
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(8,-40.362183)">
<rect
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:8.82220364;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect845"
width="1011.1779"
height="1011.1778"
x="-3.5888982"
y="44.773335"
ry="0" />
<flowRoot
xml:space="preserve"
id="flowRoot3763"
style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
transform="matrix(1.0379746,0,0,1.0379746,-169.56958,-12.773255)"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997"><flowRegion
id="flowRegion3765"
style="font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"><rect
id="rect3767"
width="1008.1323"
height="1000.051"
x="-6.0609155"
y="50.290859"
style="font-family:sans-serif;text-align:end;text-anchor:end;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1" /></flowRegion><flowPara
id="flowPara3769"
style="font-size:40px;line-height:1.25;font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"> </flowPara></flowRoot> <text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-stretch:normal;font-size:12.45569611px;line-height:0%;font-family:'Bookman Old Style';-inkscape-font-specification:'Bookman Old Style Semi-Light';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.03797472;stroke-opacity:1"
x="348.29947"
y="659.89093"
id="text3771"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997"><tspan
sodipodi:role="line"
id="tspan3773"
x="348.29947"
y="663.27887"
style="font-size:381.58416748px;line-height:10;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.03797472;stroke-opacity:1" /></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833"
width="79.41317"
height="79.41317"
x="98.490639"
y="742.45844"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-3"
width="79.413177"
height="79.41317"
x="98.490639"
y="626.96552"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6"
width="79.41317"
height="79.41317"
x="98.490639"
y="511.47241"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:10.21611977;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-3-7"
width="82.178253"
height="47.530357"
x="97.108063"
y="429.24481"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-5"
width="79.413162"
height="79.41317"
x="271.73004"
y="742.45844"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-3-3"
width="79.41317"
height="79.41317"
x="271.73004"
y="626.96552"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5"
width="79.413162"
height="79.41317"
x="271.73004"
y="511.47241"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-5-6"
width="79.413162"
height="79.41317"
x="444.96948"
y="742.45844"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-3-3-2"
width="79.41317"
height="79.41317"
x="444.96948"
y="626.96545"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9"
width="79.413162"
height="79.41317"
x="444.96948"
y="511.47235"
rx="0"
ry="39.706581"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:10.21612072;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-1"
width="47.530357"
height="82.178246"
x="201.05171"
y="510.08987"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:10.21612072;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-1-2"
width="47.530357"
height="82.178246"
x="374.29114"
y="510.08987"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7"
width="79.413162"
height="79.41317"
x="595.11035"
y="742.45844"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-0"
width="79.413162"
height="79.41317"
x="710.60327"
y="742.45844"
rx="0"
ry="0"
inkscape:transform-center-x="-9.9165682"
inkscape:transform-center-y="47.832846"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-9"
width="79.413162"
height="79.41317"
x="826.09625"
y="742.45844"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3"
width="79.413162"
height="79.41317"
x="595.11035"
y="626.96552"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3-6"
width="79.413162"
height="79.41317"
x="595.11035"
y="511.47241"
rx="0"
ry="39.706581"
inkscape:transform-center-x="-29.166407"
inkscape:transform-center-y="139.41528"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3-6-0"
width="79.413162"
height="79.41317"
x="710.60327"
y="511.47241"
rx="0"
ry="0"
inkscape:transform-center-x="-29.166375"
inkscape:transform-center-y="139.41528"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-6"
width="79.413162"
height="79.41317"
x="826.09625"
y="626.96552"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3-2"
width="79.413162"
height="79.41317"
x="826.09625"
y="511.47241"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3-6-6"
width="79.413162"
height="79.41317"
x="826.09625"
y="395.97949"
rx="0"
ry="0"
inkscape:transform-center-x="-29.166404"
inkscape:transform-center-y="139.4153"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:12.98119068;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3-6-6-1"
width="79.413162"
height="79.41317"
x="826.09625"
y="280.48651"
rx="0"
ry="0"
inkscape:transform-center-x="-29.166404"
inkscape:transform-center-y="139.41528"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:9.61340618;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-3"
width="41.781116"
height="82.780952"
x="443.28558"
y="509.78845"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:9.61340523;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-75"
width="82.780945"
height="41.78112"
x="443.28558"
y="550.78833"
rx="0"
ry="0"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:9.61340523;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3-6-3"
width="82.780945"
height="41.78112"
x="593.42645"
y="550.78839"
rx="0"
ry="0"
inkscape:transform-center-x="-30.4033"
inkscape:transform-center-y="73.349637"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:9.61340523;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect833-6-5-9-7-3-6-5"
width="41.781116"
height="82.780952"
x="634.42627"
y="509.78851"
rx="0"
ry="0"
inkscape:transform-center-x="-15.345135"
inkscape:transform-center-y="145.32765"
inkscape:export-xdpi="96.379997"
inkscape:export-ydpi="96.379997" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,118 @@
(function() {
let csvBySelectionButton = document.getElementById("csvBySelection");
let unsetSelectionButton = document.getElementById("unsetSelection");
function checkCSVBySelectionAccessibility() {
let selected = document.getElementsByClassName("humanTLToggled");
if (selected.length === 0) {
csvBySelectionButton.classList.add("invisible");
unsetSelection.classList.add("invisible");
}
else {
csvBySelectionButton.classList.remove("invisible");
unsetSelection.classList.remove("invisible");
}
}
// Takes a callback function
function doForFieldList(callback) {
let fieldLists = document.getElementsByClassName("fieldList");
for (let i = 0, max = fieldLists.length; i < max; i++) {
let fields = fieldLists[i].getElementsByTagName("li");
for (let j = 0, maxj = fields.length; j < maxj; j++) {
callback(fields[j]);
}
}
}
function toggleListFieldSelectionState(field) {
let newValue = field.getAttribute("data-alt");
field.setAttribute("data-alt", field.textContent);
field.textContent = newValue;
field.classList.toggle("humanTLToggled");
}
doForFieldList(function(field) {
// Each field should switch its visible content and human-readable
// translation on a click.
field.addEventListener('click', function(e) {
toggleListFieldSelectionState(field);
checkCSVBySelectionAccessibility();
});
});
csvBySelectionButton.addEventListener('click', function(e) {
let selectionForm = document.createElement("form");
selectionForm.method = "POST";
selectionForm.action = "csv.php";
let hiddenInput = document.createElement("input");
hiddenInput.type = "hidden";
hiddenInput.name = "selectedFields";
hiddenInput.value = "";
let selected = document.getElementsByClassName("humanTLToggled");
for (let i = 0, max = selected.length; i < max; i++) {
hiddenInput.value += selected[i].getAttribute("data-value") + ",";
}
selectionForm.appendChild(hiddenInput);
document.documentElement.appendChild(selectionForm);
selectionForm.submit();
});
let selectRequired = document.getElementById("selectRequired");
selectRequired.addEventListener('click', function(e) {
doForFieldList(function(field) {
if (field.classList.contains("requiredField") === false) return;
if (field.classList.contains("humanTLToggled") === true) return;
toggleListFieldSelectionState(field);
checkCSVBySelectionAccessibility();
});
});
let selectAll = document.getElementById("selectAll");
selectAll.addEventListener('click', function(e) {
doForFieldList(function(field) {
if (field.classList.contains("humanTLToggled") === true) return;
toggleListFieldSelectionState(field);
checkCSVBySelectionAccessibility();
});
});
unsetSelectionButton.addEventListener('click', function(e) {
doForFieldList(function(field) {
if (field.classList.contains("humanTLToggled") === false) return;
toggleListFieldSelectionState(field);
checkCSVBySelectionAccessibility();
});
});
})();

73
assets/js/newToolTip.js Normal file
View File

@ -0,0 +1,73 @@
/**
* A simple implementation of a tooltip.
*
* @author Joshua Ramon Enslin <joshua@jrenslin.de>
*/
function generateToolTips() {
/**
* Function for setting the alignment of an element.
*
* @param {Event} e Event triggering the execution of this function.
* @param {DOMElement} elem Dom element to position.
*
* @return {void}
*/
function getDirection(e, elem) {
if (window.innerHeight < e.clientY + elem.clientHeight) {
elem.style.top = "";
elem.style.bottom = (window.innerHeight - e.clientY) + "px";
}
else {
elem.style.bottom = "";
elem.style.top = (e.clientY + 2) + "px";
}
if (window.innerWidth < e.clientX + elem.clientWidth) {
elem.style.left = "";
elem.style.right = (window.innerWidth - e.clientX) + "px";
} else {
elem.style.right = "";
elem.style.left = (e.clientX + 2) + "px";
}
}
let triggers = document.getElementsByClassName("newToolTipTag");
for (let i = 0, max = triggers.length; i < max; i++) {
let trigger = triggers[i];
let dataTarget = trigger.getAttribute("data-for");
let target = document.getElementById("tooltip_" + dataTarget);
trigger.addEventListener("mouseover", function(e) {
let newMain = document.getElementById("newToolTipMain");
if (newMain !== null) return;
newMain = target.cloneNode(true);
newMain.id = "newToolTipMain";
document.getElementsByTagName("body")[0].appendChild(newMain);
newMain.classList.add("visible");
getDirection(e, newMain);
});
trigger.addEventListener("mousemove", function(e) {
let newMain = document.getElementById("newToolTipMain");
getDirection(e, newMain);
});
trigger.addEventListener("mouseout", function(e) {
let newMain = document.getElementById("newToolTipMain");
if (newMain.classList.contains("sticked")) return;
newMain.classList.remove("visible");
document.getElementsByTagName("body")[0].removeChild(newMain);
});
/*
trigger.addEventListener("click", function(e) {
document.getElementById("newToolTipMain").classList.toggle("sticked");
});
*/
}
}
generateToolTips();

76
csv.php Normal file
View File

@ -0,0 +1,76 @@
<?PHP
/**
* Generates a CSV template based on the field list provided for CSVXML.
*
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
*/
declare(strict_types = 1);
error_reporting(E_ALL);
ini_set('display_errors', "1");
require_once __DIR__ . "/functions/functions.php";
if (session_status() != PHP_SESSION_ACTIVE) {
session_start();
}
// This array contains all available languages
$allowed_langs = ['ar', 'de', 'en', 'hu', 'id', 'it', 'pl','pt'];
// Some languages are in translation. They will only be available for logged in users.
if (isset($_GET['navlang'])) {
$_SESSION['lang'] = $_GET['navlang'];
if (!in_array($_SESSION['lang'], $allowed_langs)) $_SESSION['lang'] = 'de';
}
else if (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = lang_getfrombrowser($allowed_langs, 'en', "", false);
}
$lang = $_SESSION['lang'];
if (!empty($_POST) and !empty($_POST['selectedFields'])) {
$selectionActive = true;
$selectedFields = explode(",", trim($_POST['selectedFields'], ","));
}
else $selectionActive = false;
require __DIR__ . "/values/availableFields.php";
$line1 = $line2 = $line3 = $line4 = [];
$tLine1 = $tLine2 = $tLine3 = $tLine4 = [];
foreach ($availableFields as $headline => $fields) {
$i = 0;
$tLine1[] = $headline;
foreach($fields as $fieldName => $field) {
if ($selectionActive === true and !in_array($fieldName, $selectedFields)) {
continue;
}
if ($i !== 0) $tLine1[] = "";
$tLine2[] = $fieldName;
$tLine3[] = $field['name_human_readable'];
$tLine4[] = $field['remark'];
$i++;
}
if (empty($tLine2)) continue;
for ($i = 1; $i <= 4; $i++) {
${"line$i"} = array_merge(${"line$i"}, ${"tLine$i"});
}
}
header('Content-Type: text/csv');
if ($selectionActive === true)
header("Content-Disposition: attachment; filename=csvxml_museum-digital_template-{$lang}_selection.csv");
else
header("Content-Disposition: attachment; filename=csvxml_museum-digital_template-{$lang}.csv");
for ($i = 1; $i <= 4; $i++) {
echo '"' . implode("\";\"", ${"line$i"}) . '"' . PHP_EOL;
}

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

159
functions/functions.php Normal file
View File

@ -0,0 +1,159 @@
<?PHP
/**
* Generic collection of functions used in CSVXML.
*/
declare(strict_types = 1);
/**
* Function lang_getfrombrowser gets the browser language based on HTTP headers.
*
* @param array $allowed_languages Array containing all the languages for which
* there are translations.
* @param string $default_language Default language of the instance of MD.
* @param string $lang_variable Currently set language variable. Optional.
* @param boolean $strict_mode Whether to demand "de-de" (true) or "de" (false) Optional.
*
* @return string
*/
function lang_getfrombrowser(array $allowed_languages, string $default_language, string $lang_variable = "", bool $strict_mode = true):string {
// $_SERVER['HTTP_ACCEPT_LANGUAGE'] verwenden, wenn keine Sprachvariable mitgegeben wurde
if ($lang_variable === "") {
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) $lang_variable = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
// wurde irgendwelche Information mitgeschickt?
if (empty($lang_variable)) {
// Nein? => Standardsprache zurückgeben
return $default_language;
}
// Den Header auftrennen
$accepted_languages = preg_split('/,\s*/', $lang_variable);
// Die Standardwerte einstellen
$current_lang = $default_language;
$current_q = 0;
// Nun alle mitgegebenen Sprachen abarbeiten
foreach ($accepted_languages as $accepted_language) {
// Alle Infos über diese Sprache rausholen
// phpcs:disable Generic.Strings.UnnecessaryStringConcat
$res = preg_match('/^([a-z]{1,8}(?:-[a-z]{1,8})*)' . '(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i', $accepted_language, $matches);
// phpcs:enable
// war die Syntax gültig?
if (!$res) {
// Nein? Dann ignorieren
continue;
}
// Sprachcode holen und dann sofort in die Einzelteile trennen
$lang_code = explode('-', $matches[1]);
// Wurde eine Qualität mitgegeben?
if (isset($matches[2])) {
// die Qualität benutzen
$lang_quality = (float)$matches[2];
} else {
// Kompabilitätsmodus: Qualität 1 annehmen
$lang_quality = 1.0;
}
// Bis der Sprachcode leer ist...
// phpcs:disable Squiz.PHP.DisallowSizeFunctionsInLoops
while (count($lang_code)) {
// phpcs:enable
// mal sehen, ob der Sprachcode angeboten wird
if (in_array(strtolower(join('-', $lang_code)), $allowed_languages)) {
// Qualität anschauen
if ($lang_quality > $current_q) {
// diese Sprache verwenden
$current_lang = strtolower(join('-', $lang_code));
$current_q = $lang_quality;
// Hier die innere while-Schleife verlassen
break;
}
}
// Wenn wir im strengen Modus sind, die Sprache nicht versuchen zu minimalisieren
if ($strict_mode) {
// innere While-Schleife aufbrechen
break;
}
// den rechtesten Teil des Sprachcodes abschneiden
array_pop($lang_code);
}
}
// die gefundene Sprache zurückgeben
return $current_lang;
}
/**
* Function for generating the HTML head.
*
* @param string $injected Additional code to inject into the head, e.g. a
* reference to JS files.
*
* @return string
*/
function printHTMLHead(string $injected = "") {
$output = '<!DOCTYPE HTML>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="theme-color" content="#FFF" />
<link rel="stylesheet" type="text/css" href="assets/css/csvxml.css" />
<link rel="shortcut icon" sizes="128x128" href="assets/img/mdlogo-code.svg" />
<script src="assets/js/csvxml-overview.js" type="text/javascript" defer></script>
<title>CSVXML :: museum-digital</title>
<meta name="keywords" content="Imports, museum-digital" />
';
$output .= $injected;
$output .= '
</head>
<body>
<h1>
<img src="assets/img/mdlogo-code.svg" />
<span>museum-digital:csvxml</span>
</h1>
';
return $output;
}
/**
* Function generateHelpTooltip returns a tooltip for hovering over using the common settings.
*
* @param string $identifier ID attribute of the tooltip.
* @param string $title Title of the tooltip.
* @param string $explica More in-depth explanation: body of the tooltip.
* @param boolean $setParagraph If set to true (default), the content of the tooltip will be put into a <p> element. Optional.
*
* @return array
*/
function generateHelpTooltip(string $identifier, string $title, string $explica, bool $setParagraph = true):array {
$outputTag = '<a class="newToolTipTag icons iconsHelp" data-for="' . $identifier . '" title="Help"></a>';
$output = '<span class="newToolTip" id="tooltip_' . $identifier . '" data-title="' . $title . '">';
if ($setParagraph) $output .= '<p class="toolTipCont">';
$output .= $explica;
if ($setParagraph) $output .= '</p>';
$output .= '</span>';
return [$output, $outputTag];
}

95
new.php Normal file
View File

@ -0,0 +1,95 @@
<?PHP
/**
* New start page for CSVXML.
*
* @link https://groupit.museum-digital.de/csvxml/
*
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
*/
declare(strict_types = 1);
error_reporting(E_ALL);
ini_set('display_errors', "1");
require_once __DIR__ . "/functions/functions.php";
if (session_status() != PHP_SESSION_ACTIVE) {
session_start();
}
// This array contains all available languages
$allowed_langs = ['ar', 'de', 'en', 'hu', 'id', 'it', 'pl','pt'];
// Some languages are in translation. They will only be available for logged in users.
if (isset($_GET['navlang'])) {
$_SESSION['lang'] = $_GET['navlang'];
if (!in_array($_SESSION['lang'], $allowed_langs)) $_SESSION['lang'] = 'de';
}
else if (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = lang_getfrombrowser($allowed_langs, 'en', "", false);
}
$lang = $_SESSION['lang'];
$toInject = '
<link rel="stylesheet" type="text/css" href="assets/css/editMenu.css" />
<script src="assets/js/newToolTip.js" type="text/javascript" defer></script>
';
echo printHTMLHead($toInject);
echo '
<div class="uploader">
<form enctype="multipart/form-data" action="upload.php" method="POST">
<label for="fileToUpload">Please select a CSV-file to create xml-files</label>
<input name="uploaded" type="file" id="fileToUpload" required />
<button type="submit">Upload</button>
</form>
</div>
<div>
<h2>Currently approved tags (column names) for md:import</h2>
<div class="options">
<a href="csv.php" class="buttonLike">Download CSV template with all fields</a>
<a class="buttonLike invisible" id="csvBySelection">Download CSV template based on selection</a>
<br />
<a class="buttonLike" id="selectRequired">Select required fields</a>
<a class="buttonLike" id="selectAll">Select all fields</a>
<a class="buttonLike invisible" id="unsetSelection">Unset selection</a>
</div>
';
require __DIR__ . "/values/availableFields.php";
$tooltips = [];
foreach ($availableFields as $headline => $fields) {
echo "<h3>{$headline}</h3>
<ul class='fieldList'>
";
foreach($fields as $fieldName => $field) {
echo "
<li data-alt='{$field['name_human_readable']}' data-value='{$fieldName}' data-for='{$fieldName}' class='newToolTipTag";
if ($field['required'] === true) echo " requiredField";
echo "'>{$fieldName}";
$toolTip = generateHelpTooltip($fieldName, $field['name_human_readable'], "{$field['remark']}</p><h5>General</h5><p>" . $field['explica']);
$tooltips[] = $toolTip[0];
echo "</li>";
}
echo '</ul>';
}
echo '
</div>
';
echo implode($tooltips);
echo '
</body>
</html>
';

762
values/availableFields.php Normal file
View File

@ -0,0 +1,762 @@
<?PHP
/* Structure of array:
0: name of element
1: mandatory? (y or n)
2: format (eg. text/utf8
3: allowed values (eg. "m", "cm", ...)
4: dependent fields
5: remarks
*/
require __DIR__ . "/langfiles/$lang/object_basis.php";
require __DIR__ . "/langfiles/$lang/quality.php";
require __DIR__ . "/langfiles/$lang/museum.php";
require __DIR__ . "/langfiles/$lang/place.php";
require __DIR__ . "/langfiles/$lang/settings.php";
$availableFields = [
"basic" => [
"inventory_number" => [
"required" => true,
"format" => 'text/utf8',
"allowedValues" => 'freetext',
"dependsOn" => [],
"remark" => 'Only unique values allowed',
"name_human_readable" => $object_basis['inventory_number'],
"explica" => $object_basis['inv_explica'],
],
"object_type" => [
"required" => true,
"format" => 'text/utf8',
"allowedValues" => 'freetext',
"dependsOn" => [],
"remark" => 'Keep it short! Field is needed to create valid LIDO from museum-digital entries',
"name_human_readable" => $object_basis['object_type'],
"explica" => $object_basis['oart_explica'],
],
"object_title" => [
"required" => true,
"format" => 'text/utf8',
"allowedValues" => 'freetext',
"dependsOn" => [],
"remark" => 'Best is not to repeat the title again and again for many objects, e.g. vase, vase, vase ... better: Green vase, Blue vase, Yellow vase, ...',
"name_human_readable" => $object_basis['object_name'],
"explica" => $object_basis['oname_explica'],
],
"institution_name" => [
"required" => false,
"format" => 'text/utf8',
"allowedValues" => 'freetext',
"dependsOn" => [],
"remark" => 'If name of institution is given it has to be exactly the same as already known in museum-digital',
"name_human_readable" => $museum['museum_name'],
"explica" => $museum['musnam_explica'],
],
]
];
/*
* Repeat fields
*/
// Collection names
for ($i = 1; $i <= 2; $i++) {
$availableFields["basic"]["collection_name{$i}"] = [
"category" => "basic",
"required" => false,
"format" => 'text/utf8',
"allowedValues" => 'freetext',
"dependsOn" => [],
"remark" => 'Use if object belongs to a collection. If collection is already in museum-digital, please use exactly the same name',
"name_human_readable" => $museum['museum_name'],
"explica" => $museum['musnam_explica'],
];
}
return;
$allowed = array(
array ('object_title','y','text/utf8','freetext','none','Best is not to repeat the title again and again for many objects, e.g. vase, vase, vase ... better: Green vase, Blue vase, Yellow vase, ...'),
array ('object_description','y','text/utf8','freetext','none','A good description of the objects is fundamental to make the objects searchable in the internet'),
array ('object_material_technique','n','text/utf8','freetext','none','This is a cummulative field for material and technique. It is also possible to additionally save the information separate in the fields: <i>material_separate</i> and <i>technique_separate</i>'),
array ('object_dimensions','n','text/utf8','freetext','none','This is a cummulative field for dimensions (values and units). It is also possible to additionally save the information separate. See the block: <i>separate dimensions</i>'),
array ('object_publication','n','One letter only','"y","n"','none','Shall the object be visible directly after import?'),
array ('object_other_title','n','text/utf8','freetext','object_other_title_kind_of','If the field <i>object_other_title</i> is used. It has to be specified where this alternative title is used. Specification should be done within the field: <i>object_other_title_kind_of</i>'),
array ('object_other_title_kind_of','n','text/utf8','de: "Wissenschaft", "Alltagssprache", "Umgangssprache", "Dialekt"<br>hu: "Tudományos", "Köznyelvi", "Nyelvjárás"', 'object_other_title', 'This field has to be used togehter with <i>object_other_title</i>'),
array ('detailed_description','n','text/utf8','freetext','detailed_description_md and detailed_description_extern','If <i>detailed_desription</i> is made available for an object, <i>detailed_description_md</i> and <i>detailed_description_extern</i> have to have values too'),
array ('detailed_description_md','n','One letter only','"y","n"','detailed_description and detailed_description_extern','Shall detailed description be visible at museum-digital? If <i>detailed_desription</i> is available for an object, <i>detailed_description_md</i> and <i>detailed_description_extern</i> have to have values too'),
array ('detailed_description_extern','n','One letter only','"y","n"','detailed_description_md and detailed_description','Shall later exports from museum-digital include the detailed_description?</br>If <i>detailed_desription</i> is available for an object, <i>detailed_description_md</i> and <i>detailed_description_extern</i> have to have values too'),
array ('inscription','n','text/utf8','freetext','inscription_md and inscription_extern','If <i>inscription</i> is made available for an object, <i>inscription_md></i> and <i>inscription_extern</i> have to have values too'),
array ('inscription_md','n','One letter only','"y","n"','inscription_md and inscription_extern','Shall a given inscription be displayed at museum-digital? If <i>inscription</i> is available for an object, <i>inscription_md></i> and <i>inscription_extern</i> have to have values too'),
array ('inscription_extern','n','One letter only','"y","n"','inscription_md and inscription_extern','Shall later exports from museum-digital inlude inscription? If <i>inscription</i> is available for an object, <i>inscription_md></i> and <i>inscription_extern</i> have to have values too'),
array ('material_separate','n','text/utf8','freetext','none','Additional to collecting material and technique in a combined field (see above), the material(s) can be given here separately'),
array ('technique_separate','n','text/utf8','freetext','none', 'Additional to collecting material and technique in a combined field (see above), the technique(s) can be given here separately'),
array ('dimensions_separate_length_value','n','text/utf8','number','dimensions_separate_length_unit, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_length_unit','n','text/utf8','"m","dm","cm","mm"','dimensions_separate_length_value, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_width_value', 'n', 'text/utf8', 'number','dimensions_separate_width_unit, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_width_unit', 'n', 'text/utf8', '"m","dm","cm","mm"','dimensions_separate_width_value, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_height_value', 'n', 'text/utf8', 'number','dimensions_separate_height_unit, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_height_unit', 'n', 'text/utf8', '"m","dm","cm","mm"','dimensions_separate_height_value, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_weight_value', 'n', 'text/utf8','number','dimensions_separate_weight_unit, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_weight_unit', 'n', 'text/utf8', '"m","dm","cm","mm"','dimensions_separate_width_value, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_diameter_value', 'n', 'text/utf8', 'number','dimensions_separate_diameter_unit, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_diameter_unit', 'n', 'text/utf8', '"m","dm","cm","mm"','dimensions_separate_diameter_value, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_wall_thickness_value', 'n', 'text/utf8', 'number','dimensions_separate_thickness_unit, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_wall_thickness_unit', 'n', 'text/utf8', '"m","dm","cm","mm"','dimensions_separate_thickness_value, dimensions_separate_show_md, dimensions_separate_show_extern','If a separated value is given an entry for the respective unit is necessary. If a separated dimension entry is given, <i>dimensions_separate_show_md</i> and <i>dimensions_separate_show_extern</i> need to be filled in, too.'),
array ('dimensions_separate_show_md', 'n', 'One letter only', '"y","n"','Any field named dimensions_separate ...','If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be made visible at museum-digital'),
array ('dimensions_separate_show_extern', 'n', 'One letter only', '"y","n"','Any field named dimensions_separate ...','If one or more separate dimension-value (and -unit) is given it has to be specified if the separated entries should be included in a later export from museum-digital'),
array ('number_of_pieces', 'n', 'text/utf8','number','none','Only to be given if more than one copies of an object are available and catalogued with the same inventory number'),
array ('number_of_pages', 'n', 'text/utf8', 'number', 'none','Only to be given for books (etc.)'),
array ('comparable_objects_other_museums', 'n', 'text/utf8', 'freetext', 'comparable_objects_other_museums_show_md, comparable_objects_other_museums_show_extern', 'Name of other museum and if available the inventory number of the respective object. If <i>comparable_objects_other_museums</i> is given <i>comparable_objects_other_museums_show_md</i> and <i>comparable_objects_other_museums_show_extern</i> have to be given too'),
array ('comparable_objects_other_museums_show_md', 'n', 'One letter only', '"y","n"', 'comparable_objects_other_museums','Necessary if <i>comparable_objects_other_museums</i> is given. Should the information about comparable objects be displayed at museum-digital?'),
array ('comparable_objects_other_museums_show_extern', 'n', 'One letter only', '"y","n"', 'comparable_objects_other_museums','Necessary if <i>comparable_objects_other_museums</i> is given. Should the information about comparable objects be part of later exports from museum-digital?'),
//array ('other_object_title', 'n', ''),
//array ('other_object_title_in', 'n', ''),
array ('closer_location', 'n', 'text/utf8', 'freetext', 'closer_location_as', 'A place in a special relation to the object. The kind of relation has to specified in <i>closer_location_as</i>'),
array ('closer_location_as', 'n', 'text/utf8', 'de: "Aufnahmeort", "Fundort", "Früherer Ort"&#10;hu: "Felvétel késztésének helye","Lelőhely","Történelmi elnevezés"', 'closer_location', 'A place in a special relation to the object can be given in <i>closer_location</i>. Here the kind of relation between object and place has to specified'),
/* Structure of array:
0: name of element
1: mandatory? (y or n)
2: format (eg. text/utf8
3: allowed values (eg. "m", "cm", ...)
4: dependent fields
5: remarks
*/
array ('entry_number', 'n', 'text/utf8','freetext','none','The entry number of the object if available'),
array ('other_inventory_number', 'n', 'text/utf8','freetext','none','All other inventory numbers (older ones presumably) in one field'),
array ('subject_group', 'n', 'text/utf8','freetext','none','If the object is part of an subject group this information should be given here'),
array ('systematic', 'n', 'text/utf8','freetext','none','If the object is put into a museum-systematic the place it has there'),
array ('bundle', 'n', 'text/utf8','freetext','none','The bundle the object belongs to'),
array ('part_of', 'n', 'text/utf8','freetext','none','If the object is part of something it can be given here'),
array ('inclusion_when', 'n', ''),
array ('inclusion_kind_of', 'n', ''),
array ('inclusion_who', 'n', ''),
array ('inclusion_where', 'n', ''),
array ('registration_first_who', 'n', ''),
array ('registration_first_when', 'n', ''),
array ('owner_previous', 'n', ''),
array ('object_history', 'n', ''),
array ('bought_for', 'n', ''),
array ('bought_for_currency', 'n', ''),
array ('worth_determiner', 'n', ''),
array ('worth_when', 'n', ''),
array ('worth_value', 'n', ''),
array ('worth_unit', 'n', ''),
array ('worth_incurance_determiner', 'n', ''),
array ('worth_incurance_when', 'n', ''),
array ('worth_insurance_value', 'n', ''),
array ('worth_insurance_unit', 'n', ''),
array ('state', 'n', ''),
array ('restauration', 'n', ''),
array ('abode_actual', 'n', ''),
array ('abode_regular', 'n', ''),
array ('exhibition', 'n', ''),
array ('on_loan_to', 'n', ''),
array ('on_loan_contact', 'n', ''),
array ('on_loan_when', 'n', ''),
array ('on_loan_insurance_value', 'n', ''),
array ('on_loan_annotation', 'n', ''),
array ('copyright', 'n', ''),
array ('rights_of_use', 'n', ''),
array ('rights_annotation', 'n', ''),
array ('remarks_short', 'n', ''),
array ('remarks_long', 'n', ''),
array ('images_in_museum', 'n', ''),
array ('documents_in_museum', 'n', ''),
array ('link_url1', 'n', ''),
array ('link_show1', 'n', ''),
array ('link_url2', 'n', ''),
array ('link_show2', 'n', ''),
array ('literature_author1', 'n', ''),
array ('literature_year1', 'n', ''),
array ('literature_title1', 'n', ''),
array ('literature_place1', 'n', ''),
array ('literature_abbreviation1', 'n', ''),
array ('literature_gnd1', 'n', ''),
array ('literature_isbn1', 'n', ''),
array ('literature_signature1', 'n', ''),
array ('literature_online1', 'n', ''),
array ('literature_annotation1', 'n', ''),
array ('literature_inlit1', 'n', ''),
array ('literature_author2', 'n', ''),
array ('literature_year2', 'n', ''),
array ('literature_title2', 'n', ''),
array ('literature_place2', 'n', ''),
array ('literature_abbreviation2', 'n', ''),
array ('literature_gnd2', 'n', ''),
array ('literature_isbn2', 'n', ''),
array ('literature_signature2', 'n', ''),
array ('literature_online2', 'n', ''),
array ('literature_annotation2', 'n', ''),
array ('literature_inlit2', 'n', ''),
array ('object_group_name1', 'n', ''),
array ('object_group_description1', 'n', ''),
array ('object_group_show1', 'n', ''),
array ('object_group_name2', 'n', ''),
array ('object_group_description2', 'n', ''),
array ('object_group_show2', 'n', ''),
array ('object_group_name3', 'n', ''),
array ('object_group_description3', 'n', ''),
array ('object_group_show3', 'n', ''),
array ('object_group_name4', 'n', ''),
array ('object_group_description4', 'n', ''),
array ('object_group_show4', 'n', ''),
array ('object_group_name5', 'n', ''),
array ('object_group_description5', 'n', ''),
array ('object_group_show5', 'n', ''),
array ('tag1', 'n', ''),
array ('tag2', 'n', ''),
array ('tag3', 'n', ''),
array ('tag4', 'n', ''),
array ('tag5', 'n', ''),
array ('tag6', 'n', ''),
array ('tag7', 'n', ''),
array ('tag8', 'n', ''),
array ('tag9', 'n', ''),
array ('tag10', 'n', ''),
array ('related_place1', 'n', ''),
array ('related_place_sure1', 'n', ''),
array ('related_place2', 'n', ''),
array ('related_place_sure2', 'n', ''),
array ('related_actor1', 'n', ''),
array ('related_actor_sure1', 'n', ''),
array ('related_actor2', 'n', ''),
array ('related_actor_sure2', 'n', ''),
array ('related_time1', 'n', ''),
array ('related_time_sure1', 'n', ''),
array ('related_time2', 'n', ''),
array ('related_time_sure2', 'n', ''),
array ('image_name1', 'n', ''),
array ('image_description1', 'n', ''),
array ('image_owner1', 'n', ''),
array ('image_creator1', 'n', ''),
array ('image_rights1', 'n', ''),
array ('image_visible1', 'n', ''),
array ('image_main1', 'n', ''),
array ('image_name2', 'n', ''),
array ('image_description2', 'n', ''),
array ('image_owner2', 'n', ''),
array ('image_creator2', 'n', ''),
array ('image_rights2', 'n', ''),
array ('image_visible2', 'n', ''),
array ('image_main2', 'n', ''),
array ('image_name3', 'n', ''),
array ('image_description3', 'n', ''),
array ('image_owner3', 'n', ''),
array ('image_creator3', 'n', ''),
array ('image_rights3', 'n', ''),
array ('image_visible3', 'n', ''),
array ('image_main3', 'n', ''),
array ('image_name4', 'n', ''),
array ('image_description4', 'n', ''),
array ('image_owner4', 'n', ''),
array ('image_creator4', 'n', ''),
array ('image_rights4', 'n', ''),
array ('image_visible4', 'n', ''),
array ('image_main4', 'n', ''),
array ('image_name5', 'n', ''),
array ('image_description5', 'n', ''),
array ('image_owner5', 'n', ''),
array ('image_creator5', 'n', ''),
array ('image_rights5', 'n', ''),
array ('image_visible5', 'n', ''),
array ('image_main5', 'n', ''),
array ('image_name6', 'n', ''),
array ('image_description6', 'n', ''),
array ('image_owner6', 'n', ''),
array ('image_creator6', 'n', ''),
array ('image_rights6', 'n', ''),
array ('image_visible6', 'n', ''),
array ('image_main6', 'n', ''),
array ('image_name7', 'n', ''),
array ('image_description7', 'n', ''),
array ('image_owner7', 'n', ''),
array ('image_creator7', 'n', ''),
array ('image_rights7', 'n', ''),
array ('image_visible7', 'n', ''),
array ('image_main7', 'n', ''),
array ('image_name8', 'n', ''),
array ('image_description8', 'n', ''),
array ('image_owner8', 'n', ''),
array ('image_creator8', 'n', ''),
array ('image_rights8', 'n', ''),
array ('image_visible8', 'n', ''),
array ('image_main8', 'n', ''),
array ('image_name9', 'n', ''),
array ('image_description9', 'n', ''),
array ('image_owner9', 'n', ''),
array ('image_creator9', 'n', ''),
array ('image_rights9', 'n', ''),
array ('image_visible9', 'n', ''),
array ('image_main9', 'n', ''),
array ('image_name10', 'n', ''),
array ('image_description10', 'n', ''),
array ('image_owner10', 'n', ''),
array ('image_creator10', 'n', ''),
array ('image_rights10', 'n', ''),
array ('image_visible10', 'n', ''),
array ('image_main10', 'n', ''),
array ('resource_media_type1', 'n', ''),
array ('resource_fileformat1', 'n', ''),
array ('resource_location1', 'n', ''),
array ('resource_name1', 'n', ''),
array ('resource_description1', 'n', ''),
array ('resource_owner1', 'n', ''),
array ('resource_creator1', 'n', ''),
array ('resource_rights1', 'n', ''),
array ('resource_visible1', 'n', ''),
array ('resource_media_type2', 'n', ''),
array ('resource_fileformat2', 'n', ''),
array ('resource_location2', 'n', ''),
array ('resource_name2', 'n', ''),
array ('resource_description2', 'n', ''),
array ('resource_owner2', 'n', ''),
array ('resource_creator2', 'n', ''),
array ('resource_rights2', 'n', ''),
array ('resource_visible2', 'n', ''),
array ('production_when1', 'n', ''),
array ('production_when_sure1', 'n', ''),
array ('production_who1', 'n', ''),
array ('production_who_sure1', 'n', ''),
array ('production_where1', 'n', ''),
array ('production_where_sure1', 'n', ''),
array ('production_annotation1', 'n', ''),
array ('production_when2', 'n', ''),
array ('production_when_sure2', 'n', ''),
array ('production_who2', 'n', ''),
array ('production_who_sure2', 'n', ''),
array ('production_where2', 'n', ''),
array ('production_where_sure2', 'n', ''),
array ('production_annotation2', 'n', ''),
array ('finding_when1', 'n', ''),
array ('finding_when_sure1', 'n', ''),
array ('finding_who1', 'n', ''),
array ('finding_who_sure1', 'n', ''),
array ('finding_where1', 'n', ''),
array ('finding_where_sure1', 'n', ''),
array ('finding_annotation1', 'n', ''),
array ('finding_when2', 'n', ''),
array ('finding_when_sure2', 'n', ''),
array ('finding_who2', 'n', ''),
array ('finding_who_sure2', 'n', ''),
array ('finding_where2', 'n', ''),
array ('finding_where_sure2', 'n', ''),
array ('finding_annotation2', 'n', ''),
array ('publication_when1', 'n', ''),
array ('publication_when_sure1', 'n', ''),
array ('publication_who1', 'n', ''),
array ('publication_who_sure1', 'n', ''),
array ('publication_where1', 'n', ''),
array ('publication_where_sure1', 'n', ''),
array ('publication_annotation1', 'n', ''),
array ('publication_when2', 'n', ''),
array ('publication_when_sure2', 'n', ''),
array ('publication_who2', 'n', ''),
array ('publication_who_sure2', 'n', ''),
array ('publication_where2', 'n', ''),
array ('publication_where_sure2', 'n', ''),
array ('publication_annotation2', 'n', ''),
array ('template_creation_when1', 'n', ''),
array ('template_creation_when_sure1', 'n', ''),
array ('template_creation_who1', 'n', ''),
array ('template_creation_who_sure1', 'n', ''),
array ('template_creation_where1', 'n', ''),
array ('template_creation_where_sure1', 'n', ''),
array ('template_creation_annotation1', 'n', ''),
array ('template_creation_when2', 'n', ''),
array ('template_creation_when_sure2', 'n', ''),
array ('template_creation_who2', 'n', ''),
array ('template_creation_who_sure2', 'n', ''),
array ('template_creation_where2', 'n', ''),
array ('template_creation_where_sure2', 'n', ''),
array ('template_creation_annotation2', 'n', ''),
array ('was_depicted_who1', 'n', ''),
array ('was_depicted_who_sure1', 'n', ''),
array ('was_depicted_who2', 'n', ''),
array ('was_depicted_who_sure2', 'n', ''),
array ('was_depicted_place1', 'n', ''),
array ('was_depicted_place_sure1', 'n', ''),
array ('was_depicted_place2', 'n', ''),
array ('was_depicted_place_sure2', 'n', ''),
array ('was_used_when1', 'n', ''),
array ('was_used_when_sure1', 'n', ''),
array ('was_used_who1', 'n', ''),
array ('was_used_who_sure1', 'n', ''),
array ('was_used_where1', 'n', ''),
array ('was_used_where_sure1', 'n', ''),
array ('was_used_annotation1', 'n', ''),
array ('was_used_when2', 'n', ''),
array ('was_used_when_sure2', 'n', ''),
array ('was_used_who2', 'n', ''),
array ('was_used_who_sure2', 'n', ''),
array ('was_used_where2', 'n', ''),
array ('was_used_where_sure2', 'n', ''),
array ('was_used_annotation2', 'n', ''),
array ('written_when1', 'n', ''),
array ('written_when_sure1', 'n', ''),
array ('written_who1', 'n', ''),
array ('written_who_sure1', 'n', ''),
array ('written_where1', 'n', ''),
array ('written_where_sure1', 'n', ''),
array ('written_annotation1', 'n', ''),
array ('written_when2', 'n', ''),
array ('written_when_sure2', 'n', ''),
array ('written_who2', 'n', ''),
array ('written_who_sure2', 'n', ''),
array ('written_where2', 'n', ''),
array ('written_where_sure2', 'n', ''),
array ('written_annotation2', 'n', ''),
array ('collected_when1', 'n', ''),
array ('collected_when_sure1', 'n', ''),
array ('collected_who1', 'n', ''),
array ('collected_who_sure1', 'n', ''),
array ('collected_where1', 'n', ''),
array ('collected_where_sure1', 'n', ''),
array ('collected_annotation1', 'n', ''),
array ('collected_when2', 'n', ''),
array ('collected_when_sure2', 'n', ''),
array ('collected_who2', 'n', ''),
array ('collected_who_sure2', 'n', ''),
array ('collected_where2', 'n', ''),
array ('collected_where_sure2', 'n', ''),
array ('collected_annotation2', 'n', ''),
array ('painted_when1', 'n', ''),
array ('painted_when_sure1', 'n', ''),
array ('painted_who1', 'n', ''),
array ('painted_who_sure1', 'n', ''),
array ('painted_where1', 'n', ''),
array ('painted_where_sure1', 'n', ''),
array ('painted_annotation1', 'n', ''),
array ('painted_when2', 'n', ''),
array ('painted_when_sure2', 'n', ''),
array ('painted_who2', 'n', ''),
array ('painted_who_sure2', 'n', ''),
array ('painted_where2', 'n', ''),
array ('painted_where_sure2', 'n', ''),
array ('painted_annotation2', 'n', ''),
array ('taken_when1', 'n', ''),
array ('taken_when_sure1', 'n', ''),
array ('taken_who1', 'n', ''),
array ('taken_who_sure1', 'n', ''),
array ('taken_where1', 'n', ''),
array ('taken_where_sure1', 'n', ''),
array ('taken_annotation1', 'n', ''),
array ('taken_when2', 'n', ''),
array ('taken_when_sure2', 'n', ''),
array ('taken_who2', 'n', ''),
array ('taken_who_sure2', 'n', ''),
array ('taken_where2', 'n', ''),
array ('taken_where_sure2', 'n', ''),
array ('taken_annotation2', 'n', ''),
array ('received_when1', 'n', ''),
array ('received_when_sure1', 'n', ''),
array ('received_who1', 'n', ''),
array ('received_who_sure1', 'n', ''),
array ('received_where1', 'n', ''),
array ('received_where_sure1', 'n', ''),
array ('received_annotation1', 'n', ''),
array ('received_when2', 'n', ''),
array ('received_when_sure2', 'n', ''),
array ('received_who2', 'n', ''),
array ('received_who_sure2', 'n', ''),
array ('received_where2', 'n', ''),
array ('received_where_sure2', 'n', ''),
array ('received_annotation2', 'n', ''),
array ('printing_plate_produced_when1', 'n', ''),
array ('printing_plate_produced_when_sure1', 'n', ''),
array ('printing_plate_produced_who1', 'n', ''),
array ('printing_plate_produced_who_sure1', 'n', ''),
array ('printing_plate_produced_where1', 'n', ''),
array ('printing_plate_produced_where_sure1', 'n', ''),
array ('printing_plate_produced_annotation1', 'n', ''),
array ('printing_plate_produced_when2', 'n', ''),
array ('printing_plate_produced_when_sure2', 'n', ''),
array ('printing_plate_produced_who2', 'n', ''),
array ('printing_plate_produced_who_sure2', 'n', ''),
array ('printing_plate_produced_where2', 'n', ''),
array ('printing_plate_produced_where_sure2', 'n', ''),
array ('printing_plate_produced_annotation2', 'n', ''),
array ('sent_when1', 'n', ''),
array ('sent_when_sure1', 'n', ''),
array ('sent_who1', 'n', ''),
array ('sent_who_sure1', 'n', ''),
array ('sent_where1', 'n', ''),
array ('sent_where_sure1', 'n', ''),
array ('sent_annotation1', 'n', ''),
array ('sent_when2', 'n', ''),
array ('sent_when_sure2', 'n', ''),
array ('sent_who2', 'n', ''),
array ('sent_who_sure2', 'n', ''),
array ('sent_where2', 'n', ''),
array ('sent_where_sure2', 'n', ''),
array ('sent_annotation2', 'n', ''),
array ('issued_when1', 'n', ''),
array ('issued_when_sure1', 'n', ''),
array ('issued_who1', 'n', ''),
array ('issued_who_sure1', 'n', ''),
array ('issued_where1', 'n', ''),
array ('issued_where_sure1', 'n', ''),
array ('issued_annotation1', 'n', ''),
array ('issued_when2', 'n', ''),
array ('issued_when_sure2', 'n', ''),
array ('issued_who2', 'n', ''),
array ('issued_who_sure2', 'n', ''),
array ('issued_where2', 'n', ''),
array ('issued_where_sure2', 'n', ''),
array ('issued_annotation2', 'n', ''),
array ('signed_when1', 'n', ''),
array ('signed_when_sure1', 'n', ''),
array ('signed_who1', 'n', ''),
array ('signed_who_sure1', 'n', ''),
array ('signed_where1', 'n', ''),
array ('signed_where_sure1', 'n', ''),
array ('signed_annotation1', 'n', ''),
array ('signed_when2', 'n', ''),
array ('signed_when_sure2', 'n', ''),
array ('signed_who2', 'n', ''),
array ('signed_who_sure2', 'n', ''),
array ('signed_where2', 'n', ''),
array ('signed_where_sure2', 'n', ''),
array ('signed_annotation2', 'n', ''),
array ('type_described_when1', 'n', ''),
array ('type_described_when_sure1', 'n', ''),
array ('type_described_who1', 'n', ''),
array ('type_described_who_sure1', 'n', ''),
array ('type_described_where1', 'n', ''),
array ('type_described_where_sure1', 'n', ''),
array ('type_described_annotation1', 'n', ''),
array ('type_described_when2', 'n', ''),
array ('type_described_when_sure2', 'n', ''),
array ('type_described_who2', 'n', ''),
array ('type_described_who_sure2', 'n', ''),
array ('type_described_where2', 'n', ''),
array ('type_described_where_sure2', 'n', ''),
array ('type_described_annotation2', 'n', ''),
array ('drawn_when1', 'n', ''),
array ('drawn_when_sure1', 'n', ''),
array ('drawn_who1', 'n', ''),
array ('drawn_who_sure1', 'n', ''),
array ('drawn_where1', 'n', ''),
array ('drawn_where_sure1', 'n', ''),
array ('drawn_annotation1', 'n', ''),
array ('drawn_when2', 'n', ''),
array ('drawn_when_sure2', 'n', ''),
array ('drawn_who2', 'n', ''),
array ('drawn_who_sure2', 'n', ''),
array ('drawn_where2', 'n', ''),
array ('drawn_where_sure2', 'n', ''),
array ('drawn_annotation2', 'n', ''),
array ('copied_when1', 'n', ''),
array ('copied_when_sure1', 'n', ''),
array ('copied_who1', 'n', ''),
array ('copied_who_sure1', 'n', ''),
array ('copied_where1', 'n', ''),
array ('copied_where_sure1', 'n', ''),
array ('copied_annotation1', 'n', ''),
array ('copied_when2', 'n', ''),
array ('copied_when_sure2', 'n', ''),
array ('copied_who2', 'n', ''),
array ('copied_who_sure2', 'n', ''),
array ('copied_where2', 'n', ''),
array ('copied_where_sure2', 'n', ''),
array ('copied_annotation2', 'n', ''),
array ('has_lived_when1', 'n', ''),
array ('has_lived_when_sure1', 'n', ''),
array ('has_lived_where1', 'n', ''),
array ('has_lived_where_sure1', 'n', ''),
array ('has_lived_annotation1', 'n', ''),
array ('has_lived_when2', 'n', ''),
array ('has_lived_when_sure2', 'n', ''),
array ('has_lived_where2', 'n', ''),
array ('has_lived_where_sure2', 'n', ''),
array ('has_lived_annotation2', 'n', ''),
array ('commissioned_when1', 'n', ''),
array ('commissioned_when_sure1', 'n', ''),
array ('commissioned_who1', 'n', ''),
array ('commissioned_who_sure1', 'n', ''),
array ('commissioned_where1', 'n', ''),
array ('commissioned_where_sure1', 'n', ''),
array ('commissioned_annotation1', 'n', ''),
array ('commissioned_when2', 'n', ''),
array ('commissioned_when_sure2', 'n', ''),
array ('commissioned_who2', 'n', ''),
array ('commissioned_who_sure2', 'n', ''),
array ('commissioned_where2', 'n', ''),
array ('commissioned_where_sure2', 'n', ''),
array ('commissioned_annotation2', 'n', ''),
array ('printed_when1', 'n', ''),
array ('printed_when_sure1', 'n', ''),
array ('printed_who1', 'n', ''),
array ('printed_who_sure1', 'n', ''),
array ('printed_where1', 'n', ''),
array ('printed_where_sure1', 'n', ''),
array ('printed_annotation1', 'n', ''),
array ('printed_when2', 'n', ''),
array ('printed_when_sure2', 'n', ''),
array ('printed_who2', 'n', ''),
array ('printed_who_sure2', 'n', ''),
array ('printed_where2', 'n', ''),
array ('printed_where_sure2', 'n', ''),
array ('printed_annotation2', 'n', ''),
array ('spoken_when1', 'n', ''),
array ('spoken_when_sure1', 'n', ''),
array ('spoken_who1', 'n', ''),
array ('spoken_who_sure1', 'n', ''),
array ('spoken_where1', 'n', ''),
array ('spoken_where_sure1', 'n', ''),
array ('spoken_annotation1', 'n', ''),
array ('spoken_when2', 'n', ''),
array ('spoken_when_sure2', 'n', ''),
array ('spoken_who2', 'n', ''),
array ('spoken_who_sure2', 'n', ''),
array ('spoken_where2', 'n', ''),
array ('spoken_where_sure2', 'n', ''),
array ('spoken_annotation2', 'n', ''),
array ('sung_when1', 'n', ''),
array ('sung_when_sure1', 'n', ''),
array ('sung_who1', 'n', ''),
array ('sung_who_sure1', 'n', ''),
array ('sung_where1', 'n', ''),
array ('sung_where_sure1', 'n', ''),
array ('sung_annotation1', 'n', ''),
array ('sung_when2', 'n', ''),
array ('sung_when_sure2', 'n', ''),
array ('sung_who2', 'n', ''),
array ('sung_who_sure2', 'n', ''),
array ('sung_where2', 'n', ''),
array ('sung_where_sure2', 'n', ''),
array ('sung_annotation2', 'n', ''),
array ('decor_designed_when1', 'n', ''),
array ('decor_designed_when_sure1', 'n', ''),
array ('decor_designed_who1', 'n', ''),
array ('decor_designed_who_sure1', 'n', ''),
array ('decor_designed_where1', 'n', ''),
array ('decor_designed_where_sure1', 'n', ''),
array ('decor_designed_annotation1', 'n', ''),
array ('decor_designed_when2', 'n', ''),
array ('decor_designed_when_sure2', 'n', ''),
array ('decor_designed_who2', 'n', ''),
array ('decor_designed_who_sure2', 'n', ''),
array ('decor_designed_where2', 'n', ''),
array ('decor_designed_where_sure2', 'n', ''),
array ('decor_designed_annotation2', 'n', ''),
array ('form_designed_when1', 'n', ''),
array ('form_designed_when_sure1', 'n', ''),
array ('form_designed_who1', 'n', ''),
array ('form_designed_who_sure1', 'n', ''),
array ('form_designed_where1', 'n', ''),
array ('form_designed_where_sure1', 'n', ''),
array ('form_designed_annotation1', 'n', ''),
array ('form_designed_when2', 'n', ''),
array ('form_designed_when_sure2', 'n', ''),
array ('form_designed_who2', 'n', ''),
array ('form_designed_who_sure2', 'n', ''),
array ('form_designed_where2', 'n', ''),
array ('form_designed_where_sure2', 'n', ''),
array ('form_designed_annotation2', 'n', ''),
array ('modelled_when1', 'n', ''),
array ('modelled_when_sure1', 'n', ''),
array ('modelled_who1', 'n', ''),
array ('modelled_who_sure1', 'n', ''),
array ('modelled_where1', 'n', ''),
array ('modelled_where_sure1', 'n', ''),
array ('modelled_annotation1', 'n', ''),
array ('modelled_when2', 'n', ''),
array ('modelled_when_sure2', 'n', ''),
array ('modelled_who2', 'n', ''),
array ('modelled_who_sure2', 'n', ''),
array ('modelled_where2', 'n', ''),
array ('modelled_where_sure2', 'n', ''),
array ('modelled_annotation2', 'n', ''),
array ('signed_when1', 'n', ''),
array ('signed_when_sure1', 'n', ''),
array ('signed_who1', 'n', ''),
array ('signed_who_sure1', 'n', ''),
array ('signed_where1', 'n', ''),
array ('signed_where_sure1', 'n', ''),
array ('signed_annotation1', 'n', ''),
array ('signed_when2', 'n', ''),
array ('signed_when_sure2', 'n', ''),
array ('signed_who2', 'n', ''),
array ('signed_who_sure2', 'n', ''),
array ('signed_where2', 'n', ''),
array ('signed_where_sure2', 'n', ''),
array ('signed_annotation2', 'n', ''),
array ('was_mentioned_when1', 'n', ''),
array ('was_mentioned_when_sure1', 'n', ''),
array ('was_mentioned_who1', 'n', ''),
array ('was_mentioned_who_sure1', 'n', ''),
array ('was_mentioned_where1', 'n', ''),
array ('was_mentioned_where_sure1', 'n', ''),
array ('was_mentioned_annotation1', 'n', ''),
array ('was_mentioned_when2', 'n', ''),
array ('was_mentioned_when_sure2', 'n', ''),
array ('was_mentioned_who2', 'n', ''),
array ('was_mentioned_who_sure2', 'n', ''),
array ('was_mentioned_where2', 'n', ''),
array ('was_mentioned_where_sure2', 'n', ''),
array ('was_mentioned_annotation2', 'n', ''),
array ('buried_when1', 'n', ''),
array ('buried_when_sure1', 'n', ''),
array ('buried_who1', 'n', ''),
array ('buried_who_sure1', 'n', ''),
array ('buried_where1', 'n', ''),
array ('buried_where_sure1', 'n', ''),
array ('buried_annotation1', 'n', ''),
array ('buried_when2', 'n', ''),
array ('buried_when_sure2', 'n', ''),
array ('buried_who2', 'n', ''),
array ('buried_who_sure2', 'n', ''),
array ('buried_where2', 'n', ''),
array ('buried_where_sure2', 'n', ''),
array ('buried_annotation2', 'n', ''),
array ('intellectual_creation_when1', 'n', ''),
array ('intellectual_creation_when_sure1', 'n', ''),
array ('intellectual_creation_who1', 'n', ''),
array ('intellectual_creation_who_sure1', 'n', ''),
array ('intellectual_creation_where1', 'n', ''),
array ('intellectual_creation_where_sure1', 'n', ''),
array ('intellectual_creation_annotation1', 'n', ''),
array ('intellectual_creation_when2', 'n', ''),
array ('intellectual_creation_when_sure2', 'n', ''),
array ('intellectual_creation_who2', 'n', ''),
array ('intellectual_creation_who_sure2', 'n', ''),
array ('intellectual_creation_where2', 'n', ''),
array ('intellectual_creation_where_sure2', 'n', ''),
array ('intellectual_creation_annotation2', 'n', ''),
array ('painted_on_when1', 'n', ''),
array ('painted_on_when_sure1', 'n', ''),
array ('painted_on_who1', 'n', ''),
array ('painted_on_who_sure1', 'n', ''),
array ('painted_on_where1', 'n', ''),
array ('painted_on_where_sure1', 'n', ''),
array ('painted_on_annotation1', 'n', ''),
array ('painted_on_when2', 'n', ''),
array ('painted_on_when_sure2', 'n', ''),
array ('painted_on_who2', 'n', ''),
array ('painted_on_who_sure2', 'n', ''),
array ('painted_on_where2', 'n', ''),
array ('painted_on_where_sure2', 'n', ''),
array ('painted_on_annotation2', 'n', ''),
array ('illustrated_when1', 'n', ''),
array ('illustrated_when_sure1', 'n', ''),
array ('illustrated_who1', 'n', ''),
array ('illustrated_who_sure1', 'n', ''),
array ('illustrated_where1', 'n', ''),
array ('illustrated_where_sure1', 'n', ''),
array ('illustrated_annotation1', 'n', ''),
array ('illustrated_when2', 'n', ''),
array ('illustrated_when_sure2', 'n', ''),
array ('illustrated_who2', 'n', ''),
array ('illustrated_who_sure2', 'n', ''),
array ('illustrated_where2', 'n', ''),
array ('illustrated_where_sure2', 'n', ''),
array ('illustrated_annotation2', 'n', ''),
);