Quotes Collection - Version 1.1.4

Version Description

Download this release

Release Info

Developer SriniG
Plugin Icon 128x128 Quotes Collection
Version 1.1.4
Comparing to
See all releases

Code changes from version 1.0 to 1.1.4

languages/quotes-collection-de_DE.mo ADDED
Binary file
languages/quotes-collection-de_DE.po ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Quotes Collection 1.1.2\n"
4
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/quotes-collection\n"
5
+ "POT-Creation-Date: 2008-05-24 14:49+0530\n"
6
+ "PO-Revision-Date: 2008-05-28 19:20+0100\n"
7
+ "Last-Translator: Overkill\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: German\n"
14
+ "X-Poedit-Country: GERMANY\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c;__ngettext_noop:1,2\n"
17
+
18
+ #: quotes-collection.php:60
19
+ #: quotes-collection.php:96
20
+ #: quotes-collection.php:100
21
+ msgid "Next quote"
22
+ msgstr "Nächstes Zitat"
23
+
24
+ #: quotes-collection.php:61
25
+ msgid "Loading..."
26
+ msgstr "Laden..."
27
+
28
+ #: quotes-collection.php:62
29
+ msgid "Error getting quote"
30
+ msgstr "Fehler beim Laden des Zitats"
31
+
32
+ #: quotes-collection.php:120
33
+ #: quotes-collection.php:137
34
+ msgid "Random Quote"
35
+ msgstr "Zufälliges Zitat"
36
+
37
+ #: quotes-collection.php:164
38
+ msgid "Title"
39
+ msgstr "Titel"
40
+
41
+ #: quotes-collection.php:165
42
+ msgid "Show author?"
43
+ msgstr "Urheber anzeigen?"
44
+
45
+ #: quotes-collection.php:166
46
+ msgid "Show source?"
47
+ msgstr "Quelle anzeigen?"
48
+
49
+ #: quotes-collection.php:167
50
+ msgid "Ajax refresh feature"
51
+ msgstr "Ajax refresh feature"
52
+
53
+ #: quotes-collection.php:169
54
+ msgid "Manage your collection of quotes at"
55
+ msgstr "Verwalte deine Zitatesammlung unter"
56
+
57
+ #: quotes-collection.php:169
58
+ msgid "Manage"
59
+ msgstr "Verwalten"
60
+
61
+ #: quotes-collection.php:186
62
+ msgid "Nothing added to the database."
63
+ msgstr "Nichts zur Datenbank hinzugefügt."
64
+
65
+ #: quotes-collection.php:190
66
+ #: quotes-collection.php:228
67
+ msgid "Database table not found"
68
+ msgstr "Datenbanktabelle nicht gefunden!"
69
+
70
+ #: quotes-collection.php:215
71
+ #: quotes-collection.php:258
72
+ #: quotes-collection.php:272
73
+ msgid "There was an error in the MySQL query"
74
+ msgstr "Es trat ein Fehler in der MySQL-Abfrage auf"
75
+
76
+ #: quotes-collection.php:217
77
+ msgid "Quote added"
78
+ msgstr "Zitat hinzugefügt"
79
+
80
+ #: quotes-collection.php:223
81
+ msgid "Quote not updated."
82
+ msgstr "Zitat nicht geändert."
83
+
84
+ #: quotes-collection.php:260
85
+ msgid "Changes saved"
86
+ msgstr "Änderungen gespeichert"
87
+
88
+ #: quotes-collection.php:274
89
+ msgid "Quote deleted"
90
+ msgstr "Zitat gelöscht"
91
+
92
+ #: quotes-collection.php:276
93
+ msgid "The quote cannot be deleted"
94
+ msgstr "Das Zitat kann nicht gelöscht werden"
95
+
96
+ #: quotes-collection.php:292
97
+ #: quotes-collection.php:385
98
+ msgid "Add Quote"
99
+ msgstr "Zitat hinzufügen"
100
+
101
+ #: quotes-collection.php:308
102
+ #: quotes-collection.php:389
103
+ msgid "Save changes"
104
+ msgstr "Änderungen speichern"
105
+
106
+ #: quotes-collection.php:309
107
+ msgid "Back"
108
+ msgstr "Zurück"
109
+
110
+ #: quotes-collection.php:313
111
+ #: quotes-collection.php:491
112
+ msgid "The quote"
113
+ msgstr "Das Zitat"
114
+
115
+ #: quotes-collection.php:314
116
+ #: quotes-collection.php:477
117
+ #: quotes-collection.php:493
118
+ msgid "Author"
119
+ msgstr "Urheber"
120
+
121
+ #: quotes-collection.php:315
122
+ #: quotes-collection.php:478
123
+ #: quotes-collection.php:493
124
+ msgid "Source"
125
+ msgstr "Quelle"
126
+
127
+ #: quotes-collection.php:316
128
+ #: quotes-collection.php:495
129
+ msgid "Tags"
130
+ msgstr "Tags"
131
+
132
+ #: quotes-collection.php:317
133
+ #: quotes-collection.php:496
134
+ msgid "Visible?"
135
+ msgstr "Sichtbar?"
136
+
137
+ #: quotes-collection.php:318
138
+ msgid "optional"
139
+ msgstr "optional"
140
+
141
+ #: quotes-collection.php:319
142
+ msgid "comma separated"
143
+ msgstr "durch Kommata getrennt"
144
+
145
+ #: quotes-collection.php:355
146
+ #: quotes-collection.php:368
147
+ msgid "Nothing done!"
148
+ msgstr "Nichts verändert!"
149
+
150
+ #: quotes-collection.php:362
151
+ #, php-format
152
+ msgid "Visibility status of selected quotes set to '%s'"
153
+ msgstr "Sichtbarkeit der gewählten Zitate gesetzt auf '%s'"
154
+
155
+ #: quotes-collection.php:373
156
+ msgid "Quote(s) deleted"
157
+ msgstr "Zitat(e) gelöscht"
158
+
159
+ #: quotes-collection.php:394
160
+ msgid "Edit quote"
161
+ msgstr "Zitat editieren"
162
+
163
+ #: quotes-collection.php:404
164
+ #: quotes-collection.php:455
165
+ #: quotes-collection.php:469
166
+ #: quotes-collection.php:505
167
+ msgid "Delete"
168
+ msgstr "Löschen"
169
+
170
+ #: quotes-collection.php:406
171
+ #: quotes-collection.php:470
172
+ #: quotes-collection.php:506
173
+ msgid "Make visible"
174
+ msgstr "Sichtbar machen"
175
+
176
+ #: quotes-collection.php:409
177
+ #: quotes-collection.php:471
178
+ #: quotes-collection.php:507
179
+ msgid "Make invisible"
180
+ msgstr "Unsichtbar machen"
181
+
182
+ #: quotes-collection.php:454
183
+ msgid "Edit"
184
+ msgstr "Editieren"
185
+
186
+ #: quotes-collection.php:455
187
+ msgid "Are you sure you want to delete this quote?"
188
+ msgstr "Bist du sicher, dass du das gewählte Zitat löschen möchtest?"
189
+
190
+ #: quotes-collection.php:462
191
+ #, php-format
192
+ msgid "Currently, you have %d quote."
193
+ msgid_plural "Currently, you have %d quotes."
194
+ msgstr[0] "Zur Zeit hast du %d Zitat."
195
+ msgstr[1] "Zur Zeit hast du %d Zitate."
196
+
197
+ #: quotes-collection.php:464
198
+ #: quotes-collection.php:521
199
+ msgid "Add new quote"
200
+ msgstr "Neues Zitat hinzufügen"
201
+
202
+ #: quotes-collection.php:473
203
+ msgid "Sort by: "
204
+ msgstr "Sortieren nach: "
205
+
206
+ #: quotes-collection.php:475
207
+ #: quotes-collection.php:476
208
+ msgid "Quote"
209
+ msgstr "Zitat"
210
+
211
+ #: quotes-collection.php:479
212
+ msgid "Date added"
213
+ msgstr "Erstellungsdatum"
214
+
215
+ #: quotes-collection.php:480
216
+ msgid "Date updated"
217
+ msgstr "Änderungsdatum"
218
+
219
+ #: quotes-collection.php:481
220
+ msgid "Visibility"
221
+ msgstr "Sichtbarkeit"
222
+
223
+ #: quotes-collection.php:484
224
+ msgid "Go"
225
+ msgstr "Los"
226
+
227
+ #: quotes-collection.php:497
228
+ msgid "Action"
229
+ msgstr "Aktion"
230
+
231
+ #: quotes-collection.php:515
232
+ msgid "No quotes in the database"
233
+ msgstr "Keine Zitate in der Datenbank"
234
+
235
+ #~ msgid "from"
236
+ #~ msgstr "aus"
237
+
languages/quotes-collection-es_ES.mo ADDED
Binary file
languages/quotes-collection-es_ES.po ADDED
@@ -0,0 +1,165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Quotes Collection 1.0 en Español\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2008-04-22 22:08+0100\n"
6
+ "PO-Revision-Date: 2008-06-01 19:52-0300\n"
7
+ "Last-Translator: Gershu <playxchange@gmail.com>\n"
8
+ "Language-Team: gershu.com.ar <gershu@msn.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: Spanish\n"
14
+ "X-Poedit-Country: ARGENTINA\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c;__ngettext_noop:1,2\n"
17
+
18
+ msgid "Next quote"
19
+ msgstr "Próxima cita"
20
+
21
+ msgid "Loading..."
22
+ msgstr "Leyendo..."
23
+
24
+ msgid "Error getting quote"
25
+ msgstr "Error leyendo cita"
26
+
27
+ msgid "from"
28
+ msgstr "de"
29
+
30
+ msgid "Random Quote"
31
+ msgstr "Cita al azar"
32
+
33
+ msgid "Title"
34
+ msgstr "Título"
35
+
36
+ msgid "Show author?"
37
+ msgstr "¿Mostrar autor?"
38
+
39
+ msgid "Show source?"
40
+ msgstr "¿Mostrar fuente?"
41
+
42
+ msgid "Ajax refresh feature"
43
+ msgstr "Activar actualización Ajax"
44
+
45
+ msgid "Manage your collection of quotes at"
46
+ msgstr "Admiinistrar tu colección de vistas en"
47
+
48
+ msgid "Manage"
49
+ msgstr "Administrar"
50
+
51
+ msgid "Nothing added to the database."
52
+ msgstr "Nada fue agregado a la base de datos."
53
+
54
+ msgid "Database table not found!"
55
+ msgstr "¡La tabla de la base de datos no se encontró!"
56
+
57
+ msgid "There was an error in the MySQL query"
58
+ msgstr "Hubo un error en la consulta de MySQL"
59
+
60
+ msgid "Quote added"
61
+ msgstr "Cita agregada"
62
+
63
+ msgid "Quote not updated."
64
+ msgstr "Cita no eliminada."
65
+
66
+ msgid "Changes saved"
67
+ msgstr "Cambios guardados"
68
+
69
+ msgid "Quote deleted"
70
+ msgstr "Cita eliminada"
71
+
72
+ msgid "The quote cannot be deleted"
73
+ msgstr "La cita no puede ser eliminada"
74
+
75
+ msgid "Add Quote"
76
+ msgstr "Agregar Cita"
77
+
78
+ msgid "Save changes"
79
+ msgstr "Guardar cambios"
80
+
81
+ msgid "Back"
82
+ msgstr "Regresar"
83
+
84
+ msgid "The quote"
85
+ msgstr "La cita"
86
+
87
+ msgid "Author"
88
+ msgstr "Autor"
89
+
90
+ msgid "Source"
91
+ msgstr "Fuente"
92
+
93
+ msgid "Tags"
94
+ msgstr "Etiquetas"
95
+
96
+ msgid "Visible?"
97
+ msgstr "¿Es visible?"
98
+
99
+ msgid "optional"
100
+ msgstr "opcional"
101
+
102
+ msgid "comma separated"
103
+ msgstr "separado por comas"
104
+
105
+ msgid "Nothing done!"
106
+ msgstr "¡Nada se ha hecho!"
107
+
108
+ msgid "Visibility status of selected quotes set to '%s'"
109
+ msgstr "Estado de visibilidad para las citas seleccionadas cambiado a '%s'"
110
+
111
+ msgid "Quote(s) deleted"
112
+ msgstr "Cita(s) eliminada(s)"
113
+
114
+ msgid "Edit quote"
115
+ msgstr "Editar cita"
116
+
117
+ msgid "Delete"
118
+ msgstr "Eliminar"
119
+
120
+ msgid "Make visible"
121
+ msgstr "Hacer visible"
122
+
123
+ msgid "Make invisible"
124
+ msgstr "Hacer invisible"
125
+
126
+ msgid "Add new quote"
127
+ msgstr "Agregar nueva cita"
128
+
129
+ msgid "Edit"
130
+ msgstr "Modificar"
131
+
132
+ msgid "Are you sure you want to delete this quote?"
133
+ msgstr "¿Estás seguro de querer borrar esta cita?"
134
+
135
+ msgid "Sort by: "
136
+ msgstr "Ordenar por:"
137
+
138
+ msgid "Quote"
139
+ msgstr "Cita"
140
+
141
+ msgid "Date added"
142
+ msgstr "Fecha de adición"
143
+
144
+ msgid "Date updated"
145
+ msgstr "Fecha actualizada"
146
+
147
+ msgid "Visibility"
148
+ msgstr "Visibilidad"
149
+
150
+ msgid "Go"
151
+ msgstr "Ir"
152
+
153
+ msgid "Action"
154
+ msgstr "Acción"
155
+
156
+ msgid "No quotes in the database"
157
+ msgstr "No hay citas en la base de datos"
158
+
159
+ #: quotes-collection.php:462
160
+ #, php-format
161
+ msgid "Currently, you have %d quote."
162
+ msgid_plural "Currently, you have %d quotes."
163
+ msgstr[0] "Actualmente, tienes %d cita."
164
+ msgstr[1] "Actualmente, tienes %d citas."
165
+
languages/quotes-collection-it_IT.mo ADDED
Binary file
languages/quotes-collection-it_IT.po ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Quotes Collection 1.1 in Italiano\n"
4
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/quotes-collection\n"
5
+ "POT-Creation-Date: 2008-05-24 14:49+0530\n"
6
+ "PO-Revision-Date: 2008-06-01 17:53+0100\n"
7
+ "Last-Translator: Gianni Diurno (aka gidibao) <gidibao@gmail.com>\n"
8
+ "Language-Team: gidibao.net <gidibao@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: Italian\n"
14
+ "X-Poedit-Country: ITALY\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c;__ngettext_noop:1,2\n"
17
+
18
+ #: quotes-collection.php:60
19
+ #: quotes-collection.php:96
20
+ #: quotes-collection.php:100
21
+ msgid "Next quote"
22
+ msgstr "Vai alla prossima citazione"
23
+
24
+ #: quotes-collection.php:61
25
+ msgid "Loading..."
26
+ msgstr "Un attimo..."
27
+
28
+ #: quotes-collection.php:62
29
+ msgid "Error getting quote"
30
+ msgstr "Si é verificato un errore"
31
+
32
+ #: quotes-collection.php:120
33
+ #: quotes-collection.php:137
34
+ msgid "Random Quote"
35
+ msgstr "Citazioni a caso"
36
+
37
+ #: quotes-collection.php:164
38
+ msgid "Title"
39
+ msgstr "Titolo"
40
+
41
+ #: quotes-collection.php:165
42
+ msgid "Show author?"
43
+ msgstr "Desideri mostrare l'autore?"
44
+
45
+ #: quotes-collection.php:166
46
+ msgid "Show source?"
47
+ msgstr "Desideri mostrare la fonte?"
48
+
49
+ #: quotes-collection.php:167
50
+ msgid "Ajax refresh feature"
51
+ msgstr "Funzione di ricarica Ajax"
52
+
53
+ #: quotes-collection.php:169
54
+ msgid "Manage your collection of quotes at"
55
+ msgstr "Gestisci la tua collezione di citazioni"
56
+
57
+ #: quotes-collection.php:169
58
+ msgid "Manage"
59
+ msgstr "Gestione"
60
+
61
+ #: quotes-collection.php:186
62
+ msgid "Nothing added to the database."
63
+ msgstr "Non é stato aggiunto nulla al database."
64
+
65
+ #: quotes-collection.php:190
66
+ #: quotes-collection.php:228
67
+ msgid "Database table not found"
68
+ msgstr "Non é stata trovata la tabella del database"
69
+
70
+ #: quotes-collection.php:215
71
+ #: quotes-collection.php:258
72
+ #: quotes-collection.php:272
73
+ msgid "There was an error in the MySQL query"
74
+ msgstr "Si é verificato un errore nella richiesta MySQL"
75
+
76
+ #: quotes-collection.php:217
77
+ msgid "Quote added"
78
+ msgstr "La citazione é stata aggiunta"
79
+
80
+ #: quotes-collection.php:223
81
+ msgid "Quote not updated."
82
+ msgstr "La citazione non é stata aggiornata."
83
+
84
+ #: quotes-collection.php:260
85
+ msgid "Changes saved"
86
+ msgstr "Le modifiche sono state salvate"
87
+
88
+ #: quotes-collection.php:274
89
+ msgid "Quote deleted"
90
+ msgstr "La citazione é stata cancellata"
91
+
92
+ #: quotes-collection.php:276
93
+ msgid "The quote cannot be deleted"
94
+ msgstr "La citazione non può essere cancellata"
95
+
96
+ #: quotes-collection.php:292
97
+ #: quotes-collection.php:385
98
+ msgid "Add Quote"
99
+ msgstr "Aggiungi la citazione"
100
+
101
+ #: quotes-collection.php:308
102
+ #: quotes-collection.php:389
103
+ msgid "Save changes"
104
+ msgstr "Salva le modifiche"
105
+
106
+ #: quotes-collection.php:309
107
+ msgid "Back"
108
+ msgstr "Ritorna indietro"
109
+
110
+ #: quotes-collection.php:313
111
+ #: quotes-collection.php:491
112
+ msgid "The quote"
113
+ msgstr "Citazione"
114
+
115
+ #: quotes-collection.php:314
116
+ #: quotes-collection.php:477
117
+ #: quotes-collection.php:493
118
+ msgid "Author"
119
+ msgstr "Autore"
120
+
121
+ #: quotes-collection.php:315
122
+ #: quotes-collection.php:478
123
+ #: quotes-collection.php:493
124
+ msgid "Source"
125
+ msgstr "Fonte"
126
+
127
+ #: quotes-collection.php:316
128
+ #: quotes-collection.php:495
129
+ msgid "Tags"
130
+ msgstr "Tags"
131
+
132
+ #: quotes-collection.php:317
133
+ #: quotes-collection.php:496
134
+ msgid "Visible?"
135
+ msgstr "Desideri che sia visibile?"
136
+
137
+ #: quotes-collection.php:318
138
+ msgid "optional"
139
+ msgstr "facoltativo"
140
+
141
+ #: quotes-collection.php:319
142
+ msgid "comma separated"
143
+ msgstr "separa con una virgola"
144
+
145
+ #: quotes-collection.php:355
146
+ #: quotes-collection.php:368
147
+ msgid "Nothing done!"
148
+ msgstr "Non ho fatto nulla!"
149
+
150
+ #: quotes-collection.php:362
151
+ #, php-format
152
+ msgid "Visibility status of selected quotes set to '%s'"
153
+ msgstr "Lo stato di visibilità delle citazioni selezionate é impostato come '%s'"
154
+
155
+ #: quotes-collection.php:373
156
+ msgid "Quote(s) deleted"
157
+ msgstr "Citazione(i) cancellata(e)"
158
+
159
+ #: quotes-collection.php:394
160
+ msgid "Edit quote"
161
+ msgstr "Modifica la citazione"
162
+
163
+ #: quotes-collection.php:404
164
+ #: quotes-collection.php:455
165
+ #: quotes-collection.php:469
166
+ #: quotes-collection.php:505
167
+ msgid "Delete"
168
+ msgstr "Cancella"
169
+
170
+ #: quotes-collection.php:406
171
+ #: quotes-collection.php:470
172
+ #: quotes-collection.php:506
173
+ msgid "Make visible"
174
+ msgstr "Rendi visibile"
175
+
176
+ #: quotes-collection.php:409
177
+ #: quotes-collection.php:471
178
+ #: quotes-collection.php:507
179
+ msgid "Make invisible"
180
+ msgstr "Nascondi"
181
+
182
+ #: quotes-collection.php:454
183
+ msgid "Edit"
184
+ msgstr "Modifica"
185
+
186
+ #: quotes-collection.php:455
187
+ msgid "Are you sure you want to delete this quote?"
188
+ msgstr "Sei certo di volere cancellare questa citazione?"
189
+
190
+ #: quotes-collection.php:462
191
+ #, php-format
192
+ msgid "Currently, you have %d quote."
193
+ msgid_plural "Currently, you have %d quotes."
194
+ msgstr[0] "Al momento, hai %d citazione disponibile."
195
+ msgstr[1] "Al momento, hai %d citazioni disponibili."
196
+
197
+ #: quotes-collection.php:464
198
+ #: quotes-collection.php:521
199
+ msgid "Add new quote"
200
+ msgstr "Aggiungi una nuova citazione"
201
+
202
+ #: quotes-collection.php:473
203
+ msgid "Sort by: "
204
+ msgstr "Disponi per: "
205
+
206
+ #: quotes-collection.php:475
207
+ #: quotes-collection.php:476
208
+ msgid "Quote"
209
+ msgstr "Citazione"
210
+
211
+ #: quotes-collection.php:479
212
+ msgid "Date added"
213
+ msgstr "Data di inserimento"
214
+
215
+ #: quotes-collection.php:480
216
+ msgid "Date updated"
217
+ msgstr "Data di aggiornamento"
218
+
219
+ #: quotes-collection.php:481
220
+ msgid "Visibility"
221
+ msgstr "Visibilità"
222
+
223
+ #: quotes-collection.php:484
224
+ msgid "Go"
225
+ msgstr "Vai"
226
+
227
+ #: quotes-collection.php:497
228
+ msgid "Action"
229
+ msgstr "Azione"
230
+
231
+ #: quotes-collection.php:515
232
+ msgid "No quotes in the database"
233
+ msgstr "Non é presente alcuna citazione nel database"
234
+
235
+ #~ msgid "from"
236
+ #~ msgstr "da"
237
+
languages/quotes-collection-ru_RU.mo ADDED
Binary file
languages/quotes-collection-ru_RU.po ADDED
@@ -0,0 +1,239 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Quotes Collection 1.1.2\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2008-05-28 16:38+0300\n"
6
+ "PO-Revision-Date: 2008-05-28 20:56+0300\n"
7
+ "Last-Translator: Andrew <eng@go-by.com>\n"
8
+ "Language-Team: <admin@go-by.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: Russian\n"
14
+ "X-Poedit-Country: RUSSIAN FEDERATION\n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c;__ngettext_noop:1,2\n"
17
+ "X-Poedit-Basepath: .\n"
18
+ "X-Poedit-SearchPath-0: ..\n"
19
+
20
+ #: ../quotes-collection.php:60
21
+ #: ../quotes-collection.php:96
22
+ #: ../quotes-collection.php:100
23
+ msgid "Next quote"
24
+ msgstr "Следующая цитата"
25
+
26
+ #: ../quotes-collection.php:61
27
+ msgid "Loading..."
28
+ msgstr "Загружаюсь..."
29
+
30
+ #: ../quotes-collection.php:62
31
+ msgid "Error getting quote"
32
+ msgstr "Ошибка создания цитаты"
33
+
34
+ #: ../quotes-collection.php:120
35
+ #: ../quotes-collection.php:137
36
+ msgid "Random Quote"
37
+ msgstr "Случайная цитата"
38
+
39
+ #: ../quotes-collection.php:164
40
+ msgid "Title"
41
+ msgstr "Заголовок"
42
+
43
+ #: ../quotes-collection.php:165
44
+ msgid "Show author?"
45
+ msgstr "Показывать автора?"
46
+
47
+ #: ../quotes-collection.php:166
48
+ msgid "Show source?"
49
+ msgstr "Показывать источник?"
50
+
51
+ #: ../quotes-collection.php:167
52
+ msgid "Ajax refresh feature"
53
+ msgstr "Особенности обновления Ajax "
54
+
55
+ #: ../quotes-collection.php:169
56
+ msgid "Manage your collection of quotes at"
57
+ msgstr "Управлять коллекцией цитат"
58
+
59
+ #: ../quotes-collection.php:169
60
+ msgid "Manage"
61
+ msgstr "Управление"
62
+
63
+ #: ../quotes-collection.php:186
64
+ msgid "Nothing added to the database."
65
+ msgstr "Ничего не добавлено"
66
+
67
+ #: ../quotes-collection.php:190
68
+ #: ../quotes-collection.php:228
69
+ msgid "Database table not found"
70
+ msgstr "Таблица не найдена"
71
+
72
+ #: ../quotes-collection.php:215
73
+ #: ../quotes-collection.php:258
74
+ #: ../quotes-collection.php:272
75
+ msgid "There was an error in the MySQL query"
76
+ msgstr "Ошибка в запросе MySQL"
77
+
78
+ #: ../quotes-collection.php:217
79
+ msgid "Quote added"
80
+ msgstr "Цитата добавлена"
81
+
82
+ #: ../quotes-collection.php:223
83
+ msgid "Quote not updated."
84
+ msgstr "Цитата не обновлена"
85
+
86
+ #: ../quotes-collection.php:260
87
+ msgid "Changes saved"
88
+ msgstr "Изменения сохранены"
89
+
90
+ #: ../quotes-collection.php:274
91
+ msgid "Quote deleted"
92
+ msgstr "Цитата удалена"
93
+
94
+ #: ../quotes-collection.php:276
95
+ msgid "The quote cannot be deleted"
96
+ msgstr "Цитату не удалить"
97
+
98
+ #: ../quotes-collection.php:292
99
+ #: ../quotes-collection.php:385
100
+ msgid "Add Quote"
101
+ msgstr "Добавить цитату"
102
+
103
+ #: ../quotes-collection.php:308
104
+ #: ../quotes-collection.php:389
105
+ msgid "Save changes"
106
+ msgstr "Сохранить"
107
+
108
+ #: ../quotes-collection.php:309
109
+ msgid "Back"
110
+ msgstr "Назад"
111
+
112
+ #: ../quotes-collection.php:313
113
+ #: ../quotes-collection.php:491
114
+ msgid "The quote"
115
+ msgstr "Цитата"
116
+
117
+ #: ../quotes-collection.php:314
118
+ #: ../quotes-collection.php:477
119
+ #: ../quotes-collection.php:493
120
+ msgid "Author"
121
+ msgstr "Автор"
122
+
123
+ #: ../quotes-collection.php:315
124
+ #: ../quotes-collection.php:478
125
+ #: ../quotes-collection.php:493
126
+ msgid "Source"
127
+ msgstr "Источник"
128
+
129
+ #: ../quotes-collection.php:316
130
+ #: ../quotes-collection.php:495
131
+ msgid "Tags"
132
+ msgstr "Метки"
133
+
134
+ #: ../quotes-collection.php:317
135
+ #: ../quotes-collection.php:496
136
+ msgid "Visible?"
137
+ msgstr "Видна?"
138
+
139
+ #: ../quotes-collection.php:318
140
+ msgid "optional"
141
+ msgstr "допольнительно"
142
+
143
+ #: ../quotes-collection.php:319
144
+ msgid "comma separated"
145
+ msgstr "через запятую"
146
+
147
+ #: ../quotes-collection.php:355
148
+ #: ../quotes-collection.php:368
149
+ msgid "Nothing done!"
150
+ msgstr "Ничего не сделано"
151
+
152
+ #: ../quotes-collection.php:362
153
+ #, php-format
154
+ msgid "Visibility status of selected quotes set to '%s'"
155
+ msgstr "Видимость выбранных цитат изменена на '%s'"
156
+
157
+ #: ../quotes-collection.php:373
158
+ msgid "Quote(s) deleted"
159
+ msgstr "Цитата(-ы) удалена"
160
+
161
+ #: ../quotes-collection.php:394
162
+ msgid "Edit quote"
163
+ msgstr "Править"
164
+
165
+ #: ../quotes-collection.php:404
166
+ #: ../quotes-collection.php:455
167
+ #: ../quotes-collection.php:469
168
+ #: ../quotes-collection.php:505
169
+ msgid "Delete"
170
+ msgstr "Удалить"
171
+
172
+ #: ../quotes-collection.php:406
173
+ #: ../quotes-collection.php:470
174
+ #: ../quotes-collection.php:506
175
+ msgid "Make visible"
176
+ msgstr "Показать"
177
+
178
+ #: ../quotes-collection.php:409
179
+ #: ../quotes-collection.php:471
180
+ #: ../quotes-collection.php:507
181
+ msgid "Make invisible"
182
+ msgstr "Скрыть"
183
+
184
+ #: ../quotes-collection.php:454
185
+ msgid "Edit"
186
+ msgstr "Править"
187
+
188
+ #: ../quotes-collection.php:455
189
+ msgid "Are you sure you want to delete this quote?"
190
+ msgstr "Вы уверены, что хотите удалить эту цитату?"
191
+
192
+ #: ../quotes-collection.php:462
193
+ #, php-format
194
+ msgid "Currently, you have %d quote."
195
+ msgid_plural "Currently, you have %d quotes."
196
+ msgstr[0] "У вас %d цитата."
197
+ msgstr[1] "У вас %d цитат."
198
+
199
+ #: ../quotes-collection.php:464
200
+ #: ../quotes-collection.php:521
201
+ msgid "Add new quote"
202
+ msgstr "Добавить новую цитату"
203
+
204
+ #: ../quotes-collection.php:473
205
+ msgid "Sort by: "
206
+ msgstr "Сортировать:"
207
+
208
+ #: ../quotes-collection.php:475
209
+ #: ../quotes-collection.php:476
210
+ msgid "Quote"
211
+ msgstr "Цитата"
212
+
213
+ #: ../quotes-collection.php:479
214
+ msgid "Date added"
215
+ msgstr "Дата добавлена"
216
+
217
+ #: ../quotes-collection.php:480
218
+ msgid "Date updated"
219
+ msgstr "Дата изменена"
220
+
221
+ #: ../quotes-collection.php:481
222
+ msgid "Visibility"
223
+ msgstr "Видимость"
224
+
225
+ #: ../quotes-collection.php:484
226
+ msgid "Go"
227
+ msgstr "Да"
228
+
229
+ #: ../quotes-collection.php:497
230
+ msgid "Action"
231
+ msgstr "Действия"
232
+
233
+ #: ../quotes-collection.php:515
234
+ msgid "No quotes in the database"
235
+ msgstr "Нет цитат в базе"
236
+
237
+ #~ msgid "from"
238
+ #~ msgstr "aus"
239
+
languages/quotes-collection-ta_IN.mo ADDED
Binary file
languages/quotes-collection-ta_IN.po ADDED
@@ -0,0 +1,232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Quotes Collection 1.1\n"
4
+ "POT-Creation-Date: \n"
5
+ "PO-Revision-Date: 2008-05-24 16:04+0530\n"
6
+ "Last-Translator: Srinivasan G. <srinig.com@gmail.com>\n"
7
+ "Language-Team: \n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=utf-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
12
+ "X-Poedit-Language: Tamil\n"
13
+ "X-Poedit-Country: India\n"
14
+ "X-Poedit-SourceCharset: utf-8\n"
15
+
16
+ #: quotes-collection.php:60
17
+ #: quotes-collection.php:96
18
+ #: quotes-collection.php:100
19
+ msgid "Next quote"
20
+ msgstr "அடுத்த வாசகம்"
21
+
22
+ #: quotes-collection.php:61
23
+ msgid "Loading..."
24
+ msgstr "இதோ வருகிறது..."
25
+
26
+ #: quotes-collection.php:62
27
+ msgid "Error getting quote"
28
+ msgstr "வாசகத்தினை மீட்பதில் சிக்கல்"
29
+
30
+ #: quotes-collection.php:120
31
+ #: quotes-collection.php:137
32
+ msgid "Random Quote"
33
+ msgstr "வாசகம் ஒன்று"
34
+
35
+ #: quotes-collection.php:164
36
+ msgid "Title"
37
+ msgstr "தலைப்பு"
38
+
39
+ #: quotes-collection.php:165
40
+ msgid "Show author?"
41
+ msgstr "சொன்னவரின் பெயரை காண்பிக்க வேண்டுமா?"
42
+
43
+ #: quotes-collection.php:166
44
+ msgid "Show source?"
45
+ msgstr "எங்கே சொல்லப்பட்டது என்பதை காண்பிக்க வேண்டுமா?"
46
+
47
+ #: quotes-collection.php:167
48
+ msgid "Ajax refresh feature"
49
+ msgstr "அடுத்த வாசகத்தினை மீட்கும் சுட்டி"
50
+
51
+ #: quotes-collection.php:169
52
+ msgid "Manage your collection of quotes at"
53
+ msgstr "நீங்கள் சேர்த்து வைத்துள்ள வாசகங்களை தொகுக்க வேண்டிய இடம்: "
54
+
55
+ #: quotes-collection.php:169
56
+ msgid "Manage"
57
+ msgstr ""
58
+
59
+ #: quotes-collection.php:186
60
+ msgid "Nothing added to the database."
61
+ msgstr "சேர்ப்பதற்கு ஒன்றுமில்லை."
62
+
63
+ #: quotes-collection.php:190
64
+ #: quotes-collection.php:228
65
+ msgid "Database table not found"
66
+ msgstr "Database table காணவில்லை!"
67
+
68
+ #: quotes-collection.php:215
69
+ #: quotes-collection.php:258
70
+ #: quotes-collection.php:272
71
+ msgid "There was an error in the MySQL query"
72
+ msgstr "MySQL queryஇல் பிழை இருந்தது"
73
+
74
+ #: quotes-collection.php:217
75
+ msgid "Quote added"
76
+ msgstr "வாசகம் சேர்க்கப்பட்டது"
77
+
78
+ #: quotes-collection.php:223
79
+ msgid "Quote not updated."
80
+ msgstr "வாசகம் திருத்தப்படவில்லை"
81
+
82
+ #: quotes-collection.php:260
83
+ msgid "Changes saved"
84
+ msgstr "மாற்றங்கள் சேமிக்கப்பட்டன"
85
+
86
+ #: quotes-collection.php:274
87
+ msgid "Quote deleted"
88
+ msgstr "வாசகம் அழிக்கப்பட்டது"
89
+
90
+ #: quotes-collection.php:276
91
+ msgid "The quote cannot be deleted"
92
+ msgstr "வாசகத்தினை அழிக்க முடியவில்லை"
93
+
94
+ #: quotes-collection.php:292
95
+ #: quotes-collection.php:385
96
+ msgid "Add Quote"
97
+ msgstr "சேர்க்கவும்"
98
+
99
+ #: quotes-collection.php:308
100
+ #: quotes-collection.php:389
101
+ msgid "Save changes"
102
+ msgstr "மாற்றங்களை சேமிக்கவும்"
103
+
104
+ #: quotes-collection.php:309
105
+ msgid "Back"
106
+ msgstr "பின்வாங்கவும்"
107
+
108
+ #: quotes-collection.php:313
109
+ #: quotes-collection.php:491
110
+ msgid "The quote"
111
+ msgstr "வாசகம்"
112
+
113
+ #: quotes-collection.php:314
114
+ #: quotes-collection.php:477
115
+ #: quotes-collection.php:493
116
+ msgid "Author"
117
+ msgstr "சொன்னவர்"
118
+
119
+ #: quotes-collection.php:315
120
+ #: quotes-collection.php:478
121
+ #: quotes-collection.php:493
122
+ msgid "Source"
123
+ msgstr "எங்கே சொல்லப்பட்டது"
124
+
125
+ #: quotes-collection.php:316
126
+ #: quotes-collection.php:495
127
+ msgid "Tags"
128
+ msgstr "குறிச்சொற்கள்"
129
+
130
+ #: quotes-collection.php:317
131
+ #: quotes-collection.php:496
132
+ msgid "Visible?"
133
+ msgstr "Visible?"
134
+
135
+ #: quotes-collection.php:318
136
+ msgid "optional"
137
+ msgstr "அவசியமில்லை"
138
+
139
+ #: quotes-collection.php:319
140
+ msgid "comma separated"
141
+ msgstr "comma separated"
142
+
143
+ #: quotes-collection.php:355
144
+ #: quotes-collection.php:368
145
+ msgid "Nothing done!"
146
+ msgstr "ஒன்றும் செய்வதற்கில்லை!"
147
+
148
+ #: quotes-collection.php:362
149
+ #, php-format
150
+ msgid "Visibility status of selected quotes set to '%s'"
151
+ msgstr "தேர்ந்தெடுக்கப்பட்ட வாசகங்கள் %s ஆக்கப்பட்டன"
152
+
153
+ #: quotes-collection.php:373
154
+ msgid "Quote(s) deleted"
155
+ msgstr "வாசகங்கள் அழிக்கப்பட்டன"
156
+
157
+ #: quotes-collection.php:394
158
+ msgid "Edit quote"
159
+ msgstr "வாசகத்தினை திருத்தவும்"
160
+
161
+ #: quotes-collection.php:404
162
+ #: quotes-collection.php:455
163
+ #: quotes-collection.php:469
164
+ #: quotes-collection.php:505
165
+ msgid "Delete"
166
+ msgstr "அழிக்கவும்"
167
+
168
+ #: quotes-collection.php:406
169
+ #: quotes-collection.php:470
170
+ #: quotes-collection.php:506
171
+ msgid "Make visible"
172
+ msgstr "visible ஆக்கவும்"
173
+
174
+ #: quotes-collection.php:409
175
+ #: quotes-collection.php:471
176
+ #: quotes-collection.php:507
177
+ msgid "Make invisible"
178
+ msgstr "invisible ஆக்கவும்"
179
+
180
+ #: quotes-collection.php:454
181
+ msgid "Edit"
182
+ msgstr "திருத்தவும்"
183
+
184
+ #: quotes-collection.php:455
185
+ msgid "Are you sure you want to delete this quote?"
186
+ msgstr "இந்த வாசகத்தினை அழித்துத்தான் ஆக வேண்டுமா?"
187
+
188
+ #: quotes-collection.php:462
189
+ #, php-format
190
+ msgid "Currently, you have %d quote."
191
+ msgid_plural "Currently, you have %d quotes."
192
+ msgstr[0] "இதுவரை ஒரு வாசகம் சேர்க்கப்பட்டுள்ளது"
193
+ msgstr[1] "இதுவரை %d வாசகங்கள் சேர்க்கப்பட்டுள்ளன"
194
+
195
+ #: quotes-collection.php:464
196
+ #: quotes-collection.php:521
197
+ msgid "Add new quote"
198
+ msgstr "புதிய வாசகம் ஒன்றை சேர்க்கவும்"
199
+
200
+ #: quotes-collection.php:473
201
+ msgid "Sort by: "
202
+ msgstr "வாசகங்களின் வரிசை முறை: "
203
+
204
+ #: quotes-collection.php:475
205
+ #: quotes-collection.php:476
206
+ msgid "Quote"
207
+ msgstr "வாசகம்"
208
+
209
+ #: quotes-collection.php:479
210
+ msgid "Date added"
211
+ msgstr "சேர்த்த நாள்"
212
+
213
+ #: quotes-collection.php:480
214
+ msgid "Date updated"
215
+ msgstr "திருத்திய நாள்"
216
+
217
+ #: quotes-collection.php:481
218
+ msgid "Visibility"
219
+ msgstr ""
220
+
221
+ #: quotes-collection.php:484
222
+ msgid "Go"
223
+ msgstr "ஆகட்டும்"
224
+
225
+ #: quotes-collection.php:497
226
+ msgid "Action"
227
+ msgstr "வாசகத்தினை திருத்த/அழிக்க"
228
+
229
+ #: quotes-collection.php:515
230
+ msgid "No quotes in the database"
231
+ msgstr "வாசகங்கள் ஏதும் இதுவரை சேர்க்கப்படவில்லை"
232
+
languages/quotes-collection.pot ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Quotes Collection plugin for WordPress: Localization template.
2
+ # Copyright (C) 2008 Srini G
3
+ # This file is distributed under the same license as the Quotes Collection package.
4
+ # Srini G <srinig.com@gmail.com>, 2008.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: Quotes Collection 1.1\n"
10
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/quotes-collection\n"
11
+ "POT-Creation-Date: 2008-05-24 14:49+0530\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
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
19
+
20
+ #: quotes-collection.php:60 quotes-collection.php:96 quotes-collection.php:100
21
+ msgid "Next quote"
22
+ msgstr ""
23
+
24
+ #: quotes-collection.php:61
25
+ msgid "Loading..."
26
+ msgstr ""
27
+
28
+ #: quotes-collection.php:62
29
+ msgid "Error getting quote"
30
+ msgstr ""
31
+
32
+ #: quotes-collection.php:120 quotes-collection.php:137
33
+ msgid "Random Quote"
34
+ msgstr ""
35
+
36
+ #: quotes-collection.php:164
37
+ msgid "Title"
38
+ msgstr ""
39
+
40
+ #: quotes-collection.php:165
41
+ msgid "Show author?"
42
+ msgstr ""
43
+
44
+ #: quotes-collection.php:166
45
+ msgid "Show source?"
46
+ msgstr ""
47
+
48
+ #: quotes-collection.php:167
49
+ msgid "Ajax refresh feature"
50
+ msgstr ""
51
+
52
+ #: quotes-collection.php:169
53
+ msgid "Manage your collection of quotes at"
54
+ msgstr ""
55
+
56
+ #: quotes-collection.php:169
57
+ msgid "Manage"
58
+ msgstr ""
59
+
60
+ #: quotes-collection.php:186
61
+ msgid "Nothing added to the database."
62
+ msgstr ""
63
+
64
+ #: quotes-collection.php:190 quotes-collection.php:228
65
+ msgid "Database table not found"
66
+ msgstr ""
67
+
68
+ #: quotes-collection.php:215 quotes-collection.php:258
69
+ #: quotes-collection.php:272
70
+ msgid "There was an error in the MySQL query"
71
+ msgstr ""
72
+
73
+ #: quotes-collection.php:217
74
+ msgid "Quote added"
75
+ msgstr ""
76
+
77
+ #: quotes-collection.php:223
78
+ msgid "Quote not updated."
79
+ msgstr ""
80
+
81
+ #: quotes-collection.php:260
82
+ msgid "Changes saved"
83
+ msgstr ""
84
+
85
+ #: quotes-collection.php:274
86
+ msgid "Quote deleted"
87
+ msgstr ""
88
+
89
+ #: quotes-collection.php:276
90
+ msgid "The quote cannot be deleted"
91
+ msgstr ""
92
+
93
+ #: quotes-collection.php:292 quotes-collection.php:385
94
+ msgid "Add Quote"
95
+ msgstr ""
96
+
97
+ #: quotes-collection.php:308 quotes-collection.php:389
98
+ msgid "Save changes"
99
+ msgstr ""
100
+
101
+ #: quotes-collection.php:309
102
+ msgid "Back"
103
+ msgstr ""
104
+
105
+ #: quotes-collection.php:313 quotes-collection.php:491
106
+ msgid "The quote"
107
+ msgstr ""
108
+
109
+ #: quotes-collection.php:314 quotes-collection.php:477
110
+ #: quotes-collection.php:493
111
+ msgid "Author"
112
+ msgstr ""
113
+
114
+ #: quotes-collection.php:315 quotes-collection.php:478
115
+ #: quotes-collection.php:493
116
+ msgid "Source"
117
+ msgstr ""
118
+
119
+ #: quotes-collection.php:316 quotes-collection.php:495
120
+ msgid "Tags"
121
+ msgstr ""
122
+
123
+ #: quotes-collection.php:317 quotes-collection.php:496
124
+ msgid "Visible?"
125
+ msgstr ""
126
+
127
+ #: quotes-collection.php:318
128
+ msgid "optional"
129
+ msgstr ""
130
+
131
+ #: quotes-collection.php:319
132
+ msgid "comma separated"
133
+ msgstr ""
134
+
135
+ #: quotes-collection.php:355 quotes-collection.php:368
136
+ msgid "Nothing done!"
137
+ msgstr ""
138
+
139
+ #: quotes-collection.php:362
140
+ #, php-format
141
+ msgid "Visibility status of selected quotes set to '%s'"
142
+ msgstr ""
143
+
144
+ #: quotes-collection.php:373
145
+ msgid "Quote(s) deleted"
146
+ msgstr ""
147
+
148
+ #: quotes-collection.php:394
149
+ msgid "Edit quote"
150
+ msgstr ""
151
+
152
+ #: quotes-collection.php:404 quotes-collection.php:455
153
+ #: quotes-collection.php:469 quotes-collection.php:505
154
+ msgid "Delete"
155
+ msgstr ""
156
+
157
+ #: quotes-collection.php:406 quotes-collection.php:470
158
+ #: quotes-collection.php:506
159
+ msgid "Make visible"
160
+ msgstr ""
161
+
162
+ #: quotes-collection.php:409 quotes-collection.php:471
163
+ #: quotes-collection.php:507
164
+ msgid "Make invisible"
165
+ msgstr ""
166
+
167
+ #: quotes-collection.php:454
168
+ msgid "Edit"
169
+ msgstr ""
170
+
171
+ #: quotes-collection.php:455
172
+ msgid "Are you sure you want to delete this quote?"
173
+ msgstr ""
174
+
175
+ #: quotes-collection.php:462
176
+ #, php-format
177
+ msgid "Currently, you have %d quote."
178
+ msgid_plural "Currently, you have %d quotes."
179
+ msgstr[0] ""
180
+ msgstr[1] ""
181
+
182
+ #: quotes-collection.php:464 quotes-collection.php:521
183
+ msgid "Add new quote"
184
+ msgstr ""
185
+
186
+ #: quotes-collection.php:473
187
+ msgid "Sort by: "
188
+ msgstr ""
189
+
190
+ #: quotes-collection.php:475 quotes-collection.php:476
191
+ msgid "Quote"
192
+ msgstr ""
193
+
194
+ #: quotes-collection.php:479
195
+ msgid "Date added"
196
+ msgstr ""
197
+
198
+ #: quotes-collection.php:480
199
+ msgid "Date updated"
200
+ msgstr ""
201
+
202
+ #: quotes-collection.php:481
203
+ msgid "Visibility"
204
+ msgstr ""
205
+
206
+ #: quotes-collection.php:484
207
+ msgid "Go"
208
+ msgstr ""
209
+
210
+ #: quotes-collection.php:497
211
+ msgid "Action"
212
+ msgstr ""
213
+
214
+ #: quotes-collection.php:515
215
+ msgid "No quotes in the database"
216
+ msgstr ""
quotes-collection-ajax.php CHANGED
@@ -6,10 +6,10 @@ if(isset($_REQUEST['refresh'])) {
6
  include_once($blogdir.'/wp-includes/wp-db.php');
7
  include_once(str_replace("-ajax", "", __FILE__));
8
  if($random_quote = quotescollection_get_randomquote($_REQUEST['exclude'])) {
9
- $options = get_option('quotescollection');
10
- $show_author = isset($options['show_author'])?$options['show_author']:0;
11
- $show_source = isset($options['show_source'])?$options['show_source']:1;
12
  $display = quotescollection_display_randomquote($show_author, $show_source, 2, $random_quote);
 
13
  die( "document.getElementById('quotescollection_randomquote-".$_REQUEST['refresh']."').innerHTML = '".$display."'" );
14
  }
15
  else
@@ -18,16 +18,16 @@ if(isset($_REQUEST['refresh'])) {
18
 
19
  if(isset($_REQUEST['js'])) {
20
  ?>
21
- function quotescollection_refresh(instance, exclude)
22
  {
23
  // function body defined below
24
  var mysack = new sack(
25
- "<?php echo $_SERVER['PHP_SELF']; ?>?refresh="+instance+"&exclude="+exclude );
26
  mysack.execute = 1;
27
 
28
- mysack.onError = function() { document.getElementById('quotescollection_randomquote-'+instance).innerHTML = 'Error getting quote'; };
29
- mysack.onLoading = function() { document.getElementById('quotescollection_nextquote-'+instance).innerHTML = 'Loading...'; };
30
- mysack.onLoaded = function() { document.getElementById('quotescollection_nextquote-'+instance).innerHTML = '<a style="cursor:pointer" onclick="quotescollection_refresh('+instance+');">Next quote »</a>'; };
31
  // mysack.onInteractive = function() { document.getElementById('quotescollection_nextquote-'+instance).innerHTML += '...'; };
32
  // mysack.onCompletion = function() { document.getElementById('quotescollection_randomquote-'+instance).innerHTML = mysack.response; };
33
  mysack.runAJAX();
6
  include_once($blogdir.'/wp-includes/wp-db.php');
7
  include_once(str_replace("-ajax", "", __FILE__));
8
  if($random_quote = quotescollection_get_randomquote($_REQUEST['exclude'])) {
9
+ $show_author = isset($_REQUEST['show_author'])?$_REQUEST['show_author']:1;
10
+ $show_source = isset($_REQUEST['show_source'])?$_REQUEST['show_source']:1;
 
11
  $display = quotescollection_display_randomquote($show_author, $show_source, 2, $random_quote);
12
+ @header("Content-type: text/javascript; charset=utf-8");
13
  die( "document.getElementById('quotescollection_randomquote-".$_REQUEST['refresh']."').innerHTML = '".$display."'" );
14
  }
15
  else
18
 
19
  if(isset($_REQUEST['js'])) {
20
  ?>
21
+ function quotescollection_refresh(instance, exclude, show_author, show_source)
22
  {
23
  // function body defined below
24
  var mysack = new sack(
25
+ "<?php echo $_SERVER['PHP_SELF']; ?>?refresh="+instance+"&exclude="+exclude+"&show_author="+show_author+"&show_source="+show_source );
26
  mysack.execute = 1;
27
 
28
+ mysack.onError = function() { document.getElementById('quotescollection_randomquote-'+instance).innerHTML = quotcoll_error; };
29
+ mysack.onLoading = function() { document.getElementById('quotescollection_nextquote-'+instance).innerHTML = quotcoll_loading; };
30
+ mysack.onLoaded = function() { document.getElementById('quotescollection_nextquote-'+instance).innerHTML = '<a style="cursor:pointer" onclick="quotescollection_refresh('+instance+','+exclude+','+show_author+','+show_source+');">' + quotcoll_nextquote + ' &raquo</a>'; };
31
  // mysack.onInteractive = function() { document.getElementById('quotescollection_nextquote-'+instance).innerHTML += '...'; };
32
  // mysack.onCompletion = function() { document.getElementById('quotescollection_randomquote-'+instance).innerHTML = mysack.response; };
33
  mysack.runAJAX();
quotes-collection.css CHANGED
@@ -1,11 +1,11 @@
1
  /* Random quote */
2
-
3
  .quotescollection_randomquote q {
4
-
5
  }
6
 
7
- .quotescollection_randomquote cite {
8
 
 
 
 
9
  }
10
 
11
 
@@ -19,11 +19,17 @@ blockquote.quotescollection {
19
  }
20
 
21
  blockquote.quotescollection q {
22
- color:#555;
23
  }
24
 
25
  blockquote.quotescollection cite {
26
- display:inline;
27
  font-size:0.83em;
28
- color:#888;
29
  }
 
 
 
 
 
 
 
 
1
  /* Random quote */
 
2
  .quotescollection_randomquote q {
 
3
  }
4
 
 
5
 
6
+ .quotescollection_randomquote cite {
7
+ display:block; /* To display author and source in a new line */
8
+ text-align:right;
9
  }
10
 
11
 
19
  }
20
 
21
  blockquote.quotescollection q {
 
22
  }
23
 
24
  blockquote.quotescollection cite {
25
+ display:inline;
26
  font-size:0.83em;
 
27
  }
28
+
29
+ /* Uncomment the block below if you want to get rid of the quotation marks before and after the quote */
30
+
31
+ /*
32
+ q:before, q:after {
33
+ content:"";
34
+ }
35
+ */
quotes-collection.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Quotes Collection
4
  Plugin URI: http://srinig.com/wordpress/plugins/quotes-collection/
5
  Description: Quotes Collection plugin with Ajax powered Random Quote sidebar widget helps you collect and display your favourite quotes on your WordPress blog.
6
  Author: Srini G
7
- Version: 1.0
8
  Author URI: http://srinig.com/wordpress/
9
  */
10
  /* Released under GPL:
@@ -12,6 +12,14 @@ Author URI: http://srinig.com/wordpress/
12
  */
13
 
14
 
 
 
 
 
 
 
 
 
15
  function quotescollection_get_randomquote($exclude = 0)
16
  {
17
  global $wpdb;
@@ -46,17 +54,21 @@ function quotescollection_js_head() // this is a PHP function
46
 
47
  // Define custom JavaScript function
48
  ?>
49
- <!-- Random Quote script -->
50
  <script type="text/javascript" src="<?php bloginfo( 'wpurl' ); ?>/wp-content/plugins/quotes-collection/quotes-collection-ajax.php?js"></script>
51
- <?php
52
- } // end of PHP function myplugin_js_header
53
-
 
 
 
 
54
  add_action('wp_head', 'quotescollection_js_head' );
55
 
56
 
57
 
58
 
59
- function quotescollection_display_randomquote($show_author = 1, $show_source = 0, $ajax_refresh = 1, $random_quote = array())
60
  {
61
  global $quotescollection_instances;
62
  if(!($instance = $quotescollection_instances))
@@ -66,24 +78,26 @@ function quotescollection_display_randomquote($show_author = 1, $show_source = 0
66
  return;
67
  }
68
  $display = "<p><q>". wptexturize(str_replace(array("\r\n", "\r", "\n"), '', nl2br($random_quote['quote']))) ."</q>";
69
- if( ($show_author && $random_quote['author']) || ($show_source && $random_quote['source']) )
70
- $display .= " &mdash;&nbsp;";
71
  if($show_author && $random_quote['author'])
72
- $display .= "<cite>".$random_quote['author']."</cite> ";
73
- if($show_source && $random_quote['source'])
74
- $display .= "from <cite>".$random_quote['source']."</cite>";
75
- $display .= "</p>";
 
 
 
76
 
77
  // We don't want to display the 'next quote' link if there is no more than 1 quote
78
  $quotes_count = quotescollection_count("WHERE visible='yes'");
79
 
80
  if($ajax_refresh == 1 && $quotes_count > 1) {
81
  $display .= "<script type=\"text/javascript\">\n<!--\ndocument.write(\"";
82
- $display .= '<p id=\"quotescollection_nextquote-'.$instance.'\"><a style=\"cursor:pointer\" onclick=\"quotescollection_refresh('.$instance.', '.$random_quote["quote_id"].');\">Next quote &raquo;</a></p>';
83
  $display .= "\")\n//-->\n</script>\n";
84
  }
85
  if ($ajax_refresh == 2 && $quotes_count > 1) {
86
- $display .= "<p id=\"quotescollection_nextquote-".$_REQUEST['refresh']."\"><a style=\"cursor:pointer\" onclick=\"quotescollection_refresh(".$_REQUEST['refresh'].", ".$random_quote['quote_id'].");\">Next quote &raquo;</a></p>";
 
87
  return $display;
88
  }
89
  $display = "<div id=\"quotescollection_randomquote-".$instance."\" class=\"quotescollection_randomquote\">{$display}</div>";
@@ -94,13 +108,16 @@ function quotescollection_display_randomquote($show_author = 1, $show_source = 0
94
 
95
  function quotescollection_init()
96
  {
 
 
 
97
  if ( !function_exists('register_sidebar_widget') || !function_exists('register_widget_control') )
98
  return;
99
 
100
  function quotescollection_widget($args) {
101
  if($random_quote = quotescollection_get_randomquote()) {
102
  $options = get_option('quotescollection');
103
- $title = isset($options['title'])?$options['title']:__('Random Quote');
104
  $show_author = isset($options['show_author'])?$options['show_author']:1;
105
  $show_source = isset($options['show_source'])?$options['show_source']:1;
106
  $ajax_refresh = isset($options['ajax_refresh'])?$options['ajax_refresh']:1;
@@ -117,7 +134,7 @@ function quotescollection_init()
117
 
118
  // default values for options
119
  $options = array(
120
- 'title' => 'Random Quote',
121
  'show_author' => 1,
122
  'show_source' => 0,
123
  'ajax_refresh' => 1,
@@ -144,12 +161,12 @@ function quotescollection_init()
144
  $show_source_checked = ' checked="checked"';
145
  if($options['ajax_refresh'])
146
  $ajax_refresh_checked = ' checked="checked"';
147
- echo "<p style=\"text-align:left;\"><label for=\"quotescollection-title\">Title: </label><input class=\"widefat\" type=\"text\" id=\"quotescollection-title\" name=\"quotescollection-title\" value=\"".htmlspecialchars($options['title'], ENT_QUOTES)."\" /></p>";
148
- echo "<p style=\"text-align:left;\"><input type=\"checkbox\" id=\"quotescollection-show_author\" name=\"quotescollection-show_author\" value=\"1\"{$show_author_checked} /> <label for=\"quotescollection-show_author\">Show author?</label></p>";
149
- echo "<p style=\"text-align:left;\"><input type=\"checkbox\" id=\"quotescollection-show_source\" name=\"quotescollection-show_source\" value=\"1\"{$show_source_checked} /> <label for=\"quotescollection-show_source\">Show source?</label></p>";
150
- echo "<p style=\"text-align:left;\"><input type=\"checkbox\" id=\"quotescollection-ajax_refresh\" name=\"quotescollection-ajax_refresh\" value=\"1\"{$ajax_refresh_checked} /> <label for=\"quotescollection-ajax_refresh\">Ajax refresh feature</label></p>";
151
  echo "<input type=\"hidden\" id=\"quotescollection-submit\" name=\"quotescollection-submit\" value=\"1\" />";
152
- echo "<p style=\"text-align:left;\">Manage your collection of quotes at<br /><a href=\"edit.php?page=quotes-collection/quotes-collection.php\">Manage->Quotes Collection</a></p>";
153
  }
154
 
155
 
@@ -160,16 +177,17 @@ function quotescollection_init()
160
 
161
  function quotescollection_admin_menu()
162
  {
163
- add_management_page('Quotes Collection', 'Quotes Collection', 8, __FILE__, 'quotescollection_quotes_management');
 
164
  }
165
 
166
- function quotescollection_addquote($quote, $author = "", $source = "", $visible = 'yes')
167
  {
168
- if(!$quote) return "Nothing added to the database.";
169
  global $wpdb;
170
  $table_name = $wpdb->prefix . "quotescollection";
171
  if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name)
172
- return "Database not found";
173
  else //Add the quote data to the database
174
  {
175
 
@@ -177,31 +195,37 @@ function quotescollection_addquote($quote, $author = "", $source = "", $visible
177
  $quote = stripslashes($quote);
178
  $author = stripslashes($author);
179
  $source = stripslashes($source);
 
180
  }
181
  $quote = "'".$wpdb->escape($quote)."'";
182
  $author = $author?"'".$wpdb->escape($author)."'":"NULL";
183
  $source = $source?"'".$wpdb->escape($source)."'":"NULL";
 
 
 
 
 
184
  if(!$visible) $visible = "'no'";
185
  else $visible = "'yes'";
186
  $insert = "INSERT INTO " . $table_name .
187
- "(quote, author, source, visible, time_added)" .
188
- "VALUES ({$quote}, {$author}, {$source}, {$visible}, NOW())";
189
  $results = $wpdb->query( $insert );
190
  if(FALSE === $results)
191
- return "There was an error in the MySQL query";
192
  else
193
- return "Quote added";
194
  }
195
  }
196
 
197
- function quotescollection_editquote($quote_id, $quote, $author = "", $source = "", $visible = 'yes')
198
  {
199
- if(!$quote) return "Quote not updated.";
200
  if(!$quote_id) return srgq_addquote($quote, $author, $source, $visible);
201
  global $wpdb;
202
  $table_name = $wpdb->prefix . "quotescollection";
203
  if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name)
204
- return "Database not found";
205
  else //Update database
206
  {
207
 
@@ -209,24 +233,31 @@ function quotescollection_editquote($quote_id, $quote, $author = "", $source = "
209
  $quote = stripslashes($quote);
210
  $author = stripslashes($author);
211
  $source = stripslashes($source);
 
212
  }
213
  $quote = "'".$wpdb->escape($quote)."'";
214
  $author = $author?"'".$wpdb->escape($author)."'":"NULL";
215
  $source = $source?"'".$wpdb->escape($source)."'":"NULL";
 
 
 
 
 
216
  if(!$visible) $visible = "'no'";
217
  else $visible = "'yes'";
218
  $update = "UPDATE " . $table_name . "
219
  SET quote = {$quote},
220
  author = {$author},
221
  source = {$source},
 
222
  visible = {$visible},
223
  time_updated = NOW()
224
  WHERE quote_id = $quote_id";
225
  $results = $wpdb->query( $update );
226
  if(FALSE === $results)
227
- return "There was an error in the MySQL query";
228
  else
229
- return "Changes saved";
230
  }
231
  }
232
 
@@ -238,17 +269,17 @@ function quotescollection_deletequote($quote_id)
238
  $sql = "DELETE from " . $wpdb->prefix ."quotescollection" .
239
  " WHERE quote_id = " . $quote_id;
240
  if(FALSE === $wpdb->query($sql))
241
- return "There was an error in the MySQL query";
242
  else
243
- return "Quote deleted";
244
  }
245
- else return "The quote cannot be deleted";
246
  }
247
 
248
  function quotescollection_getquotedata($quote_id)
249
  {
250
  global $wpdb;
251
- $sql = "SELECT quote_id, quote, author, source, visible
252
  FROM " . $wpdb->prefix . "quotescollection
253
  WHERE quote_id = {$quote_id}";
254
  $quote_data = $wpdb->get_row($sql, ARRAY_A);
@@ -258,8 +289,9 @@ function quotescollection_getquotedata($quote_id)
258
  function quotescollection_editform($quote_id = 0)
259
  {
260
  $visible_selected = " checked=\"checked\"";
261
- $submit_value = "Add Quote";
262
  $form_name = "addquote";
 
263
 
264
  if($quote_id) {
265
  $form_name = "editquote";
@@ -267,34 +299,47 @@ function quotescollection_editform($quote_id = 0)
267
  foreach($quote_data as $key => $value)
268
  $quote_data[$key] = $quote_data[$key];
269
  extract($quote_data);
270
- $quote = htmlentities($quote);
271
- $author = htmlentities($author);
272
- $source = htmlentities($source);
 
273
  $hidden_input = "<input type=\"hidden\" name=\"quote_id\" value=\"{$quote_id}\" />";
274
  if($visible == 'no') $visible_selected = "";
275
- $submit_value = "Save changes";
276
- $back = "<input type=\"submit\" name=\"submit\" value=\"Back\" />&nbsp;";
 
277
  }
278
 
 
 
 
 
 
 
 
279
 
280
  $display .=<<< EDITFORM
281
- <form name="{$form_name}" method="post" action="{$_SERVER['PHP_SELF']}?page=quotes-collection/quotes-collection.php">
282
  {$hidden_input}
283
  <table class="form-table" cellpadding="5" cellspacing="2" width="100%">
284
  <tbody><tr class="form-field form-required">
285
- <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_quote">The quote:</label></th>
286
  <td><textarea id="quotescollection_quote" name="quote" rows="5" cols="50" style="width: 97%;">{$quote}</textarea></td>
287
  </tr>
288
  <tr class="form-field">
289
- <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_author">Author: <small>(optional)</small></label></th>
290
- <td><input type="text" id="quotescollection_author" name="author" size="40" value="{$author}" /></td>
 
 
 
 
291
  </tr>
292
  <tr class="form-field">
293
- <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_source">Source: <small>(optional)</small></label></th>
294
- <td><input type="text" id="quotescollection_source" name="source" size="40" value="{$source}" /></td>
295
  </tr>
296
  <tr>
297
- <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_visible">Visible?</label></th>
298
  <td><input type="checkbox" id="quotescollection_visible" name="visible"{$visible_selected} />
299
  </tr></tbody>
300
  </table>
@@ -307,41 +352,46 @@ EDITFORM;
307
  function quotescollection_changevisibility($quote_ids, $visibility = 'yes')
308
  {
309
  if(!$quote_ids)
310
- return "Nothing done!";
311
  global $wpdb;
312
  $sql = "UPDATE ".$wpdb->prefix."quotescollection
313
  SET visible = '".$visibility."',
314
  time_updated = NOW()
315
  WHERE quote_id IN (".implode(', ', $quote_ids).")";
316
  $wpdb->query($sql);
317
- return "Visibility status of selected quotes set to '{$visibility}'.";
318
  }
319
 
320
  function quotescollection_bulkdelete($quote_ids)
321
  {
322
  if(!$quote_ids)
323
- return "Nothing done!";
324
  global $wpdb;
325
  $sql = "DELETE FROM ".$wpdb->prefix."quotescollection
326
  WHERE quote_id IN (".implode(', ', $quote_ids).")";
327
  $wpdb->query($sql);
328
- return "Quote(s) deleted";
329
  }
330
 
331
 
332
 
333
  function quotescollection_quotes_management()
334
- {
335
- if($_REQUEST['submit'] == 'Add Quote') {
 
 
 
 
 
336
  extract($_REQUEST);
337
- $msg = quotescollection_addquote($quote, $author, $source, $visible);
338
  }
339
- else if($_REQUEST['submit'] == 'Save changes') {
340
  extract($_REQUEST);
341
- $msg = quotescollection_editquote($quote_id, $quote, $author, $source, $visible);
342
  }
343
  else if($_REQUEST['action'] == 'editquote') {
344
- $display .= "<div class=\"wrap\">\n<h2>Edit quote</h2>";
345
  $display .= quotescollection_editform($_REQUEST['id']);
346
  $display .= "</div>";
347
  echo $display;
@@ -351,15 +401,16 @@ function quotescollection_quotes_management()
351
  $msg = quotescollection_deletequote($_REQUEST['id']);
352
  }
353
  else if(isset($_REQUEST['bulkaction'])) {
354
- if($_REQUEST['bulkaction'] == "Delete")
355
  $msg = quotescollection_bulkdelete($_REQUEST['bulkcheck']);
356
- if($_REQUEST['bulkaction'] == "Make visible") {
357
  $msg = quotescollection_changevisibility($_REQUEST['bulkcheck'], 'yes');
358
  }
359
- if($_REQUEST['bulkaction'] == "Make invisible") {
360
  $msg = quotescollection_changevisibility($_REQUEST['bulkcheck'], 'no');
361
  }
362
  }
 
363
  $display .= "<div class=\"wrap\">";
364
 
365
  if($msg)
@@ -367,13 +418,11 @@ function quotescollection_quotes_management()
367
 
368
  $display .= "<h2>Quotes Collection</h2>";
369
 
370
- // anchor to add new quote
371
- $display .= "<p><a href=\"#addnew\"><strong>Add new quote</strong></a></p>";
372
 
373
  // Get all the quotes from the database
374
  global $wpdb;
375
 
376
- $sql = "SELECT quote_id, quote, author, source, visible
377
  FROM " . $wpdb->prefix . "quotescollection";
378
 
379
  if(isset($_REQUEST['orderby'])) {
@@ -400,57 +449,79 @@ function quotescollection_quotes_management()
400
  if($quote_data->author && $quote_data->source)
401
  $quotes_list .= " / ";
402
  $quotes_list .= $quote_data->source ."</td>";
 
403
  $quotes_list .= "<td>" . $quote_data->visible ."</td>";
404
- $quotes_list .= "<td><a href=\"" . $_SERVER['PHP_SELF'] . "?page=quotes-collection/quotes-collection.php&action=editquote&amp;id=".$quote_data->quote_id."\" class=\"edit\">Edit</a></td>
405
- <td><a href=\"" . $_SERVER['PHP_SELF'] . "?page=quotes-collection/quotes-collection.php&action=delquote&amp;id=".$quote_data->quote_id."\" onclick=\"return confirm( 'Are you sure you want to delete this quote?');\" class=\"delete\">Delete</a> </td>";
406
  $quotes_list .= "</tr>";
407
  }
408
 
409
  if($quotes_list) {
 
 
 
 
 
 
 
410
  $display .= "<form id=\"quotescollection\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}?page=quotes-collection/quotes-collection.php\">";
411
  $display .= "<div class=\"tablenav\">";
412
- $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"Delete\" class=\"button-secondary\" />";
413
- $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"Make visible\" class=\"button-secondary\" />";
414
- $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"Make invisible\" class=\"button-secondary\" />";
415
  $display .= "&nbsp;&nbsp;&nbsp;";
416
- $display .= "Sort by: ";
417
  $display .= "<select name=\"criteria\">";
418
- $display .= "<option value=\"quote_id\"{$option_selected['quote_id']}>Quote ID</option>";
419
- $display .= "<option value=\"quote\"{$option_selected['quote']}>Quote</option>";
420
- $display .= "<option value=\"author\"{$option_selected['author']}>Author</option>";
421
- $display .= "<option value=\"source\"{$option_selected['source']}>Source</option>";
422
- $display .= "<option value=\"time_added\"{$option_selected['time_added']}>Date added</option>";
423
- $display .= "<option value=\"time_updated\"{$option_selected['time_updated']}>Date updated</option>";
424
- $display .= "<option value=\"visible\"{$option_selected['visible']}>Visibility</option>";
425
  $display .= "</select>";
426
  $display .= "<select name=\"order\"><option{$option_selected['ASC']}>ASC</option><option{$option_selected['DESC']}>DESC</option></select>";
427
- $display .= "<input type=\"submit\" name=\"orderby\" value=\"Go\" class=\"button-secondary\" />";
428
  $display .= "</div>";
429
  $display .= "<br style=\"clear:both;\" />";
430
 
431
  $display .= "<table class=\"widefat\">";
432
- $display .= "<thead><tr><th class=\"check-column\"><input type=\"checkbox\" onclick=\"quotescollection_checkAll(document.getElementById('quotescollection'));\" /></th><th>ID</th><th>The quote</th><th>Author / Source</th><th>Visible?</th><th colspan=\"2\" style=\"text-align:center\">Action</th></tr></thead>";
 
 
 
 
 
 
 
 
 
433
  $display .= "<tbody id=\"the-list\">{$quotes_list}</tbody>";
434
  $display .= "</table>";
435
 
 
436
  $display .= "<div class=\"tablenav\">";
437
- $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"Delete\" class=\"button-secondary\" />";
438
- $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"Make visible\" class=\"button-secondary\" />";
439
- $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"Make invisible\" class=\"button-secondary\" />";
 
 
440
  $display .= "</div>";
441
  $display .= "</form>";
442
  $display .= "<br style=\"clear:both;\" />";
443
 
444
  }
445
  else
446
- $display .= "<p>No quotes in the database</p>";
 
 
447
 
448
  $display .= "</div>";
449
 
450
- $display .= "<div id=\"addnew\" class=\"wrap\">\n<h2>Add new quote</h2>";
451
  $display .= quotescollection_editform();
452
  $display .= "</div>";
453
-
454
 
455
  echo $display;
456
 
@@ -478,28 +549,50 @@ add_action('admin_head', 'quotescollection_admin_head');
478
 
479
  function quotescollection_install()
480
  {
481
- global $wpdb;
482
- $table_name = $wpdb->prefix . "quotescollection";
483
- if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name)
484
- {
485
- //Creating the table
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
486
  $sql = "CREATE TABLE " . $table_name . " (
487
  quote_id mediumint(9) NOT NULL AUTO_INCREMENT,
488
- quote text NOT NULL,
489
- author varchar(255),
490
- source varchar(255),
 
491
  visible enum('yes', 'no') DEFAULT 'yes' NOT NULL,
492
  time_added datetime NOT NULL,
493
  time_updated datetime,
494
  PRIMARY KEY (quote_id)
495
- );";
496
  $results = $wpdb->query( $sql );
497
- }
498
- $query = "ALTER TABLE `{$table_name}` charset=utf8";
499
- $wpdb->query($query);
500
- $query = "ALTER TABLE `{$table_name}` MODIFY `quote` TEXT CHARACTER SET utf8, MODIFY `author` TEXT CHARACTER SET utf8, MODIFY `source` TEXT CHARACTER SET utf8";
501
- $wpdb->query($query);
502
-
503
 
504
  }
505
 
@@ -520,14 +613,14 @@ function quotescollection_displayquote($quote_id = 0)
520
  $quote_data = $wpdb->get_row($sql, ARRAY_A);
521
  if ( !empty($quote_data) ) {
522
  $display = "<blockquote class=\"quotescollection\"><q>".wptexturize(nl2br($quote_data['quote']))."</q>";
523
- if($quote_data['author'] || $quote_data['source'])
524
- $display .= " &mdash;&nbsp;";
525
  if($quote_data['author'])
526
- $display .= "<cite>{$quote_data['author']}</cite> ";
527
  if($quote_data['source']) {
528
- $display .="<cite>from {$quote_data['source']}</cite>";
 
529
  }
530
- $display .= "</blockquote>";
 
531
  return $display;
532
  }
533
  else
@@ -544,8 +637,8 @@ function quotescollection_displayquotes($source = "")
544
  if(!$source) {
545
  $sql .= "ORDER BY quote";
546
  }
547
- else if($source == "Anonymous") {
548
- $sql .= "AND (author = '' OR author ='Anonymous')";
549
  }
550
  else {
551
  $sql .= "AND (source = '{$source}' OR author = '{$source}')";
@@ -554,14 +647,15 @@ function quotescollection_displayquotes($source = "")
554
  if ( !empty($quotes) ) {
555
  foreach($quotes as $quote_data) {
556
  $display .= "<blockquote class=\"quotescollection\"><q>".wptexturize(nl2br($quote_data['quote']))."</q>";
557
- if($quote_data['author'] || $quote_data['source'])
558
- $display .= " &mdash;&nbsp;";
559
  if($quote_data['author'])
560
- $display .= "<cite>{$quote_data['author']}</cite> ";
561
  if($quote_data['source']) {
562
- $display .="<cite>from {$quote_data['source']}</cite>";
 
563
  }
564
- $display .= "</blockquote>";
 
565
  }
566
  return $display;
567
  }
@@ -569,7 +663,40 @@ function quotescollection_displayquotes($source = "")
569
  return "";
570
  }
571
 
572
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
573
 
574
  function quotescollection_inpost( $text ) {
575
  $start = strpos($text,"[quote|id=");
@@ -586,13 +713,16 @@ function quotescollection_inpost( $text ) {
586
  }
587
  $start = strpos($text,"[quote|author=");
588
  if($start !== FALSE) {
589
- $text = preg_replace("/\[quote\|author=(.{1,})?\]/ie", "quotescollection_displayquotes('\\1')", $text);
590
  }
591
  $start = strpos($text,"[quote|source=");
592
  if($start !== FALSE) {
593
- $text = preg_replace("/\[quote\|source=(.{1,})?\]/ie", "quotescollection_displayquotes('\\1')", $text);
594
  }
595
- return $text;
 
 
 
596
  }
597
 
598
  function quotescollection_css_head()
@@ -602,13 +732,13 @@ function quotescollection_css_head()
602
  <?php
603
  }
604
 
 
605
  add_action('wp_head', 'quotescollection_css_head' );
606
 
607
 
608
  add_filter('the_content', 'quotescollection_inpost', 7);
609
  add_filter('the_excerpt', 'quotescollection_inpost', 7);
610
-
611
- add_action('activate_quotes-collection/quotes-collection.php', 'quotescollection_install');
612
  add_action('admin_menu', 'quotescollection_admin_menu');
613
  add_action('plugins_loaded', 'quotescollection_init');
614
  ?>
4
  Plugin URI: http://srinig.com/wordpress/plugins/quotes-collection/
5
  Description: Quotes Collection plugin with Ajax powered Random Quote sidebar widget helps you collect and display your favourite quotes on your WordPress blog.
6
  Author: Srini G
7
+ Version: 1.1.4
8
  Author URI: http://srinig.com/wordpress/
9
  */
10
  /* Released under GPL:
12
  */
13
 
14
 
15
+
16
+ $quotescollection_admin_userlevel = 2;
17
+ // Refer http://codex.wordpress.org/Roles_and_Capabilities
18
+
19
+
20
+ $quotescollection_db_version = '1.1';
21
+
22
+
23
  function quotescollection_get_randomquote($exclude = 0)
24
  {
25
  global $wpdb;
54
 
55
  // Define custom JavaScript function
56
  ?>
57
+ <!-- Quotes Collection -->
58
  <script type="text/javascript" src="<?php bloginfo( 'wpurl' ); ?>/wp-content/plugins/quotes-collection/quotes-collection-ajax.php?js"></script>
59
+ <script type="text/javascript" language="JavaScript">
60
+ quotcoll_nextquote = '<?php _e('Next quote', 'quotes-collection'); ?>';
61
+ quotcoll_loading = '<?php _e('Loading...', 'quotes-collection'); ?>';
62
+ quotcoll_error = '<?php _e('Error getting quote', 'quotes-collection'); ?>';
63
+ </script>
64
+ <?php
65
+ } // end of PHP function quotescollection_js_head
66
  add_action('wp_head', 'quotescollection_js_head' );
67
 
68
 
69
 
70
 
71
+ function quotescollection_display_randomquote($show_author = 1, $show_source = 1, $ajax_refresh = 1, $random_quote = array())
72
  {
73
  global $quotescollection_instances;
74
  if(!($instance = $quotescollection_instances))
78
  return;
79
  }
80
  $display = "<p><q>". wptexturize(str_replace(array("\r\n", "\r", "\n"), '', nl2br($random_quote['quote']))) ."</q>";
 
 
81
  if($show_author && $random_quote['author'])
82
+ $cite = $random_quote['author'];
83
+ if($show_source && $random_quote['source']) {
84
+ if($cite) $cite .= ", ";
85
+ $cite .= $random_quote['source'];
86
+ }
87
+ if($cite) $cite = " <cite>&mdash;&nbsp;{$cite}</cite>";
88
+ $display .= $cite."</p>";
89
 
90
  // We don't want to display the 'next quote' link if there is no more than 1 quote
91
  $quotes_count = quotescollection_count("WHERE visible='yes'");
92
 
93
  if($ajax_refresh == 1 && $quotes_count > 1) {
94
  $display .= "<script type=\"text/javascript\">\n<!--\ndocument.write(\"";
95
+ $display .= '<p id=\"quotescollection_nextquote-'.$instance.'\"><a style=\"cursor:pointer\" onclick=\"quotescollection_refresh('.$instance.', '.$random_quote["quote_id"].', '. $show_author .', '.$show_source.');\">'.__('Next quote', 'quotes-collection').' &raquo;</a></p>';
96
  $display .= "\")\n//-->\n</script>\n";
97
  }
98
  if ($ajax_refresh == 2 && $quotes_count > 1) {
99
+ $display = addslashes($display);
100
+ $display .= "<p id=\"quotescollection_nextquote-".$_REQUEST['refresh']."\"><a style=\"cursor:pointer\" onclick=\"quotescollection_refresh(".$_REQUEST['refresh'].", ".$random_quote['quote_id'].', '. $show_author .', '.$show_source.");\">".__('Next quote', 'quotes-collection')." &raquo;</a></p>";
101
  return $display;
102
  }
103
  $display = "<div id=\"quotescollection_randomquote-".$instance."\" class=\"quotescollection_randomquote\">{$display}</div>";
108
 
109
  function quotescollection_init()
110
  {
111
+ if(function_exists('load_plugin_textdomain'))
112
+ load_plugin_textdomain('quotes-collection', 'wp-content/plugins/quotes-collection/languages/');
113
+
114
  if ( !function_exists('register_sidebar_widget') || !function_exists('register_widget_control') )
115
  return;
116
 
117
  function quotescollection_widget($args) {
118
  if($random_quote = quotescollection_get_randomquote()) {
119
  $options = get_option('quotescollection');
120
+ $title = isset($options['title'])?apply_filters('the_title', $options['title']):__('Random Quote', 'quotes-collection');
121
  $show_author = isset($options['show_author'])?$options['show_author']:1;
122
  $show_source = isset($options['show_source'])?$options['show_source']:1;
123
  $ajax_refresh = isset($options['ajax_refresh'])?$options['ajax_refresh']:1;
134
 
135
  // default values for options
136
  $options = array(
137
+ 'title' => __('Random Quote', 'quotes-collection'),
138
  'show_author' => 1,
139
  'show_source' => 0,
140
  'ajax_refresh' => 1,
161
  $show_source_checked = ' checked="checked"';
162
  if($options['ajax_refresh'])
163
  $ajax_refresh_checked = ' checked="checked"';
164
+ echo "<p style=\"text-align:left;\"><label for=\"quotescollection-title\">".__('Title', 'quotes-collection').": </label><input class=\"widefat\" type=\"text\" id=\"quotescollection-title\" name=\"quotescollection-title\" value=\"".htmlspecialchars($options['title'], ENT_QUOTES)."\" /></p>";
165
+ echo "<p style=\"text-align:left;\"><input type=\"checkbox\" id=\"quotescollection-show_author\" name=\"quotescollection-show_author\" value=\"1\"{$show_author_checked} /> <label for=\"quotescollection-show_author\">".__('Show author?', 'quotes-collection')."</label></p>";
166
+ echo "<p style=\"text-align:left;\"><input type=\"checkbox\" id=\"quotescollection-show_source\" name=\"quotescollection-show_source\" value=\"1\"{$show_source_checked} /> <label for=\"quotescollection-show_source\">".__('Show source?', 'quotes-collection')."</label></p>";
167
+ echo "<p style=\"text-align:left;\"><input type=\"checkbox\" id=\"quotescollection-ajax_refresh\" name=\"quotescollection-ajax_refresh\" value=\"1\"{$ajax_refresh_checked} /> <label for=\"quotescollection-ajax_refresh\">".__('Ajax refresh feature', 'quotes-collection')."</label></p>";
168
  echo "<input type=\"hidden\" id=\"quotescollection-submit\" name=\"quotescollection-submit\" value=\"1\" />";
169
+ echo "<p style=\"text-align:left;\">".__('Manage your collection of quotes at', 'quotes-collection')."<br /><a href=\"edit.php?page=quotes-collection/quotes-collection.php\">".__('Manage')."->Quotes Collection</a></p>";
170
  }
171
 
172
 
177
 
178
  function quotescollection_admin_menu()
179
  {
180
+ global $quotescollection_admin_userlevel;
181
+ add_management_page('Quotes Collection', 'Quotes Collection', $quotescollection_admin_userlevel, __FILE__, 'quotescollection_quotes_management');
182
  }
183
 
184
+ function quotescollection_addquote($quote, $author = "", $source = "", $tags = "", $visible = 'yes')
185
  {
186
+ if(!$quote) return __('Nothing added to the database.', 'quotes-collection');
187
  global $wpdb;
188
  $table_name = $wpdb->prefix . "quotescollection";
189
  if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name)
190
+ return __('Database table not found', 'quotes-collection');
191
  else //Add the quote data to the database
192
  {
193
 
195
  $quote = stripslashes($quote);
196
  $author = stripslashes($author);
197
  $source = stripslashes($source);
198
+ $tags = stripslashes($tags);
199
  }
200
  $quote = "'".$wpdb->escape($quote)."'";
201
  $author = $author?"'".$wpdb->escape($author)."'":"NULL";
202
  $source = $source?"'".$wpdb->escape($source)."'":"NULL";
203
+ $tags = explode(',', $tags);
204
+ foreach ($tags as $key => $tag)
205
+ $tags[$key] = trim($tag);
206
+ $tags = implode(',', $tags);
207
+ $tags = $tags?"'".$wpdb->escape($tags)."'":"NULL";
208
  if(!$visible) $visible = "'no'";
209
  else $visible = "'yes'";
210
  $insert = "INSERT INTO " . $table_name .
211
+ "(quote, author, source, tags, visible, time_added)" .
212
+ "VALUES ({$quote}, {$author}, {$source}, {$tags}, {$visible}, NOW())";
213
  $results = $wpdb->query( $insert );
214
  if(FALSE === $results)
215
+ return __('There was an error in the MySQL query', 'quotes-collection');
216
  else
217
+ return __('Quote added', 'quotes-collection');
218
  }
219
  }
220
 
221
+ function quotescollection_editquote($quote_id, $quote, $author = "", $source = "", $tags = "", $visible = 'yes')
222
  {
223
+ if(!$quote) return __('Quote not updated.', 'quotes-collection');
224
  if(!$quote_id) return srgq_addquote($quote, $author, $source, $visible);
225
  global $wpdb;
226
  $table_name = $wpdb->prefix . "quotescollection";
227
  if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name)
228
+ return __('Database table not found', 'quotes-collection');
229
  else //Update database
230
  {
231
 
233
  $quote = stripslashes($quote);
234
  $author = stripslashes($author);
235
  $source = stripslashes($source);
236
+ $tags = stripslashes($tags);
237
  }
238
  $quote = "'".$wpdb->escape($quote)."'";
239
  $author = $author?"'".$wpdb->escape($author)."'":"NULL";
240
  $source = $source?"'".$wpdb->escape($source)."'":"NULL";
241
+ $tags = explode(',', $tags);
242
+ foreach ($tags as $key => $tag)
243
+ $tags[$key] = trim($tag);
244
+ $tags = implode(',', $tags);
245
+ $tags = $tags?"'".$wpdb->escape($tags)."'":"NULL";
246
  if(!$visible) $visible = "'no'";
247
  else $visible = "'yes'";
248
  $update = "UPDATE " . $table_name . "
249
  SET quote = {$quote},
250
  author = {$author},
251
  source = {$source},
252
+ tags = {$tags},
253
  visible = {$visible},
254
  time_updated = NOW()
255
  WHERE quote_id = $quote_id";
256
  $results = $wpdb->query( $update );
257
  if(FALSE === $results)
258
+ return __('There was an error in the MySQL query', 'quotes-collection');
259
  else
260
+ return __('Changes saved', 'quotes-collection');
261
  }
262
  }
263
 
269
  $sql = "DELETE from " . $wpdb->prefix ."quotescollection" .
270
  " WHERE quote_id = " . $quote_id;
271
  if(FALSE === $wpdb->query($sql))
272
+ return __('There was an error in the MySQL query', 'quotes-collection');
273
  else
274
+ return __('Quote deleted', 'quotes-collection');
275
  }
276
+ else return __('The quote cannot be deleted', 'quotes-collection');
277
  }
278
 
279
  function quotescollection_getquotedata($quote_id)
280
  {
281
  global $wpdb;
282
+ $sql = "SELECT quote_id, quote, author, source, tags, visible
283
  FROM " . $wpdb->prefix . "quotescollection
284
  WHERE quote_id = {$quote_id}";
285
  $quote_data = $wpdb->get_row($sql, ARRAY_A);
289
  function quotescollection_editform($quote_id = 0)
290
  {
291
  $visible_selected = " checked=\"checked\"";
292
+ $submit_value = __('Add Quote', 'quotes-collection');
293
  $form_name = "addquote";
294
+ $action_url = $_SERVER['PHP_SELF']."?page=quotes-collection/quotes-collection.php#addnew";
295
 
296
  if($quote_id) {
297
  $form_name = "editquote";
299
  foreach($quote_data as $key => $value)
300
  $quote_data[$key] = $quote_data[$key];
301
  extract($quote_data);
302
+ $quote = htmlspecialchars($quote);
303
+ $author = htmlspecialchars($author);
304
+ $source = htmlspecialchars($source);
305
+ $tags = implode(', ', explode(',', $tags));
306
  $hidden_input = "<input type=\"hidden\" name=\"quote_id\" value=\"{$quote_id}\" />";
307
  if($visible == 'no') $visible_selected = "";
308
+ $submit_value = __('Save changes', 'quotes-collection');
309
+ $back = "<input type=\"submit\" name=\"submit\" value=\"".__('Back', 'quotes-collection')."\" />&nbsp;";
310
+ $action_url = $_SERVER['PHP_SELF']."?page=quotes-collection/quotes-collection.php";
311
  }
312
 
313
+ $quote_label = __('The quote', 'quotes-collection');
314
+ $author_label = __('Author', 'quotes-collection');
315
+ $source_label = __('Source', 'quotes-collection');
316
+ $tags_label = __('Tags', 'quotes-collection');
317
+ $visible_label = __('Visible?', 'quotes-collection');
318
+ $optional_text = __('optional', 'quotes-collection');
319
+ $comma_separated_text = __('comma separated', 'quotes-collection');
320
 
321
  $display .=<<< EDITFORM
322
+ <form name="{$form_name}" method="post" action="{$action_url}">
323
  {$hidden_input}
324
  <table class="form-table" cellpadding="5" cellspacing="2" width="100%">
325
  <tbody><tr class="form-field form-required">
326
+ <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_quote">{$quote_label}:</label></th>
327
  <td><textarea id="quotescollection_quote" name="quote" rows="5" cols="50" style="width: 97%;">{$quote}</textarea></td>
328
  </tr>
329
  <tr class="form-field">
330
+ <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_author">{$author_label}:</label></th>
331
+ <td><input type="text" id="quotescollection_author" name="author" size="40" value="{$author}" /> <small>({$optional_text})</small></td>
332
+ </tr>
333
+ <tr class="form-field">
334
+ <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_source">{$source_label}:</label></th>
335
+ <td><input type="text" id="quotescollection_source" name="source" size="40" value="{$source}" /> <small>({$optional_text})</small></td>
336
  </tr>
337
  <tr class="form-field">
338
+ <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_tags">{$tags_label}:</label></th>
339
+ <td><input type="text" id="quotescollection_tags" name="tags" size="40" value="{$tags}" /> <small>({$optional_text}, {$comma_separated_text})</small></td>
340
  </tr>
341
  <tr>
342
+ <th style="text-align:left;" scope="row" valign="top"><label for="quotescollection_visible">{$visible_label}</label></th>
343
  <td><input type="checkbox" id="quotescollection_visible" name="visible"{$visible_selected} />
344
  </tr></tbody>
345
  </table>
352
  function quotescollection_changevisibility($quote_ids, $visibility = 'yes')
353
  {
354
  if(!$quote_ids)
355
+ return __('Nothing done!', 'quotes-collection');
356
  global $wpdb;
357
  $sql = "UPDATE ".$wpdb->prefix."quotescollection
358
  SET visible = '".$visibility."',
359
  time_updated = NOW()
360
  WHERE quote_id IN (".implode(', ', $quote_ids).")";
361
  $wpdb->query($sql);
362
+ return sprintf(__("Visibility status of selected quotes set to '%s'", 'quotes-collection'), $visibility);
363
  }
364
 
365
  function quotescollection_bulkdelete($quote_ids)
366
  {
367
  if(!$quote_ids)
368
+ return __('Nothing done!', 'quotes-collection');
369
  global $wpdb;
370
  $sql = "DELETE FROM ".$wpdb->prefix."quotescollection
371
  WHERE quote_id IN (".implode(', ', $quote_ids).")";
372
  $wpdb->query($sql);
373
+ return __('Quote(s) deleted', 'quotes-collection');
374
  }
375
 
376
 
377
 
378
  function quotescollection_quotes_management()
379
+ {
380
+ global $quotescollection_db_version;
381
+ $options = get_option('quotescollection');
382
+ if($options['db_version'] != $quotescollection_db_version )
383
+ quotescollection_install();
384
+
385
+ if($_REQUEST['submit'] == __('Add Quote', 'quotes-collection')) {
386
  extract($_REQUEST);
387
+ $msg = quotescollection_addquote($quote, $author, $source, $tags, $visible);
388
  }
389
+ else if($_REQUEST['submit'] == __('Save changes', 'quotes-collection')) {
390
  extract($_REQUEST);
391
+ $msg = quotescollection_editquote($quote_id, $quote, $author, $source, $tags, $visible);
392
  }
393
  else if($_REQUEST['action'] == 'editquote') {
394
+ $display .= "<div class=\"wrap\">\n<h2>".__('Edit quote', 'quotes-collection')."</h2>";
395
  $display .= quotescollection_editform($_REQUEST['id']);
396
  $display .= "</div>";
397
  echo $display;
401
  $msg = quotescollection_deletequote($_REQUEST['id']);
402
  }
403
  else if(isset($_REQUEST['bulkaction'])) {
404
+ if($_REQUEST['bulkaction'] == __('Delete', 'quotes-collection'))
405
  $msg = quotescollection_bulkdelete($_REQUEST['bulkcheck']);
406
+ if($_REQUEST['bulkaction'] == __('Make visible', 'quotes-collection')) {
407
  $msg = quotescollection_changevisibility($_REQUEST['bulkcheck'], 'yes');
408
  }
409
+ if($_REQUEST['bulkaction'] == __('Make invisible', 'quotes-collection')) {
410
  $msg = quotescollection_changevisibility($_REQUEST['bulkcheck'], 'no');
411
  }
412
  }
413
+
414
  $display .= "<div class=\"wrap\">";
415
 
416
  if($msg)
418
 
419
  $display .= "<h2>Quotes Collection</h2>";
420
 
 
 
421
 
422
  // Get all the quotes from the database
423
  global $wpdb;
424
 
425
+ $sql = "SELECT quote_id, quote, author, source, tags, visible
426
  FROM " . $wpdb->prefix . "quotescollection";
427
 
428
  if(isset($_REQUEST['orderby'])) {
449
  if($quote_data->author && $quote_data->source)
450
  $quotes_list .= " / ";
451
  $quotes_list .= $quote_data->source ."</td>";
452
+ $quotes_list .= "<td>" . implode(', ', explode(',', $quote_data->tags)) . "</td>";
453
  $quotes_list .= "<td>" . $quote_data->visible ."</td>";
454
+ $quotes_list .= "<td><a href=\"" . $_SERVER['PHP_SELF'] . "?page=quotes-collection/quotes-collection.php&action=editquote&amp;id=".$quote_data->quote_id."\" class=\"edit\">".__('Edit', 'quotes-collection')."</a></td>
455
+ <td><a href=\"" . $_SERVER['PHP_SELF'] . "?page=quotes-collection/quotes-collection.php&action=delquote&amp;id=".$quote_data->quote_id."\" onclick=\"return confirm( '".__('Are you sure you want to delete this quote?', 'quotes-collection')."');\" class=\"delete\">".__('Delete', 'quotes-collection')."</a> </td>";
456
  $quotes_list .= "</tr>";
457
  }
458
 
459
  if($quotes_list) {
460
+ $display .= "<p>";
461
+ $quotes_count = quotescollection_count();
462
+ $display .= sprintf(__ngettext('Currently, you have %d quote.', 'Currently, you have %d quotes.', $quotes_count, 'quotes-collection'), $quotes_count);
463
+ // anchor to add new quote
464
+ $display .= " (<a href=\"#addnew\"><strong>".__('Add new quote', 'quotes-collection')."</strong></a>)";
465
+ $display .= "</p>";
466
+
467
  $display .= "<form id=\"quotescollection\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}?page=quotes-collection/quotes-collection.php\">";
468
  $display .= "<div class=\"tablenav\">";
469
+ $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"".__('Delete', 'quotes-collection')."\" class=\"button-secondary\" />";
470
+ $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"".__('Make visible', 'quotes-collection')."\" class=\"button-secondary\" />";
471
+ $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"".__('Make invisible', 'quotes-collection')."\" class=\"button-secondary\" />";
472
  $display .= "&nbsp;&nbsp;&nbsp;";
473
+ $display .= __('Sort by: ', 'quotes-collection');
474
  $display .= "<select name=\"criteria\">";
475
+ $display .= "<option value=\"quote_id\"{$option_selected['quote_id']}>".__('Quote', 'quotes-collection')." ID</option>";
476
+ $display .= "<option value=\"quote\"{$option_selected['quote']}>".__('Quote', 'quotes-collection')."</option>";
477
+ $display .= "<option value=\"author\"{$option_selected['author']}>".__('Author', 'quotes-collection')."</option>";
478
+ $display .= "<option value=\"source\"{$option_selected['source']}>".__('Source', 'quotes-collection')."</option>";
479
+ $display .= "<option value=\"time_added\"{$option_selected['time_added']}>".__('Date added', 'quotes-collection')."</option>";
480
+ $display .= "<option value=\"time_updated\"{$option_selected['time_updated']}>".__('Date updated', 'quotes-collection')."</option>";
481
+ $display .= "<option value=\"visible\"{$option_selected['visible']}>".__('Visibility', 'quotes-collection')."</option>";
482
  $display .= "</select>";
483
  $display .= "<select name=\"order\"><option{$option_selected['ASC']}>ASC</option><option{$option_selected['DESC']}>DESC</option></select>";
484
+ $display .= "<input type=\"submit\" name=\"orderby\" value=\"".__('Go', 'quotes-collection')."\" class=\"button-secondary\" />";
485
  $display .= "</div>";
486
  $display .= "<br style=\"clear:both;\" />";
487
 
488
  $display .= "<table class=\"widefat\">";
489
+ $display .= "<thead><tr>
490
+ <th class=\"check-column\"><input type=\"checkbox\" onclick=\"quotescollection_checkAll(document.getElementById('quotescollection'));\" /></th>
491
+ <th>ID</th><th>".__('The quote', 'quotes-collection')."</th>
492
+ <th>
493
+ ".__('Author', 'quotes-collection')." / ".__('Source', 'quotes-collection')."
494
+ </th>
495
+ <th>".__('Tags', 'quotes-collection')."</th>
496
+ <th>".__('Visible?', 'quotes-collection')."</th>
497
+ <th colspan=\"2\" style=\"text-align:center\">".__('Action', 'quotes-collection')."</th>
498
+ </tr></thead>";
499
  $display .= "<tbody id=\"the-list\">{$quotes_list}</tbody>";
500
  $display .= "</table>";
501
 
502
+
503
  $display .= "<div class=\"tablenav\">";
504
+
505
+ $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"".__('Delete', 'quotes-collection')."\" class=\"button-secondary\" />";
506
+ $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"".__('Make visible', 'quotes-collection')."\" class=\"button-secondary\" />";
507
+ $display .= "<input type=\"submit\" name=\"bulkaction\" value=\"".__('Make invisible', 'quotes-collection')."\" class=\"button-secondary\" />";
508
+
509
  $display .= "</div>";
510
  $display .= "</form>";
511
  $display .= "<br style=\"clear:both;\" />";
512
 
513
  }
514
  else
515
+ $display .= "<p>".__('No quotes in the database', 'quotes-collection')."</p>";
516
+
517
+
518
 
519
  $display .= "</div>";
520
 
521
+ $display .= "<div id=\"addnew\" class=\"wrap\">\n<h2>".__('Add new quote', 'quotes-collection')."</h2>";
522
  $display .= quotescollection_editform();
523
  $display .= "</div>";
524
+
525
 
526
  echo $display;
527
 
549
 
550
  function quotescollection_install()
551
  {
552
+ global $wpdb;
553
+ $table_name = $wpdb->prefix . "quotescollection";
554
+
555
+ if(!defined('DB_CHARSET') || !($db_charset = DB_CHARSET))
556
+ $db_charset = 'utf8';
557
+ $db_charset = "CHARACTER SET ".$db_charset;
558
+ if(defined('DB_COLLATE') && $db_collate = DB_COLLATE)
559
+ $db_collate = "COLLATE ".$db_collate;
560
+
561
+
562
+ // if table name already exists
563
+ if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") == $table_name) {
564
+ $wpdb->query("ALTER TABLE `{$table_name}` {$db_charset} {$db_collate}");
565
+
566
+ $wpdb->query("ALTER TABLE `{$table_name}` MODIFY quote TEXT {$db_charset} {$db_collate}");
567
+
568
+ $wpdb->query("ALTER TABLE `{$table_name}` MODIFY author VARCHAR(255) {$db_charset} {$db_collate}");
569
+
570
+ $wpdb->query("ALTER TABLE `{$table_name}` MODIFY source VARCHAR(255) {$db_charset} {$db_collate}");
571
+
572
+ if(!($wpdb->get_results("SHOW COLUMNS FROM {$table_name} LIKE 'tags'"))) {
573
+ $wpdb->query("ALTER TABLE `{$table_name}` ADD `tags` VARCHAR(255) {$db_charset} {$db_collate} AFTER `source`");
574
+ }
575
+ }
576
+ else {
577
+ //Creating the table ... fresh!
578
  $sql = "CREATE TABLE " . $table_name . " (
579
  quote_id mediumint(9) NOT NULL AUTO_INCREMENT,
580
+ quote TEXT NOT NULL,
581
+ author VARCHAR(255),
582
+ source VARCHAR(255),
583
+ tags VARCHAR(255),
584
  visible enum('yes', 'no') DEFAULT 'yes' NOT NULL,
585
  time_added datetime NOT NULL,
586
  time_updated datetime,
587
  PRIMARY KEY (quote_id)
588
+ ) {$db_charset} {$db_collate};";
589
  $results = $wpdb->query( $sql );
590
+ }
591
+
592
+ global $quotescollection_db_version;
593
+ $options = get_option('quotescollection');
594
+ $options['db_version'] = $quotescollection_db_version;
595
+ update_option('quotescollection', $options);
596
 
597
  }
598
 
613
  $quote_data = $wpdb->get_row($sql, ARRAY_A);
614
  if ( !empty($quote_data) ) {
615
  $display = "<blockquote class=\"quotescollection\"><q>".wptexturize(nl2br($quote_data['quote']))."</q>";
 
 
616
  if($quote_data['author'])
617
+ $cite = $quote_data['author'];
618
  if($quote_data['source']) {
619
+ if($cite) $cite .= ", ";
620
+ $cite .= $quote_data['source'];
621
  }
622
+ if($cite) $cite = " <cite>&mdash;&nbsp;{$cite}</cite>";
623
+ $display .= $cite."</blockquote>";
624
  return $display;
625
  }
626
  else
637
  if(!$source) {
638
  $sql .= "ORDER BY quote";
639
  }
640
+ else if($source == "Anonymous" || $source == "anonymous") {
641
+ $sql .= "AND (author IS NULL OR author = '' OR author ='Anonymous')";
642
  }
643
  else {
644
  $sql .= "AND (source = '{$source}' OR author = '{$source}')";
647
  if ( !empty($quotes) ) {
648
  foreach($quotes as $quote_data) {
649
  $display .= "<blockquote class=\"quotescollection\"><q>".wptexturize(nl2br($quote_data['quote']))."</q>";
650
+ $cite = "";
 
651
  if($quote_data['author'])
652
+ $cite = $quote_data['author'];
653
  if($quote_data['source']) {
654
+ if($cite) $cite .= ", ";
655
+ $cite .= $quote_data['source'];
656
  }
657
+ if($cite) $cite = " <cite>&mdash;&nbsp;{$cite}</cite>";
658
+ $display .= $cite."</blockquote>";
659
  }
660
  return $display;
661
  }
663
  return "";
664
  }
665
 
666
+ function quotescollection_displayquotes_tags($tags = "")
667
+ {
668
+ global $wpdb;
669
+ $tags = html_entity_decode($tags);
670
+ if(!$tags)
671
+ return "";
672
+ $taglist = explode(',', $tags);
673
+ foreach($taglist as $tag) {
674
+ $tag = trim($tag);
675
+ if($sql_condition) $sql_condition .= " OR ";
676
+ $sql_condition .= "tags = '{$tag}' OR tags LIKE '{$tag},%' OR tags LIKE '%,{$tag},%' OR tags LIKE '%,{$tag}'";
677
+ }
678
+ $sql = "SELECT quote_id, quote, author, source
679
+ FROM " . $wpdb->prefix . "quotescollection
680
+ WHERE visible = 'yes' AND ({$sql_condition})";
681
+ $quotes = $wpdb->get_results($sql, ARRAY_A);
682
+ if ( !empty($quotes) ) {
683
+ foreach($quotes as $quote_data) {
684
+ $display .= "<blockquote class=\"quotescollection\"><q>".wptexturize(nl2br($quote_data['quote']))."</q>";
685
+ $cite = "";
686
+ if($quote_data['author'])
687
+ $cite = $quote_data['author'];
688
+ if($quote_data['source']) {
689
+ if($cite) $cite .= ", ";
690
+ $cite .= $quote_data['source'];
691
+ }
692
+ if($cite) $cite = " <cite>&mdash;&nbsp;{$cite}</cite>";
693
+ $display .= $cite."</blockquote>";
694
+ }
695
+ return $display;
696
+ }
697
+ else
698
+ return "";
699
+ }
700
 
701
  function quotescollection_inpost( $text ) {
702
  $start = strpos($text,"[quote|id=");
713
  }
714
  $start = strpos($text,"[quote|author=");
715
  if($start !== FALSE) {
716
+ $text = preg_replace("/\[quote\|author=(.{1,})?\]/ie", "quotescollection_displayquotes(\"\\1\")", $text);
717
  }
718
  $start = strpos($text,"[quote|source=");
719
  if($start !== FALSE) {
720
+ $text = preg_replace("/\[quote\|source=(.{1,})?\]/ie", "quotescollection_displayquotes(\"\\1\")", $text);
721
  }
722
+ $start = strpos($text,"[quote|tags=");
723
+ if($start !== FALSE) {
724
+ $text = preg_replace("/\[quote\|tags=(.{1,})?\]/ie", "quotescollection_displayquotes_tags(\"\\1\")", $text);
725
+ } return $text;
726
  }
727
 
728
  function quotescollection_css_head()
732
  <?php
733
  }
734
 
735
+
736
  add_action('wp_head', 'quotescollection_css_head' );
737
 
738
 
739
  add_filter('the_content', 'quotescollection_inpost', 7);
740
  add_filter('the_excerpt', 'quotescollection_inpost', 7);
741
+ register_activation_hook( __FILE__, 'quotescollection_install' );
 
742
  add_action('admin_menu', 'quotescollection_admin_menu');
743
  add_action('plugins_loaded', 'quotescollection_init');
744
  ?>
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: SriniG
3
  Donate link: http://srinig.com/wordpress/plugins/quotes-collection/#donate
4
  Tags: quotes collection, quotes, quotations, random quote, sidebar, widget, ajax
5
  Requires at least: 2.1
6
- Tested up to: 2.5
7
  Stable tag: trunk
8
 
9
  Quotes Collection plugin with Ajax powered Random Quote sidebar widget helps you collect and display your favourite quotes on your WordPress blog.
@@ -16,14 +16,17 @@ Main features and notes:
16
 
17
  * Random Quote sidebar widget with Ajax refresh feature -- you will be able to get another random quote on the same space without refreshing the web page. This refresh feature can be optionally turned off. The widget also comes with few other options in the widget control panel.
18
  * A nice admin interface to add, edit and manage quotes.
19
- * Additional information that can be provided along with the quote: quote author, source (e.g., a book, or a website URL) and visibility.
20
- * Quotes can be displayed in a page using one of the tags below.
21
- * The tag `[quote|all]` displays all quotes.
22
  * `[quote|author=Somebody]` displays quotes authored by Somebody.
23
  * `[quote|source=Something]` displays quotes with source as ‘Something’
 
 
24
  * `[quote|id=3]` displays quote with ID 3
25
  * `[quote|random]` displays a random quote
26
- * The code `<?php quotescollection_display_randomquote() ?>` can be used to display a random quote in places other than sidebar.
 
27
 
28
  == Installation ==
29
 
@@ -34,7 +37,7 @@ Main features and notes:
34
 
35
  == Screenshots ==
36
 
37
- 1. Admin interface (with WP 2.5)
38
  2. ‘Random Quote’ widget options
39
  3. Random quote as can be seen in the sidebar of [srinig.com](http://srinig.com/)
40
 
3
  Donate link: http://srinig.com/wordpress/plugins/quotes-collection/#donate
4
  Tags: quotes collection, quotes, quotations, random quote, sidebar, widget, ajax
5
  Requires at least: 2.1
6
+ Tested up to: 2.5.1
7
  Stable tag: trunk
8
 
9
  Quotes Collection plugin with Ajax powered Random Quote sidebar widget helps you collect and display your favourite quotes on your WordPress blog.
16
 
17
  * Random Quote sidebar widget with Ajax refresh feature -- you will be able to get another random quote on the same space without refreshing the web page. This refresh feature can be optionally turned off. The widget also comes with few other options in the widget control panel.
18
  * A nice admin interface to add, edit and manage quotes.
19
+ * Additional information that can be provided along with the quote: quote author, source (e.g., a book, or a website URL), tags (keywords) and visibility.
20
+ * Quotes can be displayed in a page by placing a piece of code (quick tags) such as the ones below.
21
+ * Placing `[quote|all]` in the page displays all quotes.
22
  * `[quote|author=Somebody]` displays quotes authored by Somebody.
23
  * `[quote|source=Something]` displays quotes with source as ‘Something’
24
+ * `[quote|tags=sometag]` displays quotes tagged sometag
25
+ * `[quote|tags=tag1,tag2,tag3]` displays quotes tagged tag1 or tag2 or tag3, one or more or all of these
26
  * `[quote|id=3]` displays quote with ID 3
27
  * `[quote|random]` displays a random quote
28
+ * The template function `quotescollection_display_randomquote()` can be used to display a random quote in places other than sidebar.
29
+ * Support for Localization.
30
 
31
  == Installation ==
32
 
37
 
38
  == Screenshots ==
39
 
40
+ 1. Admin interface
41
  2. ‘Random Quote’ widget options
42
  3. Random quote as can be seen in the sidebar of [srinig.com](http://srinig.com/)
43
 
screenshot-1.png CHANGED
Binary file