Google Doc Embedder - Version 2.4.5

Version Description

  • Fixed: Regression breaks some files containing spaces (thanks mlautens)
  • Fixed: Mask URL 400 error on filenames with spaces (thanks mrhaanraadts)
  • Fixed: PDF Force Download option doesn't support SSL
Download this release

Release Info

Developer k3davis
Plugin Icon wp plugin Google Doc Embedder
Version 2.4.5
Comparing to
See all releases

Code changes from version 2.4.4 to 2.4.5

Files changed (8) hide show
  1. gde-functions.php +1 -1
  2. gviewer.php +32 -24
  3. languages/gde-tr_TR.mo +0 -0
  4. languages/gde-tr_TR.po +439 -0
  5. libs/pdf.php +70 -58
  6. options.php +8 -2
  7. proxy.php +10 -9
  8. readme.txt +17 -19
gde-functions.php CHANGED
@@ -136,7 +136,7 @@ function gde_validUrl($url) {
136
 
137
  $request = new WP_Http;
138
  $result = $request->request($url);
139
- if (is_array($result)) {
140
  $result['response']['fsize'] = $result['headers']['content-length'];
141
  return $result['response'];
142
  } else {
136
 
137
  $request = new WP_Http;
138
  $result = $request->request($url);
139
+ if (is_array($result) && isset($result['headers']['content-length'])) {
140
  $result['response']['fsize'] = $result['headers']['content-length'];
141
  return $result['response'];
142
  } else {
gviewer.php CHANGED
@@ -8,11 +8,11 @@ Author: Kevin Davis
8
  Author URI: http://www.davistribe.org/
9
  Text Domain: gde
10
  Domain Path: /languages/
11
- Version: 2.4.4
12
  License: GPLv2
13
  */
14
 
15
- $gde_ver = "2.4.4.98";
16
 
17
  /**
18
  * LICENSE
@@ -47,6 +47,7 @@ if ( ! defined( 'GDE_PLUGIN_URL' ) )
47
  include_once('gde-functions.php');
48
  $gdeoptions = get_option('gde_options');
49
  $pUrl = plugins_url(plugin_basename(dirname(__FILE__)));
 
50
 
51
  // note: updates here should also be reflected in js/dialog.js
52
  $supported_exts = array(
@@ -130,14 +131,13 @@ function gde_gviewer_func($atts) {
130
  $height .= "px";
131
  }
132
 
133
- // translate filenames with spaces and other forms of wickedness
134
  $fn = basename($file);
135
  $fnp = gde_splitFilename($fn);
136
- $fnp[0] = rawurlencode($fnp[0]);
137
- $cfile = str_replace($fn, $fnp[0] . "." . $fnp[1], $file);
138
 
139
  // check link for validity
140
- $status = gde_validTests($cfile, $force);
141
  if ($status && !is_array($status)) {
142
  if (($gdeoptions['disable_hideerrors'] == "no") || !$gdeoptions['disable_hideerrors']) {
143
  $code = "\n<!-- GDE EMBED ERROR: $status -->\n";
@@ -155,9 +155,9 @@ HERE;
155
 
156
  // obfuscate filename if cache disabled (globally or via shortcode)
157
  if ($gdeoptions['disable_caching'] == "yes" || $cache == "0") {
158
- $uefile = rawurlencode($file."?".time());
159
  } else {
160
- $uefile = rawurlencode($file);
161
  }
162
  // check for proxy
163
  if ($gdeoptions['disable_proxy'] == "no") {
@@ -197,30 +197,39 @@ HERE;
197
  if ($save == "yes" || $save == "1") {
198
 
199
  $dlMethod = $gdeoptions['link_func'];
200
- if ($fnp[1] == "PDF") {
 
201
  if ($dlMethod == "force" or $dlMethod == "force-mask") {
202
- $dlFile = $pUrl;
203
- $fileParts = parse_url($file);
204
- $fileStr = str_replace($fileParts['scheme']."://","",$file);
205
- $dlFile .= "/libs/pdf.php?file=".$fileStr."&fn=".$fn;
206
- $target = "_self";
 
 
 
 
 
 
 
 
 
 
207
  $gaTag = 'onclick="var that=this;_gaq.push([\'_trackEvent,\'Download\',\'PDF\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;"';
208
  } elseif ($dlMethod == "default") {
209
  $dlFile = $file;
210
  $target = "_blank";
211
  $gaTag = 'onclick="_gaq.push([\'_trackEvent\',\'Download\',\'PDF\',this.href]);"';
212
  }
213
- if ($dlMethod == "force-mask") {
214
- $dlFile = gde_shortUrl($dlFile);
215
- $gaTag = 'onclick="var that=this;_gaq.push([\'_trackEvent,\'Download\',\'PDF\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;"';
216
- }
217
 
218
  } elseif ($dlMethod == "force-mask") {
219
- $dlFile = gde_shortUrl($file);
 
220
  $target = "_self";
221
  $gaTag = 'onclick="var that=this;_gaq.push([\'_trackEvent,\'Download\',\''.$fnp[1].'\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;"';
222
  } else {
223
  $dlFile = $file;
 
224
  $target = "_self";
225
  $gaTag = 'onclick="var that=this;_gaq.push([\'_trackEvent,\'Download\',\''.$fnp[1].'\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;"';
226
  }
@@ -230,7 +239,7 @@ HERE;
230
  } else {
231
  $gaLink = "";
232
  }
233
- $linkcode .= "<p class=\"gde-text\"><a href=\"$dlFile\" target=\"$target\" class=\"gde-link\"$gaLink>$txt</a></p>";
234
  }
235
 
236
  if ($gdeoptions['link_pos'] == "above") {
@@ -238,7 +247,6 @@ HERE;
238
  $code = str_replace("%B%", '', $code);
239
  } else {
240
  $code = str_replace("%A%", '', $code);
241
- //$code = str_replace("%A%", '<!-- TEST: '.$test.' -->', $code);
242
  $code = str_replace("%B%", $linkcode, $code);
243
  }
244
  $code = str_replace("%U%", $lnk, $code);
@@ -296,10 +304,9 @@ function gde_actlinks($links) {
296
  return $links;
297
  }
298
  function gde_metalinks($links, $file) {
299
- global $debug;
300
  $plugin = plugin_basename(__FILE__);
301
  if ($file == $plugin) {
302
- $support_link = '<a href="options-general.php?page=gviewer.php&debug=1">'.__('Support', 'gde').'</a>';
303
  $links[] = $support_link;
304
  }
305
  return $links;
@@ -381,10 +388,11 @@ if ($gdeoptions['disable_editor'] !== "yes") {
381
 
382
  // footer credit
383
  function gde_admin_footer() {
 
384
  $pdata = get_plugin_data(__FILE__);
385
  $plugin_str = __('plugin', 'gde');
386
  $version_str = __('Version', 'gde');
387
- printf('%1$s %2$s | %3$s %4$s<br />', $pdata['Title'], $plugin_str, $version_str, $pdata['Version']);
388
  }
389
 
390
  ?>
8
  Author URI: http://www.davistribe.org/
9
  Text Domain: gde
10
  Domain Path: /languages/
11
+ Version: 2.4.5-dev
12
  License: GPLv2
13
  */
14
 
15
+ $gde_ver = "2.4.5.04";
16
 
17
  /**
18
  * LICENSE
47
  include_once('gde-functions.php');
48
  $gdeoptions = get_option('gde_options');
49
  $pUrl = plugins_url(plugin_basename(dirname(__FILE__)));
50
+ $support_link = '<a href="options-general.php?page=gviewer.php&debug=1">'.__('Support', 'gde').'</a>';
51
 
52
  // note: updates here should also be reflected in js/dialog.js
53
  $supported_exts = array(
131
  $height .= "px";
132
  }
133
 
134
+ // translate filenames with spaces (prevent break in file size check, URL check, and mask url option)
135
  $fn = basename($file);
136
  $fnp = gde_splitFilename($fn);
137
+ $file = str_replace(" ", "%20", $file); // urlencode and rawurlencode don't reliably work here
 
138
 
139
  // check link for validity
140
+ $status = gde_validTests($file, $force);
141
  if ($status && !is_array($status)) {
142
  if (($gdeoptions['disable_hideerrors'] == "no") || !$gdeoptions['disable_hideerrors']) {
143
  $code = "\n<!-- GDE EMBED ERROR: $status -->\n";
155
 
156
  // obfuscate filename if cache disabled (globally or via shortcode)
157
  if ($gdeoptions['disable_caching'] == "yes" || $cache == "0") {
158
+ $uefile = urlencode($file."?".time());
159
  } else {
160
+ $uefile = urlencode($file);
161
  }
162
  // check for proxy
163
  if ($gdeoptions['disable_proxy'] == "no") {
197
  if ($save == "yes" || $save == "1") {
198
 
199
  $dlMethod = $gdeoptions['link_func'];
200
+
201
+ if ($fnp[1] == "PDF" || $fnp[1] == "pdf") {
202
  if ($dlMethod == "force" or $dlMethod == "force-mask") {
203
+
204
+ // fix file name with spaces (again)
205
+ $fn = str_replace(" ", "%20", $fn);
206
+
207
+ $dlFile = $pUrl . "/libs/pdf.php?file=".urlencode($file)."&fn=".$fn;
208
+
209
+ if ($dlMethod == "force-mask") {
210
+ $dlFile = gde_shortUrl($dlFile);
211
+ $target = "_blank";
212
+ $nofollow = ' rel="nofollow"';
213
+ } else {
214
+ $target = "_self";
215
+ $nofollow = "";
216
+ }
217
+
218
  $gaTag = 'onclick="var that=this;_gaq.push([\'_trackEvent,\'Download\',\'PDF\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;"';
219
  } elseif ($dlMethod == "default") {
220
  $dlFile = $file;
221
  $target = "_blank";
222
  $gaTag = 'onclick="_gaq.push([\'_trackEvent\',\'Download\',\'PDF\',this.href]);"';
223
  }
 
 
 
 
224
 
225
  } elseif ($dlMethod == "force-mask") {
226
+ $dlFile = gde_shortUrl($dlFile);
227
+ $nofollow = ' rel="nofollow"';
228
  $target = "_self";
229
  $gaTag = 'onclick="var that=this;_gaq.push([\'_trackEvent,\'Download\',\''.$fnp[1].'\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;"';
230
  } else {
231
  $dlFile = $file;
232
+ $nofolow = "";
233
  $target = "_self";
234
  $gaTag = 'onclick="var that=this;_gaq.push([\'_trackEvent,\'Download\',\''.$fnp[1].'\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;"';
235
  }
239
  } else {
240
  $gaLink = "";
241
  }
242
+ $linkcode .= "<p class=\"gde-text\"><a href=\"$dlFile\" target=\"$target\" class=\"gde-link\"".$gaLink.$nofollow.">$txt</a></p>";
243
  }
244
 
245
  if ($gdeoptions['link_pos'] == "above") {
247
  $code = str_replace("%B%", '', $code);
248
  } else {
249
  $code = str_replace("%A%", '', $code);
 
250
  $code = str_replace("%B%", $linkcode, $code);
251
  }
252
  $code = str_replace("%U%", $lnk, $code);
304
  return $links;
305
  }
306
  function gde_metalinks($links, $file) {
307
+ global $debug, $support_link;
308
  $plugin = plugin_basename(__FILE__);
309
  if ($file == $plugin) {
 
310
  $links[] = $support_link;
311
  }
312
  return $links;
388
 
389
  // footer credit
390
  function gde_admin_footer() {
391
+ global $support_link;
392
  $pdata = get_plugin_data(__FILE__);
393
  $plugin_str = __('plugin', 'gde');
394
  $version_str = __('Version', 'gde');
395
+ printf('%1$s %2$s | %3$s %4$s | %5$s<br />', $pdata['Title'], $plugin_str, $version_str, $pdata['Version'], $support_link);
396
  }
397
 
398
  ?>
languages/gde-tr_TR.mo ADDED
Binary file
languages/gde-tr_TR.po ADDED
@@ -0,0 +1,439 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Google Doc Embedder\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-05-25 10:14-0600\n"
6
+ "PO-Revision-Date: 2012-05-30 17:01+0200\n"
7
+ "Last-Translator: LettoBlog <support@lettoblog.com>\n"
8
+ "Language-Team: LettoBlog Türkiye <support@lettoblog.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: __;_e\n"
13
+ "X-Poedit-Country: TURKEY\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SearchPath-0: .\n"
16
+
17
+ #: gde-functions.php:32
18
+ msgid "Download"
19
+ msgstr "İndir"
20
+
21
+ #: gde-functions.php:344
22
+ #: gviewer.php:292
23
+ msgid "Support"
24
+ msgstr "Destek"
25
+
26
+ #: gde-functions.php:346
27
+ msgid "Please review the documentation before submitting a request for support:"
28
+ msgstr "Lütfen destek isteği göndermeden önce, dökümantasyonu gözden geçirin:"
29
+
30
+ #: gde-functions.php:349
31
+ msgid "Plugin FAQ"
32
+ msgstr "Eklenti SSS"
33
+
34
+ #: gde-functions.php:350
35
+ msgid "Support Forum"
36
+ msgstr "Destek Forumu"
37
+
38
+ #: gde-functions.php:353
39
+ msgid "If you're still experiencing a problem, please complete the form below."
40
+ msgstr "Probleminiz hala devam ediyorsa, lütfen aşağıdaki formu doldurunuz."
41
+
42
+ #: gde-functions.php:359
43
+ msgid "Your Name"
44
+ msgstr "Adınız"
45
+
46
+ #: gde-functions.php:363
47
+ msgid "Your E-mail"
48
+ msgstr "E-posta Adresiniz"
49
+
50
+ #: gde-functions.php:369
51
+ msgid "Shortcode"
52
+ msgstr "Kısakod"
53
+
54
+ #: gde-functions.php:371
55
+ msgid "If you're having a problem getting a specific document to work, paste the shortcode you're trying to use here."
56
+ msgstr "Eğer özel bir döküman türünde çalışıyorsanız, kısakodu buraya yapıştırınız ve burda kullanmayı deneyiniz."
57
+
58
+ #: gde-functions.php:376
59
+ msgid "Message"
60
+ msgstr "Mesaj"
61
+
62
+ #: gde-functions.php:381
63
+ msgid "Message Options"
64
+ msgstr "Mesaj Seçenekleri"
65
+
66
+ #: gde-functions.php:383
67
+ msgid "Send debug information"
68
+ msgstr "Hata ayıklama bilgilerini gönder"
69
+
70
+ #: gde-functions.php:384
71
+ msgid "View"
72
+ msgstr "İncele"
73
+
74
+ #: gde-functions.php:385
75
+ msgid "Send me a copy"
76
+ msgstr "Bana bir kopyasını gönder"
77
+
78
+ #: gde-functions.php:391
79
+ msgid "Debug Information"
80
+ msgstr "Hata Ayıklama Bilgileri"
81
+
82
+ #: gde-functions.php:430
83
+ msgid "I'm less likely to be able to help you if you do not include debug information."
84
+ msgstr "Daha hızlı çözüm bulabilmemiz için, hata ayıklama bilgilerini gönderiniz."
85
+
86
+ #: gde-functions.php:432
87
+ msgid "Send Support Request"
88
+ msgstr "Destek İsteği Gönder"
89
+
90
+ #: gviewer.php:137
91
+ msgid "Error"
92
+ msgstr "Hata"
93
+
94
+ #: gviewer.php:268
95
+ #: gviewer.php:284
96
+ #: options.php:130
97
+ msgid "Settings"
98
+ msgstr "Ayarlar"
99
+
100
+ #: gviewer.php:275
101
+ msgid "You do not have sufficient permissions to access this page"
102
+ msgstr "Bu sayfaya erişmek için yeterli izinlere sahip değilsiniz"
103
+
104
+ #: gviewer.php:305
105
+ msgid "Beta version available"
106
+ msgstr "Bete güncellemesi"
107
+
108
+ #: gviewer.php:305
109
+ msgid "Please deactivate the plug-in and install the current version if you wish to participate. Otherwise, you can turn off beta version checking in GDE Settings. Testers appreciated!"
110
+ msgstr "Eklentiyi yükseltmek için eklentiyi pasifleştirip, arındandan son sürüme güncelleyiniz. Yada isterseniz, GDE ayarlarından beta versiyon kontrolünü devre dışı bırakabilirsiniz."
111
+
112
+ #: gviewer.php:306
113
+ msgid "Updated beta version available"
114
+ msgstr "Beta güncellemesi mevcut"
115
+
116
+ #: gviewer.php:306
117
+ msgid "A newer beta has been released. Please deactivate the plug-in and install the current version. Thanks for your help!"
118
+ msgstr "Yeni bir beta versiyonu yayınlandı. Lütfen eklentiyi pasifleştirerek şimdiki versiyona yükseltiniz. Yardımlarınız için teşekkürler!"
119
+
120
+ #: gviewer.php:307
121
+ msgid "You're running a beta version. Please give feedback."
122
+ msgstr "Şu anda beta versiyon kullanıyorsunuz. Lütfen geri bildirimde bulununuz."
123
+
124
+ #: gviewer.php:307
125
+ msgid "Thank you for running a test version of Google Doc Embedder. You are running the most current beta version. Please give feedback on this version using the &quot;Support&quot; link above. Thanks for your help!"
126
+ msgstr "Google Doc Embedder'in test versiyonunu kullandığını için teşekkürler. Şu anda son çıkan beta sürümünü kullanıyorsunuz. Lütfen bize aşağıdaki destek linkinden geri bildirimde bulununuz. Yardımlarınız için teşekkürler!"
127
+
128
+ #: gviewer.php:308
129
+ msgid "more info"
130
+ msgstr "detay"
131
+
132
+ #: gviewer.php:375
133
+ msgid "plugin"
134
+ msgstr "eklenti"
135
+
136
+ #: gviewer.php:376
137
+ msgid "Version"
138
+ msgstr "Sürüm"
139
+
140
+ #: options.php:26
141
+ msgid "Options reset to defaults"
142
+ msgstr "Seçenekler varsayılan olarak ayarlandı"
143
+
144
+ #: options.php:123
145
+ msgid "Options updated"
146
+ msgstr "Seçenekler güncellendi"
147
+
148
+ #: options.php:141
149
+ msgid "Viewer Options"
150
+ msgstr "Görüntüleyici Seçenekleri"
151
+
152
+ #: options.php:146
153
+ msgid "Viewer Selection"
154
+ msgstr "Görüntüleyici Seçimi"
155
+
156
+ #: options.php:147
157
+ #: options.php:253
158
+ #: options.php:303
159
+ msgid "Help"
160
+ msgstr "Yardım"
161
+
162
+ #: options.php:149
163
+ msgid "Google Standard Viewer"
164
+ msgstr "Standart Google Görüntüleyici"
165
+
166
+ #: options.php:150
167
+ msgid "Embed the standard Google Viewer."
168
+ msgstr "Standart Google Görüntüleyiciden Embed"
169
+
170
+ #: options.php:151
171
+ msgid "Enhanced Viewer"
172
+ msgstr "Gelişmiş Görüntüleyici"
173
+
174
+ #: options.php:152
175
+ msgid "Use this option to enable toolbar customization and fix some display problems (experimental)."
176
+ msgstr "Bu seçeğeni bazı araç çubuğu düzeltmeleri ve görüntüleme sorunlarını düzeltmek için kullanın. (deneysel)"
177
+
178
+ #: options.php:156
179
+ msgid "Customize Toolbar"
180
+ msgstr "Araç Çubuğunu Özelleştir"
181
+
182
+ #: options.php:160
183
+ msgid "Hide Zoom In/Out"
184
+ msgstr "İçeri/Dışarı Yakınlaşma Özelliğini Gizle"
185
+
186
+ #: options.php:161
187
+ msgid "Hide Open in New Window"
188
+ msgstr "Yeni Pencerede Açma Özelliğini Gizle"
189
+
190
+ #: options.php:162
191
+ msgid "Always Use Mobile Theme"
192
+ msgstr "Her zaman Mobil Temayı Kullan"
193
+
194
+ #: options.php:166
195
+ msgid "Default Size"
196
+ msgstr "Varsayılan Boyut"
197
+
198
+ #: options.php:167
199
+ #: libs/gde-dialog.php:61
200
+ msgid "Width"
201
+ msgstr "Genişlik"
202
+
203
+ #: options.php:171
204
+ #: libs/gde-dialog.php:57
205
+ msgid "Height"
206
+ msgstr "Yükseklik"
207
+
208
+ #: options.php:177
209
+ msgid "Default Language"
210
+ msgstr "Varsayılan Dil"
211
+
212
+ #: options.php:235
213
+ msgid "Inline (Default)"
214
+ msgstr "Inline (Varsayılan)"
215
+
216
+ #: options.php:236
217
+ msgid "Collapsible (Open)"
218
+ msgstr "Collapsible (Açık)"
219
+
220
+ #: options.php:237
221
+ msgid "Collapsible (Closed)"
222
+ msgstr "Collapsible (Kapalı)"
223
+
224
+ #: options.php:249
225
+ msgid "Download Link Options"
226
+ msgstr "İndirme Bağlantısı Seçenekleri"
227
+
228
+ #: options.php:254
229
+ msgid "Display the download link by default"
230
+ msgstr "Varsayılan olarak indirme bağlantısını göster"
231
+
232
+ #: options.php:255
233
+ msgid "Only display download link to logged in users"
234
+ msgstr "İndirme bağlantısını sadece giriş yapmış kullanıcılara göster"
235
+
236
+ #: options.php:256
237
+ msgid "Track downloads in Google Analytics (tracking script must be installed on your site)"
238
+ msgstr "İndirmeleri Google Analytics ile takip et (daha önceden google analytics ayarlarını yapılandırmış olmanız gerekmektedir)"
239
+
240
+ #: options.php:259
241
+ msgid "File Base URL"
242
+ msgstr "Dosya Tabanlı URL"
243
+
244
+ #: options.php:261
245
+ msgid "Any file not starting with <em>http</em> will be prefixed by this value"
246
+ msgstr "<em>http</em> ile başlamayan dosyalara önek olarak eklenecektir"
247
+
248
+ #: options.php:264
249
+ msgid "Link Text"
250
+ msgstr "Bağlantı Metni"
251
+
252
+ #: options.php:266
253
+ msgid "You can further customize text using these dynamic replacements:"
254
+ msgstr "Bu dinamik metinleri kullanarak özelleştirebilirsiniz:"
255
+
256
+ #: options.php:267
257
+ msgid "filename"
258
+ msgstr "dosya adı"
259
+
260
+ #: options.php:268
261
+ msgid "file type"
262
+ msgstr "dosya türü"
263
+
264
+ #: options.php:269
265
+ msgid "file size"
266
+ msgstr "dosya boyutu"
267
+
268
+ #: options.php:272
269
+ msgid "Link Position"
270
+ msgstr "Bağlantı Konumu"
271
+
272
+ #: options.php:274
273
+ msgid "Above Viewer"
274
+ msgstr "Görüntüleyicinin Üstünde"
275
+
276
+ #: options.php:275
277
+ msgid "Below Viewer"
278
+ msgstr "Görüntüleyicinin Altında"
279
+
280
+ #: options.php:280
281
+ msgid "Link Behavior"
282
+ msgstr "Bağlantı Davranışı"
283
+
284
+ #: options.php:282
285
+ msgid "Browser Default"
286
+ msgstr "Tarayıcı Varsayılanı"
287
+
288
+ #: options.php:283
289
+ msgid "Force Download"
290
+ msgstr "İndirmeye Zorla"
291
+
292
+ #: options.php:284
293
+ msgid "Force Download (Mask URL)"
294
+ msgstr "İndirmeye Zorla (Gizli URL)"
295
+
296
+ #: options.php:298
297
+ msgid "Advanced Options"
298
+ msgstr "Gelişmiş Seçenekler"
299
+
300
+ #: options.php:300
301
+ msgid "Plugin Behavior"
302
+ msgstr "Eklenti Davranışları"
303
+
304
+ #: options.php:301
305
+ msgid "Editor Behavior"
306
+ msgstr "Editör Davranışları"
307
+
308
+ #: options.php:305
309
+ msgid "Display error messages inline (not hidden)"
310
+ msgstr "Hata mesajlarını açık olarak göster (gizlemeden)"
311
+
312
+ #: options.php:306
313
+ msgid "Disable internal error checking"
314
+ msgstr "İç hata denetimini devre dışı bırak"
315
+
316
+ #: options.php:307
317
+ msgid "Disable document caching"
318
+ msgstr "Dökümanları önbelleklemeyi devre dışı bırak"
319
+
320
+ #: options.php:308
321
+ msgid "Disable beta version notifications"
322
+ msgstr "Beta bildirimlerini devre dışı bırak"
323
+
324
+ #: options.php:311
325
+ msgid "Disable all editor integration"
326
+ msgstr "Tüm editör entegrasyonlarını devre dışı bırak"
327
+
328
+ #: options.php:316
329
+ msgid "Insert shortcode from Media Library"
330
+ msgstr "Medya Kütüphanesinden kısakod ekle"
331
+
332
+ #: options.php:318
333
+ msgid "Allow uploads of all supported media types"
334
+ msgstr "Tüm desteklenen dosya türünde yüklemelere izin ver"
335
+
336
+ #: options.php:328
337
+ msgid "Save Options"
338
+ msgstr "Seçenekleri Kaydet"
339
+
340
+ #: options.php:330
341
+ msgid "Reset to Defaults"
342
+ msgstr "Varsayılan Ayarlara Geri Dön"
343
+
344
+ #: options.php:330
345
+ msgid "Are you sure you want to reset all settings to defaults?"
346
+ msgstr "Seçenekleri sıfırlamak istediğinizden emin misiniz?"
347
+
348
+ #: proxy.php:29
349
+ msgid ""
350
+ "This function is not supported on your web server. Please add\n"
351
+ "\t\t\t<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library.\n"
352
+ "\t\t\tIf you are unable to do this, please switch to Google Standard Viewer in GDE Options."
353
+ msgstr ""
354
+ "Bu fonksiyon web sunucunuz tarafından desteklenmiyor. Please add\n"
355
+ "\t\t\t<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library.\n"
356
+ "\t\t\tIf you are unable to do this, please switch to Google Standard Viewer in GDE Options."
357
+
358
+ #: libs/bootstrap.php:15
359
+ msgid "Could not find wp-load.php"
360
+ msgstr "Olamaz! wp-load.php dosyasını bulamadık!"
361
+
362
+ #: libs/gde-dialog.php:34
363
+ msgid "I'll insert the shortcode myself"
364
+ msgstr "Kısakod'u kendim ekleyeceğim"
365
+
366
+ #: libs/gde-dialog.php:36
367
+ msgid "GDE Shortcode Options"
368
+ msgstr "GDE Kısakod Seçenekleri"
369
+
370
+ #: libs/gde-dialog.php:40
371
+ msgid "Required"
372
+ msgstr "Gerekli"
373
+
374
+ #: libs/gde-dialog.php:43
375
+ msgid "URL or Filename"
376
+ msgstr "URL yada Dosya adı"
377
+
378
+ #: libs/gde-dialog.php:43
379
+ msgid "Full URL or filename to append to File Base URL"
380
+ msgstr "Tam URL yada dosya temelli url"
381
+
382
+ #: libs/gde-dialog.php:45
383
+ msgid "File Base URL will be prefixed"
384
+ msgstr "Dosya Tabanlı URL 'e önekleri eklenecektir."
385
+
386
+ #: libs/gde-dialog.php:46
387
+ msgid "Unsupported file type"
388
+ msgstr "Desteklenmeyen dosya türü"
389
+
390
+ #: libs/gde-dialog.php:54
391
+ msgid "Optional (Override Global Settings)"
392
+ msgstr "İsteğe Bağlı (genel ayarları geçersiz kılar)"
393
+
394
+ #: libs/gde-dialog.php:57
395
+ #: libs/gde-dialog.php:61
396
+ msgid "format:"
397
+ msgstr "format:"
398
+
399
+ #: libs/gde-dialog.php:57
400
+ #: libs/gde-dialog.php:61
401
+ msgid "or"
402
+ msgstr "yada"
403
+
404
+ #: libs/gde-dialog.php:65
405
+ msgid "Show Download Link"
406
+ msgstr "İndirme Bağlantısını Göster"
407
+
408
+ #: libs/gde-dialog.php:66
409
+ msgid "Yes"
410
+ msgstr "Evet"
411
+
412
+ #: libs/gde-dialog.php:66
413
+ msgid "No"
414
+ msgstr "Hayır"
415
+
416
+ #: libs/gde-dialog.php:71
417
+ msgid "Show download link only if user is logged in"
418
+ msgstr "İndirme bağlantısını sadece giriş yapmış kullanıcılara göster"
419
+
420
+ #: libs/gde-dialog.php:77
421
+ msgid "Disable caching (this document is frequently overwritten)"
422
+ msgstr "Önbelleği devre dışı bırak (sık güncellenen dökümanlar için önerilir)"
423
+
424
+ #: libs/gde-dialog.php:84
425
+ msgid "Disable internal error checking (try if URL is confirmed good but document doesn't display)"
426
+ msgstr "İç hata denetimini devre dışı bırak ( döküman doğrulanmışsa güzel ama içerik yayınlanmayacaktır )"
427
+
428
+ #: libs/gde-dialog.php:94
429
+ msgid "Shortcode Preview"
430
+ msgstr "Kısakod Önizleme"
431
+
432
+ #: libs/gde-dialog.php:103
433
+ msgid "Insert"
434
+ msgstr "Ekle"
435
+
436
+ #: libs/gde-dialog.php:107
437
+ msgid "Cancel"
438
+ msgstr "İptal"
439
+
libs/pdf.php CHANGED
@@ -1,59 +1,71 @@
1
- <?php
2
-
3
- # This proxy code is a bypass of default browser handling of PDF files, used for the
4
- # "Force Download" option of Google Doc Embedder plug-in for WordPress. If you do not
5
- # wish to use this code, set the Link Behavior option to "Browser Default" in GDE Settings.
6
-
7
- // test for allow_url_fopen in php config; try curl for function if disabled
8
- if (ini_get('allow_url_fopen') !== "1") {
9
- if (function_exists('curl_version')) {
10
- $curl = 1;
11
- } else {
12
- $err = "This function is not supported on your web server. Please add ";
13
- $err .= "<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library. ";
14
- $err .= "If you are unable to do this, please change the Link Behavior setting to ";
15
- $err .= "Browser Default in GDE Options.";
16
- showErr($err);
17
- exit;
18
- }
19
- }
20
-
21
- if ((isset($_GET['fn'])) && (isset($_GET['file']))) {
22
- // check for invalid file type
23
- if (!preg_match("/\.pdf$/i",$_GET['fn'])) {
24
- showErr('Invalid file type; action cancelled.');
25
- }
26
-
27
- // get file
28
- if ($curl) {
29
- $code = @curl_get_contents("http://". $_GET['file']);
30
- } else {
31
- $code = @file_get_contents("http://". $_GET['file']);
32
- }
33
-
34
- // output file
35
- header('Content-type: application/pdf');
36
- header('Content-Disposition: attachment; filename="'.$_GET['fn'].'"');
37
- echo $code;
38
-
39
- } else {
40
- showErr('No filename specified; action cancelled.');
41
- }
42
-
43
- function curl_get_contents($url) {
44
- $ch = curl_init();
45
- $timeout = 5; // set to zero for no timeout
46
- curl_setopt ($ch, CURLOPT_URL, $url);
47
- curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
48
- curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
49
- $file_contents = curl_exec($ch);
50
- curl_close($ch);
51
-
52
- return $file_contents;
53
- }
54
-
55
- function showErr($msg) {
56
- echo "<html>$msg</html>";
57
- exit;
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
59
  ?>
1
+ <?php
2
+
3
+ # This proxy code is a bypass of default browser handling of PDF files, used for the
4
+ # "Force Download" option of Google Doc Embedder plug-in for WordPress. If you do not
5
+ # wish to use this code, set the Link Behavior option to "Browser Default" in GDE Settings.
6
+
7
+ // test for allow_url_fopen in php config; try curl for function if disabled
8
+ if (ini_get('allow_url_fopen') !== "1") {
9
+ if (function_exists('curl_version')) {
10
+ $curl = 1;
11
+ } else {
12
+ $err = "This function is not supported on your web server. Please add ";
13
+ $err .= "<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library. ";
14
+ $err .= "If you are unable to do this, please change the Link Behavior setting to ";
15
+ $err .= "Browser Default in GDE Options.";
16
+ showErr($err);
17
+ exit;
18
+ }
19
+ }
20
+
21
+ if ((isset($_GET['fn'])) && (isset($_GET['file']))) {
22
+ // check for invalid file type
23
+ if (!preg_match("/\.pdf$/i",$_GET['fn'])) {
24
+ showErr('Invalid file type; action cancelled.');
25
+ }
26
+
27
+ // ready file
28
+ $file = urldecode($file);
29
+ $fileParts = parse_url($file);
30
+ if (preg_match("/^https/i", $fileParts['scheme'])) {
31
+ $ssl = true;
32
+ } else {
33
+ $ssl = false;
34
+ }
35
+
36
+ // get file
37
+ if ($curl) {
38
+ $code = @curl_get_contents($_GET['file'], $ssl);
39
+ } else {
40
+ $code = @file_get_contents($_GET['file']);
41
+ }
42
+
43
+ // output file
44
+ header('Content-type: application/pdf');
45
+ header('Content-Disposition: attachment; filename="'.$_GET['fn'].'"');
46
+ echo $code;
47
+
48
+ } else {
49
+ showErr('No filename specified; action cancelled.');
50
+ }
51
+
52
+ function curl_get_contents($url, $ssl) {
53
+ $ch = curl_init();
54
+ $timeout = 5; // set to zero for no timeout
55
+ curl_setopt ($ch, CURLOPT_URL, $url);
56
+ curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
57
+ curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
58
+ if ($ssl) {
59
+ curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
60
+ }
61
+ $file_contents = curl_exec($ch);
62
+ curl_close($ch);
63
+
64
+ return $file_contents;
65
+ }
66
+
67
+ function showErr($msg) {
68
+ echo "<html>$msg</html>";
69
+ exit;
70
+ }
71
  ?>
options.php CHANGED
@@ -65,10 +65,16 @@ if(isset($_REQUEST['defaults'])) {
65
  //if(isset($_POST['default_display'])) {
66
  // $gdeoptions['default_display'] = $_POST['default_display'];
67
  //}
 
 
 
68
  if(isset($_POST['gdet_z'])) { $newgdet .= "z"; }
69
  if(isset($_POST['gdet_n'])) { $newgdet .= "n"; }
70
  if(isset($_POST['gdet_m'])) { $newgdet .= "m"; }
71
- $gdeoptions['restrict_tb'] = $newgdet;
 
 
 
72
  if(isset($_POST['base_url'])) {
73
  $gdeoptions['base_url'] = $_POST['base_url'];
74
  }
@@ -299,7 +305,7 @@ if (!$debug) {
299
 
300
  <div id="gde_linkoptions" class="postbox">
301
  <h3 class="hndle"><span><?php _e('Advanced Options', 'gde'); ?></span></h3>
302
- <div class="inside" style="min-height:30px;">
303
  <div style="float:left;"><a href="javascript:void(0);" id="advopt-plugin"><?php echo __('Plugin Behavior', 'gde'); ?></a><br/>
304
  <a href="javascript:void(0);" id="advopt-editor"><?php echo __('Editor Behavior', 'gde'); ?></a>
305
  </div>
65
  //if(isset($_POST['default_display'])) {
66
  // $gdeoptions['default_display'] = $_POST['default_display'];
67
  //}
68
+
69
+ // custom toolbar
70
+ $newgdet = "";
71
  if(isset($_POST['gdet_z'])) { $newgdet .= "z"; }
72
  if(isset($_POST['gdet_n'])) { $newgdet .= "n"; }
73
  if(isset($_POST['gdet_m'])) { $newgdet .= "m"; }
74
+ if(isset($newgdet)) {
75
+ $gdeoptions['restrict_tb'] = $newgdet;
76
+ }
77
+
78
  if(isset($_POST['base_url'])) {
79
  $gdeoptions['base_url'] = $_POST['base_url'];
80
  }
305
 
306
  <div id="gde_linkoptions" class="postbox">
307
  <h3 class="hndle"><span><?php _e('Advanced Options', 'gde'); ?></span></h3>
308
+ <div class="inside" style="min-height:35px;">
309
  <div style="float:left;"><a href="javascript:void(0);" id="advopt-plugin"><?php echo __('Plugin Behavior', 'gde'); ?></a><br/>
310
  <a href="javascript:void(0);" id="advopt-editor"><?php echo __('Editor Behavior', 'gde'); ?></a>
311
  </div>
proxy.php CHANGED
@@ -48,7 +48,7 @@ if (strstr($_SERVER['QUERY_STRING'], 'mobile=true') !== false) { // already set
48
  $mobile = true;
49
  }
50
 
51
- if (isset($_GET['embedded']) || $_GET['mobile']) {
52
 
53
  // get the src page, change relative path to absolute
54
  if (isset($curl)) {
@@ -82,14 +82,13 @@ if (isset($_GET['embedded']) || $_GET['mobile']) {
82
  }
83
  }
84
  # hide open in new window (n)
85
- if (!$mobile) {
86
  if (strstr($tb, 'n') !== false) {
87
  $search[] = "#openInViewerButtonIcon {";
88
  $replace[] = "#openInViewerButtonIcon { display: none !important;";
89
  }
90
- }
91
- # hide mobile footer (always)
92
- if ($mobile) {
93
  $search[] = "#page-footer {";
94
  $replace[] = "#page-footer { display: none !important;";
95
  }
@@ -98,10 +97,12 @@ if (isset($_GET['embedded']) || $_GET['mobile']) {
98
  $code = str_replace($search, $replace, $code);
99
 
100
  // perform theme replacement (experimental)
101
- if ($_GET['t'] == 'dark') {
102
- $pattern = '#(<style type="text/css">.view.*</style>)#';
103
- $replacement = '$1'."\n".'<link rel="stylesheet" type="text/css" href="themes/gde-dark.css">';
104
- $code = preg_replace($pattern, $replacement, $code);
 
 
105
  }
106
 
107
  // output page
48
  $mobile = true;
49
  }
50
 
51
+ if (isset($_GET['embedded']) || isset($_GET['mobile'])) {
52
 
53
  // get the src page, change relative path to absolute
54
  if (isset($curl)) {
82
  }
83
  }
84
  # hide open in new window (n)
85
+ if (!isset($mobile)) {
86
  if (strstr($tb, 'n') !== false) {
87
  $search[] = "#openInViewerButtonIcon {";
88
  $replace[] = "#openInViewerButtonIcon { display: none !important;";
89
  }
90
+ } else {
91
+ # hide mobile footer (always){
 
92
  $search[] = "#page-footer {";
93
  $replace[] = "#page-footer { display: none !important;";
94
  }
97
  $code = str_replace($search, $replace, $code);
98
 
99
  // perform theme replacement (experimental)
100
+ if (isset($_GET['t'])) {
101
+ if ($_GET['t'] == 'dark') {
102
+ $pattern = '#(<style type="text/css">.view.*</style>)#';
103
+ $replacement = '$1'."\n".'<link rel="stylesheet" type="text/css" href="themes/gde-dark.css">';
104
+ $code = preg_replace($pattern, $replacement, $code);
105
+ }
106
  }
107
 
108
  // output page
readme.txt CHANGED
@@ -37,6 +37,7 @@ Translations are welcome; see [the FAQ](http://wordpress.org/extend/plugins/goog
37
 
38
  * English (en\_US), built-in
39
  * Spanish (es\_ES) by [elarequi](http://elarequi.com/propuestastic/ "elarequi"), thanks!
 
40
 
41
  == Installation ==
42
 
@@ -110,7 +111,7 @@ You can use the [English translation](http://plugins.svn.wordpress.org/google-do
110
  Please email your translation, along with your name and link for credit, to <em>wpp @ tnw . org</em> for inclusion in the plugin.
111
 
112
  = Where can I ask questions, report bug and request features? =
113
- You can open a topic [on the forum](http://wordpress.org/tags/google-document-embedder?forum_id=10#postform "forum") and I'll see what I can do. I review all messages posted here regularly.
114
 
115
  == Screenshots ==
116
 
@@ -120,6 +121,13 @@ You can open a topic [on the forum](http://wordpress.org/tags/google-document-em
120
 
121
  == Changelog ==
122
 
 
 
 
 
 
 
 
123
  = 2.4.4 =
124
  * Added: PPS and OTF support
125
  * Fixed: Broken support of international filenames in IE (thanks beredim)
@@ -129,7 +137,8 @@ You can open a topic [on the forum](http://wordpress.org/tags/google-document-em
129
  * Changed: Now requires WordPress 3.0+ (mainly for support reasons)
130
 
131
  = 2.4.3 =
132
- * Added: Dark theme shortcode option (EXPERIMENTAL)
 
133
  * Fixed: Visual editor integration for IIS webhosts (thanks Kristof)
134
  * Changed: Debug information is now a support page from plugin list
135
 
@@ -145,11 +154,11 @@ You can open a topic [on the forum](http://wordpress.org/tags/google-document-em
145
  * Added: Allow native upload/insert of all supported file types
146
  * Added: Shortcode inserted from Media Library for supported files
147
  * Added: Localization support (translations welcome)
148
- * Added: Ability to use mobile theme with Enhanced Viewer
149
- * Fixed: Toolbar customization on mobile with Enhanced Viewer
150
  * Fixed: Editor integration no longer loads its own TinyMCE/jquery libs
151
  * Fixed: URL changes for plugin, help links, beta checking
152
- * Fixed: "Moved Temporarily" error in Enhanced Viewer (thanks webmonkeywatts)
153
 
154
  = 2.3 =
155
  * Added: Option to set base URL for embedded files (thanks KevEd)
@@ -158,11 +167,11 @@ You can open a topic [on the forum](http://wordpress.org/tags/google-document-em
158
  * Fixed: Download Link setting didn't update shortcode in editor dialog
159
 
160
  = 2.2.3 =
161
- * Fixed: Additional Enhanced Viewer fixes
162
  * Fixed: jQuery error in editor integration
163
 
164
  = 2.2.2 =
165
- * Fixed: Toolbar customizations in Enhanced Viewer
166
  * Fixed: iPhone scrolling bug (thanks Vayu)
167
  * Changed: Confirmed compatibility with WP 3.3
168
 
@@ -172,20 +181,9 @@ You can open a topic [on the forum](http://wordpress.org/tags/google-document-em
172
  = 2.2 =
173
  * Added: ZIP/RAR Archive support (thanks enkerli)
174
 
175
- = 2.1 =
176
- * Added: Ability to track downloads with Google Analytics (thanks omarigil)
177
- * Changed: New editor integration was disabled by default - oops! (thanks Brian)
178
-
179
- = 2.0 =
180
- * Added: TinyMCE and Quicktag editor integration (thanks cr.aguila)
181
- * Added: Option to override internal caching of viewer (thanks Brian)
182
- * Added: More individual overrides for global settings
183
- * Fixed: Deprecated HTML output that interfered with some browsers
184
- * Removed: Plugin conflict code and setting; not particularly useful
185
-
186
  [Full history...](http://www.davistribe.org/gde/changelog/ "Full history")
187
 
188
  == Upgrade Notice ==
189
 
190
- = 2.4.4 =
191
  Bug fix release
37
 
38
  * English (en\_US), built-in
39
  * Spanish (es\_ES) by [elarequi](http://elarequi.com/propuestastic/ "elarequi"), thanks!
40
+ * Turkish (tr\_TR) by [LettoBlog](http://profiles.wordpress.org/lettoblog "LettoBlog"), thanks!
41
 
42
  == Installation ==
43
 
111
  Please email your translation, along with your name and link for credit, to <em>wpp @ tnw . org</em> for inclusion in the plugin.
112
 
113
  = Where can I ask questions, report bug and request features? =
114
+ You can open a topic [on the forum](http://wordpress.org/support/plugin/google-document-embedder "forum") and I'll see what I can do. I review all messages posted here regularly. For detailed support on specific documents and uses, please use the "Support" link in your plugin list under Google Doc Embedder.
115
 
116
  == Screenshots ==
117
 
121
 
122
  == Changelog ==
123
 
124
+ (E) Enhanced Viewer
125
+
126
+ = 2.4.5 =
127
+ * Fixed: Regression breaks some files containing spaces (thanks mlautens)
128
+ * Fixed: Mask URL 400 error on filenames with spaces (thanks mrhaanraadts)
129
+ * Fixed: PDF Force Download option doesn't support SSL
130
+
131
  = 2.4.4 =
132
  * Added: PPS and OTF support
133
  * Fixed: Broken support of international filenames in IE (thanks beredim)
137
  * Changed: Now requires WordPress 3.0+ (mainly for support reasons)
138
 
139
  = 2.4.3 =
140
+ * Added: (E) Dark theme shortcode option (EXPERIMENTAL)
141
+ * Added: Turkish translation (thanks LettoBlog)
142
  * Fixed: Visual editor integration for IIS webhosts (thanks Kristof)
143
  * Changed: Debug information is now a support page from plugin list
144
 
154
  * Added: Allow native upload/insert of all supported file types
155
  * Added: Shortcode inserted from Media Library for supported files
156
  * Added: Localization support (translations welcome)
157
+ * Added: (E) Ability to use mobile theme
158
+ * Fixed: (E) Toolbar customization on mobile
159
  * Fixed: Editor integration no longer loads its own TinyMCE/jquery libs
160
  * Fixed: URL changes for plugin, help links, beta checking
161
+ * Fixed: (E) "Moved Temporarily" error (thanks webmonkeywatts)
162
 
163
  = 2.3 =
164
  * Added: Option to set base URL for embedded files (thanks KevEd)
167
  * Fixed: Download Link setting didn't update shortcode in editor dialog
168
 
169
  = 2.2.3 =
170
+ * Fixed: (E) Additional bug fixes
171
  * Fixed: jQuery error in editor integration
172
 
173
  = 2.2.2 =
174
+ * Fixed: (E) Toolbar customizations broken after Google redesign
175
  * Fixed: iPhone scrolling bug (thanks Vayu)
176
  * Changed: Confirmed compatibility with WP 3.3
177
 
181
  = 2.2 =
182
  * Added: ZIP/RAR Archive support (thanks enkerli)
183
 
 
 
 
 
 
 
 
 
 
 
 
184
  [Full history...](http://www.davistribe.org/gde/changelog/ "Full history")
185
 
186
  == Upgrade Notice ==
187
 
188
+ = 2.4.5 =
189
  Bug fix release