Merge lp:~henrik-lochmann/goobi-presentation/bug-855618 into lp:~slub.team/goobi-presentation/old-bzr-trunk
- bug-855618
- Merge into old-bzr-trunk
Proposed by
Henrik Lochmann
Status: | Needs review | ||||
---|---|---|---|---|---|
Proposed branch: | lp:~henrik-lochmann/goobi-presentation/bug-855618 | ||||
Merge into: | lp:~slub.team/goobi-presentation/old-bzr-trunk | ||||
Diff against target: |
3800 lines (+3296/-38) (has conflicts) 14 files modified
dlf/common/class.tx_dlf_document.php (+43/-0) dlf/common/class.tx_dlf_helper.php (+127/-11) dlf/ext_autoload.php (+1/-0) dlf/ext_localconf.php (+3/-0) dlf/hooks/class.tx_dlf_collection_hook.php (+1229/-0) dlf/lib/ISO-639/iso-639-1.xml (+298/-0) dlf/lib/ISO-639/iso-639-2b.xml (+986/-0) dlf/modules/newclient/metadata.inc.php (+200/-0) dlf/plugins/collection/class.tx_dlf_collection.php (+88/-26) dlf/plugins/collection/edit_collection.tmpl (+32/-0) dlf/plugins/collection/locallang.xml (+26/-0) dlf/plugins/listview/class.tx_dlf_listview.php (+225/-1) dlf/plugins/listview/template.tmpl (+2/-0) dlf/plugins/search/class.tx_dlf_search.php (+36/-0) Text conflict in dlf/common/class.tx_dlf_document.php Text conflict in dlf/common/class.tx_dlf_helper.php Text conflict in dlf/lib/ISO-639/iso-639-1.xml Text conflict in dlf/lib/ISO-639/iso-639-2b.xml Text conflict in dlf/modules/newclient/metadata.inc.php Text conflict in dlf/plugins/collection/class.tx_dlf_collection.php Text conflict in dlf/plugins/listview/class.tx_dlf_listview.php Text conflict in dlf/plugins/search/class.tx_dlf_search.php |
||||
To merge this branch: | bzr merge lp:~henrik-lochmann/goobi-presentation/bug-855618 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sebastian Meyer | Approve | ||
Review via email:
|
Commit message
Description of the change
- code comments and fixing
To post a comment you must log in.
- 103. By Henrik Lochmann
-
- bug fixes
Unmerged revisions
- 103. By Henrik Lochmann
-
- bug fixes
- 102. By Henrik Lochmann
-
- moved to tx_dlf_
collection_ hook to hooks directory
- commented methods and class
- respected TCA constraints of the tx_dlf_collections table - 101. By Henrik Lochmann
-
- tx_dlf_
collection_ hook moved to hooks directory - 100. By Henrik Lochmann
-
- twisted language constants
- 99. By Henrik Lochmann
-
- now, also collection lists contain +-menus
- 98. By Henrik Lochmann
-
- moved back to simple DB based data management from FE
- slightly changed list entry menus - 97. By Henrik Lochmann
-
- cleaned code
- 96. By Henrik Lochmann
-
- l18n in/for edit_collection
.tmpl - 95. By Henrik Lochmann
-
- changes made in context of TCE-in-FE tryouts: just to not loose them and to not create a whole new branch, we check them in
- 94. By Henrik Lochmann
-
- recreated old getBeUser method
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'dlf/cli/class.tx_dlf_cli.php' | |||
2 | === modified file 'dlf/common/class.tx_dlf_document.php' | |||
3 | --- dlf/common/class.tx_dlf_document.php 2012-10-02 12:30:10 +0000 | |||
4 | +++ dlf/common/class.tx_dlf_document.php 2012-10-10 09:08:30 +0000 | |||
5 | @@ -746,6 +746,7 @@ | |||
6 | 746 | while ($resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) { | 746 | while ($resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) { |
7 | 747 | 747 | ||
8 | 748 | // Set metadata field's value(s). | 748 | // Set metadata field's value(s). |
9 | 749 | <<<<<<< TREE | ||
10 | 749 | if ($resArray['format'] > 0 && !empty($resArray['xpath']) && ($values = $domXPath->evaluate($resArray['xpath'], $domNode))) { | 750 | if ($resArray['format'] > 0 && !empty($resArray['xpath']) && ($values = $domXPath->evaluate($resArray['xpath'], $domNode))) { |
11 | 750 | 751 | ||
12 | 751 | if ($values instanceof DOMNodeList && $values->length > 0) { | 752 | if ($values instanceof DOMNodeList && $values->length > 0) { |
13 | @@ -755,13 +756,31 @@ | |||
14 | 755 | foreach ($values as $value) { | 756 | foreach ($values as $value) { |
15 | 756 | 757 | ||
16 | 757 | $metadata[$resArray['index_name']][] = trim((string) $value->nodeValue); | 758 | $metadata[$resArray['index_name']][] = trim((string) $value->nodeValue); |
17 | 759 | ======= | ||
18 | 760 | if ($resArray['xpath'] && ($_values = $_domXPath->evaluate($resArray['xpath'], $_domNode))) { | ||
19 | 761 | |||
20 | 762 | if ($_values instanceof DOMNodeList && $_values->length > 0) { | ||
21 | 763 | |||
22 | 764 | $_metadata[$resArray['index_name']] = array (); | ||
23 | 765 | |||
24 | 766 | foreach ($_values as $_value) { | ||
25 | 767 | |||
26 | 768 | $_metadata[$resArray['index_name']][] = trim((string) $_value->nodeValue); | ||
27 | 769 | >>>>>>> MERGE-SOURCE | ||
28 | 758 | 770 | ||
29 | 759 | } | 771 | } |
30 | 760 | 772 | ||
31 | 773 | <<<<<<< TREE | ||
32 | 761 | } elseif (!($values instanceof DOMNodeList)) { | 774 | } elseif (!($values instanceof DOMNodeList)) { |
33 | 762 | 775 | ||
34 | 763 | $metadata[$resArray['index_name']] = array (trim((string) $values)); | 776 | $metadata[$resArray['index_name']] = array (trim((string) $values)); |
35 | 764 | 777 | ||
36 | 778 | ======= | ||
37 | 779 | } elseif (!($_values instanceof DOMNodeList)) { | ||
38 | 780 | |||
39 | 781 | $_metadata[$resArray['index_name']] = array (trim((string) $_values)); | ||
40 | 782 | |||
41 | 783 | >>>>>>> MERGE-SOURCE | ||
42 | 765 | } | 784 | } |
43 | 766 | 785 | ||
44 | 767 | } | 786 | } |
45 | @@ -774,6 +793,7 @@ | |||
46 | 774 | } | 793 | } |
47 | 775 | 794 | ||
48 | 776 | // Set sorting value if applicable. | 795 | // Set sorting value if applicable. |
49 | 796 | <<<<<<< TREE | ||
50 | 777 | if (!empty($metadata[$resArray['index_name']]) && $resArray['is_sortable']) { | 797 | if (!empty($metadata[$resArray['index_name']]) && $resArray['is_sortable']) { |
51 | 778 | 798 | ||
52 | 779 | if ($resArray['format'] > 0 && !empty($resArray['xpath_sorting']) && ($values = $domXPath->evaluate($resArray['xpath_sorting'], $domNode))) { | 799 | if ($resArray['format'] > 0 && !empty($resArray['xpath_sorting']) && ($values = $domXPath->evaluate($resArray['xpath_sorting'], $domNode))) { |
53 | @@ -795,6 +815,29 @@ | |||
54 | 795 | $metadata[$resArray['index_name'].'_sorting'][0] = $metadata[$resArray['index_name']][0]; | 815 | $metadata[$resArray['index_name'].'_sorting'][0] = $metadata[$resArray['index_name']][0]; |
55 | 796 | 816 | ||
56 | 797 | } | 817 | } |
57 | 818 | ======= | ||
58 | 819 | if (!empty($_metadata[$resArray['index_name']]) && $resArray['is_sortable']) { | ||
59 | 820 | |||
60 | 821 | if ($resArray['xpath_sorting'] && ($_values = $_domXPath->evaluate($resArray['xpath_sorting'], $_domNode))) { | ||
61 | 822 | |||
62 | 823 | if ($_values instanceof DOMNodeList && $_values->length > 0) { | ||
63 | 824 | |||
64 | 825 | $_metadata[$resArray['index_name'].'_sorting'][0] = trim((string) $_values->item(0)->nodeValue); | ||
65 | 826 | |||
66 | 827 | } elseif (!($_values instanceof DOMNodeList)) { | ||
67 | 828 | |||
68 | 829 | $_metadata[$resArray['index_name'].'_sorting'][0] = trim((string) $_values); | ||
69 | 830 | |||
70 | 831 | } | ||
71 | 832 | |||
72 | 833 | } | ||
73 | 834 | |||
74 | 835 | if (empty($_metadata[$resArray['index_name'].'_sorting'][0])) { | ||
75 | 836 | |||
76 | 837 | $_metadata[$resArray['index_name'].'_sorting'][0] = $_metadata[$resArray['index_name']][0]; | ||
77 | 838 | |||
78 | 839 | } | ||
79 | 840 | >>>>>>> MERGE-SOURCE | ||
80 | 798 | 841 | ||
81 | 799 | } | 842 | } |
82 | 800 | 843 | ||
83 | 801 | 844 | ||
84 | === modified file 'dlf/common/class.tx_dlf_helper.php' | |||
85 | --- dlf/common/class.tx_dlf_helper.php 2012-10-02 07:02:46 +0000 | |||
86 | +++ dlf/common/class.tx_dlf_helper.php 2012-10-10 09:08:30 +0000 | |||
87 | @@ -1,6 +1,6 @@ | |||
88 | 1 | <?php | 1 | <?php |
89 | 2 | /*************************************************************** | 2 | /*************************************************************** |
91 | 3 | * Copyright notice | 3 | * Copyright notice |
92 | 4 | * | 4 | * |
93 | 5 | * (c) 2011 Sebastian Meyer <sebastian.meyer@slub-dresden.de> | 5 | * (c) 2011 Sebastian Meyer <sebastian.meyer@slub-dresden.de> |
94 | 6 | * All rights reserved | 6 | * All rights reserved |
95 | @@ -28,13 +28,13 @@ | |||
96 | 28 | 28 | ||
97 | 29 | /** | 29 | /** |
98 | 30 | * Helper class 'tx_dlf_helper' for the 'dlf' extension. | 30 | * Helper class 'tx_dlf_helper' for the 'dlf' extension. |
106 | 31 | * | 31 | * |
107 | 32 | * @author Sebastian Meyer <sebastian.meyer@slub-dresden.de> | 32 | * @author Sebastian Meyer <sebastian.meyer@slub-dresden.de> |
108 | 33 | * @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden | 33 | * @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden |
109 | 34 | * @package TYPO3 | 34 | * @package TYPO3 |
110 | 35 | * @subpackage tx_dlf | 35 | * @subpackage tx_dlf |
111 | 36 | * @access public | 36 | * @access public |
112 | 37 | */ | 37 | */ |
113 | 38 | class tx_dlf_helper { | 38 | class tx_dlf_helper { |
114 | 39 | 39 | ||
115 | 40 | /** | 40 | /** |
116 | @@ -85,6 +85,32 @@ | |||
117 | 85 | 85 | ||
118 | 86 | } | 86 | } |
119 | 87 | 87 | ||
120 | 88 | public static function array_toString($array, $glue = '=', $separator = ', ') { | ||
121 | 89 | |||
122 | 90 | if (!is_array($array)) { | ||
123 | 91 | |||
124 | 92 | return $array; | ||
125 | 93 | |||
126 | 94 | } | ||
127 | 95 | |||
128 | 96 | $string = array(); | ||
129 | 97 | |||
130 | 98 | foreach ($array as $key => $val) { | ||
131 | 99 | |||
132 | 100 | if (is_array($val)) { | ||
133 | 101 | |||
134 | 102 | $val = implode( ',', $val ); | ||
135 | 103 | |||
136 | 104 | } | ||
137 | 105 | |||
138 | 106 | $string[] = "{$key}{$glue}{$val}"; | ||
139 | 107 | |||
140 | 108 | } | ||
141 | 109 | |||
142 | 110 | return implode($separator, $string); | ||
143 | 111 | |||
144 | 112 | } | ||
145 | 113 | |||
146 | 88 | /** | 114 | /** |
147 | 89 | * Check if given identifier is a valid identifier of the German National Library | 115 | * Check if given identifier is a valid identifier of the German National Library |
148 | 90 | * @see http://support.d-nb.de/iltis/onlineRoutinen/Pruefziffernberechnung.htm | 116 | * @see http://support.d-nb.de/iltis/onlineRoutinen/Pruefziffernberechnung.htm |
149 | @@ -367,6 +393,33 @@ | |||
150 | 367 | } | 393 | } |
151 | 368 | 394 | ||
152 | 369 | /** | 395 | /** |
153 | 396 | * This gets the registered hook objects for a class. | ||
154 | 397 | * | ||
155 | 398 | * @access public | ||
156 | 399 | * | ||
157 | 400 | * @param string $class: The name of the class | ||
158 | 401 | * | ||
159 | 402 | * @return array Array of hook objects | ||
160 | 403 | */ | ||
161 | 404 | public static function getHookObjects($class) { | ||
162 | 405 | |||
163 | 406 | $hookObjects = array (); | ||
164 | 407 | |||
165 | 408 | if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][tx_dlf_helper::$extKey]['hooks'][$class])) { | ||
166 | 409 | |||
167 | 410 | foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][tx_dlf_helper::$extKey]['hooks'][$class] as $_classRef) { | ||
168 | 411 | |||
169 | 412 | $hookObjects[] = t3lib_div::getUserObj($_classRef); | ||
170 | 413 | |||
171 | 414 | } | ||
172 | 415 | |||
173 | 416 | } | ||
174 | 417 | |||
175 | 418 | return $hookObjects; | ||
176 | 419 | |||
177 | 420 | } | ||
178 | 421 | |||
179 | 422 | /** | ||
180 | 370 | * Get the "index_name" for an UID | 423 | * Get the "index_name" for an UID |
181 | 371 | * | 424 | * |
182 | 372 | * @access public | 425 | * @access public |
183 | @@ -399,6 +452,7 @@ | |||
184 | 399 | 452 | ||
185 | 400 | } | 453 | } |
186 | 401 | 454 | ||
187 | 455 | <<<<<<< TREE | ||
188 | 402 | $where = ''; | 456 | $where = ''; |
189 | 403 | 457 | ||
190 | 404 | // Should we check for a specific PID, too? | 458 | // Should we check for a specific PID, too? |
191 | @@ -418,6 +472,15 @@ | |||
192 | 418 | '', | 472 | '', |
193 | 419 | '', | 473 | '', |
194 | 420 | '1' | 474 | '1' |
195 | 475 | ======= | ||
196 | 476 | $_result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
197 | 477 | $table.'.index_name AS index_name', | ||
198 | 478 | $table, | ||
199 | 479 | $table.'.uid='.$uid.' AND '.$table.'.pid='.$pid.self::whereClause($table), | ||
200 | 480 | '', | ||
201 | 481 | '', | ||
202 | 482 | '1' | ||
203 | 483 | >>>>>>> MERGE-SOURCE | ||
204 | 421 | ); | 484 | ); |
205 | 422 | 485 | ||
206 | 423 | if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) { | 486 | if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) { |
207 | @@ -598,6 +661,7 @@ | |||
208 | 598 | */ | 661 | */ |
209 | 599 | public static function getURN($base, $id) { | 662 | public static function getURN($base, $id) { |
210 | 600 | 663 | ||
211 | 664 | <<<<<<< TREE | ||
212 | 601 | $concordance = array ( | 665 | $concordance = array ( |
213 | 602 | '0' => 1, | 666 | '0' => 1, |
214 | 603 | '1' => 2, | 667 | '1' => 2, |
215 | @@ -637,6 +701,47 @@ | |||
216 | 637 | 'z' => 38, | 701 | 'z' => 38, |
217 | 638 | '-' => 39, | 702 | '-' => 39, |
218 | 639 | ':' => 17, | 703 | ':' => 17, |
219 | 704 | ======= | ||
220 | 705 | $concordance = array( | ||
221 | 706 | '0' => 1, | ||
222 | 707 | '1' => 2, | ||
223 | 708 | '2' => 3, | ||
224 | 709 | '3' => 4, | ||
225 | 710 | '4' => 5, | ||
226 | 711 | '5' => 6, | ||
227 | 712 | '6' => 7, | ||
228 | 713 | '7' => 8, | ||
229 | 714 | '8' => 9, | ||
230 | 715 | '9' => 41, | ||
231 | 716 | 'a' => 18, | ||
232 | 717 | 'b' => 14, | ||
233 | 718 | 'c' => 19, | ||
234 | 719 | 'd' => 15, | ||
235 | 720 | 'e' => 16, | ||
236 | 721 | 'f' => 21, | ||
237 | 722 | 'g' => 22, | ||
238 | 723 | 'h' => 23, | ||
239 | 724 | 'i' => 24, | ||
240 | 725 | 'j' => 25, | ||
241 | 726 | 'k' => 42, | ||
242 | 727 | 'l' => 26, | ||
243 | 728 | 'm' => 27, | ||
244 | 729 | 'n' => 13, | ||
245 | 730 | 'o' => 28, | ||
246 | 731 | 'p' => 29, | ||
247 | 732 | 'q' => 31, | ||
248 | 733 | 'r' => 12, | ||
249 | 734 | 's' => 32, | ||
250 | 735 | 't' => 33, | ||
251 | 736 | 'u' => 11, | ||
252 | 737 | 'v' => 34, | ||
253 | 738 | 'w' => 35, | ||
254 | 739 | 'x' => 36, | ||
255 | 740 | 'y' => 37, | ||
256 | 741 | 'z' => 38, | ||
257 | 742 | '-' => 39, | ||
258 | 743 | ':' => 17, | ||
259 | 744 | >>>>>>> MERGE-SOURCE | ||
260 | 640 | ); | 745 | ); |
261 | 641 | 746 | ||
262 | 642 | $urn = strtolower($base.$id); | 747 | $urn = strtolower($base.$id); |
263 | @@ -949,6 +1054,7 @@ | |||
264 | 949 | } | 1054 | } |
265 | 950 | 1055 | ||
266 | 951 | // Get labels from database. | 1056 | // Get labels from database. |
267 | 1057 | <<<<<<< TREE | ||
268 | 952 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | 1058 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( |
269 | 953 | '*', | 1059 | '*', |
270 | 954 | $table, | 1060 | $table, |
271 | @@ -956,6 +1062,15 @@ | |||
272 | 956 | '', | 1062 | '', |
273 | 957 | '', | 1063 | '', |
274 | 958 | '' | 1064 | '' |
275 | 1065 | ======= | ||
276 | 1066 | $_result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
277 | 1067 | '*', | ||
278 | 1068 | $table, | ||
279 | 1069 | 'pid='.$pid.$additionalWhere.self::whereClause($table), | ||
280 | 1070 | '', | ||
281 | 1071 | '', | ||
282 | 1072 | '' | ||
283 | 1073 | >>>>>>> MERGE-SOURCE | ||
284 | 959 | ); | 1074 | ); |
285 | 960 | 1075 | ||
286 | 961 | if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) { | 1076 | if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) { |
287 | @@ -1079,13 +1194,14 @@ | |||
288 | 1079 | * | 1194 | * |
289 | 1080 | * @access protected | 1195 | * @access protected |
290 | 1081 | */ | 1196 | */ |
292 | 1082 | protected function __construct() {} | 1197 | protected function __construct() { |
293 | 1198 | } | ||
294 | 1083 | 1199 | ||
295 | 1084 | } | 1200 | } |
296 | 1085 | 1201 | ||
297 | 1086 | /* No xclasses for static classes! | 1202 | /* No xclasses for static classes! |
300 | 1087 | if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dlf/common/class.tx_dlf_helper.php']) { | 1203 | if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dlf/common/class.tx_dlf_helper.php']) { |
301 | 1088 | include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dlf/common/class.tx_dlf_helper.php']); | 1204 | include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dlf/common/class.tx_dlf_helper.php']); |
302 | 1089 | } | 1205 | } |
303 | 1090 | */ | 1206 | */ |
304 | 1091 | 1207 | ||
305 | 1092 | 1208 | ||
306 | === modified file 'dlf/ext_autoload.php' | |||
307 | --- dlf/ext_autoload.php 2012-09-27 11:25:51 +0000 | |||
308 | +++ dlf/ext_autoload.php 2012-10-10 09:08:30 +0000 | |||
309 | @@ -43,6 +43,7 @@ | |||
310 | 43 | 'tx_dlf_modIndexing' => $extensionPath.'modules/indexing/index.php', | 43 | 'tx_dlf_modIndexing' => $extensionPath.'modules/indexing/index.php', |
311 | 44 | 'tx_dlf_modNewclient' => $extensionPath.'modules/newclient/index.php', | 44 | 'tx_dlf_modNewclient' => $extensionPath.'modules/newclient/index.php', |
312 | 45 | 'tx_dlf_collection' => $extensionPath.'plugins/collection/class.tx_dlf_collection.php', | 45 | 'tx_dlf_collection' => $extensionPath.'plugins/collection/class.tx_dlf_collection.php', |
313 | 46 | 'tx_dlf_collection_hook' => $extensionPath.'plugins/collection/class.tx_dlf_collection_hook.php', | ||
314 | 46 | 'tx_dlf_feeds' => $extensionPath.'plugins/feeds/class.tx_dlf_feeds.php', | 47 | 'tx_dlf_feeds' => $extensionPath.'plugins/feeds/class.tx_dlf_feeds.php', |
315 | 47 | 'tx_dlf_listview' => $extensionPath.'plugins/listview/class.tx_dlf_listview.php', | 48 | 'tx_dlf_listview' => $extensionPath.'plugins/listview/class.tx_dlf_listview.php', |
316 | 48 | 'tx_dlf_metadata' => $extensionPath.'plugins/metadata/class.tx_dlf_metadata.php', | 49 | 'tx_dlf_metadata' => $extensionPath.'plugins/metadata/class.tx_dlf_metadata.php', |
317 | 49 | 50 | ||
318 | === modified file 'dlf/ext_emconf.php' | |||
319 | === modified file 'dlf/ext_localconf.php' | |||
320 | --- dlf/ext_localconf.php 2012-09-25 13:28:48 +0000 | |||
321 | +++ dlf/ext_localconf.php 2012-10-10 09:08:30 +0000 | |||
322 | @@ -65,6 +65,9 @@ | |||
323 | 65 | 65 | ||
324 | 66 | $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['dlf/common/class.tx_dlf_document.php']['hookClass'][] = 'EXT:'.$_EXTKEY.'/hooks/class.tx_dlf_hacks.php:tx_dlf_hacks'; | 66 | $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['dlf/common/class.tx_dlf_document.php']['hookClass'][] = 'EXT:'.$_EXTKEY.'/hooks/class.tx_dlf_hacks.php:tx_dlf_hacks'; |
325 | 67 | 67 | ||
326 | 68 | // Hook for action menu in list view, to facilitate individual collections. | ||
327 | 69 | $GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][$_EXTKEY]['hooks']['tx_dlf_listview'][] = 'EXT:'.$_EXTKEY.'/hooks/class.tx_dlf_collection_hook.php:tx_dlf_collection_hook'; | ||
328 | 70 | |||
329 | 68 | // Register command line scripts. | 71 | // Register command line scripts. |
330 | 69 | $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['cliKeys'][$_EXTKEY] = array ('EXT:'.$_EXTKEY.'/cli/class.tx_dlf_cli.php', '_CLI_dlf'); | 72 | $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['cliKeys'][$_EXTKEY] = array ('EXT:'.$_EXTKEY.'/cli/class.tx_dlf_cli.php', '_CLI_dlf'); |
331 | 70 | 73 | ||
332 | 71 | 74 | ||
333 | === added file 'dlf/hooks/class.tx_dlf_collection_hook.php' | |||
334 | --- dlf/hooks/class.tx_dlf_collection_hook.php 1970-01-01 00:00:00 +0000 | |||
335 | +++ dlf/hooks/class.tx_dlf_collection_hook.php 2012-10-10 09:08:30 +0000 | |||
336 | @@ -0,0 +1,1229 @@ | |||
337 | 1 | <?php | ||
338 | 2 | /*************************************************************** | ||
339 | 3 | * Copyright notice | ||
340 | 4 | * | ||
341 | 5 | * (c) 2012 Henrik Lochmann <dev@mentalmotive.com>, Zeutschel GmbH | ||
342 | 6 | * All rights reserved | ||
343 | 7 | * | ||
344 | 8 | * This script is part of the TYPO3 project. The TYPO3 project is | ||
345 | 9 | * free software; you can redistribute it and/or modify | ||
346 | 10 | * it under the terms of the GNU General Public License as published by | ||
347 | 11 | * the Free Software Foundation; either version 2 of the License, or | ||
348 | 12 | * (at your option) any later version. | ||
349 | 13 | * | ||
350 | 14 | * The GNU General Public License can be found at | ||
351 | 15 | * http://www.gnu.org/copyleft/gpl.html. | ||
352 | 16 | * | ||
353 | 17 | * This script is distributed in the hope that it will be useful, | ||
354 | 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
355 | 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
356 | 20 | * GNU General Public License for more details. | ||
357 | 21 | * | ||
358 | 22 | * This copyright notice MUST APPEAR in all copies of the script! | ||
359 | 23 | ***************************************************************/ | ||
360 | 24 | |||
361 | 25 | /** | ||
362 | 26 | * An implementation of various hooks of the 'DLF: List View' plugin | ||
363 | 27 | * to allow front end users the management of individual collections. | ||
364 | 28 | * | ||
365 | 29 | * @author Henrik Lochmann <dev@mentalmotive.com> | ||
366 | 30 | * @copyright Copyright (c) 2012, Henrik Lochmann, Zeutschel GmbH | ||
367 | 31 | * @package TYPO3 | ||
368 | 32 | * @subpackage tx_dlf | ||
369 | 33 | * @access public | ||
370 | 34 | */ | ||
371 | 35 | class tx_dlf_collection_hook { | ||
372 | 36 | |||
373 | 37 | /** | ||
374 | 38 | * @var string url parameter name constant for an action (controls on which an action shall be applied) | ||
375 | 39 | * @see tx_dlf_hook_EntryActions | ||
376 | 40 | * @see tx_dlf_hook_ListActions | ||
377 | 41 | */ | ||
378 | 42 | protected static $ENTRY_ACTION = 'action'; | ||
379 | 43 | |||
380 | 44 | /** | ||
381 | 45 | * @var string url parameter name constant for an action parameter (controls how is an action applied) | ||
382 | 46 | */ | ||
383 | 47 | protected static $ENTRY_ACTION_SUBJECT = 'action_subject'; | ||
384 | 48 | |||
385 | 49 | /** | ||
386 | 50 | * @var string url parameter name constant for an action site (controls on which target an action applied) | ||
387 | 51 | */ | ||
388 | 52 | protected static $ENTRY_ACTION_OBJECT = 'action_object'; | ||
389 | 53 | |||
390 | 54 | protected static $FORM_FIELD_COLLECTION_NAME = 'col_name'; | ||
391 | 55 | |||
392 | 56 | protected static $FORM_FIELD_COLLECTION_DESCRIPTION = 'col_desc'; | ||
393 | 57 | |||
394 | 58 | protected static $LANG_PREFIX = 'individual_collections.'; | ||
395 | 59 | |||
396 | 60 | protected $conf; | ||
397 | 61 | |||
398 | 62 | protected $lang; | ||
399 | 63 | |||
400 | 64 | protected $editCollectionTemplate; | ||
401 | 65 | |||
402 | 66 | protected $plugin; | ||
403 | 67 | |||
404 | 68 | /** | ||
405 | 69 | * Evaluation of 'input'-type values based on 'eval' list | ||
406 | 70 | * | ||
407 | 71 | * @param string Value to evaluate | ||
408 | 72 | * @param array Array of evaluations to traverse. | ||
409 | 73 | * @param string Is-in string for 'is_in' evaluation | ||
410 | 74 | * @return array Modified $value in key 'value' or empty array | ||
411 | 75 | */ | ||
412 | 76 | protected static function checkValue_input_Eval($value, $evalArray, $is_in, $pid = 0) { | ||
413 | 77 | |||
414 | 78 | $res = array(); | ||
415 | 79 | |||
416 | 80 | $newValue = $value; | ||
417 | 81 | |||
418 | 82 | $set = TRUE; | ||
419 | 83 | |||
420 | 84 | foreach ($evalArray as $func) { | ||
421 | 85 | |||
422 | 86 | switch ($func) { | ||
423 | 87 | |||
424 | 88 | case 'int': | ||
425 | 89 | case 'year': | ||
426 | 90 | case 'time': | ||
427 | 91 | case 'timesec': | ||
428 | 92 | $value = intval($value); | ||
429 | 93 | break; | ||
430 | 94 | |||
431 | 95 | case 'date': | ||
432 | 96 | case 'datetime': | ||
433 | 97 | |||
434 | 98 | $value = intval($value); | ||
435 | 99 | |||
436 | 100 | if ($value > 0 && !$this->dontProcessTransformations) { | ||
437 | 101 | |||
438 | 102 | $value -= date('Z', $value); | ||
439 | 103 | |||
440 | 104 | } | ||
441 | 105 | |||
442 | 106 | break; | ||
443 | 107 | |||
444 | 108 | case 'double2': | ||
445 | 109 | |||
446 | 110 | $value = preg_replace('/[^0-9,\.-]/', '', $value); | ||
447 | 111 | |||
448 | 112 | $negative = substr($value, 0, 1) == '-'; | ||
449 | 113 | |||
450 | 114 | $value = strtr($value, array(',' => '.', '-' => '')); | ||
451 | 115 | |||
452 | 116 | if (strpos($value, '.') === FALSE) { | ||
453 | 117 | |||
454 | 118 | $value .= '.0'; | ||
455 | 119 | |||
456 | 120 | } | ||
457 | 121 | |||
458 | 122 | $valueArray = explode('.', $value); | ||
459 | 123 | |||
460 | 124 | $dec = array_pop($valueArray); | ||
461 | 125 | |||
462 | 126 | $value = join('', $valueArray) . '.' . $dec; | ||
463 | 127 | |||
464 | 128 | if ($negative) { | ||
465 | 129 | |||
466 | 130 | $value *= -1; | ||
467 | 131 | |||
468 | 132 | } | ||
469 | 133 | |||
470 | 134 | $value = number_format($value, 2, '.', ''); | ||
471 | 135 | |||
472 | 136 | break; | ||
473 | 137 | |||
474 | 138 | case 'md5': | ||
475 | 139 | |||
476 | 140 | if (strlen($value) != 32) { | ||
477 | 141 | |||
478 | 142 | $set = FALSE; | ||
479 | 143 | |||
480 | 144 | } | ||
481 | 145 | |||
482 | 146 | break; | ||
483 | 147 | |||
484 | 148 | case 'trim': | ||
485 | 149 | |||
486 | 150 | $value = trim($value); | ||
487 | 151 | |||
488 | 152 | break; | ||
489 | 153 | |||
490 | 154 | case 'upper': | ||
491 | 155 | |||
492 | 156 | $value = $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $value, 'toUpper'); | ||
493 | 157 | |||
494 | 158 | break; | ||
495 | 159 | |||
496 | 160 | case 'lower': | ||
497 | 161 | |||
498 | 162 | $value = $GLOBALS['LANG']->csConvObj->conv_case($GLOBALS['LANG']->charSet, $value, 'toLower'); | ||
499 | 163 | |||
500 | 164 | break; | ||
501 | 165 | |||
502 | 166 | case 'required': | ||
503 | 167 | |||
504 | 168 | if (!isset($value) || $value === '') { | ||
505 | 169 | |||
506 | 170 | $set = FALSE; | ||
507 | 171 | |||
508 | 172 | } | ||
509 | 173 | |||
510 | 174 | break; | ||
511 | 175 | |||
512 | 176 | case 'is_in': | ||
513 | 177 | |||
514 | 178 | $c = strlen($value); | ||
515 | 179 | |||
516 | 180 | if ($c) { | ||
517 | 181 | |||
518 | 182 | $newVal = ''; | ||
519 | 183 | |||
520 | 184 | for ($a = 0; $a < $c; $a++) { | ||
521 | 185 | |||
522 | 186 | $char = substr($value, $a, 1); | ||
523 | 187 | |||
524 | 188 | if (strpos($is_in, $char) !== FALSE) { | ||
525 | 189 | |||
526 | 190 | $newVal .= $char; | ||
527 | 191 | |||
528 | 192 | } | ||
529 | 193 | |||
530 | 194 | } | ||
531 | 195 | |||
532 | 196 | $value = $newVal; | ||
533 | 197 | |||
534 | 198 | } | ||
535 | 199 | |||
536 | 200 | break; | ||
537 | 201 | |||
538 | 202 | case 'nospace': | ||
539 | 203 | |||
540 | 204 | $value = str_replace(' ', '', $value); | ||
541 | 205 | |||
542 | 206 | break; | ||
543 | 207 | |||
544 | 208 | case 'alpha': | ||
545 | 209 | |||
546 | 210 | $value = preg_replace('/[^a-zA-Z]/', '', $value); | ||
547 | 211 | |||
548 | 212 | break; | ||
549 | 213 | |||
550 | 214 | case 'num': | ||
551 | 215 | |||
552 | 216 | $value = preg_replace('/[^0-9]/', '', $value); | ||
553 | 217 | |||
554 | 218 | break; | ||
555 | 219 | |||
556 | 220 | case 'alphanum': | ||
557 | 221 | |||
558 | 222 | $value = preg_replace('/[^a-zA-Z0-9]/', '', $value); | ||
559 | 223 | |||
560 | 224 | break; | ||
561 | 225 | |||
562 | 226 | case 'alphanum_x': | ||
563 | 227 | |||
564 | 228 | $value = preg_replace('/[^a-zA-Z0-9_-]/', '', $value); | ||
565 | 229 | |||
566 | 230 | break; | ||
567 | 231 | |||
568 | 232 | case 'domainname': | ||
569 | 233 | |||
570 | 234 | if (!preg_match('/^[a-z0-9\.\-]*$/i', $value)) { | ||
571 | 235 | |||
572 | 236 | t3lib_div::requireOnce(PATH_typo3 . 'contrib/idna/idna_convert.class.php'); | ||
573 | 237 | |||
574 | 238 | $idnaConvert = new idna_convert(); | ||
575 | 239 | |||
576 | 240 | $idnaConvert->set_parameter('idn_version', '2008'); | ||
577 | 241 | |||
578 | 242 | $value = $idnaConvert->encode($value); | ||
579 | 243 | |||
580 | 244 | unset($idnaConvert); | ||
581 | 245 | |||
582 | 246 | } | ||
583 | 247 | |||
584 | 248 | break; | ||
585 | 249 | |||
586 | 250 | case 'uniqueInPid': | ||
587 | 251 | |||
588 | 252 | break; | ||
589 | 253 | |||
590 | 254 | default: | ||
591 | 255 | |||
592 | 256 | if (t3lib_div::hasValidClassPrefix($func)) { | ||
593 | 257 | |||
594 | 258 | $evalObj = t3lib_div::getUserObj($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tce']['formevals'][$func] . ':&' . $func); | ||
595 | 259 | |||
596 | 260 | if (is_object($evalObj) && method_exists($evalObj, 'evaluateFieldValue')) { | ||
597 | 261 | |||
598 | 262 | $value = $evalObj->evaluateFieldValue($value, $is_in, $set); | ||
599 | 263 | |||
600 | 264 | } | ||
601 | 265 | |||
602 | 266 | } | ||
603 | 267 | |||
604 | 268 | break; | ||
605 | 269 | } | ||
606 | 270 | } | ||
607 | 271 | |||
608 | 272 | if ($set) { | ||
609 | 273 | |||
610 | 274 | $res['value'] = $value; | ||
611 | 275 | |||
612 | 276 | } | ||
613 | 277 | |||
614 | 278 | return $res; | ||
615 | 279 | |||
616 | 280 | } | ||
617 | 281 | |||
618 | 282 | /** | ||
619 | 283 | * Assigns a DLF document with a DLF collection by updating the corresponding | ||
620 | 284 | * database table. | ||
621 | 285 | * | ||
622 | 286 | * @access protected | ||
623 | 287 | * | ||
624 | 288 | * @param integer $documentUid the DLF document's uid | ||
625 | 289 | * @param integer $collectionUid the DLF collections's uid | ||
626 | 290 | * | ||
627 | 291 | * @return void | ||
628 | 292 | */ | ||
629 | 293 | protected function addDocumentToCollection($documentUid, $collectionUid) { | ||
630 | 294 | |||
631 | 295 | // Load TCA to approximate TCE functionality. | ||
632 | 296 | $GLOBALS['TSFE']->includeTCA(); | ||
633 | 297 | |||
634 | 298 | t3lib_div::loadTCA('tx_dlf_documents'); | ||
635 | 299 | |||
636 | 300 | t3lib_div::devLog('[tx_dlf_collection_hook.addDocumentToCollection] tca='.$GLOBALS['TCA']['tx_dlf_documents']['columns']['collections']['config']['MM_match_fields']['ident'], 'dlf', t3lib_div::SYSLOG_SEVERITY_NOTICE); | ||
637 | 301 | |||
638 | 302 | // insert relation between document and collection | ||
639 | 303 | $GLOBALS['TYPO3_DB']->exec_INSERTquery( | ||
640 | 304 | 'tx_dlf_relations', | ||
641 | 305 | array ( | ||
642 | 306 | 'uid_local' => $documentUid, | ||
643 | 307 | 'uid_foreign' => $collectionUid, | ||
644 | 308 | 'ident' => $GLOBALS['TCA']['tx_dlf_documents']['columns']['collections']['config']['MM_match_fields']['ident'], | ||
645 | 309 | ) | ||
646 | 310 | ); | ||
647 | 311 | |||
648 | 312 | } | ||
649 | 313 | |||
650 | 314 | /** | ||
651 | 315 | * Applies TCA eval functions to the given collection properties and returns | ||
652 | 316 | * proper DB table columns for update or insertion in the tx_dlf_collections table. | ||
653 | 317 | * | ||
654 | 318 | * @param string $title the desired collection title | ||
655 | 319 | * @param string $description the desired collection description | ||
656 | 320 | * | ||
657 | 321 | * @return array|NULL an associative array with the values label, index_name and oai_name; or NULL if TCA eval constraints were not fulfilled | ||
658 | 322 | */ | ||
659 | 323 | protected function checkCollectionValues($title, $description) { | ||
660 | 324 | |||
661 | 325 | // Load TCA to approximate TCE functionality. | ||
662 | 326 | $GLOBALS['TSFE']->includeTCA(); | ||
663 | 327 | |||
664 | 328 | t3lib_div::loadTCA('tx_dlf_collections'); | ||
665 | 329 | |||
666 | 330 | /* TCEmain->checkValue_input_Eval() should be used here; | ||
667 | 331 | * until it is available in the frontend, we implement corresponding TCA constraints manually via tx_dlf_helper | ||
668 | 332 | */ | ||
669 | 333 | |||
670 | 334 | // title is required | ||
671 | 335 | if (empty($title)) { | ||
672 | 336 | |||
673 | 337 | return NULL; | ||
674 | 338 | |||
675 | 339 | } | ||
676 | 340 | |||
677 | 341 | // prepare field values | ||
678 | 342 | $fields = array('label' => $title, 'index_name' => $title, 'oai_name' => $title, 'description' => $description); | ||
679 | 343 | |||
680 | 344 | $whereClause = ''; | ||
681 | 345 | |||
682 | 346 | // apply TCA constraints | ||
683 | 347 | foreach ($fields as $name => &$value) { | ||
684 | 348 | |||
685 | 349 | if (empty($value)) { | ||
686 | 350 | |||
687 | 351 | continue; | ||
688 | 352 | |||
689 | 353 | } | ||
690 | 354 | |||
691 | 355 | $eval_result = tx_dlf_collection_hook::checkValue_input_Eval( | ||
692 | 356 | $value, | ||
693 | 357 | $GLOBALS['TCA']['tx_dlf_collections']['columns'][$name]['config']['eval'], | ||
694 | 358 | $GLOBALS['TCA']['tx_dlf_collections']['columns'][$name]['config']['is_in']); | ||
695 | 359 | |||
696 | 360 | if (count($eval_result) == 0) { | ||
697 | 361 | |||
698 | 362 | // eval function call failed | ||
699 | 363 | return NULL; | ||
700 | 364 | |||
701 | 365 | } | ||
702 | 366 | |||
703 | 367 | $value = $eval_result['value']; | ||
704 | 368 | |||
705 | 369 | $whereClause .= ' AND tx_dlf_collections.'.$name.'="'.$value.'"'; | ||
706 | 370 | |||
707 | 371 | } | ||
708 | 372 | |||
709 | 373 | // check uniqueInPid for fields | ||
710 | 374 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
711 | 375 | 'tx_dlf_collections.label AS label,tx_dlf_collections.description AS description,tx_dlf_collections.fe_cruser_id AS fe_cruser_id', | ||
712 | 376 | 'tx_dlf_collections', | ||
713 | 377 | 'tx_dlf_collections.pid='.intval($this->plugin->conf['pages']) | ||
714 | 378 | .$whereClause | ||
715 | 379 | .tx_dlf_helper::whereClause('tx_dlf_collections'), | ||
716 | 380 | '', | ||
717 | 381 | '', | ||
718 | 382 | '' | ||
719 | 383 | ); | ||
720 | 384 | |||
721 | 385 | // if any of derived fields are already avaiable in DB, check fails: we don't do any | ||
722 | 386 | // alternative calculation since this method is just a temporary solution for TCE | ||
723 | 387 | // instantiation in FE, which is to come soon | ||
724 | 388 | if ($GLOBALS['TYPO3_DB']->sql_num_rows($result) > 0) { | ||
725 | 389 | |||
726 | 390 | return NULL; | ||
727 | 391 | |||
728 | 392 | } | ||
729 | 393 | |||
730 | 394 | return $fields; | ||
731 | 395 | |||
732 | 396 | } | ||
733 | 397 | |||
734 | 398 | /** | ||
735 | 399 | * Creates a new DLF collection by updating the corresponding | ||
736 | 400 | * database table. | ||
737 | 401 | * | ||
738 | 402 | * @param string $title the title of the collection to create | ||
739 | 403 | * @param string $description the description of the collection to create | ||
740 | 404 | * | ||
741 | 405 | * @return integer The uid of the last inserted record or -1, if one or more of the passed parameters did not adhere to database column constraints. | ||
742 | 406 | */ | ||
743 | 407 | protected function createCollection($title, $description) { | ||
744 | 408 | |||
745 | 409 | $fields = $this->checkCollectionValues($title, $description); | ||
746 | 410 | |||
747 | 411 | if ($fields == NULL) { | ||
748 | 412 | |||
749 | 413 | return -1; | ||
750 | 414 | |||
751 | 415 | } | ||
752 | 416 | |||
753 | 417 | // Insert new collection. | ||
754 | 418 | $GLOBALS['TYPO3_DB']->exec_INSERTquery( | ||
755 | 419 | 'tx_dlf_collections', | ||
756 | 420 | array ( | ||
757 | 421 | 'pid' => $this->plugin->conf['pages'], | ||
758 | 422 | 'tstamp' => $GLOBALS['EXEC_TIME'], | ||
759 | 423 | 'crdate' => $GLOBALS['EXEC_TIME'], | ||
760 | 424 | $GLOBALS['TCA']['tx_dlf_collections']['ctrl']['fe_cruser_id'] => $GLOBALS['TSFE']->fe_user->user['uid'], | ||
761 | 425 | 'label' => $fields['label'], | ||
762 | 426 | 'index_name' => $fields['index_name'], | ||
763 | 427 | 'oai_name' => $fields['oai_name'], | ||
764 | 428 | 'description' => $fields['description'], | ||
765 | 429 | 'documents' => 0, | ||
766 | 430 | 'owner' => 0, | ||
767 | 431 | 'status' => 0, | ||
768 | 432 | ) | ||
769 | 433 | ); | ||
770 | 434 | |||
771 | 435 | return $GLOBALS['TYPO3_DB']->sql_insert_id(); | ||
772 | 436 | |||
773 | 437 | } | ||
774 | 438 | |||
775 | 439 | /** | ||
776 | 440 | * Creates a page link URL to the current page, containing special action | ||
777 | 441 | * parameters that are processed by this hook class. | ||
778 | 442 | * | ||
779 | 443 | * @param mixed $action the value that is appended as action parameter in the resulting URL | ||
780 | 444 | * @param mixed $subject the value that is appended as subject parameter in the resulting URL | ||
781 | 445 | * @param mixed $object the value that is appended as object parameter in the resulting URL | ||
782 | 446 | * | ||
783 | 447 | * @return string The created URL. | ||
784 | 448 | */ | ||
785 | 449 | protected function createLink($action, $subject, $object = NULL) { | ||
786 | 450 | |||
787 | 451 | $params = array ( | ||
788 | 452 | $this->plugin->prefixId => array ( | ||
789 | 453 | self::$ENTRY_ACTION_SUBJECT => (string) $subject, | ||
790 | 454 | self::$ENTRY_ACTION => (string) $action | ||
791 | 455 | ) | ||
792 | 456 | ); | ||
793 | 457 | |||
794 | 458 | if ($object != NULL) { | ||
795 | 459 | |||
796 | 460 | $params[$this->plugin->prefixId][self::$ENTRY_ACTION_OBJECT] = (string) $object; | ||
797 | 461 | |||
798 | 462 | } | ||
799 | 463 | |||
800 | 464 | return $this->plugin->pi_getPageLink($GLOBALS['TSFE']->id, '', $params); | ||
801 | 465 | |||
802 | 466 | } | ||
803 | 467 | |||
804 | 468 | /** | ||
805 | 469 | * Deletes a DLF collection by updating the corresponding database table. | ||
806 | 470 | * | ||
807 | 471 | * @param integer $collectionUid the DLF collections's uid | ||
808 | 472 | * | ||
809 | 473 | * @return void | ||
810 | 474 | */ | ||
811 | 475 | protected function deleteCollection($collectionUid) { | ||
812 | 476 | |||
813 | 477 | // Remove all document relations to collection. | ||
814 | 478 | $GLOBALS['TYPO3_DB']->exec_DELETEquery('tx_dlf_relations', 'uid_foreign='.$collectionUid); | ||
815 | 479 | |||
816 | 480 | // Delete collection: update deleted flag in DB. | ||
817 | 481 | $GLOBALS['TYPO3_DB']->exec_UPDATEquery( | ||
818 | 482 | 'tx_dlf_collections', | ||
819 | 483 | 'uid='.$collectionUid, | ||
820 | 484 | array( | ||
821 | 485 | 'deleted' => 1 | ||
822 | 486 | ) | ||
823 | 487 | ); | ||
824 | 488 | |||
825 | 489 | // Clean list and update header. | ||
826 | 490 | $list = t3lib_div::makeInstance('tx_dlf_list'); | ||
827 | 491 | |||
828 | 492 | // check if we come from the collections plugin and remove this passed document, if appropriate | ||
829 | 493 | if (!empty($list->metadata['options']['source']) && $list->metadata['options']['source'] == 'collection') { | ||
830 | 494 | |||
831 | 495 | $colName = $list->metadata['label']; | ||
832 | 496 | |||
833 | 497 | $list->reset(); | ||
834 | 498 | |||
835 | 499 | $list->metadata = array( | ||
836 | 500 | 'label' => $this->getLL(tx_dlf_hook_ListActions::DeleteCollection.'.done'), | ||
837 | 501 | 'description' => sprintf($this->getLL(tx_dlf_hook_ListActions::DeleteCollection.'.done.sub'), $colName), | ||
838 | 502 | ); | ||
839 | 503 | |||
840 | 504 | $list->save(); | ||
841 | 505 | |||
842 | 506 | } | ||
843 | 507 | |||
844 | 508 | } | ||
845 | 509 | |||
846 | 510 | /** | ||
847 | 511 | * Fills the markers contained of the edit-collection-template (that | ||
848 | 512 | * is loaded into the $editCollectionTemplate field) with the passed | ||
849 | 513 | * values. | ||
850 | 514 | * | ||
851 | 515 | * @param mixed $action the action parameter for the ACTION_URL marker | ||
852 | 516 | * @param mixed $subject the subject parameter for the ACTION_URL marker | ||
853 | 517 | * @param string $collectionName the content of the COLLECTION_NAME_VALUE marker | ||
854 | 518 | * @param string $collectionDescription the content of the COLLECTION_DESC_VALUE marker | ||
855 | 519 | * | ||
856 | 520 | * @return string The edit collection template with substituted markers. | ||
857 | 521 | */ | ||
858 | 522 | protected function getEditCollectionTemplate($action, $subject, $collectionName = '', $collectionDescription = '') { | ||
859 | 523 | // Fill edit collection template. | ||
860 | 524 | $markerArray = array(); | ||
861 | 525 | |||
862 | 526 | $markerArray['###ACTION###'] = $action; | ||
863 | 527 | |||
864 | 528 | $markerArray['###ACTION_LABEL###'] = $this->getLL($action); | ||
865 | 529 | |||
866 | 530 | $markerArray['###SUBMIT_LABEL###'] = $this->getLL($action.'.ok'); | ||
867 | 531 | |||
868 | 532 | $markerArray['###CANCEL_LABEL###'] = $this->getLL('cancel'); | ||
869 | 533 | |||
870 | 534 | $markerArray['###ACTION_URL###'] = $this->createLink($action, $subject); | ||
871 | 535 | |||
872 | 536 | $markerArray['###COLLECTION_NAME###'] = $this->wrapFormField(self::$FORM_FIELD_COLLECTION_NAME); | ||
873 | 537 | |||
874 | 538 | $markerArray['###COLLECTION_NAME_LABEL###'] = $this->getLL('name'); | ||
875 | 539 | |||
876 | 540 | $markerArray['###COLLECTION_NAME_VALUE###'] = $collectionName; | ||
877 | 541 | |||
878 | 542 | $markerArray['###COLLECTION_DESC###'] = $this->wrapFormField(self::$FORM_FIELD_COLLECTION_DESCRIPTION); | ||
879 | 543 | |||
880 | 544 | $markerArray['###COLLECTION_DESC_LABEL###'] = $this->getLL('desc'); | ||
881 | 545 | |||
882 | 546 | $markerArray['###COLLECTION_DESC_VALUE###'] = $collectionDescription; | ||
883 | 547 | |||
884 | 548 | return $this->plugin->cObj->substituteMarkerArray($this->editCollectionTemplate, $markerArray); | ||
885 | 549 | |||
886 | 550 | } | ||
887 | 551 | |||
888 | 552 | /** | ||
889 | 553 | * Implementation of the 'getEntry_fillEntryActions' hook in the class tx_dlf_listview. | ||
890 | 554 | * This hook adds user-specific functionionality to edit documents in a FE user collection. | ||
891 | 555 | * Thus, if no FE user is logged in, NULL is returned. | ||
892 | 556 | * | ||
893 | 557 | * @param tx_dlf_plugin $plugin the tx_dlf_listview plugin | ||
894 | 558 | * @param array $listElement the element shwon in list view, entry actions shall be generated for | ||
895 | 559 | * | ||
896 | 560 | * @return NULL|string A rendered menu object with user-specific functionionality to edit documents in a FE user collection or NULL if no FE user is logged in. | ||
897 | 561 | */ | ||
898 | 562 | public function getEntry_fillEntryActions($plugin, $listElement) { | ||
899 | 563 | |||
900 | 564 | $this->init($plugin); | ||
901 | 565 | |||
902 | 566 | // We render user-specific entry actions (only when somone is logged-in). | ||
903 | 567 | $userId = $GLOBALS['TSFE']->fe_user->user['uid']; | ||
904 | 568 | |||
905 | 569 | if (empty($userId)) { | ||
906 | 570 | |||
907 | 571 | return NULL; | ||
908 | 572 | |||
909 | 573 | } | ||
910 | 574 | |||
911 | 575 | // We render different entry actions in single collection view than in usual search result views. | ||
912 | 576 | $list = t3lib_div::makeInstance('tx_dlf_list'); | ||
913 | 577 | |||
914 | 578 | $collectionUid = NULL; | ||
915 | 579 | |||
916 | 580 | if ($list->metadata['options']['source'] === 'collection') { | ||
917 | 581 | |||
918 | 582 | $collectionUid = $list->metadata['options']['select']; | ||
919 | 583 | |||
920 | 584 | } | ||
921 | 585 | |||
922 | 586 | return $this->renderListEntryMenuObject($listElement, $collectionUid); | ||
923 | 587 | |||
924 | 588 | } | ||
925 | 589 | |||
926 | 590 | /** | ||
927 | 591 | * Returns the localized string for the given language key. | ||
928 | 592 | * | ||
929 | 593 | * @param string $key the language key | ||
930 | 594 | * | ||
931 | 595 | * @return string the localized string for the given language key | ||
932 | 596 | */ | ||
933 | 597 | protected function getLL($key) { | ||
934 | 598 | |||
935 | 599 | return $GLOBALS['TSFE']->getLLL(self::$LANG_PREFIX.$key, $this->lang); | ||
936 | 600 | |||
937 | 601 | } | ||
938 | 602 | |||
939 | 603 | /** | ||
940 | 604 | * Answers if the requested collection is owned by the passed user. | ||
941 | 605 | * | ||
942 | 606 | * @param integer $collectionUid the uid of the requested DLF collection | ||
943 | 607 | * | ||
944 | 608 | * @return boolean FALSE, if the requested collection is not owned by the passed user; TRUE otherwise. | ||
945 | 609 | */ | ||
946 | 610 | protected function isFEUserCollection($collectionUid) { | ||
947 | 611 | |||
948 | 612 | if (empty($collectionUid)) { | ||
949 | 613 | |||
950 | 614 | return FALSE; | ||
951 | 615 | |||
952 | 616 | } | ||
953 | 617 | |||
954 | 618 | $properties = $this->getCollectionProperties($collectionUid, $GLOBALS['TSFE']->fe_user->user['uid']); | ||
955 | 619 | |||
956 | 620 | if ($properties) { | ||
957 | 621 | |||
958 | 622 | return TRUE; | ||
959 | 623 | |||
960 | 624 | } | ||
961 | 625 | |||
962 | 626 | return FALSE; | ||
963 | 627 | |||
964 | 628 | } | ||
965 | 629 | |||
966 | 630 | /** | ||
967 | 631 | * Extracts and returns the properties of a user's collection. | ||
968 | 632 | * | ||
969 | 633 | * @param integer $collectionUid the uid of the requested DLF collection | ||
970 | 634 | * @param integer $userId the uid of the requested DLF collection | ||
971 | 635 | * | ||
972 | 636 | * @return boolean,array an associative array with the collection the property keys: label, description, fe_cruser_id or FALSE if the passed collection is not owned by the passed user or does not exist | ||
973 | 637 | * */ | ||
974 | 638 | protected function getCollectionProperties($collectionUid, $userId) { | ||
975 | 639 | |||
976 | 640 | // Get collection properties. | ||
977 | 641 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
978 | 642 | 'tx_dlf_collections.label AS label,tx_dlf_collections.description AS description,tx_dlf_collections.fe_cruser_id AS fe_cruser_id', | ||
979 | 643 | 'tx_dlf_collections', | ||
980 | 644 | 'tx_dlf_collections.pid='.intval($this->plugin->conf['pages']) | ||
981 | 645 | .' AND tx_dlf_collections.uid='.intval($collectionUid) | ||
982 | 646 | .' AND tx_dlf_collections.fe_cruser_id='.intval($userId) | ||
983 | 647 | .tx_dlf_helper::whereClause('tx_dlf_collections'), | ||
984 | 648 | '', | ||
985 | 649 | '', | ||
986 | 650 | '' | ||
987 | 651 | ); | ||
988 | 652 | |||
989 | 653 | return $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result); | ||
990 | 654 | |||
991 | 655 | } | ||
992 | 656 | |||
993 | 657 | /** | ||
994 | 658 | * Initializes this hook class with the passed tx_dlf_plugin instance. | ||
995 | 659 | * | ||
996 | 660 | * @param tx_dlf_plugin $plugin the tx_dlf_listview plugin | ||
997 | 661 | * | ||
998 | 662 | * @return void | ||
999 | 663 | */ | ||
1000 | 664 | protected function init($plugin) { | ||
1001 | 665 | |||
1002 | 666 | $this->plugin = $plugin; | ||
1003 | 667 | |||
1004 | 668 | // Load collection plugin configuration. | ||
1005 | 669 | $this->conf = $GLOBALS['TSFE']->tmpl->setup['plugin.'][$this->plugin->prefixId.'_collection.']; | ||
1006 | 670 | |||
1007 | 671 | // Load l18n file of collection plugin. | ||
1008 | 672 | $this->lang = $GLOBALS['TSFE']->readLLfile(t3lib_extMgm::extPath($this->plugin->extKey, 'plugins/collection/locallang.xml')); | ||
1009 | 673 | |||
1010 | 674 | // Load the edit collection template. | ||
1011 | 675 | $this->editCollectionTemplate = ''; | ||
1012 | 676 | |||
1013 | 677 | if (!empty($this->conf['individualCollections.']['editCollectionTemplate'])) { | ||
1014 | 678 | |||
1015 | 679 | $this->editCollectionTemplate = $this->plugin->cObj->getSubpart($this->plugin->cObj->fileResource($this->conf['individualCollections.']['editCollectionTemplate']), '###TEMPLATE###'); | ||
1016 | 680 | |||
1017 | 681 | } else { | ||
1018 | 682 | |||
1019 | 683 | $this->editCollectionTemplate = $this->plugin->cObj->getSubpart($this->plugin->cObj->fileResource('EXT:dlf/plugins/collection/edit_collection.tmpl'), '###TEMPLATE###'); | ||
1020 | 684 | |||
1021 | 685 | } | ||
1022 | 686 | |||
1023 | 687 | } | ||
1024 | 688 | |||
1025 | 689 | /** | ||
1026 | 690 | * Implementation of the 'main_fillListActions' hook in the class tx_dlf_listview. | ||
1027 | 691 | * This hook adds user-specific functionionality to edit collections. | ||
1028 | 692 | * | ||
1029 | 693 | * @param tx_dlf_plugin $plugin the tx_dlf_listview plugin | ||
1030 | 694 | * | ||
1031 | 695 | * @return NULL|string NULL if an error occurred or the HTML content that is integrated in the output of the tx_dlf_listview plugin | ||
1032 | 696 | */ | ||
1033 | 697 | |||
1034 | 698 | public function main_fillListActions($plugin) { | ||
1035 | 699 | |||
1036 | 700 | t3lib_div::devLog('[tx_dlf_collection_hook.main_fillListActions] ', 'dlf', t3lib_div::SYSLOG_SEVERITY_INFO); | ||
1037 | 701 | |||
1038 | 702 | $this->init($plugin); | ||
1039 | 703 | |||
1040 | 704 | // We render list actions only for logged-in users. | ||
1041 | 705 | $userId = $GLOBALS['TSFE']->fe_user->user['uid']; | ||
1042 | 706 | |||
1043 | 707 | // Checked if a user is logged in. | ||
1044 | 708 | if (empty($userId)) { | ||
1045 | 709 | |||
1046 | 710 | return NULL; | ||
1047 | 711 | |||
1048 | 712 | } | ||
1049 | 713 | |||
1050 | 714 | // Get actual list. | ||
1051 | 715 | $list = t3lib_div::makeInstance('tx_dlf_list'); | ||
1052 | 716 | |||
1053 | 717 | // Check if we come from the collections plugin. | ||
1054 | 718 | if (empty($list->metadata['options']['source']) || (!empty($list->metadata['options']['source']) && $list->metadata['options']['source'] != 'collection')) { | ||
1055 | 719 | |||
1056 | 720 | return NULL; | ||
1057 | 721 | |||
1058 | 722 | } | ||
1059 | 723 | |||
1060 | 724 | // Check if the shown collection is owned by the logged in user. | ||
1061 | 725 | $collectionUid = intval($list->metadata['options']['select']); | ||
1062 | 726 | |||
1063 | 727 | t3lib_div::devLog('[tx_dlf_collection_hook.main_fillListActions] colID='.$collectionUid, 'dlf', t3lib_div::SYSLOG_SEVERITY_NOTICE); | ||
1064 | 728 | |||
1065 | 729 | // Get collection properties. | ||
1066 | 730 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
1067 | 731 | 'tx_dlf_collections.label AS label,tx_dlf_collections.description AS description,tx_dlf_collections.fe_cruser_id AS fe_cruser_id', | ||
1068 | 732 | 'tx_dlf_collections', | ||
1069 | 733 | 'tx_dlf_collections.pid='.intval($this->plugin->conf['pages']) | ||
1070 | 734 | .' AND tx_dlf_collections.uid='.$collectionUid | ||
1071 | 735 | .' AND tx_dlf_collections.fe_cruser_id='.$userId | ||
1072 | 736 | .tx_dlf_helper::whereClause('tx_dlf_collections'), | ||
1073 | 737 | '', | ||
1074 | 738 | '', | ||
1075 | 739 | '' | ||
1076 | 740 | ); | ||
1077 | 741 | |||
1078 | 742 | // If nothing returned, the requested collection is not owned by the logged-in user. | ||
1079 | 743 | if ((!$resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result))) { | ||
1080 | 744 | |||
1081 | 745 | return NULL; | ||
1082 | 746 | |||
1083 | 747 | } | ||
1084 | 748 | |||
1085 | 749 | // Load collection menuConf. | ||
1086 | 750 | $collectionMenuConf = $this->conf['individualCollections.']['collectionMenu.']; | ||
1087 | 751 | |||
1088 | 752 | if (empty($collectionMenuConf)) { | ||
1089 | 753 | |||
1090 | 754 | trigger_error('No collection menu conf found.', E_USER_NOTICE); | ||
1091 | 755 | |||
1092 | 756 | return NULL; | ||
1093 | 757 | |||
1094 | 758 | } | ||
1095 | 759 | |||
1096 | 760 | |||
1097 | 761 | $_TSconfig = array (); | ||
1098 | 762 | |||
1099 | 763 | $_TSconfig['special'] = 'userfunction'; | ||
1100 | 764 | |||
1101 | 765 | $_TSconfig['special.']['userFunc'] = 'tx_dlf_collection_hook->makeCollectionListMenu'; | ||
1102 | 766 | |||
1103 | 767 | $_TSconfig['special.']['plugin'] = $this->plugin; | ||
1104 | 768 | |||
1105 | 769 | $_TSconfig['special.']['collection'] = $list->metadata['options']['select']; | ||
1106 | 770 | |||
1107 | 771 | $_TSconfig = t3lib_div::array_merge_recursive_overrule($collectionMenuConf, $_TSconfig); | ||
1108 | 772 | |||
1109 | 773 | $content = $this->plugin->cObj->HMENU($_TSconfig); | ||
1110 | 774 | |||
1111 | 775 | // Get collection properties. | ||
1112 | 776 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
1113 | 777 | 'tx_dlf_collections.label AS label,tx_dlf_collections.description AS description', | ||
1114 | 778 | 'tx_dlf_collections', | ||
1115 | 779 | 'tx_dlf_collections.pid='.intval($this->plugin->conf['pages']) | ||
1116 | 780 | .' AND tx_dlf_collections.uid='.intval($list->metadata['options']['select']) | ||
1117 | 781 | .tx_dlf_helper::whereClause('tx_dlf_collections'), | ||
1118 | 782 | '', | ||
1119 | 783 | '', | ||
1120 | 784 | '' | ||
1121 | 785 | ); | ||
1122 | 786 | |||
1123 | 787 | $actionLabel = ''; | ||
1124 | 788 | |||
1125 | 789 | if ($resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) { | ||
1126 | 790 | |||
1127 | 791 | $content .= $this->getEditCollectionTemplate( | ||
1128 | 792 | tx_dlf_hook_ListActions::EditCollection, | ||
1129 | 793 | $list->metadata['options']['select'], | ||
1130 | 794 | $resArray['label'], | ||
1131 | 795 | $resArray['description']); | ||
1132 | 796 | |||
1133 | 797 | } else { | ||
1134 | 798 | |||
1135 | 799 | trigger_error('Given collection id does not exist in database.', E_USER_ERROR); | ||
1136 | 800 | |||
1137 | 801 | } | ||
1138 | 802 | |||
1139 | 803 | return $content; | ||
1140 | 804 | |||
1141 | 805 | } | ||
1142 | 806 | |||
1143 | 807 | /** | ||
1144 | 808 | * Implementation of the 'main_preListRendering' hook in the class tx_dlf_listview. | ||
1145 | 809 | * This hook manages action links produced by this class. | ||
1146 | 810 | * | ||
1147 | 811 | * @param tx_dlf_plugin $plugin the tx_dlf_listview plugin | ||
1148 | 812 | * | ||
1149 | 813 | * @return void | ||
1150 | 814 | */ | ||
1151 | 815 | public function main_preListRendering($plugin) { | ||
1152 | 816 | |||
1153 | 817 | $this->init($plugin); | ||
1154 | 818 | |||
1155 | 819 | $action = $this->plugin->piVars[self::$ENTRY_ACTION]; | ||
1156 | 820 | |||
1157 | 821 | if (!empty($action)) { | ||
1158 | 822 | |||
1159 | 823 | $subject = $this->plugin->piVars[self::$ENTRY_ACTION_SUBJECT]; | ||
1160 | 824 | |||
1161 | 825 | $object = $this->plugin->piVars[self::$ENTRY_ACTION_OBJECT]; | ||
1162 | 826 | |||
1163 | 827 | switch ($action) { | ||
1164 | 828 | |||
1165 | 829 | case tx_dlf_hook_EntryActions::AddDocumentToCollection: | ||
1166 | 830 | |||
1167 | 831 | $this->addDocumentToCollection($subject, $object); | ||
1168 | 832 | |||
1169 | 833 | break; | ||
1170 | 834 | |||
1171 | 835 | case tx_dlf_hook_EntryActions::RemoveDocumentFromCollection: | ||
1172 | 836 | |||
1173 | 837 | $this->removeDocumentFromCollection($subject, $object); | ||
1174 | 838 | |||
1175 | 839 | break; | ||
1176 | 840 | |||
1177 | 841 | case tx_dlf_hook_EntryActions::CreateCollection: | ||
1178 | 842 | |||
1179 | 843 | $collectionId = $this->createCollection( | ||
1180 | 844 | $this->plugin->piVars[self::$FORM_FIELD_COLLECTION_NAME], | ||
1181 | 845 | $this->plugin->piVars[self::$FORM_FIELD_COLLECTION_DESCRIPTION]); | ||
1182 | 846 | |||
1183 | 847 | // check if collection creation succeeded. | ||
1184 | 848 | if ($collectionId == -1) { | ||
1185 | 849 | |||
1186 | 850 | return; | ||
1187 | 851 | |||
1188 | 852 | } | ||
1189 | 853 | |||
1190 | 854 | $this->addDocumentToCollection($subject, $collectionId); | ||
1191 | 855 | |||
1192 | 856 | break; | ||
1193 | 857 | |||
1194 | 858 | case tx_dlf_hook_ListActions::EditCollection: | ||
1195 | 859 | |||
1196 | 860 | $this->updateCollection($subject, | ||
1197 | 861 | $this->plugin->piVars[self::$FORM_FIELD_COLLECTION_NAME], | ||
1198 | 862 | $this->plugin->piVars[self::$FORM_FIELD_COLLECTION_DESCRIPTION]); | ||
1199 | 863 | |||
1200 | 864 | break; | ||
1201 | 865 | |||
1202 | 866 | case tx_dlf_hook_ListActions::DeleteCollection: | ||
1203 | 867 | |||
1204 | 868 | $this->deleteCollection($subject); | ||
1205 | 869 | |||
1206 | 870 | break; | ||
1207 | 871 | |||
1208 | 872 | } | ||
1209 | 873 | |||
1210 | 874 | } | ||
1211 | 875 | |||
1212 | 876 | } | ||
1213 | 877 | |||
1214 | 878 | /** | ||
1215 | 879 | * The menuFunc for the HMENU object created and rendered by the implementation | ||
1216 | 880 | * for the getEntry_fillEntryActions hook. | ||
1217 | 881 | * | ||
1218 | 882 | * This function is used when the hooked list view shows a list generated | ||
1219 | 883 | * by the collections plugin. | ||
1220 | 884 | * | ||
1221 | 885 | * @param string $content the content object | ||
1222 | 886 | * @param array $conf the menu configuration | ||
1223 | 887 | * | ||
1224 | 888 | * @return array HMENU array | ||
1225 | 889 | */ | ||
1226 | 890 | public function makeCollectionListEntryMenu($content, $conf) { | ||
1227 | 891 | |||
1228 | 892 | // Extract passed and prepare parameters. | ||
1229 | 893 | $this->init($conf['plugin']); | ||
1230 | 894 | |||
1231 | 895 | $action = tx_dlf_hook_EntryActions::RemoveDocumentFromCollection; | ||
1232 | 896 | |||
1233 | 897 | $menuArray[] = array( | ||
1234 | 898 | 'title' => $this->getLL($action.'.blank'), | ||
1235 | 899 | '_OVERRIDE_HREF' => $this->createLink($action, $conf['listElement']['uid'], $conf['collectionId']) | ||
1236 | 900 | ); | ||
1237 | 901 | |||
1238 | 902 | $menuArray[] = array(); | ||
1239 | 903 | |||
1240 | 904 | return $menuArray; | ||
1241 | 905 | |||
1242 | 906 | } | ||
1243 | 907 | |||
1244 | 908 | /** | ||
1245 | 909 | * The menuFunc for the HMENU object created and rendered by the implementation | ||
1246 | 910 | * for the main_fillListActions hook. | ||
1247 | 911 | * | ||
1248 | 912 | * @param string $content the content object | ||
1249 | 913 | * @param array $conf the menu configuration | ||
1250 | 914 | * | ||
1251 | 915 | * @return array HMENU array | ||
1252 | 916 | */ | ||
1253 | 917 | public function makeCollectionListMenu($content, $conf) { | ||
1254 | 918 | |||
1255 | 919 | // Extract passed and prepare parameters. | ||
1256 | 920 | $this->init($conf['plugin']); | ||
1257 | 921 | |||
1258 | 922 | $menuArray[] = array( | ||
1259 | 923 | 'title' => $this->getLL(tx_dlf_hook_ListActions::EditCollection), | ||
1260 | 924 | '_OVERRIDE_HREF' => '#'.tx_dlf_hook_ListActions::EditCollection | ||
1261 | 925 | ); | ||
1262 | 926 | |||
1263 | 927 | $menuArray[] = array( | ||
1264 | 928 | 'title' => $this->getLL(tx_dlf_hook_ListActions::DeleteCollection), | ||
1265 | 929 | '_OVERRIDE_HREF' => $this->createLink(tx_dlf_hook_ListActions::DeleteCollection, $conf['collection']) | ||
1266 | 930 | ); | ||
1267 | 931 | |||
1268 | 932 | return $menuArray; | ||
1269 | 933 | |||
1270 | 934 | } | ||
1271 | 935 | |||
1272 | 936 | /** | ||
1273 | 937 | * The menuFunc for the HMENU object created and rendered by the implementation | ||
1274 | 938 | * for the getEntry_fillEntryActions hook. | ||
1275 | 939 | * | ||
1276 | 940 | * This function is used when the hooked list view shows a list generated | ||
1277 | 941 | * by the search plugin. | ||
1278 | 942 | * | ||
1279 | 943 | * @param string $content the content object | ||
1280 | 944 | * @param array $conf the menu configuration | ||
1281 | 945 | * | ||
1282 | 946 | * @return array HMENU array | ||
1283 | 947 | */ | ||
1284 | 948 | public function makeSearchResultListEntryMenu($content, $conf) { | ||
1285 | 949 | |||
1286 | 950 | // Extract passed and prepare parameters. | ||
1287 | 951 | $this->init($conf['plugin']); | ||
1288 | 952 | |||
1289 | 953 | $listElement = $conf['listElement']; | ||
1290 | 954 | |||
1291 | 955 | $userId = $conf['userId']; | ||
1292 | 956 | |||
1293 | 957 | $menuArray = array(); | ||
1294 | 958 | |||
1295 | 959 | // get all user-defined collections (even empty) | ||
1296 | 960 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
1297 | 961 | 'tx_dlf_collections.uid AS uid,tx_dlf_collections.label AS label', | ||
1298 | 962 | 'tx_dlf_collections', | ||
1299 | 963 | 'tx_dlf_collections.pid='.intval($this->plugin->conf['pages']) | ||
1300 | 964 | .' AND tx_dlf_collections.fe_cruser_id='.intval($userId) | ||
1301 | 965 | .tx_dlf_helper::whereClause('tx_dlf_collections'), | ||
1302 | 966 | '', | ||
1303 | 967 | '', | ||
1304 | 968 | '' | ||
1305 | 969 | ); | ||
1306 | 970 | |||
1307 | 971 | $actionLabel = ''; | ||
1308 | 972 | |||
1309 | 973 | while ($resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) { | ||
1310 | 974 | |||
1311 | 975 | // is the current entry already in this collection? | ||
1312 | 976 | $isInCollection = $GLOBALS['TYPO3_DB']->sql_num_rows( | ||
1313 | 977 | $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( | ||
1314 | 978 | 'tx_dlf_documents.uid AS doc', | ||
1315 | 979 | 'tx_dlf_documents', | ||
1316 | 980 | 'tx_dlf_relations', | ||
1317 | 981 | 'tx_dlf_collections', | ||
1318 | 982 | ' AND uid_local='.$listElement['uid'] | ||
1319 | 983 | .' AND uid_foreign='.$resArray['uid'] | ||
1320 | 984 | .tx_dlf_helper::whereClause('tx_dlf_documents').tx_dlf_helper::whereClause('tx_dlf_collections'), | ||
1321 | 985 | '', | ||
1322 | 986 | '', | ||
1323 | 987 | '' | ||
1324 | 988 | )) > 0; | ||
1325 | 989 | |||
1326 | 990 | $action = ''; | ||
1327 | 991 | |||
1328 | 992 | if (!$isInCollection) { | ||
1329 | 993 | |||
1330 | 994 | $action = tx_dlf_hook_EntryActions::AddDocumentToCollection; | ||
1331 | 995 | |||
1332 | 996 | } else { | ||
1333 | 997 | |||
1334 | 998 | $action = tx_dlf_hook_EntryActions::RemoveDocumentFromCollection; | ||
1335 | 999 | |||
1336 | 1000 | } | ||
1337 | 1001 | |||
1338 | 1002 | $actionLabel = sprintf($this->getLL($action), $resArray['label']); | ||
1339 | 1003 | |||
1340 | 1004 | $entryArray = array(); | ||
1341 | 1005 | |||
1342 | 1006 | $entryArray['title'] = $actionLabel; | ||
1343 | 1007 | |||
1344 | 1008 | $entryArray['ITEM_STATE'] = 'NO'; | ||
1345 | 1009 | |||
1346 | 1010 | $entryArray['_OVERRIDE_HREF'] = $this->createLink($action, $listElement['uid'], $resArray['uid']); | ||
1347 | 1011 | |||
1348 | 1012 | $menuArray[] = $entryArray; | ||
1349 | 1013 | |||
1350 | 1014 | } | ||
1351 | 1015 | |||
1352 | 1016 | $menuArray[] = array( | ||
1353 | 1017 | 'title' => $this->getLL(tx_dlf_hook_EntryActions::CreateCollection), | ||
1354 | 1018 | '_OVERRIDE_HREF' => '#new_collection', | ||
1355 | 1019 | 'newCollection' => true, | ||
1356 | 1020 | ); | ||
1357 | 1021 | |||
1358 | 1022 | return $menuArray; | ||
1359 | 1023 | |||
1360 | 1024 | } | ||
1361 | 1025 | |||
1362 | 1026 | /** | ||
1363 | 1027 | * Renders an HMENU with additional FE user functions to edit the passed list | ||
1364 | 1028 | * element coming from the list view plugin. | ||
1365 | 1029 | * | ||
1366 | 1030 | * If the passed collection uid belongs to the logged in user, the menuFunc | ||
1367 | 1031 | * is makeCollectionListEntryMenu; if not, it is makeSearchResultListEntryMenu. | ||
1368 | 1032 | * | ||
1369 | 1033 | * @param array $listElement the element shwon in list view | ||
1370 | 1034 | * @param integer $collection the uid of the DLF collection | ||
1371 | 1035 | * | ||
1372 | 1036 | * @return string|NULL the rendered HMENU object or NULL, if an error occurred | ||
1373 | 1037 | */ | ||
1374 | 1038 | protected function renderListEntryMenuObject($listElement, $collection) { | ||
1375 | 1039 | |||
1376 | 1040 | t3lib_div::devLog('[tx_dlf_collection_hook.renderListEntryMenuObject] $collection='.$collection, 'dlf', t3lib_div::SYSLOG_SEVERITY_NOTICE); | ||
1377 | 1041 | |||
1378 | 1042 | // Check for individual collections. | ||
1379 | 1043 | $individualCollections = $this->conf['individualCollections']; | ||
1380 | 1044 | |||
1381 | 1045 | if (empty($individualCollections) || $individualCollections == 0) { | ||
1382 | 1046 | |||
1383 | 1047 | trigger_error('Individual collections disabled, stoping here.', E_USER_NOTICE); | ||
1384 | 1048 | |||
1385 | 1049 | return NULL; | ||
1386 | 1050 | |||
1387 | 1051 | } | ||
1388 | 1052 | |||
1389 | 1053 | // Load entry actions menuConf. | ||
1390 | 1054 | $documentMenuConf = $this->conf['individualCollections.']['documentMenu.']; | ||
1391 | 1055 | |||
1392 | 1056 | if (empty($documentMenuConf)) { | ||
1393 | 1057 | |||
1394 | 1058 | trigger_error('No document menu conf found.', E_USER_NOTICE); | ||
1395 | 1059 | |||
1396 | 1060 | return NULL; | ||
1397 | 1061 | |||
1398 | 1062 | } | ||
1399 | 1063 | |||
1400 | 1064 | $_TSconfig = array (); | ||
1401 | 1065 | |||
1402 | 1066 | $_TSconfig['special'] = 'userfunction'; | ||
1403 | 1067 | |||
1404 | 1068 | $collectionProperties = FALSE; | ||
1405 | 1069 | |||
1406 | 1070 | // Individual collections lists got different menus than public collection lists. | ||
1407 | 1071 | if ($this->isFEUserCollection($collection)) { | ||
1408 | 1072 | |||
1409 | 1073 | $_TSconfig['special.']['userFunc'] = 'tx_dlf_collection_hook->makeCollectionListEntryMenu'; | ||
1410 | 1074 | |||
1411 | 1075 | $_TSconfig['special.']['collectionId'] = $collection; | ||
1412 | 1076 | |||
1413 | 1077 | } else { | ||
1414 | 1078 | |||
1415 | 1079 | $_TSconfig['special.']['userFunc'] = 'tx_dlf_collection_hook->makeSearchResultListEntryMenu'; | ||
1416 | 1080 | |||
1417 | 1081 | } | ||
1418 | 1082 | |||
1419 | 1083 | $_TSconfig['special.']['plugin'] = $this->plugin; | ||
1420 | 1084 | |||
1421 | 1085 | $_TSconfig['special.']['listElement'] = $listElement; | ||
1422 | 1086 | |||
1423 | 1087 | $_TSconfig['special.']['userId'] = $GLOBALS['TSFE']->fe_user->user['uid']; | ||
1424 | 1088 | |||
1425 | 1089 | $_TSconfig = t3lib_div::array_merge_recursive_overrule($documentMenuConf, $_TSconfig); | ||
1426 | 1090 | |||
1427 | 1091 | $content = $this->plugin->cObj->HMENU($_TSconfig); | ||
1428 | 1092 | |||
1429 | 1093 | $content .= $this->getEditCollectionTemplate(tx_dlf_hook_EntryActions::CreateCollection, $listElement['uid']); | ||
1430 | 1094 | |||
1431 | 1095 | return $content; | ||
1432 | 1096 | |||
1433 | 1097 | } | ||
1434 | 1098 | |||
1435 | 1099 | /** | ||
1436 | 1100 | * Removes a DLF document from a DLF collection by updating the corresponding | ||
1437 | 1101 | * database table. | ||
1438 | 1102 | * | ||
1439 | 1103 | * @access protected | ||
1440 | 1104 | * | ||
1441 | 1105 | * @param integer $documentUid the DLF document's uid | ||
1442 | 1106 | * @param integer $collectionUid the DLF collections's uid | ||
1443 | 1107 | * | ||
1444 | 1108 | * @return void | ||
1445 | 1109 | */ | ||
1446 | 1110 | protected function removeDocumentFromCollection($documentUid, $collectionUid) { | ||
1447 | 1111 | |||
1448 | 1112 | t3lib_div::devLog('[tx_dlf_collection_hook.removeDocumentFromCollection] $documentUid='.$documentUid.' , $collectionUid='.$collectionUid, 'dlf', t3lib_div::SYSLOG_SEVERITY_NOTICE); | ||
1449 | 1113 | |||
1450 | 1114 | // remove relation between document and collection | ||
1451 | 1115 | $GLOBALS['TYPO3_DB']->exec_DELETEquery('tx_dlf_relations', | ||
1452 | 1116 | 'uid_local='.$documentUid. | ||
1453 | 1117 | ' AND uid_foreign='.$collectionUid. | ||
1454 | 1118 | ' AND ident="docs_colls"'); | ||
1455 | 1119 | |||
1456 | 1120 | $list = t3lib_div::makeInstance('tx_dlf_list'); | ||
1457 | 1121 | |||
1458 | 1122 | // Check if we come from the collections plugin, if the shown collection is of the logged-in user and remove this passed document. | ||
1459 | 1123 | if (!empty($list->metadata['options']['source']) | ||
1460 | 1124 | && ($list->metadata['options']['source'] == 'collection') | ||
1461 | 1125 | && $this->isFEUserCollection($list->metadata['options']['select'])) { | ||
1462 | 1126 | |||
1463 | 1127 | // find document's index and remove it from list | ||
1464 | 1128 | $i = 0; | ||
1465 | 1129 | |||
1466 | 1130 | foreach ($list->elements as $document) { | ||
1467 | 1131 | |||
1468 | 1132 | if ($document['uid'] == $documentUid) { | ||
1469 | 1133 | |||
1470 | 1134 | $list->remove($i); | ||
1471 | 1135 | |||
1472 | 1136 | break; | ||
1473 | 1137 | |||
1474 | 1138 | } | ||
1475 | 1139 | |||
1476 | 1140 | $i++; | ||
1477 | 1141 | |||
1478 | 1142 | } | ||
1479 | 1143 | |||
1480 | 1144 | } | ||
1481 | 1145 | |||
1482 | 1146 | } | ||
1483 | 1147 | |||
1484 | 1148 | /** | ||
1485 | 1149 | * Updates collection properties. | ||
1486 | 1150 | * | ||
1487 | 1151 | * @param integer $collectionUid the DLF collections's uid | ||
1488 | 1152 | * @param string $label the new collection label | ||
1489 | 1153 | * @param string $description the new collection description | ||
1490 | 1154 | * | ||
1491 | 1155 | * @return void | ||
1492 | 1156 | */ | ||
1493 | 1157 | protected function updateCollection($collectionUid, $label, $description) { | ||
1494 | 1158 | |||
1495 | 1159 | $fields = $this->checkCollectionValues($label, $description); | ||
1496 | 1160 | |||
1497 | 1161 | if ($fields == NULL) { | ||
1498 | 1162 | |||
1499 | 1163 | return -1; | ||
1500 | 1164 | |||
1501 | 1165 | } | ||
1502 | 1166 | |||
1503 | 1167 | // Update database. | ||
1504 | 1168 | $GLOBALS['TYPO3_DB']->exec_UPDATEquery( | ||
1505 | 1169 | 'tx_dlf_collections', | ||
1506 | 1170 | 'uid='.$collectionUid, | ||
1507 | 1171 | $fields | ||
1508 | 1172 | ); | ||
1509 | 1173 | |||
1510 | 1174 | // Update list. | ||
1511 | 1175 | $list = t3lib_div::makeInstance('tx_dlf_list'); | ||
1512 | 1176 | |||
1513 | 1177 | // check if we come from the collections plugin and remove this passed document, if appropriate | ||
1514 | 1178 | if (!empty($list->metadata['options']['source']) && $list->metadata['options']['source'] == 'collection') { | ||
1515 | 1179 | |||
1516 | 1180 | $_metadata = $list->metadata; | ||
1517 | 1181 | |||
1518 | 1182 | $_metadata['label'] = $fields['label'];; | ||
1519 | 1183 | |||
1520 | 1184 | $_metadata['description'] = $fields['description']; | ||
1521 | 1185 | |||
1522 | 1186 | $list->metadata = $_metadata; | ||
1523 | 1187 | |||
1524 | 1188 | } | ||
1525 | 1189 | |||
1526 | 1190 | } | ||
1527 | 1191 | |||
1528 | 1192 | /** | ||
1529 | 1193 | * Wraps a form field as plugin field. | ||
1530 | 1194 | * | ||
1531 | 1195 | * @param string $fieldName | ||
1532 | 1196 | * | ||
1533 | 1197 | * @return string the wrapped field name | ||
1534 | 1198 | */ | ||
1535 | 1199 | protected function wrapFormField($fieldName) { | ||
1536 | 1200 | |||
1537 | 1201 | return $this->plugin->prefixId.'['.$fieldName.']'; | ||
1538 | 1202 | |||
1539 | 1203 | } | ||
1540 | 1204 | |||
1541 | 1205 | } | ||
1542 | 1206 | |||
1543 | 1207 | class tx_dlf_hook_EntryActions { | ||
1544 | 1208 | |||
1545 | 1209 | const AddDocumentToCollection = 'add'; | ||
1546 | 1210 | |||
1547 | 1211 | const CreateCollection = 'new_collection'; | ||
1548 | 1212 | |||
1549 | 1213 | const RemoveDocumentFromCollection = 'remove'; | ||
1550 | 1214 | |||
1551 | 1215 | } | ||
1552 | 1216 | |||
1553 | 1217 | class tx_dlf_hook_ListActions { | ||
1554 | 1218 | |||
1555 | 1219 | const EditCollection = 'edit_collection'; | ||
1556 | 1220 | |||
1557 | 1221 | const DeleteCollection = 'delete_collection'; | ||
1558 | 1222 | |||
1559 | 1223 | } | ||
1560 | 1224 | |||
1561 | 1225 | if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dlf/plugins/collection/class.tx_dlf_collection_hook.php']) { | ||
1562 | 1226 | include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dlf/plugins/collection/class.tx_dlf_collection_hook.php']); | ||
1563 | 1227 | } | ||
1564 | 1228 | |||
1565 | 1229 | ?> | ||
1566 | 0 | \ No newline at end of file | 1230 | \ No newline at end of file |
1567 | 1 | 1231 | ||
1568 | === modified file 'dlf/lib/ISO-639/iso-639-1.xml' | |||
1569 | --- dlf/lib/ISO-639/iso-639-1.xml 2012-08-07 14:39:23 +0000 | |||
1570 | +++ dlf/lib/ISO-639/iso-639-1.xml 2012-10-10 09:08:30 +0000 | |||
1571 | @@ -1,3 +1,4 @@ | |||
1572 | 1 | <<<<<<< TREE | ||
1573 | 1 | <?xml version="1.0" encoding="UTF-8"?> | 2 | <?xml version="1.0" encoding="UTF-8"?> |
1574 | 2 | <T3locallang> | 3 | <T3locallang> |
1575 | 3 | <meta type="array"> | 4 | <meta type="array"> |
1576 | @@ -293,4 +294,301 @@ | |||
1577 | 293 | <label index="zu">Zulu</label> | 294 | <label index="zu">Zulu</label> |
1578 | 294 | </languageKey> | 295 | </languageKey> |
1579 | 295 | </data> | 296 | </data> |
1580 | 297 | ======= | ||
1581 | 298 | <?xml version="1.0" encoding="UTF-8"?> | ||
1582 | 299 | <T3locallang> | ||
1583 | 300 | <meta type="array"> | ||
1584 | 301 | <type>module</type> | ||
1585 | 302 | <description>Language labels for ISO 639-1 codes</description> | ||
1586 | 303 | </meta> | ||
1587 | 304 | <data type="array"> | ||
1588 | 305 | <languageKey index="default" type="array"> | ||
1589 | 306 | <label index="aa">Afar</label> | ||
1590 | 307 | <label index="ab">Abkhazian</label> | ||
1591 | 308 | <label index="af">Afrikaans</label> | ||
1592 | 309 | <label index="am">Amharic</label> | ||
1593 | 310 | <label index="ar">Arabic</label> | ||
1594 | 311 | <label index="as">Assamese</label> | ||
1595 | 312 | <label index="ay">Aymara</label> | ||
1596 | 313 | <label index="az">Azerbaijani</label> | ||
1597 | 314 | <label index="ba">Bashkir</label> | ||
1598 | 315 | <label index="be">Byelorussian</label> | ||
1599 | 316 | <label index="bg">Bulgarian</label> | ||
1600 | 317 | <label index="bh">Bihari</label> | ||
1601 | 318 | <label index="bi">Bislama</label> | ||
1602 | 319 | <label index="bn">Bengali</label> | ||
1603 | 320 | <label index="bo">Tibetan</label> | ||
1604 | 321 | <label index="br">Breton</label> | ||
1605 | 322 | <label index="ca">Catalan</label> | ||
1606 | 323 | <label index="co">Corsican</label> | ||
1607 | 324 | <label index="cs">Czech</label> | ||
1608 | 325 | <label index="cy">Welsh</label> | ||
1609 | 326 | <label index="da">Danish</label> | ||
1610 | 327 | <label index="de">German</label> | ||
1611 | 328 | <label index="dz">Dzongkha</label> | ||
1612 | 329 | <label index="el">Greek</label> | ||
1613 | 330 | <label index="en">English</label> | ||
1614 | 331 | <label index="eo">Esperanto</label> | ||
1615 | 332 | <label index="es">Spanish</label> | ||
1616 | 333 | <label index="et">Estonian</label> | ||
1617 | 334 | <label index="eu">Basque</label> | ||
1618 | 335 | <label index="fa">Persian</label> | ||
1619 | 336 | <label index="fi">Finnish</label> | ||
1620 | 337 | <label index="fj">Fijian</label> | ||
1621 | 338 | <label index="fo">Faroese</label> | ||
1622 | 339 | <label index="fr">French</label> | ||
1623 | 340 | <label index="fy">Frisian</label> | ||
1624 | 341 | <label index="ga">Irish</label> | ||
1625 | 342 | <label index="gd">Scottish Gaelic</label> | ||
1626 | 343 | <label index="gl">Galician</label> | ||
1627 | 344 | <label index="gn">Guarani</label> | ||
1628 | 345 | <label index="gu">Gujarati</label> | ||
1629 | 346 | <label index="ha">Hausa</label> | ||
1630 | 347 | <label index="he">Hebrew</label> | ||
1631 | 348 | <label index="hi">Hindi</label> | ||
1632 | 349 | <label index="hr">Croatian</label> | ||
1633 | 350 | <label index="hu">Hungarian</label> | ||
1634 | 351 | <label index="hy">Armenian</label> | ||
1635 | 352 | <label index="ia">Interlingua</label> | ||
1636 | 353 | <label index="id">Indonesian</label> | ||
1637 | 354 | <label index="ie">Interlingue, Occidental</label> | ||
1638 | 355 | <label index="ik">Inupiak</label> | ||
1639 | 356 | <label index="is">Icelandic</label> | ||
1640 | 357 | <label index="it">Italian</label> | ||
1641 | 358 | <label index="iu">Inuktitut</label> | ||
1642 | 359 | <label index="iw">Hebrew</label> | ||
1643 | 360 | <label index="ja">Japanese</label> | ||
1644 | 361 | <label index="ji">Yiddish</label> | ||
1645 | 362 | <label index="jv">Javanese</label> | ||
1646 | 363 | <label index="jw">Javanese</label> | ||
1647 | 364 | <label index="ka">Georgian</label> | ||
1648 | 365 | <label index="kk">Kazakh</label> | ||
1649 | 366 | <label index="kl">Kalaallisut, Greenlandic</label> | ||
1650 | 367 | <label index="km">Khmer</label> | ||
1651 | 368 | <label index="kn">Kannada</label> | ||
1652 | 369 | <label index="ko">Korean</label> | ||
1653 | 370 | <label index="ks">Kashmiri</label> | ||
1654 | 371 | <label index="ku">Kurdish</label> | ||
1655 | 372 | <label index="ky">Kirghiz, Kyrgyz</label> | ||
1656 | 373 | <label index="la">Latin</label> | ||
1657 | 374 | <label index="ln">Lingala</label> | ||
1658 | 375 | <label index="lo">Lao</label> | ||
1659 | 376 | <label index="lt">Lithuanian</label> | ||
1660 | 377 | <label index="lv">Latvian</label> | ||
1661 | 378 | <label index="mg">Malagasy</label> | ||
1662 | 379 | <label index="mi">Maori</label> | ||
1663 | 380 | <label index="mk">Macedonian</label> | ||
1664 | 381 | <label index="ml">Malayalam</label> | ||
1665 | 382 | <label index="mn">Mongolian</label> | ||
1666 | 383 | <label index="mo">Moldavian</label> | ||
1667 | 384 | <label index="mr">Marathi</label> | ||
1668 | 385 | <label index="ms">Malay</label> | ||
1669 | 386 | <label index="mt">Maltese</label> | ||
1670 | 387 | <label index="my">Burmese</label> | ||
1671 | 388 | <label index="na">Nauru</label> | ||
1672 | 389 | <label index="ne">Nepali</label> | ||
1673 | 390 | <label index="nl">Dutch</label> | ||
1674 | 391 | <label index="no">Norwegian</label> | ||
1675 | 392 | <label index="oc">Occitan</label> | ||
1676 | 393 | <label index="om">Oromo</label> | ||
1677 | 394 | <label index="or">Oriya</label> | ||
1678 | 395 | <label index="pa">Panjabi</label> | ||
1679 | 396 | <label index="pl">Polish</label> | ||
1680 | 397 | <label index="ps">Pushto</label> | ||
1681 | 398 | <label index="pt">Portuguese</label> | ||
1682 | 399 | <label index="qu">Quechua</label> | ||
1683 | 400 | <label index="rm">Romansh</label> | ||
1684 | 401 | <label index="rn">Rundi</label> | ||
1685 | 402 | <label index="ro">Romanian</label> | ||
1686 | 403 | <label index="ru">Russian</label> | ||
1687 | 404 | <label index="rw">Kinyarwanda</label> | ||
1688 | 405 | <label index="sa">Sanskrit</label> | ||
1689 | 406 | <label index="sd">Sindhi</label> | ||
1690 | 407 | <label index="sg">Sango</label> | ||
1691 | 408 | <label index="sh">Serbo-Croatian</label> | ||
1692 | 409 | <label index="si">Sinhalese</label> | ||
1693 | 410 | <label index="sk">Slovak</label> | ||
1694 | 411 | <label index="sl">Slovenian</label> | ||
1695 | 412 | <label index="sm">Samoan</label> | ||
1696 | 413 | <label index="sn">Shona</label> | ||
1697 | 414 | <label index="so">Somali</label> | ||
1698 | 415 | <label index="sq">Albanian</label> | ||
1699 | 416 | <label index="sr">Serbian</label> | ||
1700 | 417 | <label index="ss">Swati</label> | ||
1701 | 418 | <label index="st">Southern Sotho</label> | ||
1702 | 419 | <label index="su">Sundanese</label> | ||
1703 | 420 | <label index="sv">Swedish</label> | ||
1704 | 421 | <label index="sw">Swahili</label> | ||
1705 | 422 | <label index="ta">Tamil</label> | ||
1706 | 423 | <label index="te">Telugu</label> | ||
1707 | 424 | <label index="tg">Tajik</label> | ||
1708 | 425 | <label index="th">Thai</label> | ||
1709 | 426 | <label index="ti">Tigrinya</label> | ||
1710 | 427 | <label index="tk">Turkmen</label> | ||
1711 | 428 | <label index="tl">Tagalog</label> | ||
1712 | 429 | <label index="tn">Tswana</label> | ||
1713 | 430 | <label index="to">Tonga</label> | ||
1714 | 431 | <label index="tr">Turkish</label> | ||
1715 | 432 | <label index="ts">Tsonga</label> | ||
1716 | 433 | <label index="tt">Tatar</label> | ||
1717 | 434 | <label index="tw">Twi</label> | ||
1718 | 435 | <label index="ug">Uighur</label> | ||
1719 | 436 | <label index="uk">Ukrainian</label> | ||
1720 | 437 | <label index="ur">Urdu</label> | ||
1721 | 438 | <label index="uz">Uzbek</label> | ||
1722 | 439 | <label index="vi">Vietnamese</label> | ||
1723 | 440 | <label index="vo">Volapük</label> | ||
1724 | 441 | <label index="wo">Wolof</label> | ||
1725 | 442 | <label index="xh">Xhosa</label> | ||
1726 | 443 | <label index="yi">Yiddish</label> | ||
1727 | 444 | <label index="yo">Yoruba</label> | ||
1728 | 445 | <label index="za">Zhuang</label> | ||
1729 | 446 | <label index="zh">Chinese</label> | ||
1730 | 447 | <label index="zu">Zulu</label> | ||
1731 | 448 | </languageKey> | ||
1732 | 449 | <languageKey index="de" type="array"> | ||
1733 | 450 | <label index="aa">Afar</label> | ||
1734 | 451 | <label index="ab">Abchasisch</label> | ||
1735 | 452 | <label index="af">Afrikaans</label> | ||
1736 | 453 | <label index="am">Amharisch</label> | ||
1737 | 454 | <label index="ar">Arabisch</label> | ||
1738 | 455 | <label index="as">Assamesisch</label> | ||
1739 | 456 | <label index="ay">Aymara</label> | ||
1740 | 457 | <label index="az">Aserbaidschanisch</label> | ||
1741 | 458 | <label index="ba">Baschkirisch</label> | ||
1742 | 459 | <label index="be">Belorussisch</label> | ||
1743 | 460 | <label index="bg">Bulgarisch</label> | ||
1744 | 461 | <label index="bh">Biharisch</label> | ||
1745 | 462 | <label index="bi">Bislamisch</label> | ||
1746 | 463 | <label index="bn">Bengalisch</label> | ||
1747 | 464 | <label index="bo">Tibetanisch</label> | ||
1748 | 465 | <label index="br">Bretonisch</label> | ||
1749 | 466 | <label index="ca">Katalanisch</label> | ||
1750 | 467 | <label index="co">Korsisch</label> | ||
1751 | 468 | <label index="cs">Tschechisch</label> | ||
1752 | 469 | <label index="cy">Walisisch</label> | ||
1753 | 470 | <label index="da">Dänisch</label> | ||
1754 | 471 | <label index="de">Deutsch</label> | ||
1755 | 472 | <label index="dz">Dzongkha, Bhutani</label> | ||
1756 | 473 | <label index="el">Griechisch</label> | ||
1757 | 474 | <label index="en">Englisch</label> | ||
1758 | 475 | <label index="eo">Esperanto</label> | ||
1759 | 476 | <label index="es">Spanisch</label> | ||
1760 | 477 | <label index="et">Estnisch</label> | ||
1761 | 478 | <label index="eu">Baskisch</label> | ||
1762 | 479 | <label index="fa">Persisch</label> | ||
1763 | 480 | <label index="fi">Finnisch</label> | ||
1764 | 481 | <label index="fj">Fiji</label> | ||
1765 | 482 | <label index="fo">Färöisch</label> | ||
1766 | 483 | <label index="fr">Französisch</label> | ||
1767 | 484 | <label index="fy">Friesisch</label> | ||
1768 | 485 | <label index="ga">Irisch</label> | ||
1769 | 486 | <label index="gd">Schottisches Gälisch</label> | ||
1770 | 487 | <label index="gl">Galizisch</label> | ||
1771 | 488 | <label index="gn">Guarani</label> | ||
1772 | 489 | <label index="gu">Gujaratisch</label> | ||
1773 | 490 | <label index="ha">Haussa</label> | ||
1774 | 491 | <label index="he">Hebräisch</label> | ||
1775 | 492 | <label index="hi">Hindi</label> | ||
1776 | 493 | <label index="hr">Kroatisch</label> | ||
1777 | 494 | <label index="hu">Ungarisch</label> | ||
1778 | 495 | <label index="hy">Armenisch</label> | ||
1779 | 496 | <label index="ia">Interlingua</label> | ||
1780 | 497 | <label index="id">Indonesisch</label> | ||
1781 | 498 | <label index="ie">Interlingue</label> | ||
1782 | 499 | <label index="ik">Inupiak</label> | ||
1783 | 500 | <label index="is">Isländisch</label> | ||
1784 | 501 | <label index="it">Italienisch</label> | ||
1785 | 502 | <label index="iu">Inuktitut (Eskimo)</label> | ||
1786 | 503 | <label index="iw">Hebräisch</label> | ||
1787 | 504 | <label index="ja">Japanisch</label> | ||
1788 | 505 | <label index="ji">Jiddish</label> | ||
1789 | 506 | <label index="jv">Javanisch</label> | ||
1790 | 507 | <label index="ka">Georgisch</label> | ||
1791 | 508 | <label index="kk">Kasachisch</label> | ||
1792 | 509 | <label index="kl">Kalaallisut (Grönländisch)</label> | ||
1793 | 510 | <label index="km">Kambodschanisch</label> | ||
1794 | 511 | <label index="kn">Kannada</label> | ||
1795 | 512 | <label index="ko">Koreanisch</label> | ||
1796 | 513 | <label index="ks">Kaschmirisch</label> | ||
1797 | 514 | <label index="ku">Kurdisch</label> | ||
1798 | 515 | <label index="ky">Kirgisisch</label> | ||
1799 | 516 | <label index="la">Lateinisch</label> | ||
1800 | 517 | <label index="ln">Lingala</label> | ||
1801 | 518 | <label index="lo">Laotisch</label> | ||
1802 | 519 | <label index="lt">Litauisch</label> | ||
1803 | 520 | <label index="lv">Lettisch</label> | ||
1804 | 521 | <label index="mg">Malagasisch</label> | ||
1805 | 522 | <label index="mi">Maorisch</label> | ||
1806 | 523 | <label index="mk">Mazedonisch</label> | ||
1807 | 524 | <label index="ml">Malajalam</label> | ||
1808 | 525 | <label index="mn">Mongolisch</label> | ||
1809 | 526 | <label index="mo">Moldavisch</label> | ||
1810 | 527 | <label index="mr">Marathi</label> | ||
1811 | 528 | <label index="ms">Malaysisch</label> | ||
1812 | 529 | <label index="mt">Maltesisch</label> | ||
1813 | 530 | <label index="my">Burmesisch</label> | ||
1814 | 531 | <label index="na">Nauruisch</label> | ||
1815 | 532 | <label index="ne">Nepalesisch</label> | ||
1816 | 533 | <label index="nl">Holländisch</label> | ||
1817 | 534 | <label index="no">Norwegisch</label> | ||
1818 | 535 | <label index="oc">Okzitanisch</label> | ||
1819 | 536 | <label index="om">Oromo</label> | ||
1820 | 537 | <label index="or">Oriya</label> | ||
1821 | 538 | <label index="pa">Pundjabisch</label> | ||
1822 | 539 | <label index="pl">Polnisch</label> | ||
1823 | 540 | <label index="ps">Paschtu</label> | ||
1824 | 541 | <label index="pt">Portugiesisch</label> | ||
1825 | 542 | <label index="qu">Quechua</label> | ||
1826 | 543 | <label index="rm">Rätoromanisch</label> | ||
1827 | 544 | <label index="rn">Kirundisch</label> | ||
1828 | 545 | <label index="ro">Rumänisch</label> | ||
1829 | 546 | <label index="ru">Russisch</label> | ||
1830 | 547 | <label index="rw">Kijarwanda</label> | ||
1831 | 548 | <label index="sa">Sanskrit</label> | ||
1832 | 549 | <label index="sd">Zinti</label> | ||
1833 | 550 | <label index="sg">Sango</label> | ||
1834 | 551 | <label index="sh">Serbokroatisch</label> | ||
1835 | 552 | <label index="si">Singhalesisch</label> | ||
1836 | 553 | <label index="sk">Slowakisch</label> | ||
1837 | 554 | <label index="sl">Slowenisch</label> | ||
1838 | 555 | <label index="sm">Samoanisch</label> | ||
1839 | 556 | <label index="sn">Schonisch</label> | ||
1840 | 557 | <label index="so">Somalisch</label> | ||
1841 | 558 | <label index="sq">Albanisch</label> | ||
1842 | 559 | <label index="sr">Serbisch</label> | ||
1843 | 560 | <label index="ss">Swasiländisch</label> | ||
1844 | 561 | <label index="st">Sesothisch</label> | ||
1845 | 562 | <label index="su">Sudanesisch</label> | ||
1846 | 563 | <label index="sv">Schwedisch</label> | ||
1847 | 564 | <label index="sw">Suaheli</label> | ||
1848 | 565 | <label index="ta">Tamilisch</label> | ||
1849 | 566 | <label index="te">Tegulu</label> | ||
1850 | 567 | <label index="tg">Tadschikisch</label> | ||
1851 | 568 | <label index="th">Thai</label> | ||
1852 | 569 | <label index="ti">Tigrinja</label> | ||
1853 | 570 | <label index="tk">Turkmenisch</label> | ||
1854 | 571 | <label index="tl">Tagalog</label> | ||
1855 | 572 | <label index="tn">Sezuan</label> | ||
1856 | 573 | <label index="to">Tongaisch</label> | ||
1857 | 574 | <label index="tr">Türkisch</label> | ||
1858 | 575 | <label index="ts">Tsongaisch</label> | ||
1859 | 576 | <label index="tt">Tatarisch</label> | ||
1860 | 577 | <label index="tw">Twi</label> | ||
1861 | 578 | <label index="ug">Uigur</label> | ||
1862 | 579 | <label index="uk">Ukrainisch</label> | ||
1863 | 580 | <label index="ur">Urdu</label> | ||
1864 | 581 | <label index="uz">Usbekisch</label> | ||
1865 | 582 | <label index="vi">Vietnamesisch</label> | ||
1866 | 583 | <label index="vo">Volapük</label> | ||
1867 | 584 | <label index="wo">Wolof</label> | ||
1868 | 585 | <label index="xh">Xhosa</label> | ||
1869 | 586 | <label index="yi">Jiddish</label> | ||
1870 | 587 | <label index="yo">Joruba</label> | ||
1871 | 588 | <label index="za">Zhuang</label> | ||
1872 | 589 | <label index="zh">Chinesisch</label> | ||
1873 | 590 | <label index="zu">Zulu</label> | ||
1874 | 591 | </languageKey> | ||
1875 | 592 | </data> | ||
1876 | 593 | >>>>>>> MERGE-SOURCE | ||
1877 | 296 | </T3locallang> | 594 | </T3locallang> |
1878 | 297 | \ No newline at end of file | 595 | \ No newline at end of file |
1879 | 298 | 596 | ||
1880 | === modified file 'dlf/lib/ISO-639/iso-639-2b.xml' | |||
1881 | --- dlf/lib/ISO-639/iso-639-2b.xml 2012-08-07 14:39:23 +0000 | |||
1882 | +++ dlf/lib/ISO-639/iso-639-2b.xml 2012-10-10 09:08:30 +0000 | |||
1883 | @@ -1,3 +1,4 @@ | |||
1884 | 1 | <<<<<<< TREE | ||
1885 | 1 | <?xml version="1.0" encoding="UTF-8"?> | 2 | <?xml version="1.0" encoding="UTF-8"?> |
1886 | 2 | <T3locallang> | 3 | <T3locallang> |
1887 | 3 | <meta type="array"> | 4 | <meta type="array"> |
1888 | @@ -981,4 +982,989 @@ | |||
1889 | 981 | <label index="zza">Zazaki</label> | 982 | <label index="zza">Zazaki</label> |
1890 | 982 | </languageKey> | 983 | </languageKey> |
1891 | 983 | </data> | 984 | </data> |
1892 | 985 | ======= | ||
1893 | 986 | <?xml version="1.0" encoding="UTF-8"?> | ||
1894 | 987 | <T3locallang> | ||
1895 | 988 | <meta type="array"> | ||
1896 | 989 | <type>module</type> | ||
1897 | 990 | <description>Language labels for ISO 639-2/B codes</description> | ||
1898 | 991 | </meta> | ||
1899 | 992 | <data type="array"> | ||
1900 | 993 | <languageKey index="default" type="array"> | ||
1901 | 994 | <label index="aar">Afar</label> | ||
1902 | 995 | <label index="abk">Abkhazian</label> | ||
1903 | 996 | <label index="ace">Achinese</label> | ||
1904 | 997 | <label index="ach">Acoli</label> | ||
1905 | 998 | <label index="ada">Adangme</label> | ||
1906 | 999 | <label index="ady">Adyghe, Adygei</label> | ||
1907 | 1000 | <label index="afa">Afro-Asiatic languages</label> | ||
1908 | 1001 | <label index="afh">Afrihili</label> | ||
1909 | 1002 | <label index="afr">Afrikaans</label> | ||
1910 | 1003 | <label index="ain">Ainu</label> | ||
1911 | 1004 | <label index="aka">Akan</label> | ||
1912 | 1005 | <label index="akk">Akkadian</label> | ||
1913 | 1006 | <label index="alb">Albanian</label> | ||
1914 | 1007 | <label index="ale">Aleut</label> | ||
1915 | 1008 | <label index="alg">Algonquian languages</label> | ||
1916 | 1009 | <label index="alt">Southern Altai</label> | ||
1917 | 1010 | <label index="amh">Amharic</label> | ||
1918 | 1011 | <label index="ang">Old English (ca.450-1100)</label> | ||
1919 | 1012 | <label index="anp">Angika</label> | ||
1920 | 1013 | <label index="apa">Apache languages</label> | ||
1921 | 1014 | <label index="ara">Arabic</label> | ||
1922 | 1015 | <label index="arc">Official/Imperial Aramaic (700-300 BCE)</label> | ||
1923 | 1016 | <label index="arg">Aragonese</label> | ||
1924 | 1017 | <label index="arm">Armenian</label> | ||
1925 | 1018 | <label index="arn">Mapudungun, Mapuche</label> | ||
1926 | 1019 | <label index="arp">Arapaho</label> | ||
1927 | 1020 | <label index="art">Artificial languages</label> | ||
1928 | 1021 | <label index="arw">Arawak</label> | ||
1929 | 1022 | <label index="asm">Assamese</label> | ||
1930 | 1023 | <label index="ast">Asturian, Bable, Leonese, Asturleonese</label> | ||
1931 | 1024 | <label index="ath">Athapascan languages</label> | ||
1932 | 1025 | <label index="aus">Australian languages</label> | ||
1933 | 1026 | <label index="ava">Avaric</label> | ||
1934 | 1027 | <label index="ave">Avestan</label> | ||
1935 | 1028 | <label index="awa">Awadhi</label> | ||
1936 | 1029 | <label index="aym">Aymara</label> | ||
1937 | 1030 | <label index="aze">Azerbaijani</label> | ||
1938 | 1031 | <label index="bad">Banda languages</label> | ||
1939 | 1032 | <label index="bai">Bamileke languages</label> | ||
1940 | 1033 | <label index="bak">Bashkir</label> | ||
1941 | 1034 | <label index="bal">Baluchi</label> | ||
1942 | 1035 | <label index="bam">Bambara</label> | ||
1943 | 1036 | <label index="ban">Balinese</label> | ||
1944 | 1037 | <label index="baq">Basque</label> | ||
1945 | 1038 | <label index="bas">Basa</label> | ||
1946 | 1039 | <label index="bat">Baltic languages</label> | ||
1947 | 1040 | <label index="bej">Beja, Bedawiyet</label> | ||
1948 | 1041 | <label index="bel">Byelorussian</label> | ||
1949 | 1042 | <label index="bem">Bemba</label> | ||
1950 | 1043 | <label index="ben">Bengali</label> | ||
1951 | 1044 | <label index="ber">Berber languages</label> | ||
1952 | 1045 | <label index="bho">Bhojpuri</label> | ||
1953 | 1046 | <label index="bih">Bihari languages</label> | ||
1954 | 1047 | <label index="bik">Bikol</label> | ||
1955 | 1048 | <label index="bin">Bini, Edo</label> | ||
1956 | 1049 | <label index="bis">Bislama</label> | ||
1957 | 1050 | <label index="bla">Siksika</label> | ||
1958 | 1051 | <label index="bnt">Bantu</label> | ||
1959 | 1052 | <label index="bos">Bosnian</label> | ||
1960 | 1053 | <label index="bra">Braj</label> | ||
1961 | 1054 | <label index="bre">Breton</label> | ||
1962 | 1055 | <label index="btk">Batak languages</label> | ||
1963 | 1056 | <label index="bua">Buriat</label> | ||
1964 | 1057 | <label index="bug">Buginese</label> | ||
1965 | 1058 | <label index="bul">Bulgarian</label> | ||
1966 | 1059 | <label index="bur">Burmese</label> | ||
1967 | 1060 | <label index="byn">Blin, Bilin</label> | ||
1968 | 1061 | <label index="cad">Caddo</label> | ||
1969 | 1062 | <label index="cai">Central American Indian languages</label> | ||
1970 | 1063 | <label index="car">Galibi Carib</label> | ||
1971 | 1064 | <label index="cat">Catalan, Valencian</label> | ||
1972 | 1065 | <label index="cau">Caucasian languages</label> | ||
1973 | 1066 | <label index="ceb">Cebuano</label> | ||
1974 | 1067 | <label index="cel">Celtic languages</label> | ||
1975 | 1068 | <label index="cha">Chamorro</label> | ||
1976 | 1069 | <label index="chb">Chibcha</label> | ||
1977 | 1070 | <label index="che">Chechen</label> | ||
1978 | 1071 | <label index="chg">Chagatai</label> | ||
1979 | 1072 | <label index="chi">Chinese</label> | ||
1980 | 1073 | <label index="chk">Chuukese</label> | ||
1981 | 1074 | <label index="chm">Mari</label> | ||
1982 | 1075 | <label index="chn">Chinook jargon</label> | ||
1983 | 1076 | <label index="cho">Choctaw</label> | ||
1984 | 1077 | <label index="chp">Chipewyan, Dene Suline</label> | ||
1985 | 1078 | <label index="chr">Cherokee</label> | ||
1986 | 1079 | <label index="chu">Church Slavic, Old Bulgarian</label> | ||
1987 | 1080 | <label index="chv">Chuvash</label> | ||
1988 | 1081 | <label index="chy">Cheyenne</label> | ||
1989 | 1082 | <label index="cmc">Chamic languages</label> | ||
1990 | 1083 | <label index="cop">Coptic</label> | ||
1991 | 1084 | <label index="cor">Cornish</label> | ||
1992 | 1085 | <label index="cos">Corsican</label> | ||
1993 | 1086 | <label index="cpe">English-based Creoles and pidgins</label> | ||
1994 | 1087 | <label index="cpf">French-based Creoles and pidgins</label> | ||
1995 | 1088 | <label index="cpp">Portuguese-based Creoles and pidgins</label> | ||
1996 | 1089 | <label index="cre">Cree</label> | ||
1997 | 1090 | <label index="crh">Crimean Tatar, Crimean Turkish</label> | ||
1998 | 1091 | <label index="crp">Creoles and pidgins</label> | ||
1999 | 1092 | <label index="csb">Kashubian</label> | ||
2000 | 1093 | <label index="cus">Cushitic languages</label> | ||
2001 | 1094 | <label index="cze">Czech</label> | ||
2002 | 1095 | <label index="dak">Dakota</label> | ||
2003 | 1096 | <label index="dan">Danish</label> | ||
2004 | 1097 | <label index="dar">Dargwa</label> | ||
2005 | 1098 | <label index="day">Land Dayak languages</label> | ||
2006 | 1099 | <label index="del">Delaware</label> | ||
2007 | 1100 | <label index="den">Slave (Athapascan)</label> | ||
2008 | 1101 | <label index="dgr">Dogrib</label> | ||
2009 | 1102 | <label index="din">Dinka</label> | ||
2010 | 1103 | <label index="div">Divehi, Dhivehi, Maldivian</label> | ||
2011 | 1104 | <label index="doi">Dogri</label> | ||
2012 | 1105 | <label index="dra">Dravidian languages</label> | ||
2013 | 1106 | <label index="dsb">Lower Sorbian</label> | ||
2014 | 1107 | <label index="dua">Duala</label> | ||
2015 | 1108 | <label index="dum">Middle Dutch (ca.1050-1350)</label> | ||
2016 | 1109 | <label index="dut">Dutch</label> | ||
2017 | 1110 | <label index="dyu">Dyula</label> | ||
2018 | 1111 | <label index="dzo">Dzongkha</label> | ||
2019 | 1112 | <label index="efi">Efik</label> | ||
2020 | 1113 | <label index="egy">Ancient Egyptian</label> | ||
2021 | 1114 | <label index="eka">Ekajuk</label> | ||
2022 | 1115 | <label index="elx">Elamite</label> | ||
2023 | 1116 | <label index="eng">English</label> | ||
2024 | 1117 | <label index="enm">Middle English (1100-1500)</label> | ||
2025 | 1118 | <label index="epo">Esperanto</label> | ||
2026 | 1119 | <label index="est">Estonian</label> | ||
2027 | 1120 | <label index="ewe">Ewe</label> | ||
2028 | 1121 | <label index="ewo">Ewondo</label> | ||
2029 | 1122 | <label index="fan">Fang</label> | ||
2030 | 1123 | <label index="fao">Faroese</label> | ||
2031 | 1124 | <label index="fat">Fanti</label> | ||
2032 | 1125 | <label index="fij">Fijian</label> | ||
2033 | 1126 | <label index="fil">Filipino, Pilipino</label> | ||
2034 | 1127 | <label index="fin">Finnish</label> | ||
2035 | 1128 | <label index="fiu">Finno-Ugrian languages</label> | ||
2036 | 1129 | <label index="fon">Fon</label> | ||
2037 | 1130 | <label index="fre">French</label> | ||
2038 | 1131 | <label index="frm">Middle French (ca.1400-1600)</label> | ||
2039 | 1132 | <label index="fro">Old French (842-ca.1400)</label> | ||
2040 | 1133 | <label index="frr">Northern Frisian</label> | ||
2041 | 1134 | <label index="frs">Eastern Frisian</label> | ||
2042 | 1135 | <label index="fry">Western Frisian</label> | ||
2043 | 1136 | <label index="ful">Fulah</label> | ||
2044 | 1137 | <label index="fur">Friulian</label> | ||
2045 | 1138 | <label index="gaa">Ga</label> | ||
2046 | 1139 | <label index="gay">Gayo</label> | ||
2047 | 1140 | <label index="gba">Gbaya</label> | ||
2048 | 1141 | <label index="gem">Germanic languages</label> | ||
2049 | 1142 | <label index="geo">Georgian</label> | ||
2050 | 1143 | <label index="ger">German</label> | ||
2051 | 1144 | <label index="gez">Geez</label> | ||
2052 | 1145 | <label index="gil">Gilbertese</label> | ||
2053 | 1146 | <label index="gla">Gaelic, Scottish Gaelic</label> | ||
2054 | 1147 | <label index="gle">Irish</label> | ||
2055 | 1148 | <label index="glg">Galician</label> | ||
2056 | 1149 | <label index="glv">Manx</label> | ||
2057 | 1150 | <label index="gmh">Middle High German (ca.1050-1500)</label> | ||
2058 | 1151 | <label index="goh">Old High German (ca.750-1050)</label> | ||
2059 | 1152 | <label index="gon">Gondi</label> | ||
2060 | 1153 | <label index="gor">Gorontalo</label> | ||
2061 | 1154 | <label index="got">Gothic</label> | ||
2062 | 1155 | <label index="grb">Grebo</label> | ||
2063 | 1156 | <label index="grc">Ancient Greek (to 1453)</label> | ||
2064 | 1157 | <label index="gre">Modern Greek (1453-)</label> | ||
2065 | 1158 | <label index="grn">Guarani</label> | ||
2066 | 1159 | <label index="gsw">Swiss German, Alemannic, Alsatian</label> | ||
2067 | 1160 | <label index="guj">Gujarati</label> | ||
2068 | 1161 | <label index="gwi">Gwich'in</label> | ||
2069 | 1162 | <label index="hai">Haida</label> | ||
2070 | 1163 | <label index="hat">Haitian, Haitian Creole</label> | ||
2071 | 1164 | <label index="hau">Hausa</label> | ||
2072 | 1165 | <label index="haw">Hawaiian</label> | ||
2073 | 1166 | <label index="heb">Hebrew</label> | ||
2074 | 1167 | <label index="her">Herero</label> | ||
2075 | 1168 | <label index="hil">Hiligaynon</label> | ||
2076 | 1169 | <label index="him">Himachali languages, Western Pahari languages</label> | ||
2077 | 1170 | <label index="hin">Hindi</label> | ||
2078 | 1171 | <label index="hit">Hittite</label> | ||
2079 | 1172 | <label index="hmn">Hmong, Mong</label> | ||
2080 | 1173 | <label index="hmo">Hiri Motu</label> | ||
2081 | 1174 | <label index="hrv">Croatian</label> | ||
2082 | 1175 | <label index="hsb">Upper Sorbian</label> | ||
2083 | 1176 | <label index="hun">Hungarian</label> | ||
2084 | 1177 | <label index="hup">Hupa</label> | ||
2085 | 1178 | <label index="iba">Iban</label> | ||
2086 | 1179 | <label index="ibo">Igbo</label> | ||
2087 | 1180 | <label index="ice">Icelandic</label> | ||
2088 | 1181 | <label index="ido">Ido</label> | ||
2089 | 1182 | <label index="iii">Sichuan Yi, Nuosu</label> | ||
2090 | 1183 | <label index="ijo">Ijo languages</label> | ||
2091 | 1184 | <label index="iku">Inuktitut</label> | ||
2092 | 1185 | <label index="ile">Interlingue, Occidental</label> | ||
2093 | 1186 | <label index="ilo">Iloko</label> | ||
2094 | 1187 | <label index="ina">Interlingua</label> | ||
2095 | 1188 | <label index="inc">Indic languages</label> | ||
2096 | 1189 | <label index="ind">Indonesian</label> | ||
2097 | 1190 | <label index="ine">Indo-European languages</label> | ||
2098 | 1191 | <label index="inh">Ingush</label> | ||
2099 | 1192 | <label index="ipk">Inupiak</label> | ||
2100 | 1193 | <label index="ira">Iranian languages</label> | ||
2101 | 1194 | <label index="iro">Iroquoian languages</label> | ||
2102 | 1195 | <label index="ita">Italian</label> | ||
2103 | 1196 | <label index="jav">Javanese</label> | ||
2104 | 1197 | <label index="jaw">Javanese</label> | ||
2105 | 1198 | <label index="jbo">Lojban</label> | ||
2106 | 1199 | <label index="jpn">Japanese</label> | ||
2107 | 1200 | <label index="jpr">Judeo-Persian</label> | ||
2108 | 1201 | <label index="jrb">Judeo-Arabic</label> | ||
2109 | 1202 | <label index="kaa">Kara-Kalpak</label> | ||
2110 | 1203 | <label index="kab">Kabyle</label> | ||
2111 | 1204 | <label index="kac">Kachin, Jingpho</label> | ||
2112 | 1205 | <label index="kal">Kalaallisut, Greenlandic</label> | ||
2113 | 1206 | <label index="kam">Kamba</label> | ||
2114 | 1207 | <label index="kan">Kannada</label> | ||
2115 | 1208 | <label index="kar">Karen languages</label> | ||
2116 | 1209 | <label index="kas">Kashmiri</label> | ||
2117 | 1210 | <label index="kau">Kanuri</label> | ||
2118 | 1211 | <label index="kaw">Kawi</label> | ||
2119 | 1212 | <label index="kaz">Kazakh</label> | ||
2120 | 1213 | <label index="kbd">Kabardian</label> | ||
2121 | 1214 | <label index="kha">Khasi</label> | ||
2122 | 1215 | <label index="khi">Khoisan languages</label> | ||
2123 | 1216 | <label index="khm">Khmer</label> | ||
2124 | 1217 | <label index="kho">Khotanese, Sakan</label> | ||
2125 | 1218 | <label index="kik">Kikuyu, Gikuyu</label> | ||
2126 | 1219 | <label index="kin">Kinyarwanda</label> | ||
2127 | 1220 | <label index="kir">Kirghiz, Kyrgyz</label> | ||
2128 | 1221 | <label index="kmb">Kimbundu</label> | ||
2129 | 1222 | <label index="kok">Konkani</label> | ||
2130 | 1223 | <label index="kom">Komi</label> | ||
2131 | 1224 | <label index="kon">Kongo</label> | ||
2132 | 1225 | <label index="kor">Korean</label> | ||
2133 | 1226 | <label index="kos">Kosraean</label> | ||
2134 | 1227 | <label index="kpe">Kpelle</label> | ||
2135 | 1228 | <label index="krc">Karachay-Balkar</label> | ||
2136 | 1229 | <label index="krl">Karelian</label> | ||
2137 | 1230 | <label index="kro">Kru languages</label> | ||
2138 | 1231 | <label index="kru">Kurukh</label> | ||
2139 | 1232 | <label index="kua">Kuanyama, Kwanyama</label> | ||
2140 | 1233 | <label index="kum">Kumyk</label> | ||
2141 | 1234 | <label index="kur">Kurdish</label> | ||
2142 | 1235 | <label index="kut">Kutenai</label> | ||
2143 | 1236 | <label index="lad">Ladino</label> | ||
2144 | 1237 | <label index="lah">Lahnda</label> | ||
2145 | 1238 | <label index="lam">Lamba</label> | ||
2146 | 1239 | <label index="lao">Lao</label> | ||
2147 | 1240 | <label index="lat">Latin</label> | ||
2148 | 1241 | <label index="lav">Latvian</label> | ||
2149 | 1242 | <label index="lez">Lezghian</label> | ||
2150 | 1243 | <label index="lim">Limburgan, Limburgish</label> | ||
2151 | 1244 | <label index="lin">Lingala</label> | ||
2152 | 1245 | <label index="lit">Lithuanian</label> | ||
2153 | 1246 | <label index="lol">Mongo</label> | ||
2154 | 1247 | <label index="loz">Lozi</label> | ||
2155 | 1248 | <label index="ltz">Luxembourgish, Letzeburgesch</label> | ||
2156 | 1249 | <label index="lua">Luba-Lulua</label> | ||
2157 | 1250 | <label index="lub">Luba-Katanga</label> | ||
2158 | 1251 | <label index="lug">Ganda</label> | ||
2159 | 1252 | <label index="lui">Luiseno</label> | ||
2160 | 1253 | <label index="lun">Lunda</label> | ||
2161 | 1254 | <label index="luo">Luo (Kenya and Tanzania)</label> | ||
2162 | 1255 | <label index="lus">Lushai</label> | ||
2163 | 1256 | <label index="mac">Macedonian</label> | ||
2164 | 1257 | <label index="mad">Madurese</label> | ||
2165 | 1258 | <label index="mag">Magahi</label> | ||
2166 | 1259 | <label index="mah">Marshallese</label> | ||
2167 | 1260 | <label index="mai">Maithili</label> | ||
2168 | 1261 | <label index="mak">Makasar</label> | ||
2169 | 1262 | <label index="mal">Malayalam</label> | ||
2170 | 1263 | <label index="man">Mandingo</label> | ||
2171 | 1264 | <label index="mao">Maori</label> | ||
2172 | 1265 | <label index="map">Austronesian languages</label> | ||
2173 | 1266 | <label index="mar">Marathi</label> | ||
2174 | 1267 | <label index="mas">Masai</label> | ||
2175 | 1268 | <label index="may">Malay</label> | ||
2176 | 1269 | <label index="mdf">Moksha</label> | ||
2177 | 1270 | <label index="mdr">Mandar</label> | ||
2178 | 1271 | <label index="men">Mende</label> | ||
2179 | 1272 | <label index="mga">Middle Irish (900-1200)</label> | ||
2180 | 1273 | <label index="mic">Mi'kmaq, Micmac</label> | ||
2181 | 1274 | <label index="min">Minangkabau</label> | ||
2182 | 1275 | <label index="mis">Uncoded languages</label> | ||
2183 | 1276 | <label index="mkh">Mon-Khmer languages</label> | ||
2184 | 1277 | <label index="mlg">Malagasy</label> | ||
2185 | 1278 | <label index="mlt">Maltese</label> | ||
2186 | 1279 | <label index="mnc">Manchu</label> | ||
2187 | 1280 | <label index="mni">Manipuri</label> | ||
2188 | 1281 | <label index="mno">Manobo languages</label> | ||
2189 | 1282 | <label index="moh">Mohawk</label> | ||
2190 | 1283 | <label index="mol">Moldavian</label> | ||
2191 | 1284 | <label index="mon">Mongolian</label> | ||
2192 | 1285 | <label index="mos">Mossi</label> | ||
2193 | 1286 | <label index="mul">Multiple languages</label> | ||
2194 | 1287 | <label index="mun">Munda languages</label> | ||
2195 | 1288 | <label index="mus">Creek</label> | ||
2196 | 1289 | <label index="mwl">Mirandese</label> | ||
2197 | 1290 | <label index="mwr">Marwari</label> | ||
2198 | 1291 | <label index="myn">Mayan languages</label> | ||
2199 | 1292 | <label index="myv">Erzya</label> | ||
2200 | 1293 | <label index="nah">Nahuatl languages</label> | ||
2201 | 1294 | <label index="nai">North American Indian languages</label> | ||
2202 | 1295 | <label index="nap">Neapolitan</label> | ||
2203 | 1296 | <label index="nau">Nauru</label> | ||
2204 | 1297 | <label index="nav">Navajo, Navaho</label> | ||
2205 | 1298 | <label index="nbl">South Ndebele</label> | ||
2206 | 1299 | <label index="nde">North Ndebele</label> | ||
2207 | 1300 | <label index="ndo">Ndonga</label> | ||
2208 | 1301 | <label index="nds">Low German, Low Saxon</label> | ||
2209 | 1302 | <label index="nep">Nepali</label> | ||
2210 | 1303 | <label index="new">Newari, Nepal Bhasa</label> | ||
2211 | 1304 | <label index="nia">Nias</label> | ||
2212 | 1305 | <label index="nic">Niger-Kordofanian languages</label> | ||
2213 | 1306 | <label index="niu">Niuean</label> | ||
2214 | 1307 | <label index="nno">Norwegian Nynorsk</label> | ||
2215 | 1308 | <label index="nob">Norwegian Bokmål</label> | ||
2216 | 1309 | <label index="nog">Nogai</label> | ||
2217 | 1310 | <label index="non">Old Norse</label> | ||
2218 | 1311 | <label index="nor">Norwegian</label> | ||
2219 | 1312 | <label index="nqo">N'Ko</label> | ||
2220 | 1313 | <label index="nso">Pedi, Sepedi, Northern Sotho</label> | ||
2221 | 1314 | <label index="nub">Nubian languages</label> | ||
2222 | 1315 | <label index="nwc">Classical Newari, Classical Nepal Bhasa</label> | ||
2223 | 1316 | <label index="nya">Chichewa, Chewa, Nyanja</label> | ||
2224 | 1317 | <label index="nym">Nyamwezi</label> | ||
2225 | 1318 | <label index="nyn">Nyankole</label> | ||
2226 | 1319 | <label index="nyo">Nyoro</label> | ||
2227 | 1320 | <label index="nzi">Nzima</label> | ||
2228 | 1321 | <label index="oci">Occitan (post 1500), Provençal</label> | ||
2229 | 1322 | <label index="oji">Ojibwa</label> | ||
2230 | 1323 | <label index="ori">Oriya</label> | ||
2231 | 1324 | <label index="orm">Oromo</label> | ||
2232 | 1325 | <label index="osa">Osage</label> | ||
2233 | 1326 | <label index="oss">Ossetian, Ossetic</label> | ||
2234 | 1327 | <label index="ota">Ottoman Turkish (1500-1928)</label> | ||
2235 | 1328 | <label index="oto">Otomian languages</label> | ||
2236 | 1329 | <label index="paa">Papuan languages</label> | ||
2237 | 1330 | <label index="pag">Pangasinan</label> | ||
2238 | 1331 | <label index="pal">Pahlavi</label> | ||
2239 | 1332 | <label index="pam">Pampanga, Kapampangan</label> | ||
2240 | 1333 | <label index="pan">Panjabi, Punjabi</label> | ||
2241 | 1334 | <label index="pap">Papiamento</label> | ||
2242 | 1335 | <label index="pau">Palauan</label> | ||
2243 | 1336 | <label index="peo">Old Persian (ca.600-400 BCE)</label> | ||
2244 | 1337 | <label index="per">Persian</label> | ||
2245 | 1338 | <label index="phi">Philippine languages</label> | ||
2246 | 1339 | <label index="phn">Phoenician</label> | ||
2247 | 1340 | <label index="pli">Pali</label> | ||
2248 | 1341 | <label index="pol">Polish</label> | ||
2249 | 1342 | <label index="pon">Pohnpeian</label> | ||
2250 | 1343 | <label index="por">Portuguese</label> | ||
2251 | 1344 | <label index="pra">Prakrit languages</label> | ||
2252 | 1345 | <label index="pro">Old Provençal (to 1500)</label> | ||
2253 | 1346 | <label index="pus">Pushto</label> | ||
2254 | 1347 | <label index="que">Quechua</label> | ||
2255 | 1348 | <label index="raj">Rajasthani</label> | ||
2256 | 1349 | <label index="rap">Rapanui</label> | ||
2257 | 1350 | <label index="rar">Rarotongan, Cook Islands Maori</label> | ||
2258 | 1351 | <label index="roa">Romance languages</label> | ||
2259 | 1352 | <label index="roh">Romansh</label> | ||
2260 | 1353 | <label index="rom">Romany</label> | ||
2261 | 1354 | <label index="rum">Romanian, Moldavian</label> | ||
2262 | 1355 | <label index="run">Rundi</label> | ||
2263 | 1356 | <label index="rup">Aromanian, Arumanian, Macedo-Romanian</label> | ||
2264 | 1357 | <label index="rus">Russian</label> | ||
2265 | 1358 | <label index="sad">Sandawe</label> | ||
2266 | 1359 | <label index="sag">Sango</label> | ||
2267 | 1360 | <label index="sah">Yakut</label> | ||
2268 | 1361 | <label index="sai">South American Indian</label> | ||
2269 | 1362 | <label index="sal">Salishan languages</label> | ||
2270 | 1363 | <label index="sam">Samaritan Aramaic</label> | ||
2271 | 1364 | <label index="san">Sanskrit</label> | ||
2272 | 1365 | <label index="sas">Sasak</label> | ||
2273 | 1366 | <label index="sat">Santali</label> | ||
2274 | 1367 | <label index="scn">Sicilian</label> | ||
2275 | 1368 | <label index="sco">Scots</label> | ||
2276 | 1369 | <label index="sel">Selkup</label> | ||
2277 | 1370 | <label index="sem">Semitic languages</label> | ||
2278 | 1371 | <label index="sga">Old Irish (to 900)</label> | ||
2279 | 1372 | <label index="sgn">Sign Languages</label> | ||
2280 | 1373 | <label index="shn">Shan</label> | ||
2281 | 1374 | <label index="sid">Sidamo</label> | ||
2282 | 1375 | <label index="sin">Sinhalese</label> | ||
2283 | 1376 | <label index="sio">Siouan languages</label> | ||
2284 | 1377 | <label index="sit">Sino-Tibetan languages</label> | ||
2285 | 1378 | <label index="sla">Slavic languages</label> | ||
2286 | 1379 | <label index="slo">Slovak</label> | ||
2287 | 1380 | <label index="slv">Slovenian</label> | ||
2288 | 1381 | <label index="sma">Southern Sami</label> | ||
2289 | 1382 | <label index="sme">Northern Sami</label> | ||
2290 | 1383 | <label index="smi">Sami languages</label> | ||
2291 | 1384 | <label index="smj">Lule Sami</label> | ||
2292 | 1385 | <label index="smn">Inari Sami</label> | ||
2293 | 1386 | <label index="smo">Samoan</label> | ||
2294 | 1387 | <label index="sms">Skolt Sami</label> | ||
2295 | 1388 | <label index="sna">Shona</label> | ||
2296 | 1389 | <label index="snd">Sindhi</label> | ||
2297 | 1390 | <label index="snk">Soninke</label> | ||
2298 | 1391 | <label index="sog">Sogdian</label> | ||
2299 | 1392 | <label index="som">Somali</label> | ||
2300 | 1393 | <label index="son">Songhai languages</label> | ||
2301 | 1394 | <label index="sot">Southern Sotho</label> | ||
2302 | 1395 | <label index="spa">Spanish, Castilian</label> | ||
2303 | 1396 | <label index="srd">Sardinian</label> | ||
2304 | 1397 | <label index="srn">Sranan Tongo</label> | ||
2305 | 1398 | <label index="srp">Serbian</label> | ||
2306 | 1399 | <label index="srr">Serer</label> | ||
2307 | 1400 | <label index="ssa">Nilo-Saharan languages</label> | ||
2308 | 1401 | <label index="ssw">Swati</label> | ||
2309 | 1402 | <label index="suk">Sukuma</label> | ||
2310 | 1403 | <label index="sun">Sundanese</label> | ||
2311 | 1404 | <label index="sus">Susu</label> | ||
2312 | 1405 | <label index="sux">Sumerian</label> | ||
2313 | 1406 | <label index="swa">Swahili</label> | ||
2314 | 1407 | <label index="swe">Swedish</label> | ||
2315 | 1408 | <label index="syc">Classical Syriac</label> | ||
2316 | 1409 | <label index="syr">Syriac</label> | ||
2317 | 1410 | <label index="tah">Tahitian</label> | ||
2318 | 1411 | <label index="tai">Tai languages</label> | ||
2319 | 1412 | <label index="tam">Tamil</label> | ||
2320 | 1413 | <label index="tat">Tatar</label> | ||
2321 | 1414 | <label index="tel">Telugu</label> | ||
2322 | 1415 | <label index="tem">Timne</label> | ||
2323 | 1416 | <label index="ter">Tereno</label> | ||
2324 | 1417 | <label index="tet">Tetum</label> | ||
2325 | 1418 | <label index="tgk">Tajik</label> | ||
2326 | 1419 | <label index="tgl">Tagalog</label> | ||
2327 | 1420 | <label index="tha">Thai</label> | ||
2328 | 1421 | <label index="tib">Tibetan</label> | ||
2329 | 1422 | <label index="tig">Tigre</label> | ||
2330 | 1423 | <label index="tir">Tigrinya</label> | ||
2331 | 1424 | <label index="tiv">Tiv</label> | ||
2332 | 1425 | <label index="tkl">Tokelau</label> | ||
2333 | 1426 | <label index="tlh">Klingon</label> | ||
2334 | 1427 | <label index="tli">Tlingit</label> | ||
2335 | 1428 | <label index="tmh">Tamashek</label> | ||
2336 | 1429 | <label index="tog">Tonga (Nyasa)</label> | ||
2337 | 1430 | <label index="ton">Tonga (Tonga Islands)</label> | ||
2338 | 1431 | <label index="tpi">Tok Pisin</label> | ||
2339 | 1432 | <label index="tsi">Tsimshian</label> | ||
2340 | 1433 | <label index="tsn">Tswana</label> | ||
2341 | 1434 | <label index="tso">Tsonga</label> | ||
2342 | 1435 | <label index="tuk">Turkmen</label> | ||
2343 | 1436 | <label index="tum">Tumbuka</label> | ||
2344 | 1437 | <label index="tup">Tupi languages</label> | ||
2345 | 1438 | <label index="tur">Turkish</label> | ||
2346 | 1439 | <label index="tut">Altaic languages</label> | ||
2347 | 1440 | <label index="tvl">Tuvalu</label> | ||
2348 | 1441 | <label index="twi">Twi</label> | ||
2349 | 1442 | <label index="tyv">Tuvinian</label> | ||
2350 | 1443 | <label index="udm">Udmurt</label> | ||
2351 | 1444 | <label index="uga">Ugaritic</label> | ||
2352 | 1445 | <label index="uig">Uighur</label> | ||
2353 | 1446 | <label index="ukr">Ukrainian</label> | ||
2354 | 1447 | <label index="umb">Umbundu</label> | ||
2355 | 1448 | <label index="und">Undetermined</label> | ||
2356 | 1449 | <label index="urd">Urdu</label> | ||
2357 | 1450 | <label index="uzb">Uzbek</label> | ||
2358 | 1451 | <label index="vai">Vai</label> | ||
2359 | 1452 | <label index="ven">Venda</label> | ||
2360 | 1453 | <label index="vie">Vietnamese</label> | ||
2361 | 1454 | <label index="vol">Volapük</label> | ||
2362 | 1455 | <label index="vot">Votic</label> | ||
2363 | 1456 | <label index="wak">Wakashan languages</label> | ||
2364 | 1457 | <label index="wal">Walamo</label> | ||
2365 | 1458 | <label index="war">Waray</label> | ||
2366 | 1459 | <label index="was">Washo</label> | ||
2367 | 1460 | <label index="wel">Welsh</label> | ||
2368 | 1461 | <label index="wen">Sorbian languages</label> | ||
2369 | 1462 | <label index="wln">Walloon</label> | ||
2370 | 1463 | <label index="wol">Wolof</label> | ||
2371 | 1464 | <label index="xal">Kalmyk, Oirat</label> | ||
2372 | 1465 | <label index="xho">Xhosa</label> | ||
2373 | 1466 | <label index="yao">Yao</label> | ||
2374 | 1467 | <label index="yap">Yapese</label> | ||
2375 | 1468 | <label index="yid">Yiddish</label> | ||
2376 | 1469 | <label index="yor">Yoruba</label> | ||
2377 | 1470 | <label index="ypk">Yupik languages</label> | ||
2378 | 1471 | <label index="zap">Zapotec</label> | ||
2379 | 1472 | <label index="zbl">Blissymbolics</label> | ||
2380 | 1473 | <label index="zen">Zenaga</label> | ||
2381 | 1474 | <label index="zha">Zhuang</label> | ||
2382 | 1475 | <label index="znd">Zande languages</label> | ||
2383 | 1476 | <label index="zul">Zulu</label> | ||
2384 | 1477 | <label index="zun">Zuni</label> | ||
2385 | 1478 | <label index="zxx">No linguistic content</label> | ||
2386 | 1479 | <label index="zza">Zazaki</label> | ||
2387 | 1480 | </languageKey> | ||
2388 | 1481 | <languageKey index="de" type="array"> | ||
2389 | 1482 | <label index="aar">Danakil-Sprache</label> | ||
2390 | 1483 | <label index="abk">Abchasisch</label> | ||
2391 | 1484 | <label index="ace">Aceh-Sprache</label> | ||
2392 | 1485 | <label index="ach">Acholi-Sprache</label> | ||
2393 | 1486 | <label index="ada">Adangme-Sprache</label> | ||
2394 | 1487 | <label index="ady">Adygisch</label> | ||
2395 | 1488 | <label index="afa">Hamitosemitische Sprachen</label> | ||
2396 | 1489 | <label index="afh">Afrihili</label> | ||
2397 | 1490 | <label index="afr">Afrikaans</label> | ||
2398 | 1491 | <label index="ain">Ainu-Sprache</label> | ||
2399 | 1492 | <label index="aka">Akan-Sprache</label> | ||
2400 | 1493 | <label index="akk">Akkadisch</label> | ||
2401 | 1494 | <label index="alb">Albanisch</label> | ||
2402 | 1495 | <label index="ale">Aleutisch</label> | ||
2403 | 1496 | <label index="alg">Algonkin-Sprachen</label> | ||
2404 | 1497 | <label index="alt">Altaisch</label> | ||
2405 | 1498 | <label index="amh">Amharisch</label> | ||
2406 | 1499 | <label index="ang">Altenglisch (ca.450-1100)</label> | ||
2407 | 1500 | <label index="anp">Anga-Sprache</label> | ||
2408 | 1501 | <label index="apa">Apachen-Sprachen</label> | ||
2409 | 1502 | <label index="ara">Arabisch</label> | ||
2410 | 1503 | <label index="arc">Aramäisch (700-300 v.Chr.)</label> | ||
2411 | 1504 | <label index="arg">Aragonesisch</label> | ||
2412 | 1505 | <label index="arm">Armenisch</label> | ||
2413 | 1506 | <label index="arn">Arauka-Sprachen</label> | ||
2414 | 1507 | <label index="arp">Arapaho-Sprache</label> | ||
2415 | 1508 | <label index="art">Kunstsprachen</label> | ||
2416 | 1509 | <label index="arw">Arawak-Sprachen</label> | ||
2417 | 1510 | <label index="asm">Assamesisch</label> | ||
2418 | 1511 | <label index="ast">Asturisch</label> | ||
2419 | 1512 | <label index="ath">Athapaskische Sprachen</label> | ||
2420 | 1513 | <label index="aus">Australische Sprachen</label> | ||
2421 | 1514 | <label index="ava">Awarisch</label> | ||
2422 | 1515 | <label index="ave">Avestisch</label> | ||
2423 | 1516 | <label index="awa">Awadhī</label> | ||
2424 | 1517 | <label index="aym">Aymará-Sprache</label> | ||
2425 | 1518 | <label index="aze">Aserbeidschanisch</label> | ||
2426 | 1519 | <label index="bad">Banda-Sprachen (Ubangi-Sprachen)</label> | ||
2427 | 1520 | <label index="bai">Bamileke-Sprachen</label> | ||
2428 | 1521 | <label index="bak">Baschkirisch</label> | ||
2429 | 1522 | <label index="bal">Belutschisch</label> | ||
2430 | 1523 | <label index="bam">Bambara-Sprache</label> | ||
2431 | 1524 | <label index="ban">Balinesisch</label> | ||
2432 | 1525 | <label index="baq">Baskisch</label> | ||
2433 | 1526 | <label index="bas">Basaa-Sprache</label> | ||
2434 | 1527 | <label index="bat">Baltische Sprachen</label> | ||
2435 | 1528 | <label index="bej">Bedauye</label> | ||
2436 | 1529 | <label index="bel">Weißrussisch</label> | ||
2437 | 1530 | <label index="bem">Bemba-Sprache</label> | ||
2438 | 1531 | <label index="ben">Bengali</label> | ||
2439 | 1532 | <label index="ber">Berbersprachen</label> | ||
2440 | 1533 | <label index="bho">Bhojpurī</label> | ||
2441 | 1534 | <label index="bih">Bihari</label> | ||
2442 | 1535 | <label index="bik">Bikol-Sprache</label> | ||
2443 | 1536 | <label index="bin">Edo-Sprache</label> | ||
2444 | 1537 | <label index="bis">Beach-la-mar</label> | ||
2445 | 1538 | <label index="bla">Blackfoot-Sprache</label> | ||
2446 | 1539 | <label index="bnt">Bantusprachen</label> | ||
2447 | 1540 | <label index="bos">Bosnisch</label> | ||
2448 | 1541 | <label index="bra">Braj-Bhakha</label> | ||
2449 | 1542 | <label index="bre">Bretonisch</label> | ||
2450 | 1543 | <label index="btk">Batak-Sprache</label> | ||
2451 | 1544 | <label index="bua">Burjatisch</label> | ||
2452 | 1545 | <label index="bug">Bugi-Sprache</label> | ||
2453 | 1546 | <label index="bul">Bulgarisch</label> | ||
2454 | 1547 | <label index="bur">Birmanisch</label> | ||
2455 | 1548 | <label index="byn">Bilin-Sprache</label> | ||
2456 | 1549 | <label index="cad">Caddo-Sprachen</label> | ||
2457 | 1550 | <label index="cai">Zentralamerikanische Indianersprachen</label> | ||
2458 | 1551 | <label index="car">Karibische Sprachen</label> | ||
2459 | 1552 | <label index="cat">Katalanisch</label> | ||
2460 | 1553 | <label index="cau">Kaukasische Sprachen</label> | ||
2461 | 1554 | <label index="ceb">Cebuano</label> | ||
2462 | 1555 | <label index="cel">Keltische Sprachen</label> | ||
2463 | 1556 | <label index="cha">Chamorro-Sprache</label> | ||
2464 | 1557 | <label index="chb">Chibcha-Sprachen</label> | ||
2465 | 1558 | <label index="che">Tschetschenisch</label> | ||
2466 | 1559 | <label index="chg">Tschagataisch</label> | ||
2467 | 1560 | <label index="chi">Chinesisch</label> | ||
2468 | 1561 | <label index="chk">Trukesisch</label> | ||
2469 | 1562 | <label index="chm">Tscheremissisch</label> | ||
2470 | 1563 | <label index="chn">Chinook-Jargon</label> | ||
2471 | 1564 | <label index="cho">Choctaw-Sprache</label> | ||
2472 | 1565 | <label index="chp">Chipewyan-Sprache</label> | ||
2473 | 1566 | <label index="chr">Cherokee-Sprache</label> | ||
2474 | 1567 | <label index="chu">Kirchenslawisch</label> | ||
2475 | 1568 | <label index="chv">Tschuwaschisch</label> | ||
2476 | 1569 | <label index="chy">Cheyenne-Sprache</label> | ||
2477 | 1570 | <label index="cmc">Cham-Sprachen</label> | ||
2478 | 1571 | <label index="cop">Koptisch</label> | ||
2479 | 1572 | <label index="cor">Kornisch</label> | ||
2480 | 1573 | <label index="cos">Korsisch</label> | ||
2481 | 1574 | <label index="cpe">Kreolisch-Englisch</label> | ||
2482 | 1575 | <label index="cpf">Kreolisch-Französisch</label> | ||
2483 | 1576 | <label index="cpp">Kreolisch-Portugiesisch</label> | ||
2484 | 1577 | <label index="cre">Cree-Sprache</label> | ||
2485 | 1578 | <label index="crh">Krimtatarisch</label> | ||
2486 | 1579 | <label index="crp">Kreolische Sprachen, Pidginsprachen</label> | ||
2487 | 1580 | <label index="csb">Kaschubisch</label> | ||
2488 | 1581 | <label index="cus">Kuschitische Sprachen</label> | ||
2489 | 1582 | <label index="cze">Tschechisch</label> | ||
2490 | 1583 | <label index="dak">Dakota-Sprache</label> | ||
2491 | 1584 | <label index="dan">Dänisch</label> | ||
2492 | 1585 | <label index="dar">Darginisch</label> | ||
2493 | 1586 | <label index="day">Dajakisch</label> | ||
2494 | 1587 | <label index="del">Delaware-Sprache</label> | ||
2495 | 1588 | <label index="den">Slave-Sprache</label> | ||
2496 | 1589 | <label index="dgr">Dogrib-Sprache</label> | ||
2497 | 1590 | <label index="din">Dinka-Sprache</label> | ||
2498 | 1591 | <label index="div">Maledivisch</label> | ||
2499 | 1592 | <label index="doi">Dogrī</label> | ||
2500 | 1593 | <label index="dra">Drawidische Sprachen</label> | ||
2501 | 1594 | <label index="dsb">Niedersorbisch</label> | ||
2502 | 1595 | <label index="dua">Duala-Sprachen</label> | ||
2503 | 1596 | <label index="dum">Mittelniederländisch (ca.1050-1350)</label> | ||
2504 | 1597 | <label index="dut">Niederländisch</label> | ||
2505 | 1598 | <label index="dyu">Dyula-Sprache</label> | ||
2506 | 1599 | <label index="dzo">Dzongkha</label> | ||
2507 | 1600 | <label index="efi">Efik</label> | ||
2508 | 1601 | <label index="egy">Ägyptisch</label> | ||
2509 | 1602 | <label index="eka">Ekajuk</label> | ||
2510 | 1603 | <label index="elx">Elamisch</label> | ||
2511 | 1604 | <label index="eng">Englisch</label> | ||
2512 | 1605 | <label index="enm">Mittelenglisch (1100-1500)</label> | ||
2513 | 1606 | <label index="epo">Esperanto</label> | ||
2514 | 1607 | <label index="est">Estnisch</label> | ||
2515 | 1608 | <label index="ewe">Ewe-Sprache</label> | ||
2516 | 1609 | <label index="ewo">Ewondo</label> | ||
2517 | 1610 | <label index="fan">Pangwe-Sprache</label> | ||
2518 | 1611 | <label index="fao">Färöisch</label> | ||
2519 | 1612 | <label index="fat">Fante-Sprache</label> | ||
2520 | 1613 | <label index="fij">Fidschi-Sprache</label> | ||
2521 | 1614 | <label index="fil">Pilipino</label> | ||
2522 | 1615 | <label index="fin">Finnisch</label> | ||
2523 | 1616 | <label index="fiu">Finnougrische Sprachen</label> | ||
2524 | 1617 | <label index="fon">Fon-Sprache</label> | ||
2525 | 1618 | <label index="fre">Französisch</label> | ||
2526 | 1619 | <label index="frm">Mittelfranzösisch (ca.1400-1600)</label> | ||
2527 | 1620 | <label index="fro">Altfranzösisch (842-ca.1400)</label> | ||
2528 | 1621 | <label index="frr">Nordfriesisch</label> | ||
2529 | 1622 | <label index="frs">Ostfriesisch</label> | ||
2530 | 1623 | <label index="fry">Friesisch</label> | ||
2531 | 1624 | <label index="ful">Ful</label> | ||
2532 | 1625 | <label index="fur">Friulisch</label> | ||
2533 | 1626 | <label index="gaa">Ga-Sprache</label> | ||
2534 | 1627 | <label index="gay">Gayo-Sprache</label> | ||
2535 | 1628 | <label index="gba">Gbaya-Sprache</label> | ||
2536 | 1629 | <label index="gem">Germanische Sprachen</label> | ||
2537 | 1630 | <label index="geo">Georgisch</label> | ||
2538 | 1631 | <label index="ger">Deutsch</label> | ||
2539 | 1632 | <label index="gez">Altäthiopisch</label> | ||
2540 | 1633 | <label index="gil">Gilbertesisch</label> | ||
2541 | 1634 | <label index="gla">Gälisch-Schottisch</label> | ||
2542 | 1635 | <label index="gle">Irisch</label> | ||
2543 | 1636 | <label index="glg">Galicisch</label> | ||
2544 | 1637 | <label index="glv">Manx</label> | ||
2545 | 1638 | <label index="gmh">Mittelhochdeutsch (ca.1050-1500)</label> | ||
2546 | 1639 | <label index="goh">Althochdeutsch (ca.750-1050)</label> | ||
2547 | 1640 | <label index="gon">Gondi-Sprache</label> | ||
2548 | 1641 | <label index="gor">Gorontalesisch</label> | ||
2549 | 1642 | <label index="got">Gotisch</label> | ||
2550 | 1643 | <label index="grb">Grebo-Sprache</label> | ||
2551 | 1644 | <label index="grc">Griechisch (bis 1453)</label> | ||
2552 | 1645 | <label index="gre">Neugriechisch (ab 1453)</label> | ||
2553 | 1646 | <label index="grn">Guaraní-Sprache</label> | ||
2554 | 1647 | <label index="gsw">Schweizerdeutsch</label> | ||
2555 | 1648 | <label index="guj">Gujarātī-Sprache</label> | ||
2556 | 1649 | <label index="gwi">Kutchin-Sprache</label> | ||
2557 | 1650 | <label index="hai">Haida-Sprache</label> | ||
2558 | 1651 | <label index="hat">Haïtien (Haiti-Kreolisch)</label> | ||
2559 | 1652 | <label index="hau">Haussa-Sprache</label> | ||
2560 | 1653 | <label index="haw">Hawaiisch</label> | ||
2561 | 1654 | <label index="heb">Hebräisch</label> | ||
2562 | 1655 | <label index="her">Herero-Sprache</label> | ||
2563 | 1656 | <label index="hil">Hiligaynon-Sprache</label> | ||
2564 | 1657 | <label index="him">Himachali</label> | ||
2565 | 1658 | <label index="hin">Hindi</label> | ||
2566 | 1659 | <label index="hit">Hethitisch</label> | ||
2567 | 1660 | <label index="hmn">Miao-Sprachen</label> | ||
2568 | 1661 | <label index="hmo">Hiri-Motu</label> | ||
2569 | 1662 | <label index="hrv">Kroatisch</label> | ||
2570 | 1663 | <label index="hsb">Obersorbisch</label> | ||
2571 | 1664 | <label index="hun">Ungarisch</label> | ||
2572 | 1665 | <label index="hup">Hupa-Sprache</label> | ||
2573 | 1666 | <label index="iba">Iban-Sprache</label> | ||
2574 | 1667 | <label index="ibo">Ibo-Sprache</label> | ||
2575 | 1668 | <label index="ice">Isländisch</label> | ||
2576 | 1669 | <label index="ido">Ido</label> | ||
2577 | 1670 | <label index="iii">Lalo-Sprache</label> | ||
2578 | 1671 | <label index="ijo">Ijo-Sprache</label> | ||
2579 | 1672 | <label index="iku">Inuktitut</label> | ||
2580 | 1673 | <label index="ile">Interlingue</label> | ||
2581 | 1674 | <label index="ilo">Ilokano-Sprache</label> | ||
2582 | 1675 | <label index="ina">Interlingua</label> | ||
2583 | 1676 | <label index="inc">Indoarische Sprachen</label> | ||
2584 | 1677 | <label index="ind">Bahasa Indonesia</label> | ||
2585 | 1678 | <label index="ine">Indogermanische Sprachen</label> | ||
2586 | 1679 | <label index="inh">Inguschisch</label> | ||
2587 | 1680 | <label index="ipk">Inupik</label> | ||
2588 | 1681 | <label index="ira">Iranische Sprachen</label> | ||
2589 | 1682 | <label index="iro">Irokesische Sprachen</label> | ||
2590 | 1683 | <label index="ita">Italienisch</label> | ||
2591 | 1684 | <label index="jav">Javanisch</label> | ||
2592 | 1685 | <label index="jbo">Lojban</label> | ||
2593 | 1686 | <label index="jpn">Japanisch</label> | ||
2594 | 1687 | <label index="jpr">Jüdisch-Persisch</label> | ||
2595 | 1688 | <label index="jrb">Jüdisch-Arabisch</label> | ||
2596 | 1689 | <label index="kaa">Karakalpakisch</label> | ||
2597 | 1690 | <label index="kab">Kabylisch</label> | ||
2598 | 1691 | <label index="kac">Kachin-Sprache</label> | ||
2599 | 1692 | <label index="kal">Grönländisch</label> | ||
2600 | 1693 | <label index="kam">Kamba-Sprache</label> | ||
2601 | 1694 | <label index="kan">Kannada</label> | ||
2602 | 1695 | <label index="kar">Karenisch</label> | ||
2603 | 1696 | <label index="kas">Kaschmiri</label> | ||
2604 | 1697 | <label index="kau">Kanuri-Sprache</label> | ||
2605 | 1698 | <label index="kaw">Kawi</label> | ||
2606 | 1699 | <label index="kaz">Kasachisch</label> | ||
2607 | 1700 | <label index="kbd">Kabardinisch</label> | ||
2608 | 1701 | <label index="kha">Khasi-Sprache</label> | ||
2609 | 1702 | <label index="khi">Khoisan-Sprachen</label> | ||
2610 | 1703 | <label index="khm">Kambodschanisch</label> | ||
2611 | 1704 | <label index="kho">Sakisch</label> | ||
2612 | 1705 | <label index="kik">Kikuyu-Sprache</label> | ||
2613 | 1706 | <label index="kin">Rwanda-Sprache</label> | ||
2614 | 1707 | <label index="kir">Kirgisisch</label> | ||
2615 | 1708 | <label index="kmb">Kimbundu-Sprache</label> | ||
2616 | 1709 | <label index="kok">Konkani</label> | ||
2617 | 1710 | <label index="kom">Komi-Sprache</label> | ||
2618 | 1711 | <label index="kon">Kongo-Sprache</label> | ||
2619 | 1712 | <label index="kor">Koreanisch</label> | ||
2620 | 1713 | <label index="kos">Kosraeanisch</label> | ||
2621 | 1714 | <label index="kpe">Kpelle-Sprache</label> | ||
2622 | 1715 | <label index="krc">Karatschaiisch-Balkarisch</label> | ||
2623 | 1716 | <label index="krl">Karelisch</label> | ||
2624 | 1717 | <label index="kro">Kru-Sprachen</label> | ||
2625 | 1718 | <label index="kru">Oraon-Sprache</label> | ||
2626 | 1719 | <label index="kua">Kwanyama-Sprache</label> | ||
2627 | 1720 | <label index="kum">Kumükisch</label> | ||
2628 | 1721 | <label index="kur">Kurdisch</label> | ||
2629 | 1722 | <label index="kut">Kutenai-Sprache</label> | ||
2630 | 1723 | <label index="lad">Judenspanisch</label> | ||
2631 | 1724 | <label index="lah">Lahndā</label> | ||
2632 | 1725 | <label index="lam">Lamba-Sprache (Bantusprache)</label> | ||
2633 | 1726 | <label index="lao">Laotisch</label> | ||
2634 | 1727 | <label index="lat">Latein</label> | ||
2635 | 1728 | <label index="lav">Lettisch</label> | ||
2636 | 1729 | <label index="lez">Lesgisch</label> | ||
2637 | 1730 | <label index="lim">Limburgisch</label> | ||
2638 | 1731 | <label index="lin">Lingala</label> | ||
2639 | 1732 | <label index="lit">Litauisch</label> | ||
2640 | 1733 | <label index="lol">Mongo-Sprache</label> | ||
2641 | 1734 | <label index="loz">Rotse-Sprache</label> | ||
2642 | 1735 | <label index="ltz">Luxemburgisch</label> | ||
2643 | 1736 | <label index="lua">Lulua-Sprache</label> | ||
2644 | 1737 | <label index="lub">Luba-Katanga-Sprache</label> | ||
2645 | 1738 | <label index="lug">Ganda-Sprache</label> | ||
2646 | 1739 | <label index="lui">Luiseño-Sprache</label> | ||
2647 | 1740 | <label index="lun">Lunda-Sprache</label> | ||
2648 | 1741 | <label index="luo">Luo-Sprache</label> | ||
2649 | 1742 | <label index="lus">Lushai-Sprache</label> | ||
2650 | 1743 | <label index="mac">Makedonisch</label> | ||
2651 | 1744 | <label index="mad">Maduresisch</label> | ||
2652 | 1745 | <label index="mag">Khotta</label> | ||
2653 | 1746 | <label index="mah">Marschallesisch</label> | ||
2654 | 1747 | <label index="mai">Maithili</label> | ||
2655 | 1748 | <label index="mak">Makassarisch</label> | ||
2656 | 1749 | <label index="mal">Malayalam</label> | ||
2657 | 1750 | <label index="man">Malinke-Sprache</label> | ||
2658 | 1751 | <label index="mao">Maori-Sprache</label> | ||
2659 | 1752 | <label index="map">Austronesische Sprachen</label> | ||
2660 | 1753 | <label index="mar">Marathi</label> | ||
2661 | 1754 | <label index="mas">Massai-Sprache</label> | ||
2662 | 1755 | <label index="may">Malaiisch</label> | ||
2663 | 1756 | <label index="mdf">Mokscha-Sprache</label> | ||
2664 | 1757 | <label index="mdr">Mandaresisch</label> | ||
2665 | 1758 | <label index="men">Mende-Sprache</label> | ||
2666 | 1759 | <label index="mga">Mittelirisch (900-1200)</label> | ||
2667 | 1760 | <label index="mic">Micmac-Sprache</label> | ||
2668 | 1761 | <label index="min">Minangkabau-Sprache</label> | ||
2669 | 1762 | <label index="mis">Einzelne andere Sprachen</label> | ||
2670 | 1763 | <label index="mkh">Mon-Khmer-Sprachen</label> | ||
2671 | 1764 | <label index="mlg">Malagassi-Sprache</label> | ||
2672 | 1765 | <label index="mlt">Maltesisch</label> | ||
2673 | 1766 | <label index="mnc">Mandschurisch</label> | ||
2674 | 1767 | <label index="mni">Meithei-Sprache</label> | ||
2675 | 1768 | <label index="mno">Manobo-Sprachen</label> | ||
2676 | 1769 | <label index="moh">Mohawk-Sprache</label> | ||
2677 | 1770 | <label index="mol">Moldavisch</label> | ||
2678 | 1771 | <label index="mon">Mongolisch</label> | ||
2679 | 1772 | <label index="mos">Mossi-Sprache</label> | ||
2680 | 1773 | <label index="mul">Mehrere Sprachen</label> | ||
2681 | 1774 | <label index="mun">Mundasprachen</label> | ||
2682 | 1775 | <label index="mus">Muskogisch</label> | ||
2683 | 1776 | <label index="mwl">Mirandesisch</label> | ||
2684 | 1777 | <label index="mwr">Mārwārī</label> | ||
2685 | 1778 | <label index="myn">Maya-Sprachen</label> | ||
2686 | 1779 | <label index="myv">Erza-Mordwinisch</label> | ||
2687 | 1780 | <label index="nah">Nahuatl</label> | ||
2688 | 1781 | <label index="nai">Nordamerikanische Indianersprachen</label> | ||
2689 | 1782 | <label index="nap">Neapel (Mundart)</label> | ||
2690 | 1783 | <label index="nau">Nauruanisch</label> | ||
2691 | 1784 | <label index="nav">Navajo-Sprache</label> | ||
2692 | 1785 | <label index="nbl">Ndebele-Sprache (Transvaal)</label> | ||
2693 | 1786 | <label index="nde">Ndebele-Sprache (Simbabwe)</label> | ||
2694 | 1787 | <label index="ndo">Ndonga</label> | ||
2695 | 1788 | <label index="nds">Niederdeutsch</label> | ||
2696 | 1789 | <label index="nep">Nepali</label> | ||
2697 | 1790 | <label index="new">Newārī</label> | ||
2698 | 1791 | <label index="nia">Nias-Sprache</label> | ||
2699 | 1792 | <label index="nic">Nigerkordofanische Sprachen</label> | ||
2700 | 1793 | <label index="niu">Niue-Sprache</label> | ||
2701 | 1794 | <label index="nno">Nynorsk</label> | ||
2702 | 1795 | <label index="nob">Bokmål</label> | ||
2703 | 1796 | <label index="nog">Nogaisch</label> | ||
2704 | 1797 | <label index="non">Altnorwegisch</label> | ||
2705 | 1798 | <label index="nor">Norwegisch</label> | ||
2706 | 1799 | <label index="nqo">N'Ko</label> | ||
2707 | 1800 | <label index="nso">Pedi-Sprache</label> | ||
2708 | 1801 | <label index="nub">Nubische Sprachen</label> | ||
2709 | 1802 | <label index="nwc">Alt-Newārī</label> | ||
2710 | 1803 | <label index="nya">Nyanja-Sprache</label> | ||
2711 | 1804 | <label index="nym">Nyamwezi-Sprache</label> | ||
2712 | 1805 | <label index="nyn">Nkole-Sprache</label> | ||
2713 | 1806 | <label index="nyo">Nyoro-Sprache</label> | ||
2714 | 1807 | <label index="nzi">Nzima-Sprache</label> | ||
2715 | 1808 | <label index="oci">Okzitanisch (ab 1500)</label> | ||
2716 | 1809 | <label index="oji">Ojibwa-Sprache</label> | ||
2717 | 1810 | <label index="ori">Oriya-Sprache</label> | ||
2718 | 1811 | <label index="orm">Galla-Sprache</label> | ||
2719 | 1812 | <label index="osa">Osage-Sprache</label> | ||
2720 | 1813 | <label index="oss">Ossetisch</label> | ||
2721 | 1814 | <label index="ota">Osmanisch (1500-1928)</label> | ||
2722 | 1815 | <label index="oto">Otomangue-Sprachen</label> | ||
2723 | 1816 | <label index="paa">Papuasprachen</label> | ||
2724 | 1817 | <label index="pag">Pangasinan-Sprache</label> | ||
2725 | 1818 | <label index="pal">Mittelpersisch</label> | ||
2726 | 1819 | <label index="pam">Pampanggan-Sprache</label> | ||
2727 | 1820 | <label index="pan">Pandschabi-Sprache</label> | ||
2728 | 1821 | <label index="pap">Papiamento</label> | ||
2729 | 1822 | <label index="pau">Palau-Sprache</label> | ||
2730 | 1823 | <label index="peo">Altpersisch (ca.600-400 v.Chr.)</label> | ||
2731 | 1824 | <label index="per">Persisch</label> | ||
2732 | 1825 | <label index="phi">Philippinisch-Austronesisch</label> | ||
2733 | 1826 | <label index="phn">Phönikisch</label> | ||
2734 | 1827 | <label index="pli">Pāli</label> | ||
2735 | 1828 | <label index="pol">Polnisch</label> | ||
2736 | 1829 | <label index="pon">Ponapeanisch</label> | ||
2737 | 1830 | <label index="por">Portugiesisch</label> | ||
2738 | 1831 | <label index="pra">Prākrit</label> | ||
2739 | 1832 | <label index="pro">Altokzitanisch (bis 1500)</label> | ||
2740 | 1833 | <label index="pus">Paschtu</label> | ||
2741 | 1834 | <label index="que">Quechua-Sprache</label> | ||
2742 | 1835 | <label index="raj">Rājasthānī</label> | ||
2743 | 1836 | <label index="rap">Osterinsel-Sprache</label> | ||
2744 | 1837 | <label index="rar">Rarotonganisch</label> | ||
2745 | 1838 | <label index="roa">Romanische Sprachen</label> | ||
2746 | 1839 | <label index="roh">Rätoromanisch</label> | ||
2747 | 1840 | <label index="rom">Romani (Sprache)</label> | ||
2748 | 1841 | <label index="rum">Rumänisch</label> | ||
2749 | 1842 | <label index="run">Rundi-Sprache</label> | ||
2750 | 1843 | <label index="rup">Aromunisch</label> | ||
2751 | 1844 | <label index="rus">Russisch</label> | ||
2752 | 1845 | <label index="sad">Sandawe-Sprache</label> | ||
2753 | 1846 | <label index="sag">Sango-Sprache</label> | ||
2754 | 1847 | <label index="sah">Jakutisch</label> | ||
2755 | 1848 | <label index="sai">Südamerikanische Indianersprachen</label> | ||
2756 | 1849 | <label index="sal">Salish-Sprache</label> | ||
2757 | 1850 | <label index="sam">Samaritanisch</label> | ||
2758 | 1851 | <label index="san">Sanskrit</label> | ||
2759 | 1852 | <label index="sas">Sasak</label> | ||
2760 | 1853 | <label index="sat">Santālī</label> | ||
2761 | 1854 | <label index="scn">Sizilianisch</label> | ||
2762 | 1855 | <label index="sco">Schottisch</label> | ||
2763 | 1856 | <label index="sel">Selkupisch</label> | ||
2764 | 1857 | <label index="sem">Semitische Sprachen</label> | ||
2765 | 1858 | <label index="sga">Altirisch (bis 900)</label> | ||
2766 | 1859 | <label index="sgn">Zeichensprachen</label> | ||
2767 | 1860 | <label index="shn">Schan-Sprache</label> | ||
2768 | 1861 | <label index="sid">Sidamo-Sprache</label> | ||
2769 | 1862 | <label index="sin">Singhalesisch</label> | ||
2770 | 1863 | <label index="sio">Sioux-Sprachen</label> | ||
2771 | 1864 | <label index="sit">Sinotibetische Sprachen</label> | ||
2772 | 1865 | <label index="sla">Slawische Sprachen</label> | ||
2773 | 1866 | <label index="slo">Slowakisch</label> | ||
2774 | 1867 | <label index="slv">Slowenisch</label> | ||
2775 | 1868 | <label index="sma">Südsaamisch</label> | ||
2776 | 1869 | <label index="sme">Nordsaamisch</label> | ||
2777 | 1870 | <label index="smi">Saamisch</label> | ||
2778 | 1871 | <label index="smj">Lulesaamisch</label> | ||
2779 | 1872 | <label index="smn">Inarisaamisch</label> | ||
2780 | 1873 | <label index="smo">Samoanisch</label> | ||
2781 | 1874 | <label index="sms">Skoltsaamisch</label> | ||
2782 | 1875 | <label index="sna">Schona-Sprache</label> | ||
2783 | 1876 | <label index="snd">Sindhi-Sprache</label> | ||
2784 | 1877 | <label index="snk">Soninke-Sprache</label> | ||
2785 | 1878 | <label index="sog">Sogdisch</label> | ||
2786 | 1879 | <label index="som">Somali</label> | ||
2787 | 1880 | <label index="son">Songhai-Sprache</label> | ||
2788 | 1881 | <label index="sot">Süd-Sotho-Sprache</label> | ||
2789 | 1882 | <label index="spa">Spanisch</label> | ||
2790 | 1883 | <label index="srd">Sardisch</label> | ||
2791 | 1884 | <label index="srn">Sranantongo</label> | ||
2792 | 1885 | <label index="srp">Serbisch</label> | ||
2793 | 1886 | <label index="srr">Serer-Sprache</label> | ||
2794 | 1887 | <label index="ssa">Nilosaharanische Sprachen</label> | ||
2795 | 1888 | <label index="ssw">Swasi-Sprache</label> | ||
2796 | 1889 | <label index="suk">Sukuma-Sprache</label> | ||
2797 | 1890 | <label index="sun">Sundanesisch</label> | ||
2798 | 1891 | <label index="sus">Susu</label> | ||
2799 | 1892 | <label index="sux">Sumerisch</label> | ||
2800 | 1893 | <label index="swa">Swahili</label> | ||
2801 | 1894 | <label index="swe">Schwedisch</label> | ||
2802 | 1895 | <label index="syc">Syrisch</label> | ||
2803 | 1896 | <label index="syr">Neuostaramäisch</label> | ||
2804 | 1897 | <label index="tah">Tahitisch</label> | ||
2805 | 1898 | <label index="tai">Thaisprachen</label> | ||
2806 | 1899 | <label index="tam">Tamil</label> | ||
2807 | 1900 | <label index="tat">Tatarisch</label> | ||
2808 | 1901 | <label index="tel">Telugu-Sprache</label> | ||
2809 | 1902 | <label index="tem">Temne-Sprache</label> | ||
2810 | 1903 | <label index="ter">Tereno-Sprache</label> | ||
2811 | 1904 | <label index="tet">Tetum-Sprache</label> | ||
2812 | 1905 | <label index="tgk">Tadschikisch</label> | ||
2813 | 1906 | <label index="tgl">Tagalog</label> | ||
2814 | 1907 | <label index="tha">Thailändisch</label> | ||
2815 | 1908 | <label index="tib">Tibetisch</label> | ||
2816 | 1909 | <label index="tig">Tigre-Sprache</label> | ||
2817 | 1910 | <label index="tir">Tigrinja-Sprache</label> | ||
2818 | 1911 | <label index="tiv">Tiv-Sprache</label> | ||
2819 | 1912 | <label index="tkl">Tokelauanisch</label> | ||
2820 | 1913 | <label index="tlh">Klingonisch</label> | ||
2821 | 1914 | <label index="tli">Tlingit-Sprache</label> | ||
2822 | 1915 | <label index="tmh">Tamašeq</label> | ||
2823 | 1916 | <label index="tog">Tonga (Bantusprache, Sambia)</label> | ||
2824 | 1917 | <label index="ton">Tongaisch</label> | ||
2825 | 1918 | <label index="tpi">Neumelanesisch</label> | ||
2826 | 1919 | <label index="tsi">Tsimshian-Sprache</label> | ||
2827 | 1920 | <label index="tsn">Tswana-Sprache</label> | ||
2828 | 1921 | <label index="tso">Tsonga-Sprache</label> | ||
2829 | 1922 | <label index="tuk">Turkmenisch</label> | ||
2830 | 1923 | <label index="tum">Tumbuka-Sprache</label> | ||
2831 | 1924 | <label index="tup">Tupi-Sprache</label> | ||
2832 | 1925 | <label index="tur">Türkisch</label> | ||
2833 | 1926 | <label index="tut">Altaische Sprachen</label> | ||
2834 | 1927 | <label index="tvl">Elliceanisch</label> | ||
2835 | 1928 | <label index="twi">Twi-Sprache</label> | ||
2836 | 1929 | <label index="tyv">Tuwinisch</label> | ||
2837 | 1930 | <label index="udm">Udmurtisch</label> | ||
2838 | 1931 | <label index="uga">Ugaritisch</label> | ||
2839 | 1932 | <label index="uig">Uigurisch</label> | ||
2840 | 1933 | <label index="ukr">Ukrainisch</label> | ||
2841 | 1934 | <label index="umb">Mbundu-Sprache</label> | ||
2842 | 1935 | <label index="und">Nicht zu entscheiden</label> | ||
2843 | 1936 | <label index="urd">Urdu</label> | ||
2844 | 1937 | <label index="uzb">Usbekisch</label> | ||
2845 | 1938 | <label index="vai">Vai-Sprache</label> | ||
2846 | 1939 | <label index="ven">Venda-Sprache</label> | ||
2847 | 1940 | <label index="vie">Vietnamesisch</label> | ||
2848 | 1941 | <label index="vol">Volapük</label> | ||
2849 | 1942 | <label index="vot">Wotisch</label> | ||
2850 | 1943 | <label index="wak">Wakash-Sprachen</label> | ||
2851 | 1944 | <label index="wal">Walamo-Sprache</label> | ||
2852 | 1945 | <label index="war">Waray</label> | ||
2853 | 1946 | <label index="was">Washo-Sprache</label> | ||
2854 | 1947 | <label index="wel">Kymrisch</label> | ||
2855 | 1948 | <label index="wen">Sorbisch</label> | ||
2856 | 1949 | <label index="wln">Wallonisch</label> | ||
2857 | 1950 | <label index="wol">Wolof-Sprache</label> | ||
2858 | 1951 | <label index="xal">Kalmückisch</label> | ||
2859 | 1952 | <label index="xho">Xhosa-Sprache</label> | ||
2860 | 1953 | <label index="yao">Yao-Sprache (Bantusprache)</label> | ||
2861 | 1954 | <label index="yap">Yapesisch</label> | ||
2862 | 1955 | <label index="yid">Jiddisch</label> | ||
2863 | 1956 | <label index="yor">Yoruba-Sprache</label> | ||
2864 | 1957 | <label index="ypk">Ypik-Sprachen</label> | ||
2865 | 1958 | <label index="zap">Zapotekisch</label> | ||
2866 | 1959 | <label index="zbl">Bliss-Symbol</label> | ||
2867 | 1960 | <label index="zen">Zenaga</label> | ||
2868 | 1961 | <label index="zha">Zhuang</label> | ||
2869 | 1962 | <label index="znd">Zande-Sprachen</label> | ||
2870 | 1963 | <label index="zul">Zulu-Sprache</label> | ||
2871 | 1964 | <label index="zun">Zuñi-Sprache</label> | ||
2872 | 1965 | <label index="zxx">Kein linguistischer Inhalt</label> | ||
2873 | 1966 | <label index="zza">Zazaki</label> | ||
2874 | 1967 | </languageKey> | ||
2875 | 1968 | </data> | ||
2876 | 1969 | >>>>>>> MERGE-SOURCE | ||
2877 | 984 | </T3locallang> | 1970 | </T3locallang> |
2878 | 985 | \ No newline at end of file | 1971 | \ No newline at end of file |
2879 | 986 | 1972 | ||
2880 | === modified file 'dlf/modules/indexing/index.php' | |||
2881 | === modified file 'dlf/modules/newclient/locallang.xml' | |||
2882 | === modified file 'dlf/modules/newclient/metadata.inc.php' | |||
2883 | --- dlf/modules/newclient/metadata.inc.php 2012-09-27 14:45:04 +0000 | |||
2884 | +++ dlf/modules/newclient/metadata.inc.php 2012-10-10 09:08:30 +0000 | |||
2885 | @@ -347,8 +347,208 @@ | |||
2886 | 347 | 'is_sortable' => 0, | 347 | 'is_sortable' => 0, |
2887 | 348 | 'is_facet' => 0, | 348 | 'is_facet' => 0, |
2888 | 349 | 'is_listed' => 0, | 349 | 'is_listed' => 0, |
2889 | 350 | <<<<<<< TREE | ||
2890 | 350 | 'autocomplete' => 0, | 351 | 'autocomplete' => 0, |
2891 | 351 | ) | 352 | ) |
2892 | 353 | ======= | ||
2893 | 354 | ), | ||
2894 | 355 | 'record_id' => array ( | ||
2895 | 356 | 'encoded' => 1, | ||
2896 | 357 | 'xpath' => './mods:recordInfo/mods:recordIdentifier', | ||
2897 | 358 | 'xpath_sorting' => '', | ||
2898 | 359 | 'default_value' => '', | ||
2899 | 360 | 'wrap' => '', | ||
2900 | 361 | 'tokenized' => 0, | ||
2901 | 362 | 'stored' => 0, | ||
2902 | 363 | 'indexed' => 1, | ||
2903 | 364 | 'boost' => 1.00, | ||
2904 | 365 | 'is_sortable' => 0, | ||
2905 | 366 | 'is_facet' => 0, | ||
2906 | 367 | 'is_listed' => 0, | ||
2907 | 368 | ), | ||
2908 | 369 | 'union_id' => array ( | ||
2909 | 370 | 'encoded' => 1, | ||
2910 | 371 | 'xpath' => './mods:identifier[@type="ppn"]', | ||
2911 | 372 | 'xpath_sorting' => '', | ||
2912 | 373 | 'default_value' => '', | ||
2913 | 374 | 'wrap' => '', | ||
2914 | 375 | 'tokenized' => 0, | ||
2915 | 376 | 'stored' => 0, | ||
2916 | 377 | 'indexed' => 1, | ||
2917 | 378 | 'boost' => 1.00, | ||
2918 | 379 | 'is_sortable' => 0, | ||
2919 | 380 | 'is_facet' => 0, | ||
2920 | 381 | 'is_listed' => 0, | ||
2921 | 382 | ), | ||
2922 | 383 | 'opac_id' => array ( | ||
2923 | 384 | 'encoded' => 1, | ||
2924 | 385 | 'xpath' => './mods:identifier[@type="opac"]', | ||
2925 | 386 | 'xpath_sorting' => '', | ||
2926 | 387 | 'default_value' => '', | ||
2927 | 388 | 'wrap' => '', | ||
2928 | 389 | 'tokenized' => 0, | ||
2929 | 390 | 'stored' => 0, | ||
2930 | 391 | 'indexed' => 1, | ||
2931 | 392 | 'boost' => 1.00, | ||
2932 | 393 | 'is_sortable' => 0, | ||
2933 | 394 | 'is_facet' => 0, | ||
2934 | 395 | 'is_listed' => 0, | ||
2935 | 396 | ), | ||
2936 | 397 | 'urn' => array ( | ||
2937 | 398 | 'encoded' => 1, | ||
2938 | 399 | 'xpath' => './mods:identifier[@type="urn"]', | ||
2939 | 400 | 'xpath_sorting' => '', | ||
2940 | 401 | 'default_value' => '', | ||
2941 | 402 | 'wrap' => "key.wrap = <dt>|</dt>\nvalue.setContentToCurrent = 1\nvalue.typolink.parameter.current = 1\nvalue.typolink.parameter.prepend = TEXT\nvalue.typolink.parameter.prepend.value = http://nbn-resolving.de/\nvalue.wrap = <dd>|</dd>", | ||
2942 | 403 | 'tokenized' => 0, | ||
2943 | 404 | 'stored' => 0, | ||
2944 | 405 | 'indexed' => 1, | ||
2945 | 406 | 'boost' => 1.00, | ||
2946 | 407 | 'is_sortable' => 0, | ||
2947 | 408 | 'is_facet' => 0, | ||
2948 | 409 | 'is_listed' => 0, | ||
2949 | 410 | ), | ||
2950 | 411 | 'purl' => array ( | ||
2951 | 412 | 'encoded' => 1, | ||
2952 | 413 | 'xpath' => './mods:identifier[@type="purl"]', | ||
2953 | 414 | 'xpath_sorting' => '', | ||
2954 | 415 | 'default_value' => '', | ||
2955 | 416 | 'wrap' => "key.wrap = <dt>|</dt>\nvalue.setContentToCurrent = 1\nvalue.typolink.parameter.current = 1\nvalue.wrap = <dd>|</dd>", | ||
2956 | 417 | 'tokenized' => 0, | ||
2957 | 418 | 'stored' => 0, | ||
2958 | 419 | 'indexed' => 0, | ||
2959 | 420 | 'boost' => 1.00, | ||
2960 | 421 | 'is_sortable' => 0, | ||
2961 | 422 | 'is_facet' => 0, | ||
2962 | 423 | 'is_listed' => 0, | ||
2963 | 424 | ), | ||
2964 | 425 | 'owner' => array ( | ||
2965 | 426 | 'encoded' => 1, | ||
2966 | 427 | 'xpath' => './mods:name[./mods:role/mods:roleTerm="own"]/mods:displayForm', | ||
2967 | 428 | 'xpath_sorting' => '', | ||
2968 | 429 | 'default_value' => '', | ||
2969 | 430 | 'wrap' => '', | ||
2970 | 431 | 'tokenized' => 0, | ||
2971 | 432 | 'stored' => 0, | ||
2972 | 433 | 'indexed' => 1, | ||
2973 | 434 | 'boost' => 1.00, | ||
2974 | 435 | 'is_sortable' => 0, | ||
2975 | 436 | 'is_facet' => 1, | ||
2976 | 437 | 'is_listed' => 0, | ||
2977 | 438 | ), | ||
2978 | 439 | 'collection' => array ( | ||
2979 | 440 | 'encoded' => 1, | ||
2980 | 441 | 'xpath' => './mods:relatedItem[@type="series"]/mods:titleInfo/mods:title', | ||
2981 | 442 | 'xpath_sorting' => '', | ||
2982 | 443 | 'default_value' => '', | ||
2983 | 444 | 'wrap' => '', | ||
2984 | 445 | 'tokenized' => 1, | ||
2985 | 446 | 'stored' => 0, | ||
2986 | 447 | 'indexed' => 1, | ||
2987 | 448 | 'boost' => 1.00, | ||
2988 | 449 | 'is_sortable' => 0, | ||
2989 | 450 | 'is_facet' => 1, | ||
2990 | 451 | 'is_listed' => 0, | ||
2991 | 452 | ), | ||
2992 | 453 | 'language' => array ( | ||
2993 | 454 | 'encoded' => 1, | ||
2994 | 455 | 'xpath' => './mods:language/mods:languageTerm', | ||
2995 | 456 | 'xpath_sorting' => '', | ||
2996 | 457 | 'default_value' => '', | ||
2997 | 458 | 'wrap' => '', | ||
2998 | 459 | 'tokenized' => 0, | ||
2999 | 460 | 'stored' => 0, | ||
3000 | 461 | 'indexed' => 1, | ||
3001 | 462 | 'boost' => 1.00, | ||
3002 | 463 | 'is_sortable' => 0, | ||
3003 | 464 | 'is_facet' => 1, | ||
3004 | 465 | 'is_listed' => 0, | ||
3005 | 466 | ), | ||
3006 | 467 | 'year' => array ( | ||
3007 | 468 | 'encoded' => 1, | ||
3008 | 469 | 'xpath' => '', | ||
3009 | 470 | 'xpath_sorting' => '', | ||
3010 | 471 | 'default_value' => '', | ||
3011 | 472 | 'wrap' => '', | ||
3012 | 473 | 'tokenized' => 0, | ||
3013 | 474 | 'stored' => 1, | ||
3014 | 475 | 'indexed' => 1, | ||
3015 | 476 | 'boost' => 1.00, | ||
3016 | 477 | 'is_sortable' => 1, | ||
3017 | 478 | 'is_facet' => 1, | ||
3018 | 479 | 'is_listed' => 1, | ||
3019 | 480 | ), | ||
3020 | 481 | 'place' => array ( | ||
3021 | 482 | 'encoded' => 1, | ||
3022 | 483 | 'xpath' => '', | ||
3023 | 484 | 'xpath_sorting' => '', | ||
3024 | 485 | 'default_value' => '', | ||
3025 | 486 | 'wrap' => '', | ||
3026 | 487 | 'tokenized' => 1, | ||
3027 | 488 | 'stored' => 1, | ||
3028 | 489 | 'indexed' => 1, | ||
3029 | 490 | 'boost' => 1.00, | ||
3030 | 491 | 'is_sortable' => 1, | ||
3031 | 492 | 'is_facet' => 1, | ||
3032 | 493 | 'is_listed' => 1, | ||
3033 | 494 | ), | ||
3034 | 495 | 'author' => array ( | ||
3035 | 496 | 'encoded' => 1, | ||
3036 | 497 | 'xpath' => '', | ||
3037 | 498 | 'xpath_sorting' => '', | ||
3038 | 499 | 'default_value' => '', | ||
3039 | 500 | 'wrap' => '', | ||
3040 | 501 | 'tokenized' => 1, | ||
3041 | 502 | 'stored' => 1, | ||
3042 | 503 | 'indexed' => 1, | ||
3043 | 504 | 'boost' => 2.00, | ||
3044 | 505 | 'is_sortable' => 1, | ||
3045 | 506 | 'is_facet' => 1, | ||
3046 | 507 | 'is_listed' => 1, | ||
3047 | 508 | ), | ||
3048 | 509 | 'volume' => array ( | ||
3049 | 510 | 'encoded' => 1, | ||
3050 | 511 | 'xpath' => './mods:part/mods:detail/mods:number', | ||
3051 | 512 | 'xpath_sorting' => './mods:part[@type="host"]/@order', | ||
3052 | 513 | 'default_value' => '', | ||
3053 | 514 | 'wrap' => '', | ||
3054 | 515 | 'tokenized' => 0, | ||
3055 | 516 | 'stored' => 1, | ||
3056 | 517 | 'indexed' => 0, | ||
3057 | 518 | 'boost' => 1.00, | ||
3058 | 519 | 'is_sortable' => 1, | ||
3059 | 520 | 'is_facet' => 0, | ||
3060 | 521 | 'is_listed' => 1, | ||
3061 | 522 | ), | ||
3062 | 523 | 'title' => array ( | ||
3063 | 524 | 'encoded' => 1, | ||
3064 | 525 | 'xpath' => 'concat(./mods:titleInfo/mods:nonSort," ",./mods:titleInfo/mods:title)', | ||
3065 | 526 | 'xpath_sorting' => './mods:titleInfo/mods:title', | ||
3066 | 527 | 'default_value' => '', | ||
3067 | 528 | 'wrap' => "key.wrap = <dt class=\"tx-dlf-metadata-title\">|</dt>\nvalue.wrap = <dd class=\"tx-dlf-metadata-title\">|</dd>", | ||
3068 | 529 | 'tokenized' => 1, | ||
3069 | 530 | 'stored' => 1, | ||
3070 | 531 | 'indexed' => 1, | ||
3071 | 532 | 'boost' => 2.00, | ||
3072 | 533 | 'is_sortable' => 1, | ||
3073 | 534 | 'is_facet' => 0, | ||
3074 | 535 | 'is_listed' => 1, | ||
3075 | 536 | ), | ||
3076 | 537 | 'type' => array ( | ||
3077 | 538 | 'encoded' => 0, | ||
3078 | 539 | 'xpath' => '', | ||
3079 | 540 | 'xpath_sorting' => '', | ||
3080 | 541 | 'default_value' => '', | ||
3081 | 542 | 'wrap' => "key.wrap = <dt class=\"tx-dlf-metadata-type\">|</dt>\nvalue.wrap = <dd class=\"tx-dlf-metadata-type\">|</dd>", | ||
3082 | 543 | 'tokenized' => 0, | ||
3083 | 544 | 'stored' => 1, | ||
3084 | 545 | 'indexed' => 0, | ||
3085 | 546 | 'boost' => 1.00, | ||
3086 | 547 | 'is_sortable' => 1, | ||
3087 | 548 | 'is_facet' => 1, | ||
3088 | 549 | 'is_listed' => 1, | ||
3089 | 550 | ) | ||
3090 | 551 | >>>>>>> MERGE-SOURCE | ||
3091 | 352 | ); | 552 | ); |
3092 | 353 | 553 | ||
3093 | 354 | ?> | 554 | ?> |
3094 | 355 | \ No newline at end of file | 555 | \ No newline at end of file |
3095 | 356 | 556 | ||
3096 | === modified file 'dlf/plugins/collection/class.tx_dlf_collection.php' | |||
3097 | --- dlf/plugins/collection/class.tx_dlf_collection.php 2012-10-02 07:02:46 +0000 | |||
3098 | +++ dlf/plugins/collection/class.tx_dlf_collection.php 2012-10-10 09:08:30 +0000 | |||
3099 | @@ -1,6 +1,6 @@ | |||
3100 | 1 | <?php | 1 | <?php |
3101 | 2 | /*************************************************************** | 2 | /*************************************************************** |
3103 | 3 | * Copyright notice | 3 | * Copyright notice |
3104 | 4 | * | 4 | * |
3105 | 5 | * (c) 2011 Sebastian Meyer <sebastian.meyer@slub-dresden.de> | 5 | * (c) 2011 Sebastian Meyer <sebastian.meyer@slub-dresden.de> |
3106 | 6 | * All rights reserved | 6 | * All rights reserved |
3107 | @@ -28,13 +28,13 @@ | |||
3108 | 28 | 28 | ||
3109 | 29 | /** | 29 | /** |
3110 | 30 | * Plugin 'DLF: Collection' for the 'dlf' extension. | 30 | * Plugin 'DLF: Collection' for the 'dlf' extension. |
3118 | 31 | * | 31 | * |
3119 | 32 | * @author Sebastian Meyer <sebastian.meyer@slub-dresden.de> | 32 | * @author Sebastian Meyer <sebastian.meyer@slub-dresden.de> |
3120 | 33 | * @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden | 33 | * @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden |
3121 | 34 | * @package TYPO3 | 34 | * @package TYPO3 |
3122 | 35 | * @subpackage tx_dlf | 35 | * @subpackage tx_dlf |
3123 | 36 | * @access public | 36 | * @access public |
3124 | 37 | */ | 37 | */ |
3125 | 38 | class tx_dlf_collection extends tx_dlf_plugin { | 38 | class tx_dlf_collection extends tx_dlf_plugin { |
3126 | 39 | 39 | ||
3127 | 40 | public $scriptRelPath = 'plugins/collection/class.tx_dlf_collection.php'; | 40 | public $scriptRelPath = 'plugins/collection/class.tx_dlf_collection.php'; |
3128 | @@ -53,9 +53,15 @@ | |||
3129 | 53 | 53 | ||
3130 | 54 | $this->init($conf); | 54 | $this->init($conf); |
3131 | 55 | 55 | ||
3132 | 56 | <<<<<<< TREE | ||
3133 | 56 | // Turn cache on. | 57 | // Turn cache on. |
3134 | 57 | $this->setCache(TRUE); | 58 | $this->setCache(TRUE); |
3135 | 58 | 59 | ||
3136 | 60 | ======= | ||
3137 | 61 | // Disable caching for this plugin. | ||
3138 | 62 | $this->setCache(FALSE); | ||
3139 | 63 | |||
3140 | 64 | >>>>>>> MERGE-SOURCE | ||
3141 | 59 | // Quit without doing anything if required configuration variables are not set. | 65 | // Quit without doing anything if required configuration variables are not set. |
3142 | 60 | if (empty($this->conf['pages'])) { | 66 | if (empty($this->conf['pages'])) { |
3143 | 61 | 67 | ||
3144 | @@ -122,10 +128,20 @@ | |||
3145 | 122 | 128 | ||
3146 | 123 | } | 129 | } |
3147 | 124 | 130 | ||
3149 | 125 | // Should user-defined collections be shown, too? | 131 | // Should user-defined or indexed collections be shown? |
3150 | 126 | if ($this->conf['show_userdefined']) { | 132 | if ($this->conf['show_userdefined']) { |
3151 | 127 | 133 | ||
3153 | 128 | $additionalWhere .= ' AND NOT tx_dlf_collections.fe_cruser_id=0'; | 134 | $userId = $GLOBALS['TSFE']->fe_user->user['uid']; |
3154 | 135 | |||
3155 | 136 | if ($userId) { | ||
3156 | 137 | |||
3157 | 138 | $additionalWhere .= ' AND tx_dlf_collections.fe_cruser_id='.intval($userId); | ||
3158 | 139 | |||
3159 | 140 | } else { | ||
3160 | 141 | |||
3161 | 142 | $additionalWhere .= ' AND tx_dlf_collections.fe_cruser_id!=0'; | ||
3162 | 143 | |||
3163 | 144 | } | ||
3164 | 129 | 145 | ||
3165 | 130 | } else { | 146 | } else { |
3166 | 131 | 147 | ||
3167 | @@ -135,14 +151,15 @@ | |||
3168 | 135 | 151 | ||
3169 | 136 | // Get collections. | 152 | // Get collections. |
3170 | 137 | $result = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( | 153 | $result = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( |
3179 | 138 | 'tx_dlf_collections.uid AS uid,tx_dlf_collections.label AS label,tx_dlf_collections.description AS description,COUNT(tx_dlf_documents.uid) AS titles', | 154 | 'tx_dlf_collections.uid AS uid,tx_dlf_collections.label AS label,tx_dlf_collections.description AS description,COUNT(tx_dlf_documents.uid) AS titles', |
3180 | 139 | 'tx_dlf_documents', | 155 | 'tx_dlf_documents', |
3181 | 140 | 'tx_dlf_relations', | 156 | 'tx_dlf_relations', |
3182 | 141 | 'tx_dlf_collections', | 157 | 'tx_dlf_collections', |
3183 | 142 | 'AND tx_dlf_collections.pid='.intval($this->conf['pages']).' AND tx_dlf_documents.partof=0'.$additionalWhere.tx_dlf_helper::whereClause('tx_dlf_documents').tx_dlf_helper::whereClause('tx_dlf_collections'), | 158 | 'AND tx_dlf_collections.pid='.intval($this->conf['pages']).' AND tx_dlf_documents.partof=0' |
3184 | 143 | 'tx_dlf_collections.uid', | 159 | .$additionalWhere.tx_dlf_helper::whereClause('tx_dlf_documents').tx_dlf_helper::whereClause('tx_dlf_collections'), |
3185 | 144 | $orderBy, | 160 | 'tx_dlf_collections.uid', |
3186 | 145 | '' | 161 | $orderBy, |
3187 | 162 | '' | ||
3188 | 146 | ); | 163 | ); |
3189 | 147 | 164 | ||
3190 | 148 | $count = $GLOBALS['TYPO3_DB']->sql_num_rows($result); | 165 | $count = $GLOBALS['TYPO3_DB']->sql_num_rows($result); |
3191 | @@ -159,14 +176,14 @@ | |||
3192 | 159 | 176 | ||
3193 | 160 | // Get number of volumes per collection. | 177 | // Get number of volumes per collection. |
3194 | 161 | $resultVolumes = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( | 178 | $resultVolumes = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( |
3203 | 162 | 'tx_dlf_collections.uid AS uid,COUNT(tx_dlf_documents.uid) AS volumes', | 179 | 'tx_dlf_collections.uid AS uid,COUNT(tx_dlf_documents.uid) AS volumes', |
3204 | 163 | 'tx_dlf_documents', | 180 | 'tx_dlf_documents', |
3205 | 164 | 'tx_dlf_relations', | 181 | 'tx_dlf_relations', |
3206 | 165 | 'tx_dlf_collections', | 182 | 'tx_dlf_collections', |
3207 | 166 | 'AND tx_dlf_collections.pid='.intval($this->conf['pages']).' AND NOT tx_dlf_documents.uid IN (SELECT DISTINCT tx_dlf_documents.partof FROM tx_dlf_documents WHERE NOT tx_dlf_documents.partof=0'.tx_dlf_helper::whereClause('tx_dlf_documents').')'.$additionalWhere.tx_dlf_helper::whereClause('tx_dlf_documents').tx_dlf_helper::whereClause('tx_dlf_collections'), | 183 | 'AND tx_dlf_collections.pid='.intval($this->conf['pages']).' AND NOT tx_dlf_documents.uid IN (SELECT DISTINCT tx_dlf_documents.partof FROM tx_dlf_documents WHERE NOT tx_dlf_documents.partof=0'.tx_dlf_helper::whereClause('tx_dlf_documents').')'.$additionalWhere.tx_dlf_helper::whereClause('tx_dlf_documents').tx_dlf_helper::whereClause('tx_dlf_collections'), |
3208 | 167 | 'tx_dlf_collections.uid', | 184 | 'tx_dlf_collections.uid', |
3209 | 168 | '', | 185 | '', |
3210 | 169 | '' | 186 | '' |
3211 | 170 | ); | 187 | ); |
3212 | 171 | 188 | ||
3213 | 172 | $volumes = array (); | 189 | $volumes = array (); |
3214 | @@ -261,6 +278,7 @@ | |||
3215 | 261 | 278 | ||
3216 | 262 | // Get all documents in collection. | 279 | // Get all documents in collection. |
3217 | 263 | $result = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( | 280 | $result = $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query( |
3218 | 281 | <<<<<<< TREE | ||
3219 | 264 | 'tx_dlf_collections.index_name AS index_name,tx_dlf_collections.label AS collLabel,tx_dlf_collections.description AS collDesc,tx_dlf_documents.uid AS uid,tx_dlf_documents.thumbnail AS thumbnail,tx_dlf_documents.metadata AS metadata,tx_dlf_documents.metadata_sorting AS metadata_sorting,tx_dlf_documents.volume_sorting AS volume_sorting,tx_dlf_documents.partof AS partof', | 282 | 'tx_dlf_collections.index_name AS index_name,tx_dlf_collections.label AS collLabel,tx_dlf_collections.description AS collDesc,tx_dlf_documents.uid AS uid,tx_dlf_documents.thumbnail AS thumbnail,tx_dlf_documents.metadata AS metadata,tx_dlf_documents.metadata_sorting AS metadata_sorting,tx_dlf_documents.volume_sorting AS volume_sorting,tx_dlf_documents.partof AS partof', |
3220 | 265 | 'tx_dlf_documents', | 283 | 'tx_dlf_documents', |
3221 | 266 | 'tx_dlf_relations', | 284 | 'tx_dlf_relations', |
3222 | @@ -269,6 +287,16 @@ | |||
3223 | 269 | '', | 287 | '', |
3224 | 270 | 'tx_dlf_documents.title_sorting ASC', | 288 | 'tx_dlf_documents.title_sorting ASC', |
3225 | 271 | '' | 289 | '' |
3226 | 290 | ======= | ||
3227 | 291 | 'tx_dlf_collections.label AS collLabel,tx_dlf_collections.description AS collDesc,tx_dlf_documents.uid AS uid,tx_dlf_documents.title AS title,tx_dlf_documents.volume AS volume,tx_dlf_documents.volume_sorting AS volume_sorting,tx_dlf_documents.author AS author,tx_dlf_documents.place AS place,tx_dlf_documents.year AS year,tx_dlf_documents.structure AS type,tx_dlf_documents.partof AS partof', | ||
3228 | 292 | 'tx_dlf_documents', | ||
3229 | 293 | 'tx_dlf_relations', | ||
3230 | 294 | 'tx_dlf_collections', | ||
3231 | 295 | 'AND tx_dlf_collections.uid='.intval($id).' AND tx_dlf_collections.pid='.intval($this->conf['pages']).tx_dlf_helper::whereClause('tx_dlf_documents').tx_dlf_helper::whereClause('tx_dlf_collections'), | ||
3232 | 296 | '', | ||
3233 | 297 | 'tx_dlf_documents.title_sorting ASC', | ||
3234 | 298 | '' | ||
3235 | 299 | >>>>>>> MERGE-SOURCE | ||
3236 | 272 | ); | 300 | ); |
3237 | 273 | 301 | ||
3238 | 274 | $toplevel = array (); | 302 | $toplevel = array (); |
3239 | @@ -280,6 +308,7 @@ | |||
3240 | 280 | 308 | ||
3241 | 281 | if (empty($listMetadata)) { | 309 | if (empty($listMetadata)) { |
3242 | 282 | 310 | ||
3243 | 311 | <<<<<<< TREE | ||
3244 | 283 | $listMetadata = array ( | 312 | $listMetadata = array ( |
3245 | 284 | 'label' => htmlspecialchars($resArray['collLabel']), | 313 | 'label' => htmlspecialchars($resArray['collLabel']), |
3246 | 285 | 'description' => $this->pi_RTEcssText($resArray['collDesc']), | 314 | 'description' => $this->pi_RTEcssText($resArray['collDesc']), |
3247 | @@ -290,6 +319,16 @@ | |||
3248 | 290 | 'order' => 'title', | 319 | 'order' => 'title', |
3249 | 291 | 'order.asc' => TRUE | 320 | 'order.asc' => TRUE |
3250 | 292 | ) | 321 | ) |
3251 | 322 | ======= | ||
3252 | 323 | $_metadata = array ( | ||
3253 | 324 | 'label' => htmlspecialchars($resArray['collLabel']), | ||
3254 | 325 | 'description' => $this->pi_RTEcssText($resArray['collDesc']), | ||
3255 | 326 | 'options' => array ( | ||
3256 | 327 | 'source' => 'collection', | ||
3257 | 328 | 'select' => $id, | ||
3258 | 329 | 'order' => 'title' | ||
3259 | 330 | ) | ||
3260 | 331 | >>>>>>> MERGE-SOURCE | ||
3261 | 293 | ); | 332 | ); |
3262 | 294 | 333 | ||
3263 | 295 | } | 334 | } |
3264 | @@ -348,22 +387,45 @@ | |||
3265 | 348 | if ($resArray['partof'] == 0) { | 387 | if ($resArray['partof'] == 0) { |
3266 | 349 | 388 | ||
3267 | 350 | $toplevel[$resArray['uid']] = array ( | 389 | $toplevel[$resArray['uid']] = array ( |
3268 | 390 | <<<<<<< TREE | ||
3269 | 351 | 'uid' => $resArray['uid'], | 391 | 'uid' => $resArray['uid'], |
3270 | 352 | 'page' => 1, | 392 | 'page' => 1, |
3271 | 353 | 'thumbnail' => $resArray['thumbnail'], | 393 | 'thumbnail' => $resArray['thumbnail'], |
3272 | 354 | 'metadata' => $metadata, | 394 | 'metadata' => $metadata, |
3273 | 355 | 'sorting' => $sorting, | 395 | 'sorting' => $sorting, |
3274 | 356 | 'subparts' => array () | 396 | 'subparts' => array () |
3275 | 397 | ======= | ||
3276 | 398 | 'uid' => $resArray['uid'], | ||
3277 | 399 | 'page' => 1, | ||
3278 | 400 | 'title' => array ($resArray['title']), | ||
3279 | 401 | 'volume' => array ($resArray['volume']), | ||
3280 | 402 | 'author' => array ($resArray['author']), | ||
3281 | 403 | 'year' => array ($resArray['year']), | ||
3282 | 404 | 'place' => array ($resArray['place']), | ||
3283 | 405 | 'type' => array (tx_dlf_helper::getIndexName($resArray['type'], 'tx_dlf_structures', $this->conf['pages'])), | ||
3284 | 406 | 'subparts' => array () | ||
3285 | 407 | >>>>>>> MERGE-SOURCE | ||
3286 | 357 | ); | 408 | ); |
3287 | 358 | 409 | ||
3288 | 359 | } else { | 410 | } else { |
3289 | 360 | 411 | ||
3290 | 361 | $subparts[$resArray['partof']][$resArray['volume_sorting']] = array ( | 412 | $subparts[$resArray['partof']][$resArray['volume_sorting']] = array ( |
3291 | 413 | <<<<<<< TREE | ||
3292 | 362 | 'uid' => $resArray['uid'], | 414 | 'uid' => $resArray['uid'], |
3293 | 363 | 'page' => 1, | 415 | 'page' => 1, |
3294 | 364 | 'thumbnail' => $resArray['thumbnail'], | 416 | 'thumbnail' => $resArray['thumbnail'], |
3295 | 365 | 'metadata' => $metadata, | 417 | 'metadata' => $metadata, |
3296 | 366 | 'sorting' => $sorting | 418 | 'sorting' => $sorting |
3297 | 419 | ======= | ||
3298 | 420 | 'uid' => $resArray['uid'], | ||
3299 | 421 | 'page' => 1, | ||
3300 | 422 | 'title' => array ($resArray['title']), | ||
3301 | 423 | 'volume' => array ($resArray['volume']), | ||
3302 | 424 | 'author' => array ($resArray['author']), | ||
3303 | 425 | 'year' => array ($resArray['year']), | ||
3304 | 426 | 'place' => array ($resArray['place']), | ||
3305 | 427 | 'type' => array (tx_dlf_helper::getIndexName($resArray['type'], 'tx_dlf_structures', $this->conf['pages'])) | ||
3306 | 428 | >>>>>>> MERGE-SOURCE | ||
3307 | 367 | ); | 429 | ); |
3308 | 368 | 430 | ||
3309 | 369 | } | 431 | } |
3310 | 370 | 432 | ||
3311 | === added file 'dlf/plugins/collection/edit_collection.tmpl' | |||
3312 | --- dlf/plugins/collection/edit_collection.tmpl 1970-01-01 00:00:00 +0000 | |||
3313 | +++ dlf/plugins/collection/edit_collection.tmpl 2012-10-10 09:08:30 +0000 | |||
3314 | @@ -0,0 +1,32 @@ | |||
3315 | 1 | <!-- ###TEMPLATE### --> | ||
3316 | 2 | <div class="modal fade" id="###ACTION###"> | ||
3317 | 3 | <div class="modal-header"> | ||
3318 | 4 | <a class="close" data-dismiss="modal">×</a> | ||
3319 | 5 | <h3>###ACTION_LABEL###</h3> | ||
3320 | 6 | </div> | ||
3321 | 7 | <div class="modal-body"> | ||
3322 | 8 | <form class="form-horizontal" action="###ACTION_URL###" method="post"> | ||
3323 | 9 | <fieldset> | ||
3324 | 10 | <div class="control-group"> | ||
3325 | 11 | <label class="control-label" for="###COLLECTION_NAME###">>###COLLECTION_NAME_LABEL###</label> | ||
3326 | 12 | <div class="controls"> | ||
3327 | 13 | <input type="text" class="input-xlarge" id="###COLLECTION_NAME###" | ||
3328 | 14 | name="###COLLECTION_NAME###" value="###COLLECTION_NAME_VALUE###"> | ||
3329 | 15 | </div> | ||
3330 | 16 | </div> | ||
3331 | 17 | <div class="control-group"> | ||
3332 | 18 | <label class="control-label" for="###COLLECTION_DESC###">>###COLLECTION_DESC_LABEL###</label> | ||
3333 | 19 | <div class="controls"> | ||
3334 | 20 | <textarea class="input-xlarge" id="###COLLECTION_DESC###" | ||
3335 | 21 | name="###COLLECTION_DESC###" rows="5">###COLLECTION_DESC_VALUE###</textarea> | ||
3336 | 22 | </div> | ||
3337 | 23 | </div> | ||
3338 | 24 | <div class="form-actions"> | ||
3339 | 25 | <button type="submit" class="btn btn-primary">###SUBMIT_LABEL###</button> | ||
3340 | 26 | <button class="btn">###CANCEL_LABEL###</button> | ||
3341 | 27 | </div> | ||
3342 | 28 | </fieldset> | ||
3343 | 29 | </form> | ||
3344 | 30 | </div> | ||
3345 | 31 | </div> | ||
3346 | 32 | <!-- ###TEMPLATE### --> | ||
3347 | 0 | \ No newline at end of file | 33 | \ No newline at end of file |
3348 | 1 | 34 | ||
3349 | === modified file 'dlf/plugins/collection/locallang.xml' | |||
3350 | --- dlf/plugins/collection/locallang.xml 2011-08-27 16:52:55 +0000 | |||
3351 | +++ dlf/plugins/collection/locallang.xml 2012-10-10 09:08:30 +0000 | |||
3352 | @@ -18,6 +18,19 @@ | |||
3353 | 18 | <label index="volumes"> volumes</label> | 18 | <label index="volumes"> volumes</label> |
3354 | 19 | <label index="feedAlt">RSS feed</label> | 19 | <label index="feedAlt">RSS feed</label> |
3355 | 20 | <label index="feedTitle">Subscribe to the RSS feed of this collection!</label> | 20 | <label index="feedTitle">Subscribe to the RSS feed of this collection!</label> |
3356 | 21 | <label index="individual_collections.new_collection">Create new collection</label> | ||
3357 | 22 | <label index="individual_collections.new_collection.ok">Create collection</label> | ||
3358 | 23 | <label index="individual_collections.edit_collection">Edit collection</label> | ||
3359 | 24 | <label index="individual_collections.edit_collection.ok">Save changes</label> | ||
3360 | 25 | <label index="individual_collections.delete_collection">Delete collection</label> | ||
3361 | 26 | <label index="individual_collections.delete_collection.done">Collection removed</label> | ||
3362 | 27 | <label index="individual_collections.delete_collection.done.sub">The collection "%s" has been deleted.</label> | ||
3363 | 28 | <label index="individual_collections.cancel">Cancel</label> | ||
3364 | 29 | <label index="individual_collections.add">Add to "%s"</label> | ||
3365 | 30 | <label index="individual_collections.remove">Remove from "%s"</label> | ||
3366 | 31 | <label index="individual_collections.remove.blank">Remove from this collection</label> | ||
3367 | 32 | <label index="individual_collections.name">Name</label> | ||
3368 | 33 | <label index="individual_collections.desc">Description</label> | ||
3369 | 21 | </languageKey> | 34 | </languageKey> |
3370 | 22 | <languageKey index="de" type="array"> | 35 | <languageKey index="de" type="array"> |
3371 | 23 | <label index="tt_content.pi_flexform.sheet_general">Einstellungen</label> | 36 | <label index="tt_content.pi_flexform.sheet_general">Einstellungen</label> |
3372 | @@ -32,6 +45,19 @@ | |||
3373 | 32 | <label index="volumes"> Bände</label> | 45 | <label index="volumes"> Bände</label> |
3374 | 33 | <label index="feedAlt">RSS-Feed</label> | 46 | <label index="feedAlt">RSS-Feed</label> |
3375 | 34 | <label index="feedTitle">Abonnieren Sie den RSS-Feed dieser Kollektion!</label> | 47 | <label index="feedTitle">Abonnieren Sie den RSS-Feed dieser Kollektion!</label> |
3376 | 48 | <label index="individual_collections.new_collection">Neue Sammlung erstellen</label> | ||
3377 | 49 | <label index="individual_collections.new_collection.ok">Neue Sammlung erstellen</label> | ||
3378 | 50 | <label index="individual_collections.edit_collection">Sammlung bearbeiten</label> | ||
3379 | 51 | <label index="individual_collections.edit_collection.ok">Änderungen speichern</label> | ||
3380 | 52 | <label index="individual_collections.delete_collection">Sammlung entfernen</label> | ||
3381 | 53 | <label index="individual_collections.delete_collection.done">Sammlung enfernt</label> | ||
3382 | 54 | <label index="individual_collections.delete_collection.done.sub">Die Sammlung "%s" wurde gelöscht.</label> | ||
3383 | 55 | <label index="individual_collections.cancel">Abbrechen</label> | ||
3384 | 56 | <label index="individual_collections.add">Zu "%s" hinzufügen</label> | ||
3385 | 57 | <label index="individual_collections.remove">Aus "%s" entfernen</label> | ||
3386 | 58 | <label index="individual_collections.remove.blank">Aus dieser Sammlung entfernen</label> | ||
3387 | 59 | <label index="individual_collections.name">Name</label> | ||
3388 | 60 | <label index="individual_collections.desc">Beschreibung</label> | ||
3389 | 35 | </languageKey> | 61 | </languageKey> |
3390 | 36 | </data> | 62 | </data> |
3391 | 37 | </T3locallang> | 63 | </T3locallang> |
3392 | 38 | \ No newline at end of file | 64 | \ No newline at end of file |
3393 | 39 | 65 | ||
3394 | === modified file 'dlf/plugins/listview/class.tx_dlf_listview.php' | |||
3395 | --- dlf/plugins/listview/class.tx_dlf_listview.php 2012-10-02 07:02:46 +0000 | |||
3396 | +++ dlf/plugins/listview/class.tx_dlf_listview.php 2012-10-10 09:08:30 +0000 | |||
3397 | @@ -1,6 +1,6 @@ | |||
3398 | 1 | <?php | 1 | <?php |
3399 | 2 | /*************************************************************** | 2 | /*************************************************************** |
3401 | 3 | * Copyright notice | 3 | * Copyright notice |
3402 | 4 | * | 4 | * |
3403 | 5 | * (c) 2011 Sebastian Meyer <sebastian.meyer@slub-dresden.de> | 5 | * (c) 2011 Sebastian Meyer <sebastian.meyer@slub-dresden.de> |
3404 | 6 | * All rights reserved | 6 | * All rights reserved |
3405 | @@ -28,6 +28,7 @@ | |||
3406 | 28 | 28 | ||
3407 | 29 | /** | 29 | /** |
3408 | 30 | * Plugin 'DLF: List View' for the 'dlf' extension. | 30 | * Plugin 'DLF: List View' for the 'dlf' extension. |
3409 | 31 | <<<<<<< TREE | ||
3410 | 31 | * | 32 | * |
3411 | 32 | * @author Sebastian Meyer <sebastian.meyer@slub-dresden.de>, Henrik Lochmann <dev@mentalmotive.com> | 33 | * @author Sebastian Meyer <sebastian.meyer@slub-dresden.de>, Henrik Lochmann <dev@mentalmotive.com> |
3412 | 33 | * @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden | 34 | * @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden |
3413 | @@ -35,6 +36,15 @@ | |||
3414 | 35 | * @subpackage tx_dlf | 36 | * @subpackage tx_dlf |
3415 | 36 | * @access public | 37 | * @access public |
3416 | 37 | */ | 38 | */ |
3417 | 39 | ======= | ||
3418 | 40 | * | ||
3419 | 41 | * @author Sebastian Meyer <sebastian.meyer@slub-dresden.de> | ||
3420 | 42 | * @copyright Copyright (c) 2011, Sebastian Meyer, SLUB Dresden | ||
3421 | 43 | * @package TYPO3 | ||
3422 | 44 | * @subpackage tx_dlf | ||
3423 | 45 | * @access public | ||
3424 | 46 | */ | ||
3425 | 47 | >>>>>>> MERGE-SOURCE | ||
3426 | 38 | class tx_dlf_listview extends tx_dlf_plugin { | 48 | class tx_dlf_listview extends tx_dlf_plugin { |
3427 | 39 | 49 | ||
3428 | 40 | public $scriptRelPath = 'plugins/listview/class.tx_dlf_listview.php'; | 50 | public $scriptRelPath = 'plugins/listview/class.tx_dlf_listview.php'; |
3429 | @@ -158,10 +168,34 @@ | |||
3430 | 158 | 168 | ||
3431 | 159 | $markerArray['###METADATA###'] = ''; | 169 | $markerArray['###METADATA###'] = ''; |
3432 | 160 | 170 | ||
3433 | 171 | <<<<<<< TREE | ||
3434 | 161 | $markerArray['###THUMBNAIL###'] = ''; | 172 | $markerArray['###THUMBNAIL###'] = ''; |
3435 | 162 | 173 | ||
3436 | 174 | ======= | ||
3437 | 175 | // Process entry action hooks. | ||
3438 | 176 | $hookObjects = tx_dlf_helper::getHookObjects(get_called_class()); | ||
3439 | 177 | |||
3440 | 178 | foreach($hookObjects as $hookObj) { | ||
3441 | 179 | |||
3442 | 180 | if (method_exists($hookObj, 'getEntry_fillEntryActions')) { | ||
3443 | 181 | |||
3444 | 182 | $markerArray['###ENTRY_ACTIONS###'] = $hookObj->getEntry_fillEntryActions($this, $this->list->elements[$number]); | ||
3445 | 183 | |||
3446 | 184 | } | ||
3447 | 185 | |||
3448 | 186 | } | ||
3449 | 187 | |||
3450 | 188 | // Ensure marker is processed. | ||
3451 | 189 | if ($markerArray['###ENTRY_ACTIONS###'] == NULL) { | ||
3452 | 190 | |||
3453 | 191 | $markerArray['###ENTRY_ACTIONS###'] = ''; | ||
3454 | 192 | |||
3455 | 193 | } | ||
3456 | 194 | |||
3457 | 195 | >>>>>>> MERGE-SOURCE | ||
3458 | 163 | $subpart = ''; | 196 | $subpart = ''; |
3459 | 164 | 197 | ||
3460 | 198 | <<<<<<< TREE | ||
3461 | 165 | $imgAlt = ''; | 199 | $imgAlt = ''; |
3462 | 166 | 200 | ||
3463 | 167 | $metadata = $this->list->elements[$number]['metadata']; | 201 | $metadata = $this->list->elements[$number]['metadata']; |
3464 | @@ -235,6 +269,75 @@ | |||
3465 | 235 | $field .= $parsedValue; | 269 | $field .= $parsedValue; |
3466 | 236 | 270 | ||
3467 | 237 | $markerArray['###METADATA###'] .= $this->cObj->stdWrap($field, $fieldwrap['all.']); | 271 | $markerArray['###METADATA###'] .= $this->cObj->stdWrap($field, $fieldwrap['all.']); |
3468 | 272 | ======= | ||
3469 | 273 | foreach ($this->metadata as $_index_name => $_wrap) { | ||
3470 | 274 | |||
3471 | 275 | $hasValue = FALSE; | ||
3472 | 276 | |||
3473 | 277 | if (is_array($this->list->elements[$number][$_index_name]) && !empty($this->labels[$_index_name])) { | ||
3474 | 278 | |||
3475 | 279 | $fieldwrap = $this->parseTS($_wrap); | ||
3476 | 280 | |||
3477 | 281 | $field = $this->cObj->stdWrap(htmlspecialchars($this->labels[$_index_name]), $fieldwrap['key.']); | ||
3478 | 282 | |||
3479 | 283 | foreach ($this->list->elements[$number][$_index_name] as $_value) { | ||
3480 | 284 | |||
3481 | 285 | // Link title to pageview. | ||
3482 | 286 | if ($_index_name == 'title') { | ||
3483 | 287 | |||
3484 | 288 | // Get title of parent document if needed. | ||
3485 | 289 | if (empty($_value) && $this->conf['getTitle']) { | ||
3486 | 290 | |||
3487 | 291 | $_value = '['.tx_dlf_document::getTitle($this->list->elements[$number]['uid'], TRUE).']'; | ||
3488 | 292 | |||
3489 | 293 | } | ||
3490 | 294 | |||
3491 | 295 | // Set fake title if still not present. | ||
3492 | 296 | if (empty($_value)) { | ||
3493 | 297 | |||
3494 | 298 | $_value = $this->pi_getLL('noTitle'); | ||
3495 | 299 | |||
3496 | 300 | } | ||
3497 | 301 | |||
3498 | 302 | $_value = $this->pi_linkTP(htmlspecialchars($_value), array ($this->prefixId => array ('id' => $this->list->elements[$number]['uid'], 'page' => $this->list->elements[$number]['page'], 'pointer' => $this->piVars['pointer'])), TRUE, $this->conf['targetPid']); | ||
3499 | 303 | |||
3500 | 304 | // Translate name of holding library. | ||
3501 | 305 | } elseif ($_index_name == 'owner' && !empty($_value)) { | ||
3502 | 306 | |||
3503 | 307 | $_value = htmlspecialchars(tx_dlf_helper::translate($_value, 'tx_dlf_libraries', $this->conf['pages'])); | ||
3504 | 308 | |||
3505 | 309 | // Translate document type. | ||
3506 | 310 | } elseif ($_index_name == 'type' && !empty($_value)) { | ||
3507 | 311 | |||
3508 | 312 | $_value = $this->pi_getLL($_value, tx_dlf_helper::translate($_value, 'tx_dlf_structures', $this->conf['pages']), FALSE); | ||
3509 | 313 | |||
3510 | 314 | // Translate ISO 639 language code. | ||
3511 | 315 | } elseif ($_index_name == 'language' && !empty($_value)) { | ||
3512 | 316 | |||
3513 | 317 | $_value = htmlspecialchars(tx_dlf_helper::getLanguageName($_value)); | ||
3514 | 318 | |||
3515 | 319 | } elseif (!empty($_value)) { | ||
3516 | 320 | |||
3517 | 321 | $_value = htmlspecialchars($_value); | ||
3518 | 322 | |||
3519 | 323 | } | ||
3520 | 324 | |||
3521 | 325 | if (!empty($_value)) { | ||
3522 | 326 | |||
3523 | 327 | $field .= $this->cObj->stdWrap($_value, $fieldwrap['value.']); | ||
3524 | 328 | |||
3525 | 329 | $hasValue = TRUE; | ||
3526 | 330 | |||
3527 | 331 | } | ||
3528 | 332 | |||
3529 | 333 | } | ||
3530 | 334 | |||
3531 | 335 | if ($hasValue) { | ||
3532 | 336 | |||
3533 | 337 | $markerArray['###METADATA###'] .= $this->cObj->stdWrap($field, $fieldwrap['all.']); | ||
3534 | 338 | |||
3535 | 339 | } | ||
3536 | 340 | >>>>>>> MERGE-SOURCE | ||
3537 | 238 | 341 | ||
3538 | 239 | } | 342 | } |
3539 | 240 | 343 | ||
3540 | @@ -348,6 +451,7 @@ | |||
3541 | 348 | 451 | ||
3542 | 349 | $markerArray['###SUBMETADATA###'] = ''; | 452 | $markerArray['###SUBMETADATA###'] = ''; |
3543 | 350 | 453 | ||
3544 | 454 | <<<<<<< TREE | ||
3545 | 351 | $markerArray['###SUBTHUMBNAIL###'] = ''; | 455 | $markerArray['###SUBTHUMBNAIL###'] = ''; |
3546 | 352 | 456 | ||
3547 | 353 | $imgAlt = ''; | 457 | $imgAlt = ''; |
3548 | @@ -421,6 +525,75 @@ | |||
3549 | 421 | $field .= $parsedValue; | 525 | $field .= $parsedValue; |
3550 | 422 | 526 | ||
3551 | 423 | $markerArray['###SUBMETADATA###'] .= $this->cObj->stdWrap($field, $fieldwrap['all.']); | 527 | $markerArray['###SUBMETADATA###'] .= $this->cObj->stdWrap($field, $fieldwrap['all.']); |
3552 | 528 | ======= | ||
3553 | 529 | foreach ($this->metadata as $_index_name => $_wrap) { | ||
3554 | 530 | |||
3555 | 531 | $hasValue = FALSE; | ||
3556 | 532 | |||
3557 | 533 | if (is_array($subpart[$_index_name]) && !empty($this->labels[$_index_name])) { | ||
3558 | 534 | |||
3559 | 535 | $fieldwrap = $this->parseTS($_wrap); | ||
3560 | 536 | |||
3561 | 537 | $field = $this->cObj->stdWrap(htmlspecialchars($this->labels[$_index_name]), $fieldwrap['key.']); | ||
3562 | 538 | |||
3563 | 539 | foreach ($subpart[$_index_name] as $_value) { | ||
3564 | 540 | |||
3565 | 541 | // Link title to pageview. | ||
3566 | 542 | if ($_index_name == 'title') { | ||
3567 | 543 | |||
3568 | 544 | // Get title of parent document if needed. | ||
3569 | 545 | if (empty($_value) && $this->conf['getTitle']) { | ||
3570 | 546 | |||
3571 | 547 | $_value = '['.tx_dlf_document::getTitle($subpart['uid'], TRUE).']'; | ||
3572 | 548 | |||
3573 | 549 | } | ||
3574 | 550 | |||
3575 | 551 | // Set fake title if still not present. | ||
3576 | 552 | if (empty($_value)) { | ||
3577 | 553 | |||
3578 | 554 | $_value = $this->pi_getLL('noTitle'); | ||
3579 | 555 | |||
3580 | 556 | } | ||
3581 | 557 | |||
3582 | 558 | $_value = $this->pi_linkTP(htmlspecialchars($_value), array ($this->prefixId => array ('id' => $subpart['uid'], 'page' => $subpart['page'], 'pointer' => $this->piVars['pointer'])), TRUE, $this->conf['targetPid']); | ||
3583 | 559 | |||
3584 | 560 | // Translate name of holding library. | ||
3585 | 561 | } elseif ($_index_name == 'owner' && !empty($_value)) { | ||
3586 | 562 | |||
3587 | 563 | $_value = htmlspecialchars(tx_dlf_helper::translate($_value, 'tx_dlf_libraries', $this->conf['pages'])); | ||
3588 | 564 | |||
3589 | 565 | // Translate document type. | ||
3590 | 566 | } elseif ($_index_name == 'type' && !empty($_value)) { | ||
3591 | 567 | |||
3592 | 568 | $_value = $this->pi_getLL($_value, tx_dlf_helper::translate($_value, 'tx_dlf_structures', $this->conf['pages']), FALSE); | ||
3593 | 569 | |||
3594 | 570 | // Translate ISO 639 language code. | ||
3595 | 571 | } elseif ($_index_name == 'language' && !empty($_value)) { | ||
3596 | 572 | |||
3597 | 573 | $_value = htmlspecialchars(tx_dlf_helper::getLanguageName($_value)); | ||
3598 | 574 | |||
3599 | 575 | } elseif (!empty($_value)) { | ||
3600 | 576 | |||
3601 | 577 | $_value = htmlspecialchars($_value); | ||
3602 | 578 | |||
3603 | 579 | } | ||
3604 | 580 | |||
3605 | 581 | if (!empty($_value)) { | ||
3606 | 582 | |||
3607 | 583 | $field .= $this->cObj->stdWrap($_value, $fieldwrap['value.']); | ||
3608 | 584 | |||
3609 | 585 | $hasValue = TRUE; | ||
3610 | 586 | |||
3611 | 587 | } | ||
3612 | 588 | |||
3613 | 589 | } | ||
3614 | 590 | |||
3615 | 591 | if ($hasValue) { | ||
3616 | 592 | |||
3617 | 593 | $markerArray['###SUBMETADATA###'] .= $this->cObj->stdWrap($field, $fieldwrap['all.']); | ||
3618 | 594 | |||
3619 | 595 | } | ||
3620 | 596 | >>>>>>> MERGE-SOURCE | ||
3621 | 424 | 597 | ||
3622 | 425 | } | 598 | } |
3623 | 426 | 599 | ||
3624 | @@ -450,6 +623,7 @@ | |||
3625 | 450 | */ | 623 | */ |
3626 | 451 | protected function loadConfig() { | 624 | protected function loadConfig() { |
3627 | 452 | 625 | ||
3628 | 626 | <<<<<<< TREE | ||
3629 | 453 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | 627 | $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( |
3630 | 454 | 'tx_dlf_metadata.index_name AS index_name,tx_dlf_metadata.wrap AS wrap,tx_dlf_metadata.is_listed AS is_listed,tx_dlf_metadata.is_sortable AS is_sortable', | 628 | 'tx_dlf_metadata.index_name AS index_name,tx_dlf_metadata.wrap AS wrap,tx_dlf_metadata.is_listed AS is_listed,tx_dlf_metadata.is_sortable AS is_sortable', |
3631 | 455 | 'tx_dlf_metadata', | 629 | 'tx_dlf_metadata', |
3632 | @@ -457,6 +631,23 @@ | |||
3633 | 457 | '', | 631 | '', |
3634 | 458 | 'tx_dlf_metadata.sorting ASC', | 632 | 'tx_dlf_metadata.sorting ASC', |
3635 | 459 | '' | 633 | '' |
3636 | 634 | ======= | ||
3637 | 635 | $this->labels = array ( | ||
3638 | 636 | 'title' => $this->pi_getLL('title', tx_dlf_helper::translate('title', 'tx_dlf_metadata', $this->conf['pages']), TRUE), | ||
3639 | 637 | 'author' => $this->pi_getLL('author', tx_dlf_helper::translate('author', 'tx_dlf_metadata', $this->conf['pages']), TRUE), | ||
3640 | 638 | 'year' => $this->pi_getLL('year', tx_dlf_helper::translate('year', 'tx_dlf_metadata', $this->conf['pages']), TRUE), | ||
3641 | 639 | 'place' => $this->pi_getLL('place', tx_dlf_helper::translate('place', 'tx_dlf_metadata', $this->conf['pages']), TRUE), | ||
3642 | 640 | 'type' => $this->pi_getLL('type', tx_dlf_helper::translate('type', 'tx_dlf_metadata', $this->conf['pages']), TRUE) | ||
3643 | 641 | ); | ||
3644 | 642 | |||
3645 | 643 | $_result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( | ||
3646 | 644 | 'tx_dlf_metadata.index_name AS index_name,tx_dlf_metadata.wrap AS wrap', | ||
3647 | 645 | 'tx_dlf_metadata', | ||
3648 | 646 | 'tx_dlf_metadata.pid='.intval($this->conf['pages']).tx_dlf_helper::whereClause('tx_dlf_metadata'), | ||
3649 | 647 | '', | ||
3650 | 648 | 'tx_dlf_metadata.sorting ASC', | ||
3651 | 649 | '' | ||
3652 | 650 | >>>>>>> MERGE-SOURCE | ||
3653 | 460 | ); | 651 | ); |
3654 | 461 | 652 | ||
3655 | 462 | while ($resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) { | 653 | while ($resArray = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) { |
3656 | @@ -497,6 +688,19 @@ | |||
3657 | 497 | // Don't cache the output. | 688 | // Don't cache the output. |
3658 | 498 | $this->setCache(FALSE); | 689 | $this->setCache(FALSE); |
3659 | 499 | 690 | ||
3660 | 691 | // Process pre rendering hooks. | ||
3661 | 692 | $hookObjects = tx_dlf_helper::getHookObjects(get_called_class()); | ||
3662 | 693 | |||
3663 | 694 | foreach($hookObjects as $hookObj) { | ||
3664 | 695 | |||
3665 | 696 | if (method_exists($hookObj, 'main_preListRendering')) { | ||
3666 | 697 | |||
3667 | 698 | $hookObj->main_preListRendering($this); | ||
3668 | 699 | |||
3669 | 700 | } | ||
3670 | 701 | |||
3671 | 702 | } | ||
3672 | 703 | |||
3673 | 500 | // Load the list. | 704 | // Load the list. |
3674 | 501 | $this->list = t3lib_div::makeInstance('tx_dlf_list'); | 705 | $this->list = t3lib_div::makeInstance('tx_dlf_list'); |
3675 | 502 | 706 | ||
3676 | @@ -581,6 +785,26 @@ | |||
3677 | 581 | 785 | ||
3678 | 582 | } | 786 | } |
3679 | 583 | 787 | ||
3680 | 788 | // Process list action hooks. | ||
3681 | 789 | $hookObjects = tx_dlf_helper::getHookObjects(get_called_class()); | ||
3682 | 790 | |||
3683 | 791 | foreach($hookObjects as $hookObj) { | ||
3684 | 792 | |||
3685 | 793 | if (method_exists($hookObj, 'main_fillListActions')) { | ||
3686 | 794 | |||
3687 | 795 | $markerArray['###LIST_ACTIONS###'] = $hookObj->main_fillListActions($this); | ||
3688 | 796 | |||
3689 | 797 | } | ||
3690 | 798 | |||
3691 | 799 | } | ||
3692 | 800 | |||
3693 | 801 | // Ensure marker is processed. | ||
3694 | 802 | if ($markerArray['###LIST_ACTIONS###'] == NULL) { | ||
3695 | 803 | |||
3696 | 804 | $markerArray['###LIST_ACTIONS###'] = ''; | ||
3697 | 805 | |||
3698 | 806 | } | ||
3699 | 807 | |||
3700 | 584 | $markerArray['###PAGEBROWSER###'] = $this->getPageBrowser(); | 808 | $markerArray['###PAGEBROWSER###'] = $this->getPageBrowser(); |
3701 | 585 | 809 | ||
3702 | 586 | $markerArray['###SORTING###'] = $this->getSortingForm(); | 810 | $markerArray['###SORTING###'] = $this->getSortingForm(); |
3703 | 587 | 811 | ||
3704 | === modified file 'dlf/plugins/listview/template.tmpl' | |||
3705 | --- dlf/plugins/listview/template.tmpl 2012-09-13 17:53:13 +0000 | |||
3706 | +++ dlf/plugins/listview/template.tmpl 2012-10-10 09:08:30 +0000 | |||
3707 | @@ -4,6 +4,7 @@ | |||
3708 | 4 | <p class="tx-dlf-listview-counts">###COUNT###</p> | 4 | <p class="tx-dlf-listview-counts">###COUNT###</p> |
3709 | 5 | ###SORTING### | 5 | ###SORTING### |
3710 | 6 | <p class="tx-dlf-listview-pagebrowser">###PAGEBROWSER###</p> | 6 | <p class="tx-dlf-listview-pagebrowser">###PAGEBROWSER###</p> |
3711 | 7 | ###LIST_ACTIONS### | ||
3712 | 7 | <ol class="tx-dlf-listview-list"> | 8 | <ol class="tx-dlf-listview-list"> |
3713 | 8 | <!-- ###ENTRY### --> | 9 | <!-- ###ENTRY### --> |
3714 | 9 | <li value="###NUMBER###"> | 10 | <li value="###NUMBER###"> |
3715 | @@ -23,6 +24,7 @@ | |||
3716 | 23 | <!-- ###SUBENTRY### --> | 24 | <!-- ###SUBENTRY### --> |
3717 | 24 | </ol> | 25 | </ol> |
3718 | 25 | <!-- ###SUBTEMPLATE### --> | 26 | <!-- ###SUBTEMPLATE### --> |
3719 | 27 | ###ENTRY_ACTIONS### | ||
3720 | 26 | </li> | 28 | </li> |
3721 | 27 | <!-- ###ENTRY### --> | 29 | <!-- ###ENTRY### --> |
3722 | 28 | </ol> | 30 | </ol> |
3723 | 29 | 31 | ||
3724 | === modified file 'dlf/plugins/search/class.tx_dlf_search.php' | |||
3725 | --- dlf/plugins/search/class.tx_dlf_search.php 2012-10-02 07:02:46 +0000 | |||
3726 | +++ dlf/plugins/search/class.tx_dlf_search.php 2012-10-10 09:08:30 +0000 | |||
3727 | @@ -418,6 +418,7 @@ | |||
3728 | 418 | 418 | ||
3729 | 419 | } | 419 | } |
3730 | 420 | 420 | ||
3731 | 421 | <<<<<<< TREE | ||
3732 | 421 | // Set last query if applicable. | 422 | // Set last query if applicable. |
3733 | 422 | $lastQuery = ''; | 423 | $lastQuery = ''; |
3734 | 423 | 424 | ||
3735 | @@ -435,17 +436,34 @@ | |||
3736 | 435 | 'forceAbsoluteUrl' => 1 | 436 | 'forceAbsoluteUrl' => 1 |
3737 | 436 | ); | 437 | ); |
3738 | 437 | 438 | ||
3739 | 439 | ======= | ||
3740 | 440 | // Set last query if applicable. | ||
3741 | 441 | $lastQuery = ''; | ||
3742 | 442 | |||
3743 | 443 | $_list = t3lib_div::makeInstance('tx_dlf_list'); | ||
3744 | 444 | |||
3745 | 445 | if (!empty($_list->metadata['options']['source']) && $_list->metadata['options']['source'] == 'search') { | ||
3746 | 446 | |||
3747 | 447 | $lastQuery = $_list->metadata['options']['select']; | ||
3748 | 448 | |||
3749 | 449 | } | ||
3750 | 450 | |||
3751 | 451 | >>>>>>> MERGE-SOURCE | ||
3752 | 438 | // Fill markers. | 452 | // Fill markers. |
3753 | 439 | $markerArray = array ( | 453 | $markerArray = array ( |
3754 | 440 | '###ACTION_URL###' => $this->cObj->typoLink_URL($linkConf), | 454 | '###ACTION_URL###' => $this->cObj->typoLink_URL($linkConf), |
3755 | 441 | '###LABEL_QUERY###' => $this->pi_getLL('label.query'), | 455 | '###LABEL_QUERY###' => $this->pi_getLL('label.query'), |
3756 | 442 | '###LABEL_SUBMIT###' => $this->pi_getLL('label.submit'), | 456 | '###LABEL_SUBMIT###' => $this->pi_getLL('label.submit'), |
3757 | 443 | '###FIELD_QUERY###' => $this->prefixId.'[query]', | 457 | '###FIELD_QUERY###' => $this->prefixId.'[query]', |
3758 | 458 | <<<<<<< TREE | ||
3759 | 444 | '###QUERY###' => htmlspecialchars($lastQuery), | 459 | '###QUERY###' => htmlspecialchars($lastQuery), |
3760 | 445 | '###FIELD_DOC###' => $this->addCurrentDocument(), | 460 | '###FIELD_DOC###' => $this->addCurrentDocument(), |
3761 | 446 | '###FIELD_COLL###' => $this->addCurrentCollection(), | 461 | '###FIELD_COLL###' => $this->addCurrentCollection(), |
3762 | 447 | '###ADDITIONAL_INPUTS###' => $this->addEncryptedCoreName(), | 462 | '###ADDITIONAL_INPUTS###' => $this->addEncryptedCoreName(), |
3763 | 448 | '###FACETS_MENU###' => $this->addFacetsMenu() | 463 | '###FACETS_MENU###' => $this->addFacetsMenu() |
3764 | 464 | ======= | ||
3765 | 465 | '###QUERY###' => htmlspecialchars($lastQuery), | ||
3766 | 466 | >>>>>>> MERGE-SOURCE | ||
3767 | 449 | ); | 467 | ); |
3768 | 450 | 468 | ||
3769 | 451 | // Get additional fields for extended search. | 469 | // Get additional fields for extended search. |
3770 | @@ -560,12 +578,30 @@ | |||
3771 | 560 | $solr->params = $params; | 578 | $solr->params = $params; |
3772 | 561 | 579 | ||
3773 | 562 | // Perform search. | 580 | // Perform search. |
3774 | 581 | <<<<<<< TREE | ||
3775 | 563 | $results = $solr->search($query); | 582 | $results = $solr->search($query); |
3776 | 564 | 583 | ||
3777 | 565 | $results->metadata = array ( | 584 | $results->metadata = array ( |
3778 | 566 | 'label' => $label, | 585 | 'label' => $label, |
3779 | 567 | 'description' => '<p class="tx-dlf-search-numHits">'.htmlspecialchars(sprintf($this->pi_getLL('hits', ''), $solr->numberOfHits, $results->count)).'</p>', | 586 | 'description' => '<p class="tx-dlf-search-numHits">'.htmlspecialchars(sprintf($this->pi_getLL('hits', ''), $solr->numberOfHits, $results->count)).'</p>', |
3780 | 568 | 'options' => $results->metadata['options'] | 587 | 'options' => $results->metadata['options'] |
3781 | 588 | ======= | ||
3782 | 589 | $query = $solr->search($this->piVars['query'], 0, $this->conf['limit'], array ()); | ||
3783 | 590 | |||
3784 | 591 | $numHits = count($query->response->docs); | ||
3785 | 592 | |||
3786 | 593 | $_list = array (); | ||
3787 | 594 | |||
3788 | 595 | // Set metadata for search. | ||
3789 | 596 | $_metadata = array ( | ||
3790 | 597 | 'label' => htmlspecialchars(sprintf($this->pi_getLL('searchfor', ''), $this->piVars['query'])), | ||
3791 | 598 | 'description' => '<p class="tx-dlf-search-numHits">'.htmlspecialchars(sprintf($this->pi_getLL('hits', ''), $numHits)).'</p>', | ||
3792 | 599 | 'options' => array ( | ||
3793 | 600 | 'source' => 'search', | ||
3794 | 601 | 'select' => $this->piVars['query'], | ||
3795 | 602 | 'order' => 'relevance' | ||
3796 | 603 | ) | ||
3797 | 604 | >>>>>>> MERGE-SOURCE | ||
3798 | 569 | ); | 605 | ); |
3799 | 570 | 606 | ||
3800 | 571 | $results->save(); | 607 | $results->save(); |