This commit is contained in:
cgfhtw
2024-11-07 11:47:35 +01:00
parent 8c689418f7
commit f82ed6928a
13 changed files with 744 additions and 74 deletions
+4 -4
View File
@@ -95,7 +95,7 @@ class SearchBarLib
return error(array_map(function ($type) use ($p) {
return $p->t('search', 'error_missing_config', [
'type' => $type
]); // TODO(chris): phrase
]);
}, $missing));
}
$types = $tmp;
@@ -288,7 +288,7 @@ class SearchBarLib
if (!$table_config)
return error($this->_ci->search_phrases->t('search', 'error_missing_config', [
'type' => $name
])); // TODO(chris): phrase
]));
$errors = [];
if (!isset($table_config['table'])
@@ -298,7 +298,7 @@ class SearchBarLib
$errors[] = $this->_ci->search_phrases->t('search', 'error_invalid_config', [
'type' => $name,
'field' => 'table'
]); // TODO(chris): phrase
]);
}
if (!isset($table_config['primarykey'])
|| !is_string($table_config['primarykey'])
@@ -336,7 +336,7 @@ class SearchBarLib
'type' => $name,
'searchfield' => $searchfield,
'field' => 'field'
]); // TODO(chris): phrase
]);
}
if (!isset($config['comparison'])
|| !is_string($config['comparison'])
+1 -1
View File
@@ -75,7 +75,7 @@ export default {
<img v-if="flag" :src="flag" class="ms-2">
<div v-if="preview" class="searchbar_table" v-html="preview"></div>
<div v-else class="searchbar_table text-muted">
No Content
{{ $p.t('search/result_content_none') }}
</div>
</template-frame>`
};
+4 -7
View File
@@ -9,9 +9,6 @@ export default {
res: Object,
actions: Object
},
inject: [
'query'
],
computed: {
icon() {
switch (this.res.mimetype) {
@@ -49,25 +46,25 @@ export default {
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">DMS ID</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_dms_id') }}</div>
<div class="searchbar_tablecell">
{{ res.dms_id }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Version</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_version') }}</div>
<div class="searchbar_tablecell">
{{ res.version }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Keywords</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_keywords') }}</div>
<div class="searchbar_tablecell">
{{ res.keywords }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Description</div>
<div class="searchbar_tablecell">{{ $p.t('global/beschreibung') }}</div>
<div class="searchbar_tablecell">
{{ res.description }}
</div>
@@ -21,25 +21,25 @@ export default {
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Standard-Kostenstelle</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_stdkst') }}</div>
<div class="searchbar_tablecell">
<ul class="searchbar_inline_ul" v-if="res.standardkostenstelle.length > 0">
<li v-for="(stdkst, idx) in res.standardkostenstelle" :key="idx">{{ stdkst }}</li>
</ul>
<span v-else="">keine</span>
<span v-else="">{{ $p.t('search/result_stdkst_none') }}</span>
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Organisations-Einheit</div>
<div class="searchbar_tablecell">{{ $p.t('lehre/organisationseinheit') }}</div>
<div class="searchbar_tablecell">
<ul class="searchbar_inline_ul" v-if="res.organisationunit_name.length > 0">
<li v-for="(oe, idx) in res.organisationunit_name" :key="idx">{{ oe }}</li>
</ul>
<span v-else="">keine</span>
<span v-else="">{{ $p.t('search/result_oe_none') }}</span>
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">EMails</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_emails') }}</div>
<div class="searchbar_tablecell">
<a :href="'mailto:' + res.email" class="d-block">
{{ res.email }}
@@ -47,7 +47,7 @@ export default {
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Telefon</div>
<div class="searchbar_tablecell">{{ $p.t('person/telefon') }}</div>
<div class="searchbar_tablecell">
<a :href="'tel:' + res.phone" class="d-block">
{{ res.phone }}
@@ -47,19 +47,19 @@ export default {
:res="person"
:actions="actions"
:title="person.name"
:image="this.person.photo_url"
:image="person.photo_url"
image-fallback="fas fa-user fa-4x"
@actionexecuted="$emit('actionexecuted')"
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Person ID</div>
<div class="searchbar_tablecell">{{ $p.t('person/person_id') }}</div>
<div class="searchbar_tablecell">
{{ person.person_id }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">EMails</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_emails') }}</div>
<div class="searchbar_tablecell">
<a v-for="email in emails" :key="email" :href="'mailto:' + email" class="d-block">
{{ email }}
@@ -75,12 +75,12 @@ export default {
:action="actions.defaultactionemployee || actions.defaultaction"
@actionexecuted="$emit('actionexecuted')"
>
Mitarbeiter
{{ $p.t('search/result_employee') }}
</template-action>
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell ps-3">Standard-Kostenstelle</div>
<div class="searchbar_tablecell ps-3">{{ $p.t('search/result_stdkst') }}</div>
<div class="searchbar_tablecell">
<ul class="searchbar_inline_ul" v-if="employee.standardkostenstelle.length > 0">
<li
@@ -90,11 +90,11 @@ export default {
{{ stdkst }}
</li>
</ul>
<span v-else="">keine</span>
<span v-else="">{{ $p.t('search/result_stdkst_none') }}</span>
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell ps-3">Organisations-Einheit</div>
<div class="searchbar_tablecell ps-3">{{ $p.t('lehre/organisationseinheit') }}</div>
<div class="searchbar_tablecell">
<ul class="searchbar_inline_ul" v-if="employee.organisationunit_name.length > 0">
<li
@@ -104,11 +104,11 @@ export default {
{{ oe }}
</li>
</ul>
<span v-else="">keine</span>
<span v-else="">{{ $p.t('search/result_oe_none') }}</span>
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell ps-3">Telefon</div>
<div class="searchbar_tablecell ps-3">{{ $p.t('person/telefon') }}</div>
<div class="searchbar_tablecell">
<a :href="telurl">
{{ employee.phone }}
@@ -132,25 +132,25 @@ export default {
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell ps-3">Studiengang</div>
<div class="searchbar_tablecell ps-3">{{ $p.t('lehre/studiengang') }}</div>
<div class="searchbar_tablecell">
{{ student.bezeichnung }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell ps-3">Prestudent ID</div>
<div class="searchbar_tablecell ps-3">{{ $p.t('search/result_prestudent_id') }}</div>
<div class="searchbar_tablecell">
{{ student.prestudent_id }}
</div>
</div>
<div v-if="student.uid" class="searchbar_tablerow">
<div class="searchbar_tablecell ps-3">Student UID</div>
<div class="searchbar_tablecell ps-3">{{ $p.t('search/result_student_uid') }}</div>
<div class="searchbar_tablecell">
{{ student.uid }}
</div>
</div>
<div v-if="student.matrikelnr" class="searchbar_tablerow">
<div class="searchbar_tablecell ps-3">Matrikelnummer</div>
<div class="searchbar_tablecell ps-3">{{ $p.t('person/matrikelnummer') }}</div>
<div class="searchbar_tablecell">
{{ student.matrikelnr }}
</div>
@@ -9,13 +9,6 @@ export default {
res: Object,
actions: Object
},
computed: {
foto() {
if (this.res.foto)
return 'data:image/jpeg;base64,' + this.res.foto;
return null;
}
},
template: `
<template-frame
class="searchbar-result-organisationunit"
@@ -27,14 +20,14 @@ export default {
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">übergeordnete OrgEinheit</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_parent_oe') }}</div>
<div class="searchbar_tablecell">
{{ res.parentoe_name }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Gruppen-EMail</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_group_emails') }}</div>
<div class="searchbar_tablecell">
<a :href="'mailto:' + res.mailgroup">
{{ res.mailgroup }}
@@ -43,17 +36,17 @@ export default {
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Leiter</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_leader') }}</div>
<div class="searchbar_tablecell">
<ul class="searchbar_inline_ul" v-if="res.leaders.length > 0">
<li v-for="(leader, idx) in res.leaders" :key="idx">{{ leader.name }}</li>
</ul>
<span v-else="">N.N.</span>
<span v-else="">{{ $p.t('search/result_leader_none') }}</span>
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Mitarbeiter-Anzahl</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_number_of_employees') }}</div>
<div class="searchbar_tablecell">
{{ res.number_of_people }}
</div>
@@ -26,13 +26,13 @@ export default {
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Person ID</div>
<div class="searchbar_tablecell">{{ $p.t('person/person_id') }}</div>
<div class="searchbar_tablecell">
{{ res.person_id }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">EMails</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_emails') }}</div>
<div class="searchbar_tablecell">
<a v-for="email in emails" :key="email" :href="'mailto:' + email" class="d-block">
{{ email }}
@@ -26,13 +26,13 @@ export default {
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Person ID</div>
<div class="searchbar_tablecell">{{ $p.t('person/person_id') }}</div>
<div class="searchbar_tablecell">
{{ res.person_id }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">EMails</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_emails') }}</div>
<div class="searchbar_tablecell">
<a v-for="email in emails" :key="email" :href="'mailto:' + email" class="d-block">
{{ email }}
@@ -40,25 +40,25 @@ export default {
</div>
</div>
<div v-if="res.uid" class="searchbar_tablerow">
<div class="searchbar_tablecell">Student UID</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_student_uid') }}</div>
<div class="searchbar_tablecell">
{{ res.uid }}
</div>
</div>
<div v-if="res.matrikelnr" class="searchbar_tablerow">
<div class="searchbar_tablecell">Matrikelnummer</div>
<div class="searchbar_tablecell">{{ $p.t('person/matrikelnummer') }}</div>
<div class="searchbar_tablecell">
{{ res.matrikelnr }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Prestudent ID</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_prestudent_id') }}</div>
<div class="searchbar_tablecell">
{{ res.prestudent_id }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Studiengang</div>
<div class="searchbar_tablecell">{{ $p.t('lehre/studiengang') }}</div>
<div class="searchbar_tablecell">
{{ res.bezeichnung }}
</div>
@@ -22,9 +22,9 @@ export default {
if (this.res.street)
address += (address ? ', ' : '') + this.res.street;
if (this.res.floor)
address += (address ? ' / ' : '') + this.res.floor + ' Stockwerk';
address += (address ? ' / ' : '') + this.$p.t('search/result_address_floor', this.res);
return address || 'N/A';
return address || this.$p.t('search/result_address_none');
}
},
template: `
@@ -38,33 +38,33 @@ export default {
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Standort</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_room_address') }}</div>
<div class="searchbar_tablecell">
{{ address }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Sitzplätze</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_workplaces') }}</div>
<div class="searchbar_tablecell">
<template v-if="res.max_person !== null && res.workplaces !== null">
{{ res.max_person }}, davon {{ res.workplaces }} PC-Plätze
{{ $p.t('search/result_workplaces_pc', res) }}
</template>
<template v-else>
N/A
{{ $p.t('search/result_workplaces_none') }}
</template>
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Gebäude</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_building') }}</div>
<div class="searchbar_tablecell">
{{ res.building }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Zusatz Informationen</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_equipment') }}</div>
<div class="searchbar_tablecell">
<div class="no-margin-paragraphs" v-html="equipment"></div>
</div>
@@ -26,25 +26,25 @@ export default {
>
<div class="searchbar_table">
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Student UID</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_student_uid') }}</div>
<div class="searchbar_tablecell">
{{ res.uid }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Person ID</div>
<div class="searchbar_tablecell">{{ $p.t('person/person_id') }}</div>
<div class="searchbar_tablecell">
{{ res.person_id }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">Matrikelnummer</div>
<div class="searchbar_tablecell">{{ $p.t('person/matrikelnummer') }}</div>
<div class="searchbar_tablecell">
{{ res.matrikelnr }}
</div>
</div>
<div class="searchbar_tablerow">
<div class="searchbar_tablecell">EMails</div>
<div class="searchbar_tablecell">{{ $p.t('search/result_emails') }}</div>
<div class="searchbar_tablecell">
<a v-for="email in emails" :key="email" :href="'mailto:' + email" class="d-block">
{{ email }}
@@ -23,6 +23,6 @@ export default {
},
template: `
<a :href="actionHref" @click="actionFunc">
<slot>Action</slot>
<slot>{{ $p.t('search/action_default_label') }}</slot>
</a>`
};
+9 -9
View File
@@ -9,8 +9,6 @@ import ResultDms from "./result/dms.js";
import ResultMergedperson from "./result/mergedperson.js";
import ResultMergedstudent from "./result/mergedstudent.js";
// TODO(chris): arrays in results
export default {
components: {
ResultPerson,
@@ -108,7 +106,7 @@ export default {
.searchfunction(this.searchsettings, { timeout: 50000, signal: this.abortController.signal })
.then(response => {
if (!response.data) {
this.error = 'Bei der Suche ist ein Fehler aufgetreten.';
this.error = this.$p.t('search/error_general');
} else {
let res = response.data.map(el => ({...el, ...JSON.parse(el.data)}));
this.lastQuery = response.meta.searchstring;
@@ -167,7 +165,7 @@ export default {
return this.callsearchapi();
}
this.error = 'Bei der Suche ist ein Fehler aufgetreten.' + ' ' + error.message;
this.error = this.$p.t('search/error_general', error);
this.searching = false;
this.retry = 0;
});
@@ -230,8 +228,8 @@ export default {
v-model="searchsettings.searchstr"
class="form-control"
type="search"
placeholder="Suche..."
aria-label="Search"
:placeholder="$p.t('search/input_search_label')"
:aria-label="$p.t('search/input_search_label')"
>
<button
ref="settingsbutton"
@@ -239,6 +237,8 @@ export default {
class="btn btn-light border-start"
type="button"
id="search-filter"
:title="$p.t('search/button_filter_label')"
:aria-label="$p.t('search/button_filter_label')"
>
<i class="fas fa-cog"></i>
</button>
@@ -254,7 +254,7 @@ export default {
<i class="fas fa-spinner fa-spin fa-2x"></i>
</div>
<div v-else-if="error !== null">{{ error }}</div>
<div v-else-if="searchresult.length < 1">Es wurden keine Ergebnisse gefunden.</div>
<div v-else-if="searchresult.length < 1">{{ $p.t('search/error_no_results') }}</div>
<template v-else>
<template v-for="res in searchresult">
<result-person v-if="res.type === 'person'" :res="res" :actions="searchoptions.actions.person" @actionexecuted="hideresult"></result-person>
@@ -268,7 +268,7 @@ export default {
<result-dms v-else-if="res.type === 'dms'" :res="res" :actions="searchoptions.actions.dms" @actionexecuted="hideresult"></result-dms>
<result-mergedperson v-else-if="res.type === 'mergedperson'" :res="res" :actions="searchoptions.actions.mergedperson" @actionexecuted="hideresult"></result-mergedperson>
<result-mergedstudent v-else-if="res.type === 'mergedstudent'" :res="res" :actions="searchoptions.actions.mergedstudent" @actionexecuted="hideresult"></result-mergedstudent>
<div v-else>Unbekannter Ergebnistyp: '{{ res.type }}'.</div>
<div v-else class="searchbar-result text-danger fw-bold">{{ $p.t('search/error_unknown_type', res) }}</div>
</template>
</template>
</div>
@@ -302,7 +302,7 @@ export default {
class="btn btn-primary"
type="button"
>
Übernehmen
{{ $p.t('search/button_applyfilter_label') }}
</button>
</div>
</form>`
+681 -1
View File
@@ -31165,8 +31165,688 @@ array(
'insertvon' => 'system'
)
)
),
//**************************** CORE/search
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'input_search_label',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Suche...',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Search...',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'button_filter_label',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Filter',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Filter',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'button_applyfilter_label',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Übernehmen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Apply',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'action_default_label',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Standard Aktion',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Default Action',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_student_uid',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Student UID',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Student UID',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_prestudent_id',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Prestudent ID',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Prestudent ID',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_emails',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Emails',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Emails',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_group_emails',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Gruppen-Email',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Group-Email',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_employee',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'MitarbeiterIn',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Employee',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_stdkst',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Standard-Kostenstelle',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Standard cost center',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_stdkst_none',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'keine',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'none',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_parent_oe',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Übergeordnete OE',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Parent OU',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_oe_none',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'keine',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'none',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_room_address',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Standort',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Site',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_address_floor',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => '{floor} Stockwerk',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '{floor} floor',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_address_none',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'N/A',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'N/A',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_workplaces',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Sitzplätze',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Seats',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_workplaces_pc',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => '{max_person}, davon {workplaces} PC-Plätze',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '{max_person}, of which {workplaces} PC-Workstations',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_workplaces_none',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'N/A',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'N/A',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_building',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Gebäude',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Building',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_equipment',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Zusatz Informationen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Additional information',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_leader',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Leiter',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Leader',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_leader_none',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'N.N.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'N/A',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_number_of_employees',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Mitarbeiter-Anzahl',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Number of employees',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_dms_id',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'DMS ID',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'DMS ID',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_version',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Version',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Version',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_keywords',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Schlagwörter',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Keywords',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'result_content_none',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Kein Inhalt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No Content',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'error_no_results',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Es wurden keine Ergebnisse gefunden.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No results were found.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'error_unknown_type',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Unbekannter Ergebnistyp: '{type}'.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Unknown resulttype: '{type}'.",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'error_general',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bei der Suche ist ein Fehler aufgetreten. {message}',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'An error occurred while searching. {message}',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'error_missing_config',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Such-Konfiguration $config["{type}"] nicht gefunden.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Search config $config["{type}"] not found.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'error_invalid_config',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Such-Konfiguration für $config["{type}"] ist ungültig: Feld "{field}" fehlt, ist leer oder hat einen ungültigen Typ.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Search config for $config["{type}"] is invalid: field {field} is missing, empty or has an invalid type.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'search',
'phrase' => 'error_invalid_config_searchfield',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Such-Konfiguration $config["{type}"]["searchfields"]["{searchfield}"] ist ungültig: Feld "{field}" fehlt oder ist unglültig.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Search config $config["{type}"]["searchfields"]["{searchfield}"] is invalid: field {field} is missing or invalid.',
'description' => '',
'insertvon' => 'system'
)
)
)
);