WP-Table Reloaded - Version 1.0

Version Description

Download this release

Release Info

Developer TobiasBg
Plugin Icon wp plugin WP-Table Reloaded
Version 1.0
Comparing to
See all releases

Code changes from version 0.9.2 to 1.0

admin/admin-script.js ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($){
2
+ $("#import_format").change(function () {
3
+ if ( 'csv' == $(this).val() )
4
+ $(".tr-import-delimiter").css('display','table-row');
5
+ else
6
+ $(".tr-import-delimiter").css('display','none');
7
+ })
8
+ .change();
9
+
10
+ $("#export_format").change(function () {
11
+ if ( 'csv' == $(this).val() )
12
+ $(".tr-export-delimiter").css('display','table-row');
13
+ else
14
+ $(".tr-export-delimiter").css('display','none');
15
+ })
16
+ .change();
17
+
18
+ $("#options_uninstall input").click(function () {
19
+ if( $('#options_uninstall input:checked').val() ) {
20
+ return confirm( 'Do you really want to activate this? You should only do that right before uninstallation!' );
21
+ }
22
+ });
23
+
24
+ $("#options_use_global_css input").click(function () {
25
+ if( $('#options_use_global_css input:checked').val() ) {
26
+ $('#options_css_filename select').removeAttr("disabled");
27
+ } else {
28
+ $('#options_css_filename select').attr("disabled", true);
29
+ }
30
+ return true;
31
+ });
32
+
33
+ $("#options_use_tableheadline input").click(function () {
34
+ if( $('#options_use_tableheadline input:checked').val() && $('#tablesorter_enabled').val() ) {
35
+ $('#options_use_tablesorter input').removeAttr("disabled");
36
+ } else {
37
+ $('#options_use_tablesorter input').attr("disabled", true);
38
+ }
39
+ return true;
40
+ });
41
+
42
+ $('.postbox h3, .postbox .handlediv').click( function() {
43
+ $($(this).parent().get(0)).toggleClass('closed');
44
+ } );
45
+
46
+ });
admin/admin-style.css ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******************************************
2
+ * This CSS file belongs to the Admin part *
3
+ * of WP-Table Reloaded! PLEASE DO NOT *
4
+ * make any changes here! Thank you! *
5
+ ******************************************/
6
+
7
+ table.wp-table-reloaded-options td {
8
+ padding: 5px 0px 5px 0px;
9
+ }
10
+
11
+ table.wp-table-reloaded-options th {
12
+ font-weight: normal;
13
+ text-align: left;
14
+ padding: 5px 10px 5px 0px;
15
+ vertical-align: middle;
16
+ }
17
+
18
+ /* overwrite 980px max-width in WP < 2.7 */
19
+ div.wrap { max-width: 100%!important; }
css/admin-style.css DELETED
@@ -1,9 +0,0 @@
1
- table.tb-wp-table-options td {
2
- padding: 5px 0px 5px 0px;
3
- }
4
-
5
- table.tb-wp-table-options th {
6
- font-weight: normal;
7
- text-align: left;
8
- padding: 5px 10px 5px 0px;
9
- }
 
 
 
 
 
 
 
 
 
css/example-style-wp-table.css ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /************************************************
2
+ * *
3
+ * This CSS file contains EXAMPLE styles for the *
4
+ * plugin WP-Table Reloaded by Tobias B�thge! *
5
+ * *
6
+ * PLEASE DO NOT MODIFY THIS FILE DIRECTLY! *
7
+ * PLEASE COPY IT, THEN EDIT THE COPY AND SELECT *
8
+ * THE COPIED FILE IN THE PLUGIN OPTIONS! *
9
+ * OTHERWISE YOUR CHANGES MIGHT GET OVERWRITTEN *
10
+ * WHEN UPDATING THE PLUGIN! *
11
+ * *
12
+ * Thank you! *
13
+ * *
14
+ ************************************************/
15
+
16
+ /* These CSS definitions come from the original WP-Table plugin by Alex Rabe.
17
+ They are here for backward compatibility. You can use them, to style your
18
+ table in the same style, WP-Table used to do.
19
+ PLEASE DO NOT MODIFY THIS FILE DIRECTLY. READ THE HEADER ABOVE! */
20
+
21
+ .wp-table-reloaded {
22
+ font: Icon;
23
+ border: 1px Solid ThreeDShadow;
24
+ background: Window;
25
+ color: WindowText;
26
+ border-collapse: collapse;
27
+ }
28
+
29
+ /* header row*/
30
+ .wp-table-reloaded th {
31
+ padding: 2px 5px;
32
+ border: 1px solid;
33
+ border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
34
+ cursor: default;
35
+ background: ButtonFace;
36
+
37
+ }
38
+
39
+ /* normal row*/
40
+ .wp-table-reloaded td {
41
+ padding: 3px;
42
+ }
43
+
44
+ /* alternative row */
45
+ .wp-table-reloaded tr.odd {
46
+ background-color: #F4F4EC;
47
+ }
css/{global-frontend-style.css → example-style.css} RENAMED
@@ -1,8 +1,22 @@
1
- /* Global CSS definitions for WP-Table Reloaded
2
- inspired by "blue" theme of Tablesorter 2.0 Plugin
3
- (won't be used unless option checked on plugin-options-screen!) */
 
 
 
 
 
 
 
 
 
 
 
4
 
 
 
5
 
 
6
 
7
  /* general table styles */
8
  table.wp-table-reloaded {
@@ -46,6 +60,24 @@ table.wp-table-reloaded tbody tr.odd td {
46
  }
47
 
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  /* Styles for the sorting (if Tablesorter is enabled) */
50
  table.wp-table-reloaded thead tr .headerSortUp {
51
  background-image: url(../img/asc.gif);
1
+ /************************************************
2
+ * *
3
+ * This CSS file contains EXAMPLE styles for the *
4
+ * plugin WP-Table Reloaded by Tobias B�thge! *
5
+ * *
6
+ * PLEASE DO NOT MODIFY THIS FILE DIRECTLY! *
7
+ * PLEASE COPY IT, THEN EDIT THE COPY AND SELECT *
8
+ * THE COPIED FILE IN THE PLUGIN OPTIONS! *
9
+ * OTHERWISE YOUR CHANGES MIGHT GET OVERWRITTEN *
10
+ * WHEN UPDATING THE PLUGIN! *
11
+ * *
12
+ * Thank you! *
13
+ * *
14
+ ************************************************/
15
 
16
+ /* Global CSS definitions for WP-Table Reloaded
17
+ inspired by "blue" theme of TableSorter 2.0 Plugin */
18
 
19
+ /* on how to change column widths, see below */
20
 
21
  /* general table styles */
22
  table.wp-table-reloaded {
60
  }
61
 
62
 
63
+ /**************************************/
64
+ /* how to change column widths :
65
+ you can access a column with its CSS-class
66
+ (that is ".column-" plus the number of the column)
67
+ use table.wp-table-reloaded to do your change for every table, or use
68
+ table.wp-table-reloaded-<id> for just a single table (with ID <id>)
69
+
70
+ example: this changes the width of the third column of table ID 5 to 25px:
71
+
72
+
73
+ table.wp-table-reloaded-5 .column-3
74
+ {
75
+ width: 25px;
76
+ }
77
+
78
+ */
79
+
80
+
81
  /* Styles for the sorting (if Tablesorter is enabled) */
82
  table.wp-table-reloaded thead tr .headerSortUp {
83
  background-image: url(../img/asc.gif);
languages/wp-table-reloaded-de_DE.mo ADDED
Binary file
languages/wp-table-reloaded-de_DE.po ADDED
@@ -0,0 +1,607 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: WP-Table Reloaded v0.9.2\n"
4
+ "PO-Revision-Date: 2009-04-12 12:33+0200\n"
5
+ "Last-Translator: tobiasbg <wordpress@tobias.baethge.com>\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
10
+ "X-Poedit-Language: German\n"
11
+ "X-Poedit-Country: GERMANY\n"
12
+ "X-Poedit-SourceCharset: utf-8\n"
13
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;__ngettext_noop:1,2;_c\n"
14
+ "X-Poedit-Basepath: \n"
15
+ "X-Poedit-SearchPath-0: ."
16
+
17
+ #: wp-table-reloaded-admin.php:137
18
+ #, php-format
19
+ msgid "Table \"%s\" added successfully."
20
+ msgstr "Tabelle \"%s\" erfolgreich angelegt."
21
+
22
+ #: wp-table-reloaded-admin.php:160
23
+ msgid "Table edited successfully."
24
+ msgstr "Tabelle erfolgreich bearbeitet."
25
+
26
+ #: wp-table-reloaded-admin.php:176
27
+ msgid "Rows swapped successfully."
28
+ msgstr "Zeilen erfolgreich getauscht."
29
+
30
+ #: wp-table-reloaded-admin.php:195
31
+ msgid "Columns swapped successfully."
32
+ msgstr "Spalten erfolgreich getauscht."
33
+
34
+ #: wp-table-reloaded-admin.php:229
35
+ #, php-format
36
+ msgid "Table \"%s\" copied successfully."
37
+ msgstr "Tabelle \"%s\" erfolgreich kopiert."
38
+
39
+ #: wp-table-reloaded-admin.php:248
40
+ #, php-format
41
+ msgid "Table \"%s\" deleted successfully."
42
+ msgstr "Tabelle \"%s\" erfolgreich gelöscht."
43
+
44
+ #: wp-table-reloaded-admin.php:258
45
+ msgid "Row deleted successfully."
46
+ msgstr "Zeile erfolgreich gelöscht."
47
+
48
+ #: wp-table-reloaded-admin.php:271
49
+ msgid "Column deleted successfully."
50
+ msgstr "Spalte erfolgreich gelöscht."
51
+
52
+ #: wp-table-reloaded-admin.php:276
53
+ msgid "Delete failed."
54
+ msgstr "Löschen fehlgeschlagen."
55
+
56
+ #: wp-table-reloaded-admin.php:300
57
+ msgid "Row inserted successfully."
58
+ msgstr "Zeile erfolgreich eingefügt."
59
+
60
+ #: wp-table-reloaded-admin.php:309
61
+ msgid "Column inserted successfully."
62
+ msgstr "Spalte erfolgreich eingefügt."
63
+
64
+ #: wp-table-reloaded-admin.php:312
65
+ msgid "Insert failed."
66
+ msgstr "Einfügen fehlgeschlagen."
67
+
68
+ #: wp-table-reloaded-admin.php:358
69
+ #: wp-table-reloaded-admin.php:379
70
+ msgid "Table imported successfully."
71
+ msgstr "Tabelle erfolgreich importiert."
72
+
73
+ #: wp-table-reloaded-admin.php:405
74
+ #, php-format
75
+ msgid "Table \"%s\" exported successfully."
76
+ msgstr "Tabelle \"%s\" erfolgreich exportiert."
77
+
78
+ #: wp-table-reloaded-admin.php:426
79
+ msgid "Options saved successfully."
80
+ msgstr "Einstellungen erfolgreich gespeichert."
81
+
82
+ #: wp-table-reloaded-admin.php:464
83
+ msgid "List of Tables"
84
+ msgstr "Liste der Tabellen"
85
+
86
+ #: wp-table-reloaded-admin.php:467
87
+ msgid "This is a list of all available tables. You may add, edit, copy or delete tables here."
88
+ msgstr "Dies ist eine Liste aller verfügbaren Tabellen. Hier kannst du Tabellen hinzufügen, bearbeiten, kopieren oder löschen."
89
+
90
+ #: wp-table-reloaded-admin.php:476
91
+ #: wp-table-reloaded-admin.php:816
92
+ msgid "ID"
93
+ msgstr "ID"
94
+
95
+ #: wp-table-reloaded-admin.php:477
96
+ #: wp-table-reloaded-admin.php:537
97
+ #: wp-table-reloaded-admin.php:587
98
+ #: wp-table-reloaded-admin.php:817
99
+ msgid "Table Name"
100
+ msgstr "Name der Tabelle"
101
+
102
+ #: wp-table-reloaded-admin.php:478
103
+ #: wp-table-reloaded-admin.php:541
104
+ #: wp-table-reloaded-admin.php:591
105
+ #: wp-table-reloaded-admin.php:818
106
+ msgid "Description"
107
+ msgstr "Beschreibung"
108
+
109
+ #: wp-table-reloaded-admin.php:479
110
+ #: wp-table-reloaded-admin.php:819
111
+ msgid "Action"
112
+ msgstr "Aktion"
113
+
114
+ #: wp-table-reloaded-admin.php:504
115
+ msgid "Edit"
116
+ msgstr "Bearbeiten"
117
+
118
+ #: wp-table-reloaded-admin.php:505
119
+ msgid "Do you want to copy this table?"
120
+ msgstr "Möchtest du diese Tabelle kopieren?"
121
+
122
+ #: wp-table-reloaded-admin.php:505
123
+ msgid "Copy"
124
+ msgstr "Kopieren"
125
+
126
+ #: wp-table-reloaded-admin.php:506
127
+ msgid "Export"
128
+ msgstr "Exportieren"
129
+
130
+ #: wp-table-reloaded-admin.php:507
131
+ #: wp-table-reloaded-admin.php:736
132
+ msgid "The complete table and all content will be erased. Do you really want to delete it?"
133
+ msgstr "Die gesamte Tabelle und alle Inhalte werden gelöscht. Möchtest du dies wirklich?"
134
+
135
+ #: wp-table-reloaded-admin.php:507
136
+ msgid "Delete"
137
+ msgstr "Löschen"
138
+
139
+ #: wp-table-reloaded-admin.php:517
140
+ #: wp-table-reloaded-admin.php:930
141
+ msgid "No tables found."
142
+ msgstr "Keine Tabellen gefunden."
143
+
144
+ #: wp-table-reloaded-admin.php:517
145
+ #: wp-table-reloaded-admin.php:930
146
+ #, php-format
147
+ msgid "You might <a href=\"%s\">add</a> or <a href=\"%s\">import</a> one!"
148
+ msgstr "Du kannst eine <a href=\"%s\">anlegen</a> oder <a href=\"%s\">importieren</a>!"
149
+
150
+ #: wp-table-reloaded-admin.php:525
151
+ #: wp-table-reloaded-admin.php:1095
152
+ msgid "Add new Table"
153
+ msgstr "Neue Tabelle anlegen"
154
+
155
+ #: wp-table-reloaded-admin.php:529
156
+ msgid "You can add a new table here. Just enter it's name, a description (optional) and the number of rows and columns.<br/>You may add, insert or delete rows and columns later."
157
+ msgstr "Hier kannst du eine neue Tabelle anlegen. Gib einfach ihren Namen, eine (optionale) Beschreibung und die Anzahl der Zeilen und Spalten ein.<br/>Du kannst später auch Zeilen oder Spalten hinzufügen, einfügen oder löschen."
158
+
159
+ #: wp-table-reloaded-admin.php:545
160
+ msgid "Number of Rows"
161
+ msgstr "Anzahl Zeilen"
162
+
163
+ #: wp-table-reloaded-admin.php:549
164
+ msgid "Number of Columns"
165
+ msgstr "Anzahl Spalten"
166
+
167
+ #: wp-table-reloaded-admin.php:556
168
+ msgid "Add Table"
169
+ msgstr "Tabelle anlegen"
170
+
171
+ #: wp-table-reloaded-admin.php:577
172
+ msgid "You may edit the content of the table here. It is also possible to add or delete columns and rows."
173
+ msgstr "Hier kannst du die Inhalte der Tabelle bearbeiten. Außerdem können Zeilen oder Spalten hinzugefügt, gelöscht oder getauscht werden."
174
+
175
+ #: wp-table-reloaded-admin.php:583
176
+ msgid "Table Information"
177
+ msgstr "Informationen über die Tabelle"
178
+
179
+ #: wp-table-reloaded-admin.php:600
180
+ msgid "Table Contents"
181
+ msgstr "Inhalte der Tabelle"
182
+
183
+ #: wp-table-reloaded-admin.php:628
184
+ msgid "Insert Row"
185
+ msgstr "Zeile einfügen"
186
+
187
+ #: wp-table-reloaded-admin.php:630
188
+ msgid "Do you really want to delete this row?"
189
+ msgstr "Möchtest du diese Zeile wirklich löschen?"
190
+
191
+ #: wp-table-reloaded-admin.php:630
192
+ msgid "Delete Row"
193
+ msgstr "Zeile löschen"
194
+
195
+ #: wp-table-reloaded-admin.php:640
196
+ msgid "Insert Column"
197
+ msgstr "Spalte einfügen"
198
+
199
+ #: wp-table-reloaded-admin.php:642
200
+ msgid "Do you really want to delete this column?"
201
+ msgstr "Möchtest du diese Spalte wirklich löschen?"
202
+
203
+ #: wp-table-reloaded-admin.php:642
204
+ msgid "Delete Column"
205
+ msgstr "Spalte löschen"
206
+
207
+ #: wp-table-reloaded-admin.php:647
208
+ msgid "Add Row"
209
+ msgstr "Zeile hinzufügen"
210
+
211
+ #: wp-table-reloaded-admin.php:647
212
+ msgid "Add Column"
213
+ msgstr "Spalte hinzufügen"
214
+
215
+ #: wp-table-reloaded-admin.php:671
216
+ #: wp-table-reloaded-admin.php:691
217
+ msgid "Swap"
218
+ msgstr "Tauschen"
219
+
220
+ #: wp-table-reloaded-admin.php:696
221
+ msgid "Table Settings"
222
+ msgstr "Einstellungen zur Tabelle"
223
+
224
+ #: wp-table-reloaded-admin.php:698
225
+ msgid "These settings will only be used for this table."
226
+ msgstr "Diese Einstellungen gelten nur für diese Tabelle."
227
+
228
+ #: wp-table-reloaded-admin.php:701
229
+ msgid "Alternating row colors"
230
+ msgstr "alternierende Zeilenfarben"
231
+
232
+ #: wp-table-reloaded-admin.php:702
233
+ msgid "Every second row will have an alternating background color."
234
+ msgstr "Jede zweite Zeile bekommt eine alternierende Hintergrundfarbe."
235
+
236
+ #: wp-table-reloaded-admin.php:705
237
+ msgid "Use Table Headline"
238
+ msgstr "Tabellenüberschrift"
239
+
240
+ #: wp-table-reloaded-admin.php:706
241
+ msgid "The first row of your table will use the [th] tag."
242
+ msgstr "Die erste Zeile der Tabelle wird mit dem HTML-Tag [th] markiert."
243
+
244
+ #: wp-table-reloaded-admin.php:709
245
+ msgid "Print Table Name"
246
+ msgstr "Tabellennamen ausgeben"
247
+
248
+ #: wp-table-reloaded-admin.php:710
249
+ msgid "The Table Name will be written above the table in a [h2] tag."
250
+ msgstr "Der Name der Tabelle wird in einem [h2]-HTML-Tag über die Tabelle geschrieben."
251
+
252
+ #: wp-table-reloaded-admin.php:713
253
+ msgid "Print Table Description"
254
+ msgstr "Tabellenbeschreibung ausgeben"
255
+
256
+ #: wp-table-reloaded-admin.php:714
257
+ msgid "The Table Description will be written under the table."
258
+ msgstr "Die Tabellenbeschreibung wird unter die Tabelle geschrieben."
259
+
260
+ #: wp-table-reloaded-admin.php:717
261
+ msgid "Use Tablesorter"
262
+ msgstr "Tablesorter benutzen"
263
+
264
+ #: wp-table-reloaded-admin.php:718
265
+ msgid "You may sort a table using the <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a>. <small>Attention: You must have Tablesorter enabled on the \"Plugin Options\" page and the option \"Use Table Headline\" has to be enabled above for this to work!</small>"
266
+ msgstr "Eine Tabelle kann dynamisch mit dem <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a> sortiert werden. <small>Achtung: Tablesorter muss auf der Seite \\"Plugin-Einstellungen\\" aktiviert sein! Außerdem muss die \\"Tabellenüberschrift\\" (mit [th]) (siehe oben) aktiviert sein!</small>"
267
+
268
+ #: wp-table-reloaded-admin.php:727
269
+ msgid "Update Changes"
270
+ msgstr "Änderungen speichern"
271
+
272
+ #: wp-table-reloaded-admin.php:728
273
+ msgid "Save and go back"
274
+ msgstr "Speichern und zurück"
275
+
276
+ #: wp-table-reloaded-admin.php:731
277
+ msgid "Cancel"
278
+ msgstr "Abbrechen"
279
+
280
+ #: wp-table-reloaded-admin.php:733
281
+ msgid "Other actions"
282
+ msgstr "Andere Aktionen"
283
+
284
+ #: wp-table-reloaded-admin.php:736
285
+ msgid "Delete Table"
286
+ msgstr "Tabelle löschen"
287
+
288
+ #: wp-table-reloaded-admin.php:737
289
+ #: wp-table-reloaded-admin.php:919
290
+ msgid "Export Table"
291
+ msgstr "Tabelle exportieren"
292
+
293
+ #: wp-table-reloaded-admin.php:748
294
+ #: wp-table-reloaded-admin.php:1096
295
+ msgid "Import a Table"
296
+ msgstr "Eine Tabelle importieren"
297
+
298
+ #: wp-table-reloaded-admin.php:779
299
+ msgid "Select File with Table to Import"
300
+ msgstr "Datei mit den zu importierenden Inhalten auswählen"
301
+
302
+ #: wp-table-reloaded-admin.php:769
303
+ msgid "Used Delimiter"
304
+ msgstr "Verwendetes Trennzeichen"
305
+
306
+ #: wp-table-reloaded-admin.php:793
307
+ msgid "Import Table"
308
+ msgstr "Tabelle importieren"
309
+
310
+ #: wp-table-reloaded-admin.php:866
311
+ #: wp-table-reloaded-admin.php:1097
312
+ msgid "Export a Table"
313
+ msgstr "Eine Tabelle exportieren"
314
+
315
+ #: wp-table-reloaded-admin.php:878
316
+ msgid "Select Table to Export"
317
+ msgstr "zu exportierende Tabelle auswählen"
318
+
319
+ #: wp-table-reloaded-admin.php:893
320
+ msgid "Select Export Format"
321
+ msgstr "gewünschtes Export-Format"
322
+
323
+ #: wp-table-reloaded-admin.php:903
324
+ msgid "Select Delimiter to use"
325
+ msgstr "zu verwendendes Trennzeichen"
326
+
327
+ #: wp-table-reloaded-admin.php:939
328
+ msgid "General Plugin Options"
329
+ msgstr "Plugin-Einstellungen"
330
+
331
+ #: wp-table-reloaded-admin.php:943
332
+ msgid "You may change these global options.<br/>They will effect all tables or the general plugin behaviour."
333
+ msgstr "Hier können allgemeine Plugin-Einstellungen geändert werden<br/>Diese beeinflussen alle Tabellen oder das allgemeine Verhalten des Plugins."
334
+
335
+ #: wp-table-reloaded-admin.php:986
336
+ msgid "Uninstall Plugin upon Deactivation?"
337
+ msgstr "Plugin beim Deaktivieren deinstallieren?"
338
+
339
+ #: wp-table-reloaded-admin.php:954
340
+ msgid "Enable Tablesorter-JavaScript?"
341
+ msgstr "Tablesorter-JavaScript aktivieren?"
342
+
343
+ #: wp-table-reloaded-admin.php:955
344
+ msgid "Yes, enable <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a> to be used to make table sortable (can be changed for every table separatly)."
345
+ msgstr "Ja, Nutzung des <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugins</a> ermöglichen, um eine Tabelle sortierbar machen (kann für jede Tabelle separat aktiviert werden)."
346
+
347
+ #: wp-table-reloaded-admin.php:958
348
+ msgid "Use global CSS-file?"
349
+ msgstr "Globales CSS-StyleSheet verwenden?"
350
+
351
+ #: wp-table-reloaded-admin.php:997
352
+ msgid "Save Options"
353
+ msgstr "Einstellungen speichern"
354
+
355
+ #: wp-table-reloaded-admin.php:1008
356
+ msgid "Do you really want to uninstall the plugin and delete ALL data?"
357
+ msgstr "Möchtest du das Plugin wirklich deinstallieren und ALLE Daten löschen?"
358
+
359
+ #: wp-table-reloaded-admin.php:1008
360
+ msgid "Are you really sure?"
361
+ msgstr "Bist du wirklich sicher?"
362
+
363
+ #: wp-table-reloaded-admin.php:1018
364
+ msgid "Information about the plugin"
365
+ msgstr "Informationen über das Plugin"
366
+
367
+ #: wp-table-reloaded-admin.php:1108
368
+ msgid "More information can be found on the <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/\">plugin's website</a>. A documentation and certain support and help request possibilities will be available soon."
369
+ msgstr "Mehr Informationen sind auf der <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/\">Webseite des Plugins</a> zu finden. Eine Dokumentation und Hilfe- und Unterstützungsmöglichkeiten sind bald verfügbar."
370
+
371
+ #: wp-table-reloaded-admin.php:1046
372
+ msgid "This plugin was written by <a href=\"http://tobias.baethge.com/\">Tobias B&auml;thge</a>. It is licenced as Free Software under GPL 2."
373
+ msgstr "Dieses Plugin wurde von <a href=\"http://tobias.baethge.com/\">Tobias B&auml;thge</a> programmiert. Es ist als Freie Software unter der GPL v2 lizenziert."
374
+
375
+ #: wp-table-reloaded-admin.php:1094
376
+ msgid "List Tables"
377
+ msgstr "Liste der Tabellen"
378
+
379
+ #: wp-table-reloaded-admin.php:1099
380
+ msgid "Plugin Options"
381
+ msgstr "Plugin-Einstellungen"
382
+
383
+ #: wp-table-reloaded-admin.php:1100
384
+ msgid "About the Plugin"
385
+ msgstr "Über das Plugin"
386
+
387
+ #: php/wp-table-reloaded-export.class.php:30
388
+ #: php/wp-table-reloaded-import.class.php:41
389
+ msgid "CSV - Character-Separated Values"
390
+ msgstr "CSV - Character-Separated Values"
391
+
392
+ #: php/wp-table-reloaded-export.class.php:32
393
+ #: php/wp-table-reloaded-import.class.php:43
394
+ msgid "XML - eXtended Markup Language"
395
+ msgstr "XML - eXtended Markup Language"
396
+
397
+ #: php/wp-table-reloaded-export.class.php:35
398
+ #: php/wp-table-reloaded-import.class.php:36
399
+ msgid "; (semicolon)"
400
+ msgstr "; (Semikolon)"
401
+
402
+ #: php/wp-table-reloaded-export.class.php:36
403
+ #: php/wp-table-reloaded-import.class.php:37
404
+ msgid ", (comma)"
405
+ msgstr ", (Komma)"
406
+
407
+ #: php/wp-table-reloaded-export.class.php:37
408
+ #: php/wp-table-reloaded-import.class.php:38
409
+ msgid ": (colon)"
410
+ msgstr ": (Doppelpunkt)"
411
+
412
+ #: wp-table-reloaded-admin.php:1008
413
+ msgid "Uninstall Plugin WP-Table Reloaded"
414
+ msgstr "Plugin WP-Table Reloaded deinstallieren"
415
+
416
+ #: php/wp-table-reloaded-export.class.php:31
417
+ #: php/wp-table-reloaded-import.class.php:42
418
+ msgid "HTML - Hypertext Markup Language"
419
+ msgstr "HTML - Hypertext Markup Language"
420
+
421
+ #: wp-table-reloaded-admin.php:224
422
+ msgid "Copy of"
423
+ msgstr "Kopie von"
424
+
425
+ #: wp-table-reloaded-admin.php:340
426
+ msgid "Imported Table"
427
+ msgstr "Importierte Tabelle"
428
+
429
+ #: wp-table-reloaded-admin.php:341
430
+ msgid "via form"
431
+ msgstr "via Eingabefeld"
432
+
433
+ #: wp-table-reloaded-admin.php:361
434
+ msgid "Table could not be imported."
435
+ msgstr "Tabelle konnte nicht importiert werden."
436
+
437
+ #: wp-table-reloaded-admin.php:444
438
+ msgid "WP-Table Reloaded"
439
+ msgstr "WP-Table Reloaded"
440
+
441
+ #: wp-table-reloaded-admin.php:445
442
+ msgid "Plugin deactivated successfully."
443
+ msgstr "Plugin erfolgreich deaktiviert."
444
+
445
+ #: wp-table-reloaded-admin.php:446
446
+ msgid "All tables, data and options were deleted. You may now remove the plugin's subfolder from your WordPress plugin folder."
447
+ msgstr "Alle Tabellen, Daten und Einstellungen wurden gelöscht. Du kannst jetzt den Ordner des Plugins aus deinem WordPress Plugin-Ordner löschen."
448
+
449
+ #: wp-table-reloaded-admin.php:468
450
+ msgid "If you want to show a table in your pages, posts or text-widgets, use the shortcode: <strong>[table id=&lt;the_table_ID&gt; /]</strong>"
451
+ msgstr "Wenn Du eine Tabelle in einem Beitrag, auf einer Seite oder in einem Text-Widgets anzeigen möchtest, verwende den Shortcode: <strong>[table id=&lt;ID-der-Tabelle&gt; /]</strong>"
452
+
453
+ #: wp-table-reloaded-admin.php:538
454
+ msgid "Enter Table Name"
455
+ msgstr "Tabellennamen eingeben"
456
+
457
+ #: wp-table-reloaded-admin.php:542
458
+ msgid "Enter Description"
459
+ msgstr "Beschreibung eingeben"
460
+
461
+ #: wp-table-reloaded-admin.php:752
462
+ msgid "You may import a table from existing data here.<br/>It may be a CSV, XML oder HTML file. It needs a certrain structure though. Please consult the documentation."
463
+ msgstr "Hier kann eine Tabelle aus vorhandenen Daten importiert werden.<br/>Dies kann eine CSV-, XML- oder HTML-Datei sein. Diese müssen teilweise eine bestimmte Struktur aufweisen. Bitte lies bei Problemen gegebenenfalls die Dokumentation."
464
+
465
+ #: wp-table-reloaded-admin.php:759
466
+ msgid "Select Import Format"
467
+ msgstr "Import-Format wählen"
468
+
469
+ #: wp-table-reloaded-admin.php:776
470
+ #: wp-table-reloaded-admin.php:910
471
+ msgid "<small>(Only needed for CSV export.)</small>"
472
+ msgstr "<small>(Nur für CSV-Export benötigt.)</small>"
473
+
474
+ #: wp-table-reloaded-admin.php:783
475
+ msgid "- or -"
476
+ msgstr "- oder -"
477
+
478
+ #: wp-table-reloaded-admin.php:784
479
+ msgid "(upload will be preferred over pasting)"
480
+ msgstr "(Hochladen hat Vorrang vor manueller Eingabe)"
481
+
482
+ #: wp-table-reloaded-admin.php:787
483
+ msgid "Paste data with Table to Import"
484
+ msgstr "zu importierende Tabelle einfügen"
485
+
486
+ #: wp-table-reloaded-admin.php:806
487
+ msgid "Import from original WP-Table plugin"
488
+ msgstr "Import von Tabellen aus dem Plugin \\"WP-Table\\""
489
+
490
+ #: wp-table-reloaded-admin.php:839
491
+ msgid "Do you really want to import this table from the WP-Table plugin?"
492
+ msgstr "Möchtest du wirklich diese Tabelle aus dem Plugin \\"WP-Table\\" importieren?"
493
+
494
+ #: wp-table-reloaded-admin.php:839
495
+ msgid "Import"
496
+ msgstr "Import"
497
+
498
+ #: wp-table-reloaded-admin.php:847
499
+ msgid "WP-Table by Alex Rabe seems to be installed, but no tables were found."
500
+ msgstr "Das Plugin WP-Table von Alex Rabe scheint installiert zu sein. Es wurden jedoch keine Tabellen gefunden."
501
+
502
+ #: wp-table-reloaded-admin.php:870
503
+ msgid "You may export a table here. Just select the table, your desired export format and a delimiter (needed for CSV only).<br/>You may opt to download the export file. Otherwise it will be shown on this page."
504
+ msgstr "Hier kann eine Tabelle exportiert werden. Einfach Tabelle, gewünschtes Export-Format und Trennzeichen (nur für CSV) auswählen.<br/>Du kannst wählen, ob du die Export-Datei downloaden oder anzeigen lassen möchtest."
505
+
506
+ #: wp-table-reloaded-admin.php:913
507
+ msgid "Download file"
508
+ msgstr "Datei downloaden"
509
+
510
+ #: wp-table-reloaded-admin.php:914
511
+ msgid "Yes, I want to download the export file."
512
+ msgstr "Ja, ich möchte die Export-Datei downloaden."
513
+
514
+ #: wp-table-reloaded-admin.php:950
515
+ msgid "Frontend Options"
516
+ msgstr "Darstellungsoptionen"
517
+
518
+ #: wp-table-reloaded-admin.php:959
519
+ msgid "Yes, load a CSS-file, which contains basic styles for the table. The CSS-files must be located in subfolder \"css\". To change styles, please copy the file \"example-style.css\", edit the copied file with your style changes and place it in the same folder. You may then select it below. "
520
+ msgstr "Ja, lade eine CSS-Datei, die einfache Style-Angaben für die Tabellen enthält. Die CSS-Datei muss sich im Unterordner \"css\" befinden. Um eigene Änderungen vorzunehmen, kopiere die Datei \"example-style.css\" oder \"example-style-wp-table.css\" ins gleiche Verzeichnis, passe die Kopie an deine Wünsche an und wähle danach die kopierte Datei hier aus."
521
+
522
+ #: wp-table-reloaded-admin.php:963
523
+ msgid "Select CSS file to use"
524
+ msgstr "zu nutzende CSS-Datei auswählen"
525
+
526
+ #: wp-table-reloaded-admin.php:975
527
+ msgid "(These files are located in the subfolder \"css\" of the plugin folder.)"
528
+ msgstr "(Diese Dateien befinden sich im Unterordner \"css\" des Plugin-Ordners.)"
529
+
530
+ #: wp-table-reloaded-admin.php:982
531
+ msgid "Admin Options"
532
+ msgstr "Verwaltungseinstellungen"
533
+
534
+ #: wp-table-reloaded-admin.php:987
535
+ msgid "Yes, uninstall everything when plugin is deactivated. Attention: You should only enable this checkbox directly before deactivating the plugin from the WordPress plugins page! (It does not influence the \"Manually Uninstall Plugin\" button below!)"
536
+ msgstr "Ja, alles deinstallieren, wenn Plugin deaktiviert wird. Achtung: Du solltest dieses Kästchen erst direkt vor der Deaktivierung des Plugins auf der WordPress-Plugin-Seite aktivieren! (Es hat keinen Einfluss auf die Schaltfläche zur manuellen Deinstallation unten auf dieser Seite!)"
537
+
538
+ #: wp-table-reloaded-admin.php:1003
539
+ msgid "Manually Uninstall Plugin"
540
+ msgstr "Manuelle Plugin-Deinstallation"
541
+
542
+ #: wp-table-reloaded-admin.php:1005
543
+ msgid "You may uninstall the plugin here. This <strong>will delete</strong> all tables, data, options, etc., that belong to the plugin, including all tables you added or imported.<br/> Be very careful with this and only click the button if you know what you are doing!"
544
+ msgstr "Hier kannst du das Plugin deinstallieren. Dies <strong>löscht</strong> alle Tabellen, Daten, Einstellungen, etc. die zum Plugin gehören, inklusive aller angelegter oder importierter Tabellen! Sei hiermit vorsichtig und klicke die Schaltfläche nur, wenn du weißt, was du tust!"
545
+
546
+ #: wp-table-reloaded-admin.php:1024
547
+ msgid "Plugin Purpose"
548
+ msgstr "Zweck des Plugins"
549
+
550
+ #: wp-table-reloaded-admin.php:1026
551
+ msgid "This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts, on your pages or in text widgets by using a shortcode."
552
+ msgstr "Dieses Plugin erlaubt die Erstellung und Verwaltung von Tabellen im Administrationsbereich von WordPress. Die Tabellen können dann mittels eines Shortcodes in Beiträgen, auf Seiten und in Text-Widgets angezeigt werden."
553
+
554
+ #: wp-table-reloaded-admin.php:1031
555
+ msgid "Usage"
556
+ msgstr "Benutzung"
557
+
558
+ #: wp-table-reloaded-admin.php:1033
559
+ msgid "At first you should add or import a table. Then edit your data and select the options you want. To include the table into your posts, pages or text widgets, write the shortcode [table id=&lt;table-id&gt;] into them. You may then style your table via CSS. Every table has the CSS-class \"wp-table-reloaded\". A table also has the class \"wp-table-reloaded-&lt;table-id&gt;\". You can also use the classes \"column-&lt;number&gt;\" and \"row-&lt;number&gt;\" to style rows and columns individually. Use this to style columns width and text alignment."
560
+ msgstr "Zuerst sollest du eine Tabelle anlegen oder importieren. Dann kannst du die Daten editieren und gewünschte Darstellungsoptionen aktivieren. Um die Tabelle in einem Beitrag, auf einer Seite oder in einem Text-Widget anzuzeigen, füge dort den Shortcode [table id=&lt;ID-der-Tabelle&gt;] ein. Du kannst die Tabelle dann mittels CSS stylen. Jede Tabelle hat die CSS-Klasse \"wp-table-reloaded\". Jede Tabelle hat außerdem eine Klasse \"wp-table-reloaded-&lt;ID-der-Tabelle&gt;\". Du kannst die Klassen \"column-&lt;Nummer&gt;\" und \"row-&lt;Nummer&gt;\" nutzen, um Zeilen und Spalten individuell zu stylen. Dies kann für die Textausrichtung oder Spaltenbreite genutzt werden."
561
+
562
+ #: wp-table-reloaded-admin.php:1037
563
+ msgid "More Information and Documentation"
564
+ msgstr "Weitere Informationen und Dokumentation"
565
+
566
+ #: wp-table-reloaded-admin.php:1039
567
+ msgid "More information can be found on the <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/\">plugin's website</a> or on its page in the <a href=\"http://wordpress.org/extend/plugins/wp-table-reloaded/\">WordPress Plugin Directory</a>. A documentation and certain support and help request possibilities will be available soon."
568
+ msgstr "Weitere Informationen findest du auf der <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/\">Website des Plugins</a> oder auf seiner Seite im <a href=\"http://wordpress.org/extend/plugins/wp-table-reloaded/\">WordPress Plugin Directory.</a> Eine Dokumentation und bestimmte Unterstützungs- und Hilfemöglichkeiten werden in Kürze verfügbar sein."
569
+
570
+ #: wp-table-reloaded-admin.php:1044
571
+ msgid "Author and Licence"
572
+ msgstr "Autor und Lizenz"
573
+
574
+ #: wp-table-reloaded-admin.php:1046
575
+ msgid "If you like the plugin, please consider <a href=\"http://tobias.baethge.com/wordpress-plugins/donate/\">donating</a> or rating it at the <a href=\"http://wordpress.org/extend/plugins/wp-table-reloaded/\">WordPress Plugin Directory</a>. Thanks!"
576
+ msgstr "Wenn dir das Plugin gefällt, kannst du gerne etwas <a href=\"http://tobias.baethge.com/wordpress-plugins/donate/\">spenden</a> oder das Plugin auf seiner Seite im <a href=\"http://wordpress.org/extend/plugins/wp-table-reloaded/\">WordPress Plugin Directory</a> bewerten. Danke!"
577
+
578
+ #: wp-table-reloaded-admin.php:1051
579
+ msgid "Credits and Thanks"
580
+ msgstr "Danksagungen"
581
+
582
+ #: wp-table-reloaded-admin.php:1054
583
+ msgid "Thanks go to <a href=\"http://alexrabe.boelinger.com/\">Alex Rabe</a> for the original WP-Table plugin,"
584
+ msgstr "Vielen Dank an <a href=\"http://alexrabe.boelinger.com/\">Alex Rabe</a> für das Plugin WP-Table,"
585
+
586
+ #: wp-table-reloaded-admin.php:1056
587
+ msgid "the submitters of translations: <br/>&middot; Turkish (thanks to <a href=\"http://www.wpuzmani.com/\">Semih</a>)<br/>&middot; Swedish (thanks to <a href=\"http://www.zuperzed.se/\">ZuperZed</a>)"
588
+ msgstr "die Einsender der Übersetzungen: <br/> &middot; Türkisch (danke <a href=\"http://www.wpuzmani.com/\">Semih)</a><br/> &middot; Schwedisch (danke <a href=\"http://www.zuperzed.se/\">ZuperZed)</a>"
589
+
590
+ #: wp-table-reloaded-admin.php:1057
591
+ msgid "and all contributors, supporters, reviewers and users of the plugin!"
592
+ msgstr "und alle Unterstützer, Reviewer und Nutzer des Plugins!"
593
+
594
+ #: wp-table-reloaded-admin.php:668
595
+ #, php-format
596
+ msgid "Swap rows %s and %s"
597
+ msgstr "Tausche die Zeilen %s und %s"
598
+
599
+ #: wp-table-reloaded-admin.php:688
600
+ #, php-format
601
+ msgid "Swap columns %s and %s"
602
+ msgstr "Tausche die Spalten %s und %s"
603
+
604
+ #: wp-table-reloaded-admin.php:1055
605
+ msgid "Christian Bach for the <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a>,"
606
+ msgstr "Christian Bach für das <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a>,"
607
+
languages/wp-table-reloaded-sv_SE.mo ADDED
Binary file
languages/wp-table-reloaded-sv_SE.po ADDED
@@ -0,0 +1,471 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: WP Table Reloaded (sv_SE)\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2009-04-10 20:20+0100\n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: ZuperZed <info@zuperzed.se>\n"
8
+ "Language-Team: www.zuperzed.se <info@zuperzed.se>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _e;__\n"
13
+ "X-Poedit-Language: Swedish\n"
14
+ "X-Poedit-Country: SWEDEN\n"
15
+ "X-Poedit-Basepath: .\n"
16
+ "X-Poedit-SearchPath-0: D:/Hemsida/ZuperZed.se/wp-content/plugins/wp-table-reloaded\n"
17
+ ": "
18
+
19
+ #: wp-table-reloaded-admin.php:123
20
+ #, php-format
21
+ msgid "Table \"%s\" added successfully."
22
+ msgstr "Tabellen \"%s\" tillagd framgångsrikt."
23
+
24
+ #: wp-table-reloaded-admin.php:146
25
+ msgid "Table edited successfully."
26
+ msgstr "Tabell redigerad framgångsrikt."
27
+
28
+ #: wp-table-reloaded-admin.php:162
29
+ msgid "Rows swapped successfully."
30
+ msgstr "Rader bytte plats framgångsrikt."
31
+
32
+ #: wp-table-reloaded-admin.php:181
33
+ msgid "Columns swapped successfully."
34
+ msgstr "Kolumner bytte plats framgångsrikt."
35
+
36
+ #: wp-table-reloaded-admin.php:214
37
+ #, php-format
38
+ msgid "Table \"%s\" copied successfully."
39
+ msgstr "Tabellen \"%s\" kopierades framgångsrikt."
40
+
41
+ #: wp-table-reloaded-admin.php:233
42
+ #, php-format
43
+ msgid "Table \"%s\" deleted successfully."
44
+ msgstr "Tabellen \"%s\" raderades framgångsrikt."
45
+
46
+ #: wp-table-reloaded-admin.php:243
47
+ msgid "Row deleted successfully."
48
+ msgstr "Rad raderades framgångsrikt."
49
+
50
+ #: wp-table-reloaded-admin.php:256
51
+ msgid "Column deleted successfully."
52
+ msgstr "Kolumn raderades framgångsrikt."
53
+
54
+ #: wp-table-reloaded-admin.php:261
55
+ msgid "Delete failed."
56
+ msgstr "Radering misslyckades."
57
+
58
+ #: wp-table-reloaded-admin.php:285
59
+ msgid "Row inserted successfully."
60
+ msgstr "Infoga rad lyckades."
61
+
62
+ #: wp-table-reloaded-admin.php:294
63
+ msgid "Column inserted successfully."
64
+ msgstr "Infoga kolumn lyckades."
65
+
66
+ #: wp-table-reloaded-admin.php:297
67
+ msgid "Insert failed."
68
+ msgstr "Infogning misslyckades."
69
+
70
+ #: wp-table-reloaded-admin.php:327
71
+ msgid "Table imported successfully."
72
+ msgstr "Tabellimport lyckades."
73
+
74
+ #: wp-table-reloaded-admin.php:347
75
+ #, php-format
76
+ msgid "Table \"%s\" exported successfully."
77
+ msgstr "Tabellen \"%s\" exporterades framgångsrikt."
78
+
79
+ #: wp-table-reloaded-admin.php:366
80
+ msgid "Options saved successfully."
81
+ msgstr "Ändringarna sparades framgångsrikt."
82
+
83
+ #: wp-table-reloaded-admin.php:375
84
+ msgid "Plugin uninstalled successfully."
85
+ msgstr "Tillägget avinstallerades framgångsrikt."
86
+
87
+ #: wp-table-reloaded-admin.php:391
88
+ msgid "List of Tables"
89
+ msgstr "Tabellista"
90
+
91
+ #: wp-table-reloaded-admin.php:394
92
+ msgid "This is a list of all available tables. You may add, edit, copy or delete tables here."
93
+ msgstr "Detta är en lista över alla tillgängliga tabeller. Du kan lägga till, redigera, kopiera eller radera tabeller här."
94
+
95
+ #: wp-table-reloaded-admin.php:395
96
+ msgid "If you want to show a table in your pages or posts, use the shortcode: <strong>[table id=&lt;the_table_ID&gt; /]</strong>"
97
+ msgstr "Om du vill visa en tabell på en sida eller i ett inlägg, använd snabbkoden: <strong>[table id=&lt;the_table_ID&gt; /]</strong>"
98
+
99
+ #: wp-table-reloaded-admin.php:403
100
+ msgid "ID"
101
+ msgstr "ID"
102
+
103
+ #: wp-table-reloaded-admin.php:404
104
+ #: wp-table-reloaded-admin.php:465
105
+ #: wp-table-reloaded-admin.php:512
106
+ msgid "Table Name"
107
+ msgstr "Tabellnamn"
108
+
109
+ #: wp-table-reloaded-admin.php:405
110
+ #: wp-table-reloaded-admin.php:469
111
+ #: wp-table-reloaded-admin.php:516
112
+ msgid "Description"
113
+ msgstr "Beskrivning"
114
+
115
+ #: wp-table-reloaded-admin.php:406
116
+ msgid "Action"
117
+ msgstr "Åtgärd"
118
+
119
+ #: wp-table-reloaded-admin.php:431
120
+ msgid "Edit"
121
+ msgstr "Redigera"
122
+
123
+ #: wp-table-reloaded-admin.php:432
124
+ msgid "Do you want to copy this table?"
125
+ msgstr "Vill du kopiera denna tabell?"
126
+
127
+ #: wp-table-reloaded-admin.php:432
128
+ msgid "Copy"
129
+ msgstr "Kopiera"
130
+
131
+ #: wp-table-reloaded-admin.php:433
132
+ msgid "Export"
133
+ msgstr "Exportera"
134
+
135
+ #: wp-table-reloaded-admin.php:434
136
+ #: wp-table-reloaded-admin.php:646
137
+ msgid "The complete table and all content will be erased. Do you really want to delete it?"
138
+ msgstr "Tabellen och dess inehåll kommer raderas. Vill du verkligen radera den?"
139
+
140
+ #: wp-table-reloaded-admin.php:434
141
+ msgid "Delete"
142
+ msgstr "Radera"
143
+
144
+ #: wp-table-reloaded-admin.php:444
145
+ #: wp-table-reloaded-admin.php:761
146
+ msgid "No tables found."
147
+ msgstr "Inga tabeller hittades."
148
+
149
+ #: wp-table-reloaded-admin.php:444
150
+ #: wp-table-reloaded-admin.php:761
151
+ #, php-format
152
+ msgid "You might <a href=\"%s\">add</a> or <a href=\"%s\">import</a> one!"
153
+ msgstr "Du kan <a href=\"%s\">lägga till</a> eller <a href=\"%s\">importera</a> en!"
154
+
155
+ #: wp-table-reloaded-admin.php:452
156
+ #: wp-table-reloaded-admin.php:859
157
+ msgid "Add new Table"
158
+ msgstr "Lägg till ny Tabell"
159
+
160
+ #: wp-table-reloaded-admin.php:457
161
+ msgid "You can add a new table here. Just enter it's name, a description (optional) and the number of rows and columns.<br/>You may add, insert or delete rows and columns later."
162
+ msgstr "Du kan lägga till en tabell här. Ange tabellens namn, en beskrivning (valfritt) och antal rader och kolumner.<br/>Du kan även lägga till, infoga eller radera rader och kolumner senare."
163
+
164
+ #: wp-table-reloaded-admin.php:473
165
+ msgid "Number of Rows"
166
+ msgstr "Antal Rader"
167
+
168
+ #: wp-table-reloaded-admin.php:477
169
+ msgid "Number of Columns"
170
+ msgstr "Antal Kolumner"
171
+
172
+ #: wp-table-reloaded-admin.php:484
173
+ msgid "Add Table"
174
+ msgstr "Lägg till Tabell"
175
+
176
+ #: wp-table-reloaded-admin.php:503
177
+ msgid "You may edit the content of the table here. It is also possible to add or delete columns and rows."
178
+ msgstr "Du kan redigera tabellens innehåll här. Det är även möjligt att lägga till eller radera kolumner och rader."
179
+
180
+ #: wp-table-reloaded-admin.php:509
181
+ msgid "Table Information"
182
+ msgstr "Tabellinformation"
183
+
184
+ #: wp-table-reloaded-admin.php:523
185
+ msgid "Table Contents"
186
+ msgstr "Tabellinnehåll"
187
+
188
+ #: wp-table-reloaded-admin.php:550
189
+ msgid "Insert Row"
190
+ msgstr "Lägg till Rad"
191
+
192
+ #: wp-table-reloaded-admin.php:552
193
+ msgid "Do you really want to delete this row?"
194
+ msgstr "Vill du verkligen radera denna rad?"
195
+
196
+ #: wp-table-reloaded-admin.php:552
197
+ msgid "Delete Row"
198
+ msgstr "Radera Rad"
199
+
200
+ #: wp-table-reloaded-admin.php:562
201
+ msgid "Insert Column"
202
+ msgstr "Infoga Kolumn"
203
+
204
+ #: wp-table-reloaded-admin.php:564
205
+ msgid "Do you really want to delete this column?"
206
+ msgstr "Vill du verkligen radera denna kolumn?"
207
+
208
+ #: wp-table-reloaded-admin.php:564
209
+ msgid "Delete Column"
210
+ msgstr "Radera Kolumn"
211
+
212
+ #: wp-table-reloaded-admin.php:569
213
+ msgid "Add Row"
214
+ msgstr "Lägg till Rad"
215
+
216
+ #: wp-table-reloaded-admin.php:569
217
+ msgid "Add Column"
218
+ msgstr "Lägg till Kolumn"
219
+
220
+ #: wp-table-reloaded-admin.php:579
221
+ msgid "Swap rows"
222
+ msgstr "Byt plats på rader"
223
+
224
+ #: wp-table-reloaded-admin.php:584
225
+ #: wp-table-reloaded-admin.php:599
226
+ msgid "and"
227
+ msgstr "och"
228
+
229
+ #: wp-table-reloaded-admin.php:589
230
+ #: wp-table-reloaded-admin.php:604
231
+ msgid "Swap"
232
+ msgstr "Byt plats"
233
+
234
+ #: wp-table-reloaded-admin.php:594
235
+ msgid "Swap columns"
236
+ msgstr "Byt plats på kolumner"
237
+
238
+ #: wp-table-reloaded-admin.php:608
239
+ msgid "Table Settings"
240
+ msgstr "Tabellinställningar"
241
+
242
+ #: wp-table-reloaded-admin.php:609
243
+ msgid "These settings will only be used for this table."
244
+ msgstr "Dessa inställningar kommer endast användas för denna tabell."
245
+
246
+ #: wp-table-reloaded-admin.php:612
247
+ msgid "Alternating row colors"
248
+ msgstr "Växlande radfärg"
249
+
250
+ #: wp-table-reloaded-admin.php:613
251
+ msgid "Every second row will have an alternating background color."
252
+ msgstr "Varannan rad kommer att ha en alternativ bakgrundsfärg."
253
+
254
+ #: wp-table-reloaded-admin.php:616
255
+ msgid "Use Table Headline"
256
+ msgstr "Använd Tabellrubrik"
257
+
258
+ #: wp-table-reloaded-admin.php:617
259
+ msgid "The first row of your table will use the [th] tag."
260
+ msgstr "Första raden i din tabell kommer använda etiketten [th]."
261
+
262
+ #: wp-table-reloaded-admin.php:620
263
+ msgid "Print Table Name"
264
+ msgstr "Visa Tabellnamn"
265
+
266
+ #: wp-table-reloaded-admin.php:621
267
+ msgid "The Table Name will be written above the table in a [h2] tag."
268
+ msgstr "Tabellens namn kommer att visas ovanför tabellen med etiketten [h2]."
269
+
270
+ #: wp-table-reloaded-admin.php:624
271
+ msgid "Print Table Description"
272
+ msgstr "Visa Tabellbeskrivning"
273
+
274
+ #: wp-table-reloaded-admin.php:625
275
+ msgid "The Table Description will be written under the table."
276
+ msgstr "Tabellens beskrivning kommer att visas under tabellen."
277
+
278
+ #: wp-table-reloaded-admin.php:628
279
+ msgid "Use Tablesorter"
280
+ msgstr "Använd Tabellsortering"
281
+
282
+ #: wp-table-reloaded-admin.php:629
283
+ msgid "You may sort a table using the <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a>. <small>Attention: You must have Tablesorter enabled on the \"Plugin Options\" page and the option \"Use Table Headline\" has to be enabled above for this to work!</small>"
284
+ msgstr "Du kan använda tabellsortering med hjälp av <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a>. <small>OBS!: Tablesorter måste aktiveras på \"Alternativ\"sidan och \"Använd Tabellrubrik\" ovan måste vara förbockat för att detta ska fungera!</small>"
285
+
286
+ #: wp-table-reloaded-admin.php:637
287
+ msgid "Update Changes"
288
+ msgstr "Spara Ändringar"
289
+
290
+ #: wp-table-reloaded-admin.php:638
291
+ msgid "Save and go back"
292
+ msgstr "Spara och gå tillbaka"
293
+
294
+ #: wp-table-reloaded-admin.php:641
295
+ msgid "Cancel"
296
+ msgstr "Ångra"
297
+
298
+ #: wp-table-reloaded-admin.php:643
299
+ msgid "Other actions"
300
+ msgstr "Andra åtgärder"
301
+
302
+ #: wp-table-reloaded-admin.php:646
303
+ msgid "Delete Table"
304
+ msgstr "Radera Tabell"
305
+
306
+ #: wp-table-reloaded-admin.php:647
307
+ #: wp-table-reloaded-admin.php:750
308
+ msgid "Export Table"
309
+ msgstr "Exportera Tabell"
310
+
311
+ #: wp-table-reloaded-admin.php:658
312
+ #: wp-table-reloaded-admin.php:860
313
+ msgid "Import a Table"
314
+ msgstr "Importera en Tabell"
315
+
316
+ #: wp-table-reloaded-admin.php:662
317
+ msgid "You may import a table from existing data here.<br/>It has to be a CSV file. You can select the used delimiter below."
318
+ msgstr "Du kan importera en tabell från existerande data här.<br/>Det måste vara en CSV fil. Du kan välja avgränsare nedan."
319
+
320
+ #: wp-table-reloaded-admin.php:669
321
+ msgid "Select File with Table to Import"
322
+ msgstr "Välj tabellfil som ska importeras"
323
+
324
+ #: wp-table-reloaded-admin.php:673
325
+ msgid "Used Delimiter"
326
+ msgstr "Välj Avgränsare"
327
+
328
+ #: wp-table-reloaded-admin.php:685
329
+ msgid "Import Table"
330
+ msgstr "Importera Tabell"
331
+
332
+ #: wp-table-reloaded-admin.php:701
333
+ #: wp-table-reloaded-admin.php:861
334
+ msgid "Export a Table"
335
+ msgstr "Exportera en Tabell"
336
+
337
+ #: wp-table-reloaded-admin.php:705
338
+ msgid "You may export a table here."
339
+ msgstr "Du kan exportera en tabell här."
340
+
341
+ #: wp-table-reloaded-admin.php:713
342
+ msgid "Select Table to Export"
343
+ msgstr "Välj Tabell som ska exporteras"
344
+
345
+ #: wp-table-reloaded-admin.php:728
346
+ msgid "Select Export Format"
347
+ msgstr "Välj exportformat"
348
+
349
+ #: wp-table-reloaded-admin.php:738
350
+ msgid "Select Delimiter to use"
351
+ msgstr "Välj Avgränsare"
352
+
353
+ #: wp-table-reloaded-admin.php:770
354
+ msgid "General Plugin Options"
355
+ msgstr "Allmänna Alternativ"
356
+
357
+ #: wp-table-reloaded-admin.php:774
358
+ msgid "You may change these global options.<br/>They will effect all tables or the general plugin behaviour."
359
+ msgstr "Detta är globala alternativ.<br/>De kommer påverka alla tabeller eller tilläggets generella beteende."
360
+
361
+ #: wp-table-reloaded-admin.php:783
362
+ msgid "Uninstall Plugin upon Deactivation?"
363
+ msgstr "Avinstallera Tillägget vid Avaktivering?"
364
+
365
+ #: wp-table-reloaded-admin.php:787
366
+ msgid "Enable Tablesorter-JavaScript?"
367
+ msgstr "Aktivera Tablesorter-JavaScript?"
368
+
369
+ #: wp-table-reloaded-admin.php:788
370
+ msgid "Yes, enable <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a> to be used to make table sortable (can be changed for every table separatly)."
371
+ msgstr "Ja, aktivera <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a> för att möjliggöra tabellsortering (kan ställas in separat för varje tabell)."
372
+
373
+ #: wp-table-reloaded-admin.php:791
374
+ msgid "Use global CSS-file?"
375
+ msgstr "Använd global CSS-fil?"
376
+
377
+ #: wp-table-reloaded-admin.php:792
378
+ msgid "Yes, load the global CSS-file wp-table-reloaded.css, which contains basic styles and graphics for the Tablesorter. (File \"global-frontend-style.css\" in subfolder \"css\")"
379
+ msgstr "Ja, ladda den globala CSS-filen wp-table-reloaded.css, som innehåller grundläggande stil och grafik för Tablesorter. (Filen \"global-frontend-style.css\" i undermappen \"css\")"
380
+
381
+ #: wp-table-reloaded-admin.php:799
382
+ msgid "Save Options"
383
+ msgstr "Spara"
384
+
385
+ #: wp-table-reloaded-admin.php:805
386
+ msgid "Uninstall Plugin"
387
+ msgstr "Avinstallera Tillägget"
388
+
389
+ #: wp-table-reloaded-admin.php:807
390
+ msgid "You may uninstall the plugin here. This will delete all tables, data, options, etc., that belong to the plugin, including all tables you added or imported.<br/> Be very careful with this and only click the button if you know what you are doing!"
391
+ msgstr "Du kan avinstallera tillägget här. Detta kommer att radera alla tabeller, data, inställningar, etc. som hör till tillägget, inklusive alla tabeller som lagts till och importerats.<br/>Var väldigt försiktig med detta och klicka på knappen bara om du vet vad du gör!"
392
+
393
+ #: wp-table-reloaded-admin.php:810
394
+ msgid "Do you really want to uninstall the plugin and delete ALL data?"
395
+ msgstr "Vill du verkligen avinstallera tillägget och radera ALL data?"
396
+
397
+ #: wp-table-reloaded-admin.php:810
398
+ msgid "Are you really sure?"
399
+ msgstr "Är du riktigt säker?"
400
+
401
+ #: wp-table-reloaded-admin.php:820
402
+ msgid "Information about the plugin"
403
+ msgstr "Information om tillägget"
404
+
405
+ #: wp-table-reloaded-admin.php:824
406
+ msgid "This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin \"WP-Table\" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin."
407
+ msgstr "Med detta tillägg kan du skapa och hantera tabeller i adminpanelen i WordPress. Du kan sedan visa dem i dina inlägg eller på dina sidor genom att använda en snabbkod. Tillägget är baserat på \"WP-Table\" av Alex Rabe men är fullständigt omskrivet och använder WordPress förstklassiga teknik vilket gör det snabbare och lättare än originalet."
408
+
409
+ #: wp-table-reloaded-admin.php:825
410
+ msgid "More information can be found on the <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/\">plugin's website</a>. A documentation and certain support and help request possibilities will be available soon."
411
+ msgstr "Mer information hittar du på <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/\">tilläggets hemsida</a>. Dokumentation och viss support och möjlighet att få hjälp finns tillgängligt inom kort."
412
+
413
+ #: wp-table-reloaded-admin.php:826
414
+ msgid "This plugin was written by <a href=\"http://tobias.baethge.com/\">Tobias B&auml;thge</a>. It is licenced as Free Software under GPL 2."
415
+ msgstr "Tillägget är skrivet av <a href=\"http://tobias.baethge.com/\">Tobias B&auml;thge</a>. Det är licensierat som Gratis Programvara under GPL 2."
416
+
417
+ #: wp-table-reloaded-admin.php:858
418
+ msgid "List Tables"
419
+ msgstr "Visa Tabeller"
420
+
421
+ #: wp-table-reloaded-admin.php:863
422
+ msgid "Plugin Options"
423
+ msgstr "Alternativ"
424
+
425
+ #: wp-table-reloaded-admin.php:864
426
+ msgid "About the Plugin"
427
+ msgstr "Om Tillägget"
428
+
429
+ #: wp-table-reloaded-export.php:30
430
+ msgid "CSV - Character-Separated Values"
431
+ msgstr "CSV - Character-Separated Values"
432
+
433
+ #: wp-table-reloaded-export.php:34
434
+ #: wp-table-reloaded-import.php:31
435
+ msgid "; (semicolon)"
436
+ msgstr "; (semikolon)"
437
+
438
+ #: wp-table-reloaded-export.php:35
439
+ #: wp-table-reloaded-import.php:32
440
+ msgid ", (comma)"
441
+ msgstr ", (komma)"
442
+
443
+ #: wp-table-reloaded-export.php:36
444
+ #: wp-table-reloaded-import.php:33
445
+ msgid ": (colon)"
446
+ msgstr ": (kolon)"
447
+
448
+ #: wp-table-reloaded-export.php:84
449
+ msgid "The Table could not be exported due to a wrong export format."
450
+ msgstr "Tabellen kunde inte exporteras på grund av fel exportformat."
451
+
452
+ #: wp-table-reloaded-admin.php:466
453
+ msgid "Enter Table Name|Default Table Name"
454
+ msgstr "Tabellnamn|Default Table Name"
455
+
456
+ #: wp-table-reloaded-admin.php:470
457
+ msgid "Enter Description|Default Table Description"
458
+ msgstr "Beskrivning|Default Table Description"
459
+
460
+ #: wp-table-reloaded-admin.php:784
461
+ msgid "Yes, uninstall everything when plugin is deactivated. Attention: You should only enable this checkbox directly before deactivating the plugin! Otherwise everything will be deleted upon an automatic update of the plugin by WordPress!"
462
+ msgstr ""
463
+
464
+ #: wp-table-reloaded-admin.php:810
465
+ msgid "Uninstall Plugin WP-Table Reloaded"
466
+ msgstr ""
467
+
468
+ #: wp-table-reloaded-export.php:31
469
+ msgid "XML - eXtended Markup Language"
470
+ msgstr ""
471
+
languages/wp-table-reloaded-tr_TR.mo ADDED
Binary file
languages/wp-table-reloaded-tr_TR.po ADDED
@@ -0,0 +1,471 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: WP Table Reloaded\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2009-04-10 19:37+0200\n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: Semih Aksu <bilgi@wpuzmani.com>\n"
8
+ "Language-Team: wpuzmani.com <bilgi@wpuzmani.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-Language: Turkish\n"
13
+ "X-Poedit-Country: TURKEY\n"
14
+ "X-Poedit-KeywordsList: _e;__\n"
15
+ "X-Poedit-Basepath: .\n"
16
+ "X-Poedit-SearchPath-0: .\n"
17
+ ": "
18
+
19
+ #: wp-table-reloaded-admin.php:123
20
+ #, php-format
21
+ msgid "Table \"%s\" added successfully."
22
+ msgstr "Tablo \"%s\" başarıyla eklendi."
23
+
24
+ #: wp-table-reloaded-admin.php:146
25
+ msgid "Table edited successfully."
26
+ msgstr "Tablo başarıyla düzenlendi."
27
+
28
+ #: wp-table-reloaded-admin.php:162
29
+ msgid "Rows swapped successfully."
30
+ msgstr "Satırlar başarıyla değiştirildi."
31
+
32
+ #: wp-table-reloaded-admin.php:181
33
+ msgid "Columns swapped successfully."
34
+ msgstr "Sütunlar başarıyla değiştirildi."
35
+
36
+ #: wp-table-reloaded-admin.php:214
37
+ #, php-format
38
+ msgid "Table \"%s\" copied successfully."
39
+ msgstr "Tablo \"%s\" başarıyla kopyalandı."
40
+
41
+ #: wp-table-reloaded-admin.php:233
42
+ #, php-format
43
+ msgid "Table \"%s\" deleted successfully."
44
+ msgstr "Tablo \"%s\" başarıyla silindi."
45
+
46
+ #: wp-table-reloaded-admin.php:243
47
+ msgid "Row deleted successfully."
48
+ msgstr "Satır başarıyla silindi."
49
+
50
+ #: wp-table-reloaded-admin.php:256
51
+ msgid "Column deleted successfully."
52
+ msgstr "Sütun başarıyla silindi."
53
+
54
+ #: wp-table-reloaded-admin.php:261
55
+ msgid "Delete failed."
56
+ msgstr "Silme başarısız."
57
+
58
+ #: wp-table-reloaded-admin.php:285
59
+ msgid "Row inserted successfully."
60
+ msgstr "Satır başarıyla eklendi."
61
+
62
+ #: wp-table-reloaded-admin.php:294
63
+ msgid "Column inserted successfully."
64
+ msgstr "Sütun başarıyla eklendi."
65
+
66
+ #: wp-table-reloaded-admin.php:297
67
+ msgid "Insert failed."
68
+ msgstr "Ekleme başarısız."
69
+
70
+ #: wp-table-reloaded-admin.php:327
71
+ msgid "Table imported successfully."
72
+ msgstr "Tablo başarıyla içe aktarıldı."
73
+
74
+ #: wp-table-reloaded-admin.php:347
75
+ #, php-format
76
+ msgid "Table \"%s\" exported successfully."
77
+ msgstr "Tablo \"%s\" başarıyla dışa aktarıldı."
78
+
79
+ #: wp-table-reloaded-admin.php:366
80
+ msgid "Options saved successfully."
81
+ msgstr "Seçenekler başarıyla kaydedildi."
82
+
83
+ #: wp-table-reloaded-admin.php:375
84
+ msgid "Plugin uninstalled successfully."
85
+ msgstr "Eklenti başarıyla kaldırıldı."
86
+
87
+ #: wp-table-reloaded-admin.php:391
88
+ msgid "List of Tables"
89
+ msgstr "Tablo Listesi"
90
+
91
+ #: wp-table-reloaded-admin.php:394
92
+ msgid "This is a list of all available tables. You may add, edit, copy or delete tables here."
93
+ msgstr "Kullanılabileceğiniz bütün tabloların listesidir. Buradan tablolar ekleyebilir, düzenleyebilir veya silebilirsiniz."
94
+
95
+ #: wp-table-reloaded-admin.php:395
96
+ msgid "If you want to show a table in your pages or posts, use the shortcode: <strong>[table id=&lt;the_table_ID&gt; /]</strong>"
97
+ msgstr "Eğer yazılarınızda veya sayfalarınızda tablo göstermek isterseniz, şu kısayolu kullanın: <strong>[table id=&lt;the_table_ID&gt; /]</strong>"
98
+
99
+ #: wp-table-reloaded-admin.php:403
100
+ msgid "ID"
101
+ msgstr "ID"
102
+
103
+ #: wp-table-reloaded-admin.php:404
104
+ #: wp-table-reloaded-admin.php:465
105
+ #: wp-table-reloaded-admin.php:512
106
+ msgid "Table Name"
107
+ msgstr "Tablo Adı"
108
+
109
+ #: wp-table-reloaded-admin.php:405
110
+ #: wp-table-reloaded-admin.php:469
111
+ #: wp-table-reloaded-admin.php:516
112
+ msgid "Description"
113
+ msgstr "Açıklama"
114
+
115
+ #: wp-table-reloaded-admin.php:406
116
+ msgid "Action"
117
+ msgstr "Eylem"
118
+
119
+ #: wp-table-reloaded-admin.php:431
120
+ msgid "Edit"
121
+ msgstr "Düzenle"
122
+
123
+ #: wp-table-reloaded-admin.php:432
124
+ msgid "Do you want to copy this table?"
125
+ msgstr "Bu tabloyu kopyalamak ister misiniz?"
126
+
127
+ #: wp-table-reloaded-admin.php:432
128
+ msgid "Copy"
129
+ msgstr "Kopyala"
130
+
131
+ #: wp-table-reloaded-admin.php:433
132
+ msgid "Export"
133
+ msgstr "Dışa aktar"
134
+
135
+ #: wp-table-reloaded-admin.php:434
136
+ #: wp-table-reloaded-admin.php:646
137
+ msgid "The complete table and all content will be erased. Do you really want to delete it?"
138
+ msgstr "Tüm tablo ve içeriği silinecek. Gerçekten silmek istiyor musunuz?"
139
+
140
+ #: wp-table-reloaded-admin.php:434
141
+ msgid "Delete"
142
+ msgstr "Sil"
143
+
144
+ #: wp-table-reloaded-admin.php:444
145
+ #: wp-table-reloaded-admin.php:761
146
+ msgid "No tables found."
147
+ msgstr "Tablo bulunamadı."
148
+
149
+ #: wp-table-reloaded-admin.php:444
150
+ #: wp-table-reloaded-admin.php:761
151
+ #, php-format
152
+ msgid "You might <a href=\"%s\">add</a> or <a href=\"%s\">import</a> one!"
153
+ msgstr "Yeni bir tane <a href=\"%s\">ekleyebilir</a> veya <a href=\"%s\">içe aktarabilirsiniz</a>!"
154
+
155
+ #: wp-table-reloaded-admin.php:452
156
+ #: wp-table-reloaded-admin.php:859
157
+ msgid "Add new Table"
158
+ msgstr "Yeni Tablo Ekle"
159
+
160
+ #: wp-table-reloaded-admin.php:457
161
+ msgid "You can add a new table here. Just enter it's name, a description (optional) and the number of rows and columns.<br/>You may add, insert or delete rows and columns later."
162
+ msgstr "Buradan yeni bir tablo ekleyebilirsiniz. Sadece ismini, açıklamasını ve satır sütun numarasını yazın.<br/>Daha sonra satır yada sütun ekleyebilir ve silebilirsiniz."
163
+
164
+ #: wp-table-reloaded-admin.php:473
165
+ msgid "Number of Rows"
166
+ msgstr "Satır Sayısı"
167
+
168
+ #: wp-table-reloaded-admin.php:477
169
+ msgid "Number of Columns"
170
+ msgstr "Sütun Sayısı"
171
+
172
+ #: wp-table-reloaded-admin.php:484
173
+ msgid "Add Table"
174
+ msgstr "Tabloyu Ekle"
175
+
176
+ #: wp-table-reloaded-admin.php:503
177
+ msgid "You may edit the content of the table here. It is also possible to add or delete columns and rows."
178
+ msgstr "Tablo içeriğini buradan düzenleyebilirsiniz. Tabi ki satır ve sütünları da buradan ekleyebilir yada silebilirsiniz."
179
+
180
+ #: wp-table-reloaded-admin.php:509
181
+ msgid "Table Information"
182
+ msgstr "Tablo Bilgisi"
183
+
184
+ #: wp-table-reloaded-admin.php:523
185
+ msgid "Table Contents"
186
+ msgstr "Tablo İçeriği"
187
+
188
+ #: wp-table-reloaded-admin.php:550
189
+ msgid "Insert Row"
190
+ msgstr "Satır Ekle"
191
+
192
+ #: wp-table-reloaded-admin.php:552
193
+ msgid "Do you really want to delete this row?"
194
+ msgstr "Bu satırı gerçekten silmek istiyor musunuz?"
195
+
196
+ #: wp-table-reloaded-admin.php:552
197
+ msgid "Delete Row"
198
+ msgstr "Satırı Sil"
199
+
200
+ #: wp-table-reloaded-admin.php:562
201
+ msgid "Insert Column"
202
+ msgstr "Sütun Ekle"
203
+
204
+ #: wp-table-reloaded-admin.php:564
205
+ msgid "Do you really want to delete this column?"
206
+ msgstr "Bu sütunu gerçekten silmek istiyor musunuz?"
207
+
208
+ #: wp-table-reloaded-admin.php:564
209
+ msgid "Delete Column"
210
+ msgstr "Sütun Sil"
211
+
212
+ #: wp-table-reloaded-admin.php:569
213
+ msgid "Add Row"
214
+ msgstr "Satır Ekle"
215
+
216
+ #: wp-table-reloaded-admin.php:569
217
+ msgid "Add Column"
218
+ msgstr "Sütun Ekle"
219
+
220
+ #: wp-table-reloaded-admin.php:579
221
+ msgid "Swap rows"
222
+ msgstr "Satırları değiştir"
223
+
224
+ #: wp-table-reloaded-admin.php:584
225
+ #: wp-table-reloaded-admin.php:599
226
+ msgid "and"
227
+ msgstr "ve"
228
+
229
+ #: wp-table-reloaded-admin.php:589
230
+ #: wp-table-reloaded-admin.php:604
231
+ msgid "Swap"
232
+ msgstr "Değiştir"
233
+
234
+ #: wp-table-reloaded-admin.php:594
235
+ msgid "Swap columns"
236
+ msgstr "Sütunları değiştir"
237
+
238
+ #: wp-table-reloaded-admin.php:608
239
+ msgid "Table Settings"
240
+ msgstr "Tablo Ayarları"
241
+
242
+ #: wp-table-reloaded-admin.php:609
243
+ msgid "These settings will only be used for this table."
244
+ msgstr "Bu ayarlar sadece bu tablo için kullanılacaktır."
245
+
246
+ #: wp-table-reloaded-admin.php:612
247
+ msgid "Alternating row colors"
248
+ msgstr "Değişken satır renkleri"
249
+
250
+ #: wp-table-reloaded-admin.php:613
251
+ msgid "Every second row will have an alternating background color."
252
+ msgstr "Her ikinci satır farklı bir arkaplan renginde olacak."
253
+
254
+ #: wp-table-reloaded-admin.php:616
255
+ msgid "Use Table Headline"
256
+ msgstr "Tablo Başlığı Kullan"
257
+
258
+ #: wp-table-reloaded-admin.php:617
259
+ msgid "The first row of your table will use the [th] tag."
260
+ msgstr "Tablonuzun ilk satırı [th] etiketini kullanacak."
261
+
262
+ #: wp-table-reloaded-admin.php:620
263
+ msgid "Print Table Name"
264
+ msgstr "Tablo Adını Göster"
265
+
266
+ #: wp-table-reloaded-admin.php:621
267
+ msgid "The Table Name will be written above the table in a [h2] tag."
268
+ msgstr "Tablo İsmi, tablonun üzerine [h2] etiketi ile yazılacak."
269
+
270
+ #: wp-table-reloaded-admin.php:624
271
+ msgid "Print Table Description"
272
+ msgstr "Tablo Açıklamasını Göster"
273
+
274
+ #: wp-table-reloaded-admin.php:625
275
+ msgid "The Table Description will be written under the table."
276
+ msgstr "Tablo Açıklaması tablonun altına yazılacak."
277
+
278
+ #: wp-table-reloaded-admin.php:628
279
+ msgid "Use Tablesorter"
280
+ msgstr "Tablo Listeleyici Kullan"
281
+
282
+ #: wp-table-reloaded-admin.php:629
283
+ msgid "You may sort a table using the <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a>. <small>Attention: You must have Tablesorter enabled on the \"Plugin Options\" page and the option \"Use Table Headline\" has to be enabled above for this to work!</small>"
284
+ msgstr "Belki <a href=\"http://www.tablesorter.com/\">Tablo-Sıralayıcı-jQuery-Eklentisi</a> kullanarak tablolarınızı sıralamak istersiniz. <small>Dikkat: Bu seçeneğin çalışması için \"Eklenti Seçenekleri\" sayfasından \"Tablo Sıralayıcı için JS\" seçeneğini etkinleştirmeniz gerekli!</small>"
285
+
286
+ #: wp-table-reloaded-admin.php:637
287
+ msgid "Update Changes"
288
+ msgstr "Değişiklikleri Güncelle"
289
+
290
+ #: wp-table-reloaded-admin.php:638
291
+ msgid "Save and go back"
292
+ msgstr "Kaydet ve geri git"
293
+
294
+ #: wp-table-reloaded-admin.php:641
295
+ msgid "Cancel"
296
+ msgstr "İptal"
297
+
298
+ #: wp-table-reloaded-admin.php:643
299
+ msgid "Other actions"
300
+ msgstr "Diğer Eylemler"
301
+
302
+ #: wp-table-reloaded-admin.php:646
303
+ msgid "Delete Table"
304
+ msgstr "Tabloyu Sil"
305
+
306
+ #: wp-table-reloaded-admin.php:647
307
+ #: wp-table-reloaded-admin.php:750
308
+ msgid "Export Table"
309
+ msgstr "Tabloyu Dışa Aktar"
310
+
311
+ #: wp-table-reloaded-admin.php:658
312
+ #: wp-table-reloaded-admin.php:860
313
+ msgid "Import a Table"
314
+ msgstr "İçeriye Tablo Aktar"
315
+
316
+ #: wp-table-reloaded-admin.php:662
317
+ msgid "You may import a table from existing data here.<br/>It has to be a CSV file. You can select the used delimiter below."
318
+ msgstr "Burada kullanmak için, içeriye bir tablo aktarabilirsiniz.<br/>Tablo CSV dosyası olmalı. Aşağıda kullanılacak sınırlandırıcıyı seçebilirsiniz."
319
+
320
+ #: wp-table-reloaded-admin.php:669
321
+ msgid "Select File with Table to Import"
322
+ msgstr "İçe Aktarılacak Dosyayı Seçin"
323
+
324
+ #: wp-table-reloaded-admin.php:673
325
+ msgid "Used Delimiter"
326
+ msgstr "Sınırlayıcı Kullan"
327
+
328
+ #: wp-table-reloaded-admin.php:685
329
+ msgid "Import Table"
330
+ msgstr "İçe Tablo Aktar"
331
+
332
+ #: wp-table-reloaded-admin.php:701
333
+ #: wp-table-reloaded-admin.php:861
334
+ msgid "Export a Table"
335
+ msgstr "Tabloyu Dışa Aktar"
336
+
337
+ #: wp-table-reloaded-admin.php:705
338
+ msgid "You may export a table here."
339
+ msgstr "Tabloyu buradan dışa aktarabilirsiniz."
340
+
341
+ #: wp-table-reloaded-admin.php:713
342
+ msgid "Select Table to Export"
343
+ msgstr "Dışa Aktarılacak Tabloyu Seçin"
344
+
345
+ #: wp-table-reloaded-admin.php:728
346
+ msgid "Select Export Format"
347
+ msgstr "Dışa Aktarma Türünü Seçin"
348
+
349
+ #: wp-table-reloaded-admin.php:738
350
+ msgid "Select Delimiter to use"
351
+ msgstr "Kullanıcılacak sınırlayıcıyı seçin"
352
+
353
+ #: wp-table-reloaded-admin.php:770
354
+ msgid "General Plugin Options"
355
+ msgstr "Genel Eklenti Seçenekleri"
356
+
357
+ #: wp-table-reloaded-admin.php:774
358
+ msgid "You may change these global options.<br/>They will effect all tables or the general plugin behaviour."
359
+ msgstr "Buradan genel seçenekleri değiştirebilirsiniz.<br/>Bu değişiklikler bütün tabloları veya genel eklenti kullanımını etkileyecektir."
360
+
361
+ #: wp-table-reloaded-admin.php:783
362
+ msgid "Uninstall Plugin upon Deactivation?"
363
+ msgstr "Pasif hale getirilince eklentiyi sil?"
364
+
365
+ #: wp-table-reloaded-admin.php:787
366
+ msgid "Enable Tablesorter-JavaScript?"
367
+ msgstr "Tablo Sıralayıcı için JavaScript aktifleştir?"
368
+
369
+ #: wp-table-reloaded-admin.php:788
370
+ msgid "Yes, enable <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-Plugin</a> to be used to make table sortable (can be changed for every table separatly)."
371
+ msgstr "Evet, tabloları belli niteliklerine göre sıralamak için <a href=\"http://www.tablesorter.com/\">Tablo-Sıralayıcı-jQuery-Eklentisi</a>ni etkinleştir."
372
+
373
+ #: wp-table-reloaded-admin.php:791
374
+ msgid "Use global CSS-file?"
375
+ msgstr "Genel CSS-dosyasını Kullan?"
376
+
377
+ #: wp-table-reloaded-admin.php:792
378
+ msgid "Yes, load the global CSS-file wp-table-reloaded.css, which contains basic styles and graphics for the Tablesorter. (File \"global-frontend-style.css\" in subfolder \"css\")"
379
+ msgstr "Evet, Tablo Sıralayıcı için temel stilleri ve grafikleri içeren, genel CSS-dosyası olan wp-table-reloaded.css dosyasını yükle. (Dosya \"css\" alt klasöründeki \"global-frontend-style.css\")"
380
+
381
+ #: wp-table-reloaded-admin.php:799
382
+ msgid "Save Options"
383
+ msgstr "Seçenekleri Kaydet"
384
+
385
+ #: wp-table-reloaded-admin.php:805
386
+ msgid "Uninstall Plugin"
387
+ msgstr "Eklentiyi Sil"
388
+
389
+ #: wp-table-reloaded-admin.php:807
390
+ msgid "You may uninstall the plugin here. This will delete all tables, data, options, etc., that belong to the plugin, including all tables you added or imported.<br/> Be very careful with this and only click the button if you know what you are doing!"
391
+ msgstr "Eklentiyi buradan silebilirsiniz. Bu işlem bütün tabloları, bilgileri, seçenekleri ve diğerlerini, eklentiye bağlı olarak, içeri aktardığınız tablolaları da silecek.<br/>Burada çok dikkatli olun ve eğer ne yaptığınızı biliyorsanız butona basın!"
392
+
393
+ #: wp-table-reloaded-admin.php:810
394
+ msgid "Do you really want to uninstall the plugin and delete ALL data?"
395
+ msgstr "Eklenti kaldırmak ve TÜM bilgileri silmek istediğinize emin misiniz?"
396
+
397
+ #: wp-table-reloaded-admin.php:810
398
+ msgid "Are you really sure?"
399
+ msgstr "Gerçekten emin misiniz?"
400
+
401
+ #: wp-table-reloaded-admin.php:820
402
+ msgid "Information about the plugin"
403
+ msgstr "Eklenti Bilgileri"
404
+
405
+ #: wp-table-reloaded-admin.php:824
406
+ msgid "This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin \"WP-Table\" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin."
407
+ msgstr "Bu eklenti WordPress yönetim panelinden tablo oluşturmanıza ve tabloları yönetmenize imkan sağlıyor. Daha sonra kısayol kodu ile bu tabloları yazılarınızda veya sayfalarınızda gösterebilirsiniz. Bu eklenti Alex Rabe tarafından yazılan WP-Table eklentisinin yeniden yazılmış şeklidir."
408
+
409
+ #: wp-table-reloaded-admin.php:825
410
+ msgid "More information can be found on the <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/\">plugin's website</a>. A documentation and certain support and help request possibilities will be available soon."
411
+ msgstr "Daha fazla bilgiyi <a href=\"http://tobias.baethge.com/wordpress-plugins/wp-table-roladed/\">eklentinin websitesinde</a> bulabilirsiniz. Belgeler, eklenti desteği ve yardım istekleri çok yakında hazır olacak."
412
+
413
+ #: wp-table-reloaded-admin.php:826
414
+ msgid "This plugin was written by <a href=\"http://tobias.baethge.com/\">Tobias B&auml;thge</a>. It is licenced as Free Software under GPL 2."
415
+ msgstr "Bu eklenti <a href=\"http://tobias.baethge.com/\">Tobias B&auml;thge</a> tarafından yazılmıştır. GPL 2 ile Ücretsiz Yazılım olarak lisanslanmıştır."
416
+
417
+ #: wp-table-reloaded-admin.php:858
418
+ msgid "List Tables"
419
+ msgstr "Tabloları Listele"
420
+
421
+ #: wp-table-reloaded-admin.php:863
422
+ msgid "Plugin Options"
423
+ msgstr "Eklenti Seçenekleri"
424
+
425
+ #: wp-table-reloaded-admin.php:864
426
+ msgid "About the Plugin"
427
+ msgstr "Eklenti Hakkında"
428
+
429
+ #: wp-table-reloaded-export.php:30
430
+ msgid "CSV - Character-Separated Values"
431
+ msgstr "CSV - Excel CSV uzantılı Dosyalar"
432
+
433
+ #: wp-table-reloaded-export.php:34
434
+ #: wp-table-reloaded-import.php:31
435
+ msgid "; (semicolon)"
436
+ msgstr "; (noktalı virgül)"
437
+
438
+ #: wp-table-reloaded-export.php:35
439
+ #: wp-table-reloaded-import.php:32
440
+ msgid ", (comma)"
441
+ msgstr ", (virgül)"
442
+
443
+ #: wp-table-reloaded-export.php:36
444
+ #: wp-table-reloaded-import.php:33
445
+ msgid ": (colon)"
446
+ msgstr ": (iki nokta)"
447
+
448
+ #: wp-table-reloaded-export.php:84
449
+ msgid "The Table could not be exported due to a wrong export format."
450
+ msgstr "Tablo, dışa aktarma türü yanlış olduğundan dışa aktarılamadı."
451
+
452
+ #: wp-table-reloaded-admin.php:466
453
+ msgid "Enter Table Name|Default Table Name"
454
+ msgstr "Tablo Adı|Default Table Name"
455
+
456
+ #: wp-table-reloaded-admin.php:470
457
+ msgid "Enter Description|Default Table Description"
458
+ msgstr "Açıklama|Default Table Description"
459
+
460
+ #: wp-table-reloaded-admin.php:784
461
+ msgid "Yes, uninstall everything when plugin is deactivated. Attention: You should only enable this checkbox directly before deactivating the plugin! Otherwise everything will be deleted upon an automatic update of the plugin by WordPress!"
462
+ msgstr ""
463
+
464
+ #: wp-table-reloaded-admin.php:810
465
+ msgid "Uninstall Plugin WP-Table Reloaded"
466
+ msgstr ""
467
+
468
+ #: wp-table-reloaded-export.php:31
469
+ msgid "XML - eXtended Markup Language"
470
+ msgstr ""
471
+
languages/wp-table-reloaded.pot ADDED
@@ -0,0 +1,689 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR Tobias B&auml;thge
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: PACKAGE VERSION\n"
10
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-table-reloaded\n"
11
+ "POT-Creation-Date: 2009-04-21 21:24+0000\n"
12
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=CHARSET\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+
19
+ #: php/wp-table-reloaded-export.class.php:30
20
+ #: php/wp-table-reloaded-import.class.php:41
21
+ msgid "CSV - Character-Separated Values"
22
+ msgstr ""
23
+
24
+ #: php/wp-table-reloaded-export.class.php:31
25
+ #: php/wp-table-reloaded-import.class.php:42
26
+ msgid "HTML - Hypertext Markup Language"
27
+ msgstr ""
28
+
29
+ #: php/wp-table-reloaded-export.class.php:32
30
+ #: php/wp-table-reloaded-import.class.php:43
31
+ msgid "XML - eXtended Markup Language"
32
+ msgstr ""
33
+
34
+ #: php/wp-table-reloaded-export.class.php:35
35
+ #: php/wp-table-reloaded-import.class.php:36
36
+ msgid "; (semicolon)"
37
+ msgstr ""
38
+
39
+ #: php/wp-table-reloaded-export.class.php:36
40
+ #: php/wp-table-reloaded-import.class.php:37
41
+ msgid ", (comma)"
42
+ msgstr ""
43
+
44
+ #: php/wp-table-reloaded-export.class.php:37
45
+ #: php/wp-table-reloaded-import.class.php:38
46
+ msgid ": (colon)"
47
+ msgstr ""
48
+
49
+ #: wp-table-reloaded-admin.php:137
50
+ #, php-format
51
+ msgid "Table \"%s\" added successfully."
52
+ msgstr ""
53
+
54
+ #: wp-table-reloaded-admin.php:160
55
+ msgid "Table edited successfully."
56
+ msgstr ""
57
+
58
+ #: wp-table-reloaded-admin.php:176
59
+ msgid "Rows swapped successfully."
60
+ msgstr ""
61
+
62
+ #: wp-table-reloaded-admin.php:195
63
+ msgid "Columns swapped successfully."
64
+ msgstr ""
65
+
66
+ #: wp-table-reloaded-admin.php:224
67
+ msgid "Copy of"
68
+ msgstr ""
69
+
70
+ #: wp-table-reloaded-admin.php:229
71
+ #, php-format
72
+ msgid "Table \"%s\" copied successfully."
73
+ msgstr ""
74
+
75
+ #: wp-table-reloaded-admin.php:248
76
+ #, php-format
77
+ msgid "Table \"%s\" deleted successfully."
78
+ msgstr ""
79
+
80
+ #: wp-table-reloaded-admin.php:258
81
+ msgid "Row deleted successfully."
82
+ msgstr ""
83
+
84
+ #: wp-table-reloaded-admin.php:271
85
+ msgid "Column deleted successfully."
86
+ msgstr ""
87
+
88
+ #: wp-table-reloaded-admin.php:276
89
+ msgid "Delete failed."
90
+ msgstr ""
91
+
92
+ #: wp-table-reloaded-admin.php:300
93
+ msgid "Row inserted successfully."
94
+ msgstr ""
95
+
96
+ #: wp-table-reloaded-admin.php:309
97
+ msgid "Column inserted successfully."
98
+ msgstr ""
99
+
100
+ #: wp-table-reloaded-admin.php:312
101
+ msgid "Insert failed."
102
+ msgstr ""
103
+
104
+ #: wp-table-reloaded-admin.php:340
105
+ msgid "Imported Table"
106
+ msgstr ""
107
+
108
+ #: wp-table-reloaded-admin.php:341
109
+ msgid "via form"
110
+ msgstr ""
111
+
112
+ #: wp-table-reloaded-admin.php:358 wp-table-reloaded-admin.php:379
113
+ msgid "Table imported successfully."
114
+ msgstr ""
115
+
116
+ #: wp-table-reloaded-admin.php:361
117
+ msgid "Table could not be imported."
118
+ msgstr ""
119
+
120
+ #: wp-table-reloaded-admin.php:405
121
+ #, php-format
122
+ msgid "Table \"%s\" exported successfully."
123
+ msgstr ""
124
+
125
+ #: wp-table-reloaded-admin.php:426
126
+ msgid "Options saved successfully."
127
+ msgstr ""
128
+
129
+ #. #-#-#-#-# plugin.pot (PACKAGE VERSION) #-#-#-#-#
130
+ #. Plugin Name of an extension
131
+ #: wp-table-reloaded-admin.php:444
132
+ msgid "WP-Table Reloaded"
133
+ msgstr ""
134
+
135
+ #: wp-table-reloaded-admin.php:445
136
+ msgid "Plugin deactivated successfully."
137
+ msgstr ""
138
+
139
+ #: wp-table-reloaded-admin.php:446
140
+ msgid ""
141
+ "All tables, data and options were deleted. You may now remove the plugin's "
142
+ "subfolder from your WordPress plugin folder."
143
+ msgstr ""
144
+
145
+ #: wp-table-reloaded-admin.php:464
146
+ msgid "List of Tables"
147
+ msgstr ""
148
+
149
+ #: wp-table-reloaded-admin.php:467
150
+ msgid ""
151
+ "This is a list of all available tables. You may add, edit, copy or delete "
152
+ "tables here."
153
+ msgstr ""
154
+
155
+ #: wp-table-reloaded-admin.php:468
156
+ msgid ""
157
+ "If you want to show a table in your pages, posts or text-widgets, use the "
158
+ "shortcode: <strong>[table id=&lt;the_table_ID&gt; /]</strong>"
159
+ msgstr ""
160
+
161
+ #: wp-table-reloaded-admin.php:476 wp-table-reloaded-admin.php:816
162
+ msgid "ID"
163
+ msgstr ""
164
+
165
+ #: wp-table-reloaded-admin.php:477 wp-table-reloaded-admin.php:537
166
+ #: wp-table-reloaded-admin.php:587 wp-table-reloaded-admin.php:817
167
+ msgid "Table Name"
168
+ msgstr ""
169
+
170
+ #: wp-table-reloaded-admin.php:478 wp-table-reloaded-admin.php:541
171
+ #: wp-table-reloaded-admin.php:591 wp-table-reloaded-admin.php:818
172
+ msgid "Description"
173
+ msgstr ""
174
+
175
+ #: wp-table-reloaded-admin.php:479 wp-table-reloaded-admin.php:819
176
+ msgid "Action"
177
+ msgstr ""
178
+
179
+ #: wp-table-reloaded-admin.php:504
180
+ msgid "Edit"
181
+ msgstr ""
182
+
183
+ #: wp-table-reloaded-admin.php:505
184
+ msgid "Do you want to copy this table?"
185
+ msgstr ""
186
+
187
+ #: wp-table-reloaded-admin.php:505
188
+ msgid "Copy"
189
+ msgstr ""
190
+
191
+ #: wp-table-reloaded-admin.php:506
192
+ msgid "Export"
193
+ msgstr ""
194
+
195
+ #: wp-table-reloaded-admin.php:507 wp-table-reloaded-admin.php:736
196
+ msgid ""
197
+ "The complete table and all content will be erased. Do you really want to "
198
+ "delete it?"
199
+ msgstr ""
200
+
201
+ #: wp-table-reloaded-admin.php:507
202
+ msgid "Delete"
203
+ msgstr ""
204
+
205
+ #: wp-table-reloaded-admin.php:517 wp-table-reloaded-admin.php:930
206
+ msgid "No tables found."
207
+ msgstr ""
208
+
209
+ #: wp-table-reloaded-admin.php:517 wp-table-reloaded-admin.php:930
210
+ #, php-format
211
+ msgid "You might <a href=\"%s\">add</a> or <a href=\"%s\">import</a> one!"
212
+ msgstr ""
213
+
214
+ #: wp-table-reloaded-admin.php:525 wp-table-reloaded-admin.php:1095
215
+ msgid "Add new Table"
216
+ msgstr ""
217
+
218
+ #: wp-table-reloaded-admin.php:529
219
+ msgid ""
220
+ "You can add a new table here. Just enter it's name, a description (optional) "
221
+ "and the number of rows and columns.<br/>You may add, insert or delete rows "
222
+ "and columns later."
223
+ msgstr ""
224
+
225
+ #: wp-table-reloaded-admin.php:538
226
+ msgid "Enter Table Name"
227
+ msgstr ""
228
+
229
+ #: wp-table-reloaded-admin.php:542
230
+ msgid "Enter Description"
231
+ msgstr ""
232
+
233
+ #: wp-table-reloaded-admin.php:545
234
+ msgid "Number of Rows"
235
+ msgstr ""
236
+
237
+ #: wp-table-reloaded-admin.php:549
238
+ msgid "Number of Columns"
239
+ msgstr ""
240
+
241
+ #: wp-table-reloaded-admin.php:556
242
+ msgid "Add Table"
243
+ msgstr ""
244
+
245
+ #: wp-table-reloaded-admin.php:577
246
+ msgid ""
247
+ "You may edit the content of the table here. It is also possible to add or "
248
+ "delete columns and rows."
249
+ msgstr ""
250
+
251
+ #: wp-table-reloaded-admin.php:583
252
+ msgid "Table Information"
253
+ msgstr ""
254
+
255
+ #: wp-table-reloaded-admin.php:600
256
+ msgid "Table Contents"
257
+ msgstr ""
258
+
259
+ #: wp-table-reloaded-admin.php:628
260
+ msgid "Insert Row"
261
+ msgstr ""
262
+
263
+ #: wp-table-reloaded-admin.php:630
264
+ msgid "Do you really want to delete this row?"
265
+ msgstr ""
266
+
267
+ #: wp-table-reloaded-admin.php:630
268
+ msgid "Delete Row"
269
+ msgstr ""
270
+
271
+ #: wp-table-reloaded-admin.php:640
272
+ msgid "Insert Column"
273
+ msgstr ""
274
+
275
+ #: wp-table-reloaded-admin.php:642
276
+ msgid "Do you really want to delete this column?"
277
+ msgstr ""
278
+
279
+ #: wp-table-reloaded-admin.php:642
280
+ msgid "Delete Column"
281
+ msgstr ""
282
+
283
+ #: wp-table-reloaded-admin.php:647
284
+ msgid "Add Row"
285
+ msgstr ""
286
+
287
+ #: wp-table-reloaded-admin.php:647
288
+ msgid "Add Column"
289
+ msgstr ""
290
+
291
+ #: wp-table-reloaded-admin.php:668
292
+ #, php-format
293
+ msgid "Swap rows %s and %s"
294
+ msgstr ""
295
+
296
+ #: wp-table-reloaded-admin.php:671 wp-table-reloaded-admin.php:691
297
+ msgid "Swap"
298
+ msgstr ""
299
+
300
+ #: wp-table-reloaded-admin.php:688
301
+ #, php-format
302
+ msgid "Swap columns %s and %s"
303
+ msgstr ""
304
+
305
+ #: wp-table-reloaded-admin.php:696
306
+ msgid "Table Settings"
307
+ msgstr ""
308
+
309
+ #: wp-table-reloaded-admin.php:698
310
+ msgid "These settings will only be used for this table."
311
+ msgstr ""
312
+
313
+ #: wp-table-reloaded-admin.php:701
314
+ msgid "Alternating row colors"
315
+ msgstr ""
316
+
317
+ #: wp-table-reloaded-admin.php:702
318
+ msgid "Every second row will have an alternating background color."
319
+ msgstr ""
320
+
321
+ #: wp-table-reloaded-admin.php:705
322
+ msgid "Use Table Headline"
323
+ msgstr ""
324
+
325
+ #: wp-table-reloaded-admin.php:706
326
+ msgid "The first row of your table will use the [th] tag."
327
+ msgstr ""
328
+
329
+ #: wp-table-reloaded-admin.php:709
330
+ msgid "Print Table Name"
331
+ msgstr ""
332
+
333
+ #: wp-table-reloaded-admin.php:710
334
+ msgid "The Table Name will be written above the table in a [h2] tag."
335
+ msgstr ""
336
+
337
+ #: wp-table-reloaded-admin.php:713
338
+ msgid "Print Table Description"
339
+ msgstr ""
340
+
341
+ #: wp-table-reloaded-admin.php:714
342
+ msgid "The Table Description will be written under the table."
343
+ msgstr ""
344
+
345
+ #: wp-table-reloaded-admin.php:717
346
+ msgid "Use Tablesorter"
347
+ msgstr ""
348
+
349
+ #: wp-table-reloaded-admin.php:718
350
+ msgid ""
351
+ "You may sort a table using the <a href=\"http://www.tablesorter.com/"
352
+ "\">Tablesorter-jQuery-Plugin</a>. <small>Attention: You must have "
353
+ "Tablesorter enabled on the \"Plugin Options\" page and the option \"Use "
354
+ "Table Headline\" has to be enabled above for this to work!</small>"
355
+ msgstr ""
356
+
357
+ #: wp-table-reloaded-admin.php:727
358
+ msgid "Update Changes"
359
+ msgstr ""
360
+
361
+ #: wp-table-reloaded-admin.php:728
362
+ msgid "Save and go back"
363
+ msgstr ""
364
+
365
+ #: wp-table-reloaded-admin.php:731
366
+ msgid "Cancel"
367
+ msgstr ""
368
+
369
+ #: wp-table-reloaded-admin.php:733
370
+ msgid "Other actions"
371
+ msgstr ""
372
+
373
+ #: wp-table-reloaded-admin.php:736
374
+ msgid "Delete Table"
375
+ msgstr ""
376
+
377
+ #: wp-table-reloaded-admin.php:737 wp-table-reloaded-admin.php:919
378
+ msgid "Export Table"
379
+ msgstr ""
380
+
381
+ #: wp-table-reloaded-admin.php:748 wp-table-reloaded-admin.php:1096
382
+ msgid "Import a Table"
383
+ msgstr ""
384
+
385
+ #: wp-table-reloaded-admin.php:752
386
+ msgid ""
387
+ "You may import a table from existing data here.<br/>It may be a CSV, XML "
388
+ "oder HTML file. It needs a certrain structure though. Please consult the "
389
+ "documentation."
390
+ msgstr ""
391
+
392
+ #: wp-table-reloaded-admin.php:759
393
+ msgid "Select Import Format"
394
+ msgstr ""
395
+
396
+ #: wp-table-reloaded-admin.php:769
397
+ msgid "Used Delimiter"
398
+ msgstr ""
399
+
400
+ #: wp-table-reloaded-admin.php:776 wp-table-reloaded-admin.php:910
401
+ msgid "<small>(Only needed for CSV export.)</small>"
402
+ msgstr ""
403
+
404
+ #: wp-table-reloaded-admin.php:779
405
+ msgid "Select File with Table to Import"
406
+ msgstr ""
407
+
408
+ #: wp-table-reloaded-admin.php:783
409
+ msgid "- or -"
410
+ msgstr ""
411
+
412
+ #: wp-table-reloaded-admin.php:784
413
+ msgid "(upload will be preferred over pasting)"
414
+ msgstr ""
415
+
416
+ #: wp-table-reloaded-admin.php:787
417
+ msgid "Paste data with Table to Import"
418
+ msgstr ""
419
+
420
+ #: wp-table-reloaded-admin.php:793
421
+ msgid "Import Table"
422
+ msgstr ""
423
+
424
+ #: wp-table-reloaded-admin.php:806
425
+ msgid "Import from original WP-Table plugin"
426
+ msgstr ""
427
+
428
+ #: wp-table-reloaded-admin.php:839
429
+ msgid "Do you really want to import this table from the WP-Table plugin?"
430
+ msgstr ""
431
+
432
+ #: wp-table-reloaded-admin.php:839
433
+ msgid "Import"
434
+ msgstr ""
435
+
436
+ #: wp-table-reloaded-admin.php:847
437
+ msgid "WP-Table by Alex Rabe seems to be installed, but no tables were found."
438
+ msgstr ""
439
+
440
+ #: wp-table-reloaded-admin.php:866 wp-table-reloaded-admin.php:1097
441
+ msgid "Export a Table"
442
+ msgstr ""
443
+
444
+ #: wp-table-reloaded-admin.php:870
445
+ msgid ""
446
+ "You may export a table here. Just select the table, your desired export "
447
+ "format and a delimiter (needed for CSV only).<br/>You may opt to download "
448
+ "the export file. Otherwise it will be shown on this page."
449
+ msgstr ""
450
+
451
+ #: wp-table-reloaded-admin.php:878
452
+ msgid "Select Table to Export"
453
+ msgstr ""
454
+
455
+ #: wp-table-reloaded-admin.php:893
456
+ msgid "Select Export Format"
457
+ msgstr ""
458
+
459
+ #: wp-table-reloaded-admin.php:903
460
+ msgid "Select Delimiter to use"
461
+ msgstr ""
462
+
463
+ #: wp-table-reloaded-admin.php:913
464
+ msgid "Download file"
465
+ msgstr ""
466
+
467
+ #: wp-table-reloaded-admin.php:914
468
+ msgid "Yes, I want to download the export file."
469
+ msgstr ""
470
+
471
+ #: wp-table-reloaded-admin.php:939
472
+ msgid "General Plugin Options"
473
+ msgstr ""
474
+
475
+ #: wp-table-reloaded-admin.php:943
476
+ msgid ""
477
+ "You may change these global options.<br/>They will effect all tables or the "
478
+ "general plugin behaviour."
479
+ msgstr ""
480
+
481
+ #: wp-table-reloaded-admin.php:950
482
+ msgid "Frontend Options"
483
+ msgstr ""
484
+
485
+ #: wp-table-reloaded-admin.php:954
486
+ msgid "Enable Tablesorter-JavaScript?"
487
+ msgstr ""
488
+
489
+ #: wp-table-reloaded-admin.php:955
490
+ msgid ""
491
+ "Yes, enable <a href=\"http://www.tablesorter.com/\">Tablesorter-jQuery-"
492
+ "Plugin</a> to be used to make table sortable (can be changed for every table "
493
+ "separatly)."
494
+ msgstr ""
495
+
496
+ #: wp-table-reloaded-admin.php:958
497
+ msgid "Use global CSS-file?"
498
+ msgstr ""
499
+
500
+ #: wp-table-reloaded-admin.php:959
501
+ msgid ""
502
+ "Yes, load a CSS-file, which contains basic styles for the table. The CSS-"
503
+ "files must be located in subfolder \"css\". To change styles, please copy "
504
+ "the file \"example-style.css\", edit the copied file with your style changes "
505
+ "and place it in the same folder. You may then select it below. "
506
+ msgstr ""
507
+
508
+ #: wp-table-reloaded-admin.php:963
509
+ msgid "Select CSS file to use"
510
+ msgstr ""
511
+
512
+ #: wp-table-reloaded-admin.php:975
513
+ msgid ""
514
+ "(These files are located in the subfolder \"css\" of the plugin folder.)"
515
+ msgstr ""
516
+
517
+ #: wp-table-reloaded-admin.php:982
518
+ msgid "Admin Options"
519
+ msgstr ""
520
+
521
+ #: wp-table-reloaded-admin.php:986
522
+ msgid "Uninstall Plugin upon Deactivation?"
523
+ msgstr ""
524
+
525
+ #: wp-table-reloaded-admin.php:987
526
+ msgid ""
527
+ "Yes, uninstall everything when plugin is deactivated. Attention: You should "
528
+ "only enable this checkbox directly before deactivating the plugin from the "
529
+ "WordPress plugins page! (It does not influence the \"Manually Uninstall "
530
+ "Plugin\" button below!)"
531
+ msgstr ""
532
+
533
+ #: wp-table-reloaded-admin.php:997
534
+ msgid "Save Options"
535
+ msgstr ""
536
+
537
+ #: wp-table-reloaded-admin.php:1003
538
+ msgid "Manually Uninstall Plugin"
539
+ msgstr ""
540
+
541
+ #: wp-table-reloaded-admin.php:1005
542
+ msgid ""
543
+ "You may uninstall the plugin here. This <strong>will delete</strong> all "
544
+ "tables, data, options, etc., that belong to the plugin, including all tables "
545
+ "you added or imported.<br/> Be very careful with this and only click the "
546
+ "button if you know what you are doing!"
547
+ msgstr ""
548
+
549
+ #: wp-table-reloaded-admin.php:1008
550
+ msgid "Do you really want to uninstall the plugin and delete ALL data?"
551
+ msgstr ""
552
+
553
+ #: wp-table-reloaded-admin.php:1008
554
+ msgid "Are you really sure?"
555
+ msgstr ""
556
+
557
+ #: wp-table-reloaded-admin.php:1008
558
+ msgid "Uninstall Plugin WP-Table Reloaded"
559
+ msgstr ""
560
+
561
+ #: wp-table-reloaded-admin.php:1018
562
+ msgid "Information about the plugin"
563
+ msgstr ""
564
+
565
+ #: wp-table-reloaded-admin.php:1024
566
+ msgid "Plugin Purpose"
567
+ msgstr ""
568
+
569
+ #: wp-table-reloaded-admin.php:1026
570
+ msgid ""
571
+ "This plugin allows you to create and manage tables in the admin-area of "
572
+ "WordPress. You can then show them in your posts, on your pages or in text "
573
+ "widgets by using a shortcode."
574
+ msgstr ""
575
+
576
+ #: wp-table-reloaded-admin.php:1031
577
+ msgid "Usage"
578
+ msgstr ""
579
+
580
+ #: wp-table-reloaded-admin.php:1033
581
+ msgid ""
582
+ "At first you should add or import a table. Then edit your data and select "
583
+ "the options you want. To include the table into your posts, pages or text "
584
+ "widgets, write the shortcode [table id=&lt;table-id&gt;] into them. You may "
585
+ "then style your table via CSS. Every table has the CSS-class \"wp-table-"
586
+ "reloaded\". A table also has the class \"wp-table-reloaded-&lt;table-id&gt;"
587
+ "\". You can also use the classes \"column-&lt;number&gt;\" and \"row-&lt;"
588
+ "number&gt;\" to style rows and columns individually. Use this to style "
589
+ "columns width and text alignment."
590
+ msgstr ""
591
+
592
+ #: wp-table-reloaded-admin.php:1037
593
+ msgid "More Information and Documentation"
594
+ msgstr ""
595
+
596
+ #: wp-table-reloaded-admin.php:1039
597
+ msgid ""
598
+ "More information can be found on the <a href=\"http://tobias.baethge.com/"
599
+ "wordpress-plugins/wp-table-reloaded/\">plugin's website</a> or on its page "
600
+ "in the <a href=\"http://wordpress.org/extend/plugins/wp-table-reloaded/"
601
+ "\">WordPress Plugin Directory</a>. A documentation and certain support and "
602
+ "help request possibilities will be available soon."
603
+ msgstr ""
604
+
605
+ #: wp-table-reloaded-admin.php:1044
606
+ msgid "Author and Licence"
607
+ msgstr ""
608
+
609
+ #: wp-table-reloaded-admin.php:1046
610
+ msgid ""
611
+ "This plugin was written by <a href=\"http://tobias.baethge.com/\">Tobias "
612
+ "B&auml;thge</a>. It is licenced as Free Software under GPL 2."
613
+ msgstr ""
614
+
615
+ #: wp-table-reloaded-admin.php:1046
616
+ msgid ""
617
+ "If you like the plugin, please consider <a href=\"http://tobias.baethge.com/"
618
+ "wordpress-plugins/donate/\">donating</a> or rating it at the <a href="
619
+ "\"http://wordpress.org/extend/plugins/wp-table-reloaded/\">WordPress Plugin "
620
+ "Directory</a>. Thanks!"
621
+ msgstr ""
622
+
623
+ #: wp-table-reloaded-admin.php:1051
624
+ msgid "Credits and Thanks"
625
+ msgstr ""
626
+
627
+ #: wp-table-reloaded-admin.php:1054
628
+ msgid ""
629
+ "Thanks go to <a href=\"http://alexrabe.boelinger.com/\">Alex Rabe</a> for "
630
+ "the original WP-Table plugin,"
631
+ msgstr ""
632
+
633
+ #: wp-table-reloaded-admin.php:1055
634
+ msgid ""
635
+ "Christian Bach for the <a href=\"http://www.tablesorter.com/\">Tablesorter-"
636
+ "jQuery-Plugin</a>,"
637
+ msgstr ""
638
+
639
+ #: wp-table-reloaded-admin.php:1056
640
+ msgid ""
641
+ "the submitters of translations: <br/>&middot; Turkish (thanks to <a href="
642
+ "\"http://www.wpuzmani.com/\">Semih</a>)<br/>&middot; Swedish (thanks to <a "
643
+ "href=\"http://www.zuperzed.se/\">ZuperZed</a>)"
644
+ msgstr ""
645
+
646
+ #: wp-table-reloaded-admin.php:1057
647
+ msgid "and all contributors, supporters, reviewers and users of the plugin!"
648
+ msgstr ""
649
+
650
+ #: wp-table-reloaded-admin.php:1094
651
+ msgid "List Tables"
652
+ msgstr ""
653
+
654
+ #: wp-table-reloaded-admin.php:1099
655
+ msgid "Plugin Options"
656
+ msgstr ""
657
+
658
+ #: wp-table-reloaded-admin.php:1100
659
+ msgid "About the Plugin"
660
+ msgstr ""
661
+
662
+ #: wp-table-reloaded-admin.php:1108
663
+ msgid ""
664
+ "More information can be found on the <a href=\"http://tobias.baethge.com/"
665
+ "wordpress-plugins/wp-table-reloaded/\">plugin's website</a>. A documentation "
666
+ "and certain support and help request possibilities will be available soon."
667
+ msgstr ""
668
+
669
+ #. Plugin URI of an extension
670
+ msgid "http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/"
671
+ msgstr ""
672
+
673
+ #. Description of an extension
674
+ msgid ""
675
+ "This plugin allows you to create and manage tables in the admin-area of "
676
+ "WordPress. You can then show them in your posts, on your pages or in text "
677
+ "widgets by using a shortcode. The plugin is a completely rewritten and "
678
+ "extended version of Alex Rabe's \"WP-Table\" and uses the state-of-the-art "
679
+ "WordPress techniques which makes it faster and lighter than the original "
680
+ "plugin."
681
+ msgstr ""
682
+
683
+ #. Author of an extension
684
+ msgid "Tobias B&auml;thge"
685
+ msgstr ""
686
+
687
+ #. Author URI of an extension
688
+ msgid "http://tobias.baethge.com/"
689
+ msgstr ""
php/simplexml.class.php ADDED
@@ -0,0 +1,316 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * If the result will be an object, this container class is used.
5
+ *
6
+ */
7
+
8
+ class SimpleXMLObject{
9
+ function attributes(){
10
+ $container = get_object_vars($this);
11
+ return (object) $container["@attributes"];
12
+ }
13
+ function content(){
14
+ $container = get_object_vars($this);
15
+ return (object) $container["@content"];
16
+ }
17
+
18
+ }
19
+
20
+ /**
21
+ * The Main XML Parser Class
22
+ *
23
+ */
24
+ class simplexml {
25
+ var $result = array();
26
+ var $ignore_level = 0;
27
+ var $skip_empty_values = false;
28
+ var $php_errormsg;
29
+ var $evalCode="";
30
+
31
+ /**
32
+ * Adds Items to Array
33
+ *
34
+ * @param int $level
35
+ * @param array $tags
36
+ * @param $value
37
+ * @param string $type
38
+ */
39
+ function array_insert($level, $tags, $value, $type)
40
+ {
41
+ $temp = '';
42
+ for ($c = $this->ignore_level + 1; $c < $level + 1; $c++) {
43
+ if (isset($tags[$c]) && (is_numeric(trim($tags[$c])) || trim($tags[$c]))) {
44
+ if (is_numeric($tags[$c])) {
45
+ $temp .= '[' . $tags[$c] . ']';
46
+ } else {
47
+ $temp .= '["' . $tags[$c] . '"]';
48
+ }
49
+ }
50
+ }
51
+ $this->evalCode .= '$this->result' . $temp . "=\"" . addslashes($value) . "\";//(" . $type . ")\n";
52
+ #echo $code. "\n";
53
+ }
54
+
55
+ /**
56
+ * Define the repeated tags in XML file so we can set an index
57
+ *
58
+ * @param array $array
59
+ * @return array
60
+ */
61
+ function xml_tags($array)
62
+ { $repeats_temp = array();
63
+ $repeats_count = array();
64
+ $repeats = array();
65
+
66
+ if (is_array($array)) {
67
+ $n = count($array) - 1;
68
+ for ($i = 0; $i < $n; $i++) {
69
+ $idn = $array[$i]['tag'].$array[$i]['level'];
70
+ if(in_array($idn,$repeats_temp)){
71
+ $repeats_count[array_search($idn,$repeats_temp)]+=1;
72
+ }else{
73
+ array_push($repeats_temp,$idn);
74
+ $repeats_count[array_search($idn,$repeats_temp)]=1;
75
+ }
76
+ }
77
+ }
78
+ $n = count($repeats_count);
79
+ for($i=0;$i<$n;$i++){
80
+ if($repeats_count[$i]>1){
81
+ array_push($repeats,$repeats_temp[$i]);
82
+ }
83
+ }
84
+ unset($repeats_temp);
85
+ unset($repeats_count);
86
+ return array_unique($repeats);
87
+ }
88
+
89
+
90
+ /**
91
+ * Converts Array Variable to Object Variable
92
+ *
93
+ * @param array $arg_array
94
+ * @return $tmp
95
+ */
96
+ function array2object ($arg_array)
97
+ {
98
+
99
+ if (is_array($arg_array)) {
100
+ $keys = array_keys($arg_array);
101
+ if(!is_numeric($keys[0])) $tmp = new SimpleXMLObject;
102
+ foreach ($keys as $key) {
103
+ if (is_numeric($key)) $has_number = true;
104
+ if (is_string($key)) $has_string = true;
105
+ }
106
+ if (isset($has_number) and !isset($has_string)) {
107
+ foreach ($arg_array as $key => $value) {
108
+ $tmp[] = $this->array2object($value);
109
+ }
110
+ } elseif (isset($has_string)) {
111
+ foreach ($arg_array as $key => $value) {
112
+ if (is_string($key))
113
+ $tmp->$key = $this->array2object($value);
114
+ }
115
+ }
116
+ } elseif (is_object($arg_array)) {
117
+ foreach ($arg_array as $key => $value) {
118
+ if (is_array($value) or is_object($value))
119
+ $tmp->$key = $this->array2object($value);
120
+ else
121
+ $tmp->$key = $value;
122
+ }
123
+ } else {
124
+ $tmp = $arg_array;
125
+ }
126
+ return $tmp; //return the object
127
+ }
128
+
129
+ /**
130
+ * Reindexes the whole array with ascending numbers
131
+ *
132
+ * @param array $array
133
+ * @return array
134
+ */
135
+ function array_reindex($array)
136
+ {
137
+ if (is_array($array)) {
138
+ foreach($array as $keys => $items) {
139
+ if (is_array($items)) {
140
+ if (is_numeric($keys)) {
141
+ $array[$keys] = $this->array_reindex($items);
142
+ } else {
143
+ $array[$keys] = $this->array_reindex(array_merge(array(), $items));
144
+ }
145
+ }
146
+ }
147
+
148
+ }
149
+
150
+ return $array;
151
+ }
152
+
153
+
154
+ /**
155
+ * Parse the XML generation to array object
156
+ *
157
+ * @param array $array
158
+ * @return array
159
+ */
160
+ function xml_reorganize($array)
161
+ {
162
+ $count = count($array);
163
+ $repeat = $this->xml_tags($array);
164
+ $repeatedone = false;
165
+ $tags = array();
166
+ $k = 0;
167
+ for ($i = 0; $i < $count; $i++) {
168
+ switch ($array[$i]['type']) {
169
+ case 'open':
170
+ array_push($tags, $array[$i]['tag']);
171
+ if ($i > 0 && ($array[$i]['tag'] == $array[$i-1]['tag']) && ($array[$i-1]['type'] == 'close'))
172
+ $k++;
173
+ if (isset($array[$i]['value']) && ($array[$i]['value'] || !$this->skip_empty_values)) {
174
+ array_push($tags, '@content');
175
+ $this->array_insert(count($tags), $tags, $array[$i]['value'], "open");
176
+ array_pop($tags);
177
+ }
178
+
179
+ if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
180
+ if (($repeatedone == $array[$i]['tag'] . $array[$i]['level']) && ($repeatedone)) {
181
+ array_push($tags, strval($k++));
182
+ } else {
183
+ $repeatedone = $array[$i]['tag'] . $array[$i]['level'];
184
+ array_push($tags, strval($k));
185
+ }
186
+ }
187
+
188
+ if (isset($array[$i]['attributes']) && $array[$i]['attributes'] && $array[$i]['level'] != $this->ignore_level) {
189
+ array_push($tags, '@attributes');
190
+ foreach ($array[$i]['attributes'] as $attrkey => $attr) {
191
+ array_push($tags, $attrkey);
192
+ $this->array_insert(count($tags), $tags, $attr, "open");
193
+ array_pop($tags);
194
+ }
195
+ array_pop($tags);
196
+ }
197
+ break;
198
+
199
+ case 'close':
200
+ array_pop($tags);
201
+ if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
202
+ if ($repeatedone == $array[$i]['tag'] . $array[$i]['level']) {
203
+ array_pop($tags);
204
+ } else {
205
+ $repeatedone = $array[$i + 1]['tag'] . $array[$i + 1]['level'];
206
+ array_pop($tags);
207
+ }
208
+ }
209
+ break;
210
+
211
+ case 'complete':
212
+ array_push($tags, $array[$i]['tag']);
213
+ if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
214
+ if ($repeatedone == $array[$i]['tag'] . $array[$i]['level'] && $repeatedone) {
215
+ array_push($tags, strval($k));
216
+ } else {
217
+ $repeatedone = $array[$i]['tag'] . $array[$i]['level'];
218
+ array_push($tags, strval($k));
219
+ }
220
+ }
221
+
222
+ if (isset($array[$i]['value']) && ($array[$i]['value'] || !$this->skip_empty_values)) {
223
+ if (isset($array[$i]['attributes']) && $array[$i]['attributes']) {
224
+ array_push($tags, '@content');
225
+ $this->array_insert(count($tags), $tags, $array[$i]['value'], "complete");
226
+ array_pop($tags);
227
+ } else {
228
+ $this->array_insert(count($tags), $tags, $array[$i]['value'], "complete");
229
+ }
230
+ }
231
+
232
+ if (isset($array[$i]['attributes']) && $array[$i]['attributes']) {
233
+ array_push($tags, '@attributes');
234
+ foreach ($array[$i]['attributes'] as $attrkey => $attr) {
235
+ array_push($tags, $attrkey);
236
+ $this->array_insert(count($tags), $tags, $attr, "complete");
237
+ array_pop($tags);
238
+ }
239
+ array_pop($tags);
240
+ }
241
+
242
+ if (in_array($array[$i]['tag'] . $array[$i]['level'], $repeat)) {
243
+ array_pop($tags);
244
+ $k++;
245
+ }
246
+
247
+ array_pop($tags);
248
+ break;
249
+ }
250
+ }
251
+ eval($this->evalCode);
252
+ $last = $this->array_reindex($this->result);
253
+ return $last;
254
+ }
255
+
256
+ /**
257
+ * Get the XML contents and parse like SimpleXML
258
+ *
259
+ * @param string $file
260
+ * @param string $resulttype
261
+ * @param string $encoding
262
+ * @return array/object
263
+ */
264
+ function xml_load_file($file, $resulttype = 'object', $encoding = 'UTF-8')
265
+ {
266
+ $php_errormsg="";
267
+ $this->result="";
268
+ $this->evalCode="";
269
+ $values="";
270
+ $data = file_get_contents($file);
271
+ if (!$data)
272
+ return 'Cannot open xml document: ' . (isset($php_errormsg) ? $php_errormsg : $file);
273
+
274
+ return $this->xml_load_string($data, $resulttype, $encoding);
275
+ }
276
+
277
+
278
+ /**
279
+ * Get the XML contents and parse like SimpleXML
280
+ *
281
+ * @param string $data
282
+ * @param string $resulttype
283
+ * @param string $encoding
284
+ * @return array/object
285
+ */
286
+ function xml_load_string($data, $resulttype = 'object', $encoding = 'UTF-8')
287
+ {
288
+ $php_errormsg="";
289
+ $this->result="";
290
+ $this->evalCode="";
291
+ $values="";
292
+
293
+ $parser = xml_parser_create($encoding);
294
+ xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
295
+ xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
296
+ $ok = xml_parse_into_struct($parser, $data, $values);
297
+ if (!$ok) {
298
+ $errmsg = sprintf("XML parse error %d '%s' at line %d, column %d (byte index %d)",
299
+ xml_get_error_code($parser),
300
+ xml_error_string(xml_get_error_code($parser)),
301
+ xml_get_current_line_number($parser),
302
+ xml_get_current_column_number($parser),
303
+ xml_get_current_byte_index($parser));
304
+ }
305
+
306
+ xml_parser_free($parser);
307
+ if (!$ok)
308
+ return $errmsg;
309
+ if ($resulttype == 'array')
310
+ return $this->xml_reorganize($values);
311
+ // default $resulttype is 'object'
312
+ return $this->array2object($this->xml_reorganize($values));
313
+ }
314
+ }
315
+
316
+ ?>
php/wp-table-reloaded-export.class.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ File Name: WP-Table Reloaded - Export Class (see main file wp-table-reloaded.php)
4
+ Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
+ Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
+ Version: 1.0
7
+ Author: Tobias B&auml;thge
8
+ Author URI: http://tobias.baethge.com/
9
+ */
10
+
11
+ // should be included by WP_Table_Reloaded_Admin!
12
+ class WP_Table_Reloaded_Export {
13
+
14
+ // ###################################################################################################################
15
+ var $export_class_version = '1.0';
16
+
17
+ var $export_formats = array();
18
+ var $delimiters = array();
19
+
20
+ var $export_format = '';
21
+ var $delimiter = ';';
22
+ var $table_to_export = array();
23
+ var $exported_table = '';
24
+
25
+ // ###################################################################################################################
26
+ // constructor class
27
+ function WP_Table_Reloaded_Export() {
28
+ // initiate here, because function call __() not allowed outside function
29
+ $this->export_formats = array(
30
+ 'csv' => __( 'CSV - Character-Separated Values', TB_WP_TABLE_TEXTDOMAIN ),
31
+ 'html' => __( 'HTML - Hypertext Markup Language', TB_WP_TABLE_TEXTDOMAIN ),
32
+ 'xml' => __( 'XML - eXtended Markup Language', TB_WP_TABLE_TEXTDOMAIN )
33
+ );
34
+ $this->delimiters = array(
35
+ ';' => __( '; (semicolon)', TB_WP_TABLE_TEXTDOMAIN ),
36
+ ',' => __( ', (comma)', TB_WP_TABLE_TEXTDOMAIN ),
37
+ ':' => __( ': (colon)', TB_WP_TABLE_TEXTDOMAIN )
38
+ );
39
+ }
40
+
41
+ // ###################################################################################################################
42
+ function export_table() {
43
+ $output = '';
44
+
45
+ $data = $this->table_to_export['data'];
46
+
47
+ $rows = count( $data );
48
+ $cols = (0 < $rows) ? count( $data[0] ) : 0;
49
+
50
+ switch( $this->export_format ) {
51
+ case 'csv':
52
+ if ( 0 < $rows && 0 < $cols) {
53
+ if ( function_exists( 'fputcsv' ) ) { // introduced in PHP 5.1.0
54
+ $temp_file = tempnam( $this->get_temp_dir(), 'export_table_' . $this->table_to_export['id'] . '_' );
55
+ $handle = fopen( $temp_file, 'w' );
56
+ foreach ( $data as $row_idx => $row ) {
57
+ $row = array_map( 'stripslashes', $row );
58
+ fputcsv( $handle, $row, $this->delimiter, '"' );
59
+ }
60
+ fclose( $handle );
61
+ $output = file_get_contents( $temp_file );
62
+ } else { // should word for all PHP versions, but might not be as good as fputcsv
63
+ foreach( $data as $row_idx => $row ) {
64
+ $row = array_map( array( &$this, 'csv_wrap_and_escape' ), $row );
65
+ $output .= implode( $this->delimiter, $row ) . "\n";
66
+ }
67
+ }
68
+ }
69
+ break;
70
+ case 'xml':
71
+ if ( 0 < $rows && 0 < $cols) {
72
+ $output .= "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
73
+ $output .= "<table>\n";
74
+ foreach ( $data as $row_idx => $row ) {
75
+ $output .= "\t<row>\n";
76
+ $row = array_map( array( &$this, 'xml_wrap_and_escape' ), $row );
77
+ $output .= implode( '', $row );
78
+ $output .= "\t</row>\n";
79
+ }
80
+ $output .= '</table>';
81
+ }
82
+ break;
83
+ case 'html':
84
+ if ( 0 < $rows && 0 < $cols) {
85
+ $output .= "<table>\n";
86
+ foreach ( $data as $row_idx => $row ) {
87
+ $output .= "\t<tr>\n";
88
+ $row = array_map( array( &$this, 'html_wrap_and_escape' ), $row );
89
+ $output .= implode( '', $row );
90
+ $output .= "\t</tr>\n";
91
+ }
92
+ $output .= '</table>';
93
+ }
94
+ break;
95
+ default:
96
+ }
97
+ $this->exported_table = $output;
98
+ }
99
+
100
+ // ###################################################################################################################
101
+ function csv_wrap_and_escape( $string ) {
102
+ $string = stripslashes( $string );
103
+ $string = str_replace( '"', '""', $string );
104
+ return ( false !== strpos( $string, $this->delimiter ) || false !== strpos( $string, '""' ) ) ? ( '"' . $string . '"' ) : $string;
105
+ }
106
+
107
+ // ###################################################################################################################
108
+ function xml_wrap_and_escape( $string ) {
109
+ $string = stripslashes( $string );
110
+ if ( $string != htmlspecialchars( $string ) )
111
+ $string = "<![CDATA[{$string}]]>";
112
+ return "\t\t<col>" . $string . "</col>\n";
113
+ }
114
+
115
+ // ###################################################################################################################
116
+ function html_wrap_and_escape( $string ) {
117
+ $string = stripslashes( $string );
118
+ return "\t\t<td>" . $string . "</td>\n";
119
+ }
120
+
121
+ // ###################################################################################################################
122
+ function get_temp_dir() {
123
+ if ( function_exists( 'sys_get_temp_dir' ) ) { return sys_get_temp_dir(); } // introduced in PHP 5.2.1
124
+
125
+ if ( !empty($_ENV['TMP'] ) ) { return realpath( $_ENV['TMP'] ); }
126
+ if ( !empty($_ENV['TMPDIR'] ) ) { return realpath( $_ENV['TMPDIR'] ); }
127
+ if ( !empty($_ENV['TEMP'] ) ) { return realpath( $_ENV['TEMP'] ); }
128
+
129
+ $tempfile = tempnam( uniqid( rand(), true ), '' );
130
+ if ( file_exists( $tempfile ) ) {
131
+ unlink( $tempfile );
132
+ return realpath( dirname( $tempfile ) );
133
+ }
134
+ }
135
+
136
+ } // class WP_Table_Reloaded_Export
137
+
138
+ ?>
php/wp-table-reloaded-import.class.php ADDED
@@ -0,0 +1,304 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ File Name: WP-Table Reloaded - Import Class (see main file wp-table-reloaded.php)
4
+ Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
+ Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
+ Version: 1.0
7
+ Author: Tobias B&auml;thge
8
+ Author URI: http://tobias.baethge.com/
9
+ */
10
+
11
+ // should be included by WP_Table_Reloaded_Admin!
12
+ class WP_Table_Reloaded_Import {
13
+
14
+ // ###################################################################################################################
15
+ var $import_class_version = '1.0';
16
+
17
+ var $delimiters = array();
18
+ var $import_formats = array();
19
+
20
+ var $filename = '';
21
+ var $tempname = '';
22
+ var $mimetype = '';
23
+ var $delimiter = ';';
24
+ var $import_format = '';
25
+ var $import_from = '';
26
+ var $wp_table_id = '';
27
+ var $error = false;
28
+ var $imported_table = array();
29
+
30
+
31
+ // ###################################################################################################################
32
+ // constructor class
33
+ function WP_Table_Reloaded_Import() {
34
+ // initiate here, because function call __() not allowed outside function
35
+ $this->delimiters = array(
36
+ ';' => __( '; (semicolon)', TB_WP_TABLE_TEXTDOMAIN ),
37
+ ',' => __( ', (comma)', TB_WP_TABLE_TEXTDOMAIN ),
38
+ ':' => __( ': (colon)', TB_WP_TABLE_TEXTDOMAIN )
39
+ );
40
+ $this->import_formats = array(
41
+ 'csv' => __( 'CSV - Character-Separated Values', TB_WP_TABLE_TEXTDOMAIN ),
42
+ 'html' => __( 'HTML - Hypertext Markup Language', TB_WP_TABLE_TEXTDOMAIN ),
43
+ 'xml' => __( 'XML - eXtended Markup Language', TB_WP_TABLE_TEXTDOMAIN )
44
+ // don't have this show up in list, as handled in separate table
45
+ //'wp_table' => _ _( 'WP-Table plugin database', TB_WP_TABLE_TEXTDOMAIN )
46
+ );
47
+ }
48
+
49
+ // ###################################################################################################################
50
+ function import_table() {
51
+ switch( $this->import_format ) {
52
+ case 'csv':
53
+ $this->import_csv();
54
+ break;
55
+ case 'html':
56
+ $this->import_html();
57
+ break;
58
+ case 'xml':
59
+ $this->import_xml();
60
+ break;
61
+ case 'wp_table':
62
+ $this->import_wp_table();
63
+ break;
64
+ default:
65
+ $this->imported_table = array();
66
+ }
67
+ }
68
+
69
+ // ###################################################################################################################
70
+ function import_csv() {
71
+ $table = $this->get_table_meta();
72
+
73
+ if ( 'form-field' == $this->import_from )
74
+ $this->tempname = $this->csv_string_to_file( $this->import_data );
75
+
76
+ $temp_data = $this->csv_file_to_array( $this->tempname, $this->delimiter, '"' );
77
+
78
+ $table['data'] = $this->pad_array_to_max_cols( $temp_data );
79
+ $this->imported_table = $table;
80
+ }
81
+
82
+ // ###################################################################################################################
83
+ function import_html() {
84
+ $table = $this->get_table_meta();
85
+
86
+ if ( !class_exists( 'simplexml' ) ) {
87
+ include_once ( WP_TABLE_RELOADED_ABSPATH . 'php/' . 'simplexml.class.php' );
88
+ if ( class_exists( 'simplexml' ) ) {
89
+ $simpleXML = new simplexml();
90
+ }
91
+ }
92
+
93
+ if ( 'form-field' == $this->import_from )
94
+ $temp_data = $this->import_data;
95
+ elseif ( 'file-upload' == $this->import_from )
96
+ $temp_data = file_get_contents( $this->tempname );
97
+
98
+ // extract table from html, pattern: <table> (with eventually class, id, ...
99
+ // . means any charactery (except newline),
100
+ // * means in any number
101
+ // ? means non-gready (shortest possible)
102
+ // is at the end: i: case-insensitive, s: include newline (in .)
103
+ if ( 1 == preg_match( '/<table.*?>.*?<\/table>/is', $temp_data, $matches ) )
104
+ $temp_data = $matches[0]; // if found, take match as table to import
105
+ else {
106
+ $this->imported_table = array();
107
+ $this->error = true;
108
+ return;
109
+ }
110
+
111
+ // most inner items have to be escaped, so we can get their contents as a string not as array elements
112
+ $temp_data = preg_replace( '#<td(.*?)>#', '<td><![CDATA[' , $temp_data ); //eventually later <td$1>
113
+ $temp_data = preg_replace( '#</td>#', ']]></td>' , $temp_data );
114
+ $temp_data = preg_replace( '#<thead(.*?)>#', '<_thead>' , $temp_data ); // temporaray, otherwise <thead> will be affected by replacement of <th
115
+ $temp_data = preg_replace( '#<th(.*?)>#', '<th><![CDATA[' , $temp_data ); //eventually later <th$1>
116
+ $temp_data = preg_replace( '#<_thead(.*?)>#', '<thead>' , $temp_data ); // revert from 2 lines above
117
+ $temp_data = preg_replace( '#</th>#', ']]></th>' , $temp_data );
118
+ $temp_data = $simpleXML->xml_load_string( $temp_data, 'array' );
119
+
120
+ if ( false == is_array( $temp_data ) ) {
121
+ $this->imported_table = array();
122
+ $this->error = true;
123
+ return;
124
+ }
125
+
126
+ $data = array();
127
+
128
+ $rows = array();
129
+ $rows = ( isset( $temp_data['thead'][0]['tr'] ) ) ? array_merge( $rows, $temp_data['thead'][0]['tr'] ) : $rows ;
130
+ $rows = ( isset( $temp_data['tbody'][0]['tr'] ) ) ? array_merge( $rows, $temp_data['tbody'][0]['tr'] ) : $rows ;
131
+ $rows = ( isset( $temp_data['tfoot'][0]['tr'] ) ) ? array_merge( $rows, $temp_data['tfoot'][0]['tr'] ) : $rows ;
132
+ $rows = ( isset( $temp_data['tr'] ) ) ? array_merge( $rows, $temp_data['tr'] ) : $rows ;
133
+ foreach ($rows as $row ) {
134
+ $th_cols = ( isset( $row['th'] ) ) ? $row['th'] : array() ;
135
+ $td_cols = ( isset( $row['td'] ) ) ? $row['td'] : array() ;
136
+ $data[] = array_merge( $th_cols, $td_cols );
137
+ }
138
+
139
+ $table['data'] = $this->pad_array_to_max_cols( $data );
140
+ $this->imported_table = $table;
141
+ }
142
+
143
+ // ###################################################################################################################
144
+ function import_xml() {
145
+ $table = $this->get_table_meta();
146
+
147
+ if ( !class_exists( 'simplexml' ) ) {
148
+ include_once ( WP_TABLE_RELOADED_ABSPATH . 'php/' . 'simplexml.class.php' );
149
+ if ( class_exists( 'simplexml' ) ) {
150
+ $simpleXML = new simplexml();
151
+ }
152
+ }
153
+
154
+ if ( 'form-field' == $this->import_from )
155
+ $temp_data = $simpleXML->xml_load_string( $this->import_data, 'array' );
156
+ elseif ( 'file-upload' == $this->import_from )
157
+ $temp_data = $simpleXML->xml_load_file( $this->tempname, 'array' );
158
+
159
+ if ( false == is_array( $temp_data ) || false == isset( $temp_data['row'] ) || empty( $temp_data['row'] ) ) {
160
+ $this->imported_table = array();
161
+ $this->error = true;
162
+ return;
163
+ }
164
+
165
+ $data = $temp_data['row'];
166
+ foreach ($data as $key => $value )
167
+ $data[$key] = $value['col'];
168
+
169
+ $table['data'] = $this->pad_array_to_max_cols( $data );
170
+ $this->imported_table = $table;
171
+ }
172
+
173
+ // ###################################################################################################################
174
+ function import_wp_table() {
175
+ global $wpdb;
176
+ $wpdb->golftable = $wpdb->prefix . 'golftable';
177
+ $wpdb->golfresult = $wpdb->prefix . 'golfresult';
178
+
179
+ $table_id = $this->wp_table_id;
180
+
181
+ $temp_data = array();
182
+
183
+ if ( $wpdb->golftable == $wpdb->get_var( "show tables like '{$wpdb->golftable}'" ) && $wpdb->golfresult == $wpdb->get_var( "show tables like '{$wpdb->golfresult}'" ) ) {
184
+ // WP-Table tables exist -> the plugin might be installed, so we might try an export
185
+
186
+ // get information form database
187
+ $current_table = $wpdb->get_row( "SELECT * FROM $wpdb->golftable WHERE table_aid = {$table_id}" );
188
+ $table['name'] = $current_table->table_name;
189
+ $table['description'] = $current_table->description;
190
+ $table['options']['print_name'] = ( 1 == $current_table->show_name ) ? true : false;
191
+ $table['options']['print_description'] = ( 1 == $current_table->show_desc ) ? true : false;
192
+ $table['options']['first_row_th'] = ( 1 == $current_table->head_bold ) ? true : false;
193
+ $table['options']['alternating_row_colors'] = ( 1 == $current_table->alternative ) ? true : false;
194
+
195
+ // WP-Table's config, contains information about tablesort
196
+ $wptable_config = get_option( 'wptable' );
197
+ if ( false !== $wptable_config )
198
+ $table['options']['use_tablesorter'] = ( 1 == $wptable_config['use_sorting'] ) ? true : false;
199
+
200
+ $row_ids = $wpdb->get_col( "SELECT row_id FROM {$wpdb->golfresult} WHERE table_id = '{$table_id}' GROUP BY row_id ORDER BY row_id ASC" );
201
+ // load table data from database
202
+ foreach ( $row_ids as $row_id ) {
203
+ if ( $row_id > 0 ) { // $row_id = -1 and 0 contain width and alignment information, which we don't need
204
+ $column = $wpdb->get_col( "SELECT value FROM {$wpdb->golfresult} WHERE table_id = '{$table_id}' AND row_id ='{$row_id}' ORDER BY result_aid ASC" );
205
+ $temp_rows[] = $column; // new row content = array of columns (appended by [])
206
+ }
207
+ }
208
+
209
+ // save table
210
+ $table['data'] = $this->pad_array_to_max_cols( $temp_rows );
211
+ $this->imported_table = $table;
212
+ } else {
213
+ // no tables from WP-Table found
214
+ $this->imported_table = array();
215
+ $this->error = true;
216
+ }
217
+ }
218
+
219
+ // ###################################################################################################################
220
+ function unlink_csv_file() {
221
+ unlink( $this->tempname );
222
+ }
223
+
224
+ // ###################################################################################################################
225
+ function csv_file_to_array( $filename, $delimiter = ';', $enclosure = '"' ) {
226
+ $data = array();
227
+ $handle = fopen( $filename, 'r' );
228
+ while ( false !== ( $read_line = fgetcsv( $handle, 1024, $delimiter, $enclosure ) ) ) {
229
+ $data[] = $this->add_slashes( $read_line );
230
+ }
231
+ fclose($handle);
232
+ return $data;
233
+ }
234
+
235
+ // ###################################################################################################################
236
+ function csv_string_to_file( $data ) {
237
+ $temp_file_name = tempnam( $this->get_temp_dir(), 'import_table_' );
238
+
239
+ if ( function_exists( 'file_put_contents' ) ) {
240
+ file_put_contents( $temp_file_name, $data );
241
+ } else {
242
+ $handle = fopen( $temp_file_name, 'w' );
243
+ $bytes = fwrite( $handle, $data );
244
+ fclose( $handle );
245
+ }
246
+
247
+ return $temp_file_name;
248
+ }
249
+
250
+ // ###################################################################################################################
251
+ // make sure array is rectangular with $max_cols columns in every row
252
+ function pad_array_to_max_cols( $array_to_pad ){
253
+ $rows = count( $array_to_pad );
254
+ $max_columns = $this->count_max_columns( $array_to_pad );
255
+ // array_map wants arrays as additional parameters (so we create one with the max_cols to pad to and one with the value to use (empty string)
256
+ $max_columns_array = array_fill( 1, $rows, $max_columns );
257
+ $pad_values_array = array_fill( 1, $rows, '' );
258
+ return array_map( 'array_pad', $array_to_pad, $max_columns_array, $pad_values_array );
259
+ }
260
+
261
+ // ###################################################################################################################
262
+ // find out how many cols the longest row has
263
+ function count_max_columns( $array ){
264
+ $max_cols = 0 ;
265
+ if ( is_array( $array ) && 0 < count( $array ) ) {
266
+ foreach ( $array as $row_idx => $row ) {
267
+ $cols = count( $row );
268
+ $max_cols = ( $cols > $max_cols ) ? $cols : $max_cols;
269
+ }
270
+ }
271
+ return $max_cols;
272
+ }
273
+
274
+ // ###################################################################################################################
275
+ function add_slashes( $array ) {
276
+ return array_map( 'addslashes', $array );
277
+ }
278
+
279
+ // ###################################################################################################################
280
+ function get_table_meta() {
281
+ $table['name'] = $this->filename;
282
+ $table['description'] = $this->filename;
283
+ $table['description'] .= ( false == empty( $this->mimetype ) ) ? ' (' . $this->mimetype . ')' : '';
284
+ return $table;
285
+ }
286
+
287
+ // ###################################################################################################################
288
+ function get_temp_dir() {
289
+ if ( function_exists( 'sys_get_temp_dir' ) ) { return sys_get_temp_dir(); } // introduced in PHP 5.2.1
290
+
291
+ if ( !empty($_ENV['TMP'] ) ) { return realpath( $_ENV['TMP'] ); }
292
+ if ( !empty($_ENV['TMPDIR'] ) ) { return realpath( $_ENV['TMPDIR'] ); }
293
+ if ( !empty($_ENV['TEMP'] ) ) { return realpath( $_ENV['TEMP'] ); }
294
+
295
+ $tempfile = tempnam( uniqid( rand(), true ), '' );
296
+ if ( file_exists( $tempfile ) ) {
297
+ unlink( $tempfile );
298
+ return realpath( dirname( $tempfile ) );
299
+ }
300
+ }
301
+
302
+ } // class WP_Table_Reloaded_Import
303
+
304
+ ?>
readme.txt CHANGED
@@ -1,18 +1,28 @@
1
  === WP-Table Reloaded ===
2
  Contributors: TobiasBg
3
- Donate link:http://tobias.baethge.com/donate/
4
- Tags: html,table,editor,csv,import,export,excel,admin
5
  Requires at least: 2.5
6
- Tested up to: 2.8-bleeding-edge
7
- Stable tag: 0.9.2
8
 
9
- This plugin allows you to create and manage tables in your WP's admin-area. You can then show them in your posts or on pages by using a shortcode.
10
 
11
  == Description ==
12
 
13
- This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin. You may also have both plugins installed at the same time!
14
 
15
- More informatation: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
 
 
 
 
 
 
 
 
 
 
16
 
17
  == Screenshots ==
18
 
@@ -23,7 +33,6 @@ More informatation: http://tobias.baethge.com/wordpress-plugins/wp-table-reloade
23
  5. "Export table" screen
24
  6. "Plugin Options" screen
25
 
26
-
27
  == Installation ==
28
 
29
  The easiest way would be through your WordPress Admin area. Go to the plugin section and search for "WP-Table Reloaded" in the WordPress Plugin Directory. Then you can click "Install now" and the following steps will be done for you automatically. You just have to activate the plugin (step 5).
@@ -36,20 +45,21 @@ Manual Installation works just as for most other WordPress plugins:
36
 
37
  1. Create and manage tables via "WP-Table Reloaded" in the "Tools" section.
38
 
39
- 1. Include a table by adding the shortcode [table id=&lt;your-table's-id&gt; /] to your post or page.
40
 
41
- 1. You might want to add styling features via your blog's theme's CSS file (probably style.css).
42
 
43
 
44
  == Frequently Asked Questions ==
45
 
46
  = Can I use WP-Table and WP-Table Reloaded together? =
47
 
48
- Yes! You can have both WP-Table and WP-Table Reloaded installed in your WordPress! They will not interfere (as they are not using anything together). They are completely independent from each other. (At the moment, this also means that you can not edit/import your tables from WP-Table in WP-Table Reloaded. This might be included in future versions.)
 
49
 
50
  = Support? =
51
 
52
- If you experience trouble in using the plugin or find a bug, please don't hesitate to tell me about it. Right now the preferred way is the comments section of the [plugin page](http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/) (that way other users with the same problem could get help, too). I might add a support forum later. Till then you might also consider opening a new topic in the [WordPress Support Forums](http://wordpress.org/support/) and send me the link to your thread.
53
 
54
  = Requirements? =
55
 
@@ -57,40 +67,43 @@ In short: WordPress 2.5 or higher
57
 
58
  = Languages and Localization? =
59
 
60
- As of the current version only the English language file is included.
61
- The plugin is localization ready though (by using WordPress's localization features).
62
 
63
- Upcoming versions will include (at least) German (by me), Turkish (thanks to Semih) and possibly Swedish (thanks to ZuperZed).
 
64
 
65
- I'd really appreciate it, if you want to translate the plugin into your language! Using Heiko Rabe's WordPress plugin [Codestyling Localization](http://www.code-styling.de/english/development/wordpress-plugin-codestyling-localization-en) that really is as easy as pie. Just install the plugin, add your language, create the .po-file, translate the strings in the comfortable editor and create the .mo-file. It will automatically be saved in WP-Table Reloaded's plugin folder. If you send me the .mo- and .po-file, I will gladly include them into future plugin releases.
66
 
67
  = Where can I get more information? =
68
 
69
- Please visit the [official plugin website](http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/) for the latest information on this plugin.
 
 
70
 
71
  == Usage ==
72
 
73
  After installing the plugin, you can add, import, export, edit, copy, delete, ... tables via the "WP-Table Reloaded" screen which appears under the "Tools" section in your Admin menu.
74
  Everything should be self-explaining there.
75
- To show one of your tables in a post or on a page just include the shortcode [table id=&lt;the-id&gt; /] to your post/page, where &lt;the-id&gt is the ID of your table (can be found on the left side of the "List tables" screen.)
76
- After that you might want to change the style of the table: Just edit the CSS-file "global-frontend-style.css" in the subfolder "css" of the plugin folder to fit your layout needs. Be sure to activate the option "Use global css-file?" in the plugin options for this to work!
77
  You may also add certain features (like table-sorting, alternating row colors, print name and/or description, ...) by checking the appropriate options in the "Edit table" screen.
78
 
79
-
80
  == Acknowledgements ==
81
 
82
  Thanks go to [Alex Rabe](http://alexrabe.boelinger.com/) for the initial WP-Table plugin!
83
-
 
84
  Thanks to every supporter and bug reporter!
85
 
86
  == License ==
87
 
88
- This plugins is Free Software, released under the GPL version 2.
89
  You may use it free of charge for any purposes.
90
  I kindly ask you for link somewhere on your website http://tobias.baethge.com/. This is not required!
91
 
92
  == Changelog ==
93
 
 
94
  * 0.9.2: fixed bug with plugin deactivation hook, added missing css-file
95
  * 0.9.1: first good release with all mentioned functions working well
96
  * 0.9 beta 1b: small bug which prevented showing of tables (but still not everything implemented)
1
  === WP-Table Reloaded ===
2
  Contributors: TobiasBg
3
+ Donate link: http://tobias.baethge.com/donate/
4
+ Tags: html,table,editor,csv,import,export,excel,widget,admin,sidebar
5
  Requires at least: 2.5
6
+ Tested up to: 2.8
7
+ Stable tag: 1.0
8
 
9
+ This plugin allows you to create and manage tables in your WP's admin-area. You can then show them in your posts, on pages or in text widgets by using a shortcode.
10
 
11
  == Description ==
12
 
13
+ This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts, on your pages or in text widgets by using a shortcode. The plugin is a completely rewritten and extended version of Alex Rabe's "WP-Table" and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin. You may also have both plugins installed at the same time and you can also import your tables from the WP-Table plugin!
14
 
15
+ = More information =
16
+ Please see the English plugin website http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded-english/ .
17
+
18
+ If you like this plugin, please rate it here in the WordPress Plugin Directory. Thank you!
19
+
20
+ = Informationen auf Deutsch =
21
+ Dieses Plugin erlaubt die Verwaltung von Tabellen in WordPress.
22
+
23
+ Weitere Informationen auf Deutsch: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded-deutsch/
24
+
25
+ Wenn die das Plugin gef&auml;llt, bewerte es bitte hier im WordPress Plugin Directory. Danke!
26
 
27
  == Screenshots ==
28
 
33
  5. "Export table" screen
34
  6. "Plugin Options" screen
35
 
 
36
  == Installation ==
37
 
38
  The easiest way would be through your WordPress Admin area. Go to the plugin section and search for "WP-Table Reloaded" in the WordPress Plugin Directory. Then you can click "Install now" and the following steps will be done for you automatically. You just have to activate the plugin (step 5).
45
 
46
  1. Create and manage tables via "WP-Table Reloaded" in the "Tools" section.
47
 
48
+ 1. Include a table by adding the shortcode [table id=&lt;your-table's-id&gt; /] to your post, page or text widget.
49
 
50
+ 1. You might want to add styling features via your blog's theme's CSS file (probably style.css) or via plugin css file. There are two demo file "example-style.css" and "example-style-wp-table.css" in the subfolder "css". Please copy them, edit the copy, and select the copy in the plugin options screen!
51
 
52
 
53
  == Frequently Asked Questions ==
54
 
55
  = Can I use WP-Table and WP-Table Reloaded together? =
56
 
57
+ Yes! You can have both WP-Table and WP-Table Reloaded installed in your WordPress! They will not interfere (as they are not using anything together). They are completely independent from each other.
58
+ If WP-Table Reloaded finds the WP-Table database tables, it can import the found tables into it's own format, so that you can completely upgrade from WP-Table to WP-Table Reloaded.
59
 
60
  = Support? =
61
 
62
+ If you experience trouble in using the plugin or find a bug, please don't hesitate to tell me about it. Right now the preferred way is the comments section of the [plugin page](http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/) (that way other users with the same problem could get help, too). I might add a support forum later. Till then you might also consider opening a new topic in the [WordPress Support Forums](http://wordpress.org/support/) and send me the link to your thread. You may also make feature requests using this method! Don't be shy!
63
 
64
  = Requirements? =
65
 
67
 
68
  = Languages and Localization? =
69
 
70
+ The plugin currently includes the following languages:
71
+ English (by me, German (by me), Turkish (thanks to Semih) and Swedish (thanks to ZuperZed).
72
 
73
+ I'd really appreciate it, if you would translate the plugin into your language! Using Heiko Rabe's WordPress plugin [Codestyling Localization](http://www.code-styling.de/english/development/wordpress-plugin-codestyling-localization-en) that really is as easy as pie. Just install the plugin, add your language, create the .po-file, translate the strings in the comfortable editor and create the .mo-file. It will automatically be saved in WP-Table Reloaded's plugin folder. If you send me the .mo- and .po-file, I will gladly include them into future plugin releases.
74
+ There is also a .pot-file available to use in the "languages subfolder.
75
 
 
76
 
77
  = Where can I get more information? =
78
 
79
+ Please visit the [official plugin website](http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded-english/) for the latest information on this plugin.
80
+
81
+ Die Webseite des Plugins ist auch [auf Deutsch](http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded-deutsch/) verf&uuml;gbar.
82
 
83
  == Usage ==
84
 
85
  After installing the plugin, you can add, import, export, edit, copy, delete, ... tables via the "WP-Table Reloaded" screen which appears under the "Tools" section in your Admin menu.
86
  Everything should be self-explaining there.
87
+ To show one of your tables in a post, on a page or in a text widget, just include the shortcode [table id=&lt;the-id&gt; /] to your post/page/text-widget, where &lt;the-id&gt is the ID of your table (can be found on the left side of the "List tables" screen.)
88
+ After that you might want to change the style of the table: Just copy the CSS-file "example-style.css" in the subfolder "css" of the plugin folder, edit the copy to fit your layout needs. Be sure to activate the option "Use global css-file?" in the plugin options and select your copied file for this to work!
89
  You may also add certain features (like table-sorting, alternating row colors, print name and/or description, ...) by checking the appropriate options in the "Edit table" screen.
90
 
 
91
  == Acknowledgements ==
92
 
93
  Thanks go to [Alex Rabe](http://alexrabe.boelinger.com/) for the initial WP-Table plugin!
94
+ Thanks go to [Christian Bach](http://tablesorter.com/docs/) for the TableSorter-jQuery-plugin.
95
+ Thanks to all language file translators!
96
  Thanks to every supporter and bug reporter!
97
 
98
  == License ==
99
 
100
+ This plugin is Free Software, released under the GPL version 2.
101
  You may use it free of charge for any purposes.
102
  I kindly ask you for link somewhere on your website http://tobias.baethge.com/. This is not required!
103
 
104
  == Changelog ==
105
 
106
+ * 1.0: Language files, more import/export (including directly from WP-Table!), shortcode supported in text widgets
107
  * 0.9.2: fixed bug with plugin deactivation hook, added missing css-file
108
  * 0.9.1: first good release with all mentioned functions working well
109
  * 0.9 beta 1b: small bug which prevented showing of tables (but still not everything implemented)
screenshot-1.png CHANGED
Binary file
screenshot-2.png CHANGED
Binary file
screenshot-3.png CHANGED
Binary file
screenshot-4.png CHANGED
Binary file
screenshot-5.png CHANGED
Binary file
screenshot-6.png CHANGED
Binary file
wp-table-reloaded-admin.php CHANGED
@@ -2,8 +2,8 @@
2
  /*
3
  File Name: WP-Table Reloaded - Admin Class (see main file wp-table-reloaded.php)
4
  Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
- Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
- Version: 0.9.2
7
  Author: Tobias B&auml;thge
8
  Author URI: http://tobias.baethge.com/
9
  */
@@ -11,7 +11,7 @@ Author URI: http://tobias.baethge.com/
11
  class WP_Table_Reloaded_Admin {
12
 
13
  // ###################################################################################################################
14
- var $plugin_version = '0.9.2';
15
  // nonce for security of links/forms, try to prevent "CSRF"
16
  var $nonce_base = 'wp-table-reloaded-nonce';
17
  // names for the options which are stored in the WP database
@@ -33,6 +33,7 @@ class WP_Table_Reloaded_Admin {
33
  'uninstall_upon_deactivation' => false,
34
  'enable_tablesorter' => true,
35
  'use_global_css' => true,
 
36
  'last_id' => 0
37
  );
38
  var $default_tables = array();
@@ -58,20 +59,31 @@ class WP_Table_Reloaded_Admin {
58
  // add admin-page to sidebar navigation, function called by PHP when class is constructed
59
  function WP_Table_Reloaded_Admin() {
60
  add_action( 'admin_menu', array( &$this, 'add_manage_page' ) );
 
 
 
 
 
 
61
  }
62
 
63
  // ###################################################################################################################
64
  // add page, and what happens when page is loaded or shown
65
  function add_manage_page() {
66
- $hook = add_management_page( 'WP-Table Reloaded', 'WP-Table Reloaded', 'manage_options', 'wp_table_reloaded_manage_page', array( &$this, 'show_manage_page' ) );
 
67
  add_action('load-' . $hook, array( &$this, 'load_manage_page' ) );
 
 
 
68
  }
69
 
70
  // ###################################################################################################################
71
  // only load the scripts, stylesheets and language by hook, if this admin page will be shown
72
  // all of this will be done before the page is shown by show_manage_page()
73
  function load_manage_page() {
74
- // load css
 
75
  $this->add_manage_page_css();
76
 
77
  // init language support (add later)
@@ -97,6 +109,8 @@ class WP_Table_Reloaded_Admin {
97
  // ########################################## ######################################################
98
  // ########################################## ACTIONS ######################################################
99
  // ########################################## ######################################################
 
 
100
  // ###################################################################################################################
101
  // list all tables
102
  function do_action_list() {
@@ -170,7 +184,7 @@ class WP_Table_Reloaded_Admin {
170
  $cols = (0 < $rows) ? count( $table['data'][0] ) : 0;
171
  // swap rows $col_id1 and $col_id2
172
  if ( ( 1 < $cols ) && ( -1 < $col_id1 ) && ( -1 < $col_id2 ) ) {
173
- foreach( $table['data'] as $row_idx => $row) {
174
  $temp_col = $table['data'][$row_idx][$col_id1];
175
  $table['data'][$row_idx][$col_id1] = $table['data'][$row_idx][$col_id2];
176
  $table['data'][$row_idx][$col_id2] = $temp_col;
@@ -207,6 +221,7 @@ class WP_Table_Reloaded_Admin {
207
  // new table
208
  $new_table = $table_to_copy;
209
  $new_table['id'] = $this->get_new_table_id();
 
210
  unset( $table_to_copy );
211
 
212
  $this->save_table( $new_table );
@@ -250,7 +265,7 @@ class WP_Table_Reloaded_Admin {
250
  $cols = (0 < $rows) ? count( $table['data'][0] ) : 0;
251
  // delete column with key $col_id, if there are at least 2 columns
252
  if ( ( 1 < $cols ) && ( -1 < $col_id ) ) {
253
- foreach( $table['data'] as $row_idx => $row)
254
  array_splice( $table['data'][$row_idx], $col_id, 1 );
255
  $this->save_table( $table );
256
  $this->print_success_message( __( 'Column deleted successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
@@ -288,7 +303,7 @@ class WP_Table_Reloaded_Admin {
288
  $col_id = $_GET['element_id'];
289
  // init new empty row (with all columns) and insert it before row with key $row_id
290
  $new_col = '';
291
- foreach( $table['data'] as $row_idx => $row)
292
  array_splice( $table['data'][$row_idx], $col_id, 0, $new_col );
293
  $this->save_table( $table );
294
  $message = __( 'Column inserted successfully.', WP_TABLE_RELOADED_TEXTDOMAIN );
@@ -304,19 +319,56 @@ class WP_Table_Reloaded_Admin {
304
 
305
  // ###################################################################################################################
306
  function do_action_import() {
307
- $this->import_instance = $this->create_class_instance( 'WP_Table_Reloaded_Import', 'wp-table-reloaded-import.php' );
308
- if ( isset( $_POST['submit'] ) && isset( $_FILES['import_file'] ) ) {
309
  check_admin_referer( $this->get_nonce( 'import' ) );
310
 
311
  // do import
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
312
 
313
- $this->import_instance->tempname = $_FILES['import_file']['tmp_name'];
314
- $this->import_instance->filename = $_FILES['import_file']['name'];
315
- $this->import_instance->mimetype = $_FILES['import_file']['type'];
316
- $this->import_instance->delimiter = $_POST['delimiter'];
317
  $this->import_instance->import_table();
318
  $imported_table = $this->import_instance->imported_table;
319
- $this->import_instance->unlink_csv_file();
320
 
321
  $table = array_merge( $this->default_table, $imported_table );
322
 
@@ -332,7 +384,7 @@ class WP_Table_Reloaded_Admin {
332
 
333
  // ###################################################################################################################
334
  function do_action_export() {
335
- $this->export_instance = $this->create_class_instance( 'WP_Table_Reloaded_Export', 'wp-table-reloaded-export.php' );
336
  if ( isset( $_POST['submit'] ) && isset( $_POST['table_id'] ) && isset( $_POST['export_format'] ) ) {
337
  check_admin_referer( $this->get_nonce( 'export' ) );
338
 
@@ -344,8 +396,15 @@ class WP_Table_Reloaded_Admin {
344
  $this->export_instance->export_table();
345
  $exported_table = $this->export_instance->exported_table;
346
 
347
- $this->print_success_message( sprintf( __( 'Table "%s" exported successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ), $this->safe_output( $table_to_export['name'] ) ) );
348
- $this->print_export_table_form( $_POST['table_id'], $exported_table );
 
 
 
 
 
 
 
349
  } else {
350
  $this->print_export_table_form( $_REQUEST['table_id'] );
351
  }
@@ -361,6 +420,7 @@ class WP_Table_Reloaded_Admin {
361
  $this->options['uninstall_upon_deactivation'] = isset( $new_options['uninstall_upon_deactivation'] );
362
  $this->options['enable_tablesorter'] = isset( $new_options['enable_tablesorter'] );
363
  $this->options['use_global_css'] = isset( $new_options['use_global_css'] );
 
364
  $this->update_options();
365
 
366
  $this->print_success_message( __( 'Options saved successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
@@ -371,8 +431,20 @@ class WP_Table_Reloaded_Admin {
371
  // ###################################################################################################################
372
  function do_action_uninstall() {
373
  check_admin_referer( $this->get_nonce( 'uninstall' ) );
374
- $this->plugin_uninstall();
375
- $this->print_success_message( __( 'Plugin uninstalled successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
 
 
 
 
 
 
 
 
 
 
 
 
376
  }
377
 
378
  // ###################################################################################################################
@@ -386,15 +458,16 @@ class WP_Table_Reloaded_Admin {
386
  // ########################################## ####################################################
387
  // ###################################################################################################################
388
 
 
389
  // list all tables
390
  function print_list_tables_form() {
391
  $this->print_page_header( __( 'List of Tables', WP_TABLE_RELOADED_TEXTDOMAIN ) );
392
  $this->print_submenu_navigation( 'list' );
393
  ?>
394
  <div style="clear:both;"><p><?php _e( 'This is a list of all available tables. You may add, edit, copy or delete tables here.', WP_TABLE_RELOADED_TEXTDOMAIN ) ?><br />
395
- <?php _e( 'If you want to show a table in your pages or posts, use the shortcode: <strong>[table id=&lt;the_table_ID&gt; /]</strong>', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></p></div>
396
  <?php
397
- if ( 0 < count($this->tables) ) {
398
  ?>
399
  <div style="clear:both;">
400
  <table class="widefat">
@@ -406,8 +479,8 @@ class WP_Table_Reloaded_Admin {
406
  <th scope="col"><?php _e( 'Action', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></th>
407
  </tr>
408
  </thead>
409
- <tbody>
410
  <?php
 
411
  $bg_style_index = 0;
412
  foreach ( $this->tables as $id => $tableoptionname ) {
413
  $bg_style_index++;
@@ -452,22 +525,21 @@ class WP_Table_Reloaded_Admin {
452
  $this->print_page_header( __( 'Add new Table', WP_TABLE_RELOADED_TEXTDOMAIN ) );
453
  $this->print_submenu_navigation( 'add' );
454
  ?>
455
- <p></p>
456
- <div style="clear:both;"><p>
457
- <?php _e( 'You can add a new table here. Just enter it\'s name, a description (optional) and the number of rows and columns.<br/>You may add, insert or delete rows and columns later.', WP_TABLE_RELOADED_TEXTDOMAIN ) ?><br />
458
- </p></div>
459
  <div style="clear:both;">
460
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
461
  <?php wp_nonce_field( $this->get_nonce( 'add' ) ); ?>
462
 
463
- <table class="tb-wp-table-options">
464
  <tr valign="top">
465
  <th scope="row"><label for="table[name]"><?php _e( 'Table Name', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
466
- <td><input type="text" name="table[name]" value="<?php echo _c( 'Enter Table Name|Default Table Name', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>" style="width:250px;" /></td>
467
  </tr>
468
  <tr valign="top">
469
  <th scope="row"><label for="table[description]"><?php _e( 'Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
470
- <td><textarea name="table[description]" id="table[description]" style="width:250px;height:85px;"><?php echo _c( 'Enter Description|Default Table Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></textarea></td>
471
  </tr>
472
  <tr valign="top">
473
  <th scope="row"><label for="table[rows]"><?php _e( 'Number of Rows', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
@@ -500,34 +572,40 @@ class WP_Table_Reloaded_Admin {
500
 
501
  $this->print_page_header( __( sprintf( 'Edit Table "%s"', $this->safe_output( $table['name'] ) ), WP_TABLE_RELOADED_TEXTDOMAIN ) );
502
  $this->print_submenu_navigation( 'edit' );
503
- ?><div style="clear:both;"><p><?php _e( 'You may edit the content of the table here. It is also possible to add or delete columns and rows.', WP_TABLE_RELOADED_TEXTDOMAIN ) ?><br />
504
- <?php _e( sprintf( 'If you want to show a table in your pages or posts, use this shortcode: <strong>[table id=%s /]</strong>', $this->safe_output( $table_id ) ), WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p></div>
 
 
505
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
506
  <?php wp_nonce_field( $this->get_nonce( 'edit' ) ); ?>
507
 
508
- <div style="clear:both;">
509
- <h3><?php _e( 'Table Information', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></h3>
510
- <table class="tb-wp-table-options">
 
511
  <tr valign="top">
512
  <th scope="row"><label for="table[name]"><?php _e( 'Table Name', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
513
  <td><input type="text" name="table[name]" id="table[name]" value="<?php echo $this->safe_output( $table['name'] ); ?>" style="width:250px" /></td>
514
  </tr>
515
  <tr valign="top">
516
  <th scope="row"><label for="table[description]"><?php _e( 'Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
517
- <td><textarea name="table[description]" id="table[description]" style="width:250px;height:85px;"><?php echo $this->safe_output( $table['description'] ); ?></textarea></td>
518
  </tr>
519
  </table>
520
  </div>
521
- <div style="clear:both;">
 
522
  <?php if ( 0 < $cols && 0 < $rows ) { ?>
523
- <h3><?php _e( 'Table Contents', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></h3>
 
 
524
  <table class="widefat" style="width:auto;">
525
  <thead>
526
  <tr>
527
  <th>&nbsp;</th>
528
  <?php
529
  // Table Header (Columns get a Letter between A and A+$cols-1)
530
- foreach ( range( 'A', chr( ord( 'A' ) + $cols - 1 ) ) as $letter)
531
  echo "<th scope=\"col\">".$letter."</th>";
532
  ?>
533
  <th>&nbsp;</th>
@@ -535,12 +613,12 @@ class WP_Table_Reloaded_Admin {
535
  </thead>
536
  <tbody>
537
  <?php
538
- foreach( $table['data'] as $row_idx => $table_row ) {
539
  echo "<tr>\n";
540
  // Table Header (Rows get a Number between 1 and $rows)
541
  $output_idx = $row_idx + 1;
542
  echo "\t<th scope=\"row\">{$output_idx}</th>\n";
543
- foreach( $table_row as $col_idx => $cell_content ) {
544
  $cell_content = $this->safe_output( $cell_content );
545
  $cell_name = "table[data][{$row_idx}][{$col_idx}]";
546
  echo "\t<td><input type=\"text\" name=\"{$cell_name}\" value=\"{$cell_content}\" /></td>\n";
@@ -556,7 +634,7 @@ class WP_Table_Reloaded_Admin {
556
  <?php
557
  echo "<tr>\n";
558
  echo "\t<th scope=\"row\">&nbsp;</th>\n";
559
- foreach( $table['data'][0] as $col_idx => $cell_content ) {
560
  $insert_col_url = $this->get_action_url( array( 'action' => 'insert', 'table_id' => $table['id'], 'item' => 'col', 'element_id' => $col_idx ), true );
561
  $delete_col_url = $this->get_action_url( array( 'action' => 'delete', 'table_id' => $table['id'], 'item' => 'col', 'element_id' => $col_idx ), true );
562
  echo "\t<td><a href=\"{$insert_col_url}\">" . __( 'Insert Column', WP_TABLE_RELOADED_TEXTDOMAIN )."</a>";
@@ -571,48 +649,59 @@ class WP_Table_Reloaded_Admin {
571
  ?>
572
  </tbody>
573
  </table>
574
- <?php } //endif ?>
575
  </div>
 
 
576
  <div style="clear:both;">
577
- <?php if ( 1 < $rows ) { // swap rows form?>
578
- <br/>
579
- <?php _e( 'Swap rows', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>
580
- <select name="swap[row][1]">
581
- <?php foreach( $table['data'] as $row_idx => $table_row )
582
- echo "<option value=\"{$row_idx}\">" . ( $row_idx + 1 ) . "</option>"; ?>
583
- </select>
584
- <?php _e( 'and', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>
585
- <select name="swap[row][2]">
586
- <?php foreach( $table['data'] as $row_idx => $table_row )
587
- echo "<option value=\"{$row_idx}\">" . ( $row_idx + 1 ) . "</option>"; ?>
588
- </select>
 
 
 
589
  <input type="submit" name="submit[swap_rows]" class="button-primary" value="<?php _e( 'Swap', WP_TABLE_RELOADED_TEXTDOMAIN ) ?>" />
590
  <?php } // end if form swap rows ?>
591
 
592
  <?php if ( 1 < $cols ) { // swap cols form ?>
593
  <br/>
594
- <?php _e( 'Swap columns', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>
595
- <select name="swap[col][1]">
596
- <?php foreach( $table['data'][0] as $col_idx => $cell_content )
597
- echo "<option value=\"{$col_idx}\">" . ( chr( ord( 'A' ) + $col_idx ) ) . "</option>"; ?>
598
- </select>
599
- <?php _e( 'and', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>
600
- <select name="swap[col][2]">
601
- <?php foreach( $table['data'][0] as $col_idx => $cell_content )
602
- echo "<option value=\"{$col_idx}\">" . ( chr( ord( 'A' ) + $col_idx ) ) . "</option>"; ?>
603
- </select>
 
 
 
 
 
604
  <input type="submit" name="submit[swap_cols]" class="button-primary" value="<?php _e( 'Swap', WP_TABLE_RELOADED_TEXTDOMAIN ) ?>" />
605
  <?php } // end if form swap cols ?>
606
  </div>
607
- <div style="clear:both;">
608
- <h3><?php _e( 'Table Settings', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></h3>
 
 
609
  <p><?php _e( 'These settings will only be used for this table.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
610
- <table class="tb-wp-table-options">
611
  <tr valign="top">
612
  <th scope="row"><?php _e( 'Alternating row colors', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
613
  <td><input type="checkbox" name="table[options][alternating_row_colors]" id="table[options][alternating_row_colors]"<?php echo ( true == $table['options']['alternating_row_colors'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="table[options][alternating_row_colors]"><?php _e( 'Every second row will have an alternating background color.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
614
  </tr>
615
- <tr valign="top">
616
  <th scope="row"><?php _e( 'Use Table Headline', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
617
  <td><input type="checkbox" name="table[options][first_row_th]" id="table[options][first_row_th]"<?php echo ( true == $table['options']['first_row_th'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="table[options][first_row_th]"><?php _e( 'The first row of your table will use the [th] tag.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
618
  </tr>
@@ -624,13 +713,14 @@ class WP_Table_Reloaded_Admin {
624
  <th scope="row"><?php _e( 'Print Table Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
625
  <td><input type="checkbox" name="table[options][print_description]" id="table[options][print_description]"<?php echo ( true == $table['options']['print_description'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="table[options][print_description]"><?php _e( 'The Table Description will be written under the table.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
626
  </tr>
627
- <tr valign="top">
628
  <th scope="row"><?php _e( 'Use Tablesorter', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
629
- <td><input type="checkbox" name="table[options][use_tablesorter]" id="table[options][use_tablesorter]"<?php echo ( true == $table['options']['use_tablesorter'] ) ? ' checked="checked"': '' ;?><?php echo ( false == $this->options['enable_tablesorter'] ) ? ' disabled="disabled"': '' ;?> value="true" /> <label for="table[options][use_tablesorter]"><?php _e( 'You may sort a table using the <a href="http://www.tablesorter.com/">Tablesorter-jQuery-Plugin</a>. <small>Attention: You must have Tablesorter enabled on the "Plugin Options" page and the option "Use Table Headline" has to be enabled above for this to work!</small>', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
630
  </tr>
631
  </table>
632
  </div>
633
-
 
634
  <input type="hidden" name="table[id]" value="<?php echo $table['id']; ?>" />
635
  <input type="hidden" name="action" value="edit" />
636
  <p class="submit">
@@ -659,25 +749,43 @@ class WP_Table_Reloaded_Admin {
659
  $this->print_submenu_navigation( 'import' );
660
  ?>
661
  <div style="clear:both;">
662
- <p><?php _e( 'You may import a table from existing data here.<br/>It has to be a CSV file. You can select the used delimiter below.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
663
  </div>
664
  <div style="clear:both;">
665
  <form method="post" enctype="multipart/form-data" action="<?php echo $this->get_action_url(); ?>">
666
  <?php wp_nonce_field( $this->get_nonce( 'import' ) ); ?>
667
- <table class="tb-wp-table-options">
668
  <tr valign="top">
669
- <th scope="row"><label for="import_file"><?php _e( 'Select File with Table to Import', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
670
- <td><input name="import_file" id="import_file" type="file" /></td>
 
 
 
 
 
 
671
  </tr>
672
- <tr valign="top">
673
  <th scope="row"><label for="delimiter"><?php _e( 'Used Delimiter', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
674
  <td><select id="delimiter" name="delimiter">
675
  <?php
676
  $delimiters = $this->import_instance->delimiters;
677
- foreach( $delimiters as $delimiter => $longname )
678
  echo "<option" . ( ( $delimiter == $_POST['delimiter'] ) ? ' selected="selected"': '' ) . " value=\"{$delimiter}\">{$longname}</option>";
679
  ?>
680
- </select></td>
 
 
 
 
 
 
 
 
 
 
 
 
681
  </tr>
682
  </table>
683
  <input type="hidden" name="action" value="import" />
@@ -686,7 +794,64 @@ class WP_Table_Reloaded_Admin {
686
  </p>
687
  </form>
688
  </div>
 
 
 
 
 
 
 
 
 
 
 
689
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
690
  $this->print_page_footer();
691
  }
692
 
@@ -702,24 +867,24 @@ class WP_Table_Reloaded_Admin {
702
  $this->print_submenu_navigation( 'export' );
703
  ?>
704
  <div style="clear:both;">
705
- <p><?php _e( 'You may export a table here.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
706
  </div>
707
  <?php if( 0 < count( $this->tables ) ) { ?>
708
  <div style="clear:both;">
709
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
710
  <?php wp_nonce_field( $this->get_nonce( 'export' ) ); ?>
711
- <table class="tb-wp-table-options">
712
  <tr valign="top">
713
  <th scope="row"><label for="table_id"><?php _e( 'Select Table to Export', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
714
  <td><select id="table_id" name="table_id">
715
  <?php
716
- foreach( $this->tables as $id => $tableoptionname ) {
717
  // get name and description to show in list
718
  $table = $this->load_table( $id );
719
  $name = $this->safe_output( $table['name'] );
720
  //$description = $this->safe_output( $table['description'] );
721
  unset( $table );
722
- echo "<option" . ( ( $id == $table_id ) ? ' selected="selected"': '' ) . " value=\"{$id}\">{$name}</option>";
723
  }
724
  ?>
725
  </select></td>
@@ -729,20 +894,24 @@ class WP_Table_Reloaded_Admin {
729
  <td><select id="export_format" name="export_format">
730
  <?php
731
  $export_formats = $this->export_instance->export_formats;
732
- foreach( $export_formats as $export_format => $longname )
733
  echo "<option" . ( ( $export_format == $_POST['export_format'] ) ? ' selected="selected"': '' ) . " value=\"{$export_format}\">{$longname}</option>";
734
  ?>
735
  </select></td>
736
  </tr>
737
- <tr valign="top">
738
  <th scope="row"><label for="delimiter"><?php _e( 'Select Delimiter to use', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
739
  <td><select id="delimiter" name="delimiter">
740
  <?php
741
  $delimiters = $this->export_instance->delimiters;
742
- foreach( $delimiters as $delimiter => $longname )
743
  echo "<option" . ( ( $delimiter == $_POST['delimiter'] ) ? ' selected="selected"': '' ) . " value=\"{$delimiter}\">{$longname}</option>";
744
  ?>
745
- </select></td>
 
 
 
 
746
  </tr>
747
  </table>
748
  <input type="hidden" name="action" value="export" />
@@ -750,7 +919,7 @@ class WP_Table_Reloaded_Admin {
750
  <input type="submit" name="submit" class="button-primary" value="<?php _e( 'Export Table', WP_TABLE_RELOADED_TEXTDOMAIN ) ?>" />
751
  </p>
752
  <?php if ( false != $output ) { ?>
753
- <textarea style="width:600px;height:300px;"><?php echo htmlspecialchars( $output ); ?></textarea>
754
  <?php } ?>
755
  </form>
756
  </div>
@@ -771,27 +940,56 @@ class WP_Table_Reloaded_Admin {
771
  $this->print_submenu_navigation( 'options' );
772
  ?>
773
  <div style="clear:both;">
774
- <p><?php _e( 'You may change these global options.<br/>They will effect all tables or the general plugin behaviour.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
775
  </div>
776
 
777
  <div style="clear:both;">
778
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
779
  <?php wp_nonce_field( $this->get_nonce( 'options' ) ); ?>
780
-
781
- <table class="tb-wp-table-options">
782
- <tr valign="top">
783
- <th scope="row"><?php _e( 'Uninstall Plugin upon Deactivation?', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
784
- <td><input type="checkbox" name="options[uninstall_upon_deactivation]" id="options[uninstall_upon_deactivation]"<?php echo ( true == $this->options['uninstall_upon_deactivation'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="options[uninstall_upon_deactivation]"><?php _e( 'Yes, uninstall everything when plugin is deactivated.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
785
- </tr>
786
  <tr valign="top">
787
  <th scope="row"><?php _e( 'Enable Tablesorter-JavaScript?', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
788
  <td><input type="checkbox" name="options[enable_tablesorter]" id="options[enable_tablesorter]"<?php echo ( true == $this->options['enable_tablesorter'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="options[enable_tablesorter]"><?php _e( 'Yes, enable <a href="http://www.tablesorter.com/">Tablesorter-jQuery-Plugin</a> to be used to make table sortable (can be changed for every table separatly).', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
789
  </tr>
790
- <tr valign="top">
791
  <th scope="row"><?php _e( 'Use global CSS-file?', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
792
- <td><input type="checkbox" name="options[use_global_css]" id="options[use_global_css]"<?php echo ( true == $this->options['use_global_css'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="options[use_global_css]"><?php _e( 'Yes, load the global CSS-file wp-table-reloaded.css, which contains basic styles and graphics for the Tablesorter. (File "global-frontend-style.css" in subfolder "css")', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
793
  </tr>
794
  </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
795
  <input type="hidden" name="options[installed_version]" value="<?php echo $this->options['installed_version']; ?>" />
796
  <input type="hidden" name="options[last_id]" value="<?php echo $this->options['last_id']; ?>" />
797
  <input type="hidden" name="action" value="options" />
@@ -802,12 +1000,12 @@ class WP_Table_Reloaded_Admin {
802
  </form>
803
  </div>
804
 
805
- <h2><?php _e( 'Uninstall Plugin', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></h2>
806
  <div style="clear:both;">
807
- <p><?php _e( 'You may uninstall the plugin here. This will delete all tables, data, options, etc., that belong to the plugin, including all tables you added or imported.<br/> Be very careful with this and only click the button if you know what you are doing!', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
808
  <?php
809
  $uninstall_url = $this->get_action_url( array( 'action' => 'uninstall' ), true );
810
- echo " <a class=\"button-secondary delete\" href=\"{$uninstall_url}\" onclick=\"javascript:if ( confirm( '".__( 'Do you really want to uninstall the plugin and delete ALL data?', WP_TABLE_RELOADED_TEXTDOMAIN )."' ) ) { return confirm( '".__( 'Are you really sure?', WP_TABLE_RELOADED_TEXTDOMAIN )."' ); } else { return false; }\">" . __( 'Uninstall TB-WP-Table Plugin', WP_TABLE_RELOADED_TEXTDOMAIN ) . "</a>";
811
  ?>
812
  </div>
813
  <?php
@@ -820,10 +1018,47 @@ class WP_Table_Reloaded_Admin {
820
  $this->print_page_header( __( 'Information about the plugin', WP_TABLE_RELOADED_TEXTDOMAIN ) );
821
  $this->print_submenu_navigation( 'info' );
822
  ?>
 
823
  <div style="clear:both;">
824
- <p><?php _e( 'This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
825
- <p><?php _e( 'More information can be found on the <a href="http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/">plugin\'s website</a>. A documentation and certain support and help request possibilities will be available soon.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
826
- <p><?php _e( 'This plugin was written by <a href="http://tobias.baethge.com/">Tobias B&auml;thge</a>. It is licenced as Free Software under GPL 2.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
827
  </div>
828
  <?php
829
  $this->print_page_footer();
@@ -843,12 +1078,13 @@ class WP_Table_Reloaded_Admin {
843
  // ###################################################################################################################
844
  function print_page_header( $text = 'WP-Table Reloaded' ) {
845
  echo "<div class='wrap'>
846
- <h2>{$text}</h2>";
 
847
  }
848
 
849
  // ###################################################################################################################
850
  function print_page_footer() {
851
- echo "</div>";
852
  }
853
 
854
  // ###################################################################################################################
@@ -867,6 +1103,11 @@ class WP_Table_Reloaded_Admin {
867
  <?php
868
  }
869
 
 
 
 
 
 
870
  // ###################################################################################################################
871
  function safe_output( $string ) {
872
  return htmlspecialchars( stripslashes( $string ) );
@@ -921,6 +1162,17 @@ class WP_Table_Reloaded_Admin {
921
  return $this->default_table;
922
  }
923
 
 
 
 
 
 
 
 
 
 
 
 
924
  // ###################################################################################################################
925
  // ######################################### ####################################################
926
  // ######################################### URL Support ####################################################
@@ -955,10 +1207,9 @@ class WP_Table_Reloaded_Admin {
955
  // ###################################################################################################################
956
  function create_class_instance( $class, $file) {
957
  if ( !class_exists( $class ) ) {
958
- include_once ( WP_TABLE_RELOADED_ABSPATH . $file );
959
- if ( class_exists( $class ) ) {
960
  return new $class;
961
- }
962
  }
963
  }
964
 
@@ -967,9 +1218,8 @@ class WP_Table_Reloaded_Admin {
967
  // load options and table information from database, if not available: default
968
  $this->options = get_option( $this->optionname['options'] );
969
  $this->tables = get_option( $this->optionname['tables'] );
970
- if ( false === $this->options || false === $this->tables ) {
971
  $this->plugin_install();
972
- }
973
  }
974
 
975
  // ###################################################################################################################
@@ -993,8 +1243,13 @@ class WP_Table_Reloaded_Admin {
993
  $this->options = get_option( $this->optionname['options'] );
994
  $this->tables = get_option( $this->optionname['tables'] );
995
  if ( false !== $this->options && isset( $this->options['uninstall_upon_deactivation'] ) ) {
996
- if ( true == $this->options['uninstall_upon_deactivation'] )
997
- $this->plugin_uninstall();
 
 
 
 
 
998
  }
999
  }
1000
 
@@ -1017,13 +1272,19 @@ class WP_Table_Reloaded_Admin {
1017
  $new_options = array_intersect_key( $new_options, $this->default_options );
1018
  // 3. step: update installed version number
1019
  $new_options['installed_version'] = $this->plugin_version;
 
 
 
 
 
 
1020
  // 4. step: save the new options
1021
  $this->options = $new_options;
1022
  $this->update_options();
1023
 
1024
  // update individual table options
1025
  $this->tables = get_option( $this->optionname['tables'] );
1026
- foreach( $this->tables as $id => $tableoptionname ) {
1027
  $table = $this->load_table( $id );
1028
  $new_table = array_merge( $this->default_table, $table );
1029
  $new_table = array_intersect_key( $new_table, $this->default_table );
@@ -1032,33 +1293,41 @@ class WP_Table_Reloaded_Admin {
1032
  $this->save_table( $new_table );
1033
  }
1034
  }
1035
-
1036
- // ###################################################################################################################
1037
- function plugin_uninstall() {
1038
- // delete all options and tables
1039
- foreach ( $this->tables as $id => $tableoptionname ) {
1040
- delete_option( $tableoptionname );
1041
- }
1042
- delete_option( $this->optionname['tables'] );
1043
- delete_option( $this->optionname['options'] );
1044
- }
1045
 
1046
  // ###################################################################################################################
1047
  // initialize i18n support, load textdomain
1048
  function init_language_support() {
1049
- $language_directory = basename( dirname( __FILE__ ) );// . '/language';
1050
  load_plugin_textdomain( WP_TABLE_RELOADED_TEXTDOMAIN, 'wp-content/plugins/' . $language_directory, $language_directory );
1051
  }
1052
-
1053
  // ###################################################################################################################
1054
- // enqueue css-stylesheet-file, if it exists
 
 
 
 
 
 
 
 
1055
  function add_manage_page_css() {
1056
  $cssfile = 'admin-style.css';
1057
- if ( file_exists( dirname ( __FILE__ ) . '/css/' . $cssfile ) ) {
1058
- wp_enqueue_style( 'wp-table-reloaded-admin-css', WP_PLUGIN_URL . '/' . basename( dirname( __FILE__ ) ) . '/css/' . $cssfile );
 
 
 
1059
  }
1060
  }
1061
-
 
 
 
 
 
 
 
1062
  } // class WP_Table_Reloaded_Admin
1063
 
1064
  ?>
2
  /*
3
  File Name: WP-Table Reloaded - Admin Class (see main file wp-table-reloaded.php)
4
  Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
+ Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts, on your pages or in text widgets by using a shortcode. The plugin is a completely rewritten and extended version of Alex Rabe's "WP-Table" and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
+ Version: 1.0
7
  Author: Tobias B&auml;thge
8
  Author URI: http://tobias.baethge.com/
9
  */
11
  class WP_Table_Reloaded_Admin {
12
 
13
  // ###################################################################################################################
14
+ var $plugin_version = '1.0';
15
  // nonce for security of links/forms, try to prevent "CSRF"
16
  var $nonce_base = 'wp-table-reloaded-nonce';
17
  // names for the options which are stored in the WP database
33
  'uninstall_upon_deactivation' => false,
34
  'enable_tablesorter' => true,
35
  'use_global_css' => true,
36
+ 'css_filename' => 'example-style.css',
37
  'last_id' => 0
38
  );
39
  var $default_tables = array();
59
  // add admin-page to sidebar navigation, function called by PHP when class is constructed
60
  function WP_Table_Reloaded_Admin() {
61
  add_action( 'admin_menu', array( &$this, 'add_manage_page' ) );
62
+
63
+ // have to check for possible export file download request this early,
64
+ // because otherwise http-headers will be sent by WP before we can send download headers
65
+ if ( isset( $_POST['wp_table_reloaded_download_export_file'] ) ) {
66
+ add_action('init', array( &$this, 'do_action_export' ) );
67
+ }
68
  }
69
 
70
  // ###################################################################################################################
71
  // add page, and what happens when page is loaded or shown
72
  function add_manage_page() {
73
+ $min_needed_capability = 'publish_posts'; // user needs at least this capability to show WP-Table Reloaded config page
74
+ $hook = add_management_page( 'WP-Table Reloaded', 'WP-Table Reloaded', $min_needed_capability, 'wp_table_reloaded_manage_page', array( &$this, 'show_manage_page' ) );
75
  add_action('load-' . $hook, array( &$this, 'load_manage_page' ) );
76
+
77
+ if ( true == function_exists( 'add_contextual_help' ) ) // then WP version is >= 2.7
78
+ add_contextual_help( $hook, $this->get_contextual_help_string() );
79
  }
80
 
81
  // ###################################################################################################################
82
  // only load the scripts, stylesheets and language by hook, if this admin page will be shown
83
  // all of this will be done before the page is shown by show_manage_page()
84
  function load_manage_page() {
85
+ // load js and css for admin
86
+ $this->add_manage_page_js();
87
  $this->add_manage_page_css();
88
 
89
  // init language support (add later)
109
  // ########################################## ######################################################
110
  // ########################################## ACTIONS ######################################################
111
  // ########################################## ######################################################
112
+ // ###################################################################################################################
113
+
114
  // ###################################################################################################################
115
  // list all tables
116
  function do_action_list() {
184
  $cols = (0 < $rows) ? count( $table['data'][0] ) : 0;
185
  // swap rows $col_id1 and $col_id2
186
  if ( ( 1 < $cols ) && ( -1 < $col_id1 ) && ( -1 < $col_id2 ) ) {
187
+ foreach ( $table['data'] as $row_idx => $row ) {
188
  $temp_col = $table['data'][$row_idx][$col_id1];
189
  $table['data'][$row_idx][$col_id1] = $table['data'][$row_idx][$col_id2];
190
  $table['data'][$row_idx][$col_id2] = $temp_col;
221
  // new table
222
  $new_table = $table_to_copy;
223
  $new_table['id'] = $this->get_new_table_id();
224
+ $new_table['name'] = __( 'Copy of', WP_TABLE_RELOADED_TEXTDOMAIN ) . ' ' . $table_to_copy['name'];
225
  unset( $table_to_copy );
226
 
227
  $this->save_table( $new_table );
265
  $cols = (0 < $rows) ? count( $table['data'][0] ) : 0;
266
  // delete column with key $col_id, if there are at least 2 columns
267
  if ( ( 1 < $cols ) && ( -1 < $col_id ) ) {
268
+ foreach ( $table['data'] as $row_idx => $row )
269
  array_splice( $table['data'][$row_idx], $col_id, 1 );
270
  $this->save_table( $table );
271
  $this->print_success_message( __( 'Column deleted successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
303
  $col_id = $_GET['element_id'];
304
  // init new empty row (with all columns) and insert it before row with key $row_id
305
  $new_col = '';
306
+ foreach ( $table['data'] as $row_idx => $row )
307
  array_splice( $table['data'][$row_idx], $col_id, 0, $new_col );
308
  $this->save_table( $table );
309
  $message = __( 'Column inserted successfully.', WP_TABLE_RELOADED_TEXTDOMAIN );
319
 
320
  // ###################################################################################################################
321
  function do_action_import() {
322
+ $this->import_instance = $this->create_class_instance( 'WP_Table_Reloaded_Import', 'wp-table-reloaded-import.class.php' );
323
+ if ( isset( $_POST['submit'] ) && ( isset( $_FILES['import_file'] ) || isset( $_POST['import_data'] ) ) ) {
324
  check_admin_referer( $this->get_nonce( 'import' ) );
325
 
326
  // do import
327
+ if ( false == empty( $_FILES['import_file']['tmp_name'] ) ) {
328
+ $this->import_instance->tempname = $_FILES['import_file']['tmp_name'];
329
+ $this->import_instance->filename = $_FILES['import_file']['name'];
330
+ $this->import_instance->mimetype = $_FILES['import_file']['type'];
331
+ $this->import_instance->import_from = 'file-upload';
332
+ $this->import_instance->import_format = $_POST['import_format'];
333
+ $this->import_instance->delimiter = $_POST['delimiter'];
334
+ $this->import_instance->import_table();
335
+ $error = $this->import_instance->error;
336
+ $imported_table = $this->import_instance->imported_table;
337
+ $this->import_instance->unlink_csv_file();
338
+ } elseif ( isset( $_POST['import_data'] ) ) {
339
+ $this->import_instance->tempname = '';
340
+ $this->import_instance->filename = __( 'Imported Table', WP_TABLE_RELOADED_TEXTDOMAIN );
341
+ $this->import_instance->mimetype = __( 'via form', WP_TABLE_RELOADED_TEXTDOMAIN );;
342
+ $this->import_instance->import_from = 'form-field';
343
+ $this->import_instance->import_data = stripslashes( $_POST['import_data'] );
344
+ $this->import_instance->import_format = $_POST['import_format'];
345
+ $this->import_instance->delimiter = $_POST['delimiter'];
346
+ $this->import_instance->import_table();
347
+ $error = $this->import_instance->error;
348
+ $imported_table = $this->import_instance->imported_table;
349
+ }
350
+
351
+ $table = array_merge( $this->default_table, $imported_table );
352
+
353
+ $table['id'] = $this->get_new_table_id();
354
+
355
+ $this->save_table( $table );
356
+
357
+ if ( false == $error ) {
358
+ $this->print_success_message( __( 'Table imported successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
359
+ $this->print_edit_table_form( $table['id'] );
360
+ } else {
361
+ $this->print_success_message( __( 'Table could not be imported.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
362
+ $this->print_import_table_form();
363
+ }
364
+ } elseif ( 'wp_table' == $_GET['import_format'] && isset( $_GET['wp_table_id'] ) ) {
365
+ check_admin_referer( $this->get_nonce( 'import' ) );
366
 
367
+ // do import
368
+ $this->import_instance->import_format = 'wp_table';
369
+ $this->import_instance->wp_table_id = $_GET['wp_table_id'];
 
370
  $this->import_instance->import_table();
371
  $imported_table = $this->import_instance->imported_table;
 
372
 
373
  $table = array_merge( $this->default_table, $imported_table );
374
 
384
 
385
  // ###################################################################################################################
386
  function do_action_export() {
387
+ $this->export_instance = $this->create_class_instance( 'WP_Table_Reloaded_Export', 'wp-table-reloaded-export.class.php' );
388
  if ( isset( $_POST['submit'] ) && isset( $_POST['table_id'] ) && isset( $_POST['export_format'] ) ) {
389
  check_admin_referer( $this->get_nonce( 'export' ) );
390
 
396
  $this->export_instance->export_table();
397
  $exported_table = $this->export_instance->exported_table;
398
 
399
+ if ( isset( $_POST['wp_table_reloaded_download_export_file'] ) ) {
400
+ $filename = $table_to_export['id'] . '-' . $table_to_export['name'] . '-' . date('Y-m-d') . '.' . $_POST['export_format'];
401
+ $this->prepare_download( $filename, strlen( $exported_table ), 'text/' . $_POST['export_format'] );
402
+ echo $exported_table;
403
+ exit;
404
+ } else {
405
+ $this->print_success_message( sprintf( __( 'Table "%s" exported successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ), $this->safe_output( $table_to_export['name'] ) ) );
406
+ $this->print_export_table_form( $_POST['table_id'], $exported_table );
407
+ }
408
  } else {
409
  $this->print_export_table_form( $_REQUEST['table_id'] );
410
  }
420
  $this->options['uninstall_upon_deactivation'] = isset( $new_options['uninstall_upon_deactivation'] );
421
  $this->options['enable_tablesorter'] = isset( $new_options['enable_tablesorter'] );
422
  $this->options['use_global_css'] = isset( $new_options['use_global_css'] );
423
+ $this->options['css_filename'] = isset( $new_options['css_filename'] ) ? $new_options['css_filename'] : $this->options['css_filename'];
424
  $this->update_options();
425
 
426
  $this->print_success_message( __( 'Options saved successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
431
  // ###################################################################################################################
432
  function do_action_uninstall() {
433
  check_admin_referer( $this->get_nonce( 'uninstall' ) );
434
+
435
+ // everything shall be deleted (manual uninstall)
436
+ $this->options['uninstall_upon_deactivation'] = true;
437
+ $this->update_options();
438
+
439
+ $plugin = WP_TABLE_RELOADED_BASENAME;
440
+ deactivate_plugins( $plugin );
441
+ if ( false !== get_option( 'recently_activated', false ) )
442
+ update_option( 'recently_activated', array( $plugin => time()) + (array)get_option( 'recently_activated' ) );
443
+
444
+ $this->print_page_header( __( 'WP-Table Reloaded', WP_TABLE_RELOADED_TEXTDOMAIN ) );
445
+ $this->print_success_message( __( 'Plugin deactivated successfully.', WP_TABLE_RELOADED_TEXTDOMAIN ) );
446
+ echo "<p>" . __( "All tables, data and options were deleted. You may now remove the plugin's subfolder from your WordPress plugin folder.", WP_TABLE_RELOADED_TEXTDOMAIN ) . "</p>";
447
+ $this->print_page_footer();
448
  }
449
 
450
  // ###################################################################################################################
458
  // ########################################## ####################################################
459
  // ###################################################################################################################
460
 
461
+ // ###################################################################################################################
462
  // list all tables
463
  function print_list_tables_form() {
464
  $this->print_page_header( __( 'List of Tables', WP_TABLE_RELOADED_TEXTDOMAIN ) );
465
  $this->print_submenu_navigation( 'list' );
466
  ?>
467
  <div style="clear:both;"><p><?php _e( 'This is a list of all available tables. You may add, edit, copy or delete tables here.', WP_TABLE_RELOADED_TEXTDOMAIN ) ?><br />
468
+ <?php _e( 'If you want to show a table in your pages, posts or text-widgets, use the shortcode: <strong>[table id=&lt;the_table_ID&gt; /]</strong>', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></p></div>
469
  <?php
470
+ if ( 0 < count( $this->tables ) ) {
471
  ?>
472
  <div style="clear:both;">
473
  <table class="widefat">
479
  <th scope="col"><?php _e( 'Action', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></th>
480
  </tr>
481
  </thead>
 
482
  <?php
483
+ echo "<tbody>\n";
484
  $bg_style_index = 0;
485
  foreach ( $this->tables as $id => $tableoptionname ) {
486
  $bg_style_index++;
525
  $this->print_page_header( __( 'Add new Table', WP_TABLE_RELOADED_TEXTDOMAIN ) );
526
  $this->print_submenu_navigation( 'add' );
527
  ?>
528
+ <div style="clear:both;">
529
+ <p><?php _e( 'You can add a new table here. Just enter it\'s name, a description (optional) and the number of rows and columns.<br/>You may add, insert or delete rows and columns later.', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></p>
530
+ </div>
 
531
  <div style="clear:both;">
532
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
533
  <?php wp_nonce_field( $this->get_nonce( 'add' ) ); ?>
534
 
535
+ <table class="wp-table-reloaded-options">
536
  <tr valign="top">
537
  <th scope="row"><label for="table[name]"><?php _e( 'Table Name', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
538
+ <td><input type="text" name="table[name]" value="<?php _e( 'Enter Table Name', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>" style="width:250px;" /></td>
539
  </tr>
540
  <tr valign="top">
541
  <th scope="row"><label for="table[description]"><?php _e( 'Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
542
+ <td><textarea name="table[description]" id="table[description]" rows="15" cols="40" style="width:250px;height:85px;"><?php _e( 'Enter Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></textarea></td>
543
  </tr>
544
  <tr valign="top">
545
  <th scope="row"><label for="table[rows]"><?php _e( 'Number of Rows', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
572
 
573
  $this->print_page_header( __( sprintf( 'Edit Table "%s"', $this->safe_output( $table['name'] ) ), WP_TABLE_RELOADED_TEXTDOMAIN ) );
574
  $this->print_submenu_navigation( 'edit' );
575
+
576
+ ?>
577
+ <div style="clear:both;"><p><?php _e( 'You may edit the content of the table here. It is also possible to add or delete columns and rows.', WP_TABLE_RELOADED_TEXTDOMAIN ) ?><br />
578
+ <?php _e( sprintf( 'If you want to show a table in your pages, posts or text-widgets, use this shortcode: <strong>[table id=%s /]</strong>', $this->safe_output( $table_id ) ), WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p></div>
579
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
580
  <?php wp_nonce_field( $this->get_nonce( 'edit' ) ); ?>
581
 
582
+ <div class="postbox">
583
+ <h3 class="hndle"><span><?php _e( 'Table Information', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
584
+ <div class="inside">
585
+ <table class="wp-table-reloaded-options">
586
  <tr valign="top">
587
  <th scope="row"><label for="table[name]"><?php _e( 'Table Name', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
588
  <td><input type="text" name="table[name]" id="table[name]" value="<?php echo $this->safe_output( $table['name'] ); ?>" style="width:250px" /></td>
589
  </tr>
590
  <tr valign="top">
591
  <th scope="row"><label for="table[description]"><?php _e( 'Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
592
+ <td><textarea name="table[description]" id="table[description]" rows="15" cols="40" style="width:250px;height:85px;"><?php echo $this->safe_output( $table['description'] ); ?></textarea></td>
593
  </tr>
594
  </table>
595
  </div>
596
+ </div>
597
+
598
  <?php if ( 0 < $cols && 0 < $rows ) { ?>
599
+ <div class="postbox">
600
+ <h3 class="hndle"><span><?php _e( 'Table Contents', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
601
+ <div class="inside">
602
  <table class="widefat" style="width:auto;">
603
  <thead>
604
  <tr>
605
  <th>&nbsp;</th>
606
  <?php
607
  // Table Header (Columns get a Letter between A and A+$cols-1)
608
+ foreach ( range( 'A', chr( ord( 'A' ) + $cols - 1 ) ) as $letter )
609
  echo "<th scope=\"col\">".$letter."</th>";
610
  ?>
611
  <th>&nbsp;</th>
613
  </thead>
614
  <tbody>
615
  <?php
616
+ foreach ( $table['data'] as $row_idx => $table_row ) {
617
  echo "<tr>\n";
618
  // Table Header (Rows get a Number between 1 and $rows)
619
  $output_idx = $row_idx + 1;
620
  echo "\t<th scope=\"row\">{$output_idx}</th>\n";
621
+ foreach ( $table_row as $col_idx => $cell_content ) {
622
  $cell_content = $this->safe_output( $cell_content );
623
  $cell_name = "table[data][{$row_idx}][{$col_idx}]";
624
  echo "\t<td><input type=\"text\" name=\"{$cell_name}\" value=\"{$cell_content}\" /></td>\n";
634
  <?php
635
  echo "<tr>\n";
636
  echo "\t<th scope=\"row\">&nbsp;</th>\n";
637
+ foreach ( $table['data'][0] as $col_idx => $cell_content ) {
638
  $insert_col_url = $this->get_action_url( array( 'action' => 'insert', 'table_id' => $table['id'], 'item' => 'col', 'element_id' => $col_idx ), true );
639
  $delete_col_url = $this->get_action_url( array( 'action' => 'delete', 'table_id' => $table['id'], 'item' => 'col', 'element_id' => $col_idx ), true );
640
  echo "\t<td><a href=\"{$insert_col_url}\">" . __( 'Insert Column', WP_TABLE_RELOADED_TEXTDOMAIN )."</a>";
649
  ?>
650
  </tbody>
651
  </table>
 
652
  </div>
653
+ </div>
654
+ <?php } //endif ?>
655
  <div style="clear:both;">
656
+ <?php if ( 1 < $rows ) { // swap rows form
657
+
658
+ $row1_select = '<select name="swap[row][1]">';
659
+ foreach ( $table['data'] as $row_idx => $table_row )
660
+ $row1_select .= "<option value=\"{$row_idx}\">" . ( $row_idx + 1 ) . "</option>";
661
+ $row1_select .= '</select>';
662
+
663
+ $row2_select = '<select name="swap[row][2]">';
664
+ foreach ( $table['data'] as $row_idx => $table_row )
665
+ $row2_select .= "<option value=\"{$row_idx}\">" . ( $row_idx + 1 ) . "</option>";
666
+ $row2_select .= '</select>';
667
+
668
+ echo sprintf( __( 'Swap rows %s and %s', WP_TABLE_RELOADED_TEXTDOMAIN ), $row1_select, $row2_select );
669
+
670
+ ?>
671
  <input type="submit" name="submit[swap_rows]" class="button-primary" value="<?php _e( 'Swap', WP_TABLE_RELOADED_TEXTDOMAIN ) ?>" />
672
  <?php } // end if form swap rows ?>
673
 
674
  <?php if ( 1 < $cols ) { // swap cols form ?>
675
  <br/>
676
+ <?php
677
+
678
+ $col1_select = '<select name="swap[col][1]">';
679
+ foreach ( $table['data'][0] as $col_idx => $cell_content )
680
+ $col1_select .= "<option value=\"{$col_idx}\">" . ( chr( ord( 'A' ) + $col_idx ) ) . "</option>";
681
+ $col1_select .= '</select>';
682
+
683
+ $col2_select = '<select name="swap[col][2]">';
684
+ foreach ( $table['data'][0] as $col_idx => $cell_content )
685
+ $col2_select .= "<option value=\"{$col_idx}\">" . ( chr( ord( 'A' ) + $col_idx ) ) . "</option>";
686
+ $col2_select .= '</select>';
687
+
688
+ echo sprintf( __( 'Swap columns %s and %s', WP_TABLE_RELOADED_TEXTDOMAIN ), $col1_select, $col2_select );
689
+
690
+ ?>
691
  <input type="submit" name="submit[swap_cols]" class="button-primary" value="<?php _e( 'Swap', WP_TABLE_RELOADED_TEXTDOMAIN ) ?>" />
692
  <?php } // end if form swap cols ?>
693
  </div>
694
+ <br/>
695
+ <div class="postbox">
696
+ <h3 class="hndle"><span><?php _e( 'Table Settings', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
697
+ <div class="inside">
698
  <p><?php _e( 'These settings will only be used for this table.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
699
+ <table class="wp-table-reloaded-options">
700
  <tr valign="top">
701
  <th scope="row"><?php _e( 'Alternating row colors', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
702
  <td><input type="checkbox" name="table[options][alternating_row_colors]" id="table[options][alternating_row_colors]"<?php echo ( true == $table['options']['alternating_row_colors'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="table[options][alternating_row_colors]"><?php _e( 'Every second row will have an alternating background color.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
703
  </tr>
704
+ <tr valign="top" id="options_use_tableheadline">
705
  <th scope="row"><?php _e( 'Use Table Headline', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
706
  <td><input type="checkbox" name="table[options][first_row_th]" id="table[options][first_row_th]"<?php echo ( true == $table['options']['first_row_th'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="table[options][first_row_th]"><?php _e( 'The first row of your table will use the [th] tag.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
707
  </tr>
713
  <th scope="row"><?php _e( 'Print Table Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
714
  <td><input type="checkbox" name="table[options][print_description]" id="table[options][print_description]"<?php echo ( true == $table['options']['print_description'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="table[options][print_description]"><?php _e( 'The Table Description will be written under the table.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
715
  </tr>
716
+ <tr valign="top" id="options_use_tablesorter">
717
  <th scope="row"><?php _e( 'Use Tablesorter', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
718
+ <td><input type="checkbox" name="table[options][use_tablesorter]" id="table[options][use_tablesorter]"<?php echo ( true == $table['options']['use_tablesorter'] ) ? ' checked="checked"': '' ;?><?php echo ( false == $this->options['enable_tablesorter'] || false == $table['options']['first_row_th'] ) ? ' disabled="disabled"': '' ;?> value="true" /> <label for="table[options][use_tablesorter]"><?php _e( 'You may sort a table using the <a href="http://www.tablesorter.com/">Tablesorter-jQuery-Plugin</a>. <small>Attention: You must have Tablesorter enabled on the "Plugin Options" page and the option "Use Table Headline" has to be enabled above for this to work!</small>', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
719
  </tr>
720
  </table>
721
  </div>
722
+ </div>
723
+ <input type="hidden" id="tablesorter_enabled" value="<?php echo $this->options['enable_tablesorter']; ?>" />
724
  <input type="hidden" name="table[id]" value="<?php echo $table['id']; ?>" />
725
  <input type="hidden" name="action" value="edit" />
726
  <p class="submit">
749
  $this->print_submenu_navigation( 'import' );
750
  ?>
751
  <div style="clear:both;">
752
+ <p><?php _e( 'You may import a table from existing data here.<br/>It may be a CSV, XML oder HTML file. It needs a certrain structure though. Please consult the documentation.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
753
  </div>
754
  <div style="clear:both;">
755
  <form method="post" enctype="multipart/form-data" action="<?php echo $this->get_action_url(); ?>">
756
  <?php wp_nonce_field( $this->get_nonce( 'import' ) ); ?>
757
+ <table class="wp-table-reloaded-options">
758
  <tr valign="top">
759
+ <th scope="row"><label for="import_format"><?php _e( 'Select Import Format', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
760
+ <td><select id="import_format" name="import_format">
761
+ <?php
762
+ $import_formats = $this->import_instance->import_formats;
763
+ foreach ( $import_formats as $import_format => $longname )
764
+ echo "<option value=\"{$import_format}\">{$longname}</option>";
765
+ ?>
766
+ </select></td>
767
  </tr>
768
+ <tr valign="top" class="tr-import-delimiter">
769
  <th scope="row"><label for="delimiter"><?php _e( 'Used Delimiter', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
770
  <td><select id="delimiter" name="delimiter">
771
  <?php
772
  $delimiters = $this->import_instance->delimiters;
773
+ foreach ( $delimiters as $delimiter => $longname )
774
  echo "<option" . ( ( $delimiter == $_POST['delimiter'] ) ? ' selected="selected"': '' ) . " value=\"{$delimiter}\">{$longname}</option>";
775
  ?>
776
+ </select> <?php _e( '<small>(Only needed for CSV export.)</small>', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></td>
777
+ </tr>
778
+ <tr valign="top" class="tr-import-file">
779
+ <th scope="row"><label for="import_file"><?php _e( 'Select File with Table to Import', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
780
+ <td><input name="import_file" id="import_file" type="file" /></td>
781
+ </tr>
782
+ <tr valign="top">
783
+ <th scope="row" style="text-align:center;"><strong><?php _e( '- or -', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></strong></th>
784
+ <td><small><?php _e( '(upload will be preferred over pasting)', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></small></td>
785
+ </tr>
786
+ <tr valign="top" class="tr-import-data">
787
+ <th scope="row" style="vertical-align:top;"><label for="import_data"><?php _e( 'Paste data with Table to Import', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
788
+ <td><textarea name="import_data" id="import_data" rows="15" cols="40" style="width:600px;height:300px;"></textarea></td>
789
  </tr>
790
  </table>
791
  <input type="hidden" name="action" value="import" />
794
  </p>
795
  </form>
796
  </div>
797
+ <?php // check if plugin is installed at all / if tables in db exist
798
+ global $wpdb;
799
+ $wpdb->golftable = $wpdb->prefix . 'golftable';
800
+ $wpdb->golfresult = $wpdb->prefix . 'golfresult';
801
+
802
+ if ( $wpdb->golftable == $wpdb->get_var( "show tables like '{$wpdb->golftable}'" ) && $wpdb->golfresult == $wpdb->get_var( "show tables like '{$wpdb->golfresult}'" ) ) {
803
+ // WP-Table tables exist -> the plugin might be installed, so we output all found tables
804
+
805
+ ?>
806
+ <h2><?php _e( 'Import from original WP-Table plugin', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></h2>
807
+ <div style="clear:both;">
808
  <?php
809
+ $tables = $wpdb->get_results("SELECT * FROM $wpdb->golftable ORDER BY 'table_aid' ASC ");
810
+ if ( 0 < count( $tables ) ) {
811
+ // Tables found in db
812
+ ?>
813
+ <table class="widefat">
814
+ <thead>
815
+ <tr>
816
+ <th scope="col"><?php _e( 'ID', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></th>
817
+ <th scope="col"><?php _e( 'Table Name', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></th>
818
+ <th scope="col"><?php _e( 'Description', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></th>
819
+ <th scope="col"><?php _e( 'Action', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></th>
820
+ </tr>
821
+ </thead>
822
+ <?php
823
+ echo "<tbody>\n";
824
+ $bg_style_index = 0;
825
+ foreach ( $tables as $table ) {
826
+ $bg_style_index++;
827
+ $bg_style = ( 0 == ($bg_style_index % 2) ) ? ' class="alternate"' : '';
828
+
829
+ $table_id = $table->table_aid;
830
+ $name = $table->table_name;
831
+ $description = $table->description;
832
+
833
+ $import_url = $this->get_action_url( array( 'action' => 'import', 'import_format' => 'wp_table', 'wp_table_id' => $table_id ), true );
834
+
835
+ echo "<tr{$bg_style}>\n";
836
+ echo "\t<th scope=\"row\">{$table_id}</th>";
837
+ echo "<td>{$name}</td>";
838
+ echo "<td>{$description}</td>";
839
+ echo "<td><a href=\"{$import_url}\" onclick=\"javascript:return confirm( '".__( 'Do you really want to import this table from the WP-Table plugin?', WP_TABLE_RELOADED_TEXTDOMAIN )."' );\">" . __( 'Import', WP_TABLE_RELOADED_TEXTDOMAIN ) . "</a></td>\n";
840
+ echo "</tr>\n";
841
+
842
+ }
843
+ echo "</tbody>\n";
844
+ echo "</table>\n";
845
+
846
+ } else { // end if $tables
847
+ echo "<div style=\"clear:both;\"><p>" . __( 'WP-Table by Alex Rabe seems to be installed, but no tables were found.', WP_TABLE_RELOADED_TEXTDOMAIN ) . "</p></div>";
848
+ }
849
+ ?>
850
+ </div>
851
+ <?php
852
+ } else {
853
+ // one of the WP-Table tables was not found in database, so nothing to show here
854
+ }
855
  $this->print_page_footer();
856
  }
857
 
867
  $this->print_submenu_navigation( 'export' );
868
  ?>
869
  <div style="clear:both;">
870
+ <p><?php _e( 'You may export a table here. Just select the table, your desired export format and a delimiter (needed for CSV only).<br/>You may opt to download the export file. Otherwise it will be shown on this page.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
871
  </div>
872
  <?php if( 0 < count( $this->tables ) ) { ?>
873
  <div style="clear:both;">
874
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
875
  <?php wp_nonce_field( $this->get_nonce( 'export' ) ); ?>
876
+ <table class="wp-table-reloaded-options">
877
  <tr valign="top">
878
  <th scope="row"><label for="table_id"><?php _e( 'Select Table to Export', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
879
  <td><select id="table_id" name="table_id">
880
  <?php
881
+ foreach ( $this->tables as $id => $tableoptionname ) {
882
  // get name and description to show in list
883
  $table = $this->load_table( $id );
884
  $name = $this->safe_output( $table['name'] );
885
  //$description = $this->safe_output( $table['description'] );
886
  unset( $table );
887
+ echo "<option" . ( ( $id == $table_id ) ? ' selected="selected"': '' ) . " value=\"{$id}\">{$name} (ID {$id})</option>";
888
  }
889
  ?>
890
  </select></td>
894
  <td><select id="export_format" name="export_format">
895
  <?php
896
  $export_formats = $this->export_instance->export_formats;
897
+ foreach ( $export_formats as $export_format => $longname )
898
  echo "<option" . ( ( $export_format == $_POST['export_format'] ) ? ' selected="selected"': '' ) . " value=\"{$export_format}\">{$longname}</option>";
899
  ?>
900
  </select></td>
901
  </tr>
902
+ <tr valign="top" class="tr-export-delimiter">
903
  <th scope="row"><label for="delimiter"><?php _e( 'Select Delimiter to use', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label></th>
904
  <td><select id="delimiter" name="delimiter">
905
  <?php
906
  $delimiters = $this->export_instance->delimiters;
907
+ foreach ( $delimiters as $delimiter => $longname )
908
  echo "<option" . ( ( $delimiter == $_POST['delimiter'] ) ? ' selected="selected"': '' ) . " value=\"{$delimiter}\">{$longname}</option>";
909
  ?>
910
+ </select> <?php _e( '<small>(Only needed for CSV export.)</small>', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></td>
911
+ </tr>
912
+ <tr valign="top">
913
+ <th scope="row"><?php _e( 'Download file', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
914
+ <td><input type="checkbox" name="wp_table_reloaded_download_export_file" id="wp_table_reloaded_download_export_file" value="true" /> <label for="wp_table_reloaded_download_export_file"><?php _e( 'Yes, I want to download the export file.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
915
  </tr>
916
  </table>
917
  <input type="hidden" name="action" value="export" />
919
  <input type="submit" name="submit" class="button-primary" value="<?php _e( 'Export Table', WP_TABLE_RELOADED_TEXTDOMAIN ) ?>" />
920
  </p>
921
  <?php if ( false != $output ) { ?>
922
+ <textarea rows="15" cols="40" style="width:600px;height:300px;"><?php echo htmlspecialchars( $output ); ?></textarea>
923
  <?php } ?>
924
  </form>
925
  </div>
940
  $this->print_submenu_navigation( 'options' );
941
  ?>
942
  <div style="clear:both;">
943
+ <p><?php _e( 'You may change these global options.<br/>They will effect all tables or the general plugin behaviour.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
944
  </div>
945
 
946
  <div style="clear:both;">
947
  <form method="post" action="<?php echo $this->get_action_url(); ?>">
948
  <?php wp_nonce_field( $this->get_nonce( 'options' ) ); ?>
949
+ <div class="postbox">
950
+ <h3 class="hndle"><span><?php _e( 'Frontend Options', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
951
+ <div class="inside">
952
+ <table class="wp-table-reloaded-options">
 
 
953
  <tr valign="top">
954
  <th scope="row"><?php _e( 'Enable Tablesorter-JavaScript?', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
955
  <td><input type="checkbox" name="options[enable_tablesorter]" id="options[enable_tablesorter]"<?php echo ( true == $this->options['enable_tablesorter'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="options[enable_tablesorter]"><?php _e( 'Yes, enable <a href="http://www.tablesorter.com/">Tablesorter-jQuery-Plugin</a> to be used to make table sortable (can be changed for every table separatly).', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
956
  </tr>
957
+ <tr valign="top" id="options_use_global_css">
958
  <th scope="row"><?php _e( 'Use global CSS-file?', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
959
+ <td><input type="checkbox" name="options[use_global_css]" id="options[use_global_css]"<?php echo ( true == $this->options['use_global_css'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="options[use_global_css]"><?php _e( 'Yes, load a CSS-file, which contains basic styles for the table. The CSS-files must be located in subfolder "css". To change styles, please copy the file "example-style.css", edit the copied file with your style changes and place it in the same folder. You may then select it below. ', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
960
+ </tr>
961
+ <tr valign="top" id="options_css_filename">
962
+ <th scope="row">&nbsp;</th>
963
+ <td><label for="options[css_filename]"><?php _e( 'Select CSS file to use', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</label><select id="options[css_filename]"<?php echo ( false == $this->options['use_global_css'] ) ? ' disabled="disabled"': '' ;?> name="options[css_filename]">
964
+ <?php
965
+ // get all files the extension ".css" from the css-subfolder,
966
+ // remove all folders and unwanted css-files and print them in a select-list
967
+ $directory = scandir( WP_TABLE_RELOADED_ABSPATH . 'css/' );
968
+ $directory = array_diff( $directory, array( '.', '..', 'admin-style.css' ) ); // remove ., .., and admin-style.css from the array
969
+ foreach ($directory as $key => $filename ) {
970
+ $extension = substr( $filename, strrpos( $filename, '.' ) + 1 );
971
+ if( ( 'css' == $extension ) && !is_dir( WP_TABLE_RELOADED_ABSPATH . 'css/' . $filename ) )
972
+ echo "<option" . ( ( $filename == $this->options['css_filename'] ) ? ' selected="selected"': '' ) . " value=\"{$filename}\">{$filename}</option>";
973
+ }
974
+ ?>
975
+ </select> <?php _e( '(These files are located in the subfolder "css" of the plugin folder.)', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></td>
976
  </tr>
977
  </table>
978
+ </div
979
+ </div>
980
+
981
+ <div class="postbox">
982
+ <h3 class="hndle"><span><?php _e( 'Admin Options', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
983
+ <div class="inside">
984
+ <table class="wp-table-reloaded-options">
985
+ <tr valign="top" id="options_uninstall">
986
+ <th scope="row"><?php _e( 'Uninstall Plugin upon Deactivation?', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>:</th>
987
+ <td><input type="checkbox" name="options[uninstall_upon_deactivation]" id="options[uninstall_upon_deactivation]"<?php echo ( true == $this->options['uninstall_upon_deactivation'] ) ? ' checked="checked"': '' ;?> value="true" /> <label for="options[uninstall_upon_deactivation]"><?php _e( 'Yes, uninstall everything when plugin is deactivated. Attention: You should only enable this checkbox directly before deactivating the plugin from the WordPress plugins page! (It does not influence the "Manually Uninstall Plugin" button below!)', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></label></td>
988
+ </tr>
989
+ </table>
990
+ </div>
991
+ </div>
992
+
993
  <input type="hidden" name="options[installed_version]" value="<?php echo $this->options['installed_version']; ?>" />
994
  <input type="hidden" name="options[last_id]" value="<?php echo $this->options['last_id']; ?>" />
995
  <input type="hidden" name="action" value="options" />
1000
  </form>
1001
  </div>
1002
 
1003
+ <h2><?php _e( 'Manually Uninstall Plugin', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></h2>
1004
  <div style="clear:both;">
1005
+ <p><?php _e( 'You may uninstall the plugin here. This <strong>will delete</strong> all tables, data, options, etc., that belong to the plugin, including all tables you added or imported.<br/> Be very careful with this and only click the button if you know what you are doing!', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
1006
  <?php
1007
  $uninstall_url = $this->get_action_url( array( 'action' => 'uninstall' ), true );
1008
+ echo " <a class=\"button-secondary delete\" href=\"{$uninstall_url}\" onclick=\"javascript:if ( confirm( '".__( 'Do you really want to uninstall the plugin and delete ALL data?', WP_TABLE_RELOADED_TEXTDOMAIN )."' ) ) { return confirm( '".__( 'Are you really sure?', WP_TABLE_RELOADED_TEXTDOMAIN )."' ); } else { return false; }\">" . __( 'Uninstall Plugin WP-Table Reloaded', WP_TABLE_RELOADED_TEXTDOMAIN ) . "</a>";
1009
  ?>
1010
  </div>
1011
  <?php
1018
  $this->print_page_header( __( 'Information about the plugin', WP_TABLE_RELOADED_TEXTDOMAIN ) );
1019
  $this->print_submenu_navigation( 'info' );
1020
  ?>
1021
+
1022
  <div style="clear:both;">
1023
+ <div class="postbox">
1024
+ <h3 class="hndle"><span><?php _e( 'Plugin Purpose', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
1025
+ <div class="inside">
1026
+ <p><?php _e( 'This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts, on your pages or in text widgets by using a shortcode.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
1027
+ </div>
1028
+ </div>
1029
+
1030
+ <div class="postbox">
1031
+ <h3 class="hndle"><span><?php _e( 'Usage', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
1032
+ <div class="inside">
1033
+ <p><?php _e( 'At first you should add or import a table. Then edit your data and select the options you want. To include the table into your posts, pages or text widgets, write the shortcode [table id=&lt;table-id&gt;] into them. You may then style your table via CSS. Every table has the CSS-class "wp-table-reloaded". A table also has the class "wp-table-reloaded-&lt;table-id&gt;". You can also use the classes "column-&lt;number&gt;" and "row-&lt;number&gt;" to style rows and columns individually. Use this to style columns width and text alignment.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
1034
+ </div>
1035
+ </div>
1036
+ <div class="postbox">
1037
+ <h3 class="hndle"><span><?php _e( 'More Information and Documentation', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
1038
+ <div class="inside">
1039
+ <p><?php _e( 'More information can be found on the <a href="http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/">plugin\'s website</a> or on its page in the <a href="http://wordpress.org/extend/plugins/wp-table-reloaded/">WordPress Plugin Directory</a>. A documentation and certain support and help request possibilities will be available soon.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
1040
+ </div>
1041
+ </div>
1042
+
1043
+ <div class="postbox">
1044
+ <h3 class="hndle"><span><?php _e( 'Author and Licence', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
1045
+ <div class="inside">
1046
+ <p><?php _e( 'This plugin was written by <a href="http://tobias.baethge.com/">Tobias B&auml;thge</a>. It is licenced as Free Software under GPL 2.', WP_TABLE_RELOADED_TEXTDOMAIN ); ?><br/><?php _e( 'If you like the plugin, please consider <a href="http://tobias.baethge.com/wordpress-plugins/donate/">donating</a> or rating it at the <a href="http://wordpress.org/extend/plugins/wp-table-reloaded/">WordPress Plugin Directory</a>. Thanks!', WP_TABLE_RELOADED_TEXTDOMAIN ); ?></p>
1047
+ </div>
1048
+ </div>
1049
+
1050
+ <div class="postbox">
1051
+ <h3 class="hndle"><span><?php _e( 'Credits and Thanks', WP_TABLE_RELOADED_TEXTDOMAIN ) ?></span></h3>
1052
+ <div class="inside">
1053
+ <p>
1054
+ <?php _e( 'Thanks go to <a href="http://alexrabe.boelinger.com/">Alex Rabe</a> for the original WP-Table plugin,', WP_TABLE_RELOADED_TEXTDOMAIN ); ?><br/>
1055
+ <?php _e( 'Christian Bach for the <a href="http://www.tablesorter.com/">Tablesorter-jQuery-Plugin</a>,', WP_TABLE_RELOADED_TEXTDOMAIN ); ?><br/>
1056
+ <?php _e( 'the submitters of translations: <br/>&middot; Turkish (thanks to <a href="http://www.wpuzmani.com/">Semih</a>)<br/>&middot; Swedish (thanks to <a href="http://www.zuperzed.se/">ZuperZed</a>)', WP_TABLE_RELOADED_TEXTDOMAIN ); ?><br/>
1057
+ <?php _e( 'and all contributors, supporters, reviewers and users of the plugin!', WP_TABLE_RELOADED_TEXTDOMAIN ); ?>
1058
+ </p>
1059
+ </div>
1060
+ </div>
1061
+
1062
  </div>
1063
  <?php
1064
  $this->print_page_footer();
1078
  // ###################################################################################################################
1079
  function print_page_header( $text = 'WP-Table Reloaded' ) {
1080
  echo "<div class='wrap'>
1081
+ <h2>{$text}</h2>
1082
+ <div id='poststuff'>";
1083
  }
1084
 
1085
  // ###################################################################################################################
1086
  function print_page_footer() {
1087
+ echo "</div></div>";
1088
  }
1089
 
1090
  // ###################################################################################################################
1103
  <?php
1104
  }
1105
 
1106
+ // ###################################################################################################################
1107
+ function get_contextual_help_string() {
1108
+ return __( 'More information can be found on the <a href="http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/">plugin\'s website</a>. A documentation and certain support and help request possibilities will be available soon.', WP_TABLE_RELOADED_TEXTDOMAIN );
1109
+ }
1110
+
1111
  // ###################################################################################################################
1112
  function safe_output( $string ) {
1113
  return htmlspecialchars( stripslashes( $string ) );
1162
  return $this->default_table;
1163
  }
1164
 
1165
+ // ###################################################################################################################
1166
+ // need to clean this up and find out what's really necessary
1167
+ function prepare_download( $filename, $filesize, $filetype ) {
1168
+ @ob_end_clean();
1169
+ //header( 'Content-Description: File Transfer' );
1170
+ header( 'Content-Type: application/octet-stream' );
1171
+ header( 'Content-Disposition: attachment; filename="' . $filename . '"');
1172
+ header( 'Content-Length: ' . $filesize );
1173
+ //header( 'Content-type: ' . $filetype. '; charset=' . get_option('blog_charset') );
1174
+ }
1175
+
1176
  // ###################################################################################################################
1177
  // ######################################### ####################################################
1178
  // ######################################### URL Support ####################################################
1207
  // ###################################################################################################################
1208
  function create_class_instance( $class, $file) {
1209
  if ( !class_exists( $class ) ) {
1210
+ include_once ( WP_TABLE_RELOADED_ABSPATH . 'php/' . $file );
1211
+ if ( class_exists( $class ) )
1212
  return new $class;
 
1213
  }
1214
  }
1215
 
1218
  // load options and table information from database, if not available: default
1219
  $this->options = get_option( $this->optionname['options'] );
1220
  $this->tables = get_option( $this->optionname['tables'] );
1221
+ if ( false === $this->options || false === $this->tables )
1222
  $this->plugin_install();
 
1223
  }
1224
 
1225
  // ###################################################################################################################
1243
  $this->options = get_option( $this->optionname['options'] );
1244
  $this->tables = get_option( $this->optionname['tables'] );
1245
  if ( false !== $this->options && isset( $this->options['uninstall_upon_deactivation'] ) ) {
1246
+ if ( true == $this->options['uninstall_upon_deactivation'] ) {
1247
+ // delete all options and tables
1248
+ foreach ( $this->tables as $id => $tableoptionname )
1249
+ delete_option( $tableoptionname );
1250
+ delete_option( $this->optionname['tables'] );
1251
+ delete_option( $this->optionname['options'] );
1252
+ }
1253
  }
1254
  }
1255
 
1272
  $new_options = array_intersect_key( $new_options, $this->default_options );
1273
  // 3. step: update installed version number
1274
  $new_options['installed_version'] = $this->plugin_version;
1275
+
1276
+ // 3b., take care of css filename (added in version 1.0)
1277
+ $old_global_css = 'global-frontend-style.css';
1278
+ if ( file_exists( WP_TABLE_RELOADED_ABSPATH . 'css/' . $old_global_css ) && !isset( $this->options['css_filename'] ) )
1279
+ $new_options['css_filename'] = $old_global_css;
1280
+
1281
  // 4. step: save the new options
1282
  $this->options = $new_options;
1283
  $this->update_options();
1284
 
1285
  // update individual table options
1286
  $this->tables = get_option( $this->optionname['tables'] );
1287
+ foreach ( $this->tables as $id => $tableoptionname ) {
1288
  $table = $this->load_table( $id );
1289
  $new_table = array_merge( $this->default_table, $table );
1290
  $new_table = array_intersect_key( $new_table, $this->default_table );
1293
  $this->save_table( $new_table );
1294
  }
1295
  }
 
 
 
 
 
 
 
 
 
 
1296
 
1297
  // ###################################################################################################################
1298
  // initialize i18n support, load textdomain
1299
  function init_language_support() {
1300
+ $language_directory = basename( dirname( __FILE__ ) ) . '/languages';
1301
  load_plugin_textdomain( WP_TABLE_RELOADED_TEXTDOMAIN, 'wp-content/plugins/' . $language_directory, $language_directory );
1302
  }
1303
+
1304
  // ###################################################################################################################
1305
+ // enqueue javascript-file, with some jQuery stuff
1306
+ function add_manage_page_js() {
1307
+ $jsfile = 'admin-script.js';
1308
+ if ( file_exists( WP_TABLE_RELOADED_ABSPATH . 'admin/' . $jsfile ) )
1309
+ wp_enqueue_script( 'wp-table-reloaded-admin-js', WP_TABLE_RELOADED_URL . 'admin/' . $jsfile, array( 'jquery' ) );
1310
+ }
1311
+
1312
+ // ###################################################################################################################
1313
+ // enqueue css-stylesheet-file for admin, if it exists
1314
  function add_manage_page_css() {
1315
  $cssfile = 'admin-style.css';
1316
+ if ( file_exists( WP_TABLE_RELOADED_ABSPATH . 'admin/' . $cssfile ) ) {
1317
+ if ( function_exists( 'wp_enqueue_style' ) )
1318
+ wp_enqueue_style( 'wp-table-reloaded-admin-css', WP_TABLE_RELOADED_URL . 'admin/' . $cssfile );
1319
+ else
1320
+ add_action( 'admin_head', array( &$this, 'print_styles' ) );
1321
  }
1322
  }
1323
+
1324
+ // ###################################################################################################################
1325
+ // print our style in wp-admin-head (only needed for WP < 2.6)
1326
+ function print_styles() {
1327
+ $cssfile = 'admin-style.css';
1328
+ echo "<link rel='stylesheet' href='" . WP_TABLE_RELOADED_URL . 'admin/' . $cssfile . "' type='text/css' media='' />\n";
1329
+ }
1330
+
1331
  } // class WP_Table_Reloaded_Admin
1332
 
1333
  ?>
wp-table-reloaded-export.php DELETED
@@ -1,98 +0,0 @@
1
- <?php
2
- /*
3
- File Name: WP-Table Reloaded - Export Class (see main file wp-table-reloaded.php)
4
- Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
- Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
- Version: 0.9
7
- Author: Tobias B&auml;thge
8
- Author URI: http://tobias.baethge.com/
9
- */
10
-
11
- // should be included by WP_Table_Reloaded_Admin!
12
- class WP_Table_Reloaded_Export {
13
-
14
- // ###################################################################################################################
15
- var $export_class_version = '0.9';
16
-
17
- var $export_formats = array();
18
- var $delimiters = array();
19
-
20
- var $export_format = '';
21
- var $delimiter = ';';
22
- var $table_to_export = array();
23
- var $exported_table = '';
24
-
25
- // ###################################################################################################################
26
- // constructor class
27
- function WP_Table_Reloaded_Export() {
28
- // initiate here, because function call __() not allowed outside function
29
- $this->export_formats = array(
30
- 'csv' => __( 'CSV - Character-Separated Values', TB_WP_TABLE_TEXTDOMAIN ),
31
- //'xml' => __( 'XML - eXtended Markup Language', TB_WP_TABLE_TEXTDOMAIN ),
32
- );
33
- $this->delimiters = array(
34
- ';' => __( '; (semicolon)', TB_WP_TABLE_TEXTDOMAIN ),
35
- ',' => __( ', (comma)', TB_WP_TABLE_TEXTDOMAIN ),
36
- ':' => __( ': (colon)', TB_WP_TABLE_TEXTDOMAIN )
37
- );
38
- }
39
-
40
- // ###################################################################################################################
41
- function export_table() {
42
- $output = '';
43
-
44
- $data = $this->table_to_export['data'];
45
-
46
- $rows = count( $data );
47
- $cols = (0 < $rows) ? count( $data[0] ) : 0;
48
-
49
- switch( $this->export_format ) {
50
- case 'csv':
51
- if ( 0 < $rows && 0 < $cols) {
52
- if ( function_exists( 'fputcsv' ) ) { // introduced in PHP 5.1.0
53
- if ( function_exists( 'sys_get_temp_dir' ) ) { // introduced in PHP 5.2.1
54
- $temp_file = tempnam( sys_get_temp_dir(), 'export_table_' . $this->table_to_export['id'] . '_' );
55
- $handle = fopen( $temp_file, 'w' );
56
- foreach ( $data as $row_idx => $row ) {
57
- $row = array_map( 'stripslashes', $row );
58
- fputcsv( $handle, $row, $this->delimiter, '"' );
59
- }
60
- fclose( $handle );
61
- $output = file_get_contents( $temp_file );
62
- } else {
63
- $handle = tmpfile();
64
- foreach ( $data as $row_idx => $row ) {
65
- $row = array_map( 'stripslashes', $row );
66
- fputcsv( $handle, $row, $this->delimiter, '"' );
67
- }
68
- fseek($handle, 0);
69
- while ( !feof( $handle ) ) {
70
- $output .= fread( $handle, 1024);
71
- }
72
- fclose( $handle );
73
- }
74
- } else { // should word for all PHP versions
75
- foreach( $data as $row_idx => $row ) {
76
- $row = array_map( array( &$this, 'wrap_and_escape' ), $row );
77
- $output .= implode( $this->delimiter, $row ) . "\n";
78
- }
79
- }
80
- }
81
- break;
82
- // case 'xml':
83
- default:
84
- $output = __( 'The Table could not be exported due to a wrong export format.', TB_WP_TABLE_TEXTDOMAIN );
85
- }
86
- $this->exported_table = $output;
87
- }
88
-
89
- // ###################################################################################################################
90
- function wrap_and_escape( $string ) {
91
- $string = stripslashes( $string );
92
- $string = str_replace( '"', '""', $string );
93
- return ( false !== strpos( $string, $this->delimiter ) || false !== strpos( $string, '""' ) ) ? ( '"' . $string . '"' ) : $string;
94
- }
95
-
96
- } // class WP_Table_Reloaded_Export
97
-
98
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wp-table-reloaded-frontend.php CHANGED
@@ -2,8 +2,8 @@
2
  /*
3
  File Name: WP-Table Reloaded - Frontend Class (see main file wp-table-reloaded.php)
4
  Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
- Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
- Version: 0.9.2
7
  Author: Tobias B&auml;thge
8
  Author URI: http://tobias.baethge.com/
9
  */
@@ -31,8 +31,9 @@ class WP_Table_Reloaded_Frontend {
31
  if ( false === $this->options || false === $this->tables )
32
  return '';
33
 
34
- // front-end function
35
- add_shortcode( $this->shortcode, array( &$this, 'handle_shortcode' ) );
 
36
 
37
  // if tablesorter enabled (globally) include javascript
38
  if ( true == $this->options['enable_tablesorter'] )
@@ -44,12 +45,12 @@ class WP_Table_Reloaded_Frontend {
44
  }
45
 
46
  // ###################################################################################################################
47
- // handle [table id=<the_table_id> /]
48
- function handle_shortcode( $attr ) {
49
  $table_id = $attr['id'];
50
 
51
- if ( !is_numeric( $table_id ) || 1 > $table_id)
52
- return '';
53
 
54
  $table = $this->load_table( $table_id );
55
 
@@ -57,11 +58,26 @@ class WP_Table_Reloaded_Frontend {
57
 
58
  return $output;
59
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
 
61
  // ###################################################################################################################
62
  function load_table( $table_id ) {
63
  $this->tables[ $table_id ] = ( isset( $this->tables[ $table_id ] ) ) ? $this->tables[ $table_id ] : $this->optionname['table'] . '_' . $table_id;
64
- $table = get_option( $this->tables[ $table_id ], $this->default_table);
65
  return $table;
66
  }
67
 
@@ -86,14 +102,18 @@ class WP_Table_Reloaded_Frontend {
86
 
87
  foreach( $table['data'] as $row_idx => $row ) {
88
  if ( true == $table['options']['alternating_row_colors'] )
89
- $row_class = ( 1 == ($row_idx % 2) ) ? ' class="even"' : ' class="odd"';
 
 
 
90
  if( 0 == $row_idx ) {
91
  if ( true == $table['options']['first_row_th'] ) {
92
  $output .= "<thead>\n";
93
  $output .= "\t<tr{$row_class}>\n\t\t";
94
  foreach( $row as $col_idx => $cell_content ) {
 
95
  $cell_content = $this->safe_output( $cell_content );
96
- $output .= "<th>" . "{$cell_content}" . "</th>";
97
  }
98
  $output .= "\n\t</tr>\n";
99
  $output .= "</thead>\n";
@@ -102,16 +122,18 @@ class WP_Table_Reloaded_Frontend {
102
  $output .= "<tbody>\n";
103
  $output .= "\t<tr{$row_class}>\n\t\t";
104
  foreach( $row as $col_idx => $cell_content ) {
 
105
  $cell_content = $this->safe_output( $cell_content );
106
- $output .= "<td>" . "{$cell_content}" . "</td>";
107
  }
108
  $output .= "\n\t</tr>\n";
109
  }
110
  } else {
111
  $output .= "\t<tr{$row_class}>\n\t\t";
112
  foreach( $row as $col_idx => $cell_content ) {
 
113
  $cell_content = $this->safe_output( $cell_content );
114
- $output .= "<td>" . "{$cell_content}" . "</td>";
115
  }
116
  $output .= "\n\t</tr>\n";
117
  }
@@ -123,7 +145,8 @@ class WP_Table_Reloaded_Frontend {
123
  $output .= '<span class="wp-table-reloaded-table-description">' . $this->safe_output( $table['description'] ) . "</span>\n";
124
 
125
  $widgets = ( true == $table['options']['alternating_row_colors'] ) ? "{widgets: ['zebra']}" : '';
126
- if ( true == $table['options']['use_tablesorter'] ) {
 
127
  $output .= <<<JSSCRIPT
128
  <script type="text/javascript">
129
  jQuery(document).ready(function($){
@@ -145,19 +168,42 @@ JSSCRIPT;
145
  // enqueue tablesorter-js-file, if it exists
146
  function add_head_tablesorter_js() {
147
  $jsfile = 'jquery.tablesorter.min.js';
148
- if ( file_exists( dirname ( __FILE__ ) . '/js/' . $jsfile ) ) {
149
- wp_enqueue_script( 'wp-table-reloaded-tablesorter-js', WP_PLUGIN_URL . '/' . basename( dirname( __FILE__ ) ) . '/js/' . $jsfile, array( 'jquery' ) );
150
- }
151
  }
 
152
  // ###################################################################################################################
153
- // enqueue tablesorter-css-file, if it exists, may be modified by user
154
  function add_head_global_css() {
155
- $cssfile = 'global-frontend-style.css';
156
- if ( file_exists( dirname ( __FILE__ ) . '/css/' . $cssfile ) ) {
157
- wp_enqueue_style( 'wp-table-reloaded-global-css', WP_PLUGIN_URL . '/' . basename( dirname( __FILE__ ) ) . '/css/' . $cssfile );
 
 
 
 
 
 
 
 
 
 
158
  }
159
  }
160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  } // class WP_Table_Reloaded_Frontend
162
 
163
  ?>
2
  /*
3
  File Name: WP-Table Reloaded - Frontend Class (see main file wp-table-reloaded.php)
4
  Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
+ Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts, on your pages or in text widgets by using a shortcode. The plugin is a completely rewritten and extended version of Alex Rabe's "WP-Table" and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
+ Version: 1.0
7
  Author: Tobias B&auml;thge
8
  Author URI: http://tobias.baethge.com/
9
  */
31
  if ( false === $this->options || false === $this->tables )
32
  return '';
33
 
34
+ // front-end function, shortcode for the_content, manual filter for widget_text
35
+ add_shortcode( $this->shortcode, array( &$this, 'handle_content_shortcode' ) );
36
+ add_filter('widget_text', array( &$this, 'handle_widget_filter' ) );
37
 
38
  // if tablesorter enabled (globally) include javascript
39
  if ( true == $this->options['enable_tablesorter'] )
45
  }
46
 
47
  // ###################################################################################################################
48
+ // handle [table id=<the_table_id> /] in the_content()
49
+ function handle_content_shortcode( $attr ) {
50
  $table_id = $attr['id'];
51
 
52
+ if ( !is_numeric( $table_id ) || 1 > $table_id || false == $this->is_table( $table_id ) )
53
+ return "[table \"{$table_id}\" not found /]<br />\n";
54
 
55
  $table = $this->load_table( $table_id );
56
 
58
 
59
  return $output;
60
  }
61
+
62
+ // ###################################################################################################################
63
+ // handle [table id=<the_table_id> /] in widget texts
64
+ function handle_widget_filter( $text ) {
65
+ // pattern to search for in widget text (only our plugin's shortcode!)
66
+ $pattern = '\[(' . preg_quote( $this->shortcode ) . ')\b(.*?)(?:(\/))?\](?:(.+?)\[\/\1\])?';
67
+ // search for it, if found, handle as if it were a shortcode
68
+ return preg_replace_callback( '/'.$pattern.'/s', 'do_shortcode_tag', $text );
69
+ }
70
+
71
+ // ###################################################################################################################
72
+ // check, if given table id really exists
73
+ function is_table( $table_id ) {
74
+ return isset( $this->tables[ $table_id ] );
75
+ }
76
 
77
  // ###################################################################################################################
78
  function load_table( $table_id ) {
79
  $this->tables[ $table_id ] = ( isset( $this->tables[ $table_id ] ) ) ? $this->tables[ $table_id ] : $this->optionname['table'] . '_' . $table_id;
80
+ $table = get_option( $this->tables[ $table_id ], array() );
81
  return $table;
82
  }
83
 
102
 
103
  foreach( $table['data'] as $row_idx => $row ) {
104
  if ( true == $table['options']['alternating_row_colors'] )
105
+ $row_class = ( 1 == ($row_idx % 2) ) ? ' class="even row-' . ( $row_idx + 1 ) . '"' : ' class="odd row-' . ( $row_idx + 1 ) . '"';
106
+ else
107
+ $row_class = ' class="row-' . ( $row_idx + 1 ) . '"';
108
+
109
  if( 0 == $row_idx ) {
110
  if ( true == $table['options']['first_row_th'] ) {
111
  $output .= "<thead>\n";
112
  $output .= "\t<tr{$row_class}>\n\t\t";
113
  foreach( $row as $col_idx => $cell_content ) {
114
+ $col_class = ' class="column-' . ( $col_idx + 1 ) . '"';
115
  $cell_content = $this->safe_output( $cell_content );
116
+ $output .= "<th{$col_class}>" . "{$cell_content}" . "</th>";
117
  }
118
  $output .= "\n\t</tr>\n";
119
  $output .= "</thead>\n";
122
  $output .= "<tbody>\n";
123
  $output .= "\t<tr{$row_class}>\n\t\t";
124
  foreach( $row as $col_idx => $cell_content ) {
125
+ $col_class = ' class="column-' . ( $col_idx + 1 ) . '"';
126
  $cell_content = $this->safe_output( $cell_content );
127
+ $output .= "<td{$col_class}>" . "{$cell_content}" . "</td>";
128
  }
129
  $output .= "\n\t</tr>\n";
130
  }
131
  } else {
132
  $output .= "\t<tr{$row_class}>\n\t\t";
133
  foreach( $row as $col_idx => $cell_content ) {
134
+ $col_class = ' class="column-' . ( $col_idx + 1 ) . '"';
135
  $cell_content = $this->safe_output( $cell_content );
136
+ $output .= "<td{$col_class}>" . "{$cell_content}" . "</td>";
137
  }
138
  $output .= "\n\t</tr>\n";
139
  }
145
  $output .= '<span class="wp-table-reloaded-table-description">' . $this->safe_output( $table['description'] ) . "</span>\n";
146
 
147
  $widgets = ( true == $table['options']['alternating_row_colors'] ) ? "{widgets: ['zebra']}" : '';
148
+
149
+ if ( true == $table['options']['use_tablesorter'] && true == $table['options']['first_row_th'] && true == $this->options['enable_tablesorter'] ) {
150
  $output .= <<<JSSCRIPT
151
  <script type="text/javascript">
152
  jQuery(document).ready(function($){
168
  // enqueue tablesorter-js-file, if it exists
169
  function add_head_tablesorter_js() {
170
  $jsfile = 'jquery.tablesorter.min.js';
171
+ if ( file_exists( WP_TABLE_RELOADED_ABSPATH . 'js/' . $jsfile ) )
172
+ wp_enqueue_script( 'wp-table-reloaded-tablesorter-js', WP_TABLE_RELOADED_URL . 'js/' . $jsfile, array( 'jquery' ) );
 
173
  }
174
+
175
  // ###################################################################################################################
176
+ // enqueue global-css-file, if it exists, may be modified by user
177
  function add_head_global_css() {
178
+
179
+ // load css filename from options, if option doesnt exist, use default
180
+ $cssfile = ( isset( $this->options['css_filename'] ) && !empty( $this->options['css_filename'] ) ) ? $this->options['css_filename'] : 'example-style.css';
181
+
182
+ if ( file_exists( WP_TABLE_RELOADED_ABSPATH . 'css/' . $cssfile ) ) {
183
+ if ( function_exists( 'wp_enqueue_style' ) ) {
184
+ wp_enqueue_style( 'wp-table-reloaded-global-css', WP_TABLE_RELOADED_URL . 'css/' . $cssfile );
185
+ // WP < 2.7 does not contain call to add_action( 'wp_head', 'wp_print_styles' ) in default-filters.php (Core Trac Ticket #7720)
186
+ if ( false == has_action( 'wp_head', 'wp_print_styles' ) )
187
+ add_action( 'wp_head', array( &$this, 'print_styles' ) );
188
+ } else {
189
+ add_action( 'wp_head', array( &$this, 'print_styles' ) );
190
+ }
191
  }
192
  }
193
 
194
+ // ###################################################################################################################
195
+ // print our style in wp-head (only needed for WP < 2.7)
196
+ function print_styles() {
197
+
198
+ // load css filename from options, if option doesnt exist, use default
199
+ $cssfile = ( isset( $this->options['css_filename'] ) && !empty( $this->options['css_filename'] ) ) ? $this->options['css_filename'] : 'example-style.css';
200
+
201
+ if ( function_exists( 'wp_print_styles' ) )
202
+ wp_print_styles( 'wp-table-reloaded-global-css' );
203
+ else
204
+ echo "<link rel='stylesheet' href='" . WP_TABLE_RELOADED_URL . 'css/' . $cssfile . "' type='text/css' media='' />\n";
205
+ }
206
+
207
  } // class WP_Table_Reloaded_Frontend
208
 
209
  ?>
wp-table-reloaded-import.php DELETED
@@ -1,94 +0,0 @@
1
- <?php
2
- /*
3
- File Name: WP-Table Reloaded - Import Class (see main file wp-table-reloaded.php)
4
- Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
- Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
- Version: 0.9
7
- Author: Tobias B&auml;thge
8
- Author URI: http://tobias.baethge.com/
9
- */
10
-
11
- // should be included by WP_Table_Reloaded_Admin!
12
- class WP_Table_Reloaded_Import {
13
-
14
- // ###################################################################################################################
15
- var $import_class_version = '0.9';
16
-
17
- var $delimiters = array();
18
-
19
- var $filename = '';
20
- var $tempname = '';
21
- var $mimetype = '';
22
- var $delimiter = ';';
23
- var $imported_table = array();
24
-
25
-
26
- // ###################################################################################################################
27
- // constructor class
28
- function WP_Table_Reloaded_Import() {
29
- // initiate here, because function call __() not allowed outside function
30
- $this->delimiters = array(
31
- ';' => __( '; (semicolon)', TB_WP_TABLE_TEXTDOMAIN ),
32
- ',' => __( ', (comma)', TB_WP_TABLE_TEXTDOMAIN ),
33
- ':' => __( ': (colon)', TB_WP_TABLE_TEXTDOMAIN )
34
- );
35
- }
36
-
37
- // ###################################################################################################################
38
- function import_table() {
39
- $table['name'] = $this->filename;
40
- $table['description'] = $this->filename . ' (' . $this->mimetype . ')';
41
-
42
- $temp_data = $this->csv_file_to_array( $this->tempname, $this->delimiter, '"' );
43
- $table['data'] = $this->pad_array_to_max_cols( $temp_data );
44
- $this->imported_table = $table;
45
- }
46
-
47
- // ###################################################################################################################
48
- function unlink_csv_file() {
49
- unlink( $this->tempname );
50
- }
51
-
52
- // ###################################################################################################################
53
- function csv_file_to_array( $filename, $delimiter = ';', $enclosure = '"' ) {
54
- $data = array();
55
- $handle = fopen( $filename, 'r' );
56
- while ( false !== ( $read_line = fgetcsv( $handle, 1024, $delimiter, $enclosure ) ) ) {
57
- $data[] = $this->add_slashes( $read_line );
58
- }
59
- fclose($handle);
60
- return $data;
61
- }
62
-
63
- // ###################################################################################################################
64
- // make sure array is rectangular with $max_cols columns in every row
65
- function pad_array_to_max_cols( $array_to_pad ){
66
- $rows = count( $array_to_pad );
67
- $max_columns = $this->count_max_columns( $array_to_pad );
68
- // array_map wants arrays as additional parameters (so we create one with the max_cols to pad to and one with the value to use (empty string)
69
- $max_columns_array = array_fill( 1, $rows, $max_columns );
70
- $pad_values_array = array_fill( 1, $rows, '' );
71
- return array_map( 'array_pad', $array_to_pad, $max_columns_array, $pad_values_array );
72
- }
73
-
74
- // ###################################################################################################################
75
- // find out how many cols the longest row has
76
- function count_max_columns( $array ){
77
- $max_cols = 0 ;
78
- if ( is_array( $array ) && 0 < count( $array ) ) {
79
- foreach ( $array as $row_idx => $row ) {
80
- $cols = count( $row );
81
- $max_cols = ( $cols > $max_cols ) ? $cols : $max_cols;
82
- }
83
- }
84
- return $max_cols;
85
- }
86
-
87
- // ###################################################################################################################
88
- function add_slashes( $array ) {
89
- return array_map( 'addslashes', $array );
90
- }
91
-
92
- } // class WP_Table_Reloaded_Import
93
-
94
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wp-table-reloaded.php CHANGED
@@ -2,8 +2,8 @@
2
  /*
3
  Plugin Name: WP-Table Reloaded
4
  Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
- Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts or on your pages by using a shortcode. The plugin is greatly influenced by the plugin "WP-Table" by Alex Rabe, but was completely rewritten and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
- Version: 0.9.2
7
  Author: Tobias B&auml;thge
8
  Author URI: http://tobias.baethge.com/
9
  */
@@ -27,14 +27,25 @@ Author URI: http://tobias.baethge.com/
27
  // folder definitions as constants
28
  if ( !defined( 'WP_CONTENT_DIR' ) )
29
  define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
 
 
 
 
 
 
30
  if ( !defined( 'WP_TABLE_RELOADED_ABSPATH' ) )
31
- define( 'WP_TABLE_RELOADED_ABSPATH', WP_CONTENT_DIR . '/plugins/' . basename( dirname ( __FILE__ ) ) . '/' );
 
 
 
 
 
32
 
33
  // decide whether admin or frontend
34
  if ( is_admin() ) {
35
  // we are in admin mode
36
  if ( !class_exists( 'WP_Table_Reloaded_Admin' ) ) {
37
- include_once ( WP_TABLE_RELOADED_ABSPATH . 'wp-table-reloaded-admin.php' );
38
  if ( class_exists( 'WP_Table_Reloaded_Admin' ) ) {
39
  $WP_Table_Reloaded_Admin = new WP_Table_Reloaded_Admin();
40
  register_activation_hook( __FILE__, array( &$WP_Table_Reloaded_Admin, 'plugin_activation_hook' ));
@@ -44,10 +55,9 @@ if ( is_admin() ) {
44
  } else {
45
  // we are in frontend mode
46
  if ( !class_exists( 'WP_Table_Reloaded_Frontend' ) ) {
47
- include_once ( WP_TABLE_RELOADED_ABSPATH . 'wp-table-reloaded-frontend.php' );
48
- if ( class_exists( 'WP_Table_Reloaded_Frontend' ) ) {
49
  $WP_Table_Reloaded_Frontend = new WP_Table_Reloaded_Frontend();
50
- }
51
  }
52
  }
53
 
2
  /*
3
  Plugin Name: WP-Table Reloaded
4
  Plugin URI: http://tobias.baethge.com/wordpress-plugins/wp-table-reloaded/
5
+ Description: This plugin allows you to create and manage tables in the admin-area of WordPress. You can then show them in your posts, on your pages or in text widgets by using a shortcode. The plugin is a completely rewritten and extended version of Alex Rabe's "WP-Table" and uses the state-of-the-art WordPress techniques which makes it faster and lighter than the original plugin.
6
+ Version: 1.0
7
  Author: Tobias B&auml;thge
8
  Author URI: http://tobias.baethge.com/
9
  */
27
  // folder definitions as constants
28
  if ( !defined( 'WP_CONTENT_DIR' ) )
29
  define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
30
+ if ( !defined( 'WP_CONTENT_URL' ) )
31
+ define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content' );
32
+ if ( !defined( 'WP_PLUGIN_URL' ) )
33
+ define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' );
34
+ if ( !defined( 'WP_PLUGIN_DIR' ) )
35
+ define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins');
36
  if ( !defined( 'WP_TABLE_RELOADED_ABSPATH' ) )
37
+ define( 'WP_TABLE_RELOADED_ABSPATH', WP_PLUGIN_DIR . '/' . basename( dirname ( __FILE__ ) ) . '/' );
38
+ if ( !defined( 'WP_TABLE_RELOADED_URL' ) )
39
+ define( 'WP_TABLE_RELOADED_URL', WP_PLUGIN_URL . '/' . basename( dirname ( __FILE__ ) ) . '/' );
40
+ if ( !defined( 'WP_TABLE_RELOADED_BASENAME' ) )
41
+ define( 'WP_TABLE_RELOADED_BASENAME', plugin_basename( __FILE__ ) );
42
+
43
 
44
  // decide whether admin or frontend
45
  if ( is_admin() ) {
46
  // we are in admin mode
47
  if ( !class_exists( 'WP_Table_Reloaded_Admin' ) ) {
48
+ include_once ( WP_TABLE_RELOADED_ABSPATH . 'wp-table-reloaded-admin.php' );
49
  if ( class_exists( 'WP_Table_Reloaded_Admin' ) ) {
50
  $WP_Table_Reloaded_Admin = new WP_Table_Reloaded_Admin();
51
  register_activation_hook( __FILE__, array( &$WP_Table_Reloaded_Admin, 'plugin_activation_hook' ));
55
  } else {
56
  // we are in frontend mode
57
  if ( !class_exists( 'WP_Table_Reloaded_Frontend' ) ) {
58
+ include_once ( WP_TABLE_RELOADED_ABSPATH . 'wp-table-reloaded-frontend.php' );
59
+ if ( class_exists( 'WP_Table_Reloaded_Frontend' ) )
60
  $WP_Table_Reloaded_Frontend = new WP_Table_Reloaded_Frontend();
 
61
  }
62
  }
63