Merge lp:~sebastian-meyer/goobi-presentation/bug909383 into lp:goobi-presentation/1.1

Proposed by Sebastian Meyer
Status: Merged
Merged at revision: 70
Proposed branch: lp:~sebastian-meyer/goobi-presentation/bug909383
Merge into: lp:goobi-presentation/1.1
Diff against target: 670 lines (+537/-17)
5 files modified
dlf/common/class.tx_dlf_helper.php (+2/-2)
dlf/ext_conf_template.txt (+6/-0)
dlf/hooks/class.tx_dlf_em.php (+464/-14)
dlf/locallang.xml (+56/-0)
dlf/plugins/metadata/class.tx_dlf_metadata.php (+9/-1)
To merge this branch: bzr merge lp:~sebastian-meyer/goobi-presentation/bug909383
Reviewer Review Type Date Requested Status
Sebastian Meyer Approve
Review via email: mp+99893@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Sebastian Meyer (sebastian-meyer) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'dlf/common/class.tx_dlf_helper.php'
--- dlf/common/class.tx_dlf_helper.php 2012-03-23 16:19:52 +0000
+++ dlf/common/class.tx_dlf_helper.php 2012-03-29 08:36:18 +0000
@@ -290,11 +290,11 @@
290290
291 if (preg_match('/^[a-z]{3}$/', $_code)) {291 if (preg_match('/^[a-z]{3}$/', $_code)) {
292292
293 $iso639 = $GLOBALS['LANG']->includeLLFile(t3lib_extMgm::extPath(self::$extKey).'/lib/ISO-639/iso-639-2b.xml', FALSE, TRUE);293 $iso639 = $GLOBALS['LANG']->includeLLFile(t3lib_extMgm::extPath(self::$extKey).'lib/ISO-639/iso-639-2b.xml', FALSE, TRUE);
294294
295 } elseif (preg_match('/^[a-z]{2}$/', $_code)) {295 } elseif (preg_match('/^[a-z]{2}$/', $_code)) {
296296
297 $iso639 = $GLOBALS['LANG']->includeLLFile(t3lib_extMgm::extPath(self::$extKey).'/lib/ISO-639/iso-639-1.xml', FALSE, TRUE);297 $iso639 = $GLOBALS['LANG']->includeLLFile(t3lib_extMgm::extPath(self::$extKey).'lib/ISO-639/iso-639-1.xml', FALSE, TRUE);
298298
299 } else {299 } else {
300300
301301
=== modified file 'dlf/ext_conf_template.txt'
--- dlf/ext_conf_template.txt 2011-11-11 14:48:17 +0000
+++ dlf/ext_conf_template.txt 2012-03-29 08:36:18 +0000
@@ -1,3 +1,9 @@
1# cat=Basic; type=user[EXT:dlf/hooks/class.tx_dlf_em.php:tx_dlf_em->checkCliUserGroup]; label=LLL:EXT:dlf/locallang.xml:config.cliUserGroup
2cliUserGroup = 0
3
4# cat=Basic; type=boolean; label=LLL:EXT:dlf/locallang.xml:config.makeCliUserGroup
5makeCliUserGroup = 0
6
1# cat=Basic; type=string; label=LLL:EXT:dlf/locallang.xml:config.useragent7# cat=Basic; type=string; label=LLL:EXT:dlf/locallang.xml:config.useragent
2useragent = Goobi.Presentation8useragent = Goobi.Presentation
39
410
=== modified file 'dlf/hooks/class.tx_dlf_em.php'
--- dlf/hooks/class.tx_dlf_em.php 2011-11-11 14:48:17 +0000
+++ dlf/hooks/class.tx_dlf_em.php 2012-03-29 08:36:18 +0000
@@ -38,6 +38,14 @@
38class tx_dlf_em {38class tx_dlf_em {
3939
40 /**40 /**
41 * This holds the output ready to return
42 *
43 * @var string
44 * @access protected
45 */
46 protected $content = '';
47
48 /**
41 * Check if a connection to a Solr server could be established with the given credentials.49 * Check if a connection to a Solr server could be established with the given credentials.
42 *50 *
43 * @access public51 * @access public
@@ -53,30 +61,24 @@
53 $GLOBALS['LANG']->includeLLFile('EXT:dlf/locallang.xml');61 $GLOBALS['LANG']->includeLLFile('EXT:dlf/locallang.xml');
5462
55 // Get Solr credentials.63 // Get Solr credentials.
56 $conf = t3lib_div::_POST('data');64 $conf = array_merge((array) unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['dlf']), (array) t3lib_div::_POST('data'));
57
58 if (empty($conf)) {
59
60 $conf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['dlf']);
61
62 }
6365
64 // Prepend username and password to hostname.66 // Prepend username and password to hostname.
65 if ($conf['solrUser'] && $conf['solrPass']) {67 if (!empty($conf['solrUser']) && !empty($conf['solrPass'])) {
6668
67 $host = $conf['solrUser'].':'.$conf['solrPass'].'@'.($conf['solrHost'] ? $conf['solrHost'] : 'localhost');69 $host = $conf['solrUser'].':'.$conf['solrPass'].'@'.($conf['solrHost'] ? $conf['solrHost'] : 'localhost');
6870
69 } else {71 } else {
7072
71 $host = ($conf['solrHost'] ? $conf['solrHost'] : 'localhost');73 $host = (!empty($conf['solrHost']) ? $conf['solrHost'] : 'localhost');
7274
73 }75 }
7476
75 // Set port if not set.77 // Set port if not set.
76 $port = t3lib_div::intInRange($conf['solrPort'], 0, 65535, 8180);78 $port = (!empty($conf['solrPort']) ? t3lib_div::intInRange($conf['solrPort'], 0, 65535, 8180) : 8180);
7779
78 // Trim path and append trailing slash.80 // Trim path and append trailing slash.
79 $path = (trim($conf['solrPath'], '/') ? trim($conf['solrPath'], '/').'/' : '');81 $path = (!empty($conf['solrPath']) ? trim($conf['solrPath'], '/').'/' : '');
8082
81 // Build request URI.83 // Build request URI.
82 $url = 'http://'.$host.':'.$port.'/'.$path.'admin/cores';84 $url = 'http://'.$host.':'.$port.'/'.$path.'admin/cores';
@@ -84,7 +86,7 @@
84 $context = stream_context_create(array (86 $context = stream_context_create(array (
85 'http' => array (87 'http' => array (
86 'method' => 'GET',88 'method' => 'GET',
87 'user_agent' => ($conf['useragent'] ? $conf['useragent'] : ini_get('user_agent'))89 'user_agent' => (!empty($conf['useragent']) ? $conf['useragent'] : ini_get('user_agent'))
88 )90 )
89 ));91 ));
9092
@@ -106,7 +108,9 @@
106 FALSE108 FALSE
107 );109 );
108110
109 return $message->render();111 $this->content .= $message->render();
112
113 return $this->content;
110114
111 }115 }
112116
@@ -120,7 +124,453 @@
120 FALSE124 FALSE
121 );125 );
122126
123 return $message->render();127 $this->content .= $message->render();
128
129 return $this->content;
130
131 }
132
133 /**
134 * Make sure a backend user exists and is configured properly.
135 *
136 * @access protected
137 *
138 * @param boolean $checkOnly: Just check the user or change it, too?
139 * @param integer $groupUid: UID of the corresponding usergroup
140 *
141 * @return integer UID of user or 0 if something is wrong
142 */
143 protected function checkCliUser($checkOnly, $groupUid) {
144
145 // Set default return value.
146 $usrUid = 0;
147
148 // Check if user "_cli_dlf" exists, is no admin and is not disabled.
149 $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
150 'uid,admin,usergroup',
151 'be_users',
152 'username='.$GLOBALS['TYPO3_DB']->fullQuoteStr('_cli_dlf', 'be_users').t3lib_BEfunc::deleteClause('be_users')
153 );
154
155 if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) {
156
157 $resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result);
158
159 // Explode comma-separated list.
160 $resArray['usergroup'] = explode(',', $resArray['usergroup']);
161
162 // Check if user is not disabled.
163 $_result = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
164 '1',
165 'be_users',
166 'uid='.intval($resArray['uid']).t3lib_BEfunc::BEenableFields('be_users')
167 );
168
169 // Check if user is configured properly.
170 if (count(array_diff(array ($groupUid), $resArray['usergroup'])) == 0
171 && !$resArray['admin']
172 && $GLOBALS['TYPO3_DB']->sql_num_rows($_result) > 0) {
173
174 $usrUid = $resArray['uid'];
175
176 $message = t3lib_div::makeInstance(
177 't3lib_FlashMessage',
178 $GLOBALS['LANG']->getLL('cliUserGroup.usrOkayMsg'),
179 $GLOBALS['LANG']->getLL('cliUserGroup.usrOkay'),
180 t3lib_FlashMessage::OK,
181 FALSE
182 );
183
184 } else {
185
186 if (!$checkOnly && $groupUid) {
187
188 // Keep exisiting values and add the new ones.
189 $_usergroup = array_unique(array_merge(array ($groupUid), $resArray['usergroup']));
190
191 // Try to configure user.
192 $data['be_users'][$resArray['uid']] = array (
193 'admin' => 0,
194 'usergroup' => implode(',', $_usergroup),
195 $GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['disabled'] => 0,
196 $GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['starttime'] => 0,
197 $GLOBALS['TCA']['be_users']['ctrl']['enablecolumns']['endtime'] => 0
198 );
199
200 tx_dlf_helper::processDB($data);
201
202 // Check if configuration was successful.
203 if ($this->checkCliUser(TRUE, $groupUid)) {
204
205 $usrUid = $resArray['uid'];
206
207 $message = t3lib_div::makeInstance(
208 't3lib_FlashMessage',
209 $GLOBALS['LANG']->getLL('cliUserGroup.usrConfiguredMsg'),
210 $GLOBALS['LANG']->getLL('cliUserGroup.usrConfigured'),
211 t3lib_FlashMessage::INFO,
212 FALSE
213 );
214
215 } else {
216
217 $message = t3lib_div::makeInstance(
218 't3lib_FlashMessage',
219 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfiguredMsg'),
220 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfigured'),
221 t3lib_FlashMessage::WARNING,
222 FALSE
223 );
224
225 }
226
227 } else {
228
229 $message = t3lib_div::makeInstance(
230 't3lib_FlashMessage',
231 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfiguredMsg'),
232 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotConfigured'),
233 t3lib_FlashMessage::WARNING,
234 FALSE
235 );
236
237 }
238
239 }
240
241 } else {
242
243 if (!$checkOnly && $groupUid) {
244
245 // Try to create user.
246 $_tempUid = uniqid('NEW');
247
248 $data['be_users'][$_tempUid] = array (
249 'pid' => 0,
250 'username' => '_cli_dlf',
251 'password' => md5($_tempUid),
252 'realName' => $GLOBALS['LANG']->getLL('cliUserGroup.usrRealName'),
253 'usergroup' => intval($groupUid)
254 );
255
256 $_substUid = tx_dlf_helper::processDB($data);
257
258 // Check if creation was successful.
259 if (!empty($_substUid[$_tempUid])) {
260
261 $usrUid = $_substUid[$_tempUid];
262
263 $message = t3lib_div::makeInstance(
264 't3lib_FlashMessage',
265 $GLOBALS['LANG']->getLL('cliUserGroup.usrCreatedMsg'),
266 $GLOBALS['LANG']->getLL('cliUserGroup.usrCreated'),
267 t3lib_FlashMessage::INFO,
268 FALSE
269 );
270
271 } else {
272
273 $message = t3lib_div::makeInstance(
274 't3lib_FlashMessage',
275 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreatedMsg'),
276 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreated'),
277 t3lib_FlashMessage::ERROR,
278 FALSE
279 );
280
281 }
282
283 } else {
284
285 $message = t3lib_div::makeInstance(
286 't3lib_FlashMessage',
287 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreatedMsg'),
288 $GLOBALS['LANG']->getLL('cliUserGroup.usrNotCreated'),
289 t3lib_FlashMessage::ERROR,
290 FALSE
291 );
292
293 }
294
295 }
296
297 $this->content = $message->render();
298
299 return $usrUid;
300
301 }
302
303 /**
304 * Make sure a backend usergroup exists and is configured properly.
305 *
306 * @access protected
307 *
308 * @param boolean $checkOnly: Just check the usergroup or change it, too?
309 * @param array $settings: Array with default settings
310 *
311 * @return integer UID of usergroup or 0 if something is wrong
312 */
313 protected function checkCliGroup($checkOnly, $settings = array ()) {
314
315 // Set default return value.
316 $grpUid = 0;
317
318 // Set default configuration for usergroup.
319 if (empty($settings)) {
320
321 $settings = array (
322 'non_exclude_fields' => array (),
323 'tables_select' => array (
324 'tx_dlf_documents',
325 'tx_dlf_collections',
326 'tx_dlf_libraries',
327 'tx_dlf_structures',
328 'tx_dlf_metadata',
329 'tx_dlf_formats',
330 'tx_dlf_solrcores'
331 ),
332 'tables_modify' => array (
333 'tx_dlf_documents',
334 'tx_dlf_collections',
335 'tx_dlf_libraries'
336 )
337 );
338
339 // Set allowed exclude fields.
340 foreach ($settings['tables_modify'] as $table) {
341
342 t3lib_div::loadTCA($table);
343
344 foreach ($GLOBALS['TCA'][$table]['columns'] as $field => $fieldConf) {
345
346 if (!empty($fieldConf['exclude'])) {
347
348 $settings['non_exclude_fields'][] = $table.':'.$field;
349
350 }
351
352 }
353
354 }
355
356 }
357
358 // Check if group "_cli_dlf" exists and is not disabled.
359 $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
360 'uid,non_exclude_fields,tables_select,tables_modify,inc_access_lists,'.$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled'],
361 'be_groups',
362 'title='.$GLOBALS['TYPO3_DB']->fullQuoteStr('_cli_dlf', 'be_groups').t3lib_BEfunc::deleteClause('be_groups')
363 );
364
365 if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) {
366
367 $resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result);
368
369 // Explode comma-separated lists.
370 $resArray['non_exclude_fields'] = explode(',', $resArray['non_exclude_fields']);
371
372 $resArray['tables_select'] = explode(',', $resArray['tables_select']);
373
374 $resArray['tables_modify'] = explode(',', $resArray['tables_modify']);
375
376 // Check if usergroup is configured properly.
377 if (count(array_diff($settings['non_exclude_fields'], $resArray['non_exclude_fields'])) == 0
378 && count(array_diff($settings['tables_select'], $resArray['tables_select'])) == 0
379 && count(array_diff($settings['tables_modify'], $resArray['tables_modify'])) == 0
380 && $resArray['inc_access_lists'] == 1
381 && $resArray[$GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled']] == 0) {
382
383 $grpUid = $resArray['uid'];
384
385 $message = t3lib_div::makeInstance(
386 't3lib_FlashMessage',
387 $GLOBALS['LANG']->getLL('cliUserGroup.grpOkayMsg'),
388 $GLOBALS['LANG']->getLL('cliUserGroup.grpOkay'),
389 t3lib_FlashMessage::OK,
390 FALSE
391 );
392
393 } else {
394
395 if (!$checkOnly) {
396
397 // Keep exisiting values and add the new ones.
398 $_non_exclude_fields = array_unique(array_merge($settings['non_exclude_fields'], $resArray['non_exclude_fields']));
399
400 $_tables_select = array_unique(array_merge($settings['tables_select'], $resArray['tables_select']));
401
402 $_tables_modify = array_unique(array_merge($settings['tables_modify'], $resArray['tables_modify']));
403
404 // Try to configure usergroup.
405 $data['be_groups'][$resArray['uid']] = array (
406 'non_exclude_fields' => implode(',', $_non_exclude_fields),
407 'tables_select' => implode(',', $_tables_select),
408 'tables_modify' => implode(',', $_tables_modify),
409 'inc_access_lists' => 1,
410 $GLOBALS['TCA']['be_groups']['ctrl']['enablecolumns']['disabled'] => 0
411 );
412
413 tx_dlf_helper::processDB($data);
414
415 // Check if configuration was successful.
416 if ($this->checkCliGroup(TRUE, $settings)) {
417
418 $grpUid = $resArray['uid'];
419
420 $message = t3lib_div::makeInstance(
421 't3lib_FlashMessage',
422 $GLOBALS['LANG']->getLL('cliUserGroup.grpConfiguredMsg'),
423 $GLOBALS['LANG']->getLL('cliUserGroup.grpConfigured'),
424 t3lib_FlashMessage::INFO,
425 FALSE
426 );
427
428 } else {
429
430 $message = t3lib_div::makeInstance(
431 't3lib_FlashMessage',
432 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfiguredMsg'),
433 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfigured'),
434 t3lib_FlashMessage::WARNING,
435 FALSE
436 );
437
438 }
439
440 } else {
441
442 $message = t3lib_div::makeInstance(
443 't3lib_FlashMessage',
444 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfiguredMsg'),
445 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotConfigured'),
446 t3lib_FlashMessage::WARNING,
447 FALSE
448 );
449
450 }
451
452 }
453
454 } else {
455
456 if (!$checkOnly) {
457
458 // Try to create usergroup.
459 $_tempUid = uniqid('NEW');
460
461 $data['be_groups'][$_tempUid] = array (
462 'pid' => 0,
463 'title' => '_cli_dlf',
464 'description' => $GLOBALS['LANG']->getLL('cliUserGroup.grpDescription'),
465 'non_exclude_fields' => implode(',', $settings['non_exclude_fields']),
466 'tables_select' => implode(',', $settings['tables_select']),
467 'tables_modify' => implode(',', $settings['tables_modify']),
468 'inc_access_lists' => 1
469 );
470
471 $_substUid = tx_dlf_helper::processDB($data);
472
473 // Check if creation was successful.
474 if (!empty($_substUid[$_tempUid])) {
475
476 $grpUid = $_substUid[$_tempUid];
477
478 $message = t3lib_div::makeInstance(
479 't3lib_FlashMessage',
480 $GLOBALS['LANG']->getLL('cliUserGroup.grpCreatedMsg'),
481 $GLOBALS['LANG']->getLL('cliUserGroup.grpCreated'),
482 t3lib_FlashMessage::INFO,
483 FALSE
484 );
485
486 } else {
487
488 $message = t3lib_div::makeInstance(
489 't3lib_FlashMessage',
490 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreatedMsg'),
491 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreated'),
492 t3lib_FlashMessage::ERROR,
493 FALSE
494 );
495
496 }
497
498 } else {
499
500 $message = t3lib_div::makeInstance(
501 't3lib_FlashMessage',
502 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreatedMsg'),
503 $GLOBALS['LANG']->getLL('cliUserGroup.grpNotCreated'),
504 t3lib_FlashMessage::ERROR,
505 FALSE
506 );
507
508 }
509
510 }
511
512 $this->content = $message->render();
513
514 return $grpUid;
515
516 }
517
518 /**
519 * Make sure a CLI user and group exist.
520 *
521 * @access public
522 *
523 * @param array &$params: An array with parameters
524 * @param t3lib_tsStyleConfig &$pObj: The parent object
525 *
526 * @return string Message informing the user of success or failure
527 */
528 public function checkCliUserGroup(&$params, &$pObj) {
529
530 // Load localization file.
531 $GLOBALS['LANG']->includeLLFile('EXT:dlf/locallang.xml');
532
533 // Get current configuration.
534 $conf = array_merge((array) unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['dlf']), (array) t3lib_div::_POST('data'));
535
536 // Check if usergroup "_cli_dlf" exists and is configured properly.
537 $groupUid = $this->checkCliGroup(empty($conf['makeCliUserGroup']));
538
539 // Save output because it will be overwritten by the user check method.
540 $content = $this->content;
541
542 // Check if user "_cli_dlf" exists and is configured properly.
543 $userUid = $this->checkCliUser(empty($conf['makeCliUserGroup']), $groupUid);
544
545 // Merge output from usergroup and user checks.
546 $this->content .= $content;
547
548 // Check if CLI dispatcher is executable.
549 if (is_executable(PATH_typo3.'cli_dispatch.phpsh')) {
550
551 $message = t3lib_div::makeInstance(
552 't3lib_FlashMessage',
553 $GLOBALS['LANG']->getLL('cliUserGroup.cliOkayMsg'),
554 $GLOBALS['LANG']->getLL('cliUserGroup.cliOkay'),
555 t3lib_FlashMessage::OK,
556 FALSE
557 );
558
559 } else {
560
561 $message = t3lib_div::makeInstance(
562 't3lib_FlashMessage',
563 $GLOBALS['LANG']->getLL('cliUserGroup.cliNotOkayMsg'),
564 $GLOBALS['LANG']->getLL('cliUserGroup.cliNotOkay'),
565 t3lib_FlashMessage::ERROR,
566 FALSE
567 );
568
569 }
570
571 $this->content .= $message->render();
572
573 return $this->content;
124574
125 }575 }
126576
127577
=== modified file 'dlf/locallang.xml'
--- dlf/locallang.xml 2012-03-24 12:06:31 +0000
+++ dlf/locallang.xml 2012-03-29 08:36:18 +0000
@@ -122,6 +122,8 @@
122 <label index="tt_content.dlf_statistics">DLF: Statistics</label>122 <label index="tt_content.dlf_statistics">DLF: Statistics</label>
123 <label index="tt_content.dlf_toc">DLF: Table of Contents</label>123 <label index="tt_content.dlf_toc">DLF: Table of Contents</label>
124 <label index="tt_content.dlf_toolbox">DLF: Toolbox</label>124 <label index="tt_content.dlf_toolbox">DLF: Toolbox</label>
125 <label index="config.cliUserGroup">CLI user/group</label>
126 <label index="config.makeCliUserGroup">Create and configure CLI user/group automatically?: (default is "FALSE")</label>
125 <label index="config.useragent">DLF User-Agent: (default is "Goobi.Presentation")</label>127 <label index="config.useragent">DLF User-Agent: (default is "Goobi.Presentation")</label>
126 <label index="config.fileGrps">Additional METS fileGrps: comma-separated list of @USE attribute values (default is "DEFAULT,MIN,MAX,THUMBS")</label>128 <label index="config.fileGrps">Additional METS fileGrps: comma-separated list of @USE attribute values (default is "DEFAULT,MIN,MAX,THUMBS")</label>
127 <label index="config.caching">Cache parsed METS files: caching improves performance a little bit but can result in a very large "fe_session_data" table (default is "FALSE")</label>129 <label index="config.caching">Cache parsed METS files: caching improves performance a little bit but can result in a very large "fe_session_data" table (default is "FALSE")</label>
@@ -135,6 +137,32 @@
135 <label index="solr.status">The status code returned by Apache Solr is &lt;strong&gt;%s&lt;/strong&gt;.</label>137 <label index="solr.status">The status code returned by Apache Solr is &lt;strong&gt;%s&lt;/strong&gt;.</label>
136 <label index="solr.notConnected">Connection failed!</label>138 <label index="solr.notConnected">Connection failed!</label>
137 <label index="solr.error">Apache Solr was not reachable under &lt;strong&gt;%s&lt;/strong&gt;.</label>139 <label index="solr.error">Apache Solr was not reachable under &lt;strong&gt;%s&lt;/strong&gt;.</label>
140 <label index="cliUserGroup.usrRealName">Goobi.Presentation command line indexer</label>
141 <label index="cliUserGroup.usrOkay">User "_cli_dlf" configured and enabled!</label>
142 <label index="cliUserGroup.usrOkayMsg">The backend user for the command line indexer exists and is configured properly.</label>
143 <label index="cliUserGroup.usrConfigured">User "_cli_dlf" configured successfully!</label>
144 <label index="cliUserGroup.usrConfiguredMsg">The backend user for the command line indexer was configured properly.</label>
145 <label index="cliUserGroup.usrNotConfigured">User "_cli_dlf" not configured!</label>
146 <label index="cliUserGroup.usrNotConfiguredMsg">The backend user for the command line indexer exists, but is not configured properly.</label>
147 <label index="cliUserGroup.usrCreated">User "_cli_dlf" created successfully!</label>
148 <label index="cliUserGroup.usrCreatedMsg">The backend user for the command line indexer was created and configured properly.</label>
149 <label index="cliUserGroup.usrNotCreated">User "_cli_dlf" not created!</label>
150 <label index="cliUserGroup.usrNotCreatedMsg">The backend user for the command line indexer does not exist.</label>
151 <label index="cliUserGroup.grpDescription">Usergroup for the Goobi.Presentation command line indexer.</label>
152 <label index="cliUserGroup.grpOkay">Usergroup "_cli_dlf" configured and enabled!</label>
153 <label index="cliUserGroup.grpOkayMsg">The backend usergroup for the command line indexer exists and is configured properly.</label>
154 <label index="cliUserGroup.grpConfigured">Usergroup "_cli_dlf" configured successfully!</label>
155 <label index="cliUserGroup.grpConfiguredMsg">The backend usergroup for the command line indexer was configured properly.</label>
156 <label index="cliUserGroup.grpNotConfigured">Usergroup "_cli_dlf" not configured!</label>
157 <label index="cliUserGroup.grpNotConfiguredMsg">The backend usergroup for the command line indexer exists, but is not configured properly.</label>
158 <label index="cliUserGroup.grpCreated">Usergroup "_cli_dlf" created successfully!</label>
159 <label index="cliUserGroup.grpCreatedMsg">The backend usergroup for the command line indexer was created and configured properly.</label>
160 <label index="cliUserGroup.grpNotCreated">Usergroup "_cli_dlf" not created!</label>
161 <label index="cliUserGroup.grpNotCreatedMsg">The backend usergroup for the command line indexer does not exist.</label>
162 <label index="cliUserGroup.cliOkay">Command Line Interface available!</label>
163 <label index="cliUserGroup.cliOkayMsg">The TYPO3 command line interface is available for the indexer to use.</label>
164 <label index="cliUserGroup.cliNotOkay">Command Line Interface not available!</label>
165 <label index="cliUserGroup.cliNotOkayMsg">The TYPO3 command line interface is not available for the indexer to use.</label>
138 </languageKey>166 </languageKey>
139 <languageKey index="de" type="array">167 <languageKey index="de" type="array">
140 <label index="tx_dlf_documents">Dokumente</label>168 <label index="tx_dlf_documents">Dokumente</label>
@@ -253,6 +281,8 @@
253 <label index="tt_content.dlf_statistics">DLF: Statistik</label>281 <label index="tt_content.dlf_statistics">DLF: Statistik</label>
254 <label index="tt_content.dlf_toc">DLF: Inhaltsverzeichnis</label>282 <label index="tt_content.dlf_toc">DLF: Inhaltsverzeichnis</label>
255 <label index="tt_content.dlf_toolbox">DLF: Werkzeugkasten</label>283 <label index="tt_content.dlf_toolbox">DLF: Werkzeugkasten</label>
284 <label index="config.cliUserGroup">CLI Benutzer/Gruppe</label>
285 <label index="config.makeCliUserGroup">CLI Benutzer/Gruppe automatisch anlegen?: (Standard ist "FALSE")</label>
256 <label index="config.useragent">DLF User-Agent: (Standard ist "Goobi.Presentation")</label>286 <label index="config.useragent">DLF User-Agent: (Standard ist "Goobi.Presentation")</label>
257 <label index="config.fileGrps">Zusätzliche METS fileGrps: Komma-getrennte Liste von @USE Attributwerten (Standard ist "DEFAULT,MIN,MAX,THUMBS")</label>287 <label index="config.fileGrps">Zusätzliche METS fileGrps: Komma-getrennte Liste von @USE Attributwerten (Standard ist "DEFAULT,MIN,MAX,THUMBS")</label>
258 <label index="config.caching">Eingelesene METS Dateien zwischenspeichern: Dies kann die Geschwindigkeit geringfügig verbessern, führt aber zu einer sehr großen "fe_session_data" Tabelle (Standard ist "FALSE")</label>288 <label index="config.caching">Eingelesene METS Dateien zwischenspeichern: Dies kann die Geschwindigkeit geringfügig verbessern, führt aber zu einer sehr großen "fe_session_data" Tabelle (Standard ist "FALSE")</label>
@@ -266,6 +296,32 @@
266 <label index="solr.status">Apache Solr gibt den Statuscode &lt;strong&gt;%s&lt;/strong&gt; zurück.</label>296 <label index="solr.status">Apache Solr gibt den Statuscode &lt;strong&gt;%s&lt;/strong&gt; zurück.</label>
267 <label index="solr.notConnected">Verbindung fehlgeschlagen!</label>297 <label index="solr.notConnected">Verbindung fehlgeschlagen!</label>
268 <label index="solr.error">Apache Solr ist unter &lt;strong&gt;%s&lt;/strong&gt; nicht erreichbar.</label>298 <label index="solr.error">Apache Solr ist unter &lt;strong&gt;%s&lt;/strong&gt; nicht erreichbar.</label>
299 <label index="cliUserGroup.usrRealName">Goobi.Presentation Kommandozeilen-Indexierungsdienst</label>
300 <label index="cliUserGroup.usrOkay">Nutzer "_cli_dlf" eingerichtet!</label>
301 <label index="cliUserGroup.usrOkayMsg">Der Nutzer für den Kommandozeilen-Indexierungsdienst ist korrekt konfiguriert und aktiviert.</label>
302 <label index="cliUserGroup.usrConfigured">Nutzer "_cli_dlf" erfolgreich konfiguriert!</label>
303 <label index="cliUserGroup.usrConfiguredMsg">Der Nutzer für den Kommandozeilen-Indexierungsdienst wurde erfolgreich konfiguriert.</label>
304 <label index="cliUserGroup.usrNotConfigured">Nutzer "_cli_dlf" nicht konfiguriert!</label>
305 <label index="cliUserGroup.usrNotConfiguredMsg">Der Nutzer für den Kommandozeilen-Indexierungsdienst existiert, ist aber nicht korrekt konfiguriert.</label>
306 <label index="cliUserGroup.usrCreated">Nutzer "_cli_dlf" erfolgreich angelegt!</label>
307 <label index="cliUserGroup.usrCreatedMsg">Der Nutzer für den Kommandozeilen-Indexierungsdienst wurde erfolgreich angelegt und konfiguriert.</label>
308 <label index="cliUserGroup.usrNotCreated">Nutzer "_cli_dlf" nicht angelegt!</label>
309 <label index="cliUserGroup.usrNotCreatedMsg">Der Nutzer für den Kommandozeilen-Indexierungsdienst existiert nicht.</label>
310 <label index="cliUserGroup.grpDescription">Nutzergruppe für den Goobi.Presentation Kommandozeilen-Indexierungsdienst.</label>
311 <label index="cliUserGroup.grpOkay">Nutzergruppe "_cli_dlf" eingerichtet!</label>
312 <label index="cliUserGroup.grpOkayMsg">Die Nutzergruppe für den Kommandozeilen-Indexierungsdienst ist korrekt konfiguriert und aktiviert.</label>
313 <label index="cliUserGroup.grpConfigured">Nutzergruppe "_cli_dlf" erfolgreich konfiguriert!</label>
314 <label index="cliUserGroup.grpConfiguredMsg">Die Nutzergruppe für den Kommandozeilen-Indexierungsdienst wurde erfolgreich konfiguriert.</label>
315 <label index="cliUserGroup.grpNotConfigured">Nutzergruppe "_cli_dlf" nicht konfiguriert!</label>
316 <label index="cliUserGroup.grpNotConfiguredMsg">Die Nutzergruppe für den Kommandozeilen-Indexierungsdienst existiert, ist aber nicht korrekt konfiguriert.</label>
317 <label index="cliUserGroup.grpCreated">Nutzergruppe "_cli_dlf" erfolgreich angelegt!</label>
318 <label index="cliUserGroup.grpCreatedMsg">Die Nutzergruppe für den Kommandozeilen-Indexierungsdienst wurde erfolgreich angelegt und konfiguriert.</label>
319 <label index="cliUserGroup.grpNotCreated">Nutzergruppe "_cli_dlf" nicht angelegt!</label>
320 <label index="cliUserGroup.grpNotCreatedMsg">Die Nutzergruppe für den Kommandozeilen-Indexierungsdienst existiert nicht.</label>
321 <label index="cliUserGroup.cliOkay">Kommandozeilen-Schnittstelle verfügbar!</label>
322 <label index="cliUserGroup.cliOkayMsg">Die TYPO3-Kommandozeilenschnittstelle steht für den Indexierungsdienst zur Verfügung.</label>
323 <label index="cliUserGroup.cliNotOkay">Kommandozeilen-Schnittstelle nicht verfügbar!</label>
324 <label index="cliUserGroup.cliNotOkayMsg">Die TYPO3-Kommandozeilenschnittstelle steht für den Indexierungsdienst nicht zur Verfügung.</label>
269 </languageKey>325 </languageKey>
270 </data>326 </data>
271</T3locallang>327</T3locallang>
272\ No newline at end of file328\ No newline at end of file
273329
=== modified file 'dlf/plugins/metadata/class.tx_dlf_metadata.php'
--- dlf/plugins/metadata/class.tx_dlf_metadata.php 2012-03-24 09:05:28 +0000
+++ dlf/plugins/metadata/class.tx_dlf_metadata.php 2012-03-29 08:36:18 +0000
@@ -210,7 +210,15 @@
210 // Load all the metadata values into the content object's data array.210 // Load all the metadata values into the content object's data array.
211 foreach ($_metadata as $_index_name => $_value) {211 foreach ($_metadata as $_index_name => $_value) {
212212
213 $this->cObj->data[$_index_name] = implode($this->conf['separator'], $_value);213 if (is_array($_value)) {
214
215 $this->cObj->data[$_index_name] = implode($this->conf['separator'], $_value);
216
217 } else {
218
219 $this->cObj->data[$_index_name] = $_value;
220
221 }
214222
215 }223 }
216224

Subscribers

People subscribed via source and target branches

to all changes: